@charset "utf-8";

html{
	font-size: 100%;
	}
@media screen and (max-width: 38.74em) {
html{
	font-size: 75%;
	}
}
body{
	margin: 0;
	padding: 0;
	line-height: 1.6;
	color: #4D4D4D;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	}
img{
	max-width: 100%;
	}
ul{
	list-style:none;
	}
a{
	text-decoration: underline;
	color: #4D4D4D;
	}
a:hover{
	text-decoration: none;
	}

#page{
	}
#contents{
	}
.wrap{
	width: 100%;
	max-width: 980px;
	margin:0 auto;
	}
@media screen and (max-width: 38.74em) {
.wrap{
	width: auto;
	padding:0 1rem;
	}
}

/* block
-------------------------------- */
.block-2,
.block-3,
.block-4 {
	display: flex;
	flex-wrap: wrap;
	max-width: 980px;
	margin:0 auto;
	}
.block-2 > .col,
.block-3 > .col,
.block-4 > .col {
	box-sizing: border-box;
	}
.block-2 > .col{
	width: 50%;
	}
.block-3 > .col{
	width: 33.3%;
	}
.block-4 > .col{
	width: 25%;
	}
@media screen and (max-width: 38.74em) {
.block-3 > .col{
	width: 100%;
	}
.block-4 > .col{
	width: 50%;
	}
}

@media screen and (min-width: 38.74em) {
.pcnone{
	display: none !important;
	}
}
@media screen and (max-width: 38.74em) {
.spnone{
	display: none !important;
	}
}


/* 文字設定
-------------------------------- */
.text-center{
	text-align:center;
	}
.text-right{
	text-align: right;
	}
.text-left{
	text-align: left;
	}
.text-blue{
	color: #004ea2;
	}
.text-red{
	color: #f93c64;
	}
.text-yellow{
	color: #ffe100;
	}
.text-large{
	font-size: 150%;
	}
.text-middle {
	font-size: 120%;
}
.text-small {
	font-size: 80%;
}
@media screen and (min-width: 38.74em) {
	.text-small {
		font-size: 70%;
	}
	small.text-small {
		font-size: 70%;
	}
}
.text-note{
	margin: .5rem 0 0;
	line-height: 1.2;
	font-size: 80%;
	}
	.text-note p{
		margin: .4rem 0;
		}
	.text-note p:first-child{
		font-size: 21px;
		font-weight: bold;
		}
ul.text-note{
	margin-bottom: 1em;
	padding-left: 0;
	}
	ul.text-note li{
		text-indent: -1.2em;
		padding-left: 1.2em;
		}
	ul.text-note li.num{
		text-indent: -1.5em;
		padding-left: 1.5em;
		}
.text-center{
	text-align: center;
	}
.link_arrow:before{
	margin-right: .2em;
	color: #798b90;
	font-size: 1em;
	font-family: "Font Awesome 5 Free";
	content: "\f105";
	font-weight: bold;
	}
.list-disc {
	list-style: disc;
	margin: 0 0 1rem;
	padding-left: 1.4rem;
	}

/* ボタン
-------------------------------- */
.button{
	display: block;
	position: relative;
	padding: 1em 1em 1em 0;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	font-size: 1.5rem;
	line-height: 1.4;
	border-radius: 6px;
	cursor: pointer;
	border:none;
	color: #fff;
	background-color: #666;
	box-shadow: 0px 4px 10px 0px rgba(7, 4, 4, 0.2);
	}
.button:hover{
	transition: background-color .2s;
	background-color: #858585;
	}
.button.hollow,
.button.small{
	padding: .6em 1em .6em 0;
	line-height: 1.2;
	}
	.button:not(.small)::after{
		position: absolute;
		top: 50%;
		right: 1.4rem;
		margin-top: -1.2rem;
		font-size: 2rem;
		font-family: "Font Awesome 5 Free";
		content: "\f105";
		font-weight: bold;
		}
	.button > i{
		float: left;
		margin-top: .3rem;
		padding-left: 2rem;
		font-size: 180%;
		}
	.button.small{
		font-size: 1rem;
		}
	.button.small > i{
		margin-top: -.1rem;
		padding-left: 1rem;
		font-size: 130%;
		}
	.button > small{
		display: block;
		font-size: 1rem;
		font-weight: normal;
		}
	.button i,
	.button small{
		pointer-events: none;
		}
/* ボタンの色設定 */
.button.alert{
	background-color: #f93c64;
	letter-spacing: -0.01em;
	font-size: 1.4rem;
	}
.button.alert:hover{
	background-color: #eb7185;
	}
.button.success{
	background-color: #29b0d7;
	}
.button.success:hover{
	background-color: #76bfdc;
	}
.button.hollow{
	background-color: #fff;
	border:2px solid #004ea2;
	color: #004ea2;
	box-shadow: none;
	}
.button.hollow:hover{
	background-color: #a9ddf1;
	}

@media screen and (max-width: 38.74em) {
.button{
	padding: .4em 0;
	font-size: 1.4rem;
	border-radius: 4px;
	box-shadow: 0px 2px 4px 0px rgba(7, 4, 4, 0.2);
	}
.button.hollow,
.button.small{
	padding: .4em 0;
	}
	.button > i,
	.button.small > i{
		position:absolute;
		top: 50%;
		left: .8rem;
		margin-top: -1rem;
		padding-left: 0;
		font-size: 150%;
		}
	.button.small{
		font-size: .9rem;
		font-weight: normal;
		}
	.button:not(.small)::after{
		right: .5rem;
		margin-top: -.8rem;
		font-size: 1.5rem;
		}
.button.hollow{
	border-width: 1px;
	}
.button.alert{
	margin: 0.7rem 0;
	padding: 1.1rem 0;
	font-size: 1.3rem;
	}
}
@media screen and (min-width: 38.74em) {
.button.alert{
	display: inline-block;
	width: 400px;
	margin: 2.5rem 1rem;
	}
}
@media screen and (min-width: 38.74em) and (max-width: 1000px) {
.button.alert{
	margin: 1rem 0 0;
	}
}


/* header
-------------------------------- */
#header{
	width: 100%;
	max-height: 45px;
	padding: 10px 0;
	z-index: 4;
	border-bottom: 1px solid #ddd;
	background: #fff;
	}
.code{
	margin: 0;
	padding: .01rem 0;
	background: #f5f5f5;
	font-size: .625rem;
	line-height: 1.2;
	color: #999797;
	}
#header .logo_ntt{
	display: inline-block;
	margin: 0 .5rem 0 0;
	vertical-align: -.5rem;
	}
	#header .logo_ntt > img{
		max-width: 35px;
		}
#header .logo{
	display: inline-block;
	/* width: 40%; */
	margin: 0;
	line-height: 1.2;
	font-size: .75rem;
	vertical-align: top;
	}
	#header .logo img{
		vertical-align: middle;
		}
#header ul{
	float:right;
	margin: 0;
	padding: 0;
	text-align: right;
	}
	#header ul > li{
		display: inline-block;
		margin: 0 0 0 2px;
		}
@media screen and (min-width: 38.74em) {
#header .logo_ntt{
	}
	#header .logo_ntt > img{
		max-width: 45px;
		}
#header .logo{
	width: 60%;
	padding: 1% 0;
	}
	#header .logo > span{
		padding-left: 1em;
		}
	#header .logo.west img{
		max-width: 150px;
		margin-top: -10px;
		}
	#header .logo.east img{
		max-width: 200px;
		}
	#header .nav-v1 > li{
		width: 11.25em;
		}
	#header .nav-v2 .button{
		padding-right: 1rem;
		}
		#header .nav-v2 .button > i{
			margin-right: 10px;
			}
	#header .button > br{
		display: none;
		}
}
@media screen and (max-width: 38.74em) {
#header {
	padding: 7px 0;
}
#header .wrap {
	display: flex;
	align-items: center;
}
#header .logo.east {
	padding-top: 0;
}
#header .logo{
	padding: 1.5% 0 0 0;
	}
	#header .logo.east img{
		max-width: 110px;
		}
	#header .logo.west img{
		max-width: 80px;
		}
	#header .logo > span{
		margin-left: 1em;
		padding-top: .2rem;
		}
	#header .nav-v1 > li{
		width: 6em;
		}
	#header .nav-v1 .button > i{
		left: 50%;
		margin-top: -1em;
		margin-left: -.5em;
		}
	#header .nav-v1 .button{
		padding-top: .5rem;
		}
	#header .nav-v2 .button > i,
	#header .nav-v2 .button > br{
		display: none;
		}
	#header .nav-v2 .button{
		height: 3rem;
		padding: 0 .5rem;
		line-height: 3rem;
		}
}

/* footer
-------------------------------- */
#footer{
	/* padding-top: 1rem; */
	text-align:center;
	}
#footer .button{
	margin:0 0 1rem;
	padding: 1rem 0;
	}
	#footer .privacy{
		padding: 1.5em 0;
		background: #f5f5f5;
		}
	#footer .privacy > a{
		display: inline-block;
		color: #4D4D4D;
		line-height: 1;
		padding: 0 1rem;
		text-decoration: none;
		}
.copyright{
	margin: 0;
	color: #fff;
	background: #333;
	}
@media screen and (min-width: 38.74em) {
#footer .button{
	max-width: 500px;
	margin: 0 auto 2.5rem;
	padding: 1.5rem 0;
	}
.copyright{
	font-size: .75rem;
	padding: .8rem 0;
	}
}

/* 見出し */
.ttl-h2{
	width: 100%;
	max-width: 980px;
	margin: 0 auto 20px;
	padding: .2em 0;
	color: #004ea2;
	font-size: 1.875rem;
	text-align: center;
	background: #e6eaed;
	background-image: linear-gradient( 90deg, rgb(224,228,233) 0%, rgb(232,236,239) 40%, rgb(240,243,244) 100%);
	}
