@charset "utf-8";

html{
	font-size: 3.0666666667vw;;
	}
@media (min-width: 769px) {
	html {
		font-size: 16px;
	}
}
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;
	font-size: 1.6rem;
	box-sizing: border-box;
	}
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: 1280px;
	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: 760px;
	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% - 9px);
	}
@media screen and (max-width: 38.74em) {
.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: #004ea2;
	}
.text-red{
	color: #d93489;
	}
.text-yellow{
	color: #ffe100;
	}
.text-large{
	font-size: 150%;
	}
.text-note{
	margin: 2rem 0 3rem;
	line-height: 1.2;
	font-size: 1rem;
	color: #555555;
	}
	.text-note p{
		margin: .4rem 0;
		}
	.text-note p:first-child{
		font-size: 21px;
		font-weight: bold;
		}
ul.text-note{
	padding-left: 0;
	}
.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{
	padding-left: 0;
	}
	.list-disc li{
		padding-left: 1em;
		text-indent: -1em;
		}
		.list-disc li::before{
			display: inline-block;
			width: .6em;
			height: .6em;
			margin-right: .6em;
			border-radius: 50%;
			background: #ccc;
			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;
	}
}
@media screen and (min-width: 38.74em) {
.text-note{
	font-size: .815rem;
	width: 760px;
	margin: 0 auto;
	}
}

/* ボタン
-------------------------------- */
.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: #333;	
	border: 2px solid #333;
	background-color: #fff;
	box-shadow: 0px 4px 10px 0px rgba(7, 4, 4, 0.2);
	}
.button:hover{
	text-decoration: none;
	transition: background-color .2s;
	background-color: #efefef;
	}
.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;
		pointer-events: none;
		}
	.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.web {
	width: 88vw;
    margin: 1rem auto;
    padding: 2rem;
	padding-left: 3rem;
    border-radius: 6px;
    box-shadow: 0.2rem 0.2rem 0 0 #333;
    border: solid 3px #333;
    background-image: linear-gradient(to top, #f38958, #d93489);
    box-sizing: border-box;
    color: #fff;
    font-size: 1.2rem;
}
.button.web::before{
	content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1.2rem;
    margin: auto;
    width: 3rem;
    height: 3rem;
    background-image: url(../img/icon_web.png);
    background-size: cover;
	pointer-events: none;
}
.button.tel {
	width: 88vw;
    margin: 2rem auto;
    padding: .8rem;
	padding-left: 3rem;
    border-radius: 6px;
    box-shadow: 0.2rem 0.2rem 0 0 #333;
    border: solid 3px #333;
	background-image: linear-gradient(to top, #248cb7, #51c6d0);
    box-sizing: border-box;
    color: #fff;
    font-size: 1.2rem;
	line-height: 2rem;
}
.button.tel::before{
	content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1.2rem;
    margin: auto;
    width: 3rem;
    height: 3rem;
    background-image: url(../img/icon_tel.png);
    background-size: cover;
	pointer-events: none;
}
.button.reservation {
	width: 88vw;
    margin: 2rem auto;
    padding: 2rem;
	padding-left: 3rem;
    border-radius: 6px;
    box-shadow: 0.2rem 0.2rem 0 0 #333;
    border: solid 3px #333;
	background-image: linear-gradient(to top, #248cb7, #51c6d0);
    box-sizing: border-box;
    color: #fff;
    font-size: 1.4rem;
}
.button.reservation::before{
	content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1.2rem;
    margin: auto;
    width: 3rem;
    height: 3rem;
    background-image: url(../img/icon_tel.png);
    background-size: cover;
	pointer-events: none;
}
.button.area{
	width: 88vw;
	margin: 0 auto 2rem;
	padding: 2rem;
	padding-left: 3rem;
	border-radius: 63px;
	box-shadow: 0.2rem 0.2rem 0 0 #333;
	background-image: linear-gradient(to top, #222, #505050);
	color: #fff;
	box-sizing: border-box;
	font-size: 1.2rem;
}
.button.area::before{
	content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 2.2rem;
    margin: auto;
    width: 3rem;
    height: 3rem;
    background-image: url(../img/icon_area.png);
    background-size: cover;
}
/* ボタンの色設定 */
.button.alert{
	border: 2px solid transparent;
	background-color: rgb(255 234 3);
	}
.button.alert:hover{
	background-color: rgba(255, 234, 3, .6);
	}
.button.success{
	border: 2px solid transparent;
	background-color: rgb(13 190 184);
	color: #fff;
	}
.button.success:hover{
	background-color: rgba(13, 190, 184, .6);
	}

@media screen and (max-width: 38.74em) {
.button{
	padding: 1rem 0;
	font-size: 1.2rem;
	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: 1.5rem;
		margin-top: -.8rem;
		font-size: 1.5rem;
		}
		.button.area:not(.small)::after{
			color: #6fcb60;
			}
.button.hollow{
	border-width: 1px;
	}
	.button.web {
		font-size: 1.4rem; 
	}
	.button.tel {
		font-size: 1.2rem;
	}
	.button.tel strong {
		font-size: 2rem;
		font-family: "Noto Sans JP", sans-serif;
		pointer-events: none;
	}
	.button.area {
		font-size: 1.4rem;
	}
}

@media screen and (min-width: 38.74em) {
	.button.web,
	.button.reservation,
	.button.area{
		font-size: 1.05rem;
		width: 330px;
	}
	.button:not(.small)::after{
		top: 59%;
		font-size: 1.2rem;
	}
	.button.area::after{
		color: #6FCB60;
	}
}


/* header
-------------------------------- */
#header{
	/*
	position: -webkit-sticky;
	position: sticky;
	*/
	top:0;
	left:0;
	width: 100%;
	max-height: 45px;
	padding: 0 0 10px;
	line-height: 1;
	font-size: .75rem;
	}
.code{
	margin: 0;
	padding: 0 0 .2rem;
	background: #fff;
	font-size: .625rem;
	line-height: 1.2;
	}
.code .wrap{
	padding: 0 2rem;
}
.code p{
	margin-bottom: 0;
	}
#header .logo{
	margin: 0;
	font-weight: bold;
	}
	#header .logo > span{
		font-size: 150%;
		}
#header .wrap{
	padding: 0 2rem;
}

