@charset "UTF-8";
/* CSS Document */
/*--------------------
reset
--------------------*/
* {	margin: 0; padding: 0;}
html, body, div, span, h1, h2, h3, h4, h5, h6, p, strong, sub, sup, table, caption, tbody, tfoot, thead, tr, th, td, main, article, footer, header, section, audio, video { margin: 0; padding: 0; border: 0; letter-spacing: 0; font-size: 100%; font: inherit; vertical-align: baseline;}
main, article, footer, header, section { display: block;}
dl, dt, dd, ul, li, ol, ul { margin: 0; padding: 0; list-style: none;}
table {	border-collapse: collapse; border-spacing: 0;}
a {	margin: 0; padding: 0; background: transparent;}
img{ max-width: 100%; margin: 0 auto; line-height: 0; vertical-align: top; border-style: none;}
.clearfix:after { content:" "; display: block; clear: both;}

/*====================
content
====================*/
html {
    font-size: 100%;
}
body {
	line-height: 1;
	text-align: left;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	background-color: #fff8fa;
}
/* a
--------------------*/
a img {
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
a:hover img {
    opacity: 0.75;
    filter: alpha(opacity=75);
}
a {
	text-decoration: underline;
	font-weight: bold;
}
a:hover { text-decoration: none;}
.wrapper {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  font-family: '游ゴシック', 'Yu Gothic', '游ゴシック体', YuGothic, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  box-sizing: border-box;
  position: relative;
  color: #333;
  background: #fff;
}

.wrapper *{
  box-sizing: border-box;
}

.wrapper .img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto 2em;
}
.wrapper .img2 {
  display: block;
  width: 100%;
  padding: 0 2%;
  height: auto;
  margin: 0 auto 2em;
}
@media screen and (max-width: 749px) {
	.wrapper .img2 {
		padding: 0;
	}
}
.wrapper video {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto 2em;
}
.wrapper sup {
  font-size: 12px;
  vertical-align: top;
}
.ar {
  text-align: right;
  font-size: 14px;
	margin-bottom: 20px;
}

/********* LINE Coupon **********/
._ticketOFF {
    display: block;
}
/********* //LINE Coupon **********/


/********* pc/sp **********/
.pc-visible {
	display:block;
}
.sp-visible {
	display: none;
}
@media (max-width: 750px) {
	.pc-visible {
		display: none;
	}
	.sp-visible {
		display: block;
	}
}
/********* pc/sp **********/

/********* margin **********/
.mb10 {margin-bottom: 10px!important}
.mb20 {margin-bottom: 20px!important}
.mb30 {margin-bottom: 30px!important}
.mb40 {margin-bottom: 40px!important}
.mb50 {margin-bottom: 50px!important}
.mb60 {margin-bottom: 60px!important}
.mt10 {margin-top: 10px!important}
.mt20 {margin-top: 20px!important}
.mt30 {margin-top: 30px!important}
.mt40 {margin-top: 40px!important}
.mt50 {margin-top: 50px!important}
.mt60 {margin-top: 60px!important}
/********* //margin **********/


/********* //text-layout **********/
.text_right {text-align: right!important;}
.text-center {text-align: center!important;}
.text_left {text-align: left!important;}
/********* text-layout **********/

