@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------
	common
	zoom
	header
	menu
	main
	footer
------------------------------------------------------------------------ */


/* ========================================================================
	common
======================================================================== */
@media print, screen and (min-width:768px){
body{
	position:relative;
	min-width:1260px;
}

.sp{
	display:none;
}

.inner{
	position:relative;
	width:1200px;
	margin:0 auto;
}

a img, .fade, .fades a{ transition-duration:0.2s; }
a:hover img, .fade:hover, .fades a:hover{ opacity:0.8; }
.fade:hover img, .fades a:hover img{ opacity:1; }
}

@media screen and (max-width:767px){
body{
	position:relative;
	width:100%; /* splide */
	min-width:320px;
	font-size:1.6rem; /* 16px */
}

.pc{
	display:none;
}

.inner{
	position:relative;
	padding:0 20px;
}

iframe{
	width:100%;
}
}


/* ========================================================================
	zoom
======================================================================== */
@media print, screen and (min-width:768px) and (max-width:1600px){
main{
	zoom:0.8;
}

#home,
.widget_ttl{
	padding-top:calc(100px / 0.8) !important;
}


/* ----------------------------------------
	HOME
---------------------------------------- */
#home .store .splide{ zoom:1.25; }
#home .store .splide__slide{ zoom:0.8; }


/* interview
---------------------------------------- */
#home .interview .splide__wrap{
	width:125vw !important;
	margin-left:calc(50% - 62.5vw) !important;
	padding-left:calc(62.5vw - 50%) !important;
}

#home .interview .splide{
	zoom:1.25;
}

#home .interview .splide__track{
	margin:0 0 0 calc(-48px * 0.8) !important;
	padding:calc(35px * 0.8) 0 0 calc(48px * 0.8) !important;
}

#home .interview .splide__slide{
	max-width:calc(480px * 0.8) !important;
	margin-right:calc(60px * 0.8) !important;
}

#home .interview .list_interview li::before,
#home .interview .list_interview a{
	zoom:0.8;
}


/* ----------------------------------------
	店舗見学・カジュアル面談
---------------------------------------- */
#tour .tour .inner::before,
#tour .talk .inner::before{
	width:125vw !important;
}


/* ----------------------------------------
	よくあるご質問
---------------------------------------- */
#faq .faq aside{
	top:calc(120px / 0.8) !important;
}
}


/* ========================================================================
	header
======================================================================== */
header{
	position:relative;
	z-index:10;
}


/* ----------------------------------------
	logo
---------------------------------------- */
header h1,
header > .logo{
	position:absolute;
	top:0;
	left:0;
}

header h1 a,
header > .logo a{
	display:block;
	padding:17px 56px 38px 27px;
	background:#ffffff;
	border-bottom:1px solid #292929;
	border-right:1px solid #292929;
	border-bottom-right-radius:50px;
}

@media screen and (max-width:767px){
header h1 a,
header > .logo a{
	display:block;
	padding:14px 20px 15px 15px;
	background:#ffffff;
	border-bottom:1px solid #292929;
	border-right:1px solid #292929;
	border-bottom-right-radius:25px;
	line-height:1;
}

header h1 img,
header > .logo img{
	width:auto;
	height:40px;
}
}


/* ========================================================================
	menu
======================================================================== */
#menu .btn{
	display:none;
}

@media screen and (max-width:767px){
#menu .btn{
	display:block;
	position:fixed;
	top:5px;
	right:5px;
	width:50px;
	height:50px;
	background:#009e96;
	border-radius:5px;
	cursor:pointer;
	z-index:20;
}

#menu .btn span{
	display:none;
}

#menu .btn::before,
#menu .btn.close::before,
#menu .btn.close::after{
	content:"";
	display:block;
	position:relative;
	top:calc(50% - 1px);
	left:50%;
	width:16px;
	height:2px;
	background:#ffffff;
	box-shadow:0 -5px 0 0 #ffffff, 0 5px 0 0 #ffffff;
	transform:translateX(-50%);
	transition-duration:0.2s;
}
#menu .btn.close::before{
	box-shadow:none;
	transform:translateX(-50%) rotate(45deg);
}
#menu .btn.close::after{
	top:calc(50% - 3px);
	box-shadow:none;
	transform:translateX(-50%) rotate(-45deg);
}
}