.ttl-h3{
	margin: 0;
	padding: .6em 0;
	font-size: 1.6rem;
	color: #fff;
	text-align: center;
	background: #333;
	}
@media screen and (max-width: 38.74em) {
.ttl-h2{
	margin: 0;
	padding: .6em 0;
	font-size: 1.6rem;
	}
.ttl-h3{
	padding: 8px 0;
	font-size: 1.3rem;
	}
}
@media screen and (min-width: 38.74em) {
#contents section{
	margin-bottom: 40px;
}
}

/* コンテンツエリア
-------------------------------- */
/* KV */
.kv{
	margin: 0;
	padding: 0;
	}
	.kv > h1, .kv h1{
		margin:0;
		padding: 0;
		font-size: 1rem;
		line-height: 0;
		text-align: center;
		}
@media screen and (max-width: 38.74em) {
.kv {
	margin: 0 0 1rem 0;
}
.kv h1 + div{
	//margin-top: -3rem;
	}
.kv-note,
.kv-note a{
	color: #fff;
	}
.kv__inner {
	background-image: url(/template/img/new/sp/img_kv_bg_sp.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.kv__inner h1 {
	background-color: transparent;
}
.kv > h1 > span:not(.kv__main, .kv__main-inner),
.kv h1 > span:not(.kv__main, .kv__main-inner) {
	padding: 0.5rem 0;
	font-size: 16px;
}
.kv__main {
	display: block;
	padding: 6% 0 6% 0!important;
}
.kv__main .kv__main-inner {
	display: block;
	width: 82%!important;
	margin: 0 auto!important;
}
.kv__main .kv__main-inner img {
	width: 100%;
	max-width: 480px;
	height: auto;
}
.kv h1 + .kv-note-wrap {
	width: 82%;
	margin: -6% auto 0 auto;
	padding-left: 0;
	padding-right: 0;
}
.kv-note {
	/*margin-bottom: 0.5rem;
	font-size: 0.8rem;*/
}
.kv .button.alert {
	margin: 0.7rem 0 0 0;
	padding: 1.1rem 0;
	font-size: 1.3rem;
}
}

/* conversion */
.conversion{
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 20px 0 1px;
	background: #004ea2;
	color: #fff;
	}
	.conversion > h2{
		position: relative;
		margin: 0 0 1rem;
		padding: 1rem 0 .5rem;
		line-height: 1.2;
		}
		.conversion > h2::before,
		.conversion > h2::after{
			display: inline-block;
			position: absolute;
			bottom: 0;
			background: #fff;
			content: '';
			}
		.conversion > h2::before{
			left: 50%;
			margin-left: -8em;
			transform:rotate(-30deg);
			}
		.conversion > h2::after{
			right: 50%;
			margin-right: -8em;
			transform:rotate(30deg);
			}
		.conversion > h2 > em{
			font-size: 120%;
			margin-right: .3rem;
			}
	.conversion > .wrap{
		background: #fff;
		}
	.conversion .button{
		margin-top: .5em;
		}
	.conversion .button.hollow{
		font-size: 1rem;
		}
	.conversion .button.faq{
		padding: 1rem 0;
		font-size: 1.2rem;
		}
@media screen and (min-width: 38.74em) {
	.conversion > .wrap{
		width: auto;
		margin: 0 20px 20px;
		padding: 35px;
		}
	.conversion > h2{
		font-size: 2.2rem;
		}
		.conversion > h2::before,
		.conversion > h2::after{
			width: 3px;
			height: 80px;
			}
	.conversion .button.hollow > br{
		display: none;
		}
	.conversion .button.alert,
	.conversion .button.success:not(.faq){
		display: inline-block;
		width: calc(50% - 37px);
		}
	.conversion .button{
		margin: 10px 5px;
		}
.conversion + .text-note{
	margin: -30px auto 1.5rem;
	text-align: right;
	max-width: 980px;
	}
}
@media screen and (max-width: 38.74em) {
.conversion{
	margin-top: 1rem;
	padding: .1rem 0;
	}
	.conversion > .wrap{
		margin: 1rem;
		padding-top: 1.5rem;
		padding-bottom: 1.5rem ;
		}
	.conversion > h2{
		}
		.conversion > h2::before,
		.conversion > h2::after{
			width: 1px;
			height: 40px;
			}
	.conversion .col{
		padding:0 2px;
		}
	.conversion .button.hollow{
		display: table-cell;
		width: 100vw;
		height: 3em;
		padding: .5em 1em .5em 0;
		vertical-align: middle;
		font-size: .85rem;
		}
.conversion + .text-note{
	margin: 1em;
	}
}

.conversion2 {
	
}
.conversion2__inner {
	display: flex;
	margin: 0 auto;
	width: 90%;
	justify-content: center;
	align-items: center;
	/* max-width: 900px; */
}
.conversion2__inner .button.alert {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 3rem;
	padding-left: 0.5rem;
	padding-right: 2.5rem;
	font-size: 1.3rem;
}
.conversion2__inner .button.alert:nth-child(2n) {
	margin-left: 1rem;
}
@media screen and (max-width: 38.74em) {
	.conversion2__inner {
		flex-direction: column;
		justify-content: start;
		align-items: center;
	}
	.conversion2__inner .button.alert {
		width: 100%;
	}
	.conversion2__inner .button.alert:nth-child(2n) {
		margin-left: 0;
	}
}

.caution{
	padding: 15px 0 1px;
	background: #ffedf1;
	}
	.caution dt{
		padding: .2rem;
		border: 1px solid #f93c64;
		background: #fff;
		color: #f93c64;
		text-align: center;
		font-weight: bold;
		}
	.caution dt > img{
		max-width: 18px;
		vertical-align: middle;
		}
	.caution dd{
		margin-left: 0;
		padding-top: .5rem;
		padding-bottom: 1rem;
		}
	.caution dd:last-child{
		font-size: 14px;
		}

#reason .col{
	background: #e9faff;
	}
#reason.next .col:first-child{
	width: 100%;
	padding-top: 1.5rem;
	}
	#reason.next .col:first-child h3{
		height: auto;
		}
@media screen and (min-width: 38.74em) {
#reason.next{
	margin-bottom: 4rem;
	}
#reason:not(.next) .col:not(:first-child),
#reason.next .col:nth-child(n+3){
	border-left: 20px solid #fff;
	}
#reason.next .col:first-child{
	margin-bottom: 20px;
	}
}
@media screen and (max-width: 38.74em) {
#reason.next{
	margin-bottom: 1rem;
	}
	#reason .col:nth-child(-n+2){
		border-bottom:1px solid #cfe3e8;
		}
	#reason .col:nth-child(even){
		border-left:1px solid #cfe3e8;
		}
	#reason.next .col:nth-child(-n+3){
		border-bottom:1px solid #cfe3e8;
		}
	#reason.next .col:nth-child(even){
		border-left: none;
		border-right:1px solid #cfe3e8;
		}
}
	#reason h3,
	#reason .pic{
		margin: 0;
		text-align: center;
		}
	#reason h3{
		display: table-cell;
		width: 100vw;
		height:4em;
		line-height: 1.2;
		vertical-align: middle;
		}
@media screen and (min-width: 38.74em) {
#reason .col{
	padding: 1rem 0;
	}
	#reason h3{
		font-size: 1.375rem;
		}
	#reason .pic > img{
		max-height:100px;
		}
	#reason .txt{
		margin:1em;
		}
}
@media screen and (max-width: 38.74em) {
	#reason .pic > img{
		max-height:67px;
		}
	#reason .txt{
		margin:0 1em 1rem;
		}
	#reason.next .fig > img{
		max-width: 300px;
		}
	#reason.next .pic > img{
		max-height:70px;
		}
}
#feature{
	padding-bottom: 1rem;
	}
#light-feature{
	padding-bottom: 1rem;
	background: #e9faff;
	}
#light-feature > .wrap > p{
	font-size: 1.1rem;
	}
#light-feature h3{
	padding: .3rem .5rem;
	font-size: 1.4rem;
	color: #fff;
	}
	#light-feature h3 > img{
		max-width: 35px;
		margin-right: 10px;
		vertical-align: middle;
		}
	#light-feature h3 + p{
		margin: 0 1rem;
		text-align: center;
		}
#light-feature .col:first-of-type h3{
	background: #00abfd;
	}
#light-feature .col:last-of-type h3{
	background: #63bf51;
	}
#light-feature .col{
	background: #fff;
	}
@media screen and (min-width: 38.74em) {
#feature{
	padding-bottom: 50px;
	}
#light-feature > .wrap > p{
	text-align: center;
	}
}
	#feature .block-2,
	#feature .block-3,
	#light-feature .col{
		counter-reset: num;
		}
	#feature h3,
	#feature p{
		margin: 0;
		}
	#feature h3,
	.txt-point{
		position: relative;
		margin: 0;
		padding-top: 0rem;
		padding-bottom: .5rem;
		font-size: 1.3rem;
		line-height: 1.2;
		}
	#feature h3{
		font-weight:bold;
		}
		#feature h3::before,
		.txt-point::before{
			position: absolute;
			width: 5rem;
			top: 0;
			padding: .5em 0;
			background: #ff4358;
			border-radius: 3px;
			color: #fff;
			text-align: center;
			font-weight:bold;
			counter-increment:num;
			content: "POINT " counter(num);
			}
		#feature h3::after,
		.txt-point::after{
			position: absolute;
			font-family: "Font Awesome 5 Free";
			line-height: 1;
			font-weight: normal;
			color: #ff4358;
			content: "\f0a4";
			}
