@charset "UTF-8";

/*--------------------------------------------------
**************************************************
  テキスト・フォント
**************************************************
--------------------------------------------------*/

.bold { font-weight:bold; }

strong { font-size:130%; }

.small { font-size:85%; }

.line_through { text-decoration:line-through; }	/* 打消し線 */

.italic { font-style:italic; }

.center{ text-align:center; }
.right { text-align:right; }
.left  { text-align:left; }

.fs50  { font-size:50%; }
.fs60  { font-size:60%; }
.fs70  { font-size:70%; }
.fs80  { font-size:80%; }
.fs90  { font-size:90%; }
.fs100 { font-size:100%; }
.fs110 { font-size:110%; }
.fs120 { font-size:120%; }
.fs130 { font-size:130%; }
.fs140 { font-size:140%; }
.fs150 { font-size:150%; }
.fs160 { font-size:160%; }
.fs170 { font-size:170%; }
.fs180 { font-size:180%; }
.fs190 { font-size:190%; }
.fs200 { font-size:200%; }


/* -- 文字幅 letter-spacing -- */
.ls01 { letter-spacing:0.1em !important; }
.ls005 { letter-spacing:0.05em !important; }
.ls002 { letter-spacing:0.02em !important; }
.ls001 { letter-spacing:0.01em !important; }

/* Flexbox(フロート系) */
.flexbox{
	display:-webkit-flex;	/*--- Safari,iOS,android ---*/
	display:flex;
	-webkit-flex-direction:row;	/*--- Safari,iOS,android ---*/
	flex-direction:row;	/*--- 左から右に水平方向に配置 ---*/
}
.flex-wrap{ -webkit-flex-wrap:wrap; flex-wrap:wrap; }	/*--- 横複数行(折り返し有り)の配置 ---*/
.flex-space-between{ -webkit-justify-content:space-between; justify-content:space-between; }	/*--- 最初と最後は端に、残りは等間隔 ---*/