/* ----------------------------------------
	menu
---------------------------------------- */
@media screen and (max-width:767px){
#menu .menu{
	overflow-y:scroll;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#FFFFFF;
	z-index:10;
}
}


/* logo
---------------------------------------- */
#menu .menu .logo{
	display:none;
}

@media screen and (max-width:767px){
#menu .menu .logo{
	display:block;
	padding:10px 15px;
	line-height:1;
}

#menu .menu .logo img{
	width:auto;
	height:40px;
}
}


/* gnavi
---------------------------------------- */
#menu .gnavi{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	gap:0 40px;
	position:absolute;
	top:20px;
	right:238px;
}

#menu .gnavi > li{
	position:relative;
}

#menu .gnavi > li > a,
#menu .gnavi .none{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	height:60px;
	font-weight:700;
	text-decoration:none;
}

#menu .gnavi > li > a::before,
#menu .gnavi .none::before{
	content:"";
	position:absolute;
	bottom:9px;
	left:0;
	width:100%;
	height:2px;
	background:transparent;
	transition-duration:0.2s;
}
#menu .gnavi > li > a:hover::before,
#menu .gnavi .none:hover::before{ background:#242424; }

@media screen and (max-width:767px){
#menu .gnavi{
	display:block;
	position:static;
	padding:0;
	border-bottom:1px solid #cccccc;
}

#menu .gnavi > li > a,
#menu .gnavi .none{
	justify-content:flex-start;
	height:61px;
	padding:0 0 0 20px;
	border-top:1px solid #cccccc;
	font-size:1.6rem;
}

#menu .gnavi > li > a::before,
#menu .gnavi .none:hover::before{
	content:none;
}
}


/* ---------- open ---------- */
#menu .menu .open{
	display:none;
}

@media screen and (max-width:767px){
#menu .menu .open,
#menu .menu .open::before{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:0;
	right:0;
	width:61px;
	height:61px;
	font-size:1.8rem;
	font-weight:700;
	cursor:pointer;
}
#menu .menu .open::before{
	content:"＋";
	width:60px;
	background:#ffffff;
	border-top:1px solid #cccccc;
	border-left:1px solid #cccccc;
}
#menu .menu .open.close::before{ content:"－"; }
}


/* ---------- child ---------- */
#menu .child{
	display:none;
	position:absolute;
	top:60px;
	left:-20px;
	padding:15px 30px 15px 20px;
	background:#ffffff;
	border:1px solid #292929;
	border-radius:10px;
	white-space:nowrap;
}

#menu .child li{
	display:flex;
	line-height:3.6rem;
}

#menu .child li::before{
	content:"・";
}

#menu .child a{
	display:block;
	font-size:1.6rem;
	font-weight:700;
	line-height:3.6rem;
	text-decoration:none;
}
#menu .child a:hover{ text-decoration:underline; }

@media screen and (max-width:767px){
#menu .child{
	position:static;
	padding:0;
	border:none;
	border-radius:0;
}
#menu .child li{ display:block; }
#menu .child li::before{ content:none; }

#menu .child li a{
	display:flex;
	align-items:center;
	position:relative;
	height:61px;
	padding-left:calc(20px + 1.0em);
	background:#f5f5f5;
	border-top:1px solid #cccccc;
}
#menu .child a:hover{ text-decoration:none; }
}


/* scroll
---------------------------------------- */
#menu .scroll{
	display:none;
	position:fixed;
	top:0;
	left:0;
	min-width:1260px;
	width:100%;
	height:100px;
	background:#ffffff;
	border-bottom:1px solid #292929;
}

#menu .scroll .logo{
	padding:20px;
}

#menu .scroll .logo img{
	width:auto;
	height:60px;
}

@media screen and (max-width:767px){
#menu .scroll{
	display:none !important;
}
}