/********* text-decorate **********/
.bg_yellow {background: linear-gradient(transparent 0%, #FFFD1C 0%); padding: 4px 6px;}
.marker_yellow {background: linear-gradient(transparent 60%, #FFFD1C 60%);}
.kakomi_yellow {background: linear-gradient(transparent 0%, #FFFD1C 0%); display:block; font-weight: bold; text-align:center;}
.bg_gray {background-color: #B4B6BD; padding: 4px 6px;}
.bg_white {background-color: #FFFFFF; padding: 4px 6px;}
.underline {border-bottom: 1px solid #333; padding-bottom: 1px;}
.underline-pink {border-bottom: 1px solid #ff3570; padding-bottom: 1px;}
/********* //text-decorate **********/

/********* font color **********/
.f_point { color: #c71b5f; font-weight: bold;}
.f_pink { color: #e75782; font-weight: bold;}
.f_white { color: #FFFFFF; font-weight: bold;}
.f_grey {color: #A69792;}
.f_blue {color: #3FADCD;}

.fc_main { color: #eb6fa0;}
.fc_sub { color: #3a4f90;}
/********* //font color **********/

/********* font size **********/
.f_small{font-size: .7em; }
.f_md{font-size: 30px;}
.f_lg{font-size: 36px;}
.f_xl{font-size: 42px;}
.f_bold{font-weight: 600;font-weight: bold;}
@media screen and (max-width: 640px) {
  .f_md{font-size: 1.1em;}
  .f_lg{font-size: 1.15em;}
  .f_xl{font-size: 1.3em;}
}
/********* //font size **********/

/********* text-box **********/
.box_beige {
	background: #F1CFC4;
	padding: 2% 4%;
	width: 90%;
	font-size: 32px
}
.box-grey {
    border: 4px dotted #555555;
    padding: 10px 8px;
	width: 90%;
}
.box-blue {
    border: 4px dotted #3FADCD;
    padding: 10px 8px;
}
@media screen and (max-width: 749px) {
	.box_beige {
		width: 96%;
		padding: 2% 3%;
		font-size: 4.8vw;
	}
	.box-grey {
		padding: 2%;
		width: 96%;
	}
	.box-blue {
		padding: 2%;
		width: 96%;
	}
}
/********* //text-box **********/


/************************************************
header
************************************************/
#header {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 3%;
}
#header h1 {
	text-align: center;
	width: 100%;
}

.date {
	font-size: 1em;
	text-align: right;
	margin-bottom: 5px;
	line-height: 1.2;
	color: #666;
	margin-right: 5%;
}
.pr {
	font-size: 1em;
	text-align: right;
	margin-bottom: 10px;
	line-height: 1.2;
	color: #666;
	margin-right: 5%;
}

.text_link {
	text-align: right;
	font-size: 1em;
	margin-bottom: 2em;
	margin-right: 5%;
}
.text_link a {
    width: 100%;
    text-decoration: underline;
    display: inline-block;
    color: #8C9FD2;
    font-size: 110%;
    font-weight: bold;
}

@media screen and (max-width: 749px) {
	#header h1 {
		font-size: 6.5vw;
		line-height: 1.3;
	}
	.date {
		font-size: 12px;
	}
	.pr {
		font-size: 12px;
	}
	.text_link {
		font-size: .8em;
	}
	.lh13 {line-height: 1.3 !important;}
	.lh14 {line-height: 1.4 !important;}
	.lh15 {line-height: 1.5 !important;}
	.lh16 {line-height: 1.6 !important;}
	.lh17 {line-height: 1.7 !important;}
	.lh18 {line-height: 1.8 !important;}
	.lh19 {line-height: 1.9 !important;}
	.lh20 {line-height: 2 !important;}
}
.coupon-text {
	margin-top: 15px;
    text-align: center;
    background: #ffff00;
    padding: 6px 12px;
}
.coupon-text span {
	font-size: 32px;
	font-weight: bold;
	color: #ff3570;
}
@media screen and (max-width: 749px) {
	.coupon-text span {
		font-size: 4.5vw;
	}
}

/************************************************
contents
************************************************/
section{
	margin-top: 3em;
}
section.fv {
	margin-top: 15px;
}
section.last{
	margin-bottom: 0;
}
.inner {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	background: #fff;
	padding: 0 2%;
}

.top_text{
	text-align: center;
	line-height: 1.5;
	width: 100%;
	font-feature-settings : "palt";
	font-size: 2.8em;
}
.top_text_sub{
	font-size: 0.9em;
}

.text {
	text-align: left;
	line-height: 1.8;
	width: 100%;
	margin: 0 auto 2em;
	font-feature-settings : "palt";
	font-size: 24px;
}
.text.small {
	font-size: 20px;
}
.text .check {
	line-height: 1.4;
}

.risk {
	background: #f0f0f0;
	padding: 2%;
	line-height: 1.4;
	margin-bottom: 40px;
}
.caution{
	font-size: 12px;
}

.checkbox {
	padding-top: 0.1em;
	margin-right: 8px;
	width: 1em;
}
.mokuji {
	border-top: 5px solid #3a4f90;
	border-bottom: 5px solid #3a4f90;
	margin-bottom: 40px;
	padding: 20px 15px;
}
.mokuji p {
	font-size: 24px;
	line-height: 1.8;
}
.mokuji p a {
	color: #8C9FD2;
}
@media screen and (max-width: 749px) {
	section {
		  margin-top: 2em;
	}
	.inner {
		width: 100%;
		padding: 0 10px;
	}
	.top_text {
		font-size: 5.5vw;
	}
	.text {
		font-size: 4vw;
		line-height: 1.8;
    padding: 0 5%;
	}
	.text.small {
		font-size: 3.7vw;
	}
	.mokuji p {
		font-size: 4.5vw;
	}
}
h2 {
	background: #fadeea;
	color: #3a4f90;
	border-top: 5px solid #eb7ea9;
	padding: 20px 0;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	margin: 0 0 20px;
}
h3 {
	background: #e677a1;
	color: #fff;
	padding: 20px 0;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	margin: 0 0 25px;
}
h3 em {
	color: #ff0;
	font-style: normal;
}
@media screen and (max-width: 749px) {
	h2 {
		border-top: 5px solid #eb7ea9;
		padding: 2.5vw 0;
		font-size: 5vw;
		margin: 0 0 2.5vw;
	}
	h3 {
		padding: 2.5vw 0;
		font-size: 5vw;
		margin: 0 0 3vw;
	}
}


/************************************************
CV Button
************************************************/
.btn {
	width: 90%;
	margin: 0 auto 2em;
}
.btn p{
	text-align: center;
	font-size: 90%;
	margin-top: 10px;
}
.btn a:hover img {
	opacity:0.8;
	transition: all 0.3s ease;
}
@media screen and (max-width: 749px) {
.btn p{
	text-align: center;
	font-size: 70%;
	margin-top: 5px;
	}
}

/*====================
footer
====================*/
.footer_link {
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.footer_link p a {
	display: block;
    margin-top: 1em;
    color: #8C9FD2;
    text-align: center;
	font-size: 14px;
}
footer #copy p {
    padding: .5em 0;
    margin-top: 2em;
    font-size: 14px;
    color: #fff;
    background-color: #e75782;
    text-align: center;
    line-height: 1.5;
}


/*====================
アンケート
====================*/
.question .q-arrow {
  text-align: center;
}
.question .q-inner {
  padding: 6% 4% 2%;
  background-color: #FFEBF3;
}
.question .q-block {
  margin-bottom: 30px;
}
.question .q-title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.question .q-title .q-icon {
  width: 80px;
  margin-right: 10px;
}
.question .q-title .q-text {
  font-size: 22px;
  line-height: 1.3;
}
.question .q-title .q-text span {
  font-size: 28px;
  font-weight: bold;
}
@media screen and (max-width: 749px) {
  .question .q-inner {
    padding: 6% 2% 2%;
  }
  .question .q-title {
    align-items: flex-start;
  }
  .question .q-title .q-icon {
    width: 10vw;
  }
  .question .q-title .q-text {
    margin-top: 4px;
    font-size: 4vw;
  }
  .question .q-title .q-text span {
    font-size: 4.8vw;
  }
}

.question .a-list {
  margin: 40px 0px 60px;
}
.question .a-list li {
  position: relative;
  line-height: 1.263;
  font-size: min(4.8vw,25px);
  
}
.question .a-list li + li {
  margin: 7vw 0 0;
}

@media screen and (min-width: 751px) {
  .question .a-list li + li {
    margin: 40px 0 0;
  }
}

.question label ~ label {
  margin-left: 30px;
}

.question input[type=checkbox],input[type=radio] {
  margin-right: 8px;
}

/* ベースのチェックボックス */
.question .a-list li input[type=checkbox], .a-list li input[type=radio] {
  display: none;
}

.question .a-list li label {
  position: relative;
  padding-left: 42px;
  display: inline-block;
}

.question .a-list li input[type=checkbox]  + label::before,
.question .a-list li input[type=radio]  + label::before {
  position: absolute;
  content: '';
  display: block;
  width: 28px;
  height: 28px;
  background: #fff;
  border: 1px solid #ddd;
  left: 0;
  top: -5px;
  
}

.question .a-list li input[type=checkbox]  + label::after,
.question .a-list li input[type=radio]  + label::after {
  position: absolute;
  content: '';
  display: block;
  width: 10px;
  height: 20px;
  transform: rotate(45deg);
  border-right: 6px solid #e75782;
  border-bottom: 6px solid #e75782;
  left: 9px;
  top: -3px;
  opacity: 0;
  transition: .3s;
}

.question .a-list li input[type=checkbox]:checked + label::after,
.question .a-list li input[type=radio]:checked + label::after {
  opacity: 1;
}

.campaign_banner img {
  max-width: 640px;
  width: 100%;
  height: auto;
}

#yoyaku {
  background: none;
  padding: 40px 0;
}
#yoyaku header {
  padding: 0 2%;
}
@media screen and (max-width: 979px) {
  #yoyaku {
    background: none;
    padding: 5vw 0;
  }
  #yoyaku header {
    padding: 0 2%;
  }
}
