@charset "utf-8";

html{
	font-size: 100%;
	scroll-behavior: smooth;
	}
@media screen and (max-width: 38.74em) {
html{
	font-size: 75%;
	}
}
body{
	margin: 0;
	padding: 0;
	line-height: 1.6;
	color: #4e4644;
	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: none;
	color: #06f;
	}
a:hover{
	text-decoration: underline;
	}

#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;
	padding: 1rem 0;
	justify-content: center;
	}
.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: calc(25% - 15px);
	}
@media screen and (max-width: 38.74em) {
.block-2 > .col{
	width: 100%;
	}
.block-3 > .col{
	width: 100%;
	}
.block-4 > .col{
	width: calc(50% - 15px);
	margin: 5px;
	}
}

@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: #0b75d6;
	}
.text-red{
	color: #c03;
	}
.text-yellow{
	color: #ffed37;
	}
.text-large{
	font-size: 140%;
	}
.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{
	padding-left: 0;
	}
	ul.text-note > li{
		padding-left: 1em;
		text-indent: -1em;
		}
	ul.text-note > li.num{
		padding-left: 2.5em;
		text-indent: -2.5em;
		}
.text-center{
	text-align: center;
	}
.link_arrow:before{
	margin-right: .2em;
	color: #333;
	font-size: 1em;
	font-family: "Font Awesome 5 Free";
	content: "\f105";
	font-weight: bold;
	}

.list-disc{
	padding-left: 0;
	}
	.list-disc li{
		padding-left: 1em;
		text-indent: -1em;
		}
		.list-disc li::before{
			display: inline-block;
			width: .5em;
			height: .5em;
			margin-right: .5em;
			border-radius: 50%;
			background: #c03;
			content: '';
			}
/*
table{
	width: 100%;
	border-collapse: collapse;
	}
table > caption{
	background: #333;
	text-align: left;
	padding: .2em 1em;
	color: #fff;
	}
table th,
table td{
	padding: .5em 1em;
	border: 1px solid #fff;
	text-align: left;
	}
table th{
	font-weight: normal;
	background: #fef6e8;
	}
table th ul{
	margin: 0;
	}
@media screen and (max-width: 38.74em) {
table th,
table td{
	font-size: 12px;
	}
.table-scroll{
	overflow-x: scroll;
	}
.table-scroll table{
	min-width: 600px;
	}
}
*/

/* ボタン
-------------------------------- */
.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: #ff7444;
	background-image: linear-gradient( rgb(255,116,68) 0%, rgb(245,97,46) 60%, rgb(235,77,23) 100%);
	box-shadow: 0px 4px 10px 0px rgba(7, 4, 4, 0.2);
	}
.button:hover{
	text-decoration: none;
	opacity: .8;
	transition: opacity .2s;
	}
.button.hollow{
	color: #333;
	border: 2px solid #333;
	background: #fff;
	}
.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;
		}
@media screen and (max-width: 38.74em) {
.button{
	padding: 1.2rem 0;
	font-size: 1.5rem;
	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;
		}
}


/* header
-------------------------------- */
#header{
	padding: 0.5rem 0 1rem;
	line-height: 1;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background: #641616;
	}
#header .header-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 1rem;
}
	#header .logo{
		margin: 0;
		}
	#header .logo img{
		width: 200px;
		height: auto;
		vertical-align: bottom;
		}
#header .text {
	margin: 0;
  line-height: 1.5;
	font-size: 10px;
	font-weight: normal;
	text-align: center;
}
@media screen and (min-width: 38.74em) {
  #header .text {
    text-align: left;
  }
}