@media screen and (min-width: 38.74em) {
	#feature .block-2,
	#feature .block-3{
		margin-top: 2rem;
		}
	#feature .block-2 .col,
	#feature .block-3 .col{
		padding-right: 1rem;
		}
	#feature .block-2 .col:not(:first-child),
	#feature .block-3 .col:not(:first-child){
		padding-left: 1rem;
		border-left: 1px solid #dcdcdc;
		}
	#feature h3,
	.txt-point{
		min-height: 2.5em;
		padding-left: 7.5rem;
		}
		#feature h3::before,
		.txt-point::before{
			left: 0;
			font-size: .875rem;
			}
		#feature h3::after,
		.txt-point::after{
			top: 0;
			left: 5rem;
			font-size: 130%;
			}
		#feature h3 br{
			display: none;
			}
		.txt-point{
			margin-left: 210px;
		}
}
@media screen and (max-width: 38.74em) {
	#feature .block-2 .col{
		width: 100%;
		}
	#feature .block-2 .col:not(:first-child),
	#feature .block-3 .col:not(:first-child){
		margin-top: .5rem;
		border-top: 1px solid #dcdcdc;
		}
	#feature .col{
		padding-top: 1rem;
		}
	#feature h3,
	.txt-point{
		padding-left: 9rem;
		}
		#feature h3::before,
		.txt-point::before{
			left: 1rem;
			font-size: 1rem;
			}
		#feature h3::after,
		.txt-point::after{
			top: 0;
			left: 6rem;
			font-size: 160%;
			}
	#feature p{
		padding-left: 9rem;
		}
}

#feature .accordion{
	position: relative;
	cursor: pointer;
	}
#feature .accordion::after{
	position:absolute;
	top: -.2em;
	right: 1rem;
	font-size: 160%;
	color: #004ea2;
	font-family: "Font Awesome 5 Free";
	content: "\f107";
	font-weight: bold;
	}
#feature .accordion.active::after{
	content: "\f106";
	}
#feature .accordion-inside{
	display: none;
	}
@media screen and (max-width: 38.74em) {
#feature .accordion{
	margin-top: 1rem;
	}
#feature .accordion::after{
	right: .5rem;
	top: 1rem;
	font-size: 1.5rem;
	}
}


#campaign{
	counter-reset: num;
	}
#campaign h2,
#campaign h3,
#campaign p{
	margin: 0;
	line-height: 1.2;
	}
	#campaign .col{
		position: relative;
		margin-bottom: 10px;
		counter-increment:num;
		}
	#campaign .label{
		display: table-cell;
		width: 100vw;
		font-weight: bold;
		vertical-align: middle;
		background: #fff;
		}
		#campaign .label::before{
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			background: #f93c64;
			color: #fff;
			content: "特典" '\A' counter(num) ;
			white-space: pre;
			}
	#campaign .label > .large{
		font-size: 120%;
		}
@media screen and (min-width: 38.74em) {
#campaign{
	padding-bottom: .5rem;
	background: url(/template/img/bg_yellow_repeat.png) repeat-y 50% 0;
	}
	#campaign > h2{
		position: relative;
		height: 65px;
		top: -30px;
		padding-top: 5px;
		font-size: 2.25rem;
		color: #fff;
		background: url(/template/img/bg_ribbon.png) no-repeat 50% 0;
		}
	#campaign > h2 + p{
		font-size: 1.5rem;
		}
	#campaign > h3{
		padding-bottom: .8em;
		font-size: 3rem;
		}
		#campaign > h3 > span{
			font-size: 4rem;
			}
		#campaign > h3 > br{
			display: none;
			}
	#campaign .block-3 .col:nth-child(-n+2),
	#campaign .block-4 .col:nth-child(-n+3),
	#campaign .point .col:nth-child(odd){
		border-right: 10px solid transparent;
		}
	#campaign .label{
		height: 70px;
		padding-left: 70px;
		font-size: 1.125rem;
		}
		#campaign .label::before{
			width: 70px;
			height: 55px;
			padding-top: 15px;
			}
	#campaign .wrap{
		max-width: 900px;
		margin-bottom: 30px;
		}
}
@media screen and (max-width: 38.74em) {
#campaign{
	/* padding-bottom: .5rem; */
	background: url(/template/img/bg_yellow.png) no-repeat 50% 15px;
	background-size: 100% auto;
	}
	#campaign > h2{
		height: 35px;
		margin-bottom: 10px;
		padding-top: 0;
		font-size: 1.5rem;
		color: #fff;
		background: url(/template/img/bg_ribbon.png) no-repeat 50% 0;
		background-size: auto 35px;
		}
	#campaign > h3{
		padding-bottom: .3em;
		font-size: 2rem;
		}
		#campaign > h3 > span{
			font-size: 2.5rem;
			}
	#campaign .block-4 .col:nth-child(odd){
		border-right: 10px solid transparent;
		}
	#campaign .label{
		height: 45px;
		padding-left: 45px;
		}
		#campaign .label::before{
			width: 45px;
			height: 37px;
			padding-top: 8px;
			}
}
.point-more {
	margin-bottom: 1rem;
	}
.point-more .arrow {
	display: block;
	min-height: 45px;
	background: url(/template/img/ico_arrow.png) no-repeat 50% 50%;
	background-size: auto 100%;
	}
	.point-more .arrow > span {
		position: relative;
		font-weight: bold;
		}
.point-more .inside {
	padding-left: 0;
	background: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	}
	.point-more .inside::before {
		display: none;
		}
.point-more .lead {
	background: #fb1b49;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	}
.point-more span:nth-child(2) {
	display: inline-block;
	width: 1em;
	line-height: 1;
	}
.point-more span:nth-child(3) .text-large{
	font-size: 250%;
	}
.trigger-wrap{
	background: #fff;
	border-radius: 4px;
	}
	.trigger{
		display: block;
		padding: .5rem;
		position: relative;
		text-align: center;
		}
	.trigger::after{
		position: absolute;
		top: 50%;
		right: 1.4rem;
		margin-top: -.7em;
		font-family: "Font Awesome 5 Free";
		color: #fb1b49;
		content: "\f107";
		font-weight: bold;
		}
	.trigger.active::after{
		content: "\f106";
		}
	.trigger + div{
		display: none;
		padding: 0rem 1rem 1rem;
		font-size: 80%;
		}

#price{
	max-width: 900px;
	margin: 0 auto;
	padding-bottom: 1rem;
	background: #fffdda;
	}
	#price .col{
		position: relative;
		text-align: center;
		background: #fff;
		}
	#price h4{
		margin: 0;
		background: #ffdf01;
		}
		#price h4 > i{
			display: inline-block;
			position: absolute;
			left: 50%;
			border-radius: 50%;
			background: #fff;
			text-align: center;
			font-size: 200%;
			}
		#price h4 > .large{
			font-size: 120%;
			}
	#price .col p{
		margin: 0;
		line-height: 1;
		}
	#price .col em{
		margin-right: .2rem;
		font-size: 200%;
		font-weight: bold;
		}
	#price .text-note{
		text-align: left;
		margin: 1rem 1rem 0;
		}
@media screen and (min-width: 38.74em) {
#price .block-2{
	max-width: 620px;
	}
	#price .col{
		width: calc(50% - 20px);
		margin: 70px 10px 0 10px;
		border:4px solid #ffdf01;
		}
	#price h4{
		font-size: 1.5rem;
		padding: 60px 0 10px;		
		}
		#price h4 > i{
			width: 94px;
			height: 94px;
			top: -47px;
			margin-left: -47px;
			line-height: 94px;
			border:4px solid #ffdf01;
			}
	#price .col p{
		padding: 1rem 0;
		font-size: 1.5rem;
		}
	#price .text-note{
		max-width: 600px;
		margin: 1rem auto;
		}
}
@media screen and (max-width: 38.74em) {
	#price .col{
		width: calc(50% - 19px);
		margin: 45px 0 0 10px;
		border:2px solid #ffdf01;
		}
	#price h4{
		padding: 30px 0 10px;		
		}
		#price h4 > i{
			width: 44px;
			height: 44px;
			top: -22px;
			margin-left: -22px;
			line-height: 44px;
			border:2px solid #ffdf01;
			}
	#price .col p{
		padding: .5rem 0;
		font-size: 120%;
		}
}

/* 利用料金 2019.10.25 */
#price_v4{
	margin-bottom: 1rem;
	}
#price_v4 table{
	width: 100%;
	border-collapse: collapse;

	border: 2px solid #bfbfbf;
	}
#price_v4 table ul{
	margin-bottom: 0;
	}
#price_v4 table caption{
	padding: .4rem 0;
	font-size: 16px;
	text-align: center;
	font-weight: bold;
	}

#price_v4 table caption.bg-blue{
	color: #fff;
	background: #004ea2;
	}
#price_v4 table caption.bg-red{
	color: #fff;
	background: #ff5466;
	}
#price_v4 table th,
#price_v4 table td{
	padding: .5rem;
	line-height: 1.2;
	background: #fff;
	}
#price_v4 table th{
	font-weight: normal;
	text-align: left;
	}
#price_v4 table .text-red{
	font-size: 130%;
	font-weight: bold;
	}
#price_v4 table thead th,
#price_v4 table thead td{
	vertical-align: bottom;
	border-bottom: 1px dashed #bfbfbf;
	}
#price_v4 table tfoot th,
#price_v4 table tfoot td{
	border-top: 1px dashed #bfbfbf;
	}
#price_v4 table thead strong{
	font-size: 120%;
	line-height: 2;
	}
@media screen and (min-width: 38.74em) {
#price_v4 table{
	max-width: 700px;
	margin: 0 auto;
	}
#price_v4 table th,
#price_v4 table td{
	padding: 1rem;
	}
}
@media screen and (max-width: 38.74em) {
#price_v4 tr.stack th,
#price_v4 tr.stack td{
	display: block;
	width: calc(100% - 1rem);
	}
#price_v4 table ul{
	margin-top: -1em;
	}
}
#price_v4 table .text-red.large{
	font-size: 160%;
	}

