@charset "UTF-8";

article img.sp,
article br.sp,
article section div.sp,
footer div.sp{
	display: none !important;
}
body article{
	padding: 25px 0 240px;
}
body article section{
	max-width: 650px;
	margin: 0 auto;
}
body header#globalHeader,
body header#searchFormBtn{
	box-sizing: border-box;
	padding-left: calc(50vw - 335px);
	padding-right: calc(50vw - 335px);
}

body article a:hover,
body footer a:hover{
	opacity: 0.7;
}

body header#globalHeader ul{
	margin: 0 0 0 20px;
}

#spMenu .inner .otherLink ul.banner{
	max-width: 320px;
	margin: 0 auto 40px;
}
/***********************************************************
	.kv
***********************************************************/
body article section.kv{
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fab834;
	border-radius: 10px;
}
body article section.kv figure{
	width: 400px;
}
body article section.kv figure img{
	border-radius: 10px;
}
body article section.kv h2{
	position: static;
	width: 250px;
	margin: 0 auto 15px;
	color: #fff;
	font-size: 16px;
	font-weight: normal;
	transform: translateX(0);
	line-height: 140%;
}
body article section.kv h2:before,
body article section.kv h2:after{
	background: #fff;
}
body article section.kv h3{
	text-align: center;
	font-size: 16px;
	margin: 0 0 10px;
	color: #000;
}
body article section.kv .pc div{
	display: flex;
	justify-content: center;
	align-items: center;
}
body article section.kv .pc div p.qr{
	margin: 0 10px 0 0;
}

/***********************************************************
	.premium
***********************************************************/
body article section.premium{
	box-sizing: border-box;
	margin: 0 auto 50px;
	padding: 20px 35px;
}
body article section.premium p.tab{
	margin-bottom: 0;
	padding: 2px 10px 0;
	font-size: 16px;
}
body article section.premium h3{
	margin: 0 0 15px;
}
body article section.premium h3 span{
	font-size: 20px;
}
body article section.premium figure{
	position: relative;
	text-align: center;
}
body article section.premium figure img{
	max-width: 330px;
}
body article section.premium figure figcaption{
	position: absolute;
	right: 20px;
	bottom: 10px;
	margin: 0;
	font-size: 20px;
	font-weight: bold;
}
body article section.premium ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
body article section.premium ul li{
	flex-grow: 1;
	margin: 0 60px 0 0;
	padding: 0 40px;
	border-bottom: none;
}
body article section.premium ul li:last-child{
	position: relative;
}
body article section.premium ul li:last-child:after{
	content: " ";
	position: absolute;
	left: -30px;
	top: 50%;
	width: 1px;
	height: 50px;
	border-left: #FF3408 1px dashed;
	transform: translateY(-50%);
}
/***********************************************************
	.sns
***********************************************************/
body article section.sns{
	box-sizing: border-box;
	margin: 0 auto 50px;
	padding: 35px 80px;
}
body article section.sns h3{
	margin: 0 0 45px;
	padding: 65px 0 0;
	background-size: auto auto;
	font-size: 24px;
}

/***********************************************************
	.table
***********************************************************/
body article section.table{
	margin-bottom: 50px;
}
body article section.table h3{
	margin-bottom: 20px;
	font-size: 24px;
}
body article section.table .inner{
	padding: 35px 45px;
}
body article section.table .inner table{
	margin-bottom: 30px;
}
body article section.table .inner table thead th.title{
	padding: 0;
	font-size: 16px;
}
body article section.table .inner table thead th.premium{
	padding: 10px 0;
	font-size: 14px;
}
body article section.table .inner table thead th.member{
	padding: 10px 0;
	font-size: 14px;
}
body article section.table .inner table tbody tr.line th{
	padding: 10px 52px 10px 30px;
}
body article section.table .inner table tbody tr.line th:after{
	right: 30px;
}
body article section.table .inner table tbody tr.line td.premium{
	width: 100px;
	font-size: 18px;
}
body article section.table .inner table tbody tr.line td.member{
	width: 80px;
	font-size: 18px;
}
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: 12px;
}
body article section.table .inner table tbody tr.detail td{
	padding: 10px 30px;
}