/*--------------------------------------------------
**************************************************
  PC用
**************************************************
--------------------------------------------------*/
@media screen and (min-width: 751px) {

.spOnly { display:none !important; }	/* スマホでは非表示 */

/* パンくず */
.breadcrumb {
	width:1200px;
	margin: 10px auto;
	display:-webkit-flex;
	display:flex;
}
.breadcrumb li {
	font-size:12px;
	margin-right:10px;
}
.breadcrumb li a {
	text-decoration:none;
}
.breadcrumb li:after {
	content:"/";
	padding-left:10px;
}
.breadcrumb li:last-child:after {
	content:"";
}

/*--------------------------------------------------
**************************************************
  ボックスレイアウト（基本）
**************************************************
--------------------------------------------------*/

* {
	-webkit-box-sizing:border-box !important;
	-moz-box-sizing:border-box !important;
	box-sizing:border-box !important;
	border:0px none;
	margin:0px;
	padding:0px;
}

.block { display:block; }

.block_center { display:block; margin-left:auto; margin-right:auto; }	/* width の指定が必要 */

.br:before { content:"\A"; white-space:pre; }	/* CSSで改行 */

/* フロート */
.float_l { float:left; }
.float_r { float:right; }

/* フロート解除 */
.clearfix:before, .clearfix:after { content:""; display:table; }
.clearfix:after { clear:both; }
/* For IE 6/7 (trigger hasLayout) */
.clearfix { zoom:1; }

/* Flexbox(フロート系) */
.flexbox-pc{
	display:-webkit-flex;	/*--- Safari,iOS,android ---*/
	display:flex;
	-webkit-flex-direction:row;	/*--- Safari,iOS,android ---*/
	flex-direction:row;	/*--- 左から右に水平方向に配置 ---*/
}
.flex-wrap-pc{ -webkit-flex-wrap:wrap; flex-wrap:wrap; }	/*--- 横複数行(折り返し有り)の配置 ---*/
.flex-space-between-pc{ -webkit-justify-content:space-between; justify-content:space-between; }	/*--- 最初と最後は端に、残りは等間隔 ---*/

.mt5,  .mt5-10,.mt5-20,.mt5-30,.mt5-40,.mt5-50,.mt5-60,.mt5-70,.mt5-80,.mt5-90,.mt5-100{ margin-top: 5px !important;}
.mt10, .mt10-5,.mt10-20,.mt10-30,.mt10-40,.mt10-50,.mt10-60,.mt10-70,.mt10-80,.mt10-90,.mt10-100{ margin-top: 10px !important;}
.mt20, .mt20-5,.mt20-10,.mt20-30,.mt20-40,.mt20-50,.mt20-60,.mt20-70,.mt20-80,.mt20-90,.mt20-100{ margin-top: 20px !important;}
.mt30, .mt30-5,.mt30-10,.mt30-20,.mt30-40,.mt30-50,.mt30-60,.mt30-70,.mt30-80,.mt30-90,.mt30-100{ margin-top: 30px !important;}
.mt40, .mt40-5,.mt40-10,.mt40-20,.mt40-30,.mt40-50,.mt40-60,.mt40-70,.mt40-80,.mt40-90,.mt40-100{ margin-top: 40px !important;}
.mt50, .mt50-5,.mt50-10,.mt50-20,.mt50-30,.mt50-40,.mt50-60,.mt50-70,.mt50-80,.mt50-90,.mt50-100{ margin-top: 50px !important;}
.mt60, .mt60-5,.mt60-10,.mt60-20,.mt60-30,.mt60-40,.mt60-50,.mt60-70,.mt60-80,.mt60-90,.mt60-100{ margin-top: 60px !important;}
.mt70, .mt70-5,.mt70-10,.mt70-20,.mt70-30,.mt70-40,.mt70-50,.mt70-60,.mt70-80,.mt70-90,.mt70-100{ margin-top: 70px !important;}
.mt80, .mt80-5,.mt80-10,.mt80-20,.mt80-30,.mt80-40,.mt80-50,.mt80-60,.mt80-70,.mt80-90,.mt80-100{ margin-top: 80px !important;}
.mt90, .mt90-5,.mt90-10,.mt90-20,.mt90-30,.mt90-40,.mt90-50,.mt90-60,.mt90-70,.mt90-80,.mt90-100{ margin-top: 90px !important;}
.mt100,.mt100-5,.mt100-10,.mt100-20,.mt100-30,.mt100-40,.mt100-50,.mt100-60,.mt100-70,.mt100-80,.mt100-90{ margin-top: 100px !important;}

.mb5,  .mb5-10,.mb5-20,.mb5-30,.mb5-40,.mb5-50,.mb5-60,.mb5-70,.mb5-80,.mb5-90,.mb5-100{ margin-bottom: 5px !important;}
.mb10, .mb10-5,.mb10-20,.mb10-30,.mb10-40,.mb10-50,.mb10-60,.mb10-70,.mb10-80,.mb10-90,.mb10-100{ margin-bottom: 10px !important;}
.mb20, .mb20-5,.mb20-10,.mb20-30,.mb20-40,.mb20-50,.mb20-60,.mb20-70,.mb20-80,.mb20-90,.mb20-100{ margin-bottom: 20px !important;}
.mb30, .mb30-5,.mb30-10,.mb30-20,.mb30-40,.mb30-50,.mb30-60,.mb30-70,.mb30-80,.mb30-90,.mb30-100{ margin-bottom: 30px !important;}
.mb40, .mb40-5,.mb40-10,.mb40-20,.mb40-30,.mb40-50,.mb40-60,.mb40-70,.mb40-80,.mb40-90,.mb40-100{ margin-bottom: 40px !important;}
.mb50, .mb50-5,.mb50-10,.mb50-20,.mb50-30,.mb50-40,.mb50-60,.mb50-70,.mb50-80,.mb50-90,.mb50-100{ margin-bottom: 50px !important;}
.mb60, .mb60-5,.mb60-10,.mb60-20,.mb60-30,.mb60-40,.mb60-50,.mb60-70,.mb60-80,.mb60-90,.mb60-100{ margin-bottom: 60px !important;}
.mb70, .mb70-5,.mb70-10,.mb70-20,.mb70-30,.mb70-40,.mb70-50,.mb70-60,.mb70-80,.mb70-90,.mb70-100{ margin-bottom: 70px !important;}
.mb80, .mb80-5,.mb80-10,.mb80-20,.mb80-30,.mb80-40,.mb80-50,.mb80-60,.mb80-70,.mb80-90,.mb80-100{ margin-bottom: 80px !important;}
.mb90, .mb90-5,.mb90-10,.mb90-20,.mb90-30,.mb90-40,.mb90-50,.mb90-60,.mb90-70,.mb90-80,.mb90-100{ margin-bottom: 90px !important;}
.mb100,.mb100-5,.mb100-10,.mb100-20,.mb100-30,.mb100-40,.mb100-50,.mb100-60,.mb100-70,.mb100-80,.mb100-90{ margin-bottom: 100px !important;}

.mr5,  .mr5-10,.mr5-20,.mr5-30,.mr5-40,.mr5-50,.mr5-60,.mr5-70,.mr5-80,.mr5-90,.mr5-100{ margin-right: 5px !important;}
.mr10, .mr10-5,.mr10-20,.mr10-30,.mr10-40,.mr10-50,.mr10-60,.mr10-70,.mr10-80,.mr10-90,.mr10-100{ margin-right: 10px !important;}
.mr20, .mr20-5,.mr20-10,.mr20-30,.mr20-40,.mr20-50,.mr20-60,.mr20-70,.mr20-80,.mr20-90,.mr20-100{ margin-right: 20px !important;}
.mr30, .mr30-5,.mr30-10,.mr30-20,.mr30-40,.mr30-50,.mr30-60,.mr30-70,.mr30-80,.mr30-90,.mr30-100{ margin-right: 30px !important;}
.mr40, .mr40-5,.mr40-10,.mr40-20,.mr40-30,.mr40-50,.mr40-60,.mr40-70,.mr40-80,.mr40-90,.mr40-100{ margin-right: 40px !important;}
.mr50, .mr50-5,.mr50-10,.mr50-20,.mr50-30,.mr50-40,.mr50-60,.mr50-70,.mr50-80,.mr50-90,.mr50-100{ margin-right: 50px !important;}

.ml5,  .ml5-10,.ml5-20,.ml5-30,.ml5-40,.ml5-50,.ml5-60,.ml5-70,.ml5-80,.ml5-90,.ml5-100{ margin-left: 5px !important;}
.ml10, .ml10-5,.ml10-20,.ml10-30,.ml10-40,.ml10-50,.ml10-60,.ml10-70,.ml10-80,.ml10-90,.ml10-100{ margin-left: 10px !important;}
.ml20, .ml20-5,.ml20-10,.ml20-30,.ml20-40,.ml20-50,.ml20-60,.ml20-70,.ml20-80,.ml20-90,.ml20-100{ margin-left: 20px !important;}
.ml30, .ml30-5,.ml30-10,.ml30-20,.ml30-40,.ml30-50,.ml30-60,.ml30-70,.ml30-80,.ml30-90,.ml30-100{ margin-left: 30px !important;}
.ml40, .ml40-5,.ml40-10,.ml40-20,.ml40-30,.ml40-50,.ml40-60,.ml40-70,.ml40-80,.ml40-90,.ml40-100{ margin-left: 40px !important;}
.ml50, .ml50-5,.ml50-10,.ml50-20,.ml50-30,.ml50-40,.ml50-60,.ml50-70,.ml50-80,.ml50-90,.ml50-100{ margin-left: 50px !important;}

/*--------------------------------------------------
**************************************************
  その他
**************************************************
--------------------------------------------------*/
ul { list-style-type:none; }
.ul { list-style-type:disc; list-style-position:inside; }

a.underline {
	text-decoration: underline;
}

#topicsPathDetailOuter {
	width:100%;
	border-top:1px solid #f2f2f2;
	padding-top:5px;
}
.l-footer {
  margin-top: 0 !important;
}

/*--------------------------------------------------
**************************************************
  コンテンツ
**************************************************
--------------------------------------------------*/
/* 打ち消し */
#maincontents {
	width:100% !important;
}
.article #maincontents{width: 100% !important;}
.campaign #main_contents {width: 100%;}
#cpn_contents {width: 100%;padding: 0 !important}
div#sitemap .centerview{padding-top: 10px !important; border-top: none !important;}