/* footer
-------------------------------- */
#footer{
	/* padding-top: 1rem; */
	text-align:center;
	padding-bottom: 6rem;
	}
#footer .button{
	margin:0 0 1rem;
	padding: 1rem 0;
	}
	#footer .privacy{
		padding: 1rem 0;
		background: #f5f5f5;
		}
	#footer .privacy > a{
		display: inline-block;
		color: #4D4D4D;
		line-height: 1;
		padding: 0 1rem;
		text-decoration: none;
		font-size: 1.05rem;
		}
.copyright{
	margin: 0;
	color: #fff;
	background: #333;
	font-size: 1.05rem;
	}
@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;
	}
	#footer .privacy{
		padding: 0 0 .3rem;
	}
#footer .privacy > a{
	font-size: .75rem;
	}
}

/* 見出し */
.ttl-h2{
	width: 100%;
	margin: 0 auto 20px;
	padding: .2em 0;
	font-size: 1.875rem;
	text-align: center;
	color: #fff;
	background: #333;
	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: .6em 0;
	font-size: 1.6rem;
	line-height: 1.2;
	}
.ttl-h3{
	padding: 8px 0;
	font-size: 1.3rem;
	}
}
@media screen and (min-width: 38.74em) {
#contents section{
	padding-bottom: 40px;
	}
.ttl-h2{
		font-size: 1.5rem;
	}
#contents section.kv{
	padding-bottom: 0;
}
#contents section.conversion{
		padding-bottom: 20px;
	}
}
@media screen and (min-width: 38.74em) {
.label{
	font-size: 14px;
	}
}


/* コンテンツエリア
-------------------------------- */
/* KV */
.kv{
	margin: 0 !important;
	padding: 0;
	position: relative;
	}
	.kv > h1{
		margin: 0;
		padding: 0;
		font-size: 1rem;
		line-height: 0;
		text-align: center;
		background: linear-gradient(90deg, rgba(217,52,137,1) 0%, rgba(242,136,86,1) 100%);		}
	.kv p{
		margin: .5rem 1rem;
		}
.campaign-wrap{
	position: relative;
	text-align: center;
	}
	.campaign-wrap > .ico{
		position: absolute;
		top: -100px;
		left: 50%;
		margin-left: -94px;
		}
	.campaign-wrap > .txt{
		margin: 0;
		padding: 1rem .4rem .4rem;
		background: #ffecc2;
		}
.kv .pagelink{
	display: block;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: 3rem;
    color: #d93489;
    text-decoration: underline;
    width: fit-content;
    font-size: .85rem;
    line-height: 2.4rem;
    padding-bottom: 1rem;
    text-underline-offset: 0.4rem;
	font-weight: bold;
}
.kv .pagelink::after{
	content: "";
    position: absolute;
    top: 0;
    bottom: 1rem;
    right: 0;
    margin: auto;
    border-top: 2px solid #d93489;
    border-right: 2px solid #d93489;
    rotate: 45deg;
    width: 0.5rem;
    height: 0.5rem;
    line-height: 0;
}
@media screen and (max-width: 38.74em) {
	.kv p{
		font-size: .8rem;
		}
	.campaign-wrap > .ico{
		top: -50px;
		margin-left: -47px;
		}
		.campaign-wrap > .ico > img{
			max-width: 98px;
			}
		.campaign-wrap > .txt > img{
			max-width: 280px;
			}
	.kv .pagelink{
		display: block;
		position: absolute;
		margin: 0 auto;
		left: 0;
		right: 0;
		bottom: 4rem;
		color: #d93489;
		text-decoration: underline;
		width: fit-content;
		font-size: 1.2rem;
		line-height: 2.4rem;
		padding-bottom: 1rem;
		text-underline-offset: 0.4rem;
		font-weight: bold;
	}
}

