@charset "UTF-8";

/* header */
.site_header {position:relative;}

@media not all and (max-width: 1010px) {

	.site_header {
		align-items:center;
		display:-ms-grid;
		display:grid;
		grid-template-areas:'a a a a' 'b c d e';
		-ms-grid-columns:1fr 260px 1fr 720px;
		grid-template-columns:1fr 260px 1fr 720px;
		-ms-grid-rows:20px 1fr;
		grid-template-rows:20px 1fr;
	}

	.site_header_line {
		-ms-grid-column:1;
		-ms-grid-column-span:4;
		-ms-grid-row:1;
		grid-area:a;
	}

	.site_title {
		-ms-grid-column:2;
		-ms-grid-row:2;
		grid-area:c;
	}

	.site_nav {
		-ms-grid-column:4;
		-ms-grid-row:2;
		grid-area:e;
	}

}

@media not all and (max-width: 1200px) {

	.site_header {
		-ms-grid-columns:1fr 260px 1fr 70%;
		grid-template-columns:1fr 260px 1fr 70%;
	}

}

@media not all and (max-width: 1450px) {

	.site_header_line {padding:0 calc(50% - 710px);}

}

@media (max-width: 1450px) {

	.site_header_line {padding:0 10px;}

}

@media not all and (max-width: 600px) {

	.site_header_line .sp_none {margin:0 1em;}

}

@media (max-width: 600px) {

	.site_header_line .sp_none {
		height:0;
		overflow:hidden;
		visibility:hidden;
		width:1em;
	}

}

@media not all and (max-width: 1010px) {

	.site_title {
		font-size:37px;
		line-height:60px;
	}

}

@media (max-width: 1010px) {

	.site_title {
		font-size:20px;
		line-height:60px;
		text-align:center;
	}

}