/***********************************************************
	.regist
***********************************************************/
body article section.regist h3{
	margin-bottom: 30px;
	font-size: 24px;
}
body article section.regist h3 span{
	font-size: 20px;
}
body article section.regist .inner{
	display: flex;
	justify-content: space-between;
	width: 600px;
	margin: 0 auto 50px;
}
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: 15px;
}
body article section.regist .inner > div p.btn a{
	border-radius: 30px;
	line-height: 60px;
	font-size: 18px;
}
body article section.regist .inner .web p.btn a{
	background: #FF9300;
}
body article section.regist .inner .web figure{
	width: 285px;
	padding: 30px 0;
	border-radius: 10px;
}
body article section.regist p.bnr{
	width: 343px;
	margin: 0 auto;
}
body article section.regist p.bnr a{
	height: 86px;
}
body article section.regist .app div{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 15px 0 0;
}
body article section.regist .app div p.qr{
	margin: 0 10px 0 0;
}
/***********************************************************
	footer
***********************************************************/
body footer{
}
body footer p.pagetop{
	right: auto;
	top: -90px;
	left: calc(50% + 300px);
}
body footer .pc{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 575px;
	margin: 0 auto;
	padding: 15px 0;
}
body footer .pc div{
	display: flex;
	justify-content: center;
	align-items: center;
}
body footer .pc div p.qr{
	margin: 0 10px 0 0;
}
body footer .pc div ul li{
	margin: 0 0 8px;
}
body footer .pc div ul li:last-child{
	margin: 0;
}
body footer .pc > p{
	display: inline-block;
	padding: 0 0 0 70px;
	background: url("../img/ico_ehonnavi.svg") left center no-repeat;
	background-size: 51px auto;
	line-height: 51px;
	font-size: 24px;
	color: #fff;
}
/*******************************************************************************
	/premium/campaign/
*******************************************************************************/
/***************************************
	campaignHeader
***************************************/
body article section.campaignHeader h2{
	margin-top: 0;
}
body article section.campaignHeader div.about{
	width: 360px;
	height: 90px;
}
body article section.campaignHeader div.about:before,
body article section.campaignHeader div.about:after{
	right: -24px;
	border-width: 45px 24px 0 0;
}
body article section.campaignHeader div.about:after{
	border-width: 45px 0 0 24px;
}
body article section.campaignHeader div.about p{
	font-size: 18px;
}
body article section.campaignHeader div.about p:before,
body article section.campaignHeader div.about p:after{
	left: -24px;
	border-width: 0 24px 45px 0;
}
body article section.campaignHeader div.about p:after{
	border-width: 0 0 45px 24px;
}
body article section.campaignHeader div.about p strong{
	font-size: 30px;
}
body article section.campaignHeader div.coupon{
	margin: 0 0 30px;
	border-width: 10px;
}
body article section.campaignHeader div.coupon > div{
	padding: 35px 50px;
}
body article section.campaignHeader div.coupon > div h3{
	font-size: 20px;
}
body article section.campaignHeader div.coupon > div > div{
	padding: 20px 0;
}
body article section.campaignHeader ul.attention{
	margin: 0 10px 30px;
	font-size: 14px;
}
/***************************************
	flowPremium
***************************************/
body article section.flowPremium{
	max-width: 500px;
	padding: 0;
}
body article section.flowPremium ol > li{
	padding: 0 0 0 125px;
	font-size: 18px;
}
body article section.flowPremium ol > li:before{
	top: -4px;
	width: 90px;
	border-radius: 18px;
	font-size: 18px;
	line-height: 36px;
}
body article section.flowPremium ol > li a.sp{
	display: none;
}
body article section.flowPremium ol > li ul.attention li{
	font-size: 14px;
}
/***************************************
	aboutPremium
***************************************/
body article section.aboutPremium > p{
	margin: 0 0 20px;
	font-size: 14px;
}
/***************************************
	application
***************************************/
body article section.application div.btn{
	width: 360px;
}
body article section.application div.btn p a{
	padding: 15px 0 110px 35px;
	background-position: left 42px top 15px;
	border-radius: 15px;
	line-height: 33px;
	font-size: 18px;
}
body article section.application div.btn div{
	display: flex;
}
body article section.application ul.attention{
	width: auto;
}