/* conversion */
.conversion{
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	background: #fff;
	color: #555555;
	}
	.conversion .button{
		margin-top: .5em;
		}
	.conversion .sub{
		margin: 1.4rem auto 0;
		font-size: 1.3rem;
		color: #d93489;
		font-weight: bold;
		text-align: center;
	}
	.conversion .note{
		font-size: .8rem;
		color: #555555;
	}
	.conversion .flex-wrap{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		width: 42rem;
		margin: 2.3rem auto 0;
	}
	.conversion .pink{
		display: flex;
		flex-direction: column;
		color: #d93489;
		margin-left: 2.4rem;
	}
	.conversion .blue{
		display: flex;
		flex-direction: column;
		color: #309CBE;
		margin-right: 1rem;
	}
	.conversion .flex-wrap p{
		flex-grow: 1;
		margin: 0 auto;
	}
	.conversion .flex-wrap .ttl{
		font-size: 1.125rem;
		font-weight: bold;
	}
	.conversion .flex-wrap .sub{
		font-size: 1rem;
		font-weight: bold;
		position: relative;
		bottom: -1rem;
	}
	.conversion .flex-wrap .telnum{
		font-size: 1.5rem;
		font-weight: bold;
		font-family: "Noto Sans JP", sans-serif;
		line-height: 1.8rem;
	}
	.conversion .flex-wrap img{
		display: inline-block;
		position: relative;
		width: 1.75rem;
		margin-right: 0.5rem;
		vertical-align: middle;
		bottom: 0.1rem;
	}
	.conversion .flex-wrap .time{
		font-size: .75rem;
		color: #333;
	}

@media screen and (min-width: 38.74em) {
	.conversion > .wrap{
		width: auto;
		margin: 0 auto 20px;
		text-align: center;
		width: 45rem;
		}
	.conversion .button{
		display: inline-block;
		margin: 10px 5px;
		padding: 1.5rem;
		padding-left: 2.3rem;
		font-size: 1.05rem;
		}
		.button.web::before,
		.button.reservation::before,
		.button.area::before{
			width: 2rem;
			height: 2rem;
		}
	.kv p{
		margin-bottom: 1rem;
		text-align: center;
		}
	.conversion .sub{
		font-size: 1.25rem;
	}
	.conversion .note{
		text-align: left;

	}
}
@media screen and (max-width: 38.74em) {
.conversion{
	margin: 0;
	}
	.conversion > .wrap{
		margin: 0;
		padding-top: .5rem;
		padding-bottom: 1rem;
		}
}

#reason{
	background: #f4f4f4;
	}
#reason .col{
	background: #fff;
	box-shadow: 0px 2px 5px 0px rgba(7, 4, 4, 0.2);
	}
#reason .text-note{
	margin: 0 auto;
	padding-bottom: 2em;
	}
@media screen and (min-width: 38.74em) {
#reason .col:not(:first-child){
	margin-left: 10px;
	}
}
@media screen and (max-width: 38.74em) {
	#reason .col:nth-child(-n+2){
		border-bottom:1px solid #cfe3e8;
		}
	#reason .col:nth-child(even){
		border-left:1px solid #cfe3e8;
		}
}
	#reason h3,
	#reason .pic{
		margin: 1rem auto 0;
		text-align: center;
		}
	#reason h3{
		display: table-cell;
		width: 100vw;
		height: 5.2rem;
		line-height: 1.7rem;
		vertical-align: middle;
		padding-bottom: .5rem;
		font-size: 1.25rem;
		}
@media screen and (min-width: 38.74em) {
#reason .col{
	padding: 1rem 0;
	}
	#reason h3{
		font-size: .9rem;
		line-height: 1.2rem;
		}
	#reason .pic > img{
		max-height:67px;
		}
	#reason .txt{
		margin:1.2em;
		font-size: .76rem;
		}
}
@media screen and (max-width: 38.74em) {
	#reason .pic > img{
		max-height:67px;
		}
	#reason .txt{
		margin:0 1em 1rem;
		font-size: 1.05rem;
		}
}

#campaign{
	position: relative;
	margin-top: 50px;
	counter-reset: num;
	}
#campaign h2,
#campaign h3,
#campaign p{
	margin: 0;
	line-height: 1.2;
	}
#campaign > h3{
	color: #fff;
	}
#campaign .bg-white{
	margin: 10px 0;
	background: #fff;
	border-radius: 4px;
	text-align: left;
	}
#campaign .bg-white dl{
	margin: 0 10px;
	}
#campaign .bg-white dt,
#note dt{
	text-align: center;
	font-weight: bold;
	background: #ececec;
	}
#campaign .bg-white dd,
#note dd{
	margin: 0 0 .5em 0;
	padding: 0;
	font-size: .9rem;
	border-top: 1px solid #ececec;
	}
#note .button{
	max-width: 250px;
	margin: 1em auto;
	padding: .8rem 0;
	font-size: 1rem;
	}
#note .button::after{
	display: none;
	}
#note{
	margin-top: 1rem;
	padding: 1rem 0;
	background: #fff;
	text-align: left;
	}

@media screen and (min-width: 38.74em) {
#campaign{
	padding-bottom: .5rem;
	background: url(/template/img/bg_pink.png) #f72c7d repeat-y 50% 0;
	background-size: 980px auto;
	}
	#campaign > h2{
		position: relative;
		height: 65px;
		top: -30px;
		padding-top: 5px;
		font-size: 2.25rem;
		color: #f72c7d;
		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 .wrap{
		max-width: 900px;
		margin-bottom: 30px;
		}
}
@media screen and (max-width: 38.74em) {
#campaign{
	background: url(/template/img/bg_pink.png) #f72c7d no-repeat 50% 0;
	background-size: 100% auto;
	}
#campaign .wrap{
	}
	#campaign > h2{
		position: relative;
		top: -18px;
		height: 35px;
		margin-top: -20px;
		margin-bottom: -15px;
		padding-top: 0;
		font-size: 1.5rem;
		color: #f72c7d;
		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;
			}
}

