/*----------------------------------------
WHOLE
----------------------------------------*/
html {
	scroll-behavior: smooth;
}
body {
	background: #fff;
	margin: 0;
	padding: 0;
	/*----24/03/29osato----*/
	position: relative;
	background: url("../img/back.jpg") no-repeat;
    background-attachment: fixed;
	background-size: cover;
}
main {
	width: 100%;
	max-width: 500px;/*----24/03/29osato----*/
	margin: 0 auto;
	padding: 0;
	text-align: center;
	overflow: hidden;
	font-size: 0;
	font-family: sans-serif;
	line-height: 0;
	background: #fff;
}
@media screen and (max-width: 600px) {/*----24/03/29osato----*/
	#fixLogo {display: none}
}
@media screen and (min-width: 600px) {
	main {font-size: 16px;}
}
main img {
	width: 100%;
	margin: 0;
	padding: 0;
	height: auto;
	display: block;
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
}
main a {
	display: block;
}

main h1,
main h2,
main h3,
main h4,
p,
main ul ,
main ul li,
main dl ,
main dl dt,
main dl dd,
main ol ,
main ol li{
	line-height: 0;
	font-size: 0;
	margin:0;
	padding:0;
}
main ul li,
main dl ,
main dl dt,
main dl dd,
main ol ,
main ol li{
	list-style: none;
}
main .p-box{
	position: relative;
}

header {
	position: relative;
}
header .js_floatStart{
	position: absolute;
	top:-10%;
}
/*----------------------------------------
FV
----------------------------------------*/
.fv .fv-icon{
	width: calc(241/750*100%);
	position: absolute;
	right:3%;
	top:2%;
}
.fv h1{
	position: absolute;
	width:100%;
	bottom:5%;
}
.fv video{
	width: 100%;
	line-height: 0;
	font-size: 0;
	padding:0;
	margin:0;
}

.fv .fv-logo{
	position: absolute;
	width: calc(210/750*100%);
	top: 2.5%;
	left: 4%;
}
/*----------------------------------------
offer
----------------------------------------*/


.btn-offer{
	width: calc(698/750*100%);
	margin: 0 auto;
	transition: all ease 0.3s;
}
.btn-offer:hover{
	filter: brightness(1.1);
}
.offer{
	position: relative;
}

.offer-a .offer-box{
	background-image: url(../img/offer-a-05.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: min(calc(170/750*100vw),170px);
}

.offer-a2 .offer-box{
	 background-image: url(../img/offer-a-04-2.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	 height: min(calc(240/750*100vw),240px); 
	padding-top: min(calc(68/750*100vw),68px);
	box-sizing: border-box; 
}

.offer-c .offer-box{
	 background-image: url(../img/offer-c-01.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	 height: min(calc(240/750*100vw),240px); 
	padding-top: min(calc(68/750*100vw),68px);
	box-sizing: border-box; 
}


.offer-b .offer-box,
.offer-b2 .offer-box{
	background-image: url(../img/offer-b-04.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: min(calc(240/750*100vw),240px);
	padding-top: min(calc(68/750*100vw),68px);
	box-sizing: border-box;
}
@media screen and (max-width: 600px) {
.offer-a .offer-box{
	height: min(calc(247/750*100vw),247px);
}
.offer-a2 .offer-box{
	 height: min(calc(319/750*100vw),319px); 
	padding-top: min(calc(68/750*100vw),68px);
}

.offer-c .offer-box{
	 height: min(calc(319/750*100vw),319px); 
	padding-top: min(calc(68/750*100vw),68px);
}
.offer-b .offer-box,
.offer-b2 .offer-box{
	height: min(calc(320/750*100vw),320px);
	padding-top: min(calc(68/750*100vw),68px);
}
}

/*----------------------------------------
reason
----------------------------------------*/
.reason ol{
	display: flex;
	flex-wrap: wrap;
}
.reason ol li{
	width: 50%;
}

/*----------------------------------------
kasane
----------------------------------------*/

.kasane ul{
	display: flex;
	flex-wrap: wrap;
}

.kasane ul li{
	width: calc(250/750*100%);
}


/*----------------------------------------
plan
----------------------------------------*/
.plan ul{
	display: flex;
	flex-wrap: wrap;
}
.plan ul li:not(:first-of-type){
	width: 50%;
}

/*----------------------------------------
access
----------------------------------------*/

.access .map-wrap{
	height: min(calc(570/750*100vw),570px);
	background-image: url(../img/access-02.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: min(calc(70/750*100vw),70px);
	box-sizing: border-box;
}
.access .map-wrap .map-inner{
	width: min(calc(670/750*100vw),670px);
	padding-top: min(calc(500/750*100vw),500px);
	margin: 0 auto;
	position: relative;
}
.access .map-wrap iframe{
	position: absolute;
	width:100%;
	height: 100%;
	left:0;
	top:0;
}




/*----------------------------------------
faq
----------------------------------------*/

.faq{
	background-color: #41423a;
	padding:calc(100/750*100%) 0 calc(70/750*100%);

}

.faq h2{
	width: calc(80/750*100%);
	margin: 0 auto calc(65/750*100%);
}
.faq .accordion{
	background-color: #FFF;
	width: calc(670/750*100%);
	margin: 0 auto calc(32/750*100%);
}
.faq .accordion dt{
	position: relative;
	cursor: pointer;
}

.faq .accordion dt:before{
	content:"";
	display: block;
	width: calc(22/750*100%);
	padding-top:calc(16/750*100%);
	background-image: url("../img/faq-icon.png");
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right:5%;
	top:40%;
	transition:all ease 0.3s;
}

.faq .accordion dt:before{
	transform: rotate(180deg);
}
.faq .accordion dt.selected:before{
	transform: rotate(00deg);
}

.faq .accordion dd{
	display: none;
}
/* ---------------------------------------------
 footer
--------------------------------------------- */
footer {
	background-color: #f5f4ef;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN",
	"Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
	padding:min(calc(40/750*100%),40px) 0;
	box-sizing: border-box;
}

footer ul{
	display: flex;
	/* width: calc(620/750*100%); */
	margin: 0 auto;
	justify-content: center;
	padding: 0 8%;
	box-sizing: border-box;
}

footer ul li {
	font-size: min(calc(16/750*100vw),20px);
	position: relative;
	white-space: nowrap;
}
footer ul li a{
	color: #494a3d;
	line-height: 1;
	font-size: min(calc(20/750*100vw),16px);
	text-decoration: none;
}
footer ul li:nth-last-of-type(2){
	padding:0 2%;
	border-left: 1px solid #494a3d;
	border-right: 1px solid #494a3d;
	margin:0 2%;
}

/* ---------------------------------------------
 追従ボタン
--------------------------------------------- */

.bl_floatArea {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 999;
	visibility: hidden;
	opacity: 0;
	transition: visibility .4s, opacity .4s;
	box-sizing: border-box;
}
.bl_floatArea.is_show {
	visibility: visible;
	opacity: 1;
}
.bl_floatArea img{
	width: 100%;
}
/* ボタン */
.bl_floatArea .floatArea-inner{
	max-width: 500px;
	width: 100%;
	margin: 0 auto;
	background-color: rgba(255,255,255,0.7);
	padding:min(calc(20/750*100%),20px) 0 0;
}

.bl_floatArea h4 {
	width:calc(495/750*100%);
	margin: 0 auto 0.5%;
}

.bl_floatArea .btn-offer{
	width:calc(698/750*100%);
}
