@charset "utf-8";
*{margin:0;padding:0;box-sizing:border-box;-webkit-appearance: none;-webkit-text-size-adjust: 100%;}
*:before, *:after {box-sizing: border-box;}
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, p, blockquote, pre,em, img, strong,b,dl, dt, dd, ol, ul, li,fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td,canvas, details,figure,footer, header, hgroup, menu, nav, section, summary,mark, audio, video {margin:0;padding:0;border:0;outline:0;vertical-align: baseline;background: transparent;font-weight: normal;font-style: normal;}
img{max-width: 100%;height:auto !important;vertical-align: middle;}
ul {list-style: none;}
ol {padding-left: 20px;}
a {color: #8dc21f;vertical-align:baseline;background:transparent;text-decoration: none;}
a:hover{transition-property: all;transition: 0.2s linear;opacity: 0.8;}
a[href^="tel:"] {pointer-events: none;}
a.link{text-decoration:underline;}
mark {background: linear-gradient(transparent 65%, #fef1e6 0%);}
hr {display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0;}
input, select {vertical-align:middle;}

/* 共通 */
body {position: relative;margin:0 auto;font-feature-settings: "palt";font-family: "Zen Maru Gothic","メイリオ", Meiryo,sans-serif;font-weight: 400;color: #332f2f;line-height: 1.6;font-size:clamp(1rem, 0.813rem + 0.39vw, 1.125rem); }
.target{scroll-margin-top: 120px;scroll-behavior: smooth;}
.inner-box{max-width:1280px;padding:80px 0; margin:auto;}
.fcbl{color:#000;}
.fcb{color:#004c84;}
.fs20{font-size:clamp(1.125rem, 0.938rem + 0.39vw, 1.25rem);}
.fs22{font-size:clamp(1.125rem, 0.906rem + 0.59vw, 1.375rem);}
.fs24{font-size:clamp(1.188rem, 0.719rem + 0.98vw, 1.5rem);}
.fs26{font-size:clamp(1.25rem, 0.688rem + 1.17vw, 1.625rem);}
.mb30{margin-bottom:clamp(1.25rem, 1.059rem + 0.68vw, 1.875rem) !important;}
.mb50{margin-bottom:clamp(1.875rem, 1.492rem + 1.36vw, 3.125rem) !important;}
.bold{font-weight:800;}
.bg_p{background:#fff1f4;}
.center,.center_l{text-align: center;}
.sp_on{display:none;}
.flexbox{
	display: flex;
    flex-wrap: wrap;
	row-gap:max(1.5em,30px);
	margin:auto;
}
.flexbox.c2{column-gap: 3%;}
.flexbox.c3{column-gap: 2.75%;}
.flexbox.c4{column-gap: 2%;}
.c2{justify-content: space-between;}
.c2 > *{width: 48.5%;}
.c3 > *{width: 31.5%;}
.c4 > *{width:23.5%;}
.c2 >img ,.c3 > img,.c4 > img{align-self: flex-start;}

h2,h3{color:#000;}
/*見出し＿ライン*/
.ti_line {
	display: flex;
    justify-content: center;
    align-items: center;
	background: #FFF;
	
}
.ti_line::before,.ti_line::after{
	display:block;
	content:'';
	background-image:url("../images/h2_line.webp");
	background-size:contain;
	background-repeat: no-repeat;
	background-position: bottom;
	width:clamp(1.875rem, 1.231rem + 2.29vw, 3.063rem);
	height: clamp(1.875rem, 1.231rem + 2.29vw, 3.063rem);
	margin-right:clamp(0.938rem, 0.429rem + 1.81vw, 1.875rem);
}
.ti_line::after{
	margin-left:clamp(0.938rem, 0.429rem + 1.81vw, 1.875rem);
	transform: scale(-1, 1);
}
/*見出し＿星*/
.ti_star {
	display: flex;
    justify-content: center;
    align-items: center;
	margin-bottom: 50px;
}
.ti_star::before,.ti_star::after{
	display:block;
	content:'';
	background-image:url("../images/h2_star.webp");
	background-size:contain;
	background-repeat: no-repeat;
	width:26px;
	height: 30px;
	margin-right:clamp(0.938rem, 0.429rem + 1.81vw, 1.875rem);
}
.ti_star::after{
	margin-left:clamp(0.938rem, 0.429rem + 1.81vw, 1.875rem);
	transform: scale(-1, 1);
}

/* ヘッダー
------------------------------------------------------------*/
header{position: relative;}
.logo img{margin-left:5%;margin-top:10px; width:clamp(15.625rem, 11.473rem + 6.48vw, 19.25rem); height: auto;}
.head-bnr{position: fixed;top:18px;right:150px;display: flex; gap: 15px;align-items: center;z-index: 999;}
/* ナビゲーション
------------------------------------------------------------*/
/*固定追従時CSS*/

/*----固定追従用ここまで*/

/* ドロワー */
	.hamburger-input {display: none;}
	.hamburger-mark {
		background-color: #ff99c4; /* カスタム */
		display: block;
		height: 1px; /* カスタム */
		transition: 0.3s; /* カスタム */
		width: 30px; /* カスタム */
	}
	 .drawer-nav {
		position: fixed;
		top:0;
		 right:0;
		transform: translateX(100%); /* 縦Y・横Xカスタム */
	}
	#hamburger:checked ~ ul.drawer-nav {
		position:fixed;
		top:0;
		right:0;
		bottom:inherit;
		box-sizing:border-box;
		width: clamp(25rem, 20.724rem + 8.77vw, 31.25rem);
		height: 100%;
		padding:50px 20px 0;
		background-color: #FFF; /* カスタム */
		overflow-y: auto;
		transform: translateX(0);
		transition: transform 0.5s ease;
		-webkit-overflow-scrolling: touch;
		z-index: 9998;
	}
	.hamburger-button {
		position:fixed;
		top:18px;
		right:35px;
		align-items: center;
		background-color: #FFF; /* カスタム */
		border: 1px solid #2350b5; /* カスタム */
		border-radius: 5px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 7px; /* カスタム */
		height: 70px; /* カスタム */
		width: 70px; /* カスタム */
		z-index: 9999;
}
	#hamburger:checked	~ .hamburger-button	.hamburger-mark:nth-of-type(1) {transform:translate(4px, -3px) rotate(45deg); transform-origin: 0%;}
	#hamburger:checked ~ .hamburger-button .hamburger-mark:nth-of-type(2) {opacity: 0;}
	#hamburger:checked ~ .hamburger-button .hamburger-mark:nth-of-type(3) {transform:translate(4px, 3px) rotate(-45deg); transform-origin: 0%;}
	.drawer-nav > li{border-bottom:1px solid #ccc;}
	.drawer-nav > li a,.drawer-nav span{display:block;text-align: left;padding:10px !important;color:#0d250c;}/*子階層*/

/*メイン画像*/
#main_area{position:relative;}
#main_area img {width:100%; height: auto; object-fit:contain;}
#main_area2 {display:table;width:100%;background-color: #fff1f4; height: clamp(11.25rem, 8.878rem + 8.43vw, 15.625rem);text-align:center;vertical-align: middle;margin-top:20px;}
#main_area2 h1{display: table-cell;vertical-align: middle;text-align:center; font-size:clamp(1.25rem, 0.911rem + 1.2vw, 1.875rem);}
/* フッター
------------------------------------------------------------*/
footer .copy{text-align:center;background:#ff99c4;padding:15px 0;color:#FFF;}
.Fslider {
	position:relative;
	width: 100vw;
	overflow-x: auto;
	scrollbar-width: none; /* Firefox */
}
.Fslider::-webkit-scrollbar {
	display: none; /* Chrome, Safari */
}
.Fslider ul {display: flex;}
.Fslider li {flex: 0 0 auto;}
.Fslider ul img {
	width: clamp(21.875rem, -1.563rem + 48.83vw, 37.5rem);
	height: auto;
	display: block;
	object-fit: cover;
}
.gmap{
	position:absolute; 
	bottom:10px;
	right:25%;
	background:#fff;
	padding:clamp(0.625rem, -0.313rem + 1.95vw, 1.25rem);
	border-radius: clamp(0.625rem, -0.313rem + 1.95vw, 1.25rem);
	opacity: 0.9;
}
.right{text-align:right;background: #FFF; opacity: 1.0;}

/*導入コンテンツ*/
.imgL{justify-content: space-between;align-items: flex-start;}
.imgL  img {width:clamp(9.375rem, -4.594rem + 29.1vw, 18.688rem);  height: auto;}
.imgL > div {width:clamp(36.25rem, 10rem + 54.69vw, 53.75rem);}
.border{border:1px solid #ff7bac;border-radius: 20px;padding:25px 30px;}
.fright{display:inline-flex;align-items: center;}
/*７つの特徴*/
.feature li{display:flex; flex-direction: column;}
.feature img{witdh:90px;margin:auto;display: block;}
.feature h3{text-align:center; font-weight:bold;padding:20px 0;font-size:clamp(1.125rem, 0.938rem + 0.39vw, 1.25rem);}
.feature p{background:#FFF;padding:15px;border-radius: 10px;flex-grow: 1;}
#feature::after {
	content:"";
	display: block;
	height:100px;
	width:100%; 
    background:url("../images/text-loop.webp") repeat-x;
	background-size: auto 95px;
    animation: loop 20s linear infinite;
}
@keyframes loop {
  0%   { background-position: 0 center; }
  100% { background-position: -1100px center; } /* 画像の横サイズに合わせる */
}

/*見学会の案内*/
#kengaku .imgL{align-items: center;justify-content: space-between;}
#kengaku .imgL img {width:clamp(18.75rem, 7.5rem + 23.44vw, 26.25rem);}
#kengaku .imgL div {width:clamp(26.75rem, -2.125rem + 60.16vw, 46rem);}
ul.list li{position:relative;padding-left:15px;margin-bottom: 15px;}
ul.list li::before{ 
	content: "";
	position: absolute;
	left: 0;
	top: 17px;
	transform: translateY(-50%); /* 垂直中央揃え */
	background: #ff99c4;
	width: 6px;
	height: 6px;
	border-radius: 50%; /* 丸にしたい場合 */
}
.cont div{display: flex;flex-direction: column;}
.cont ul,.cont dl{flex-grow:1;}
.box{border:1px solid #ddd;padding:20px;border-radius: 5px;}
.box li{display: flex; }
.box li:not(:last-child){margin-bottom: 10px;padding-bottom:10px;border-bottom: 1px dotted #ddd;}
.box span:first-child{width:100px;}
.box span:last-child{width:calc(100% - 100px);}

.faq dt{color:#004c84; font-weight: 600;}
.faq dd{ margin-bottom: 10px;}

/*先輩の声*/
#interview img{margin:auto;}
#interview h3{margin:20px 0; text-align: center;}
#interview dl{background:#FFF;padding:15px;border-radius: 15px;flex-grow: 1;}
#interview dt{font-weight: 800;}
.fcP{color:#d4145a !important;}
#interview dd{margin-bottom: 1rem;}
#interview .flexbox div{display:flex;flex-direction: column;}

/*募集要項*/
#bg_line{border-bottom: 30px solid #fff1f4;}
.recruit h3{font-weight:800;}
.recruit h3::before{content:"●"; color:#ff99c4;margin-right: 10px;}
.recruit table{border-collapse: collapse;width:100%;}
.recruit th,.recruit td{border:1px solid #ddd; padding:clamp(0.625rem, -0.313rem + 1.95vw, 1.25rem);}
.recruit th{font-weight: 800;width:25%;}

/*応募フォーム*/
.w_short{width:200px !important;}

/* 1280px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1280px){
	.gmap{
		bottom:5px;
		right:5%;
	}
}
/* 1025px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1025px){
	/* 共通 
	--------------------------------------*/
	a[href^="tel:"] {pointer-events: auto;}
	.sp_non{display: none !important;}
	.inner-box{max-width:95%;padding:60px 0; margin:inherit;margin: auto;}
	/* ヘッダー
	--------------------------------------*/
	.head-bnr{top:inherit;bottom:0;right:inherit;left:50%;width:clamp(22.5rem, 20.1rem + 9.6vw, 26.25rem);transform:translateX(-50%); }
	/* フッター
	--------------------------------------*/
	footer .flexbox > div{width:100% !important;}
	footer .copy{padding:10px 0 40px;font-size: 14px;}
	#kengaku .imgL{align-items: flex-start;}
	.c4 > *{width:31.5%;}
}
/* 768px以下から
------------------------------------------------------------*/
@media only screen and (max-width:768px){
	.c2 > *{width: 100%;}
	.c3 > *{width: 48.5%;}
	.c4 > *{width:48.5%;}
	.flexbox.c3{column-gap: 3%;}
	.flexbox.c4{column-gap: 2.75%;}
	.sp_non{display: none;}

	.hamburger-button {
		position:fixed;
		top:10px;
		right:10px;
		align-items: center;
		background-color: #FFF; /* カスタム */
		border: 1px solid #2350b5; /* カスタム */
		border-radius: 5px;
		display: flex;
		flex-direction: column;
		gap: 7px; /* カスタム */
		height: 60px; /* カスタム */
		width: 60px; /* カスタム */
		z-index: 9999;
	}
	/*フッター*/
	footer .copy{padding-bottom:70px;}
	/*導入コンテンツ*/
	.imgL,#kengaku .imgL{justify-content: center;}
	.imgL  img {width:clamp(11.25rem, 0.094rem + 23.24vw, 18.688rem);  height: auto;}
	.imgL > div {width:100%; margin: auto;}
	.border{border:1px solid #ff7bac;border-radius: 20px;padding:25px 30px;}
	/*７つの特徴*/
	.feature li{display:flex; flex-direction: column;}
	.feature img{witdh:90px;margin:auto;display: block;}
	#feature::after {height: 60px;background-size: auto 60px;}
	/*先輩の声*/
	#interview img{max-width:80%;}
}
/* 450px以下から
------------------------------------------------------------*/
@media only screen and (max-width:450px){

	main img{display:block;margin-right:auto;margin-left:auto;max-width:100%;}
	.center_l{text-align: left;}	
	
	/* 共通 */
	.c3 > *,	.c4 > *{width: 100%;}

	.flexbox.c4{column-gap: 3%;}
	.c2,.c3,.c4{row-gap: 15px;}
	/*ドロワー*/
	#hamburger:checked ~ ul.drawer-nav {
		width: 100%;
	}
	/*導入コンテンツ*/
	.fright {display:inline-flex;flex-direction: column;}
	/*募集要項*/
	.recruit th,.recruit td{width:100%;display: block;}
	.recruit th{background:#f7f7f7;border-bottom: none;}
	.recruit tr:not(:last-child) td{border-bottom: none;}
	/*フッター*/
	.Fslider{padding-bottom:90px;}
	.gmap{bottom:0px;right:0;}
}