@charset "utf-8";
/* CSS Document */

/* base
-----------------------------------------------*/
/* ========== base style ========== */

/* common parts
-----------------------------------------------*/
/* ========== text ========== */
/* ========== border ========== */
/* ========== float ========== */
/* ========== display ========== */
/* ========== position ========== */
/* ========== overflow ========== */
/* ========== width ========== */
/* ========== margin ========== */
/* ========== background ========== */
/* ========== device displaying ========== */
/* ========== animation for ScrollTrigger.min.js  ========== */

/* other style
-----------------------------------------------*/



/* base
-----------------------------------------------*/
picture {
display: block;
}

/* ========== base style ========== */
.allwrapper {
width: 100%;
min-height: 100vh;
color: #000;
font-family: zen-kaku-gothic-antique, sans-serif;
font-style: normal;
font-weight: 700;
font-size: 3.26vw;
line-height: 100%;
font-feature-settings: "palt";
letter-spacing: 0;
background: #fff;
animation-delay: 0.75s;
}
.allwrapper * {
box-sizing: border-box;
}
.allwrapper a:link,
.allwrapper a:visited,
.allwrapper .acordion_btn {
color: #000;
text-decoration: none;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;
}
.allwrapper a:hover,
.allwrapper a:hover img,
.allwrapper button:hover img {
opacity: 0.80;
filter: alpha(opacity=80);
}
.allwrapper ol,
.allwrapper ul {
list-style:none;
}
.allwrapper img, 
.allwrapper video,
.allwrapper button {
width: 100%;
height: auto;
display: block;
margin-left: auto;
margin-right: auto;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;
}
@media (min-width:768px){
	.allwrapper {
	width: 100vw;
	font-size: 11px;
	}
}
@media (min-width:1100px){
	.allwrapper {
	font-size: 13px;	
	}
}

/* common parts
-----------------------------------------------*/
/* ========== text ========== */
/* align */
.al_left { text-align: left; }
.al_center { text-align: center; }
.al_right { text-align: right; }

/* size */
.fs8 { font-size: 2.133333vw; }
.fs9 { font-size: 2.4vw; }
.fs10 { font-size: 2.666666vw; }
.fs11 { font-size: 2.933333vw; }
.fs11_5 { font-size: 3.066666vw; }
.fs12 { font-size: 3.2vw; }
.fs12_5 { font-size: 3.33333333vw; }
.fs13 { font-size: 3.466666vw; }
.fs13_5 { font-size: 3.6vw; }
.fs14 { font-size: 3.733333vw; }
.fs15 { font-size: 4vw; }
.fs16 { font-size: 4.266666vw; }
.fs17 { font-size: 4.533333vw; }
.fs18 { font-size: 4.8vw; }
.fs19 { font-size: 5.066666vw; }
.fs20 { font-size: 5.333333vw; }

/* weight */
.fw200 { font-weight: 200 !important; }
.fw300 { font-weight: 300 !important; }
.fw400 { font-weight: 400 !important; }
.fw500 { font-weight: 500 !important; }
.fw600 { font-weight: 600 !important; }
.fw700 { font-weight: 700 !important; }

/* line height */
.lh100 { line-height: 100%; }
.lh110 { line-height: 110%; }
.lh120 { line-height: 120%; }
.lh130 { line-height: 130%; }
.lh140 { line-height: 140%; }
.lh150 { line-height: 150%; }
.lh160 { line-height: 160%; }
.lh170 { line-height: 170%; }
.lh180 { line-height: 180%; }
.lh190 { line-height: 190%; }
.lh200 { line-height: 200%; }
.lh210 { line-height: 210%; }

/* letter space */
.ltrspace0 { letter-spacing: 0; }
.ltrspace0025 { letter-spacing: 0.025em; }
.ltrspace005 { letter-spacing: 0.05em; }
.ltrspace0075 { letter-spacing: 0.075em; }
.ltrspace01 { letter-spacing: 0.1em; }
.ltrspace0125 { letter-spacing: 0.125em; }
.ltrspace015 { letter-spacing: 0.15em; }


/* ========== float ========== */
/* clearfix */
.clearfix:before,
.clearfix:after {
display: table;
content: " ";
}
.clearfix:after { clear: both; }

/* float */
.float_left { float: left; }
.float_right { float: right; }


/* ========== display ========== */
.disp_block { display: block !important; }
.disp_iblock { display: inline-block !important; }
.disp_inline { display: inline !important; }
.disp_none { display: none; }
.disp_flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }


/* ========== position ========== */
.posi_relative { position: relative !important; }
.posi_absolute { position: absolute !important; }
.posi_fixed { position: fixed !important; }


/* ========== overflow ========== */
.overflow_hidden { overflow: hidden !important; }


/* ========== margin ========== */
/* margin-auto */
.mx_auto { margin-left: auto; margin-right: auto; }


/* ========== device displaying ========== */
.sp_none{ display: none; }
img.sp_none{ display: none; }
.sp_only{ display: block; }
img.sp_only{ display: block; }
@media (min-width:768px){
	.sp_none{display: block;}
	img.sp_none{display: block;}
	.tab_none { display: none; }
	img.tab_none { display: none; }
	.sp_only{display: none;}
	img.sp_only{display: none;}
	.sp_only{display: none;}
	img.sp_only{display: none;}
}
.spc_none{ display: block; }
@media (min-width:1009px){.pc_none{display: block;}}
.pc_only{ display: none; }
@media (min-width:1010px){.pc_none{display: none;}
.pc_only{display: block;}
.tab_none{ display: block; }
}