.plan-detail{
	margin-top: 3rem;
	margin-bottom: 1rem;
	padding: 0 1rem 1rem;
	background: #e9faff;
	}
	.plan-detail h3 {
		position: relative;
		top: -2rem;
		margin: 0;
		padding: .5em 0;
		background: #fff;
		border: 2px solid #004ea2;
		border-radius: 10px;
		text-align: center;
		line-height: 1.4;
		color: #004ea2;
		}
		.plan-detail h3:after,
		.plan-detail h3:before {
			top: 100%;
			left: 50%;
			border: solid transparent;
			content: " ";
			height: 0;
			width: 0;
			position: absolute;
			pointer-events: none;
			}
		.plan-detail h3:after {
			border-color: rgba(255, 255, 255, 0);
			border-top-color: #fff;
			border-width: 7px;
			margin-left: -7px;
			}
		.plan-detail h3:before {
			border-color: rgba(0, 78, 162, 0);
			border-top-color: #004ea2;
			border-width: 10px;
			margin-left: -10px;
			}
	.plan-detail h3 + div{
		margin-top: -1rem;
		}
@media screen and (min-width: 38.74em) {
.plan-detail{
	padding: 0 40px 40px;
	}
		.plan-detail h3 > br{
			display: none;
			}
	.plan-detail th{
		width: 200px;
		}
	.plan-detail h3 + div{
		text-align: center;
		}
		.plan-detail h3 + div > ul{
			display: inline-block;
			}
}

.plan-campaign{
	background: #fdf8e3;
	padding: 1rem 1rem 1px;
	}
.plan-campaign h3{
	margin: 0;
	font-size: 1.5rem;
	}
.plan-campaign h4{
	margin: 0;
	font-size: 1.375rem;
	}
#price_v4 .plan-campaign table{
	margin-bottom: 1rem;
	}
.plan-campaign table i{
	margin-right: .5rem;
	font-size: 150%;
	color: #fbb100;
	}
@media screen and (min-width: 38.74em) {
.plan-campaign h3,
.plan-campaign h4{
	margin-bottom: 1rem;
	}
.plan-campaign table thead th{
	text-align: center !important;
	}
.plan-campaign table thead th div{
	display: inline-block;
	text-align: left;
	}
}
.plan-campaign h3::before,
.plan-campaign h3::after{
	display: inline-block;
	width: 1px;
	height: 18px;
	margin: 0 .5rem;
	vertical-align: middle;
	background: #ff5466;
	content: '';
	}
.plan-campaign h3::before{
	transform:rotate(-30deg)
	}
.plan-campaign h3::after{
	transform:rotate(30deg)
	}
@media screen and (min-width: 38.74em) {
	.plan-campaign th{
		width: 130px;
		}
	}

#price_v5 > .wrap{
	text-align: center;
	}
#price_v5 .box{
	margin: 0;
	width: 100%;
	padding: 10px 10px 1px;
	box-sizing: border-box;
	line-height: 1.2;
	}
#price_v5 .business.box{
	padding: 1px 28px;
	}
	#price_v5 .text-note{
		text-align: left;
		}
	#price_v5 .box > section,
	#price_v5 h3{
		max-width: 435px;
		margin: 0 auto;
		}
	#price_v5 .box > section{
		box-sizing: border-box;
		margin-bottom: 2.5rem;
		padding-bottom: 1.5rem;
		background: #fff;
		}
	#price_v5 h2{
		margin-top: -2.5rem;
		margin-bottom: -.5rem;
		font-size: 1rem;
		font-weight: normal;
		line-height: 1.4;
		}
		#price_v5 h2 > strong{
			font-size: 160%;
			}
	#price_v5 .house h3,
	#price_v5 .apartment h3,
	#price_v5 .business h3{
		margin-top: 2.5rem;
		margin-bottom: 2.5rem;
		padding: .4em 0;
		font-size: 1.25rem;
		color: #fff;
		}
	#price_v5 .business h3{
		margin-bottom: 1.5rem;
		}
	#price_v5 h2 + h3{
		margin-top: 0;
		}
	#price_v5 h4{
		position: relative;
		margin-bottom: 0;
		padding: 2em 0 0;
		font-size: 1.1rem;
		}
	#price_v5 .business h4,
	#price_v5 h4:nth-of-type(2n){
		padding-top: 1em;
		}
		#price_v5 h4 .plan{
			display: block;
			position: absolute;
			width: 9em;
			top: -.9em;
			left: 50%;
			margin-left: -4.5em;
			padding: .2em 0;
			font-size: 1.25rem;
			color: #333;
			background: #ffe600;
			border-radius: 1.5rem;
			}
		#price_v5 h4 .plan.stage{
			width: 10em;
			margin-left: -5em;
			background: #ff7e00;
			color: #fff;
			}
		#price_v5 .label{
			display: inline-block;
			width: 1.7em;
			height: 1.7em;
			line-height: 1.7em;
			color: #fff;
			}
		#price_v5 h4 .label{
			position: absolute;
			top: 8px;
			right: 8px;
			}
	#price_v5 .ttl{
		margin: 1rem 20px .5rem;
		padding: .4rem 0;
		background: #efefef;
		}
	#price_v5 ul.txt-speed,
	#price_v5 ul.txt-price{
		display: table;
		width: calc(100% - 40px);
		padding: 0 20px;
		}
	#price_v5 .txt-speed li,
	#price_v5 .txt-price li{
		display: table-cell;
		padding-left: 0;
		margin-left: 0;
		}
	#price_v5 .txt-speed li:not(:first-child),
	#price_v5 .txt-price li:not(:first-child){
		border-left: 1px solid #ccc;
		}
	#price_v5 p .text-large{
		font-size: 1.8rem;
		}
	#price_v5 ul .text-large{
		font-size: 1.5rem;
		}
	#price_v5 .txt-speed{
		margin: 0 0 1rem;
		}
	#price_v5 .txt-price{
		margin: 0;
		font-size: .85rem;
		}
		#price_v5 .txt-price strong{
			font-size: 1.25rem;
			}
	#price_v5 .note{
		margin: .5rem 0 0;
		font-size: .85rem;
		}
#price_v5 .house{
	background: #e9faff;
	}
	#price_v5 .house > section{
		box-shadow: 0 0 16px 0 rgba(68, 191, 255, 0.5);
		}
	#price_v5 .house h3,
	#price_v5 .label.blue{
		background: #00acfc;
		}
	#price_v5 .text-blue,
	#price_v5 .house h2 strong,
	#price_v5 .house h4{
		color: #00acfc;
		}
	#price_v5 .house h4:nth-of-type(2n){
		border-top: 2px solid #e9faff;
		}
#price_v5 .apartment{
	background: #e9fde4;
	}
	#price_v5 .apartment > section{
		box-shadow: 0 0 16px 0 rgba(99, 191, 81, 0.5);
		}
	#price_v5 .apartment h3,
	#price_v5 .label.green{
		background: #63bf51;
		}
	#price_v5 .text-green,
	#price_v5 .apartment h2 strong,
	#price_v5 .apartment h4{
		color: #63bf51;
		}
	#price_v5 .apartment h4:nth-of-type(2n){
		border-top: 2px solid #e9fde4;
		}
#price_v5 .business{
	background: #d9f7f3;
	}
	#price_v5 .business > section{
		box-shadow: 0 0 16px 0 rgba(37, 205, 183, 0.5);
		}
	#price_v5 .business h3,
	#price_v5 .business .label{
		background: #25cdb7;
		}
	#price_v5 .business h4{
		color: #25cdb7;
		}
@media screen and (min-width: 38.74em) {
#price_v5 > .wrap:first-of-type{
	display: flex;
	flex-wrap: wrap;
	}
#price_v5 .box{
	padding: 28px 28px 0;
	}
#price_v5 .house,
#price_v5 .apartment{
	width: calc(50% - 2px);
	}
#price_v5 .house{
	margin-right: 2px;
	}
#price_v5 .apartment{
	margin-left: 2px;
	}
#price_v5 .business{
	width: 100%;
	margin-top: 4px;
	}
#price_v5:not(.next) .apartment h3:first-of-type{
	margin-top: 22.15em;
	}
.east #type-b,
.west #type-b{
	min-height: 19.5em;
	}
.east #type-c{
	min-height: 40.2rem;
	}
.west #type-c{
	min-height: 39.5rem;
	}
	.east #type-c p.note{
		min-height: 1.7rem;
		}
/* 要素の並びを調整 */
#price_v5 .house{
	order: 1;
	}
#price_v5 .apartment{
	order: 2;
	}
#price_v5 .business{
	order: 3;
	}
#price_v5 .cv{
	order: 4;
	}
#price_v5 .text-note{
	order: 5;
	}
}
@media screen and (max-width: 38.74em) {
#price_v5{
	margin-top: 3rem;
	}
#price_v5 .cv{
	margin-bottom: 3rem;
	}
}

#price_v5 .plan-campaign{
	margin-top: 2.5rem;
	padding-bottom: 2.5rem;
	}
#price_v5 table{
	width: 100%;
	margin: 1.5rem 0 0;
	border-collapse: collapse;
	border: 2px solid #bfbfbf;
	}
#price_v5 table caption{
	padding: .4rem 0;
	font-size: 1.25rem;
	text-align: center;
	font-weight: bold;
	color: #fff;
	background: #ff5466;
	}
#price_v5 table th,
#price_v5 table td{
	padding: .5rem;
	line-height: 1.4;
	background: #fff;
	}
#price_v5 table th{
	font-weight: normal;
	text-align: left;
	}
#price_v5 table .text-red{
	font-size: 130%;
	font-weight: bold;
	}
#price_v5 table thead th{
	border-bottom: 2px dashed #bfbfbf;
	}
#price_v5 table td .label{
	margin-top: .5rem;
	}
@media screen and (min-width: 38.74em) {
#price_v5 table th,
#price_v5 table td{
	padding: .8rem;
	}
#price_v5 table thead th{
	height: 6rem;
	vertical-align: middle;
	}