#top_main h1 img{
	width:100%;
	height: auto;
}

	
	div.deadline{
		background: #F5F1C8;
	}
	div.deadline > div{
		max-width: 500px;
		margin: 0 auto;
		background: #ffffff;
		border-radius: 10px;
	}
	div.deadline > div dl{
		padding: 15px 15px 0;
		font-size: 18px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 1.6;
	}
	div.deadline > div dl dd{
		padding: 0 0 15px;
	}
	div.deadline > div p{
		color: #F75757;
		font-size: 25px;
		font-weight: 700;
		line-height: 1.4;
		text-align: center;
		padding: 0 0 20px;
	}
	div.deadline > div p.sche{
		width: 100%;
		padding: 10px;
		font-size: 14px;
		font-weight: normal;
		line-height: 1.4;
		text-align: center;
		color: #333;
	}

	
/*	div.coupon{ 
		padding: 60px 0 65px;
	}*/
	div.coupon > div{
		position: relative;
		width: 460px;
		margin: 0 auto;
	}
	div.coupon > div > a.get_coupon{
		display: block;
		width: 460px;
		height: 167px;
		box-shadow: 0 10px 10px rgba(0,0,0,0.15);
	}
	div.coupon > div > a.get_coupon img{
		width: 460px;height: 167px;
	}
	
	/* ----
	div.coupon > div > div{
		position: absolute;top: 0;left: 0;
		width: 460px;height: 167px;padding: 62px 0 0;
		background: rgba(0,0,0,0.5);
	}
	---- */
	
	div.coupon > div > div{
		position: absolute;
		top: 0;
		left: 0;
		width: 460px;
		height: 167px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background-image:linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0.5)),url("../imgs/coupon.png");
		background-size: 460px;
	}
	div.coupon > div > div > p{
		color: #ffffff;
		font-size: 25px;
		font-weight: 700;
		text-align: center;
	}
	div.coupon > div > div > a{
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		background-image: url("../imgs/coupon_not_logged.png");
		background-size: 460px;
	}

	div.coupon > dl{
		display: flex;justify-content: center;
		padding: 25px 0 50px;
	}
	div.coupon > dl dt{
		position: relative;
		padding: 0 280px 0 0;
		font-size: 22px;font-weight: 500;letter-spacing: 1px;
	}
	div.coupon > dl dt::after{
		content: "";
		position: absolute;top: 21px;right: 30px;
		display: block;width: 220px;height: 1px;
		background: #000000;
	}
	div.coupon > dl dd{
		color: #F75757; font-size: 25px;font-weight: 700;
	}
	div.coupon_mai > p{
		display: flex;
		justify-content: center;
		padding: 25px 0 0;
		color: #F75757;
		font-size: 25px;
		font-weight: 700;
	}
	div.coupon_mai > dl{
		text-align: center;
	}
	div.coupon_day{
		background: #F5F1C8;
		clear: both;
		padding: 30px 0 20px;
		text-align: center;
	}
	div.coupon_day > div > div {
		margin: 0 55px;
	}

	div.coupon_itself{
		text-align: center;
	}
	div.coupon_itself > div > div > div {
		margin: 0 70px;
	}

	.yoko{
		display: inline-block;
		vertical-align: top;
	}
	div.coupon > p a{
		position: relative;
		display: block;width: 360px;height: 50px;margin: 0 auto;padding: 6px 0 0;
		border: #000000 1px solid;border-radius: 25px;
		color: #000000; font-size: 18px;font-weight: 500;text-align: center;text-decoration: none;
		box-shadow: 0 5px 0 #e5e5e5;
	}
	div.coupon > p a::after{
		content: "";
		position: absolute;top: 16px;right: 20px;
		display: block;width: 10px;height: 10px;
		border-bottom: #000000 1px solid;border-right: #000000 1px solid;
		transform: rotate(45deg);
	}

	
	div.plans{
		padding: 100px 0 60px;
		background: #FCFAEB;
		clear: both;
	}
	div.plans h4{
		position: relative;
		padding: 0 0 60px;
		font-size: 33px;font-weight: 900; text-align: center;
	}
	div.plans h4 span{
		display: inline-block;height: 60px; margin: 0 45px 0 0; padding: 5px 20px;
		background: #F1A224;
		border-radius: 5px;
		color: #ffffff; font-size: 32px;font-weight: 900;line-height: 1.4;
	}
	div.plans h4::after{
		content: "";
		position: absolute;top: 100px;left: 0;right: 0;
		display: block;width: 70px;height: 5px;margin: auto;
		border-bottom-left-radius: 3px;
		background: #E5A444;
	}
	div.plans dl{
		display: flex;justify-content: center;flex-wrap: wrap;
		max-width: 930px;margin: 0 auto;
	}
	div.plans dl dt{
		width: 100%; padding: 20px 0 40px;
		font-size: 22px;font-weight: 700;text-align: center;
	}
	div.plans dl dt span:nth-child(1){
		font-size: 40px;font-weight: 900;
	}
	div.plans dl dt span:nth-child(2){
		display: inline-block;margin: 0 25px 0 0;
		font-size: 25px;font-weight: 900;
	}
	div.plans dl dd{
		width: 280px;margin: 0 15px 35px;
	}
	div.plans dl dd a{
		position: relative;
		display: block;width: 280px;height: 80px;margin: 0 auto;padding: 19px 0 0;
		background: #3D9C41;
		border-radius: 40px;
		color: #ffffff; font-size: 22px;font-weight: 700;letter-spacing: 1px; text-align: center;text-decoration: none;
		box-shadow: 0 5px 0 #e5e5e5;
	}
	div.plans dl dd a::after{
		content: "";
		position: absolute;top: 35px;right: 25px;
		display: block;width: 10px;height: 10px;
		border-bottom: #ffffff 1px solid;border-right: #ffffff 1px solid;
		transform: rotate(-45deg);
	}
	
	div.howto{
		padding: 100px 0;
		background: #F5F1C8;
	}
	div.howto h4{
		position: relative;
		padding: 0 0 100px;
		font-size: 33px;font-weight: 900; text-align: center;
	}
	div.howto h4::after{
		content: "";
		position: absolute;top: 100px;left: 0;right: 0;
		display: block;width: 70px;height: 5px;margin: auto;
		border-bottom-left-radius: 3px;
		background: #E5A444;
	}
	div.howto ol{
		display: flex;justify-content: center;flex-wrap: wrap;
	}
	div.howto ol li{
		position: relative;
		padding: 0 28px 64px;
	}
	div.howto ol li::after{
		content: "";
		position: absolute;top:220px;right: -10px;
		display: block;width: 17px;height: 24px;
		background: url("../imgs/icon_arrow.png") no-repeat center center;
	}
	div.howto ol li:last-child::after{
		display: none;
	}
	div.howto ol li div{
		display: table;width: 362px; height: 225px;
		background: #ffffff;
		border-top: #E5A444 2px solid; border-bottom-left-radius: 10px;border-bottom-right-radius: 10px;
	}
	div.howto ol li div p{
		display: table-cell;width: 362px;height: 225px;
		vertical-align: middle;
		font-size: 21px;font-weight: 500; text-align: center;
	}
	div.howto ol li div p span{
		display: inline-block;
		padding: 5px 12px;
		background: #F1A224;
		border-radius: 5px;
		color: #ffffff; font-weight: 900;line-height: 1.4;
	}
	
	div.howto a.link_to_list_button{
		position: relative;
		display: block;width: 590px;height: 80px;margin: 0 auto 75px;padding: 19px 0 0;
		background: #3D9C41;
		border-radius: 40px;
		color: #ffffff; font-size: 22px;font-weight: 700;letter-spacing: 1px; text-align: center;text-decoration: none;
		box-shadow: 0 5px 0 #e5e5e5;
	}
	div.howto a.link_to_list_button::after{
		content: "";
		position: absolute;top: 35px;right: 25px;
		display: block;width: 10px;height: 10px;
		border-bottom: #ffffff 1px solid;border-right: #ffffff 1px solid;
		transform: rotate(-45deg);
	}
	div.howto dl{
		max-width: 900px;margin: 0 auto;padding: 50px 45px 45px;
		background: #ffffff;
		border-radius: 10px;
	}
	div.howto dl dt{
		padding: 0 0 35px;
		font-size: 26px;font-weight: 700;line-height: 1.3; text-align: center;
	}
	div.howto dl dt img{
		width: 40px;height: auto;margin: 0 20px 0 0;
	}
	div.howto dl dd{
		padding: 0 0 5px 18px;
		font-size: 18px;font-weight: 400;line-height: 1.9;text-indent: -18px;
	}
	