/* 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;
	font-size: 1.875rem;
	text-align: center;
	color: #fff;
	background: #c03;
	box-shadow: 0px 2px 3px 0px rgba(7, 4, 4, 0.3);
	}
.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: .7em 0;
	font-size: 1.5rem;
	line-height: 1.2;
	}
.ttl-h3{
	padding: 8px 0;
	font-size: 1.3rem;
	}
}
@media screen and (min-width: 38.74em) {
#contents section{
	margin-bottom: 40px;
	}
}
@media screen and (min-width: 38.74em) {
.label{
	font-size: 14px;
	}
}


/* コンテンツエリア
-------------------------------- */
/* KV */
.kv{
	margin: 0 !important;
	padding: 0 0 .5rem;
	background: #fffccd;
	}
	.kv > h1{
		position: relative;
		margin: 0;
		line-height: 1.2;
		text-align: center;
		}
	.kv .fukidashi_l,
	.kv .fukidashi_r{
		position: absolute;
		display: block;
		text-align: center;
		color: #c03;
		}
		.kv .fukidashi_l::before,
		.kv .fukidashi_r::before{
			position: absolute;
			top: 0;
			left: 0;
			display: block;
			z-index: 0;
			content:'';
			}
		.kv .fukidashi_r::before{
			transform: scale(-1, 1);
			}
		.kv .fukidashi_l > span,
		.kv .fukidashi_r > span{
			display: block;
			position: relative;
			z-index: 1;
			}
		.kv .fukidashi_l > span{
			transform: rotate(-5deg);
			}
		.kv .fukidashi_r > span{
			transform: rotate(5deg);
			}
	.kv .txt_1,
	.kv .txt_2,
	.kv .txt_3{
		display: block;
		}
.kv .plan{
	display: flex;
	position: relative;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: -35px;
	margin-bottom: 0;
	padding: 0 0 .5rem;
	border-radius: 4px;
	box-shadow: 0 2px 5px 0 rgba(7, 4, 4, 0.2);
	text-align: center;
	background: #fff;
	}
	.kv .plan dt{
		position: relative;
		width: 100%;
		top: -1rem;
		margin: 0 1rem -.5rem;
		padding: .1rem .4rem;
		border-radius: 20px;
		background: #c03;
		color: #fff;
		box-shadow: 0 2px 5px 0 rgb(7 4 4 / 20%);
		}
		.kv .plan dt > span{
			font-weight: bold;
			}
	.kv .plan dd{
		margin: .1rem .2rem;
		}
		.kv .plan dd b {
			font-size: 20px;
			font-weight: bold;
		}
@media screen and (min-width: 38.74em) {
	.kv > h1{
		/*
		padding: 88px 0 0 0;
		min-height: 400px;
		*/
		padding: 108px 0 0 0;
		min-height: 380px;
		background: url(../img/img_mv.png) #9a0827 no-repeat 50% 50%;
		background-color: #8d0720;
		}
	.new .kv > h1{
		/*
		padding: 88px 0 0 0;
		min-height: 400px;
		*/
		padding: 0;
		min-height: auto;
		background: none;
		background-color: none;
		}
	.kv .fukidashi_l,
	.kv .fukidashi_r{
		top: 13px;
		line-height: 80px;
		font-size: 2rem;
		}
		.kv .fukidashi_l,
		.kv .fukidashi_r,
		.kv .fukidashi_l::before,
		.kv .fukidashi_r::before{
			width: 216px;
			height: 106px;
			}
		.kv .fukidashi_l::before,
		.kv .fukidashi_r::before{
			background: url(../img/bg_fukidashi.svg) no-repeat;
			background-size: 216px 106px;
			}
	.kv .fukidashi_l{
		left: 50%;
		margin-left: -300px;
		}
	.kv .fukidashi_r{
		right: 50%;
		margin-right: -300px;
		}
	.kv .txt_1{
		font-size: 2.4rem;
		}
	.kv .txt_2{
		font-size: 3.8rem;
		}
	.kv .txt_3{
		margin-top: .8rem;
		font-size: 2rem;
		}
.kv .plan{
	max-width: 740px;
	margin-left: auto;
	margin-right: auto;
	font-size: 1rem;
	}
	.kv .plan dd{
		margin: .2rem 1rem;
		width: 20%;
		}
		.kv .plan dd > img{
			max-height: 30px;
			}
	}