@media not all and (max-width: 1010px) {

	.site_nav_list {
		align-items:center;
		box-sizing:border-box;
		display:flex;
		height:100%;
		justify-content:space-between;
		margin:0;
		padding:0;
		width:100%;
	}

	.site_nav_list > li:first-child {display:none;}

	.site_nav_list > li {
		box-sizing:border-box;
		display:block;
		font-family:'Noto Sans JP';
		font-size:16px;
		line-height:1;
		margin:0;
		padding:0;
		text-align:center;
	}

	.site_nav_list > li.nav_tel {
		background-image:linear-gradient(145deg, transparent 0, transparent 60px, #c7edf8 60px, #c7edf8 100%);
		box-sizing:border-box;
		display:flex;
		flex-direction:column;
		flex-wrap:wrap;
		justify-content:center;
		height:100%;
		padding:0 10px 0 130px;
		text-align:left;
		white-space:nowrap;
	}

	.site_nav_list > li > a {
		box-sizing:border-box;
		color:inherit;
		text-decoration:none;
	}

	.header_sp_btn {display:none;}

	.nav_tel_1 {
		color:#244CA1;
		display:block;
		font-size:14px;
	}

	.nav_tel_2 {
		display:block;
		font-size:22px;
		text-indent:-0.5em;
		text-shadow:
			  #fff  1px 1px 0, #fff -1px -1px 0
			, #fff -1px 1px 0, #fff  1px -1px 0
			, #fff    0 1px 0, #fff    0 -1px 0
			, #fff -1px   0 0, #fff  1px    0 0;
	}

}

@media not all and (max-width: 1400px) {

	.site_nav_list > li {font-size:22px;}

	.site_nav_list > li:not(.nav_tel) span {font-size:20px;}

}

@media (max-width: 1010px) {

	.site_nav[data-sp-nav="open"] {
		background-color:rgba(0, 0, 0, 0.5);
		height:100vh;
		margin:0;
		overflow-y:auto;
		position:fixed;
		top:0;
		width:100%;
		z-index:9999;
	}

	[data-sp-nav="close"] .site_nav_list {display:none;}

	[data-sp-nav="open"] .site_nav_list {
		background:#eee;
		box-sizing:border-box;
		display:block;
		min-height:100%;
		margin:0;
		padding:80px 0 50px;
		position:absolute;
		right:0;
		width:80%;
		max-width:700px;
	}

	.site_nav_list > li {
		color:#333;
		min-height:40px;
		list-style:none;
		margin:0;
		padding:10px 0;
		width:100%;
	}

	.site_nav_list > li br {display:none;}

	.site_nav_list > li:nth-of-type(even) {background-color:rgba(255, 255, 255, 0.5);}

	.site_nav_btn {
		color:inherit;
		display:block;
		font-size:1rem;
		font-weight:bold;
		height:100%;
		line-height:2.5;
		text-align:left;
		text-indent:2em;
		text-decoration:none;
		width:100%;
	}

	.header_sp_btn {
		background-color:transparent;
		border:none;
		display:block;
		height:40px;
		line-height:1;
		margin:0;
		padding:0;
		position:absolute;
		right:10px;
		top:30px;
		width:40px;
		z-index:3;
	}

	.header_sp_btn:focus {outline:none;}

	.header_sp_btn::before {
		height:40px;
		left:0;
		position:absolute;
		top:0;
		width:40px;
	}

	[data-sp-nav="open"] .header_sp_btn::before {
		content:'×';
		font-size:40px;
	}

	[data-sp-nav="close"] .header_sp_btn::before {
		background:url('../images/menu.png') center/contain no-repeat;
		content:'';
	}

	.nav_tel {display:none;}

}

/* main */
.main_box {display:block;} /* flow-root */

.main_box::after { /* flow-root */
	clear:both;
	content:'';
	display:block;
}

@media not all and (max-width: 1060px) {

	.main_box {padding:0 calc(50% - 520px) 0.1px;} /* bottom 相殺させない */

}

@media (max-width: 1060px) {

	.main_box {padding:0 20px 0.1px;} /* bottom 相殺させない */

}

/* footer */
@media not all and (max-width: 1040px) {

	.footer_box {padding:35px calc(50% - 500px) 15px;}

}

@media (max-width: 1040px) {

	.footer_box {padding:35px 0 15px;}

}

@media not all and (max-width: 750px) {

	.footer_nav_list {padding:0 0 0 180px;}

}

@media (max-width: 750px) and (max-width: 550px) {

	.footer_nav_list {padding:30px 0 0;}

}

@media (min-width: 550px) {

	.footer_nav_list {
		display:flex;
		flex-wrap:wrap;
		justify-content:space-around;
		position:relative;
	}

	.footer_nav_list > li.footer_home {
		font-size:10px;
		line-height:2;
		left:20px;
		margin:0;
		position:absolute;
		top:0;
	}

	.footer_nav_list > li:not(.footer_home) {
		font-size:13px;
		line-height:1.5;
		margin:0;
	}

}

@media not all and (min-width: 550px) {

	.footer_nav_list {
		display:block;
		text-align:center;
	}

	.footer_nav_list > li.footer_home {
		font-size:20px;
		line-height:1.2;
		margin:0 auto 40px;
	}

	.footer_nav_list > li:not(.footer_home) {
		font-size:15px;
		line-height:1.2;
		margin:0 auto 20px;
	}

}

@media not all and (max-width: 500px) {

	.sp_footer_btn {display:none;}

}

@media (max-width: 500px) {

	.sp_footer_btn {
		bottom:0;
		display:flex;
		margin:0;
		position:relative;
		position:sticky;
		padding:0;
		width:100%;
		z-index:2;
	}

	.sp_footer_btn > li {
		display:block;
		text-align:center;
		width:calc(100% / 3);
	}

	[data-footer-btn] {
		box-sizing:border-box;
		color:#fff;
		display:block;
		height:100%;
		padding:10px;
		text-decoration:none;
		width:100%;
	}

	[data-footer-btn="tel"] {background-color:#244ca1;}

	[data-footer-btn="map"] {background-color:#65b3e3;}

	[data-footer-btn="time"] {background-color:#4489b4;}

}

/***/
[data-section-title="#65b3e3"] {background-color:#65b3e3;}

[data-section-title="#65b3e3"]::after {background-image:linear-gradient(-135deg, transparent 50%, #65b3e3 50%);}

[data-section-title="#244ca1"] {background-color:#244ca1;}

[data-section-title="#244ca1"]::after {background-image:linear-gradient(-135deg, transparent 50%, #244ca1 50%);}

[data-img-shift="#c7edf8"]::after {background-color:#c7edf8;}

@media not all and (max-width: 1000px) {

	[data-contents-title] {font-size:calc(50 / 1920 * 100vw);}

}

@media (max-width: 1000px) {

	[data-contents-title] {font-size:25px;}

}

/** aisatsu */
.aisatsu {position:relative;}

.aisatsu p {margin:1.5em 2em;}

.aisatsu_bnr {width:780px;}

@media not all and (max-width: 750px) {

	.aisatsu {
		display:-ms-grid;
		-ms-grid-columns:auto 1fr;
		-ms-grid-rows:auto 1fr auto;
	}

	[data-section-title="#65b3e3"] {
		-ms-grid-column:2;
		-ms-grid-row:1;
	}

	.aisatsu_img_box {
		-ms-grid-column:1;
		-ms-grid-row:1;
		-ms-grid-row-span:2;
	}

	.aisatsu p {
		-ms-grid-column:2;
		-ms-grid-row:2;
	}

	.aisatsu_bnr {
		-ms-grid-column:1;
		-ms-grid-column-span:2;
		-ms-grid-row:3;
	}

	.aisatsu {
		display:grid;
		grid-template-areas:'b a' 'b c' 'd d';
		grid-template-columns:auto 1fr;
		grid-template-rows:auto 1fr;
	}

	.aisatsu::after {
		border:1px solid #244ca1;
		border-radius:33px;
		display:block;
		content:'';
		height:calc(100% - 10px);
		left:30px;
		padding:0;
		position:absolute;
		top:10px;
		width:calc(100% - 30px);
		z-index:-1;
	}

	[data-section-title="#65b3e3"] {grid-area:a;}

	.aisatsu_img_box {
		margin:-10px 0 0;
		grid-area:b;
	}

	.aisatsu_bnr {grid-area:d;}

}

@media (max-width: 750px) {

	.aisatsu {
		border:1px solid #244ca1;
		margin:30px auto;
		padding:0;
		width:100%;
	}

	.aisatsu_img_box {
		float:left;
		margin:10px;
		padding:10px;
		max-width:40%;
	}

}

/** note_box */
.note_text {width:25em;}

@media not all and (max-width: 950px) {

	.note_box {width:calc(100% - 5em);}

	.note_title {left:-2.5em;}

}

@media (max-width: 950px) {

	.note_box {width:100%;}

	.note_title {left:0;}

}

@media not all and (max-width:  700px) {

	.note_box {font-size:1.875rem;}

	.note_text {font-size:1.125rem;}

	.note_box::after {
		bottom:-50px;
		height:172px;
		right:-0.5em;
		width:4.5em;
	}

}

@media (max-width: 700px) {

	.note_box {font-size:0.875rem;}

	.note_text {font-size:0.75rem;}

	.note_box::after {
		bottom:-10px;
		height:100%;
		right:-10px;
		width:35px;
	}

}

/** timetable */
@media not all and (max-width:  700px) {

	.timetable {
		font-size:1.2rem;
		margin:30px 18px 28px;
		width:calc(100% - 36px);
	}

	.timetable::before {
		border:14px solid #65b3e3;
		border-radius:14px;
		box-sizing:border-box;
		content:'';
		height:calc(100% + 56px);
		left:-18px;
		position:absolute;
		top:-28px;
		width:calc(100% + 36px);
		z-index:-2;
	}

	.timetable tr th:first-child, .timetable tr td:first-child {
		width:140px;
	}

}

@media (max-width: 700px) {

	.timetable {
		font-size:0.75rem;
		margin:0;
		width:100%;
	}

	.timetable tr th:first-child, .timetable tr td:first-child {
		width:6em;
	}

}

/** fukei */
.fukei_list li {display:block;} /* flow-root */

.fukei_list li::after { /* flow-root */
	clear:both;
	content:'';
	display:block;
}

.fukei_list li:nth-of-type(odd) [data-img-shift="fukei"]::after {background-color:#65b3e3;}

.fukei_list li:nth-of-type(even) [data-img-shift="fukei"]::after {background-color:#c7edf8;}

@media not all and (max-width: 750px) {

	.fukei_list li:nth-of-type(odd) [data-img-shift="fukei"] {
		float:left;
		margin:0 20px 0 0;
	}

	.fukei_list li:nth-of-type(even) [data-img-shift="fukei"] {
		float:right;
		margin:0 0 0 20px;
	}

}

@media (max-width: 750px) {

	.fukei_list li [data-img-shift="fukei"] {
		margin:20px auto;
		max-width:100%;
	}

}

@media not all and (max-width: 950px) {

	[data-back-img] {position:relative;}

	[data-back-img]::before {
		display:block;
		position:absolute;
		z-index:1;
	}

	[data-back-img="3"]::before {
		bottom:10px;
		content:url('../images/illust_03.png');
		right:50px;
	}

	[data-back-img="4"]::before {
		bottom:10px;
		content:url('../images/illust_04.png');
		right:10px;
	}

	[data-back-img="5"]::before {
		bottom:10px;
		content:url('../images/illust_05.png');
		right:300px;
	}

}

/** pic */
.pic_list {display:block;} /* flow-root */

.pic_list::after {
	clear:both;
	content:'';
	display:block;
}

@media not all and (max-width: 850px) {

	.pic_list li {width:calc((100% - 50px) / 3);}

	.pic_list li:nth-of-type(3n + 1) {
		clear:left;
		margin:0 0 30px;
	}

	.pic_list li:not(:nth-of-type(3n + 1)) {margin:0 0 30px 25px;}

}

@media (min-width: 600px) and (max-width: 850px) {

	.pic_list li {width:calc(50% - 12.5px);}

	.pic_list li:nth-of-type(odd) {
		clear:left;
		margin:0 0 30px;
	}

	.pic_list li:nth-of-type(even) {margin:0 0 30px 25px;}

}

@media (min-width: 600px) {

	.pic_list li {float:left;}

}

@media not all and (min-width: 600px) {

	.pic_list li {
		margin:0 auto 30px;
		width:100%;
	}

}

.pic_img_box {width:320px;}

/** map_box */
.map_box {display:block;} /* flow-root */

.map_box::after { /* flow-root */
	clear:both;
	content:'';
	display:block;
}

@media not all and (max-width: 800px) {

	.map_box_sp {
		float:left;
		margin:30px 20px 0 0;
		width:600px;
	}

}

@media (max-width: 800px) {

	.map_box_sp {
		margin:30px auto;
		width:100%;
	}

}

.info_addr dt {width:8em;}

/* about */
.about_img_box {
	width:260px;
	width:var(--about-img-w);
	max-width:100%;
}

@media not all and (max-width: 750px) {

	.about_list > li {
		min-height:280px;
		margin:30px 0 50px 260px;
		margin:30px 0 50px var(--about-img-w);
		padding:0 20px 20px 0;
		width:calc(100% - 260px);
		width:calc(100% - var(--about-img-w));
	}

	.about_list > li::after {
		left:-260px;
		left:calc(0px - var(--about-img-w));
		width:calc(100% + 260px + 10px);
		width:calc(100% + var(--about-img-w) + 10px);
	}

	.about_img_box {
		left:-290px;
		left:calc(-30px - var(--about-img-w));
		margin:0;
		position:absolute;
		top:-10px;
		z-index:1;
	}

}

@media (max-width: 750px) {

	.about_list > li {
		margin:30px auto 50px;
		padding:0 10px 0.1px; /* bottom 相殺させない */
		width:100%;
	}

	.about_img_box {
		margin:20px auto 40px;
		position:relative;
		z-index:0;
	}

	.about_list > li::after {
		left:10px;
		width:100%;
	}

}

/* setsubi */
.setsubi_box {display:block;} /* flow-root */

.setsubi_box::after { /* flow-root */
	clear:both;
	content:'';
	display:block;
}

.setsubi_list {display:block;}

@media not all and (max-width: 850px) {

	.setsubi_list li, .setsubi_text {width:calc((100% - 80.1px) / 3);}

	.setsubi_list li:nth-of-type(3n + 1) {margin:20px;}

	.setsubi_list li:not(:nth-of-type(3n + 1)) {margin:20px 20px 20px 0;}

	.setsubi_text {margin:40px 20px 20px 0;}

	@supports (display:flow-root) {

		.setsubi_box::after {
			background:url('../images/illust_07.png') center/contain no-repeat;
			bottom:20px;
			height:275px;
			position:absolute;
			right:20px;
			width:230px;
			z-index:1;
		}

	}

}

@media (min-width: 450px) and (max-width: 850px) {

	.setsubi_list li, .setsubi_text {width:calc(50% - 30px);}

	.setsubi_list li:nth-of-type(odd) {margin:20px;}

	.setsubi_list li:nth-of-type(even) {margin:20px 20px 20px 0;}

	.setsubi_text {margin:40px 20px 20px 0;}

}

@media not all and (min-width: 450px) {

	.setsubi_list li, .setsubi_text {
		margin:20px auto;
		width:calc(100% - 40px);
	}

	.setsubi_text {padding:0 20px;}

}

.setsubi_img_box {width:254px;}

/* searvice */
.searvice_list {display:block;} /* flow-root */

.searvice_list::after { /* flow-root */
	clear:both;
	content:'';
	display:block;
}

@media not all and (max-width: 1000px) {

	.searvice_list > li {
		border-image-slice:1;
		border-image-source:linear-gradient(to bottom, transparent 4rem, #65b3e3 4rem, #65b3e3 80%, transparent 80%);
		border-style:solid;
		float:left;
		margin:0;
		width:50%;
	}

	.searvice_list > li:nth-of-type(odd) {
		border-image-width:0 1.5px 0 0;
		padding:0 20px 0 0;
	}

	.searvice_list > li:nth-of-type(even) {
		border-image-width:0 0 0 1.5px;
		padding:0 0 0 20px;
	}

}

@media (max-width: 1000px) {

	.searvice_list > li {
		margin:20px auto;
		padding:0.1px;
		width:100%;
		max-width:500px;
	}

	.searvice_list > li + li {margin-top:60px;}

}

@media (max-width: 500px) {

	.searvice_name {font-size:1.25rem;}

}

.searvice_tel {width:430px;}

@media not all and (max-width: 500px) {

	.searvice_tel {font-size:2.5rem;}

}

@media (max-width: 500px) {

	.searvice_tel {font-size:calc(40 / 600 * 100vw);}

}

@media not all and (max-width: 1000px) {

	.searvice_info::after {
		bottom:-20px;
		content:url('../images/illust_02.png');
		display:block;
		right:calc(50% - 14em - 143px);
		position:absolute;
	}

	.searvice_img_bg {
		margin-top:50px;
		position:relative;
	}

	.searvice_img_bg::after {
		bottom:-20px;
		content:url('../images/illust_06.png');
		display:block;
		right:calc(50% - 10em - 114px);
		position:absolute;
	}

}