div.terms_box{
	padding: 40px 0 50px;
}
#terms_area {
	width: 900px;
	max-width:98%;
	margin-left: auto;
	margin-right: auto;
	font-family: 'Noto Sans JP';
}
.term_title {
	text-align: center;
	font-size: 33px;
	font-weight: bold;
	letter-spacing:.2em;
}
#terms_area .t_title {
	margin-top:70px;
	padding:15px 20px;
	font-size:22px;
	font-weight:700;
	letter-spacing:.05em;
	background:#f8f8f8;
}
.term_text_area {
	margin-top:30px;
	font-weight:500;
}
.term_text_area .text {
	font-size:20px;
	line-height:1.8em;
	letter-spacing:.05em;
}
.term_text_area .text.red,
.term_text_area .text span,
.term_text_area .notes span {
	color:#f75757;
}
.term_text_area .text a.form_link {
	color:#00ba4f;
}
.term_text_area .notes {
	font-size:18px;
	line-height:1.8em;
}
.attention {
	margin-top:30px;
	background:rgba(247,87,87,.05);
	padding:50px;
	width:100%;
	color:#f75757;
}
.attention .title {
	font-size:22px;
	font-weight:700;
	position:relative;
	padding-left:40px;
}
.attention .title:before {
	content:"";
	width:36px;
	height:31px;
	background:url(../imgs/attention.png) no-repeat;
	background-size:cover;
	position:absolute;
	left:0;
}
.attention .a_text {
	margin-top:10px;
	font-size:20px;
	font-weight:500;
	letter-spacing:.08em;
}
.term_text_area .link_btn {
	width:550px;
	margin:30px auto;
	text-align:center;
	font-size:22px;
	font-weight:700;
	letter-spacing:.1em;
}
.term_text_area .link_btn a {
	color:#00ba4f;
	text-decoration:none;
	padding:10px 0;
	border:2px solid #00ba4f;
	display:block;
	border-radius:40px;
	box-shadow:4px 4px rgba(51,51,51,.25);
	position:relative;
}
.term_text_area .link_btn a:after {
    content: '';
	width: 10px;
	height: 10px;
	border: 0px;
	border-top: solid 1px #00ba4f;
	border-right: solid 1px #00ba4f;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 25px;
	margin-top: -5px;
}

.pagetop img {
	width:80px;
	height:auto;
}

}

