@charset "UTF-8";

html {
	scroll-behavior: smooth;
}

.pagetop {
	height: 40px;
	width: 40px;
	position: fixed;
	right: 10px;
	bottom: 10px;
	background: #000;
	border: #fff solid 2px;
	opacity: 0.8;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 999;
}

.pagetop__arrow {
	height: 10px;
	width: 10px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: translateY(20%) rotate(-45deg);
}

body {
	color: #000;
	background-color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	-webkit-text-size-adjust: 100%;
	/*クロームバグ*/
	font-size: 1.4rem;
}

p {
	line-height: 1.8;
	max-height: 100%;
	/*クロームバグ*/
}

h2,
h3 {
	font-size: 2.2rem;
	font-weight: 900;
	line-height: 1.4;
	margin-bottom: 2vw;
}

img {
	max-width: 100%;
}

header h1 a:hover,
.inq li:hover {
	opacity: 0.7;
	transition: all 0.5s ease;
}

nav ul {
	display: flex;
	align-items: flex-end;
	padding: 2vw 0;
}

nav ul li {
	width: 33.3%;
	border-right: 2px solid #ccc;
}

nav ul li:last-child {
	border-right: none;
}

nav ul li a {
	display: block;
	width: 100%;
	padding: 0 2vw;
}

nav ul li img {
	display: block;
	padding-bottom: 2vw;
}

nav ul li#m1 img {
	border-bottom: 1vw solid #CAF2F7;
}

nav ul li#m2 img {
	border-bottom: 1vw solid #F9F1D5;
}

nav ul li#m3 img {
	border-bottom: 1vw solid #FAE3EF;
}

nav ul li#m1 img:hover {
	border-bottom: 1vw solid #A8D3FF;
	transition: all 0.5s ease;
}

nav ul li#m2 img:hover {
	border-bottom: 1vw solid #FFDE83;
	transition: all 0.5s ease;
}

nav ul li#m3 img:hover {
	border-bottom: 1vw solid #f8a9f4;
	transition: all 0.5s ease;
}

section h1 {
	text-align: center;
	padding: 4vw 5vw 0;
}

section#sch h1 img {
	max-width: 45%;
}

section#rep h1 img {
	max-width: 35%;
}

section#cat h1 img {
	max-width: 52%;
}

section#inq h1 img {
	max-width: 45%;
}

section .clred {
	padding: 2vw;
	gap: 2vw;
	display: flex;
	align-items: start;
}

section .clred img.image {
	width: 30%;
}

section#sch .clred {
	background: linear-gradient(180deg, rgb(202, 242, 247), rgb(255, 255, 255));
}

section .sideby {
	display: flex;
	align-items: stretch;
	padding: 2vw;
	gap: 2vw;
	background: linear-gradient(180deg, white 0%, white 28.4vw, rgb(202, 242, 247) 28.4vw, rgb(202, 242, 247) 100%);
}

section .sideby div {
	width: 50%;
	background-color: #fff;
	border-radius: 0 0 4% 4%;
}

section .sideby div:first-child li:last-child {
	list-style: none;
}

section .sideby div h3 span {
	display: block;
	padding: 1vw 0 0 1vw;
}

section .sideby ul {
	list-style: disc;
	padding-left: 3vw;
}

section .sideby ul li {
	margin-bottom: 1vw;
}

section#sch .sld {
	background-color: rgb(202, 242, 247);
 padding: 0 2vw;
	/* text-align: center; */
}

section#sch .sld table {
	margin: 0 auto;
	line-height: 1.6;
}

section#sch .sld table tr:first-child {
	border-bottom: 4px solid #00BAE9;
}

section#sch .sld table th {
	text-align: right;
	white-space: nowrap;
}

section #line {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 1vw;
	padding: 1vw;
}

section .ph,
footer .ph {
	font-size: 2.4rem;
	font-weight: 900;
	letter-spacing: 0.1em;
}
section .ph a,
footer .ph a {
	text-decoration: underline;
}
section .ph a:hover,
footer .ph a:hover {
	text-decoration: underline;
	color: #006de9;
}

section .inq {
	display: flex;
	justify-content: center;
	padding: 2vw 0 5vw 0;
}