#price{
	max-width: 900px;
	margin: 0 auto;
	padding-bottom: 1rem;
	background: #feffe3;
	}
	#price .col{
		position: relative;
		text-align: center;
		background: #fff;
		}
	#price h4{
		margin: 0;
		background: #f72c7d;
		border-radius: 2px 2px 0 0;
		color: #fff;
		}
		#price h4 > i{
			display: inline-block;
			position: absolute;
			left: 50%;
			border-radius: 50%;
			background: #fff;
			color: #333;
			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;
		font-style: normal;
		}
	#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 #f72c7d;
		}
	#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 #f72c7d;
			}
	#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 #f72c7d;
		border-radius: 4px;
		}
	#price h4{
		padding: 30px 0 10px;		
		}
		#price h4 > i{
			width: 44px;
			height: 44px;
			top: -22px;
			margin-left: -22px;
			line-height: 44px;
			border:2px solid #f72c7d;
			}
	#price .col p{
		padding: .5rem 0;
		font-size: 120%;
		}
}
#flow{
	padding-bottom: 1rem;
	}
	#flow dl{
		position: relative;
		}
		#flow dl:not(:nth-child(3)){
			margin: 2rem auto 3rem;
			}
	#flow dt,
	#flow dd{
		margin: 0;
		padding: 0;
		font-size: 1.3rem;
		}
	#flow .label{
		display: block;
		position: absolute;
		top: 5px;
		left: 0;
		line-height: 1;
		text-align: center;
		font-weight: bold;
		color: #fff;
		background: #f72c7d;
		font-size: 1rem;
		}
		#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: #f72c7d transparent transparent transparent;
			content: '';
			}
	#flow .label._1{
		background-color: #ef8f49;
		}
		#flow .label._1::after{
			border-color: #ef8f49 transparent transparent transparent;
		}
	#flow .label._2{
		background-color: #e5626d;
		}
		#flow .label._2::after{
			border-color: #e5626d transparent transparent transparent;
		}
	#flow .label._3{
		background-color: #d93489;
		}
		#flow .label._3::after{
			border-color: #d93489 transparent transparent transparent;
		}
	#flow .text{
		font-weight: bold;
		}
	#flow .text-note{
		margin-bottom: 3rem;
	}
@media screen and (min-width: 38.74em) {
	#flow .label{
		width: 70px;
        height: 30px;
        padding-top: 6px;
        font-size: 0.72rem;
		}
		#flow .label::after{
			bottom: -16px;
			border-width: 16px 35px 0 35px;
			}
	#flow dl{
		margin: 0 auto 2rem;
		padding-left: 90px;
		width: 760px;
		box-sizing: border-box;
		}
	#flow dd{
		font-size: .95rem;
	}
	#flow .text{
		font-size: 1.09rem;
		}
		#flow .text-note{
			margin-bottom: 1rem;
		}
}
@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: 1.5rem;
		}
}

#faq{
	padding: 0 0 .5rem;
	background: #f4f4f4;
	}
@media screen and (max-width: 38.74em) {
#faq{
	margin: 0;
	}
}
@media screen and (min-width: 38.74em) {
#faq{
	margin: 0 0 30px 0 !important;
	}
#faq .wrap{
	padding: 40px 0 20px;
	}
	.faq{
		width: 760px;
		margin: 0 auto;
	}
.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;
	font-size: 1.05rem;
	}
.acMenu dt:before,
.acMenu dd:before {
	display: block;
	position:absolute;
	top: .3rem;
	text-indent:0;
	text-align: center;
	color: #fff;
	}
.acMenu dt:before {
	background: #d93489;
	content:'Q';
}
.acMenu dd:before {
	background: #333;
	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;
	min-height: 2.5rem;
	}
.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{
	width: 100%;
	margin: 0 auto 1.2rem;
	padding: 1rem 50px;
	box-sizing: border-box;
	}
.acMenu dt{
	padding-top: 5px;
	font-size:1rem;
	padding-left: .7rem;
	}
.acMenu dd{
	margin-top: 1rem;
    padding-top: 0.5rem;
    font-size: 0.95rem;
    padding-left: .7rem;
}
.acMenu dt:before,
.acMenu dd:before {
	width: 30px;
	height: 30px;
	left: -30px;
	line-height: 30px;
	font-size: 18px;
	}
.acMenu dt:after{
	top: 0;
	right: -30px;
	font-size: 160%;
	}
}

.trigger{
	position: relative;
	margin: 1em;
	padding: .4rem 0;
	color: #333;
	text-align: center;
	cursor: pointer;
	}
.wrap .trigger{
	margin: 1em 0;
	}
.trigger > i{
	margin-right: .5em;
	color: #666;
	}
.trigger + div{
	display: none;
	padding-bottom: 1rem;
	}
.trigger::after{
	position: absolute;
	top: 50%;
	right: 1.4rem;
	margin-top: -1.2rem;
	font-size: 1.5rem;
	font-family: "Font Awesome 5 Free";
	content: "\f107";
	color: #f72c7d;
	font-weight: bold;
	}
.trigger.active::after{
	content: "\f106";
	}