/*--------------------------------------------------
**************************************************
  SP用
**************************************************
--------------------------------------------------*/
@media screen and (max-width: 750px) {

.pcOnly { display:none !important; }	/* SPでは非表示 */

/* パンくず */
.breadcrumb {
	width:90%;
	margin: 10px auto;
	display:-webkit-flex;
	display:flex;
	flex-wrap: wrap;
}
.breadcrumb li {
	font-size:3vw;
	margin-right:10px;
}
.breadcrumb li a {
	text-decoration:none;
}
.breadcrumb li:after {
	content:"/";
	padding-left:10px;
}
.breadcrumb li:last-child:after {
	content:"";
}

/*--------------------------------------------------
**************************************************
  ボックスレイアウト（基本）
**************************************************
--------------------------------------------------*/

* {
	-webkit-box-sizing:border-box !important;
	-moz-box-sizing:border-box !important;
	box-sizing:border-box !important;
	border:0px none;
	margin:0px;
	padding:0px;
}

.block { display:block; }

.block_center { display:block; margin-left:auto; margin-right:auto; }	/* width の指定が必要 */

.br:before { content:"\A"; white-space:pre; }	/* CSSで改行 */

.mt5,.mt10-5,.mt20-5,.mt30-5,.mt40-5,.mt50-5,.mt60-5,.mt70-5,.mt80-5,.mt90-5,.mt100-5 { margin-top: 5px !important;}
.mt10,.mt5-10,.mt20-10,.mt30-10,.mt40-10,.mt50-10,.mt60-10,.mt70-10,.mt80-10,.mt90-10,.mt100-10 { margin-top: 10px !important;}
.mt20,.mt5-20,.mt10-20,.mt30-20,.mt40-20,.mt50-20,.mt60-20,.mt70-20,.mt80-20,.mt90-20,.mt100-20 { margin-top: 20px !important;}
.mt30,.mt5-30,.mt10-30,.mt20-30,.mt40-30,.mt50-30,.mt60-30,.mt70-30,.mt80-30,.mt90-30,.mt100-30 { margin-top: 30px !important;}
.mt40,.mt5-40,.mt10-40,.mt20-40,.mt30-40,.mt50-40,.mt60-40,.mt70-40,.mt80-40,.mt90-40,.mt100-40 { margin-top: 40px !important;}
.mt50,.mt5-50,.mt10-50,.mt20-50,.mt30-50,.mt40-50,.mt60-50,.mt70-50,.mt80-50,.mt90-50,.mt100-50 { margin-top: 50px !important;}
.mt60,.mt5-60,.mt10-60,.mt20-60,.mt30-60,.mt40-60,.mt50-60,.mt70-60,.mt80-60,.mt90-60,.mt100-60 { margin-top: 60px !important;}
.mt70,.mt5-70,.mt10-70,.mt20-70,.mt30-70,.mt40-70,.mt50-70,.mt60-70,.mt80-70,.mt90-70,.mt100-70 { margin-top: 70px !important;}
.mt80,.mt5-80,.mt10-80,.mt20-80,.mt30-80,.mt40-80,.mt50-80,.mt60-80,.mt70-80,.mt90-80,.mt100-80 { margin-top: 80px !important;}
.mt90,.mt5-90,.mt10-90,.mt20-90,.mt30-90,.mt40-90,.mt50-90,.mt60-90,.mt70-90,.mt80-90,.mt100-90 { margin-top: 90px !important;}
.mt100,.mt5-100,.mt10-100,.mt20-100,.mt30-100,.mt40-100,.mt50-100,.mt60-100,.mt70-100,.mt80-100,.mt90-100 { margin-top: 100px !important;}

.mb5,.mb10-5,.mb20-5,.mb30-5,.mb40-5,.mb50-5,.mb60-5,.mb70-5,.mb80-5,.mb90-5,.mb100-5 { margin-bottom: 5px !important;}
.mb10,.mb5-10,.mb20-10,.mb30-10,.mb40-10,.mb50-10,.mb60-10,.mb70-10,.mb80-10,.mb90-10,.mb100-10 { margin-bottom: 10px !important;}
.mb20,.mb5-20,.mb10-20,.mb30-20,.mb40-20,.mb50-20,.mb60-20,.mb70-20,.mb80-20,.mb90-20,.mb100-20 { margin-bottom: 20px !important;}
.mb30,.mb5-30,.mb10-30,.mb20-30,.mb40-30,.mb50-30,.mb60-30,.mb70-30,.mb80-30,.mb90-30,.mb100-30 { margin-bottom: 30px !important;}
.mb40,.mb5-40,.mb10-40,.mb20-40,.mb30-40,.mb50-40,.mb60-40,.mb70-40,.mb80-40,.mb90-40,.mb100-40 { margin-bottom: 40px !important;}
.mb50,.mb5-50,.mb10-50,.mb20-50,.mb30-50,.mb40-50,.mb60-50,.mb70-50,.mb80-50,.mb90-50,.mb100-50 { margin-bottom: 50px !important;}
.mb60,.mb5-60,.mb10-60,.mb20-60,.mb30-60,.mb40-60,.mb50-60,.mb70-60,.mb80-60,.mb90-60,.mb100-60 { margin-bottom: 60px !important;}
.mb70,.mb5-70,.mb10-70,.mb20-70,.mb30-70,.mb40-70,.mb50-70,.mb60-70,.mb80-70,.mb90-70,.mb100-70 { margin-bottom: 70px !important;}
.mb80,.mb5-80,.mb10-80,.mb20-80,.mb30-80,.mb40-80,.mb50-80,.mb60-80,.mb70-80,.mb90-80,.mb100-80 { margin-bottom: 80px !important;}
.mb90,.mb5-90,.mb10-90,.mb20-90,.mb30-90,.mb40-90,.mb50-90,.mb60-90,.mb70-90,.mb80-90,.mb100-90 { margin-bottom: 90px !important;}
.mb100,.mb5-100,.mb10-100,.mb20-100,.mb30-100,.mb40-100,.mb50-100,.mb60-100,.mb70-100,.mb80-100,.mb90-100 { margin-bottom: 100px !important;}

.mr5,.mr10-5,.mr20-5,.mr30-5,.mr40-5,.mr50-5,.mr60-5,.mr70-5,.mr80-5,.mr90-5,.mr100-5 { margin-right: 5px !important;}
.mr10,.mr5-10,.mr20-10,.mr30-10,.mr40-10,.mr50-10,.mr60-10,.mr70-10,.mr80-10,.mr90-10,.mr100-10 { margin-right: 10px !important;}
.mr20,.mr5-20,.mr10-20,.mr30-20,.mr40-20,.mr50-20,.mr60-20,.mr70-20,.mr80-20,.mr90-20,.mr100-20 { margin-right: 20px !important;}
.mr30,.mr5-30,.mr10-30,.mr20-30,.mr40-30,.mr50-30,.mr60-30,.mr70-30,.mr80-30,.mr90-30,.mr100-30 { margin-right: 30px !important;}
.mr40,.mr5-40,.mr10-40,.mr20-40,.mr30-40,.mr50-40,.mr60-40,.mr70-40,.mr80-40,.mr90-40,.mr100-40 { margin-right: 40px !important;}
.mr50,.mr5-50,.mr10-50,.mr20-50,.mr30-50,.mr40-50,.mr60-50,.mr70-50,.mr80-50,.mr90-50,.mr100-50 { margin-right: 50px !important;}

.ml5,.ml10-5,.ml20-5,.ml30-5,.ml40-5,.ml50-5,.ml60-5,.ml70-5,.ml80-5,.ml90-5,.ml100-5 { margin-left: 5px !important;}
.ml10,.ml5-10,.ml20-10,.ml30-10,.ml40-10,.ml50-10,.ml60-10,.ml70-10,.ml80-10,.ml90-10,.ml100-10 { margin-left: 10px !important;}
.ml20,.ml5-20,.ml10-20,.ml30-20,.ml40-20,.ml50-20,.ml60-20,.ml70-20,.ml80-20,.ml90-20,.ml100-20 { margin-left: 20px !important;}
.ml30,.ml5-30,.ml10-30,.ml20-30,.ml40-30,.ml50-30,.ml60-30,.ml70-30,.ml80-30,.ml90-30,.ml100-30 { margin-left: 30px !important;}
.ml40,.ml5-40,.ml10-40,.ml20-40,.ml30-40,.ml50-40,.ml60-40,.ml70-40,.ml80-40,.ml90-40,.ml100-40 { margin-left: 40px !important;}
.ml50,.ml5-50,.ml10-50,.ml20-50,.ml30-50,.ml40-50,.ml60-50,.ml70-50,.ml80-50,.ml90-50,.ml100-50 { margin-left: 50px !important;}

/* フロート */
.float_l { float:left; }
.float_r { float:right; }

/* フロート解除 */
.clearfix:before, .clearfix:after { content:""; display:table; }
.clearfix:after { clear:both; }
/* For IE 6/7 (trigger hasLayout) */
.clearfix { zoom:1; }

.flexbox-sp{
	display:-webkit-flex;	/*--- Safari,iOS,android ---*/
	display:flex;
	-webkit-flex-direction:row;	/*--- Safari,iOS,android ---*/
	flex-direction:row;	/*--- 左から右に水平方向に配置 ---*/
}
.flex-wrap-sp{ -webkit-flex-wrap:wrap; flex-wrap:wrap; }	/*--- 横複数行(折り返し有り)の配置 ---*/
.flex-space-between-sp{ -webkit-justify-content:space-between; justify-content:space-between; }	/*--- 最初と最後は端に、残りは等間隔 ---*/

/*--------------------------------------------------
**************************************************
  その他
**************************************************
--------------------------------------------------*/
ul { list-style-type:none; }
.ul { list-style-type:disc; list-style-position:inside; }

#topicsPathDetailOuter {
	width:100%;
	border-top:1px solid #f2f2f2;
	padding-top:5px;
	margin-top:50px;
}
.l-footer {
  margin-top: 0 !important;
}