/* ========== animation for ScrollTrigger.min.js  ========== */
.invisible {
transition: opacity 1s ease;
opacity: 0.0;
}
.visible {
transition: opacity 1s ease;
opacity: 1.0;
}



/* other style
-----------------------------------------------*/
.ff_neue {
font-family: neue-haas-grotesk-display, sans-serif;
font-weight: 600;
}
.allwrapper {
padding-bottom: 70px;
}
.mv {
background: #7b6aa7;
}
.campaign_inner01 {
margin-top: -78.4vw;
}
.campaign_term {
margin-top: 5.33vw;
}
.campaign_term,
.campaign_termdetail {
line-height: 208%;
}
.campaign_inner02 {
padding-bottom: 21vw;
}
.campaign_register {
width: 61.86666666vw;
margin-top: -174vw;
}
.campaign_detail {
margin-top: 7.2vw;
}
.campaign_detail p + p {
margin-top: 1.9em;
}
.campaign_detail_term {
margin-top: 13vw;
}
.campaign_detail_btns {
width: 93.6vw;
margin-top: 6.13vw;
margin-bottom: 6.66vw;
}
.campaign_detail_btns li:first-child {
width: 46.93333333vw;
}
.campaign_detail_btns li:last-child {
width: 46.66666666vw;
}
.description_btn {
width: 100%;
margin-top: 12vw;
cursor: pointer;
}
.description_detail {
width: 90%;
margin-top: 8vw;
}
.spot {
margin-top: 18.66vw;
padding-bottom: 16vw;
background: #f9ebf8;
}
.spot_credit {
width: 94.66666666vw;
}
.spot_credit li {
width: 46vw;
margin-top: 10px;
line-height: 4.8vw;
}
.spot_credit li span {
top: 0;
right: 0;
width: 12.8vw;
background: #000;
color: #fff;
line-height: 4.8vw;
}
.checkhere {
margin-top: 16.8vw;
}
@media (min-width:768px){
	.mv {
	background: url("../images/mv-bg_pc.jpg") 0 0 / auto 100% repeat-x;
	}
	.mv_img {
	width: 100%;
	max-width: 703px;
	}
	.intro_pagetitle,
	.intro_date {
	width: 740px;
	}
	.intro_text {
	font-size: 18px;
	}
	.campaign {
	margin-top: 100px;
	background-image: linear-gradient(rgba(174, 174, 214, 1), rgba(219, 212, 222, 1));
	}
	.campaign_title {
	position: absolute;
	top: -30px;
	left: calc(50% - 216px);
	width: 432px;
	}
	.campaign_inner01 {
	margin-top: 0;
	padding-top: 85px;
	}
	.campaign_text p {
	font-size: 15px;
	}
	.campaign_term {
	margin-top: 20px;
	}
	.campaign_term,
	.campaign_termdetail {
	font-size: 15px;
	}
	.campaign_termdetail span {
	display: block;
	font-size: 11px;
	line-height: 100%;
	}
	.campaign_inner01 picture {
	width: 412px;
	margin: 60px auto 0;
	}
	.campaign_inner02 {
	margin-top: 70px;
	padding-bottom: 140px;
	}
	.campaign_howto {
	width: 366px;
	margin: 0 auto;
	}
	.campaign_register {
	width: 232px;
	margin-top: 55px;
	}
	.campaign_detail p {
	font-size: 14px;
	}
	.campaign_detail_term {
	margin-top: 50px;
	font-size: 22px;
	}
	.campaign_detail_btns {
	width: 351px;
	margin: 23px auto 25px;
	}
	.campaign_detail_btns li:first-child {
	width: 176px;
	}
	.campaign_detail_btns li:last-child {
	width: 175px;
	}
	.campaign_detail_notice {
	font-size: 16px;
	}
	.description_btn {
	width: 995px;
	margin-left: calc(50% - 497px);
	margin-top: 30px;
	}
	.description_detail {
	width: 600px;
	margin-top: 50px;
	font-size: 14px;
	}
	.spot {
	margin-top: 40px;
	padding-top: 65px;
	padding-bottom: 120px;
	}
	.spot_title {
	width: 362px;
	}
	.spot_box {
	width: 505px;
	margin: 100px auto 0;
	}
	.spot_credit {
	width: 400px;
	}
	.spot_credit li {
	width: 195px;
	line-height: 20px;
	font-size: 14px;
	}
	.spot_credit li span {
	width: 55px;
	line-height: 20px;
	}
	.checkhere {
	width: 700px;
	margin: 85px auto 0;
	}
}
@media (min-width:1010px){
	.campaign_inner01 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 850px;
	margin: 0 auto;
	}
	.campaign_text {
	width: 425px;
	}
	.campaign_inner01 picture {
	margin: 0;
	}
	.campaign_inner02 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 850px;	
	}
	.campaign_howto_wrapper {
	width: 366px;
	}
	.campaign_detail {
	width: 484px;
	margin-top: 0;
	}
	.description_detail {
	width: 830px;
	}
	.spot_box_wrapper {
	display: flex;
	flex-wrap: wrap;
	width: 1010px;
	}
	.spot_box:nth-child(odd) {
	margin-top: -80px;
	}
	.spot_box:first-child {
	margin-top: 40px;
	}
	.spot_box:nth-child(2) {
	margin-top: 230px;
	}
}