@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

/* **********************************
	css reset
********************************** */
*,*.after,*.before{
	margin:0;
	padding:0;
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
	list-style:inherit;
	text-decoration:inherit;
	font-family:inherit;
	box-sizing:border-box;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}



/* **********************************
	common
********************************** */
body{
	position:relative;
	font-size:0;
	color:#5C4D36;
	letter-spacing:0.1em;
	line-height:1;
	font-family:'Noto Sans JP',sans-serif;
}

img{
	display:inline-block;
	max-width:100%;
	vertical-align:middle;
}
ul,ol,li{
	list-style:none;
}

.aniFrame{
	position:relative;
	overflow:hidden;
}
.animated{
	opacity:0;
}

.blink{
	-webkit-animation:animateBlink 1s ease-in-out infinite alternate;
	animation:animateBlink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes animateBlink{
	  0%{ opacity:0; }
	100%{ opacity:1; }
}
@keyframes animateBlink{
	  0%{ opacity:0; }
	100%{ opacity:1; }
}


.my_flash_link_btn{
	position:relative;
	display:inline-block;
	overflow:hidden;
	top: 220px;
  left: 213px;
}
.my_flash_link_btn:before{
	content:"";
	display:block;
	width:30px;
	height:180%;
	position:absolute;
	left:-30%;
	top:-40%;
	background-image:linear-gradient(left,rgba(255,255,255,0) 0%,rgba(255,255,255,.8) 50%,rgba(255,255,255,0) 100%);
	background-image:-webkit-gradient(linear,left bottom,right bottom,color-stop(0%,rgba(255,255,255,0)),color-stop(50%,rgba(255,255,255,.8)),color-stop(100%,rgba(255,255,255,0)));
	transform:rotate(45deg);
	animation:shine 3.5s infinite linear;
	-webkit-transform:rotate(45deg);
	-webkit-animation:shine 3.5s infinite linear;
}
@keyframes shine{
	  0%{ left:-30%; }
	 25%{ left:130%; }
	100%{ left:130%; }
}
@-webkit-keyframes shine{
	  0%{ left:-30%; }
	 25%{ left:130%; }
	100%{ left:130%; }
}

.anchor-link{
	cursor:pointer;
}

.section-inner{
	width:100%;
	margin:0 auto;
}

.center{
	text-align:center;
}

.flex{
	display:flex;
	justify-content:center;
	align-items:center;
}

/* fuwa fuwa shori **********************************/
.fwfw{
	animation:ani_fwfw 3s infinite;
	-webkit-animation:ani_fwfw 3s infinite;
}
@keyframes ani_fwfw{
	0%{ transform:translateY(0px); }
	50%{ transform:translateY(-30px); }
	100%{ transform:translateY(0px); }
}
@-webkit-keyframes ani_fwfw{
	0%{ transform:translateY(0px); }
	50%{ transform:translateY(-30px); }
	100%{ transform:translateY(0px); }
}

/* **********************************
	footer
********************************** */
#footer{
	padding:60px 0 40px;
}
#footer-copyright{
	font-size:14px;
	text-align:center;
}

