@charset "utf-8";
/* CSS Document */

/* 基本設定 ---------------------------------------------------------------------------*/
@media (max-width: 768px) {
	html { -webkit-text-size-adjust: 100%; }
	body { font-size: 1.5rem; }
}

@media screen and (max-width : 768px) {
	.bottom-img img {
		object-fit: cover;
		width: 900px;
	}
}


/*タイトルの設定 ---------------*/
@media (max-width: 768px) {
	h2 { font-size: 2.3rem; }
}





/* ヘッダー ---------------------------------------------------------------------------*/
header .header_top {
	min-width: auto;
	text-align: center;
}

@media screen and (max-width : 576px){
	header .header_top { width: 90%; }
}


/* ロゴ ---------------*/
header .logo img { width: 280px; }

@media screen and (max-width : 576px){
	header .logo { text-align: left; }
	header .logo img { width: 248px; }
}


/* バーガーメニュー ---------------*/
header .btn-gnavi {
	width: 44px;
	height: 44px;
	background: #f38f00;
	border-radius: 2px;
	position: fixed;
	top: 16px;
	right: 12px;
	z-index: 99999;
	cursor: pointer;
	-webkit-transition: all 400ms;
	transition: all 400ms;
}
header .btn-gnavi span {
	width: 24px;
	height: 3px;
	background: #fff;
	border-radius: 10px;
	position: absolute;
	left: 10px;
	-webkit-transition: all 400ms;
	transition: all 400ms;
}
header .btn-gnavi span:nth-child(1) { top: 16px; } 
header .btn-gnavi span:nth-child(2) {	top: 25px; }

header .btn-gnavi.open { background: none; }
header .btn-gnavi.open span { width: 26px; }
header .btn-gnavi.open span:nth-child(1),
header .btn-gnavi.open span:nth-child(2) {
	top: 20px;
	left: 8px;
}
header .btn-gnavi.open span:nth-child(1) {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
header .btn-gnavi.open span:nth-child(2) {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


@media screen and (max-width : 576px){
	header .btn-gnavi {
		width: 36px;
		height: 36px;
		top: 18px;
		right: 8px;
	}
	header .btn-gnavi span {
		width: 20px;
		height: 3px;
		left: 8px;
	}
	header .btn-gnavi span:nth-child(1) { top: 13px; } 
	header .btn-gnavi span:nth-child(2) {	top: 21px; }
	header .btn-gnavi.open span:nth-child(1),
	header .btn-gnavi.open span:nth-child(2) {
		top: 17px;
		left: 5px;
	}
}


/* ナビ ---------------*/
header #wrapper { border-bottom-width: 4px; }
header #global-navi {
	position: fixed;
	top: 0;
	right: -360px;
	width: 360px;
	min-width: auto;
	height: 100svh;
	padding-top: 63px;
	background: rgba(50,50,50,0.9);
	font-size: 16px;
	z-index: 9999;
}
header #global-navi ul { flex-wrap: wrap; }
header #global-navi ul li { width: 100%; }
header #global-navi ul li a {
	background: none;
	border: none;
	border-bottom: 1px dotted #fff;
	border-radius: 0;
}


/*住所・TEL・営業時間 ---------------*/
header .right.flexbox {
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 3rem;
	position: unset;
}
header .right .add { color: #fff; }
header .right .tel_no {
	margin-top: 8px;
	margin-bottom: 16px;
	color: #f38f00;
}
header .right .open_hour .ttl {
	background: #cacaca;
	color: #333;
	padding-top: .2rem;
	padding-bottom: .2rem;
}
header .right .open_hour .time { padding: .5rem 1rem; }





/* フッター ---------------------------------------------------------------------------*/

/* ナビ ---------------*/
@media screen and (max-width : 768px){
	footer .fotter_middle .content { gap: 56px 8%; }
	footer .fotter_middle .subnav {
		width: 46%;
		max-width: 240px;
	}
	footer .fotter_middle .subnav .ttl { border-top: 1px dashed; }
}
@media screen and (max-width : 576px){
	footer .fotter_middle .subnav.item05 { margin-top: 2rem; }
}
@media screen and (max-width : 400px){
	footer .fotter_middle .content { padding-top: 40px; }
	footer .fotter_middle .subnav {
		width: 92%;
		max-width: unset;
	}
	footer .fotter_middle .subnav.item05 { margin-top: 0; }
}


/* ページトップ ---------------*/
#pagetop { bottom: 4%; }






/* トップページ ---------------------------------------------------------------------------*/
#toppage .mv .inner {
	flex-wrap: wrap;
	min-width: auto;
}
#toppage .mv .mv-text {
	order: 2;
	width: 50%;
	min-width: 304px;
	margin-top: 0;
}
#toppage .mv .mv-img {
	order: 1;
	width: 80%;
	min-width: 340px;	
}

@media screen and (max-width : 768px) {
	#toppage .mv .bottom-img img {
		object-fit: cover;
		width: 900px;
	}
	#toppage .mv .inner {
		padding-bottom: 120px;
	}
	#toppage .mv .mv-img .mv-parts.parts01 {
		top: -10%;
		left: -5%;
		scale: unset;
	}
	#toppage .mv .mv-img .mv-parts.parts02 {
		bottom: 5%;
		right: -7%;
		scale: -1 1;
	}
}


/*TOP：見学・説明会について　---------------*/
@media screen and (max-width : 768px) {
	#kokuchi .content { padding: 40px; }
	#kokuchi .text .btn a { width: 240px; }
}