.plan-campaign-inline{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 15px;
	}
	.plan-campaign-inline > div{
		width: 445px;
		}
}
@media screen and (max-width: 38.74em) {
#price_v5 tr th,
#price_v5 tr td{
	display: block;
	width: calc(100% - 1rem);
	}
#price_v5 table ul{
	margin-top: -1em;
	}
}
#price_v5 table .text-red.large{
	font-size: 140%;
	}

.bg-blue,
.bg-green,
.bg-blue-green{
	position: relative;
	padding-bottom: 1rem;
	}
.bg-blue{
	background: #eaf9fe;
	}
.bg-green{
	background: #e8fde3;
	}
.bg-white{
	background: #fff;
	box-shadow: 0px 0px 12.6px 1.4px rgba(0, 0, 0, 0.08);
	}
.bg-blue-green{
	background-image: linear-gradient( #eaf9fb 0%, #e8fde3 100%);
	}
.bg-blue::before,
.bg-green::before{
	display: block;
	width: 100%;
	height: 250px;
	position: absolute;
	background-image: linear-gradient( rgb(255,255,255) 0%, rgba(255,255,255,0) 100%);
	content: '';
	}
.ttl-plan,
.img_ngn{
	position: relative;
	}
.ttl-plan{
	margin: 0;
	padding-top: 1.5rem;
	font-size: 1.9rem;
	line-height: 1.2;
	text-align: center;
	}
	.ttl-plan > img{
		display: block;
		max-width: 80px;
		margin: 0 auto 1rem;
		}
.img_ngn{
	margin-top: 0;
	}
#reason.ngn h3{
	display: block;
	width: auto;
	height: auto;
	margin-bottom: .5rem;
	}
@media screen and (min-width: 38.74em) {
#reason.ngn .col:not(:first-child),
#reason.ngn .col:nth-child(n+3){
	border-left: 20px solid #e8fde3;
	}
}
@media screen and (max-width: 38.74em) {
.img_ngn > img{
	max-width: 301px;
	}
	#reason.ngn .col:nth-child(-n+2){
		border-bottom-color: #cfe1cb;
		}
	#reason.ngn .col:nth-child(even){
		border-left-color: #cfe1cb;
		}
	#reason.ngn .col:nth-child(n+3){
		padding-top: 1rem;
		}
}
#reason.ngn .col{
	background: transparent;
	}
.price_v6 h4{
	padding: .4em 0;
	font-size: 1.25rem;
	color: #fff;
	text-align: center;
	}
	.price_v6 .fig{
		counter-reset: num;
		}
	.price_v6 .fig h4{
		position: relative;
		padding-left: 3.5rem;
		text-align: left;
		}
		.price_v6 .fig h4 > img{
			position: absolute;
			max-height: 32px;
			margin-right: .5rem;
			left: .5rem;
			}
		.price_v6 .fig h4 > .ico_house{
			bottom: -.3rem;
			}
		.price_v6 .fig h4 > .ico_apartment{
			bottom: 0;
			}
		.price_v6 .fig .text-center{
			padding: 0 1rem;
			}
		.price_v6 .fig .txt-point{
			margin-right: .5rem;
			font-size: 1rem;
			}
.price_v6 h5{
	display: flex;
	margin-bottom: 2rem;
	line-height: 1.2;
	text-align: center;
	justify-content: center;
	}
	.price_v6 h5 > img{
		max-width: 35px;
		margin-right: 1rem;
		padding: 8px;
		border: 2px solid #00acfc;
		border-radius: 50%;
		background: #fff;
		}
	.price_v6 h5 strong{
		display: block;
		padding-top: .5rem;
		font-size: 1.5rem;
		}
.price_v6 .box{
	margin: 0 0 1px;
	width: 100%;
	padding: 0 10px 10px;
	box-sizing: border-box;
	line-height: 1.2;
	background: #fff;
	text-align: center;
	}
	.price_v6 .text-note{
		text-align: left;
		}
	.price_v6 h6{
		position: relative;
		margin: 0 2rem 1rem;
		padding: 1.2em 0 0;
		font-size: 1.1rem;
		line-height: 1.2;
		}
	.price_v6 h6:not(:first-of-type){
		margin-top: 1rem;
		border-top: 1px solid #efefef;
		}
		.price_v6 h6 .plan{
			display: block;
			position: absolute;
			width: 9em;
			top: -.9em;
			left: 50%;
			margin-left: -4.5em;
			padding: .2em 0;
			font-size: 1rem;
			color: #333;
			background: #ffe600;
			border-radius: 1.5rem;
			}
		.price_v6 h6 .plan.stage{
			width: 10em;
			margin-left: -5em;
			background: #ff7e00;
			color: #fff;
			}
	.price_v6 .ttl{
		margin: .5rem 20px .2rem;
		padding: .4rem 0;
		background: #efefef;
		font-size: .9rem;
		}
	.price_v6 ul.txt-speed,
	.price_v6 ul.txt-price{
		display: table;
		width: calc(100% - 40px);
		padding: 0 20px;
		}
	.price_v6 .txt-speed li,
	.price_v6 .txt-price li{
		display: table-cell;
		padding-left: 0;
		margin-left: 0;
		}
	.price_v6 .txt-speed li:not(:first-child),
	.price_v6 .txt-price li:not(:first-child){
		border-left: 1px solid #ccc;
		}
	.price_v6 p .text-large{
		font-size: 1.8rem;
		}
	.price_v6 ul .text-large{
		font-size: 1.5rem;
		}
	.price_v6 .txt-speed{
		margin: 0;
		}
	.price_v6 .txt-price{
		margin: 0;
		font-size: .85rem;
		}
		.price_v6 .txt-price strong{
			font-size: 1.25rem;
			}
	.price_v6 .note{
		margin: .5rem 0 0;
		padding-bottom: 1rem;
		font-size: .85rem;
		}
	.bg-blue .price_v6 .box{
		box-shadow: 0 0 16px 0 rgba(68, 191, 255, 0.5);
		}
	.price_v6 h4.blue{
		background: #00acfc;
		}
	.price_v6 .text-blue,
	.bg-blue .price_v6 h5 strong,
	.bg-blue .price_v6 h6{
		color: #00acfc;
		}
	.bg-green .price_v6 .box{
		box-shadow: 0 0 16px 0 rgba(99, 191, 81, 0.5);
		}
	.price_v6 h4.green{
		background: #63bf51;
		}
	.price_v6 .text-green,
	.bg-green .price_v6 h5 strong,
	.bg-green .price_v6 h6{
		color: #63bf51;
		}
	.bg-blue .price_v6 h6:nth-of-type(2n){
		border-top: 2px solid #e9fde4;
		}
@media screen and (min-width: 38.74em) {
.price_v6 > .wrap:first-of-type{
	display: flex;
	flex-wrap: wrap;
	}
.price_v6 .box{
	padding: 28px 28px 0;
	}
}

	#feature .block-2,
	#feature .block-3,
	#light-feature .col{
		counter-reset: num;
		}
	#feature h3,
	#feature p{
		margin: 0;
		}
	#feature h3,
	.txt-point{
		position: relative;
		margin: 0;
		padding-top: 0rem;
		padding-bottom: .5rem;
		font-size: 1.3rem;
		line-height: 1.2;
		}
	#feature h3{
		font-weight:bold;
		}
		#feature h3::before,
		.txt-point::before{
			position: absolute;
			width: 5rem;
			top: 0;
			padding: .5em 0;
			background: #ff4358;
			border-radius: 3px;
			color: #fff;
			text-align: center;
			font-weight:bold;
			counter-increment:num;
			content: "POINT " counter(num);
			}
		#feature h3::after,
		.txt-point::after{
			position: absolute;
			font-family: "Font Awesome 5 Free";
			line-height: 1;
			font-weight: normal;
			color: #ff4358;
			content: "\f0a4";
			}
@media screen and (min-width: 38.74em) {
	#feature .block-2,
	#feature .block-3{
		margin-top: 2rem;
		}
	#feature .block-2 .col,
	#feature .block-3 .col{
		padding-right: 1rem;
		}
	#feature .block-2 .col:not(:first-child),
	#feature .block-3 .col:not(:first-child){
		padding-left: 1rem;
		border-left: 1px solid #dcdcdc;
		}
	#feature h3,
	.txt-point{
		min-height: 2.5em;
		padding-left: 7.5rem;
		}
		#feature h3::before,
		.txt-point::before{
			left: 0;
			font-size: .875rem;
			}
		#feature h3::after,
		.txt-point::after{
			top: 0;
			left: 5rem;
			font-size: 130%;
			}
		#feature h3 br{
			display: none;
			}
		.txt-point{
			margin-left: 210px;
		}
}
@media screen and (max-width: 38.74em) {
	#feature .block-2 .col{
		width: 100%;
		}
	#feature .block-2 .col:not(:first-child),
	#feature .block-3 .col:not(:first-child){
		margin-top: .5rem;
		border-top: 1px solid #dcdcdc;
		}
	#feature .col{
		padding-top: 1rem;
		}
	#feature h3,
	.txt-point{
		padding-left: 9rem;
		}
		#feature h3::before,
		.txt-point::before{
			left: 1rem;
			font-size: 1rem;
			}
		#feature h3::after,
		.txt-point::after{
			top: 0;
			left: 6rem;
			font-size: 160%;
			}
	#feature p{
		padding-left: 9rem;
		}
}

#feature .accordion{
	position: relative;
	cursor: pointer;
	}
#feature .accordion::after{
	position:absolute;
	top: -.2em;
	right: 1rem;
	font-size: 160%;
	color: #004ea2;
	font-family: "Font Awesome 5 Free";
	content: "\f107";
	font-weight: bold;
	}
#feature .accordion.active::after{
	content: "\f106";
	}
#feature .accordion-inside{
	display: none;
	}
@media screen and (max-width: 38.74em) {
#feature .accordion{
	margin-top: 1rem;
	}
