@charset "UTF-8";

body article{
	max-width: 100vw;
	padding: 25px 0 120px;
	background: #FFFAED;
}
body article figure,
body article ul{
	margin: 0;
	padding: 0;
}
body article img{
	max-width: 100%;
}
body article a{
	text-decoration: none;
}

body header#globalHeader ul{
	flex-grow: 1;
	margin: 0 0 0 10px;
}
@media screen and (max-width: 420px) {
	body header#globalHeader ul{
		flex-grow: 0;
		margin: 0 5px;
	}
}
body header#globalHeader ul.hnav{
	flex-grow: 0;
	margin: 0;
}
/***********************************************************
	.kv
***********************************************************/
body article section.kv{
	position: relative;
	margin-bottom: 35px;
}
body article section.kv h2{
	position: absolute;
	left: 50%;
	top: -60px;
	width: 300px;
	font-size: 20px;
	font-weight: bold;
	color: #E72406;
	text-align: center;
	line-height: 120%;
	transform: translateX(-50%);
}
body article section.kv h2:before{
	content: " ";
	position: absolute;
	left: 40px;
	bottom: 3px;
	width: 1px;
	height: 45px;
	background: #E72406;
	transform:rotate(-45deg);
	transform-origin:right bottom;
}
body article section.kv h2:after{
	content: " ";
	position: absolute;
	right: 40px;
	bottom: 3px;
	width: 1px;
	height: 45px;
	background: #E72406;
	transform:rotate(45deg);
	transform-origin:left bottom;
}
body article section.kv h2 span{
	display: block;
	font-size: 14px;
}
body article section.kv p.btn{
	position: relative;
	width: 290px;
	margin: -15px auto 0;
}
body article section.kv p.btn a{
	display: block;
	background: #FA5D34;
	border-radius: 25px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 50px;
	text-align: center;
}

/***********************************************************
	.premium
***********************************************************/
body article section.premium{
	margin: 0 15px 35px;
	padding: 15px 20px 35px;
	border: #FF3408 3px solid;
	border-radius: 10px;
	background: #fff;
}
body article section.premium p.tab{
	display: inline-block;
	margin-bottom: 15px;
	padding: 2px 8px 0;
	background: #FF3408;
	border-radius: 5px;
	color: #fff;
}
body article section.premium h3{
	margin: 0 -10px 15px;
	color: #FF3408;
	text-align: center;
	font-size: 24px;
	line-height: 120%;
}
body article section.premium h3 span{
	display: block;
	font-size: 16px;
}
body article section.premium h3 span span{
	display: inline;
	font-size: 12px;
}
body article section.premium h4{
	max-width: 330px;
	padding: 0 0 5px;
	margin: 0 auto 10px;
	border-bottom: #FF3408 1px dashed;
	text-align: center;
	line-height: 24px;
}
body article section.premium h4 span{
	padding: 5px 0 5px 35px;
	background: url("../img/ico_premium_books.svg") left center no-repeat;
	font-weight: bold;
}
body article section.premium h4.movie span{
	background-image: url("../img/ico_premium_movie.svg");
	background-position: left 5px center;
}
body article section.premium figure{
	margin-bottom: 30px;
}
body article section.premium figure figcaption{
	margin: 10px 0 0;
	color: #FF3408;
	text-align: center;
}
body article section.premium ul li{
	margin-bottom: 15px;
	padding: 10px 40px;
	border-bottom: #FF3408 1px dashed;
	text-align: center;
	font-size: 16px;
	line-height: 120%;
	background-image: url("../img/ico_premium01.svg"),url("../img/ico_premium02.svg");
	background-position: left center,right center;
	background-repeat: no-repeat,no-repeat;
}
body article section.premium ul li:last-child{
	margin: 0;
	background-image: url("../img/ico_premium03.svg"),url("../img/ico_premium04.jpg");
	background-size: auto auto, 40px auto;
}
body article section.premium ul li span{
	display: block;
	font-size: 12px;
}
body article section.premium ul li span.caption{
	color: #FF3408;
}