@media screen and (max-width: 38.74em) {
	.kv > h1{
		/*
		padding: 48px 0 0 0;
		min-height: 196px;
		*/
		padding: 58px 0 0 0;
		min-height: 186px;
		background: url(../img/img_mv.png) #b7092a no-repeat 50% 50%;
		background-size: auto 244px;
		}
	.kv .fukidashi_l,
	.kv .fukidashi_r{
		top: 13px;
		line-height: 40px;
		font-size: 1.3rem;
		}
		.kv .fukidashi_l,
		.kv .fukidashi_r,
		.kv .fukidashi_l::before,
		.kv .fukidashi_r::before{
			width: 108px;
			height: 53px;
			}
		.kv .fukidashi_l::before,
		.kv .fukidashi_r::before{
			background: url(../img/bg_fukidashi.svg) no-repeat;
			background-size: 108px 53px;
			}
	.kv .fukidashi_l{
		left: 10px;
		}
	.kv .fukidashi_r{
		right: 10px;
		}
	.kv .txt_1{
		font-size: 1.4rem;
		}
	.kv .txt_2{
		font-size: 2.4rem;
		}
	.kv .txt_3{
		margin-top: .8rem;
		font-size: 1rem;
		}
.kv .plan{
	font-size: .85rem;
	}
		.kv .plan dd > img{
			max-height: 15px;
			}
	.kv .plan dd b {
		font-size: 11px;
	}
}

/* conversion */
.conversion{
	width: 100%;
	max-width: 980px;
	padding: 1rem 0;
	margin: 0 auto;
	text-align: center;
	color: #fff;
	}
	.conversion .button span.reception-hour {
		display: block;
		font-size: 1.1rem;
		width: 100%;
		}
	.conversion .button {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		min-height: 72px;
		box-sizing: border-box;
	}
@media screen and (min-width: 38.74em) {
	.conversion {
		display: flex;
		justify-content: center;
		}
	.conversion .button{
		width: calc(50% - 42px);
		margin: 10px 5px;
		min-height: 105px;
		}
	.conversion .wrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.kv p{
		margin-bottom: 1rem;
		text-align: center;
		}
}
@media screen and (max-width: 38.74em) {
.conversion{
	margin: 0;
	}
	.conversion .button {
		min-height: 72px;
		}
	.conversion .button.mail{
		margin-bottom: 1rem;
		}
}

#feature{
	}
#feature .col{
	display: flex;
	flex-direction: row-reverse;
	margin: 1rem 0 0;
	}
	#feature h3,
	#feature .pic{
		margin: 0;
		}
	#feature h3{
		margin-right: 20px;
		font-weight: normal;
		line-height: 1.2;
		font-size: 1rem;
		}
		#feature h3 > span{
			display: inline-block;
			margin-bottom: .5rem;
			padding: .4em 1em;
			border-radius: 20px;
			background: #ffed37;
			font-size: 1.3rem;
			color: #c03;
			font-weight: bold;
			}
	#feature .pic{
		margin: 0 20px;
		}
		#feature .pic > img{
			max-width: 83px;
			}
@media screen and (max-width: 38.74em) {
#feature .col:nth-child(1) .pic{
	margin-top: 30px;
	}
#feature .col:nth-child(2) .pic{
	margin-top: 20px;
	}
}