/* ----------------------------------------
	entry
---------------------------------------- */
#menu .entry a{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:20px;
	right:20px;
	width:178px;
	height:60px;
	background:#ff6137;
	border-radius:5px;
	font-weight:700;
	color:#ffffff;
	text-decoration:none;
}

#menu .entry br{
	display:none;
}

@media screen and (max-width:767px){
#menu .entry a{
	position:fixed;
	top:5px;
	right:60px;
	width:auto;
	height:50px;
	padding:0 10px;
	text-align:center;
	font-size:1.4rem;
	line-height:1.8rem;
	z-index:20;
}
}

@media screen and (max-width:374px){
#menu .entry br{
	display:block;
}
}


/* ========================================================================
	main
======================================================================== */
main p,
main li,
main dl dt,
main dl dd{
	font-weight:500;
}


/* ----------------------------------------
	table
---------------------------------------- */
main table{
	margin:0 0 100px 0;
	border:1px solid #009e96;
	line-height:3.2rem;
}
main table tr{ border-bottom:1px solid #009e96; }
main table tr:last-child{ border:none; }

main table th{
	width:240px;
	padding:30px 50px;
	background:#cdefed;
	vertical-align:middle;
	text-align:center;
	font-weight:500;
	white-space:nowrap;
}

main table td{
	padding:30px 50px;
	background:#ffffff;
	font-weight:500;
}

@media screen and (max-width:767px){
main table{
	margin:0 0 40px 0;
}

main table th{
	display:block;
	width:auto;
	padding:10px 20px;
}

main table td{
	display:block;
	padding:20px;
}
}


/* ========================================================================
	footer
======================================================================== */
footer{
	padding:160px 0 70px 0;
	background:#009e96;
	color:#ffffff;
}

footer .pagetop{
	display:none;
	position:fixed;
	bottom:116px;
	right:60px;
	cursor:pointer;
	z-index:10;
}

footer small{
	display:block;
	font-size:1.6rem;
	line-height:1;
}

@media screen and (max-width:767px){
footer{
	padding:60px 0;
	text-align:center;
}

footer .pagetop{
	bottom:10px;
	right:10px;
	width:40px;
}

footer small{
	font-size:1.4rem;
}
}


/* ----------------------------------------
	company
---------------------------------------- */
footer .company dl{
	padding:64px 0 248px 0;
	font-size:1.6rem;
}

footer .company dl dt{
	margin:0 0 16px 0;
	font-weight:500;
}

footer .company dl dd{
	font-weight:500;
}

@media screen and (max-width:767px){
footer .company .logo img{
	width:240px;
}

footer .company dl{
	padding:30px 0;
}

footer .company dl dt{
	margin:0;
}
}


/* ----------------------------------------
	menu
---------------------------------------- */
footer .menu{
	display:flex;
	gap:0 80px;
	position:absolute;
	top:0;
	right:0;
}

footer .menu a{
	display:inline-block;
	font-size:1.6rem;
	font-weight:500;
	color:#ffffff;
	line-height:4.8rem;
	text-decoration:none;
}
footer .menu a:hover{ text-decoration:underline; }

@media screen and (max-width:767px){
footer .menu{
	display:none;
}
}


/* ----------------------------------------
	navi
---------------------------------------- */
footer .navi{
	display:flex;
	gap:0 54px;
	position:absolute;
	bottom:-10px;
	right:0;
}

footer .navi a{
	display:inline-block;
	position:relative;
	padding:0 16px 0 0;
	font-size:1.6rem;
	color:#ffffff;
	line-height:3.6rem;
	text-decoration:none;
}
footer .navi a:hover{ text-decoration:underline; }

footer .navi a::after{
	content:"";
	position:absolute;
	top:50%;
	right:0;
	border-style:solid;
	border-width:4px 0 4px 6px;
	border-color:transparent transparent transparent #ffffff;
	transform:translateY(-50%);
}

@media screen and (max-width:767px){
footer .navi{
	display:block;
	position:static;
	margin:0 0 30px 0;
	text-align:center;
}
}