/*--------------------------------------------------
**************************************************
  コンテンツ
**************************************************
--------------------------------------------------*/

#entry_open_contents *{font-family: 'Noto Sans JP';}

#top_main h1 {
	margin: 0;
}
#top_main h1 img{
	width:100%;
	height: auto;
}

	
	div.deadline{
		padding: 6.6vw 4vw;
		background: #F5F1C8;
	}
	div.deadline > div{
		background: #ffffff;
		border-radius: 10px;
	}
	div.deadline > div dl{
		padding: 6.6vw 0 5.3vw;
		border-bottom: #F5F1C8 2px solid;
		font-size: 3.5vw;font-weight: 500;letter-spacing: 1px; line-height: 1.6;text-align: center;
	}
	div.deadline > div dl dd{
		padding: 0 0 1.3vw;
	}
	div.deadline > div p{
		padding: 6.6vw 0;
		color: #F75757; font-size: 4.6vw;font-weight: 700; line-height: 1.4;text-align: center;
	}
	div.deadline > div p.sche{
		width: 100%;
		padding: 20px;
		font-size: 4vw;
		font-weight: 700;
		line-height: 1.4;
		text-align: center;
		color: #333;
	}
	div.deadline > div > p.sche > span{
		width: 100%;
		font-size: 3.4vw;
		font-weight: normal;
		line-height: 1.4;
		text-align: center;
		color: #333;
	}
	
	
	div.coupon{ 
		padding: 3vw 0 0;
		width: 92vw;
		margin: 0 auto !important;
	}
	div.coupon > div{
		position: relative;
		width: 100vw;
	}
	div.coupon > div > a.get_coupon{
		display: block; width: 92vw;height: 33.3vw;
		box-shadow: 0 1.3vw 1.3vw rgba(0,0,0,0.15);
	}
	div.coupon > div > a.get_coupon img{
		width: 100%;height: 33.3vw;display: block;
	}
	div.coupon > div > div{
		position: absolute;
		top: 0;left: 0;
		width: 92vw;
		height: 33.3vw;
		background-image:linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0.5)),url("../imgs/coupon.png");
		background-size: cover;
	}
	div.coupon > div > div > p{
		padding: 14vw 0 0;
		width: 92vw;
		height: 33.3vw;
		color: #ffffff; font-size: 3.7vw;font-weight: 700;text-align: center;
	}
	div.coupon > div > div > a{
		position: relative;
		display: block;
		width: 92vw;
		height: 33.3vw;
		background-image: url("../imgs/coupon_not_logged.png");
		background-size: 100%;
	}
	div.coupon > dl{
		display: flex;justify-content: center;
		padding: 5.5vw 0 8vw;
	}
	div.coupon > dl dt{
		position: relative;
		padding: 1.0vw 22vw 0 0;
		font-size: 3.4vw;font-weight: 500;letter-spacing: 1px;
	}
	div.coupon > dl dt::after{
		content: "";
		position: absolute;top: 4.0vw;right: 4.0vw;
		display: block;width: 13.3vw;height: 1px;
		background: #000000;
	}
	div.coupon > dl dd{
		color: #F75757; font-size: 4.6vw;font-weight: 700;
	}
	div.coupon_mai > p{
		display: flex;justify-content: center;
		padding: 5.5vw 0 0;
		color: #F75757;
		font-size: 4.6vw;
		font-weight: 700;
	}
	div.coupon_mai > dl{
		text-align: center;
	}
	div.coupon > p a{
		position: relative;
		display: block;width: 78.6vw;height: 10.6vw;margin: 0 auto;padding: 1.2vw 0 0;
		border: #000000 1px solid;border-radius: 5.3vw;
		color: #000000; font-size: 4vw;font-weight: 500;text-align: center;text-decoration: none;
		box-shadow: 0 5px 0 #e5e5e5;
	}
	div.coupon > p a::after{
		content: "";
		position: absolute;top: 3.5vw; right: 3.5vw;
		display: block;width: 1.9vw;height: 1.9vw;
		border-bottom: #000000 1px solid;border-right: #000000 1px solid;
		transform: rotate(45deg);
	}
	
	
	div.plans{
		padding: 13.3vw 0 12vw;
		background: #FCFAEB;
	}
	div.plans h4{
		position: relative;
		padding: 0 0 8vw;
		font-size: 5vw;font-weight: 900; text-align: center;
	}
	div.plans h4 span{
		display: inline-block;margin: 0 2vw 0 0; padding: 1vw 3vw;
		background: #F1A224;
		border-radius: 5px;
		color: #ffffff; font-size: 5vw;font-weight: 900;line-height: 1.4;
	}
	div.plans h4::after{
		content: "";
		position: absolute;top: 23vw;left: 0;right: 0;
		display: block;width: 9.3vw;height: 3px;margin: auto;
		border-bottom-left-radius: 3px;
		background: #E5A444;
	}
	div.plans dl{
		margin: 0 10.6vw;
	}
	div.plans dl dt{
		padding: 2vw 0 4vw;
		font-size: 3.7vw;font-weight: 700;text-align: center;
	}
	div.plans dl dt.edit{
		padding: 4vw 0 4vw;
	}
	div.plans dl dt span:nth-child(1){
		font-size: 6.6vw;font-weight: 900;
	}
	div.plans dl dt span:nth-child(2){
		display: inline-block;margin: 0 4.6vw 0 0;
		font-size: 4.6vw;font-weight: 900;
	}
	div.plans dl dd{
		margin: 0 0 5vw;
	}
	div.plans dl dd a{
		position: relative;
		display: block;height: 10.6vw;margin: 0 auto;
		background: #3D9C41;
		border-radius: 40px;
		color: #ffffff; font-size: 4vw;font-weight: 700;letter-spacing: 1px;line-height: 10.6vw; text-align: center;text-decoration: none;
		box-shadow: 0 5px 0 #e5e5e5;
	}
	div.plans dl dd a::after{
		content: "";
		position: absolute;top: 0;bottom: 0; right: 3.5vw;
		display: block;width: 1.9vw;height: 1.9vw;margin: auto;
		border-bottom: #ffffff 1px solid;border-right: #ffffff 1px solid;
		transform: rotate(-45deg);
	}
	
	
	div.howto{
		padding: 13.3vw 0 6.6vw;
		background: #F5F1C8;
	}
	div.howto h4{
		position: relative;
		padding: 0 0 13.3vw;
		font-size: 5vw;font-weight: 900; text-align: center;
	}
	div.howto h4::after{
		content: "";
		position: absolute;top: 13.5vw;left: 0;right: 0;
		display: block;width: 9.3vw;height: 3px;margin: auto;
		border-bottom-left-radius: 3px;
		background: #E5A444;
	}
	div.howto ol{
		padding: 0 4vw;
	}
	div.howto ol li{
		position: relative;
		padding: 0 0 10vw;
	}
	div.howto ol li::after{
		content: "";
		position: absolute;bottom:6vw;left: 0; right: 0;
		display: block;width: 5.8vw;height: 4vw;margin: auto;
		background: url("../imgs/icon_arrow_down.png") no-repeat center top;background-size: contain;
	}
	div.howto ol li:last-child::after{
		display: none;
	}
	div.howto ol li div{
		background: #ffffff;
		border-top: #E5A444 2px solid; border-bottom-left-radius: 10px;border-bottom-right-radius: 10px;
	}
	div.howto ol li div p{
		padding: 6.6vw 0;
		font-size: 3.7vw;font-weight: 500; text-align: center;
	}
	div.howto ol li div p span{
		display: inline-block;margin: 0 2vw 0 0; padding: 1vw 3vw;
		background: #F1A224;
		border-radius: 5px;
		color: #ffffff; font-size: 5vw;font-weight: 900;line-height: 1.4;
	}
	div.howto ol li div p a{
		color: #0058FF;
	}
	div.howto a.link_to_list_button{
		position: relative;
		display: block;height: 10.6vw;margin: 0 4vw 12vw;
		background: #3D9C41;
		border-radius: 40px;
		color: #ffffff; font-size: 4vw;font-weight: 700;letter-spacing: 1px;line-height: 10.6vw; text-align: center;text-decoration: none;
		box-shadow: 0 5px 0 #e5e5e5;
	}
	div.howto a.link_to_list_button::after{
		content: "";
		position: absolute;top: 0;bottom: 0; right: 3.5vw;
		display: block;width: 1.9vw;height: 1.9vw;margin: auto;
		border-bottom: #ffffff 1px solid;border-right: #ffffff 1px solid;
		transform: rotate(-45deg);
	}
	div.howto dl{
		margin: 0 4vw;padding: 8.6vw 5.3vw;
		background: #ffffff;
		border-radius: 10px;
	}
	div.howto dl dt{
		padding: 0 0 6.6vw;
		font-size: 4.6vw;font-weight: 700;line-height: 1.3; text-align: center;
	}
	div.howto dl dt img{
		width: 6.6vw;height: auto;margin: 0 4vw 0 0;
	}
	div.howto dl dd{
		padding: 0 0 1vw 3.7vw;
		font-size: 3.7vw;font-weight: 400;line-height: 1.9;text-indent: -3.7vw;
	}
	
	