#feature .accordion::after{
	right: .5rem;
	top: 1rem;
	font-size: 1.5rem;
	}
}

/* tab */
.tab {
	margin: 0;
	padding: 0;
	text-align: center;
	}
.tab li {
	display: inline-block;
	}
.tab a {
	display: flex;
	min-width: 135px;
	margin: 0 5px;
	padding: 1rem 0 1.2rem;
	border-top: 2px solid #dedede;
	border-left: 2px solid #dedede;
	border-right: 2px solid #dedede;
	border-radius: 0.5rem 0.5rem 0 0;
	background: #fff;
	text-align: center;
	font-weight: bold;
	line-height: 1.2;
	font-size: .85rem;
	color: #dedede;
	text-decoration: none !important;
	}
.tab a.active {
	border-top: 2px solid #63bf51;
	border-left: 2px solid #63bf51;
	border-right: 2px solid #63bf51;
	color: #333;
	}
.tab img {
	max-height: 28px;
	margin: 0 .2rem 0 .5rem;
	}
.tab a:not(.active) img {
	filter: grayscale(100%);
	}
.tab strong{
	display: block;
	font-size: 150%;
	color: #dedede;
	}
.tab a.active strong{
	color: #63bf51;
	}
.area-change-wrap{
	border-top: 2px solid #63bf51;;
	}
.area-change:not(:first-of-type) {
	display: none;
	}

.price_v6 #campaign{
	margin-top: 2rem;
	padding-bottom: 1rem;
	background-repeat: repeat-y;
	}
	.price_v6 #campaign h2{
		position: relative;
		top: -1rem;
		margin-bottom: 0;
		}
.price_v6 #campaign .label{
	padding-left: 80px;
	font-size: 1.5rem;
	line-height: 1;
	}
	.price_v6 #campaign .label::before{
		font-size: 1rem;
		text-align: center;
		line-height: 1.3;
		}
@media screen and (max-width: 38.74em){
.price_v6 #campaign .label{
	padding-left: 50px;
	}
	.price_v6 #campaign .label::before{
		width: 40px;
		}
}
@media screen and (min-width: 38.74em){
.price_v6 .point{
	display: flex;
	flex-wrap: wrap;
	}
	.price_v6 .point > .col{
		width: calc(50% - 5px);
		}
}
.price_v6 .plan-campaign{
	padding: 0 0 1rem;
	}
.price_v6 .plan-campaign h3{
	margin: 1rem 0 1px;
	}
.price_v6 table{
	width: calc(100% - 2rem);
	margin: 1.5rem 1rem 1px;
	border-collapse: collapse;
	border: 2px solid #bfbfbf;
	}
.price_v6 table caption{
	padding: .4rem 0;
	font-size: 1.25rem;
	text-align: center;
	font-weight: bold;
	color: #fff;
	background: #ff5466;
	}
.price_v6 table th,
.price_v6 table td{
	padding: .5rem;
	line-height: 1.4;
	background: #fff;
	}
.price_v6 table th{
	font-weight: normal;
	text-align: left;
	}
.price_v6 table .text-red{
	font-size: 130%;
	font-weight: bold;
	}
@media screen and (min-width: 38.74em) {
.price_v6 table th,
.price_v6 table td{
	padding: .8rem;
	}
.price_v6 table th{
	height: 6rem;
	vertical-align: middle;
	}
}
@media screen and (max-width: 38.74em) {
.price_v6 tr th,
.price_v6 tr td{
	display: block;
	width: calc(100% - 1rem);
	}
.price_v6 table ul{
	margin-top: -1em;
	}
}
.price_v6 table .text-red.large{
	font-size: 140%;
	}

#flow{
	padding-bottom: 1rem;
	}
	#flow dl{
		position: relative;
		}
	#flow dt,
	#flow dd{
		margin: 0;
		padding: 0;
		}
	#flow .label{
		display: block;
		position: absolute;
		top: 5px;
		left: 0;
		line-height: 1;
		text-align: center;
		font-weight: bold;
		color: #fff;
		background: #004ea2;
		}
		#flow .label > span{
			display: block;
			position: relative;
			z-index: 1;
			}
		#flow .label::after{
			display: block;
			position: absolute;
			width: 0;
			height: 0;
			left: 0;
			border-style: solid;
			border-color: #004ea2 transparent transparent transparent;
			content: '';
			}
	#flow .text{
		font-weight: bold;
		color: #004ea2;
		}
@media screen and (min-width: 38.74em) {
	#flow .label{
		width: 145px;
		height: 50px;
		padding-top: 15px;
		font-size: 150%;
		}
		#flow .label::after{
			top: 65px;
			border-width: 26px 72px 0 72px;
			}
	#flow dl{
		margin-left: 40px;
		margin-bottom: 70px;
		padding-left: 160px;
		}
	#flow .text{
		font-size: 150%;
		}
#flow .text-note{
	margin-left: 40px;
	}
}
@media screen and (max-width: 38.74em) {
	#flow .label{
		width: 70px;
		height: 25px;
		padding-top: 5px;
		}
		#flow .label::after{
			top: 30px;
			border-width: 16px 35px 0 35px;
			}
	#flow dl{
		padding-left: 80px;
		}
	#flow .text{
		font-size: 120%;
		}
}

#faq{
	padding: 0 0 .5rem;
	}
@media screen and (max-width: 38.74em) {
#faq{
	margin: 0 0 10px 0;
	background: #e2f6fb;
	}
}
@media screen and (min-width: 38.74em) {
#faq{
	margin: 0 0 30px 0 !important;
	}
#faq .wrap{
	padding: 40px 0 20px;
	background: #e2f6fb;
	}
.acMenu{
	margin:0 40px;
	}
}
/* アコーディオン */
.duration {
	-webkit-transition: 1s;
	-moz-transition: 1s;
	-ms-transition: 1s;
	-o-transition: 1s;
	transition: 1s;
}
.acMenu{
	background: #fff;
	border-radius: 3px;
	box-shadow: 0px 2px 4px 0px rgba(7, 4, 4, 0.06);
	}
.acMenu dt,
.acMenu dd {
	position:relative;
	margin:0;
	}
.acMenu dt {
	/*
	cursor:pointer;
	*/
	font-size: 1.167rem;
}
.acMenu dd {
	/*
	display: none;
	margin-top: .5rem;
	*/
	margin-top: 1rem;
	}
.acMenu dt:before,
.acMenu dd:before {
	display: block;
	position:absolute;
	top: .3rem;
	text-indent:0;
	text-align: center;
	color: #fff;
	}
.acMenu dt:before {
	background: #004ea2;
	content:'Q';
}
.acMenu dd:before {
	background: #abb7c4;
	content:'A';
}
/*
.acMenu dt:after{
	position:absolute;
	color: #004ea2;
	font-size: 1rem;
	font-family: "Font Awesome 5 Free";
	content: "\f107";
	font-weight: bold;
	}
.acMenu dt.active:after{
	content: "\f106";
	}
*/
@media screen and (max-width: 38.74em) {
.acMenu{
	padding: 5px 10px;
	}
.acMenu dt,
.acMenu dd {
	padding-left:30px;
	padding-right: 1rem;
	}
.acMenu dt:before,
.acMenu dd:before {
	width: 24px;
	height: 24px;
	left: 0;
	line-height: 22px;
	font-size: 14px;
	}
.acMenu dt:after{
	top: 0;
	right: 0;
	}
}
@media screen and (min-width: 38.75em) {
.acMenu{
	margin-bottom: 1rem;
	padding: 35px 70px 35px;
	}
.acMenu dt,
.acMenu dd {
	padding-left: 30px;
	}
.acMenu dt{
	padding-top: 5px;
	padding-bottom: 10px;
	font-size:20px;
	}
.acMenu dt:before,
.acMenu dd:before {
	width: 40px;
	height: 40px;
	left: -30px;
	line-height: 35px;
	font-size: 22px;
	}
.acMenu dt:after{
	top: 0;
	right: -30px;
	font-size: 160%;
	}
}

/* 光はじめ割 */
#hajimewari{
	padding: 2.8rem 0 1rem;
	background: #2d3091;
	}
#hajimewari .bg-white{
	padding: 0 1rem;
	background: #fff;
	text-align: center;
	}
	#hajimewari h2{
		position: relative;
		margin: 0;
		top: -1rem;
		font-size: 1.1rem;
		}
		#hajimewari h2 > span{
			display: inline-block;
			margin-bottom: 1rem;
			padding: .5rem 1rem;
			border-radius: 2rem;
			background: #ff8400;
			color: #fff;
			}
		#hajimewari h2 > img{
			max-width: 242px;
			}
	#hajimewari .price{
		margin-top: 0;
		padding: 0;
		font-weight: bold;
		line-height: 1.2;
		}
		#hajimewari .price li{
			position: relative;
			padding: .2rem 0 1rem;
			border-top: 1.5px solid #2d3091;
			}
		#hajimewari .price li:last-child{
			padding-top: 1rem;
			}
		#hajimewari .term{
			display: inline-block;
			width: 5em;
			margin-right: .5rem;
			padding: .25rem 0;
			border-radius: .5rem;
			background: #ffe2ba;
			text-align:center;
			}
		#hajimewari .text-orange{
			color: #ff8400;
			font-size: 2.25rem;
			}
			#hajimewari .text-orange .num{
				font-size: 140%;
				}
		#hajimewari .price .point{
			position: absolute;
			left: 50%;
			margin-left: 3rem;
			color: #2d3091;
			}
			#hajimewari .price .point::before,
			#hajimewari .price .point::after{
				display: inline-block;
				width: 1px;
				height: 1rem;
				margin: 0 .5rem;
				background: #2d3091;
				content: '';
				}
			#hajimewari .price .point::before{
				transform: rotate(-30deg);
				}
			#hajimewari .price .point::after{
				transform: rotate(30deg);
				}
	#hajimewari .text-note{
		margin: 0;
		color: #fff;
		}


