@charset 'utf-8';

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/MONTSERRAT-REGULAR.OTF') format('opentype');
    font-weight: normal;
  	font-style: normal;
}

/* reset
------------------------------------------------ */
body,div,pre,p,a,img,form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,table,th,td,embed,object,
figure,figcaption {
	margin: 0;
	padding: 0;
}
html { height: 100%; font-size: 62.5%; }
body {
	width: 100%;
	height: 100%;
	background: #e6ebf2;
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'ＭＳ Ｐゴシック', 'MS P Gothic', Osaka, Arial, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.6;
	color: #000;
}

ul,ol { list-style: none; }
img { width: auto; height: auto; max-width: 100%; border: none; vertical-align: top; }
a:link { text-decoration: none; color: #000; }
a:visited { text-decoration: none; color: #000; }
a:hover { text-decoration: none; }

/* clearfix
------------------------------------------------ */
.clearfix {
	clear: both;
	*zoom: 1;
}
.clearfix:before,.clearfix:after {
	content: ' ';
	display: table;
}
.clearfix:after { clear: both; }

.pc { display: block !important; }
.sp { display: none !important; }

/* container
------------------------------------------------ */
#container {
	position: relative;
}
	#contents { position: relative; min-height: 100vh; max-width: 980px; margin: 0 auto; background: #fff; }
	.wrap { position: relative; max-width: 980px; margin: 0 auto; padding: 0 20px; -webkit-box-sizing: border-box; box-sizing: border-box; }

	.title-02 { font-size: 28px; font-size: 2.8rem; font-weight: 900; letter-spacing: .05em; color: #16549f; line-height: 1.2; margin-bottom: 3.2%; text-align: center; }
	.title-02:after { content: ''; display: block; margin: 15px auto 0; width: 25px; height: 2px; background: #16549f; }

/* header
------------------------------------------------ */
#header {
	position: absolute;
	left: 0;
	top: 60px;
	width: 100%;
	z-index: 100;
}
	#header .wrap { padding: 0 50px; }
	.head-links {  }
	.head-links--item { font-size: 20px; font-size: 2rem; font-weight: 900; line-height: 27px; }
	.head-links--item a { display: inline-block; color: #fff; }
	.head-links--back { float: left; }
	.head-links--back a:before { content: ''; display: inline-block; vertical-align: -0.15em; margin-right: .8em; width: 11px; height: 19px; background: url(../images/share/arrow-l.png) no-repeat; background-size: 100%; }
	.head-links--next { float: right; width: 27px; }

	.head-links--blue a { color: #16549f; }
	.head-links--blue a:before { background: url(../images/share/arrow-lb.png) no-repeat; background-size: 100%; }

/* main
------------------------------------------------ */
#main {
	display: block;
	position: relative;
	width: 100%;
}

	#banner { position: relative; background: #41a5e4; text-align: center; display: block; overflow: hidden; }
	#banner:after { content: ''; width: 100%; height: 50px; position: absolute; left: 0; bottom: -2px; background: url(../images/share/banner-foot.png) no-repeat top center; background-size: cover; z-index: 2; }
	#banner .wrap { height: 340px; }
	#banner .title-01 { font-size: 34px; font-size: 3.4rem; font-weight: 900; letter-spacing: .075em; color: #fff; position: absolute; width: 100%; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
	#banner .title-01:after { content: ''; display: block; position: absolute; bottom: 0; }

	#reload { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #16549f; z-index: 100; }

	#main.off #reload { display: none; }

	.reload__head { position: absolute; width: 100%; left: 50%; /*top: 50%;*/ top:calc(50% - 31px); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); max-width: 485px; text-align: center; }
	.reload__head .rh--logo { position: relative; margin-bottom: 15px; }
	.reload__head .rh--text { font-size: 25px; font-size: 2.5rem; letter-spacing: .05em; line-height: 1.8; font-weight: bold; color: #fff; text-align: center; }
	.reload__head .rh--text span { display: block; }
	.reload__head .rh--text2 a{ display: table; margin: 0 auto; padding-bottom: 5px; font-size: 1.6rem; color:#fff; border-bottom:1px solid #fff; }
	.reload__head .rh--text2 a+a{ margin-top: 10px; }
	.reload__head .rh--text--break { position: relative; display: inline-block; }
	.reload__head .rh--text--bar { position: absolute; left: 0; bottom: -2px; width: 0; height: 4px; background: #ffe966; }

	.reload__foot { padding: 18px 25px; width: 100%; display: block; overflow: hidden; position: absolute; bottom: 0; left: 0; text-align: center; background: #fff; -webkit-box-sizing: border-box; box-sizing: border-box; }
	.reload__foot .rf--logo { display: block; max-width: 202px; float: left; }
	.reload__foot .rf--copy { font-size: 10px; font-size: 1rem; line-height: 25px; font-weight: bold; letter-spacing: .05em; float: right; width: 19rem; margin: 17px auto 0 auto; }

	.reload__head .rh--btn{ padding: 27px 20px 29px; display: table; width: calc(100% - 44px); margin: 8.25% auto 15px; border:2px solid #fff; }
	.reload__head .rh--btn a{ display: table; margin: 0 auto; padding: 10px 6.4% 20px; outline: none; text-align: center; font-size: 25px; letter-spacing: .05em; line-height: 1.5; background-color: #fff; background-image: url(../images/top/arrow-w-2.png); background-repeat: no-repeat; background-position: calc(100% - 20px) center; background-size: 10px auto; }
	.reload__head .rh--btn a b{ display: block; font-size: 2rem; color:#16549f; }
	.reload__head .rh--btn a small{ display: block; font-size: 1.6rem; font-weight: 400; color:#222; line-height: 1; }
	.reload__head .rh-btn--text{ margin-bottom: 30px; font-size: 2.2rem; color:#fff; letter-spacing: 0.05em; font-weight: bold; line-height: 1.27; }

	.txt-underline{
		font-weight: bold;
		text-decoration: underline;
	}

/* footer
------------------------------------------------ */
#footer {

}

/* Responsive
------------------------------------------------ */
@media screen and (min-width: 768px) {
	.head-links--next img{ max-width: 27px; }
}

@media screen and (max-width: 767px) {

	.title-02 { font-size: 3.64vw; }

	#banner .title-01 { font-size: 4.42vw; }

	#header { top: 50px; }
	#header .wrap { padding: 0 20px; }
	.head-links--back a:before { width: .6em; padding-bottom: 1.05em; height: 0; }

	.reload__head { max-width: 355px; }
	.reload__head .rh--text { font-size: 20px; font-size: 2rem; }

	.reload__food { padding: 31px 0; }
	.reload__foot .rf--logo { max-width: 248px; margin: 0 auto 12px; float: none; }
	.reload__foot .rf--copy { font-size: 9px; font-size: .9rem; line-height: inherit; float: none; margin-top:0; }

	.reload__head .rh--btn{ padding: 5%; margin:8% auto 5%; }
	.reload__head .rh--btn a{ padding: 11px 5% 15px; background-size: 5px auto; background-position: calc(100% - 5%) center; }
	.reload__head .rh--btn a b{ font-size: 1.4rem; }
	.reload__head .rh--btn a small{ margin-top: 5px; font-size: 1.1rem; }
	.reload__head .rh-btn--text{ margin-bottom: 4%; font-size: 1.3rem; }
	.reload__head .rh--text2 a{ font-size: 1.1rem; }
}

@media screen and (max-width: 540px) {

	.pc { display: none !important; }
	.sp { display: block !important; }

	.title-02 { font-size: 4.1vw; margin-bottom: 4%; }
	.title-02:after { margin: 10px auto 0; width: 15px; height: 1.5px; }

	#banner:after { height: 25px; background: url(../images/share/banner-foot_sp.png) no-repeat top center; background-size: 100% 100%; }
	#banner .wrap { height: 0; padding: 32.5% 0; }
	#banner .title-01 { font-size: 5.55vw; }

	.head-links--item { font-size: 3.14vw; line-height: 1.9; }
	.head-links--next { width: 6.5%; }

	.reload__head { max-width: 86%; }
	.reload__head .rh--text { font-size: 4.83vw; }
	.reload__head .rh-btn--text{ font-size: 3.14009661836vw; }
	.reload__head .rh--btn a b{ font-size: 3.38164251208vw; }
	.reload__head .rh--btn a small{ font-size: 2.65700483092vw; }
}

@media screen and (max-width: 375px) {
	#header { top: 40px; }
	.reload__foot .rf--copy{ font-size: 0.7rem; width: 19rem; margin: 0 auto; }
}

/* modal popup
------------------------------------------------ */
.modal__popup{ display: none; position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: 9999; background-color: rgba(22,84,159,0.5); }
.modal-btn-on{ cursor: pointer; display: block; }
.modal__popup--panel{ padding:40px 0; /*height: 100vh*/; max-height: calc(90vh - 85px); width: calc(100% - 50px); max-width: 580px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background-color: #fff; border-radius: 30px; overflow: hidden; }
.modal__popup--inner{ padding: 0 5.33%; }
.modal__popup--info{ padding:5% 5% 0 5%; margin-bottom: 20px; display: flex; flex-wrap: wrap; background-color: #fff9b0; background-image: url(../images/inner/info/info_bg.png); background-repeat: repeat; background-size: 32px auto;  }
.modal__popup--info--notice {
	font-size: 1.2rem;
	padding: 0 5% 5% 5%;
}
.modal__popup--decs{ max-height: calc(90vh - 126px); overflow-y: auto; }
.modal__popup--decs > dt{ font-size: 2.8rem; font-weight: bold; text-align: center; color:#16549f; line-height: 1; }
.modal__popup--decs > dt.m:after{ content: ''; display: block; margin: 10px auto 0; width: 1em; height: 2px; background-color: #16549f; }
/*.modal__popup--decs > dt:after{ content: ''; display: block; margin: 10px auto 0; width: 1em; height: 2px; background-color: #16549f; }*/
.modal__popup--bg { background-color:#41a5e4; padding:16px 0; }
.modal__popup--bg .modail--gifts-title { color:#fff; }
.modal__popup--bg2 { background-color:#1F497D; padding:16px 0; }
.modal__popup--bg2 .modail--gifts-title { color:#fff; }
.modal__popup--bg3 { background-color:#41a5e4; padding:30px 0; }
.modal__popup--bg3 .modail--gifts-title { color:#fff; }
.modal__popup--bg4 { background-color:#41a5e4; padding: 5px 0 10px}
.modal__popup--bg4 .modail--gifts-title { color:#fff; line-height: 1.1; font-size: 2.7rem;}
.modal__popup--decs > dd{ margin-top: 17px; }
.modal__popup--block{ margin-bottom: 30px; }
.modal__popup--block-list{ /*font-size: 1.6rem;*/ font-size: 1.8rem; color:#16549f; line-height: 1.5; }
.modal__popup--block-list > li+li{ margin-top: 10px; }
.modal__popup--block-list ul{}
.modal__popup--block-list ul li{ margin-left: 1.2em; text-indent: -1.2em; }
.modal__step--pic{ width: 24%; }
.modal__step--pic figure{ display: block; width: 100%; }
.modal__step--desc{ width: 73%; padding-right: 3%; display: inline-flex; justify-content: space-between; flex-direction: column; padding-bottom: 4%; background-repeat: no-repeat; background-position: calc(50% - 3%) center; }
.modal__step--desc.step01{ background-image: url(../images/inner/info/step01-icon.png); background-size: 130px auto; }
.modal__step--desc.step02{ background-image: url(../images/inner/info/step02-icon-v2.png); background-size: 130px auto; }
.modal__step--desc.step03{ 
	background-image: url(../images/inner/info/step03-icon.png); background-size: 135px auto; 
	background-position-y: 50%;
}
.modal__step--desc.step04{ background-image: url(../images/inner/info/step04-icon.png); background-size: 130px auto; }
.modal__step--desc > dt{ font-size: 3.2rem; font-weight: bold; color:#16549f; line-height: 1; }
.modal__step--desc > dt span{ margin-top: 7px; font-weight: 400; color:#222; display: block; }
.modal__step--desc > dt sub{ font-size: 2.6rem; font-weight: 400; color:#222; vertical-align: middle; }
.modal__step--desc > dd{ padding-top: 7px; font-size: 1.8rem; line-height: 1.44; }
/* .modal__step--desc.step03 > dd { font-size: 1.4rem; } */
.modal__step--pic{ display: inline-flex; align-items: flex-end; }
.modal__popup--close{ width: 100%; max-width: 220px; height: 40px; margin: 0 auto; position: relative; display: block; font-size: 1.6rem; color:#fff; background-color: #16549f; border:0; border-radius: 0; outline: none; cursor: pointer; line-height: 1; }
.modal__popup--close::before,
.modal__popup--close::after {
    position: absolute;
    content: '';
    width: 14px;
    height: 1px;
    background-color: #fff;
    right: 20px;
    top: 18px;
}
.modal__day--point-container { background:#fff; font-size: 2rem; /*font-size: 1.4rem;*/ color:#222; border:1px solid #16549f; text-align:center; margin-top:14px; margin-bottom:5px; padding:4px 0; }
/* .modal__step--desc.step03 .modal__day--point-container { font-size: 1.8rem; } */
.modal__day--point-container .point-blue { color:#16549f; }
.modal__day--point-container .point-num { color:#0599d9; font-weight:bold; }
.modal__popup--close::before { transform: rotate(45deg); }
.modal__popup--close::after { transform: rotate(-45deg); }
.modail--gifts-txt1{ font-size:2rem; text-align:center; color:#222; line-height:1; }
.modail--gifts-txt1 strong{ font-weight:bold; letter-spacing:0.01em; font-size:4.2rem; color:#41a5e4; }
.modail--gifts-title{ font-size:3rem; text-align:center; color:#fff; line-height:1; }
.modail--gifts-title strong{ font-weight:bold; letter-spacing:0.02em; font-size:4rem; color:#fff; }
.modail--gifts-txt2{ margin-top:13px; font-size:1.8rem; text-align:center; color:#16549f; letter-spacing:0.05em; line-height:1.55; }
.modail--gifts-txt3{ margin-bottom:30px; text-indent:-1em; margin-left:1em; font-size:1.6rem; color:#222; }
.modail--gifts-txt3.mb0 { margin-bottom: 0; }
.modail--gifts-txt4{ margin-bottom:30px; font-size:1.6rem; color:#222; text-align:center; }
.modail--gifts-txt5{ margin-top:27px; font-size:2.5rem; text-align:center; color:#222222; letter-spacing:0.05em; line-height:1.55;  font-weight: 900;}
.modail--gifts-txt5 b{color: #ca241c;font-size: 2.9rem;font-weight: 900}
/* .modail--gifts-img{ display:table; text-align:center; margin:25px auto; max-width:150px; } */
.modail--gifts-img{ display:table; text-align:center; margin:25px auto; max-width: 100%; }
.modail--gifts-sub-title{ color: #16549f; }
.modail--gifts-sub-title span { display: inline-block; font-size: 1.5rem; position: relative; }
.modail--gifts-sub-title span::after { 
	background-color: #ffe966; 
	bottom: 2px;
	content: "";
	display: inline-block; 
	height: 4px; 
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

@media screen and (max-width: 767px) {
	.modal__popup--panel{ max-height: calc(90vh - 50px); padding:25px 0; border-radius: 10px; }
	.modal__popup--inner{ padding: 0 30px; }
	.modal__popup--info{ padding: 10px 10px 0 17px; background-size: 23px auto; }
	.modal__popup--decs{ max-height: calc(90vh - 90px); }
	.modal__popup--decs > dt{ font-size: 1.7rem; }
	.modal__popup--block-list{ font-size: 1.1rem; line-height: 1.6; }
	.modal__popup--block-list > li+li{ margin-top: 5px; }
	.modal__step--desc{ padding: 0 0 18px; padding-right: 17px; width: calc(67% - 17px); background-position: calc(50% - 17px) calc(50% - 18px); }
	.modal__step--desc.step01{ background-size: 25vw auto; }
	.modal__step--desc.step02{ background-size: 25vw auto; }
	.modal__step--desc.step03{ background-size: 24vw auto; background-position: calc(50% - 17px) calc(50% - 18px);}
	.modal__step--desc.step04{ background-size: 25vw auto; }
	.modal__step--desc > dt{ font-size: 2.4rem;  }
	.modal__step--desc > dt span,
	.modal__step--desc > dt sub{ font-size: 2rem; }
	.modal__step--desc > dt span{ margin-top: 7px; }
	.modal__step--desc > dd{ padding-top: 7px; font-size: 1.3rem; }
	.modal__step--desc.step03 > dd{ font-size: 1.4rem; }
	.modal__step--pic{ width: 33%; }
	.modal__popup--block{ margin-bottom: 20px; }
	.modal__popup--close{ height: 28px; width: 110px; margin: 0 auto; color:#fff; font-size: 1.1rem; }
	.modal__popup--close::before,
	.modal__popup--close::after {
	    width: 7px;
	    height: 1px;
	    right: 10px;
	    top: 13px;
	}
	.modail--gifts-txt1{ font-size:1.3rem; }
	.modail--gifts-txt1 strong{ font-size:2rem; }
	.modail--gifts-txt2{ font-size:1.3rem; }
  .modail--gifts-txt3{ margin-bottom:20px; font-size:1.2rem; }
	.modail--gifts-txt4{ margin-bottom:20px; font-size:1.2rem; }
	.modail--gifts-img{  margin:20px auto; max-width: 100%;}
  .modal__day--point-container { font-size: 1rem; margin-bottom:0; }
  .modal__step--desc.step03 .modal__day--point-container { font-size: 1.6rem; }
  .modal__popup--bg4 .modail--gifts-title{ letter-spacing: -0.05em; }
}

@media screen and (max-width: 540px) {
	.modal__step--desc > dt{ font-size: 5.79vw; }
	.modal__step--desc > dt span, .modal__step--desc > dt sub{ font-size: 4.38vw; }
	.modal__step--desc > dd{ font-size: 3.14vw; }
	.modal__step--desc.step03 > dd{ font-size: 3.14vw; }

	.modal__popup--decs > dt{ font-size: 4.10vw; }
	.modal__popup--block-list{ font-size: 3.65vw; /*font-size: 2.65vw;*/ }
	.modail--gifts-txt1{ font-size:2.6vw; }
	.modail--gifts-txt1 strong{ font-size:4.5vw; }
	.modail--gifts-txt2{ font-size:2.6vw; }
  .modail--gifts-txt3{  font-size:2.6vw; }
	.modail--gifts-txt4{  font-size:2.6vw; }
  .modail--gifts-title{ font-size:6vw; }
  .modail--gifts-txt5{ font-size:5vw; }
  .modail--gifts-txt5 b{ font-size:6vw; }
  .modail--gifts-title strong{ font-size:8vw; }
  .modal__day--point-container { /*font-size: 2.2vw;*/ font-size: 4vw; }
  .modal__step--desc.step03 .modal__day--point-container { font-size: 4vw; }
  .modal__popup--bg4 .modail--gifts-title{ font-size:6vw; letter-spacing: normal;}
}

/* section links */
#links {
	padding: 10px 0;
	background: #16549f;
	box-sizing: border-box;
}
.links__lists {
	min-height: 110px;
	display: flex;
}
.links__lists--items{
	width: 33.33%;
	position: relative;
}
.links__lists--items:not(:first-child)::before{
	content:'';
	display: block;
	position: absolute;
	background: #FFF;
	width: 1px;
	height: 55px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	pointer-events: none;
}
.links__lists--items > *{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.links__lists--items {
	display: block;
	align-items: center;
	justify-content: center;
}
.links__lists--items .lt-icon{
	width: 60px;
	height: 60px;
	margin-right: 8px;
}
.links__lists--items--toughy .lt-icon{
	width: 52px;
	height: 50px;
}
.links__lists--items .lt-icon img{
	object-fit: contain;
  display: block;
  width: 100%;
  height: 100%;
}

.links__lists--items .lt-text{
	font-size: 2.8rem;
	line-height: 1.2;
	color: #FFF;
}

@media screen and (max-width: 767px) {
	/* section links */
	#links {
		padding: 1.3333333vw 0;
	}
	.links__lists {
		min-height: 13.8666666vw;
	}
	.links__lists--items:not(:first-child)::before{
		height: 6.93333333vw;
	}
	.links__lists--items--toughy > *{
		padding-right: 2.666666vw;
		box-sizing: border-box;
	}
	.links__lists--items .lt-icon{
		width: 5.3333333vw;
		height: 5.3333333vw;
		margin-right: 0.93333vw;
	}
	.links__lists--items--toughy .lt-icon{
		width: 5.6;
		height: 5.3333333vw;
	}
	.links__lists--items .lt-text{
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 540px) {
	/* section links */
	.links__lists--items .lt-text{
		font-size: 3.2vw;
	}
}