/* **********************************
	media query
********************************** */
@media screen and (min-width:769px){/* view for pc **********************/
	header,aside,section,footer{
		width:100%;
		min-width:1000px;
		max-width:1920px;
		margin:0 auto;
		padding:0;
	}
	.vpc{}
	.vsp{
		display:none !important;
	}

	.wrap{
		position:relative;
		margin:0 auto;
	}
	.wrap > img{
		display:block;
		margin:0 auto;
	}
	h2{
		font-size:40px;
		text-align:center;
		padding-bottom:50px;
	}

	/* CTA *****/
	.CTA{
		padding:40px 0 80px;
	}
	.CTA > .section-inner{
		position:relative;
		display:block;
		width:903px;
		height:358px;
		margin:0 auto;
		background:url(images/pc/2_1@2x.png) no-repeat center top/cover;
	}
	.CTA > .section-inner a{
		display:block;
		width:454px;
		height:78px;
		position:absolute;
		left:200px;
		top:230px;
	}

	/* FV *****/

    #FV .section-inner {
        position: relative;
        max-width: 1400px;
        text-align: center;
    }
    #FV .item__img {
    position: absolute;
    width: 30%;
    top: 50%;
    left: 48%;
    transform: rotate(12deg) translateY(-50%);
}

	/* s3 *****/
	#s3{
		background:url(images/pc/3_bg@2x.png) center top/100% auto;
		padding-top:100px;
	}

	/* s4 *****/
	#s4{}

	/* s5 **********************************/
	#s5{
		position:relative;
		padding-top:80px;
	}

	/* s5a~ *****/
	.s5a,.s5b,.s5c,.s5d,.s5e{
		position:relative;
	}
	.fwfw{
		position:absolute;
	}
	.s5a .fwfw{
		left:calc(50% - 350px);
		top:5%;
	}
	.s5b .fwfw{
		top:21%;
		left:calc(50% - 21.5%);
		width:9%;
	}
	.s5c .fwfw{
		top:14%;
		left:calc(50% - 18.5%);
		width:9%;
	}
	.s5d .fwfw{
		top:13%;
		left:calc(50% - 23%);
		width:9%;
	}
	.s5e .fwfw{
		top:18%;
		left:calc(50% - 21%);
		width:9%;
	}

	.s5a p{
		width:900px;
		font-size:16px;
		margin:auto;
		line-height:2;
		text-align:left;
		padding:40px 0 100px;
		letter-spacing:0.05em;
	}

	/* s6 **********************************/
	#s6 div:nth-child(1){
		position:relative;
		display:block;
		height:625px;
		background:url(images/pc/a_1@2x.png) no-repeat center top/auto 100%;
		padding-top:100px;
	}
	#s6 div:nth-child(2){
		position:relative;
		display:block;
		height:625px;
		background:url(images/pc/a_3@2x.png) no-repeat center top/auto 100%;
		padding-top:100px;
	}
	.sa_alw{
		position:absolute;
		display:block;
		left:calc(50% - 185px / 2);
		bottom:-40px;
		z-index:101;
	}

	/* youtube movie **********************************/
	#sy{
		padding-top:80px;
	}
	.ytmovie1,.ytmovie2,.ytmovie3,.ytmovie4{
		display:block;
		margin:20px auto 50px;
		width:896px;
		height:504px;
		border:none;
	}

	#sy h2{
  	font-size: 28px;
		text-align:center;
		padding:10px;
	}
	.img_profile{
  	width: 740px;
  	display: block;
  	margin: 0 auto 70px;
  	text-align: center;
	}
	.img_title{
  	width: 740px;
	}

	/* s7 **********************************/
	#s7{
		position:relative;
		display:block;
		background:url(images/pc/b_2@2x.png) no-repeat center top/100% auto;
		padding:30px 0;
	}
	#s7 h2{
		padding-top:50px;
	}

	#s7 div{
		padding-bottom:50px;
		text-align:center;
	}
	#s7 div > div.p-outer{
		padding-bottom:0;
		display:inline-block;
	}
	#s7 div > div.p-outer p{
		text-align:left;
	}

	#s7 table{
		width:900px;
		margin:0 auto;
		font-size:24px;
	}

	#s7 table{
		margin:20px auto;
		border-collapse:collapse;
	}
	#s7 table tr{
		border-top:1px solid #000;
	}
	#s7 table tr:last-child{
		border-bottom:1px solid #000;
	}
	#s7 table td{
		border-left:1px solid #000;
	}

	#s7 table th,#s7 table td{
		width:300px;
		text-align:center;
		padding:10px;
	}
	#s7 table td.td1a{
		background:#f4cec5;
	}
	#s7 table td.td1b{
		background:#d4ccc9;
	}
	#s7 table td.td2a{
		background:#faf5f1;
	}
	#s7 table td.td2b{
		background:#f2f1ef;
	}
	#s7 p{
		width:600px;
		margin:0 auto;
		font-size:16px;
		padding:10px;
	}

	/* s8 **********************************/
	#s8{
		position:relative;
		display:block;
		height:972px;
		background:url(images/pc/c_1@2x.png) no-repeat center top/cover;
		padding-top:100px;
	}
	#s8 .flex{
		width:950px;
		margin:0 auto;
		display:flex;
		flex-flow:row wrap;
	}
	#s8 .flex > div{
		background:url(images/pc/c_2@2x.png) no-repeat center top/cover;
		width:445px; height:174px;
		padding:10px;
		font-size:16px;
		letter-spacing:2px;
		line-height:150%;
		margin:10px 10px 50px;
	}
	#s8 .flex > div h3{
		text-align:center;
		padding:10px;
		font-weight:700;
		border-bottom:1px dashed #000;
		margin-bottom:10px;
	}
	#s8 .flex > div p{
		padding:0 15px;
		font-size:15px;
		letter-spacing:1px;
		line-height:1.8;
	}

	/* qaq **********************************/
	#sq{
		position:relative;
		display:block;
		background:url(images/pc/d_1@2x.png) no-repeat center 120px/100% auto;
		padding:120px 0 50px;
	}
	.qaq{
		background:url(images/pc/qa_q@2x.png) no-repeat 10px 15px/28px 28px;
		padding:25px 20px 10px;
		font-size:18px;
		background-size:30px;
	}
	.qaa{
		background:url(images/pc/qa_a@2x.png) no-repeat 10px 15px/31px 24px;
		padding:15px 20px 20px;
		font-size:16px;
		line-height:1.8;
	}

	#ul_qaa{
		width:900px;
		margin:30px auto;
	}
	#ul_qaa li{
		width:100%;
		padding-left:50px;
	}
	#ul_qaa li:nth-child(odd){
		border-top:1px dashed #000;
	}
	#ul_qaa li:last-child{
		border-bottom:1px dashed #000;
	}

	/* sd **********************************/
	.sd_spec{
		width:900px;
		margin:0 auto;
		font-size:16px;
		border-collapse:collapse;
	}

	.sd_spec caption{
		font-size:18px;
		padding-bottom:15px;
		font-weight:700;
	}

	.sd_spec th,.sd_spec td{
		width:300px;
		text-align:left;
		padding:15px 10px;
	}
	.sd_spec th{	
		text-indent:100px;
		font-weight:700;
		letter-spacing:0.1em;
	}
	.sd_spec td{	
		width:700px;
		letter-spacing:0.05em;
	}
	.sd_spec tr{
		border-top:1px dashed #5C4D36;
	}
	.sd_spec tr:last-child{
		border-bottom:1px dashed #5C4D36;
	}

	#sd_caution{
		font-size:14px;
		width:900px;
		margin:0 auto;
	}
	#sd_caution li{
		padding:10px 0 5px;
	}

	.sd_profile{
		width:900px;
		margin:0 auto;
		font-size:16px;
		border-collapse:collapse;
	}
	.sd_profile th,.sd_profile td{
		width:300px;
		text-align:left;
		padding:15px 10px;
	}
	.sd_profile th{
		text-indent:100px;
		font-weight:700;
		letter-spacing:0.1em;
	}
	.sd_profile td{
		width:700px;
		letter-spacing:0.05em;
	}
	.sd_profile tr{
		border-top:1px dashed #5C4D36;
	}
	.sd_profile tr:last-child{
		border-bottom:1px dashed #5C4D36;
	}

	.sd_img{
		padding-bottom:50px;
		text-align:center;
	}

	#sd .section-inner{
		padding-bottom:50px;
	}
	#sd h2{
		padding-top:50px;
	}
	/* add pc end *******************************************
	*********************************************************/

}
@media screen and (max-width:768px){
	.vpc{
		display:none !important;
	}
	.vsp{}

	h2{
		font-size:50px;
		text-align:center;
		padding-bottom:20px;
	}

	#page-top.sp-outer{
		width:750px;
		max-width:750px;
		margin:0 auto;
	}
	.section-inner{
	}
	/* add sp ver *******************************************/

	/* CTA *****/
	.CTA{
		padding:40px 0 80px;
	}
  .my_flash_link_btn{
    top: 160px;
    left: 133px;
  }
	.CTA > .section-inner{
		position:relative;
		display:block;
		width:721px;
    height: 283px;
		margin:0 auto;
		background:url(images/sp/2_1@2x.png) no-repeat center top/100% auto;
	}
	.CTA > .section-inner a{
		display:block;
		width:495px;
		height:84px;
		position:absolute;
		left:calc(50% - 247px);
		top:240px;
	}

	#s3{
		background:url(images/sp/3_bg@2x.png);
		padding:80px 0 200px;
	}

	/* s5 *****/
	.s5a p{
		font-size:16px;
		margin:auto;
		line-height:2;
		text-align:left;
		padding:20px 20px 100px;
		letter-spacing:0.05em;
	}
	/* s5a~ *****/
	.s5a,.s5b,.s5c,.s5d,.s5e{
		position:relative;
	}
	.s5a{
		padding-top:50px;
	}
	.s5a .fwfw{
		position:absolute;
		left:calc(50% - 86px);
		top:175px;
	}
	.s5b .fwfw,.s5c .fwfw,.s5d .fwfw,.s5e .fwfw{
		position:absolute; 
		left:calc(50% - 223px / 2);
		top:215px;
	}
	.s5b .fwfw{
		top:195px;
	}
	.s5d .fwfw{
		top:210px;
	}

	.s5a p{
		width:auto;
		font-size:24px;
		margin:auto;
		line-height:2;
		text-align:left;
		padding:40px 20px 100px;
		letter-spacing:0.05em;
	}

	/* s6 **********************************/
	#s6 div:nth-child(1){
		position:relative;
		display:block;
		height:584px;
		background:url(images/sp/a_1@2x.png) no-repeat center top/auto 100%;
		padding-top:100px;
	}
	#s6 div:nth-child(2){
		position:relative;
		display:block;
		height:581px;
		background:url(images/sp/a_3@2x.png) no-repeat center top/100% auto;
		padding-top:100px;
	}
	.sa_alw{
		position:absolute;
		display:block;
		left:calc(50% - 185px / 2);
		bottom:-40px;
		z-index:101;
	}

	/* youtube movie **********************************/
	#sy{
		padding-top:80px;
	}
	.ytmovie1,.ytmovie2,.ytmovie3,.ytmovie4{
		display:block;
		margin:20px auto 50px;
		width:736px; height:414px;
		border:none;
	}

	#sy h2{
		text-align:center;
		padding:10px;
	}
	#sy h2 span{
		display:inline-block;
		font-size:24px;
		line-height:1.4;
		border:1px solid #999;
		border-radius:5px;
		padding:10px;
		min-width:420px;
	}

	/* s7 **********************************/
	#s7{
		position:relative;
		display:block;
		width:100%;
		background:url(images/pc/b_2@2x.png) no-repeat center top/100% auto;
		padding:30px 0 0;
	}
	#s7 h2{
		padding-top:50px;
	}

	#s7 div{
		padding-bottom:50px;
		text-align:center;
	}
	#s7 div.p-outer{
		padding-bottom:0;
	}

	#s7 table{
		width:calc(100% - 20px);
		margin:0 auto;
		font-size:24px;
	}

	#s7 table{
		margin:20px auto;
		border-collapse:collapse;
	}
	#s7 table tr{
		border-top:1px solid #000;
	}
	#s7 table tr:last-child{
		border-bottom:1px solid #000;
	}
	#s7 table td{	
		border-left:1px solid #000;
	}

	#s7 table th,#s7 table td{
		width:calc(30%);
		text-align:center;
		padding:10px;
	}
	#s7 table td.td1a{
		background:#f4cec5;
	}
	#s7 table td.td1b{
		background:#d4ccc9;
	}
	#s7 table td.td2a{
		background:#faf5f1;
	}
	#s7 table td.td2b{
		background:#f2f1ef;
	}
	#s7 p{
		font-size:22px;
		padding:10px 20px;
		text-align:left;
	}

	/* s8 **********************************/
	#s8{
		position:relative;
		display:block;
		background:url(images/sp/c_1@2x.png);
		padding:80px 0 50px;
	}
	#s8 .flex{
		width:100%;
		margin:0 auto;
		display:flex;
		flex-flow:row wrap;
	}
	#s8 .flex > div{
		background:url(images/sp/c_2@2x.png) no-repeat center top/cover;
		width:706px;
        height:275px;
		padding:30px;
		font-size:30px;
		letter-spacing:2px;
		line-height:150%;
		margin:10px 10px 50px;
	}
	#s8 .flex > div h3{
		text-align:center;
		padding:10px;
		font-weight:700;
		border-bottom:1px dashed #000;
		margin-bottom:10px;
	}
	#s8 .flex > div p{
		padding:0 15px;
		font-size:24px;
		letter-spacing:1px;
		line-height:1.8;
	}

	/* qaq **********************************/
	#sq{
		position:relative;
		display:block;
		background:url(images/sp/d_1@2x.png) no-repeat center bottom/100% auto;
		padding:120px 0;
	}
	.qaq{
		background:url(images/pc/qa_q@2x.png) no-repeat 12px 15px;
		padding:25px 20px 10px;
		font-size:28px;
		background-size:36px;
	}
	.qaa{
		background:url(images/pc/qa_a@2x.png) no-repeat 10px 15px;
		padding:15px 20px 20px;
		font-size:24px;
		background-size:40px;
		line-height:1.8;
	}

	#ul_qaa{
		width:calc(100% - 30px);
		margin:30px auto;
	}
	#ul_qaa li{
		width:100%;
		padding-left:60px;
	}
	#ul_qaa li:nth-child(odd){
		border-top:1px dashed #000;
	}
	#ul_qaa li:last-child{
		border-bottom:1px dashed #000;
	}

	/* sd **********************************/
	.sd_spec{
		width:calc(100% - 30px);
		margin:0 auto;
		font-size:24px;
		line-height:1.6;
		border-collapse:collapse;
	}

	.sd_spec caption{
		font-size:28px;
		padding:20px 0;
		font-weight:700;
	}

	.sd_spec th,.sd_spec td{
		width:25%;
		text-align:left;
		padding:15px 10px;
	}
	.sd_spec th{
		text-indent:20px;
		font-weight:700;
		letter-spacing:0.1em;
	}
	.sd_spec td{
		width:75%;
		letter-spacing:0.05em;
	}
	.sd_spec td span{
		font-size:20px;
	}
	.sd_spec tr{
		border-top:1px dashed #5C4D36;
	}
	.sd_spec tr:last-child{
		border-bottom:1px dashed #5C4D36;
	}

	#sd_caution{
		font-size:23px;
		line-height:1.8;
		width:calc(100% - 40px);
		margin:0 auto;
	}
	#sd_caution li{
		padding:0;
	}

	.sd_profile{
		width:calc(100% - 30px);
		margin:0 auto;
		font-size:24px;
		line-height:1.6;
		border-collapse:collapse;
	}
	.sd_profile th,.sd_profile td{
		width:30%;
		text-align:left;
		padding:15px 10px;
	}
	.sd_profile th{
		text-indent:20px;
		font-weight:700;
		letter-spacing:0.1em;
		vertical-align:top;
	}
	.sd_profile td{
		width:70%;
		letter-spacing:0.05em;
	}
	.sd_profile tr{
		border-top:1px dashed #5C4D36;
	}
	.sd_profile tr:last-child{
		border-bottom:1px dashed #5C4D36;
	}

	.sd_img{
		padding-bottom:50px;
		text-align:center;
	}

	#sd .section-inner{
		padding-bottom:50px;
	}
	#sd h2{
		padding:50px 0;
	}

	#footer-copyright{
		font-size:22px;
	}
}

	/* add sp end *******************************************
	*********************************************************/
@media screen and (min-width:769px){
  .campaign_img{
    display: block;
    margin: 20px auto 0;
    width: 922px;
  }
}