/* plan-price */
	#plan-price .lead{
		margin: 1.5rem auto 1rem;
		font-size: 1.6rem;
		font-weight: bold;
		}
	.plan-wrap._m{
		box-sizing: border-box;
		border: solid 3px #e89d1b;
		border-radius: 3px;
  		background-color: #f7f2eb;
		margin-bottom: 1.5rem;
	}
	.plan-wrap._m .title{
		line-height: 2.3rem;
		background-color: #e89d1b;
		font-size: 2rem;
		text-align: center;
		margin: 0;
		color: #fff;
		padding: 0 0 0.7rem;
	}
	.plan-wrap._l{
		box-sizing: border-box;
		border: solid 3px #4b62a6;
		border-radius: 3px;
  		background-color: #e8eef6;
		margin-bottom: 1.5rem;
	}
	.plan-wrap._l .title{
		line-height: 2.3rem;
		background-color: #4b62a6;
		font-size: 2rem;
		text-align: center;
		margin: 0;
		color: #fff;
		padding: 0 0 0.7rem;
	}
	.plan-wrap .title span{
		font-size: 1.2rem;
	}
	.plan-title span{
		font-size: 1.2rem;
	}
	.type-wrap{
		display: flex;
		justify-content: space-around;
		align-items: center;
		padding: 2rem 1rem 1rem;
	}
	.plan-price .type{
		text-align: center;
	}
	.type .img-wrap{
		display: block;
		margin: 0 auto;
		width: 5rem;
	}
	.type-text{
		margin: .3rem 0 0;
		font-size: 1.2rem;
		font-weight: bold;
	}
	.type-price{
		font-size: 1.2rem;
		margin: 0 auto;
		font-weight: bold;
	}
	.type-price span{
		font-size: 3rem;
		font-family: 'Oswald', sans-serif;
	}
@media screen and (max-width: 38.74em) {
.family img{
	max-width: 75px;
	}
	.family > p > img{
		max-width: 238px;
		margin: 0;
		}
}
@media screen and (min-width: 38.74em) {
	#plan-price .lead{
		font-size: 1.25rem;
	}
	.pc-flex{
		display: flex;
		max-width: 760px;
		margin: 0 auto;
	}
	.plan-wrap{
		width: 100%;
	}
	.plan-wrap._m .title,
	.plan-wrap._l .title{
		font-size: 1.45rem;
		line-height: 1.7rem;
		padding-bottom: .4rem;
	}
	.plan-wrap._l{
		margin-left: 1rem;
	}
	.plan-wrap .title span{
		font-size: .85rem;
	}
	.type-wrap{
		padding-top: 1.5rem;
	}
	.type-text{
		font-size: .85rem;
		text-align: center;
	}
	.type-price{
		font-size: .8rem;
	}
	.type-price span{
		font-size: 2.15rem;
	}
}

/* cost */
#cost h2 span{
	font-size: 1.2rem;
}
#cost h2 sub{
	font-size: 0.8rem;
    vertical-align: super;
    position: relative;
}
.cost-wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 1rem auto 2rem;
}
.cost-wrap sub{
	font-size: .9rem;
	vertical-align: top;
}
.cost {
	padding: 1.5rem;
	width: 37%;
	background-color: #fff;
	border-radius: 6px;
	box-shadow: 2px 2px 9px #bbb;
	text-align: center;
}
.cost-title{
	font-size: 1.3rem;
	margin: 0 auto;
}
.cost-price{
	font-size: 1.3rem;
	margin: 0 auto;
	line-height: 1.5rem;
}
.cost-price span{
	font-size: 1.8rem;
	font-family: 'Oswald', sans-serif;
}

@media screen and (min-width: 38.74em) {
	.cost{
		padding: .6rem;
		width: 48.5%;
		box-sizing: border-box;
	}
	.cost-wrap{
		max-width: 760px;
	}
	.cost-title{
		font-size: .95rem;
		margin: 0;
		display: inline-block;
	}
	.cost-price{
		font-size: .95rem;
		margin: 0;
		display: inline-block;
	}
	.cost-price span{
		font-size: 1.3rem;
	}
	.cost-wrap sub{
		font-size: .8rem;
	}
}

/* form
-------------------------------- */
.area-form{
	margin: 0;
	padding-bottom: 1px;
	background: #dcf0f1;
	}
	.area-form h2{
		position: relative;
		margin: 0 0 12px;
		padding: 1rem 0;
		font-size: 18px;
		color: #fff;
		text-align: center;
		background: #0dbeb8;
		}
		.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: #0dbeb8 transparent transparent transparent;
			content: '';
			}
#sfm-form .button.success{
	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.success[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;
	}
.ERR {
	color:#f00;
	margin: .5rem 0 0;
	}
.required-focus{
	background: #fce2e2 !important;
	border-color: #E75B5B !important;
	}
.any,
.required{
	padding: 0.2em .5em;
    font-size: 1.05rem;
    color: #fff;
    vertical-align: middle;
    font-weight: normal;
    border-radius: 0.5rem;
	margin-right: .5rem;
	}
.any{
	background: #666666;
	}
.required{
	background: #d93489;
	}
.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:#0dbeb8;
			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 #0dbeb8;
				}
@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: .88rem
		}
#sfm-form .button.success{
	max-width: 320px;
	margin: 1rem auto 3rem;
	padding-left: 40px;
	background-position: 60px 18px;
	}
}