#ranking{
	background: #fffccd;
	}
	#ranking ol{
		max-width: 600px;
		margin: 1rem auto 0;
		padding-left: 0;
		list-style: none;
		counter-reset: num;
		background: #fff;
		box-shadow: 0 4px 6px 0 rgba(14, 27, 44, 0.2);
		border-radius: .8rem;
		}
		#ranking ol > li{
			counter-increment: num;
			}
		#ranking ol > li:not(:first-child){
			border-top: 1px solid #b1c7dc;
			}
			#ranking ol > li > span::before,
			#ranking ol > li > span::after{
				position: absolute;
				top: 50%;
				left: .8rem;
				}
			#ranking ol > li > span::before{
				display: block;
				margin-top: -1em;
				font-family: "Font Awesome 5 Free";
				content: "\f521";
				font-weight: bold;
				font-size: 110%;
				color: #feed47;
				}
			#ranking ol > li > span::after{
				width: 1.4em;
				text-align: center;
				margin-top: -1.2em;
				font-weight: bold;
				content: counter(num);
				}
	#ranking ol > li > span{
		position: relative;
		width: 100%;
		display: table;
		padding: .2rem 0 .2rem 40px;
		box-sizing: border-box;
		justify-content: space-between;
		line-height: 2.2;
		}
	#ranking ol > li > span > span{
		display: table-cell;
		vertical-align: middle;
		}
	#ranking ol > li > span > span:first-child{
		width: 70px;
		text-align: center;
		}
	#ranking img{
		width: 100%;
		vertical-align: middle;
		}
	#ranking .ttl{
		width: 120px;
		text-align: center;
		}
	#ranking .txt{
		padding-right: .5rem;
		text-align: right;
		}
		#ranking .txt > span{
			font-size: 180%;
			font-weight: bold;
			line-height: 1;
			}
@media screen and (min-width: 38.74em) {
#ranking ol > li > span::before,
#ranking ol > li > span::after{
	left: 1.8rem;
	}
#ranking .ttl{
	padding-left: 2rem;
	text-align: left;
	}
#ranking .txt{
	width: 15rem;
	padding-right: 1rem;
	}
}

#group{
	background: #f1f1f1;
	}
	#group section{
		margin: 1.5rem 0;
		background: #fff;
		box-shadow: 0 4px 6px 0 rgba(14, 27, 44, 0.2);
		border-radius: .8rem;
		}
	#group h3{
		margin: 0;
		padding-top: 1rem;
		font-size: 1.5rem;
		color: #c03;
		text-align: center;
		}
		#group h3::after{
			display: block;
			width: 70px;
			height: 2px;
			margin: .2rem auto;
			background: #c03;
			content: '';
			}
	#group ul{
		margin: 1rem 0 0;
		padding: 0;
		text-align: center;
		}
	#group li{
		display: inline-block;
		margin: .5rem;
		}
		#group li > img{
			max-height: 25px;
			}
	#group p{
		margin: 0;
		padding: 1rem;
		background: #c03;
		color: #fff;
		border-radius: 0 0 .8rem .8rem;
		}
@media screen and (min-width: 38.74em) {
#group .block-2{
	justify-content: space-between;
	}
	#group .col{
		width: 49%;
		}
	#group ul{
		min-height: 100px;
		padding: 0 50px;
		}
}

#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: #C03;
		background: #ffed37;
		}
		#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: #ffed37 transparent transparent transparent;
			content: '';
			}
	#flow .text{
		font-weight: bold;
		}
@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;
	background: #f1f1f1;
	}
}
@media screen and (min-width: 38.74em) {
#faq{
	margin: 0 0 30px 0 !important;
	}
#faq .wrap{
	padding: 40px 0 20px;
	background: #f1f1f1;
	}
.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;
	}
.acMenu dt:before,
.acMenu dd:before {
	display: block;
	position:absolute;
	top: .3rem;
	text-indent:0;
	text-align: center;
	color: #fff;
	}
.acMenu dt:before {
	background: #333;
	content:'Q';
}
.acMenu dd:before {
	background: #bebebe;
	content:'A';
}
.acMenu dt:after{
	position:absolute;
	color: #333;
	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%;
	}
}

/* form
-------------------------------- */
.area-form{
	margin: 0;
	padding-bottom: 1px;
	background: #e7f0ff;
	}
	.area-form h2{
		position: relative;
		margin: 0 0 12px;
		padding: 1rem 0;
		font-size: 18px;
		color: #fff;
		text-align: center;
		background: #2456ab;
		}
		.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: #2456ab transparent transparent transparent;
			content: '';
			}