section .inq li {
	background-color: #000;
	color: #fff;
	/* font-size: 1.6rem; */
	font-weight: 900;
	border-radius: 1vw;
}

section .inq li a {
	display: block;
	width: 100%;
	padding: 2vw;
}


section#rep .clred {
	background: linear-gradient(180deg, rgb(249, 241, 213), rgb(255, 255, 255));
}

section#rep .scroll,
section#cat .scroll {
	width: 100%;
	height: 400px;
	overflow: auto;
	outline: 1px solid #ccc;
}

section#rep table {
	width: 100%;
}

section#rep table tr {
	line-height: 1.5;
}

section#rep table td,
section#rep table th {
	background-color: #FBF7E7;
	padding: 1vw;
}

section#rep table tr:nth-child(odd) td,
section#rep table tr:nth-child(odd) th {
	background-color: #fff;
}

section#cat .clred {
	background: linear-gradient(180deg, rgb(250, 227, 239), rgb(255, 255, 255));
}
section#cat .clred a {
	text-decoration: underline;
}
section#cat .clred a:hover {
	color: #ff67ff;
	text-decoration: underline;
}

section#rep h3,section#cat h3 {
	padding-top: 4vw;
}

section#cat table td {
	border: none;
	padding: 10px 3px;
	line-height: 2.2;
	vertical-align: middle;
	text-align: center;
}

section#cat table td::before {
	content: attr(data-label);
	font-size: 12px;
	color: #666;
	display: block;
	margin-bottom: 0.25rem;
}

section#cat table tr {
	background: #fff;
}

section#cat table tr:nth-child(even) {
	background: #fff8fc;
}

section#cat table img {
	display: block;
	height: auto;
	max-width: 100%;
	margin: 0 auto;
	margin-bottom: 0.5rem;
}

section#inq .clred {
	background-color: #F0F0F0;
}

section#inq iframe {
	width: 100%;
	height: 1000px;
}

section#map iframe {
	width: 100%;
	height: 400px;
}

footer {
	background-color: #0D2F55;
	background-image: url(../img/footer_back.png);
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	padding: 1vw;
	text-align: center;
}

footer h1 img {
	width: 50%;
}

footer .sideby {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 2vw;
	text-align: left;
}

footer p {
	padding: 1vw 0;
}
img.qr {
 width: 120px;
}


@media (max-width: 1000px) {
	body {
		font-size: 1.2rem;
	}

	p {
		line-height: 1.6;
	}

	h2,
	h3 {
		font-size: 1.6rem;
		font-weight: 900;
		line-height: 1.4;
		margin-bottom: 2vw;
	}

	section .ph,
	footer .ph {
		font-size: 1.6rem;
		font-weight: 900;
		letter-spacing: 0em;
	}
}

@media (max-width: 640px) {
	body {
		font-size: 1.1rem;
	}

	p {
		line-height: 1.4;
	}

	h2,
	h3 {
		font-size: 1.4rem;
		font-weight: 900;
		line-height: 1.2;
		margin-bottom: 2vw;
	}

	h2 br,
	h3 br {
		display: none;
	}

	section .ph,
	footer .ph {
		font-size: 1.4rem;
		font-weight: 900;
		letter-spacing: 0em;
	}

	section .clred {
		flex-flow: column;
	}

	section .sideby {
		flex-flow: column;
	}

	section .sideby div {
		width: inherit;
		border-radius: 4%;
	}

	section .sideby ul {
		padding-left: 6vw;
	}
	section .sideby ul li {
		font-size: 90%;
	}

	section #line {
		flex-flow: column;
		align-items: center;
		text-align: center;
	}

	section#sch h1 img {
		max-width: 90%;
	}

	section#rep h1 img {
		max-width: 70%;
	}

	section#cat h1 img {
		max-width: 100%;
	}

	section#inq h1 img {
		max-width: 90%;
	}

	footer h1 img {
		width: 70%;
	}

	footer .sideby {
		flex-flow: column;
		align-items: center;
		text-align: center;
	}


	section .clred img.image {
		width: 100%;
		height: 40vw;
		object-fit: cover;
		object-position: 60% 70%;
	}

	section table th {
		word-break: break-word;
	}

	footer p {
		font-size: 80%;
	}

}