/***********************************************************
	.sns
***********************************************************/
body article section.sns{
	margin: 0 15px 35px;
	padding: 30px 25px 25px;
	border-radius: 10px;
	background: #FFEFB8;
}
body article section.sns h3{
	margin: 0 -10px 30px;
	padding: 40px 0 0;
	background: url("../img/ico_sns.svg") center top no-repeat;
	background-size: 28px auto;
	text-align: center;
	font-size: 20px;
	line-height: 120%;
}
/***********************************************************
	.table
***********************************************************/
body article section.table{
	margin-bottom: 30px;
}
body article section.table h3{
	margin-bottom: 15px;
	font-size: 20px;
	text-align: center;
}
body article section.table .inner{
	padding: 15px;
	background: #fff;
}
body article section.table .inner table{
	width: 100%;
	margin-bottom: 25px;
}
body article section.table .inner table:last-of-type{
	margin: 0;
}
body article section.table .inner table thead th.title{
	padding: 5px 10px;
	color: #FF3408;
}
body article section.table .inner table thead th.premium{
	background: #FF3408;
	border-radius: 5px 0 0 0;
	font-size: 12px;
	color: #fff;
	text-align: center;
}
body article section.table .inner table thead th.member{
	background: #A4A4A4;
	border-radius: 0 5px 0 0;
	font-size: 12px;
	color: #fff;
	text-align: center;
}
body article section.table .inner table tbody tr.line th{
	position: relative;
	padding: 10px 32px 10px 10px;
	cursor: pointer;
}
body article section.table .inner table tbody tr.line th:after{
	content: " ";
	position: absolute;
	right: 10px;
	top: 50%;
	width: 12px;
	height: 7px;
	background: url("../img/ico_table_arrow.svg") center center no-repeat;
	transform: translateY(-50%);
	transition-duration: 0.3s ;
}
body article section.table .inner table tbody tr.line th.open:after{
	transform: translateY(-50%) rotate(180deg);
}
body article section.table .inner table tbody tr.line td.premium{
	width: 70px;
	padding: 10px 0;
	background: rgba(255,52,8,0.57);
	text-align: center;
	color: #fff;
}
body article section.table .inner table tbody tr.line td.member{
	width: 55px;
	padding: 10px 0;
	text-align: center;
	color: #A4A4A4;
}
body article section.table .inner table tbody tr.line td.premium.text,
body article section.table .inner table tbody tr.line td.member.text{
	font-size: 10px;
}
body article section.table .inner table tbody tr.line.odd th,
body article section.table .inner table tbody tr.detail.odd td{
	background-color: #FEF3F1;
}
body article section.table .inner table tbody tr.line.odd td.member{
	background-color: #F2F1F1;
}
body article section.table .inner table tbody tr.detail td{
	display: none;
	padding: 10px;
	font-size: 12px;
}
body article section.table .inner table tbody tr.detail td span{
	display: block;
	font-size: 10px;
}

/***********************************************************
	.regist
***********************************************************/
body article section.regist h3{
	margin-bottom: 15px;
	line-height: 120%;
	font-size: 20px;
	text-align: center;
}
body article section.regist h3 span{
	display: block;
	font-size: 16px;
	color: #FF3408;
}
body article section.regist h3 span span{
	display: inline;
	font-size: 12px;
}
body article section.regist .inner > div{
	width: 290px;
	margin: 0 auto 25px;
	text-align: center;
}
body article section.regist .inner > div p.btn{
	margin-bottom: 10px;
}
body article section.regist .inner > div p.btn a{
	display: block;
	background: #FF562A;
	border-radius: 24px;
	line-height: 48px;
	font-size: 16px;
	color: #fff;
}
body article section.regist .inner .app ul li{
	margin: 0 0 5px;
}
body article section.regist .inner .app ul li:last-child{
	margin: 0;
}
body article section.regist .inner .web p.btn a{
	background: #FF9300;
}
body article section.regist .inner .web figure{
	width: 265px;
	padding: 15px 0;
	margin: 0 auto;
	background: #fff;
	border-radius: 5px;
}
body article section.regist p.bnr{
	width: 90.8vw;
	margin: 0 auto;
}
body article section.regist p.bnr a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 22.8vw;
	background: url("../img/bg_regist_bnr.png") center center no-repeat;
	background-size: 100% 100%;
	text-align: center;
}