#sfm-form .button{
	width: 100%;
	max-width: 350px;
	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 50%;
	background-size: 33px 32px;
	}
#sfm-form .button[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"],
input[type="date"],
select {
	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;
}
input[type="date"] {
	width: 100%;
	padding: .5em;
	box-sizing: border-box;
}
select {
	height: 36px;
	line-height: 36px;
	width: 100%;
}
.preferred-time-check label {
	padding-left: 4px;
	padding-right: 20px;
}

.ERR {
	color:#f00;
	margin: .5rem 0 0;
	}
.required-focus{
	background: #fce2e2 !important;
	border-color: #E75B5B !important;
	}
.any,
.required{
	padding: .1em .5em;
	font-size: 10px;
	color: #fff;
	vertical-align: middle;
	font-weight: normal;
	}
.any{
	background: #666666;
	}
.required{
	background: #ff7444;
	}
.area-form table{
	width: 100%;
	border-collapse: collapse;
	}
.area-form th,
.area-form td{
	display: block;
	}
.area-form th{
	padding: 5px 10px;
	background: #e9e9e9;
	text-align: left;
	font-size: 14px;
	}
.area-form td {
	padding: 10px;
	background: #fff;
	}
.area-form .input-group{
	display: inline-block;
	width: 49%;
	max-width: 200px;
	}
/* ラベル */
input[type=radio],
input[type=checkbox] {
	display: none;
	margin: 0;
	}
input[type=radio] + label,
input[type=checkbox] + label {
	position: relative;
	padding-left: 30px;
	font-size: 14px;
	}
input[type=radio] + label::before,
input[type=checkbox] + label::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;

	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	width: 20px;
	height: 20px;
	margin-top: -11px;
}
input[type=radio] + label::before {
	border: 1px solid #afafaf;
	border-radius: 50%;
	background: #fff;
}
input[type=checkbox] + label::before {
	border: 1px solid #afafaf;
	background: #fff;
	border-radius:4px;
}
input[type=radio]:checked + label::before{
	border-color: #f9d12c;
	}
input[type=radio]:checked + label::after,
input[type=checkbox]:checked + label::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 5px;
	width: 10px;
	height: 10px;
	margin-top: -6px;
	background:#f9d12c;

	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}