/* 10gb */
#gb{
	line-height: 0;
}
.wrap-black {
	line-height: 1.6;
	margin-top: -.1rem;
	padding: 0 2rem 2rem;
	background-color: #333;
}
.gb_title {
	background-color: #d93489;
	padding: 1rem;
	margin: 0 auto;
	color: #fff;
	text-align: center;
	border-radius: 5px 5px 0 0;
	font-size: 1.5rem;
}
.gb_content {
	background-color: #fff;
	border: 2px solid #d93489;
	text-align: center;
	box-sizing: border-box;
	padding-bottom: 1.5rem;
	border-radius: 0 0 5px 5px;
}
.gb_content .type-wrap {
	justify-content: center;
}
.gb_content .type {
	margin: 0 .5rem;
}
.gb_content .type p {
	font-size: 1.25rem;
	font-weight: bold;
	margin: .3rem auto;
}
.gb_content .type-price {
	padding-top: 0.4rem;
	font-size: 1.4rem;
	position: relative;
}
.gb_content .type-price::before {
	content: "";
    display: block;
    position: absolute;
    margin: 0 auto;
	top: 0;
    left: 0;
    right: 0;
    width: 0;
    border-style: solid;
    border-width: 1rem 1.7rem 0px 1.7rem;
    border-color: #d93489 transparent transparent transparent;
}
.gb_content .type-price span{
	font-size: 4.3rem;
}
.gb_content .line {
	margin: 1.3rem auto 2.2rem;
    width: 72vw;
    border-top: 1px solid #c2c2c2;
}
.gb_content .gb_plan {
	margin: .4rem auto;
	font-size: 1.7rem;
	font-weight: bold;
}
.gb_content .gb_plan.last {
	margin-bottom: 1rem;
}
.gb_content .gb_plan sub{
	font-weight: 400;
    font-size: 0.9rem;
    vertical-align: super;
    bottom: unset;
    top: -0.2rem;
    color: #333333;
}
.gb_content .img-wrap.small{
	width: 2.5rem;
	margin: 0 auto;
}
.gb_title.black {
	background-color: #333333;
	padding: 1rem;
	margin: 0 auto;
	color: #fff;
	text-align: center;
	border-radius: 5px 5px 0 0;
	line-height: 1.6;
}
.gb_content.black {
	background-color: #fff;
	border: 2px solid #333333;
	text-align: center;
	box-sizing: border-box;
	padding: 1.5rem;
	border-radius: 0 0 5px 5px;
	line-height: 1.6;
}
.gb_content.black h3 {
	font-size: 1.5rem;
	border-bottom: 3px solid #d93489;
	width: 100%;
	text-align: center;
	margin: 0 auto;
	line-height: 3rem;
	position: relative;
}
.gb_content.black h3::after {
	content: "";
    display: block;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    width: 0;
	border-style: solid;
    border-width: 1.4rem 2.1rem 0px 2.1rem;
    border-color: #d93489 transparent transparent transparent
}
.gray-flex{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 2rem auto .7rem;
}
.gray-flex p{
	line-height: 4.5rem;
    background-color: #f4f4f4;
    text-align: center;
    font-size: 1.3rem;
    box-sizing: border-box;
    width: 100%;
    font-weight: bold;
	margin: 0;
}
.gray-flex p.price{
	line-height: 4rem;
}
.gray-flex p span{
	font-size: 2rem;
	font-family: 'Oswald', sans-serif;
}
.gb_content .plan-wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.gb_content .plan-wrap .plan{
	margin: .4rem 0;
	padding: 1rem .5rem;
	width: 44.5%;
	background-color: #f4f4f4;
	font-size: 1.3rem;
	font-weight: bold;
}
.gb_content .plan-wrap p{
	position: relative;
}
.plan-wrap p.red,
.plan-wrap p.blue{
	padding-bottom: 1.5rem;
    margin: 0 auto 0.3rem;
}
.plan-wrap p.red::after{
	content: "";
    display: block;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
	bottom: 0;
    width: 0;
	border-style: solid;
    border-width: 0.8rem 1rem 0 1rem;
    border-color: #db4a4a transparent transparent transparent
}
.plan-wrap p.blue::after{
	content: "";
    display: block;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
	bottom: 0;
    width: 0;
	border-style: solid;
    border-width: 0.8rem 1rem 0 1rem;
    border-color: #4b62a6 transparent transparent transparent
}
.plan-wrap span.red{
	color: #db4a4a;
}
.plan-wrap span.blue{
	color: #4b62a6;
}
.plan-wrap p.price{
	font-size: 1.5rem;
	font-weight: 500;
	margin: 0 auto;
}
.plan-wrap p.price .num{
	font-size: 2rem;
	font-weight: bold;
}
.plan-wrap .detail{
	font-weight: 500;
	font-size: 1.2rem;
	line-height: 3.5rem;
	margin: 1rem auto .2rem;
}
.plan-wrap .detail.row{
	text-align: left;
	line-height: 1.5rem;
	font-size: 1.1rem;
	width: fit-content;
}
.plan-wrap .detail.row strong{
	font-size: 1.7rem;
	font-weight: 200;
}
.plan-wrap .num{
	font-size: 1.3rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
}
.title_img-wrap{
	margin: 0 auto;
}
.wrap-pink{
	padding: 1rem;
	background-color: #d93489;
}
.wrap-pink .special-wrap{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: #fff;
	padding: 1rem;
	margin-bottom: 1rem;
	font-size: 1.5rem;
	line-height: 1.6;
	font-weight: bold;
}
.wrap-pink .special-wrap p{
	text-align: center;
	margin: 0;
	width: 100%;
}
.wrap-pink .special-wrap p strong{
	font-size: 1.8rem;
}
.wrap-pink .special-wrap .img-wrap {
	width: 13%;
}
#gb .text-note{
	margin: 2rem auto;
}
.ac-wrap {
	position: relative;
}
.text-note.hidden{
	height: 9rem;
	overflow: hidden;
}
.show_more{
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 30px;
	padding-top: 60px;
	text-align: center;
	line-height: 30px;
	background: linear-gradient(180deg,rgb(255, 255, 255, 0) 0%,rgb(255, 255, 255, 1) 70%);
	cursor: pointer;
	transition: bottom 0.2s;
	font-size: 1.6rem;
}
.show_more .img-wrap{
	width: 1.2rem;
	margin: 0 .5rem;
	position: relative;
}
.show_more p{
	font-size: 1.2rem;
}
.more-active {
	background: none;
	bottom: -30px;
}
@media screen and (min-width: 38.74em) {
	#gb .wrap-img{
		background-color: #333;
	}
	#gb .wrap-img img{
		display: block;
		margin: 0 auto;
	}
	.gb_title {
		max-width: 760px;
		padding: .6rem;
		font-size: 1.4rem;
		box-sizing: border-box;
	}
	.gb_content {
		margin: 0 auto;
		max-width: 760px;
		padding-bottom: 0;
	}
	.gb_content.flex {
		display: flex;
		justify-content: center;
		justify-items: center;
	}
	.gb_content .line{
		width: 1px;
		height: 180px;
		margin: 1.8rem 0;
		background-color: #c2c2c2;
	}
	.type .img-wrap{
		width: 3.6rem;
	}
	.gb_content_block{
		width: 49%;
		padding: 1rem;
	}
	.gb_content .type p {
		font-size: .9rem;
	}
	.gb_content .type-price span{
		font-size: 3.1rem;
	}
	.gb_content .gb_plan {
		font-size: 1.125rem;
	}
	.gb_content .img-wrap.small{
		width: 1.8rem;
		height: 1.8rem;
	}
	.gb_content .type-wrap{
		padding-top: .4rem;
	}
	.gb_content .gb_plan.last {
		margin-bottom: 1rem;
	}
	.gb_content.black {
		padding: 1.5rem 2.25rem;
	}
	.plan-wrap .detail{
		line-height: normal;
		font-size: .85rem;
		margin: .2rem auto .2rem;
	}
	.gb_title.black {
		padding: .4rem;
	}
	.gray-flex p{
		text-align: right;
		padding-right: 2rem;
		font-size: .9rem;
		line-height: 3.3rem;
	}
	.gray-flex p.price{
		text-align: left;
		padding-left: 2rem;
		line-height: 3.3rem;
	}
	.gray-flex p span{
		font-size: 1.45rem;
	}
	.gb_content.black h3 {
		font-size: 1.15rem;
		line-height: 2.5rem;
	}
	.gb_content.black h3::after {
		border-width: 1rem 1.5rem 0 1.5rem;
	}
	.gb_content .plan-wrap .plan{
		font-size: .95rem;
	}
	.plan-wrap p.red,
	.plan-wrap p.blue{
		padding-bottom: .9rem;
		margin: 0 auto 0.3rem;
	}
	.plan-wrap p.red::after,
	.plan-wrap p.blue::after{
		border-width: 0.575rem 0.7rem 0 0.7rem;
	}
	.plan-wrap p.price{
		font-size: 1.1rem;
		line-height: 1.7rem;
	}
	.plan-wrap p.price .num{
		font-size: 1.45rem;
	}
	.gb_content .type-price::before {
		border-width: .7rem 1.2rem 0 1.2rem;
	}
}