div.terms_box{
	padding: 0;
}
#terms_area {
	width:92%;
	margin-left: auto;
	margin-right: auto;
}
#terms_area > div{
	margin-top:50px !important;
}
.term_title {
	text-align: center;
	font-size: 6vw;
	font-weight: bold;
	letter-spacing:.2em;
}
#terms_area .t_title {
	margin-top:50px;
	padding:15px 20px;
	font-size:4vw;
	font-weight:700;
	letter-spacing:.05em;
	background:#f8f8f8;
}
.term_text_area {
	margin-top:20px;
	font-weight:500;
}
.term_text_area .text {
	font-size:3.6vw;
	line-height:1.8em;
	letter-spacing:.05em;
}
.term_text_area .text.red,
.term_text_area .text span,
.term_text_area .notes span {
	color:#f75757;
}
.term_text_area .text a.form_link {
	color:#00ba4f;
}
.term_text_area .notes {
	font-size:3.2vw;
	line-height:1.8em;
}
.attention {
	margin-top:20px;
	background:rgba(247,87,87,.05);
	padding:30px;
	width:100%;
	color:#f75757;
}
.attention .title {
	font-size:4vw;
	font-weight:700;
	position:relative;
	padding-left:6vw;
}
.attention .title:before {
	content:"";
	width:4.8vw;
	height:4.13vw;
	background:url(../imgs/attention.png) no-repeat;
	background-size:cover;
	position:absolute;
	left:0;
	bottom:calc(50% - 2vw);
}
.attention .a_text {
	margin-top:10px;
	font-size:3.6vw;
	font-weight:500;
	letter-spacing:.08em;
}
.term_text_area .link_btn {
	width:98%;
	margin:30px auto;
	text-align:center;
	font-size:4vw;
	line-height: 1em;
	font-weight:700;
	letter-spacing:.1em;
}
.term_text_area .link_btn a {
	color:#00ba4f;
	text-decoration:none;
	padding:20px 0 24px;
	border:2px solid #00ba4f;
	display:block;
	border-radius:40px;
	box-shadow:4px 4px rgba(51,51,51,.25);
	position:relative;
}
.term_text_area .link_btn a:after {
    content: '';
	width: 10px;
	height: 10px;
	border: 0px;
	border-top: solid 1px #00ba4f;
	border-right: solid 1px #00ba4f;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 25px;
	margin-top: -1.2vw;
}