/***********************************************************
	footer
***********************************************************/
body footer{
	position: fixed;
	background: #FF562A;
	width: 100%;
	left: 0;
	bottom: 0;
}
body footer p.pagetop{
	display: none;
	position: absolute;
	top: -57px;
	right: 10px;
	z-index: 999;
}
body footer p.pagetop a{
	display: block;
	width: 50px;
	height: 50px;
	background-color: #ff9300;
	background-image: linear-gradient(0deg, #ff9300 0%, #ff010c 100%);
	border-radius: 25px;
	text-align: center;
	line-height: 50px;
}
body footer p.pagetop a img{
	vertical-align: middle;
	transform: translateY(-2px);
}
body footer .sp p a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 55px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	text-decoration: none;
}
body footer .sp p a span{
	display: inline-block;
	padding: 0 0 0 44px;
	background: url("../img/ico_ehonnavi.svg") left center no-repeat;
	background-size: 34px;
	line-height: 40px;
}


/*******************************************************************************
	/premium/campaign/
*******************************************************************************/
body article.campaign{
	padding-bottom: 80px;
}
/***************************************
	campaignHeader
***************************************/
body article section.campaignHeader{
	margin-bottom: 75px;
}
body article section.campaignHeader h2{
	margin: -10px 0 20px;
	padding: 35px 0 0;
	background: url("../img/ico_campaign_header.svg") center top no-repeat;
	font-size: 24px;
	color: #FF3408;
	text-align: center;
	line-height: 140%;
}
body article section.campaignHeader div.about{
	position: relative;
	width: 264px;
	height: 66px;
	margin: 0 auto 30px;
}
body article section.campaignHeader div.about:before,
body article section.campaignHeader div.about:after{
	content: " ";
	position: absolute;
	right: -18px;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 33px 18px 0 0;
	border-color: #FF5733 transparent transparent transparent;
}
body article section.campaignHeader div.about:after{
	top: auto;
	bottom: 0;
	border-width: 33px 0 0 18px;
	border-color: transparent transparent transparent #FF5733;
}
body article section.campaignHeader div.about p{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #FF5733;
	width: 100%;
	height: 100%;
	color: #fff;
	font-size: 14px;
	text-align: center;
}
body article section.campaignHeader div.about p:before,
body article section.campaignHeader div.about p:after{
	content: " ";
	position: absolute;
	left: -18px;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 18px 33px 0;
	border-color: transparent #FF5733 transparent transparent;
}
body article section.campaignHeader div.about p:after{
	top: auto;
	bottom: 0;
	border-width: 0 0 33px 18px;
	border-color: transparent transparent #FF5733 transparent;
}
body article section.campaignHeader div.about p strong{
	position: relative;
	display: inline-block;
	margin: 0 2px;
	font-size: 22px;
	transform: translateY(2px);
}
body article section.campaignHeader div.coupon{
	margin: 0 15px 20px;
	padding: 2px;
	border: #FFE49F 5px solid;
	background: #fff;
}
body article section.campaignHeader div.coupon > div{
	padding: 35px 15px 20px;
	background: #FFE49F url("../img/bg_campaign_coupon.png") center center repeat;
	text-align: center;
}
body article section.campaignHeader div.coupon > div h3{
	margin: 0 0 25px;
	font-size: 16px;
}
body article section.campaignHeader div.coupon > div > div{
	padding: 20px 0;
	background: #fff;
	border-radius: 10px;
}
body article section.campaignHeader div.coupon > div > div dl{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 5px 0;
}
body article section.campaignHeader div.coupon > div > div dl.code dt{
	font-size: 16px;
}
body article section.campaignHeader div.coupon > div > div dl.code dd{
	font-size: 18px;
}
body article section.campaignHeader p.btn{
	width: 300px;
	margin: 0 auto;
}
body article section.campaignHeader ul.attention{
	margin: 0 25px 30px;
	font-size: 12px;
}
body article section.campaignHeader p.btn a{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 50px;
	padding: 0 25px 0 0;
	border: #FFE7A9 2px solid;
	background: #fff url("../img/ico_campaign_btn.svg") center right 22px no-repeat;
	border-radius: 25px;
	font-size: 16px;
	color: #000;
}
/***************************************
	flowPremium
***************************************/
body article section.flowPremium{
	margin: 0 auto 70px;
	padding: 0 15px;
}
body article section.flowPremium h2{
	margin-bottom: 30px;
	font-size: 24px;
	text-align: center;
	line-height: 140%;
}
body article section.flowPremium ol > li{
	position: relative;
	margin-bottom: 40px;
	padding: 0 0 0 75px;
	font-size: 16px;
}
body article section.flowPremium ol > li:last-child{
	margin-bottom: 0;
}
body article section.flowPremium ol > li:before{
	content: "Step1";
	position: absolute;
	left: 0;
	top: 0;
	width: 60px;
	background: #FF5733;
	border-radius: 13px;
	font-size: 14px;
	line-height: 26px;
	text-align: center;
	color: #fff;
}
body article section.flowPremium ol > li:nth-of-type(2):before{
	content: "Step2";
}
body article section.flowPremium ol > li:nth-of-type(3):before{
	content: "Step3";
}
body article section.flowPremium ol > li a{
	color: #FF5733;
	text-decoration: underline;
}
body article section.flowPremium ol > li ul.attention li{
	font-size: 12px;
}
/***************************************
	aboutPremium
***************************************/
body article section.aboutPremium{
	margin-bottom: 70px;
}
body article section.aboutPremium h2{
	margin-bottom: 30px;
	font-size: 24px;
	text-align: center;
}
body article section.aboutPremium > p{
	margin: 0 30px 20px;
	font-size: 12px;
}
body article section.aboutPremium > p.btn{
	width: 300px;
	margin: 0 auto;
}
body article section.aboutPremium > p.btn a{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 50px;
	padding: 0 25px 0 0;
	border: #FF3408 2px solid;
	background: #fff url("../img/ico_campaign_btn.svg") center right 22px no-repeat;
	border-radius: 25px;
	font-size: 16px;
	color: #000;
}
/* section.premium overwrite */
body article section.aboutPremium section.premium{
	margin-bottom: 40px;
}
/***************************************
	application
***************************************/
body article section.application h3{
	margin: 0 0 25px;
	font-size: 16px;
	text-align: center;
	line-height: 140%;
}
body article section.application div.btn{
	position: relative;
	width: 300px;
	margin: 0 auto;
}
body article section.application div.btn p a{
	display: block;
	padding: 0 0 0 30px;
	background: #FA5D34 url("../img/ico_ehonnavi.svg") left 25px center no-repeat;
	background-size: 33px auto;
	border-radius: 28px;
	line-height: 56px;
	text-align: center;
	font-size: 16px;
	color: #fff;
}
body article section.application div.btn div{
	display: none;
	position: absolute;
	left: 0;
	top: 63px;
	width: 100%;
	justify-content: center;
	align-items: center;
}
body article section.application div.btn div figure{
	width: 72px;
	margin: 0 30px 0 0;
}
body article section.application div.btn div figure img{
	border-radius: 5px;
}
body article section.application div.btn div ul li{
	margin: 0 0 10px;
}
body article section.application div.btn div ul li:last-child{
	margin: 0;
}
body article section.application ul.attention{
	width: 300px;
	margin: 0 auto;
	font-size: 12px;
	color: #5F5F5F;
}
body article section.application ul.attention li{
	position: relative;
	padding: 0 0 0 1em;
}
body article section.application ul.attention li span{
	position: absolute;
	left: 0;
}
/***************************************
	footer.campaign
***************************************/
body footer.campaign{
	position: static;
	padding: 30px 0;
	background: #FFE49F;
	text-align: center;
}
body footer.campaign p{
	font-size: 12px;
	line-height: 140%;
}
body footer.campaign p:first-of-type{
	margin: 0 0 15px;
	font-size: 14px;
}
body footer.campaign p a{
	color: #000;
}
body footer.campaign p a:hover{
	color: #f60;
}