/* footer */
.footer {
	margin-top: 5.3333333333vw;
	padding-bottom: 68px;
  }
  .footer_nav {
	text-align: center;
	margin-bottom: 2.6666666667vw;
  }
  .footer_elem {
	font-size: 3.2vw;
	color: #333;
	position: relative;
	display: inline-block;
	padding-right: 1.3333333333vw;
	text-decoration: none;
  }
  .footer_elem a {
	color: #000;
	text-decoration: none;
  }
  .footer_elem:after {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 0.8vw;
	height: 0.8vw;
	margin-top: -0.4vw;
	border-top: solid 0.2666666667vw #999;
	border-right: solid 0.2666666667vw #999;
	transform: rotate(45deg);
	content: "";
  }
  .footer_elem + .footer_elem {
	margin-left: 2.6666666667vw;
  }
  .footer_copy {
	background: #000;
	padding: 3.0666666667vw 0 2.5333333333vw;
	text-align: center;
	font-size: 3.2vw;
	color: #fff;
  }
  .footer_number {
	text-align: right;
	font-size: 3.2vw;
	margin: 3.2vw 1.6vw 3.2vw;
	color: #666;
  }
  @media screen and (min-width: 750px) {
	.footer {
	  margin-top: 70px;
	}
	.footer_nav {
	  margin-bottom: 10px;
	}
	.footer_elem {
	  font-size: 12px;
	  padding-right: 10px;
	}
	.footer_elem:after {
	  width: 3px;
	  height: 3px;
	  margin-top: -1px;
	  border-top: solid 2px #999;
	  border-right: solid 2px #999;
	  transform: rotate(45deg);
	  content: "";
	}
	.footer_elem + .footer_elem {
	  margin-left: 10px;
	}
	.footer_copy {
	  padding: 10px 0 10px;
	  font-size: 12px;
	}
	.footer_number {
	  text-align: right;
	  font-size: 12px;
	  margin: 24px;
	  color: #666;
	}
  }