input[type=radio]:checked + label::after {
	border-radius: 8px;
}
/* 現在地表示 その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: #fff;
			}
		.flow-list-2 ol li:not(:first-child){
			padding-left: 5px;
			}
		.flow-list-2 li.active{
			background:#2456ab;
			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 #fff;
				content:'';
				}
			.flow-list-2 li.active::after{
				border-color: transparent transparent transparent #2456ab;
				}
@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 #ebebeb;
		}
	.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;
	}
	input[type="date"] {
		max-width: 240px;
	}
	#sfm-form .button.success {
	max-width: 320px;
	margin: 1rem auto 3rem;
	padding-left: 40px;
	background-position: 60px 18px;
	}
}

.set-text {
	font-size: 18px;
	font-weight: bold;
	transform: translateY(-4px);
	display: block;
}


.mv{
	background: url(../img/bg_mv.png) no-repeat center top;
	background-size: cover;
	padding: 45px 0 30px;
}

.mv-logo{
	text-align: center;
	width: 399px;
	margin: 0 auto 25px;
}

.mv-box{
	margin: 0 auto;
	max-width: 800px;
	background: #cc0f32;
	padding: 15px 50px 20px;
	box-sizing: border-box;
}

.mv-box .mv-box-ttle{
	color: #f9cd06;
	font-size: 34px;
	font-weight: 600;
	text-align: center;
	padding: 0;
	margin: 0 0 10px;
}

.mv-box .mv-box-inner{
	display: flex;
	align-items: stretch;
	justify-content: center;
}

.mv-box .mv-box-inner .mv-box-item{
	width: 49%;
	background: #fff;
	padding: 12px 0 12px;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.mv-box .mv-box-inner .mv-box-item .mv-box-vertical span{
	display: block;
	color: #eb5505;
	font-weight: 600;
	line-height: 1;
	font-size: 22px;
	margin-right: 6px;
}


.mv-box .mv-box-inner .mv-box-item .mv-box-flex{
	display: flex;
	align-items: center;
	justify-content: center;
}

.mv-box .mv-box-inner .mv-box-item .mv-box-flex .mv-box-price span{
	color: #2357aa;
	display: inline-block;
	font-weight: 600;
	vertical-align: middle;
	line-height: 1;
}

.mv-box .mv-box-inner .mv-box-item .mv-box-flex .mv-box-price.is-bottom span{
	vertical-align: bottom;
}

.mv-box .mv-box-inner .mv-box-item .mv-box-flex .mv-box-price .number{
	font-size: 48px;
	margin-right: 6px;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
}

.mv-box .mv-box-inner .mv-box-item .mv-box-flex .mv-box-price .content{
	font-size: 22px;
	line-height: 1;
	margin-top: 8px;
}

.mv-box .mv-box-inner .mv-box-item .mv-box-note{
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	padding: 0;
	margin: 11px 0 0;
}

.mv-box .mv-box-inner .mv-box-item .mv-box-note-2{
	text-align: center;
	font-size: 38px;
	font-weight: 600;
	padding: 0;
	margin: 0 0;
	color: #2357aa;
}


.mv-box .mv-box-inner .mv-box-item:nth-child(even){
	margin-left: auto;
	position: relative;
}

.mv-box .mv-box-inner .mv-box-item:nth-child(even):before{
	display: block;
	position: absolute;
	top: 50%;
	left: -30px;;
	background: url(../img/ico_mv.png) no-repeat 0 0;
	width: 38px;
	height: 38px;
	z-index: 2;
	margin-top: -19px;
	content: "";
}

@media screen and (max-width: 38.74em) {

	.mv{
		padding: 26px 21px 22px;
	}

	.mv-logo{
		text-align: center;
		width: 200px;
		margin: 0 auto 16px;
	}
	.mv-box{
		padding: 15px 10px 20px;
	}
	.mv-box .mv-box-ttle{
		font-size: 17px;
	}

	.mv-box .mv-box-inner{
		display: block;
	}

	.mv-box .mv-box-inner .mv-box-item{
		width: 100%;
	}
	.mv-box .mv-box-inner .mv-box-item:nth-child(even){
		margin-left: 0;
		margin-top: 10px;
	}
	.mv-box .mv-box-inner .mv-box-item .mv-box-vertical span{
		font-size: 16px;
	}

	.mv-box .mv-box-inner .mv-box-item .mv-box-flex .mv-box-price span {
		vertical-align: bottom;
		display: block;
		text-align: center;
	}
	.mv-box .mv-box-inner .mv-box-item .mv-box-flex .mv-box-price .number{
		font-size: 45px;
	}

	.mv-box .mv-box-inner .mv-box-item .mv-box-flex .mv-box-price .content{
		font-size: 20px;
		line-height: 1;
		margin-top: 10px;
	}
	.mv-box .mv-box-inner .mv-box-item .mv-box-note{
		font-size: 16px;
		margin: 0 0 5px;
	}

	.mv-box .mv-box-inner .mv-box-item .mv-box-note-2{
		font-size: 30px;
		margin: 0 0;
	}

	.mv-box .mv-box-inner .mv-box-item:nth-child(even):before{
		display: block;
		background-size: 23px 23px;
		position: absolute;
		top: -15px;
		left: 50%;
		width: 23px;
		height: 23px;
		z-index: 2;
		margin-top: 0;
		margin-left: -10px;
		content: "";
	}


}

.conversion-wrap{
	background: #fffccd;
}