/* form
-------------------------------- */
.area-form{
	margin: 0;
	padding-bottom: 1px;
	background: #f5f5f5;
	}
	.area-form h2{
		position: relative;
		margin: 0 0 12px;
		padding: 1rem 0;
		font-size: 18px;
		color: #fff;
		text-align: center;
		background: #004ea2;
		}
		.area-form h2::after{
			position: absolute;
			display: block;
			bottom: -8px;
			left: 50%;
			margin-left: -10px;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 8px 10px 0 10px;
			border-color: #004ea2 transparent transparent transparent;
			content: '';
			}
#sfm-form .button.alert{
	width: 100%;
	margin: 1rem auto;
	padding: 1.1em 0 1.1em 1.8em;
	background-image: url(../img/ico_area.png);
	background-repeat: no-repeat;
	background-position: 20px 15px;
	background-size: 33px 32px;
	font-size: 18px;
	}
#sfm-form .button.alert[disabled]{
	padding-left: 0;
	background: #E0E0E0;
	cursor: auto;
	box-shadow: none;
	}
input:focus,
select:focus,
textarea:focus{
	outline: none;
	}
input[type="text"],
input[type="tel"],
input[type="email"]{
	border:none;
	border-radius:4px;
	background: #fff;
	border:1px solid #AFAFAF;
	font-size: 16px;
	}
input[type="text"],
input[type="tel"],
input[type="email"]{
	width: calc(100% - 1.2em);
	padding: .5em;
	}
select{
	width: 100%;
	max-width: 240px;
	height: 2.5em;
	font-size: 16px;
	text-indent: 5px;
	border-radius: 6px;
	border: 1px solid #AFAFAF;
	}
.ERR {
	color:#f00;
	margin: .5rem 0 0;
	}
.required-focus{
	background: #fce2e2 !important;
	border-color: #E75B5B !important;
	}
.any,
.required{
	padding: 2px 6px 2px 6px;
	border-radius: 4px;
	font-size: 10px;
	color: #fff;
	vertical-align: middle;
	font-weight: normal;
	display: inline-block;
	}
.any{
	background: #666666;
	}
.required{
	background: #f99201;
	}
.area-form table{
	width: 100%;
	border-collapse: collapse;
	}
.area-form th,
.area-form td{
	display: block;
	}
.area-form th{
	padding: 5px 10px;
	background: #e9faff;
	text-align: left;
	font-size: 14px;
	}
.area-form td {
	padding: 10px;
	background: #fff;
	}
/* 現在地表示 その2 */
.flow-list-2{
	display: flex;
	justify-content: center;
	padding-right: 10px;
	font-weight: bold;
	}
	.flow-list-2 p{
		font-size: 16px;
		}
	.flow-list-2 ol{
		height: 36px;
		font-size: 12px;
		line-height: 36px;
		margin: 10px 0 0 15px;
		padding: 0;
		}
		.flow-list-2 li{
			display: inline-block;
			position:relative;
			padding-left: 0;
			padding-right: 5px;
			box-sizing: content-box;
			margin-left: -3px;
			text-indent:10px;
			background: #e9faff;
			}
		.flow-list-2 ol li:not(:first-child){
			padding-left: 5px;
			}
		.flow-list-2 li.active{
			background:#004ea2;
			color:#fff;
			border-right:none;
			}
		.flow-list-2 li:nth-child(1){
			z-index: 3;
			}
		.flow-list-2 li:nth-child(2){
			z-index: 2;
			}
		.flow-list-2 li:nth-child(3){
			z-index: 1;
			}
			.flow-list-2 li::before{
				margin-right: .2rem;
				}
			.flow-list-2 li:nth-child(1)::before{content:'1.';}
			.flow-list-2 li:nth-child(2)::before{content:'2.';}
			.flow-list-2 li:nth-child(3)::before{content:'3.';}
			.flow-list-2 li::after{
				position:absolute;
				width: 0;
				height: 0;
				top:0;
				right: -10px;
				border-style: solid;
				border-width: 18px 0 18px 10px;
				border-color: transparent transparent transparent #e9faff;
				content:'';
				}
			.flow-list-2 li.active::after{
				border-color: transparent transparent transparent #004ea2;
				}
@media screen and (min-width: 38.74em) {
.area-form{
	}
	.area-form h2{
		font-size: 32px;
		}
.area-form table {
	width: calc(100% - 60px);
	margin: 30px auto 0;
	}
	.area-form th,
	.area-form td {
		display: table-cell;
		width: auto;
		padding: 10px 20px;
		border-bottom: 1px solid #ddd;
		}
	.area-form th {
		width: 200px;
		font-size: 16px;
		}
	input[type="text"],
	input[type="tel"],
	input[type="email"]{
		width:calc(100% - 1.6em);
		padding: 1em .8em;
		}
#sfm-form .button.alert{
	max-width: 320px;
	margin: 1rem auto 3rem;
	padding-left: 40px;
	background-position: 60px 18px;
	}
.any,
.required{
	padding: 2px 6px 2px 6px;
	border-radius: 4px;
	font-size: 0.8em;
	float: right;
	line-height: 1.5;
	}
}

/* 2025.09.10 */
#cross .lp-area-form .sec_body{
	margin-top: 0;
}
#cross .sec.lp-area-form {
  background: #fff;
}
#cross .sec.lp-area-form p {
	  line-height: 1.6;
	  margin: 0.5em auto;
}
#cross .sec.lp-area-form p.form-discription {
	text-align: center;
}
#cross .lp-area-form .sec_head {
  background: #0139b8;
  padding: 40px 0 0;
  position: relative;
}
#cross .lp-area-form .sec_head:after {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 0px 100px 100vw;
  border-color: transparent transparent #fff transparent;
  content: "";
}
#cross .lp-area-form .sec_ttle {
  border: none;
  background: #0139b8;
  text-align: center;
  height: 185px;
  color: #fff;
  font-size: 24px;
  margin: 0;
}
#cross .lp-area-form .sec_body {
  position: relative;
  margin-top: 0;
  padding: 0 15px;
}
@media screen and (max-width: 38.73em) {
	#cross .sec.lp-area-form p.form-discription {
		margin: 1em 0;
		text-align: left;
		font-size: 12px;
	}
	#cross .lp-area-form .sec_head {
	  padding: 20px 0 0;
	}
  #cross .lp-area-form .sec_ttle {
	font-size: 18px;
  }
	#cross .lp-area-form .sec_body {
	  background: #fff;
	  padding: 20px 15px 0;
	}
}
@media screen and (min-width: 38.74em) {
  #cross .lp-area-form .sec_head {
	background: #0139b8;
	padding: 40px 0 0;
	position: relative;
  }
  #cross .lp-area-form .sec_head:after {
	display: none;
  }
}

#cross .lp-area-form. form-new_container {
  background: #fff;
  border-radius: 4px;
  padding: 20px 10px;
}
#cross .lp-area-form .form-new_flow {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
#cross .lp-area-form .form-new_flow li {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #cdcdcd;
  position: relative;
  border-radius: 12px;
}
#cross .lp-area-form .form-new_flow li.active {
  background: #0139b8;
}
#cross .lp-area-form .form-new_flow li + li {
  margin-left: 48px;
}
#cross .lp-area-form .form-new_flow li + li:before {
  display: block;
  position: absolute;
  left: -43px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 1px;
  background: #cdcdcd;
  content: "";
}
#cross .lp-area-form .form-new_table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
#cross .lp-area-form .form-new_table tr th {
  display: block;
  width: 100%;
  background: #e9f5fa;
  font-weight: 700;
  padding: 8px 10px;
  box-sizing: border-box;
  text-align: left;
}
#cross .lp-area-form .form-new_table tr td {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 0 20px;
}
#cross .lp-area-form .form-new_table tr td .instruction {
  color: #7d7d7d;
  font-size: 11px;
  line-height: 1.2;
  display: block;
  margin-bottom: 10px;
}
#cross .lp-area-form .form-new_table tr td .ERR {
  margin: 3px 0 0;
  padding: 0;
  color: #EC5504;
}
#cross .lp-area-form .form-new_table tr td input[type=tel],
#cross .lp-area-form .form-new_table tr td input[type=email],
#cross .lp-area-form .form-new_table tr td input[type=text],
#cross .lp-area-form .form-new_table tr td textarea {
  width: 100%;
  display: block;
  padding: 10px 8px;
  box-sizing: border-box;
  border: 1px solid #d6d9e7;
  border-radius: 4px;
  font-size: 16px;
}
#cross .lp-area-form .form-new_table tr td input[type=tel].required-focus,
#cross .lp-area-form .form-new_table tr td input[type=email].required-focus,
#cross .lp-area-form .form-new_table tr td input[type=text].required-focus,
#cross .lp-area-form .form-new_table tr td textarea.required-focus {
  background: #FDF1E6;
  border-color: #EC5504;
}
#cross .lp-area-form .form-new_table tr td select {
  width: 100%;
  display: block;
  padding: 10px 8px;
  box-sizing: border-box;
  border: 1px solid #d6d9e7;
  border-radius: 4px;
}
@media screen and (max-width: 38.73em) {
	#cross .lp-area-form .form-new_table tr th {
	  font-size: 12px;
	}
  #cross .lp-area-form .form-new_table tr td select {
	max-width: 100%;
  }
	#cross .lp-area-form #postcode1 {
		text-align: left;
		width: 10em;
	}
}
#cross .lp-area-form .form-new_table tr td input[type=radio] {
  display: none;
}
#cross .lp-area-form .form-new_label {
  display: block;
  width: 46.5%;
  border-radius: 4px;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.12);
  border: solid 1px #d6d9e7;
}
#cross .lp-area-form .form-new_label:nth-child(even) {
  margin-left: auto;
}
@media screen and (min-width: 38.74em) {
  #cross .lp-area-form .form-new_container {
	background: #fff;
	border-radius: 12px;
	padding: 14px 30px;
	max-width: 940px;
	margin: 0 auto;
	box-sizing: border-box;
  }
  #cross .lp-area-form .form-new_flow li {
	width: 40px;
	height: 40px;
	border-radius: 20px;
  }
  #cross .lp-area-form .form-new_table {
	margin-bottom: 40px;
  }
  #cross .lp-area-form .form-new_table tr th {
	display: table-cell;
	width: 30%;
	background: #e9f5fa;
	font-weight: 700;
	padding: 8px 10px;
	box-sizing: border-box;
	text-align: left;
	border: 1px solid #eee;
  }
  #cross .lp-area-form .form-new_table tr td {
	display: table-cell;
	width: 70%;
	text-align: left;
	padding: 8px 10px;
	border: 1px solid #eee;
  }
  #cross .lp-area-form .form-new_table tr td .instruction {
	color: #7d7d7d;
	font-size: 11px;
	line-height: 1.2;
	display: block;
	margin-bottom: 10px;
  }
  #cross .lp-area-form .form-new_table tr td .ERR {
	margin: 3px 0 0;
	padding: 0;
	color: #EC5504;
  }
  #cross .lp-area-form .form-new_table tr td input[type=tel],
  #cross .lp-area-form .form-new_table tr td input[type=email],
  #cross .lp-area-form .form-new_table tr td input[type=text],
  #cross .lp-area-form .form-new_table tr td textarea {
	width: 400px;
	display: block;
	padding: 10px 8px;
	box-sizing: border-box;
	border: 1px solid #d6d9e7;
	border-radius: 4px;
  }
  #cross .lp-area-form .form-new_table tr td input[type=tel].required-focus,
  #cross .lp-area-form .form-new_table tr td input[type=email].required-focus,
  #cross .lp-area-form .form-new_table tr td input[type=text].required-focus,
  #cross .lp-area-form .form-new_table tr td textarea.required-focus {
	background: #FDF1E6;
	border-color: #EC5504;
  }
  #cross .lp-area-form .form-new_table tr td select {
	width: 100%;
	display: block;
	padding: 10px 8px;
	box-sizing: border-box;
	border: 1px solid #d6d9e7;
	border-radius: 4px;
  }
  #cross .lp-area-form .form-new_table tr td input[type=radio] {
	display: none;
  }
  #cross .lp-area-form #postcode1 {
	  text-align: left;
	  width: 8em;
  }
}
#cross .lp-area-form .form-new .note {
  font-size: 12px;
}