/* areaform */
.areaform-content{
	background-color: #f4f4f4;
	border-radius: .7rem;
	border: 2px solid #333;
	box-sizing: border-box;
	padding: 1.4rem 1.8rem 2.6rem;
	border-radius: 0 0 .7rem .7rem;
	margin: 0 auto 2rem;
}
.areaform-content th,
.areaform-content td{
	display: block;
	font-size: 1.3rem;
	padding: 0;
	border: none;
}
.areaform-content th{
	background-color: unset;
	padding: 0;
	margin-bottom: .6rem;
}
#areaform h2{
	margin: 0 auto;
	position: relative;
	font-size: 1.45rem;
	color: #fff;
	background-color: #333;
	text-align: center;
	padding: 1.55rem 0 1.35rem;
	border-radius: .7rem .7rem 0 0;
	box-sizing: border-box;
}
#areaform .area_icon{
	display: block;
	position: absolute;
	top: 1.3rem;
	left: 3.5rem;
	width: 3rem;
}
.check-img{
	display: none;
}
.areaform-content p{
	margin-top: .2rem;
	font-size: 1.1rem;
	color: #888;
}
.areaform-content p.sub{
	font-size: 1.13rem;
	margin: 0 auto 1.8rem;
	font-weight: 400;
	color: #222;
}
#areaform .note{
	font-size: .8rem;
	margin: 1.5rem auto 2rem;
	width: fit-content;
}
.form_bottom_submit {
    order: 1;
    border-radius: 11.2vw;
    background: #d93489;
    box-shadow: 0 1.0666666667vw 1.0666666667vw 0 rgba(0, 0, 0, 0.25);
    padding: 0;
    width: 100%;
    position: relative;
    margin-bottom: 0;
    font-weight: 700;
    height: 6rem;
    overflow: hidden;
    margin: auto;
    color: #fff;
}
.form_bottom_submit .submit {
    font-family: "M PLUS 1", sans-serif;
    font-weight: 700;
    width: 100%;
    height: 100%;
    font-size: 1.7rem;
    color: #fff;
    position: relative;
    z-index: 110;
    cursor: pointer;
	border: none;
	background: #d93489;
}
.form_bottom_submit .submit:disabled{
	background: #bebebe;
}
@media screen and (min-width: 38.74em) {
	#areaform h2{
		width: 678px;
		font-size: 1.07rem;
        padding: 1.125rem 0 1rem;
	}
	.areaform-content{
		width: 678px;
		padding: 1.5rem 1.5rem 2.3rem;
	}
	.areaform-content p.sub{
		font-size: .875rem;
	}
	#areaform .area_icon{
		top: 1rem;
		left: 12.5rem;
		width: 2.15rem;
	}
	.areaform-content th,
	.areaform-content td{
		font-size: .94rem;
	}
	.any,
	.required{
		font-size: .75rem;
		border-radius: .2rem;
	}
	.areaform-content p{
		font-size: .9rem;
	}
	.form_bottom_submit {
		box-shadow: 0 0.2rem .5rem 0 rgba(0, 0, 0, 0.25);
		width: 19.4rem;
		margin-bottom: 0;
		height: 4.25rem;
	}
	.form_bottom_submit .submit {
		font-size: 1.25rem;
	}
}
.hover {
	display: block;
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 120;
}
.hover_inner {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	margin: 0 auto;
}
.hover_button {
	display: block;
	flex: 1;
	padding: .6rem;
	text-align: center;
	font-size: 1.044rem;
	box-sizing: border-box;
	text-decoration: none;
}
.hover_button:hover {
	text-decoration: none;
}
.hover_button img {
	display: block;
	margin: 0 auto;
	width: 2.6rem;
	height: auto;
	pointer-events: none;
}
.hover_button p {
	margin: .5rem 0 0;
	font-weight: bold;
	pointer-events: none;
}
.hover_button.area {
	border-right: 1px solid #FFF;
	background: linear-gradient(180deg, #F5F5F5 0%, #D3D3D3 100%);
	color: #333;
}
.hover_button.web {
	border-right: 1px solid #FFF;
	background: linear-gradient(0deg, #F38958 0%, #D93489 100%);
	color: #fff;
}
.hover_button.tel {
	background: linear-gradient(0deg, #248CB7 0%, #51C6D0 100%);
	color: #fff;
}
@media screen and (min-width: 38.74em) {
	.hover {
		bottom: 0;
		box-shadow: 0px -3px 5px 0px rgba(0, 0, 0, 0.15);
		background-color: #fff;
		padding: .5rem 0;
	}
	.hover_inner {
		max-width: 720px;
		padding: 0;
		margin: 0 auto;
		gap: 1rem;
	}
	.hover_button {
		display: block;
        flex: none;
        padding: 0;
        width: 13.5rem;
        height: 2.95rem;
        font-size: 1rem;
        position: relative;
        line-height: 2.95rem;
        border-radius: 4px;
        box-shadow: 0px 2px 8px 0px rgba(7, 4, 4, 0.22);
        border: none;
	}
	.hover_button img {
		margin: 0;
		width: 1.88rem;
		display: block;
		position: absolute;
		left: .7rem;
		top: .6rem;
	}
	.hover_button p {
		margin: 0 0 0 1rem;
		text-align: center;
	}
}