@media screen and (max-width : 576px) {
	#kokuchi .content {
		width: 100%;
		padding: 32px 16px;
	}
	#kokuchi h2 { letter-spacing: 0; }
	#kokuchi .text ul {
		padding-left: 12px;
		padding-right: 12px;
	}
	#kokuchi .text li { padding-left: 1.5rem; }
	#kokuchi .image { display: none; }
}

@media screen and (max-width : 400px) {
	#kokuchi .inner { padding: 40px 5%; }
}



/*TOP：施設紹介　---------------*/
@media screen and (max-width : 768px) {
	.shisetsu .content {
		min-width: 340px;
		padding-bottom: 136px;
	}
	.shisetsu .motto li { width: 100%; }
}

@media screen and (max-width : 576px){	
	.shisetsu .strong {
		margin-bottom: 24px;
		text-align: justify;
		font-size: 1.1em;
		line-height: 1.5;
	}
	.shisetsu .sengen li {
		padding-top: 1rem;
		padding-bottom: 1rem;
		padding-left: 3.2rem;
		line-height: 1.8;
	}
	.shisetsu .sengen li::before {
		font-size: 2.1rem;
		top: 6.2%;
	}
}




/*TOP：お知らせ　---------------*/
@media screen and (max-width : 768px) {
	.topinfo .content {
		width: 95%;
		padding-bottom: 98px;
	}
	.topinfo .memo-area { padding-top: 8px; }
	.topinfo .memo-area h2 {
		background: none;
		color: #07ad00;
	}
}
@media screen and (max-width : 576px) {
	.topinfo iframe { height: 400px; }
}



/*TOP：アクセス　---------------*/
.access .content {
	justify-content: center;
	gap: 40px 0;
	padding-top: 0;
}
.access .map-area { width: 100%; }

@media screen and (max-width : 576px) {
	.access th,
	.access td {
		display: block;
		width: 100%;
		font-size: 1.4rem;
	}
	.access th { padding-bottom: 0; }
	.access td {
		padding-top: 0;
		padding-left: 1.5em;
	}
	.access iframe { height: 250px; }
}






/* サービス・料金 ---------------------------------------------------------------------------*/
#service .day_flow { width: 90%; }
#fee .jikofutan { width: 85%; }

@media screen and (max-width : 768px) {
	#service .shien {
		width: 93%;
		min-width: auto;
	}
	#service .day_flow .hattatsushien div,
	#service .day_flow .dayservice div {
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}
	#service .day_flow th,
	#service .day_flow td {
		display: block;
		width: 100%;
		border-top: none;
	}
	#service .day_flow th {
		padding-top: .25rem;
		padding-bottom: .25rem;
	}
	#service .day_flow tr:first-child th { border-top: 1px solid #aaa; }
	#service .day_flow td {
		padding-right: 1rem;
		padding-left: 1rem;
		text-align: center;
	}
	#fee .h1 {
		padding-right: .5em;
		padding-left: .5em;
		background-position: 90%;
	}
	#fee p {
		width: 100%;
		margin-right: auto;
		margin-left: auto;
		text-align: justify;
	}
	#fee th,
	#fee td {
		display: block;
		width: 100%;
		text-align: center;
	}
	#fee th {
		padding-top: .5rem;
		padding-bottom: .5rem;
	}
	#fee td { margin-bottom: 16px; }
}

@media screen and (max-width : 576px) {
	#service .shien td {
		display: block;
		width: 100%;
		border-bottom: none;
	}
	#service .shien tr:last-child td:last-child { border-bottom: 1px solid #aaa; }
	#service .shien .shubetsu td {
		display: table-cell;
		width: 70%;
		border: 1px solid #bbb;
	}
	#service .shien p { text-align: left; }
	
	#fee .content { width: 90%; }
	#fee .jikofutan { width: 100%; }
}





/* 求人情報 ---------------------------------------------------------------------------*/
@media screen and (max-width : 576px) {
	#recruit .content { width: 90%; }
	#recruit h3 { letter-spacing: .1em; }
}






/* お問い合わせ ---------------------------------------------------------------------------*/
#toi-form #form-tbl {
	width: 100%;
	max-width: 640px;
}

@media screen and (max-width : 768px) {
	#toi-form:not(.thanks) .summary {	text-align: left; }
	#toi-form #form-tbl { margin-top: 5rem; }
}

@media screen and (max-width : 576px) {
	#toi-form th,
	#toi-form td {
		display: block;
		width: 100%;
	}
	#toi-form th { padding-bottom: 4px; }
	#toi-form.main td { padding-bottom: 24px; }
	#toi-form span.red { right: 0; }


	/* 送信確認・エラー・サンクスページ　---------------*/
	#toi-form.conf tr th,
	#toi-form.conf tr td {
		display: block;
		width: 100%;
		border: none;
	}
	#toi-form.conf tr th { padding-bottom: 0; }
	#toi-form.conf tr td {
		border-bottom: 1px solid #aaa;
		padding-top: .5em;
		padding-bottom: .5em;
	}
}





/* プライバシーポリシー ------------------------------------------------------------------*/
#policy h1 { background-position: 100%; }

@media screen and (max-width : 576px){
	#policy h1 {
		font-size: 2.6rem;
		letter-spacing: .08em;
	}
	#policy p { font-size: 1.3rem; }
	#policy ul { padding: 24px 24px 8px 32px; }
	#policy li { font-size: 1.3rem; }
}