#cross .lp-area-form .form_btn_list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
#cross .lp-area-form .form_btn_item {
  box-sizing: border-box;
  width: calc(50% - 6px);
  margin: 6px 0;
}
#cross .lp-area-form .form_btn_item input {
  display: none;
}
#cross .lp-area-form .form_btn_item input[type=radio] + label {
  box-sizing: content-box;
  display: flex !important;
  justify-content: center;
  align-items: center;
  color: #444444;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  margin: 0 !important;
  min-height: 3.2rem;
  width: calc(100% - 1.6rem - 4px);
  max-width: 100%;
  border-radius: 6px !important;
  padding: 0.8em 0.8rem !important;
  border: 2px solid #dbdcdc !important;
  box-shadow: 0px 2px 3px 0px rgba(7, 3, 4, 0.1) !important;
  background-color: #fff !important;
  cursor: pointer !important;
}
#cross .lp-area-form .form_btn_item input[type=radio] + label:hover {
  background-color: #fffbdf !important;
  border-color: #ffe40a !important;
}
#cross .lp-area-form .form_btn_item input[type=radio] + label::before {
  content: none !important;
}
#cross .lp-area-form .form_btn_item input[type=radio]:checked + label {
  background-color: #fffbdf !important;
  border-color: #ffe40a !important;
}
#cross .lp-area-form .form_btn_item input[type=radio]:checked + label::after {
  content: none;
}

#cross .lp-area-form .button.back + .button.submit {
  margin-top: 10px;
}

@media screen and (max-width: 38.73em) {
  #cross .lp-area-form .input-group {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	position: relative;
  }
  #cross .lp-area-form .input-group label {
	display: block !important;
	align-items: center;
	justify-content: center;
  }
}
/* ラベル */
#cross .lp-area-form input[type=radio],
#cross .lp-area-form input[type=checkbox] {
	display: none;
	margin: 0;
	}
#cross .lp-area-form input[type=radio] + label,
#cross .lp-area-form input[type=checkbox] + label {
	position: relative;
	display: inline-block;
	margin: 6px 0;
	padding: .7em 2.1em .7em 2.6em;
	border-style: solid;
	border-width: 2px;
	border-color: #dbdcdc;
	border-radius: 6px;
	background-color: #fff;
	box-shadow: 0px 2px 3px 0px rgba(7, 3, 4, 0.1);
	cursor: pointer;
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
	}
#cross .lp-area-form .input-group label:nth-of-type(-n+2){
	margin-top: 0;
	}
#cross .lp-area-form .input-group label:nth-of-type(odd){
	margin-right: 5px;
	}
#cross .lp-area-form input[type=radio]:checked + label,
#cross .lp-area-form input[type=checkbox]:checked + label {
	background-color: #fffbdf;
	border-color: #ffe40a;
	}
#cross .lp-area-form input[type=radio] + label::before,
#cross .lp-area-form input[type=checkbox] + label::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	width: 20px;
	height: 20px;
	margin-top: -11px;
}

@media only screen and (max-width: 780px) {
	#cross .lp-area-form input[type=radio] + label,
	#cross .lp-area-form input[type=checkbox] + label {
		width: calc(50% - 3px);
		padding: .7em .7em .7em 2em;
		margin-right: 0;
		box-sizing: border-box;
	}
}

#cross .lp-area-form input[type=radio] + label::before {
	border: 1px solid #dbdcdc;
	border-radius: 50%;
	background: #fff;
}
#cross .lp-area-form input[type=checkbox] + label::before {
	border: 1px solid #dbdcdc;
	background: #fff;
	border-radius:4px;
}
#cross .lp-area-form input[type=radio]:checked + label::before{
	border-color: #ffe40a;
	}
#cross .lp-area-form input[type=radio]:checked + label::after,
#cross .lp-area-form input[type=checkbox]:checked + label::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 15px;
	width: 10px;
	height: 10px;
	margin-top: -6px;
	background:#ffe40a;
	 
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}
#cross .lp-area-form input[type=radio]:checked + label::after {
	border-radius: 8px;
}
#cross .lp-area-form .rd-progress-bar {
  width: 100%;
  background: #fff;
  padding: 0 15px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  box-sizing: border-box;
}
#cross .lp-area-form .rd-progress-bar__inner {
  max-width: 840px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 20px 0;
}
#cross .lp-area-form input.button {
	width: 290px;
}
#cross .lp-area-form .button.submit[disabled], .button.confirm[disabled] {
	background: #E0E0E0;
	cursor: auto;
	box-shadow: none;
}
@media screen and (max-width: 38.73em) {
  #cross .lp-area-form .rd-progress-bar__inner {
	padding: 15px 0;
  }
  #cross .lp-area-form input.button {
	  width: 100%;
  }
}
#cross .lp-area-form .rd-progress-bar__unit {
  width: calc(100% - 80px);
  height: 24px;
  background: #eee;
  box-shadow: inset -2px 5px 8px #c7c7c7;
  border-radius: 50px;
}
#cross .lp-area-form .rd-progress-bar__unit--item {
  width: 0;
  height: 100%;
  border-radius: 50px;
  background: linear-gradient(to top, #019d5c, #06e98a);
  transition: 1s all;
}
#cross .lp-area-form .rd-progress-bar__number {
  width: 60px;
  margin: 0;
  margin-left: 20px;
  text-align: right;
  font-size: 20px;
  font-weight: 700;
}

#cross .lp-area-form .checked-inner {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 38.73em) {
  #cross .lp-area-form .checked-inner:not(.sp-fit) {
	width: 100%;
  }
}

#cross .lp-area-form .check-img {
  display: none;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 1.4rem;
  transform: translatey(-50%);
  z-index: 1;
  padding: 0;
}
#cross .lp-area-form .check-img.show {
  display: block;
}
#cross .lp-area-form .required-focus+.check-img.show{
	display: none;
}
@media screen and (max-width: 38.73em) {
  .lp-area-form .check-img {
	right: 1.6rem;
  }
}

#cross .lp-area-form .required-radio .check-img {
  right: 0.3rem;
}

#cross .lp-area-form .show > .check-img {
  display: block;
}

#cross .lp-area-form .disabled-input {
  background-color: #bbb !important;
}

#cross .lp-area-form .address-trigger {
  text-align: left;
}

#cross .lp-area-form #unknown-postcode-checkbox {
  display: none;
}

#cross .lp-area-form input[type=checkbox] + label.unknown-postcode-checkbox_label {
  max-width: 100%;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.8em 2.1em 0.8em 2.1em;
}

#cross .lp-area-form input[type=checkbox] + label.unknown-postcode-checkbox_label::before {
  content: none;
}

#cross .lp-area-form input[type=checkbox]:checked + label.unknown-postcode-checkbox_label::after {
  content: none;
}

#cross .lp-area-form .address-form {
  margin-top: 40px;
}

@media screen and (max-width: 749px) {
 #cross .lp-area-form input[type=checkbox] + label.unknown-postcode-checkbox_label {
	max-width: 100%;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.8em 1em 0.8em 1em;
  }
}
#cross .smanone {
	display: none;
}

/* PC */
@media screen and (min-width: 38.74em) {
	p.form-discription {
		font-size: 18px;
	}
}

/* SP */
@media screen and (max-width: 38.74em) {
	p.form-discription {
		font-size: 16px;
	}
}