.pagetop img {
	width:13.3vw;
	height:auto;
}

.p_up {
	padding-top: 50px;
	width: 60px;
	margin: 0 auto;
}

a {
	word-break: break-all;
}


}


/*--------------------------------------------------
**************************************************
  配布スケジュール表
**************************************************
--------------------------------------------------*/

table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 490px;
  table-layout: fixed;
}

table tr {
  padding: .35em;
  border-bottom: 1px dotted #8BC34A;
}
table tr:last-child{
   border-bottom: 2px solid #18521b;
}
table th,
table td {
  padding:0.85em;
}
table td.m_count {
	width: 15%;
}
table th.m_price {
	width: 24%;
}
tbody th {
    color: #0f7d13;
}
.txt{
   text-align: left;
   font-size: 1em;
}
.price{
   text-align: right;
}
@media screen and (max-width: 600px) {
  table {
    border: 0;
    width:100%
  }
  table th{
    display: block;
    border-right: none;
    border-bottom: 2px solid #0f7d13;
    padding-bottom: .6em;
	  width: 100%;
  }
  table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  table tr {
    display: block;
	border-bottom: 2px solid #0f7d13;
  }
  
  table td {
    border-bottom: 1px solid #bbb;
    display: block;
    font-size: .8em;
    text-align: right;
    position: relative;
    padding: .625em .625em .625em 4em;
    border-right: none;
  }
  
  table td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
  }
  
  table td:last-child {
    border-bottom: 0;
  }
	.price{
	width: 100%;
}
}

/*--------------------------------------------------
**************************************************
  月表示用見出し
**************************************************
--------------------------------------------------*/
h3 {
	font-weight: bold;
	padding-bottom: 0.7em;
	text-align: center;
	position: relative;
	padding-top: 1em;
}
h3::after {
	content: '';
	position: absolute;
	border-bottom: 10px dotted #f89019;
	width: 50px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

h2 {
	text-align: center;
	position: relative;
}
h2::before,
h2::after {
	content: '';
	width: 32px;
	height: 4px;
	display: block;
	background-color: #f89019;
}

h2::before {
	position: absolute;
	top:50%;
	left:20%;
	transform: translateY(-50%);
}
h2::after {
	position: absolute;
	top:50%;
	right:20%;
	transform: translateY(-50%);
}





/*--------------------------------------------------
**************************************************
  2024年4月表示用PC
**************************************************
--------------------------------------------------*/
@media screen and (min-width: 751px) {
    div.april > div > div.deadline{
        padding: 50px 0;
    }
    div.april > div > div.deadline > div{
        display: flex;
        max-width: 800px;
    }
    div.april > div > div.deadline > div dl{
        width: 67%;padding: 30px 30px 15px;
        border-right: #F5F1C8 1px solid;
        font-size: 21px;font-weight: 500;letter-spacing: 1px; line-height: 1.6;
        white-space: nowrap;
	}
    div.april > div > div.deadline > div p{
        width: 33%;padding: 70px 0 0;
        border-left: #F5F1C8 1px solid;
        color: #F75757; font-size: 25px;font-weight: 700; line-height: 1.4;text-align: center;
    }
    div.april > div > div.deadline > div p.sche{
        width: 100%;
        padding: 30px;
        font-size: 22px;
		color: #333;
    }
    div.april > div > div.deadline > div > p.sche > span{
        width: 100%;
        padding: 30px;
        font-size: 16px;
        font-weight: normal;
        line-height: 1.4;
        text-align: center;
        color: #333;
    }
    div.april div.coupon{
        padding: 60px 0 65px;
    }
    div.april div.coupon > div{
        position: relative;
        width: 690px;
		margin: 0 auto 40px auto;
    }
    div.april div.coupon > div > a.get_coupon{
        display: block;
        width: 690px;
        height: 250px;
        box-shadow: 0 10px 10px rgba(0,0,0,0.15);
    }
    div.april div.coupon > div > a.get_coupon img{
        width: 690px;
		height: 250px;
    }
	div.april div.coupon > div > div{
		position: absolute;
		top: 0;
		left: 0;
        width: 690px;
        height: 250px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background-image:linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0.5)),url("../imgs/coupon.png");
	}
}