@charset "UTF-8";

/* 森の風 山荘 準備中ページ */
.sanso-header__brand img {
	object-fit: contain;
}

.sanso-page .adult-header {
	padding-right: 30px;
	padding-left: 30px;
}

.sanso-page .adult-header__nav {
	gap: 30px;
}

.sanso-page .adult-header__nav a {
	font-size: 13px;
	white-space: nowrap;
}

.sanso-page .adult-header__contact {
	padding: 14px 20px;
}

.sanso-page .side-project-nav a {
	border: 0;
	border-radius: 0;
}

.sanso-page .side-project-nav a:first-child {
	border-radius: 7px 0 0 0;
}

.sanso-page .side-project-nav a:last-child {
	border-radius: 0 0 0 7px;
}

.sanso-side-nav__school {
	--side-button-color: #2f6f67;
	background: #2f6f67;
}

.sanso-side-nav__adult {
	--side-button-color: #8f514a;
	background: #8f514a;
}

.sanso-side-nav__sanso {
	background: #8f6038;
}

.sanso-side-nav__farm {
	--side-button-color: #4f744e;
	background: #4f744e;
}

.sanso-page .side-project-nav a + a {
	border-top: 1px solid rgba(255, 255, 255, 0.3);
}

/* 大人のしぜん学校：PCヘッダーをしぜん学校と同じ文字サイズ・間隔に統一 */
@media screen and (min-width:641px) {
	.adult-page:not(.sanso-page) .adult-header {
		padding-right: 30px;
		padding-left: 30px;
	}

	.adult-page:not(.sanso-page) .adult-header__brand strong,
	.adult-page:not(.sanso-page) .adult-header__brand small,
	.adult-page:not(.sanso-page) .adult-header__nav a {
		white-space: nowrap;
	}

	.adult-page:not(.sanso-page) .adult-header__nav {
		gap: 30px;
	}

	.adult-page:not(.sanso-page) .adult-header__nav a {
		font-size: 13px;
	}

	.adult-page:not(.sanso-page) .adult-header__contact {
		padding: 14px 20px;
	}
}

.sanso-hero .adult-hero__image {
	object-position: center;
}

.sanso-page {
	color: #382f29;
	background: #f7f5ed;
}

.sanso-section {
	padding: 110px 6%;
	scroll-margin-top: 95px;
}

.sanso-heading {
	margin: 0 auto 58px;
	text-align: center;
}

.sanso-heading .adult-en {
	margin-bottom: 10px;
	color: #7b302b;
}

.sanso-heading h2 {
	margin: 0;
	color: #2f6f67;
	font-family: 'TsunagiGothicSubset', sans-serif;
	font-size: 46px;
	line-height: 1.35;
}

.sanso-heading > p:last-child {
	margin: 20px 0 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 2;
}

.sanso-facility {
	background: #f7f5ed;
}

.sanso-introduction {
	padding: 0;
	background: #e9ecd8;
}

.sanso-introduction .adult-inner {
	width: 100%;
	max-width: none;
}

.sanso-about {
	display: grid;
	grid-template-columns: minmax(0, 50%) minmax(0, 560px);
	align-items: stretch;
	min-height: 700px;
	margin: 0;
}

.sanso-about__photo {
	position: relative;
	z-index: 1;
	min-height: 0;
	margin: 0;
	overflow: hidden;
	border-radius: 0;
	box-shadow: none;
}

.sanso-about__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sanso-about-slideshow > img {
	position: absolute;
	inset: 0;
	border-radius: 0;
	opacity: 0;
	transition: opacity .9s ease;
}

.sanso-about-slideshow > img.is-active {
	opacity: 1;
}

.sanso-about-slideshow__dots {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 18px;
	left: 0;
	display: flex;
	justify-content: center;
	gap: 7px;
}

.sanso-about-slideshow__dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .55);
	box-shadow: 0 1px 4px rgba(55, 46, 38, .25);
	cursor: pointer;
	transition: background .25s ease, transform .25s ease;
}

.sanso-about-slideshow__dots button.is-active {
	background: #fff;
	transform: scale(1.35);
}

.sanso-about__body {
	position: relative;
	z-index: 2;
	align-self: center;
	box-sizing: border-box;
	width: 560px;
	margin-left: -55px;
	padding: 58px 54px;
	background: rgba(255, 255, 255, .96);
	border-radius: 14px;
	box-shadow: 0 16px 38px rgba(55, 46, 38, .11);
}

.sanso-about__body .adult-en {
	margin-bottom: 12px;
	color: #8f6038;
	font-size: 14px;
}

.sanso-about__body h2 {
	margin: 0 0 30px;
	color: #2f6f67;
	font-family: 'TsunagiGothicSubset', sans-serif;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.55;
}

.sanso-about__body > p:not(.adult-en) {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
}

.sanso-about__body > p:not(.adult-en) + p {
	margin-top: 14px;
}

.sanso-facility__title,
.sanso-info-card h3,
.sanso-payment h3 {
	margin: 0 0 28px;
	color: #2f6f67;
	font-size: 22px;
}

.sanso-facility__title {
	text-align: center;
}

.sanso-page .sanso-facility-route {
	margin-top: 0;
}

.sanso-page .sanso-facility-route .access-route__scroll {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 20px;
	padding: 4px 2px;
	overflow: visible;
}

.sanso-page .sanso-facility-route .access-route-card {
	grid-column: span 3;
	width: auto;
	min-width: 0;
}

.sanso-page .sanso-facility-route .sanso-facility-card--third {
	grid-column: span 4;
}

.sanso-page .sanso-facility-route .access-route-card img {
	height: auto;
	aspect-ratio: 16 / 10;
}

.sanso-page .sanso-facility-route .access-route-card h4 {
	margin-top: 22px;
}

.sanso-map {
	background: #e9ecd8;
}

.sanso-map__placeholder {
	position: relative;
	display: flex;
	min-height: 330px;
	padding: 50px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	text-align: center;
	background:
		linear-gradient(rgba(35, 42, 31, .58), rgba(35, 42, 31, .58)),
		url("img/morinokaze_photos/top_03.jpg") center / cover;
	border-radius: 18px;
	color: #fff;
}

.sanso-map__placeholder span {
	color: #efc66e;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
}

.sanso-map__placeholder h3 {
	margin: 14px 0 18px;
	font-family: 'TsunagiGothicSubset', sans-serif;
	font-size: 34px;
}

.sanso-map__placeholder p {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 2;
}

.sanso-transition-video {
	background: #315448 url("img/sanso/area-guide.jpg") center / cover no-repeat;
}

.sanso-guide {
	background: #f7f5ed;
}

.sanso-membership-notice {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 34px;
	align-items: start;
	margin: 0 0 48px;
	padding: 38px 42px;
	color: #fff;
	background: #2f6f67;
	border-radius: 14px;
	box-shadow: 0 14px 30px rgba(47, 111, 103, .14);
}

.sanso-membership-notice > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 7px 12px;
	color: #2f6f67;
	background: #efc66e;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
}

.sanso-membership-notice h3 {
	margin: 0 0 20px;
	font-size: 22px;
	line-height: 1.65;
}

.sanso-membership-notice p {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.9;
}

.sanso-membership-notice p + p {
	margin-top: 8px;
}

.sanso-calendar {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 48px;
	align-items: center;
	margin-bottom: 68px;
}

.sanso-availability {
	background: #f1eee3;
}

.sanso-availability .sanso-calendar {
	margin-bottom: 0;
}

.sanso-label {
	display: inline-block;
	padding: 7px 13px;
	color: #fff;
	background: #8f6038;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}

.sanso-calendar__intro h3 {
	margin: 22px 0 24px;
	color: #2f6f67;
	font-family: 'TsunagiGothicSubset', sans-serif;
	font-size: 34px;
}

.sanso-calendar__intro p {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 2;
}

.sanso-calendar__intro p + p {
	margin-top: 14px;
}

.sanso-calendar__embed {
	min-width: 0;
	height: 520px;
	padding: 10px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(55, 46, 38, .1);
	overflow: hidden;
	box-sizing: border-box;
}

.sanso-calendar__embed iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 10px;
}

.sanso-flow {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
}

.sanso-flow li {
	display: flex;
	gap: 26px;
	align-items: center;
	padding: 25px 32px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 10px 26px rgba(55, 46, 38, .07);
}

.sanso-flow li > span {
	flex: 0 0 auto;
	color: #8f6038;
	font-family: 'Darumadrop One', sans-serif;
	font-size: 25px;
}

.sanso-flow li > div {
	flex: 1;
	min-width: 0;
}

.sanso-flow h3 {
	margin: 0 0 10px;
	color: #2f6f67;
	font-size: 17px;
}

.sanso-flow p,
.sanso-info-card p {
	margin: 0;
	font-size: 13px;
	line-height: 1.85;
}

.sanso-flow__link {
	display: inline-block;
	margin-top: 13px;
	padding-bottom: 2px;
	color: #2f6f67;
	border-bottom: 1px solid #2f6f67;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
}

.sanso-flow__link:hover {
	color: #8f6038;
	border-bottom-color: #8f6038;
}

.sanso-flow__link--pending {
	color: #817a70;
	border-bottom-color: #bdb7aa;
	cursor: default;
}

.sanso-flow__link--pending small {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 6px;
	color: #fff;
	background: #aaa397;
	border-radius: 999px;
	font-size: 8px;
	vertical-align: 1px;
}

@media screen and (min-width:641px) {
	.sanso-flow li > div {
		display: grid;
		grid-template-columns: minmax(210px, 260px) minmax(0, 1fr) auto;
		gap: 28px;
		align-items: center;
	}

	.sanso-flow h3,
	.sanso-flow p,
	.sanso-flow__link {
		margin-top: 0;
		margin-bottom: 0;
	}

	.sanso-flow__link {
		justify-self: end;
		white-space: nowrap;
	}
}

.sanso-info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.sanso-info-card {
	padding: 40px;
	background: #fff;
	border-radius: 14px;
}

.sanso-info-card ul,
.sanso-rules ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sanso-info-card li,
.sanso-rules li {
	position: relative;
	padding-left: 20px;
	font-size: 14px;
	line-height: 1.9;
}

.sanso-info-card li::before,
.sanso-rules li::before {
	content: "";
	position: absolute;
	left: 1px;
	top: .85em;
	width: 6px;
	height: 6px;
	background: #8f6038;
	border-radius: 50%;
}

.sanso-info-card li + li {
	margin-top: 12px;
}

.sanso-time-list {
	margin: 0 0 22px;
}

.sanso-time-list div {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid #dedccd;
}

.sanso-time-list dt {
	color: #8f6038;
	font-weight: 800;
}

.sanso-time-list dd {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
}

.sanso-small-note {
	margin-top: 16px !important;
	padding: 14px 16px;
	background: #eef0e0;
	border-radius: 8px;
}

.sanso-rules {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 42px;
	margin-top: 24px;
	padding: 48px;
	color: #fff;
	background: #2f6f67;
	border-radius: 14px;
}

.sanso-rules__title .adult-en {
	margin-bottom: 12px;
	color: #efc66e;
}

.sanso-rules__title h3 {
	margin: 0;
	font-family: 'TsunagiGothicSubset', sans-serif;
	font-size: 24px;
	line-height: 1.5;
	white-space: nowrap;
}

.sanso-rules li::before {
	background: #efc66e;
}

.sanso-rules li + li {
	margin-top: 8px;
}

.sanso-rules > p {
	grid-column: 2;
	margin: 18px 0 0;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .28);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.8;
}

.sanso-price {
	background: #e9ecd8;
}

.sanso-price__tables {
	display: block;
}

.sanso-price__tables article,
.sanso-payment {
	padding: 40px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 10px 26px rgba(55, 46, 38, .06);
}

.sanso-price__tables h3 {
	margin: 0 0 10px;
	color: #2f6f67;
	font-size: 21px;
}

.sanso-price__combined > p {
	margin: 0 0 28px;
	font-size: 13px;
	line-height: 1.8;
}

.sanso-price table {
	width: 100%;
	border: 1px solid #d8d4c4;
	border-collapse: collapse;
	table-layout: fixed;
}

.sanso-price-table__type {
	width: 28%;
}

.sanso-price-table__facility {
	width: 24%;
}

.sanso-price-table__adult,
.sanso-price-table__child {
	width: 24%;
}

.sanso-price th,
.sanso-price td {
	padding: 16px 14px;
	border-right: 1px solid #d8d4c4;
	border-bottom: 1px solid #d8d4c4;
	text-align: left;
	font-size: 14px;
}

.sanso-price tbody th {
	color: #8f6038;
}

.sanso-price thead th {
	color: #6a645b;
	font-size: 12px;
}

.sanso-price-table thead tr:first-child th {
	color: #2f6f67;
	background: #eef0e0;
	text-align: center;
	font-weight: 800;
}

.sanso-price-table thead small {
	font-size: 10px;
	font-weight: 600;
}

.sanso-price-table thead tr:nth-child(2) th {
	background: #f7f5ed;
	text-align: center;
}

.sanso-price-table tbody td {
	text-align: center;
	white-space: nowrap;
}

.sanso-price-table tbody th span {
	display: block;
	margin-top: 6px;
	color: #777168;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.5;
	white-space: nowrap;
}

.sanso-price-table tbody td span {
	display: block;
	margin-top: 4px;
	color: #777168;
	font-size: 9px;
	font-weight: 500;
}

.sanso-price-table__note {
	margin: 14px 0 0 !important;
	color: #777168;
	font-size: 11px !important;
	line-height: 1.7 !important;
}

.sanso-price-table th:last-child,
.sanso-price-table td:last-child {
	border-right: 0;
}

.sanso-payment {
	margin-top: 24px;
}

.sanso-payment ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sanso-payment li {
	padding: 20px;
	background: #f7f5ed;
	border-radius: 9px;
}

.sanso-payment strong,
.sanso-payment span {
	display: block;
}

.sanso-payment strong {
	margin-bottom: 7px;
	color: #8f6038;
}

.sanso-payment span {
	font-size: 12px;
	line-height: 1.7;
}

.sanso-bank-details {
	display: grid;
	grid-template-columns: 210px 1fr;
	gap: 28px;
	align-items: center;
	margin-top: 22px;
	padding: 24px 26px;
	background: #eef0e0;
	border-radius: 9px;
}

.sanso-bank-details > span {
	color: #2f6f67;
	font-size: 13px;
	font-weight: 800;
}

.sanso-bank-details p {
	margin: 0;
	font-size: 13px;
	line-height: 1.9;
}

.sanso-bank-details p strong {
	display: inline;
	margin: 0;
	color: #382f29;
}

.sanso-contact {
	position: relative;
	overflow: hidden;
	background: #315448 url("img/sanso/contact-bg.jpg") center / cover no-repeat;
}

.sanso-contact__video,
.sanso-contact__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.sanso-contact__video {
	z-index: 0;
	object-fit: cover;
}

.sanso-contact__overlay {
	z-index: 1;
	background: rgba(26, 45, 38, .58);
}

.sanso-contact > .adult-inner {
	position: relative;
	z-index: 2;
}

.sanso-contact .sanso-heading {
	color: #fff;
	text-shadow: 0 2px 16px rgba(0, 0, 0, .28);
}

.sanso-contact .sanso-heading .adult-en {
	color: #efc66e;
}

.sanso-contact .sanso-heading h2 {
	color: #fff;
}

.sanso-contact__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	max-width: 900px;
	margin: 0 auto;
}

.sanso-contact__cards article {
	padding: 42px;
	color: #fff;
	background: rgba(47, 111, 103, .94);
	border-radius: 14px;
	box-shadow: 0 14px 34px rgba(20, 34, 29, .2);
}

.sanso-contact__cards article.sanso-contact__emergency {
	background: rgba(143, 96, 56, .94);
}

.sanso-contact__cards span {
	font-size: 12px;
	font-weight: 700;
}

.sanso-contact__cards h3 {
	margin: 14px 0 20px;
	font-size: 18px;
}

.sanso-contact__cards a {
	color: #fff;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: .04em;
	text-decoration: none;
}

.sanso-contact__cards article > p {
	margin: 20px 0 0;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .28);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.9;
}

.sanso-google-map {
	position: relative;
	width: 100%;
	height: 600px;
	overflow: hidden;
	background: #e9ecd8;
	line-height: 0;
}

.sanso-google-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.sanso-google-map > a {
	position: absolute;
	left: 50%;
	bottom: 28px;
	z-index: 2;
	display: inline-flex;
	min-height: 48px;
	padding: 0 22px;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #1a73e8;
	border-radius: 999px;
	box-shadow: 0 8px 22px rgba(37, 46, 37, .22);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transform: translateX(-50%);
}

.sanso-google-map > a:hover {
	background: #1557b0;
}

@media screen and (max-width:640px) {
	.sanso-section {
		padding: 72px 20px;
		scroll-margin-top: 82px;
	}

	.sanso-heading {
		margin-bottom: 36px;
	}

	.sanso-heading h2 {
		font-size: 34px;
	}

	.sanso-heading > p:last-child {
		margin-top: 14px;
		font-size: 13px;
		line-height: 1.85;
	}

	.sanso-about {
		display: block;
		min-height: 0;
		margin-bottom: 0;
	}

	.sanso-about__photo {
		min-height: 0;
		aspect-ratio: 4 / 5;
	}

	.sanso-about-slideshow > img {
		inset: 0;
	}

	.sanso-about-slideshow__dots {
		bottom: 13px;
	}

	.sanso-about__body {
		width: auto;
		margin: 24px 14px 0;
		padding: 32px 24px 34px;
		border-radius: 10px;
	}

	.sanso-about__body .adult-en {
		font-size: 11px;
	}

	.sanso-about__body h2 {
		margin-bottom: 22px;
		font-size: 25px;
	}

	.sanso-about__body > p:not(.adult-en) {
		font-size: 12px;
		line-height: 1.9;
	}

	.sanso-calendar,
	.sanso-info-grid,
	.sanso-price__tables,
	.sanso-contact__cards {
		display: block;
	}

	.sanso-facility__title,
	.sanso-info-card h3,
	.sanso-payment h3 {
		margin-bottom: 22px;
		font-size: 19px;
	}

	.sanso-page .sanso-facility-route .access-route__scroll {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 12px;
		width: 100%;
		margin: 0;
		padding: 0;
		overflow: visible;
	}

	.sanso-page .sanso-facility-route .access-route-card {
		grid-column: span 3;
		width: auto;
		min-width: 0;
	}

	.sanso-page .sanso-facility-route .sanso-facility-card--third {
		grid-column: span 3;
	}

	.sanso-page .sanso-facility-route .access-route-card img {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.sanso-page .sanso-facility-route .access-route-card h4 {
		margin: 16px 13px 7px;
		font-size: 13px;
	}

	.sanso-page .sanso-facility-route .access-route-card p {
		margin: 0 13px 16px;
		font-size: 10px;
		line-height: 1.65;
	}

	.sanso-map__placeholder {
		min-height: 270px;
		padding: 35px 22px;
	}

	.sanso-map__placeholder h3 {
		font-size: 26px;
	}

	.sanso-map__placeholder p {
		font-size: 12px;
	}

	.sanso-calendar {
		margin-bottom: 42px;
	}

	.sanso-membership-notice {
		display: block;
		margin-bottom: 32px;
		padding: 28px 22px;
	}

	.sanso-membership-notice > span {
		min-height: 0;
		margin-bottom: 18px;
		padding: 6px 12px;
	}

	.sanso-membership-notice h3 {
		margin-bottom: 16px;
		font-size: 18px;
		line-height: 1.65;
	}

	.sanso-membership-notice p {
		font-size: 12px;
		line-height: 1.85;
	}

	.sanso-calendar__intro h3 {
		margin: 18px 0;
		font-size: 28px;
	}

	.sanso-calendar__intro p {
		font-size: 13px;
		line-height: 1.9;
	}

	.sanso-calendar__embed {
		height: 520px;
		margin-top: 28px;
		padding: 6px;
		border-radius: 12px;
	}

	.sanso-flow {
		display: block;
		margin-bottom: 20px;
	}

	.sanso-flow li {
		padding: 24px 20px;
	}

	.sanso-flow li + li {
		margin-top: 12px;
	}

	.sanso-info-card {
		padding: 28px 22px;
	}

	.sanso-info-card + .sanso-info-card {
		margin-top: 16px;
	}

	.sanso-info-card li {
		font-size: 12px;
	}

	.sanso-time-list div {
		grid-template-columns: 75px 1fr;
	}

	.sanso-time-list dd {
		font-size: 12px;
	}

	.sanso-rules {
		display: block;
		margin-top: 16px;
		padding: 32px 22px;
	}

	.sanso-rules__title {
		margin-bottom: 25px;
	}

	.sanso-rules__title h3 {
		font-size: 23px;
		white-space: normal;
	}

	.sanso-rules li {
		font-size: 12px;
	}

	.sanso-rules > p {
		margin-top: 22px;
		font-size: 12px;
	}

	.sanso-price__tables article,
	.sanso-payment {
		padding: 28px 20px;
	}

	.sanso-price th,
	.sanso-price td {
		padding: 11px 4px;
		font-size: 10px;
	}

	.sanso-price__combined > p {
		margin-bottom: 20px;
		font-size: 12px;
	}

	.sanso-price-table thead th {
		font-size: 10px;
	}

	.sanso-price-table thead small {
		display: block;
		margin-top: 2px;
		font-size: 8px;
	}

	.sanso-price-table tbody th span {
		margin-top: 4px;
		font-size: 8px;
		white-space: normal;
	}

	.sanso-price-table__type {
		width: 30%;
	}

	.sanso-price-table__facility {
		width: 23%;
	}

	.sanso-price-table__adult,
	.sanso-price-table__child {
		width: 23.5%;
	}

	.sanso-payment {
		margin-top: 16px;
	}

	.sanso-payment ul {
		display: block;
	}

	.sanso-payment li + li {
		margin-top: 9px;
	}

	.sanso-bank-details {
		display: block;
		margin-top: 16px;
		padding: 20px 18px;
	}

	.sanso-bank-details > span {
		display: block;
		margin-bottom: 10px;
		font-size: 11px;
	}

	.sanso-bank-details p {
		font-size: 11px;
		line-height: 1.8;
	}

	.sanso-contact__cards article {
		padding: 30px 24px;
	}

	.sanso-contact__cards article + article {
		margin-top: 12px;
	}

	.sanso-contact__cards a {
		font-size: 24px;
	}

	.sanso-contact__cards article > p {
		margin-top: 17px;
		padding-top: 15px;
		font-size: 11px;
	}

	.sanso-google-map {
		height: 380px;
	}

	.sanso-google-map > a {
		left: 50%;
		bottom: 18px;
		min-height: 43px;
		padding: 0 17px;
		font-size: 11px;
	}
}

@font-face {
	font-family: "TsunagiGothicSubset";
	src: url("font/TsunagiGothicSubset.woff2") format("woff2"),
		url("font/TsunagiGothicSubset.woff") format("woff");
}

/* PCヘッダー：クラス紹介／活動日記を分離 */
@media screen and (min-width:641px) {
	header ul.text_e > li.class-submenu--detail .class-submenu__button--diary,
	header ul.text_e > li.class-submenu--diary .class-submenu__button--detail {
		display:none !important;
	}

	header ul.text_e > li.class-submenu--detail > a,
	header ul.text_e > li.class-submenu--diary > a {
		white-space:nowrap;
	}

	header ul.text_e > li.class-submenu--detail .class-submenu__actions,
	header ul.text_e > li.class-submenu--diary .class-submenu__actions {
		grid-template-columns:1fr;
	}

	header ul.text_e > li.class-submenu--detail .class-submenu__button,
	header ul.text_e > li.class-submenu--diary .class-submenu__button {
		width:100%;
	}

	header ul.text_e > li.class-submenu--detail .class-submenu__card,
	header ul.text_e > li.class-submenu--diary .class-submenu__card {
		cursor:pointer;
	}
}

/* 個別記事ページ */
.single-article-main{padding:180px 6% 130px;background:#f7f5ed}.adult-single-main{padding-top:170px}.single-article{width:min(900px,100%);margin:auto}.single-article__header{text-align:center}.single-article__category{display:inline-block;padding:7px 13px;color:#fff;background:#286b64;border-radius:30px;font-size:11px;font-weight:800;text-decoration:none}.single-article__header time{display:block;margin-top:18px;color:#7d756a;font-size:12px;font-weight:700}.single-article__header h1{margin:25px 0 0;color:#286b64;font-family:'TsunagiGothicSubset',sans-serif;font-size:46px;line-height:1.5}.single-article__header p{max-width:650px;margin:25px auto 0;font-size:15px;font-weight:600;line-height:2}.single-article__hero{display:block;width:100%;height:520px;margin:65px 0 0;object-fit:cover;border-radius:14px}.single-article__body{width:min(720px,90%);margin:75px auto 0}.single-article__body h2{margin:65px 0 22px;color:#286b64;font-family:'TsunagiGothicSubset',sans-serif;font-size:28px;line-height:1.6}.single-article__body h2:first-child{margin-top:0}.single-article__body p{margin:0 0 28px;font-size:15px;font-weight:500;line-height:2.2}.single-article__body figure{margin:60px -7%}.single-article__body figure img{width:100%;max-height:520px;object-fit:cover;border-radius:10px}.single-article__body figcaption{margin-top:10px;color:#7d756a;font-size:11px;text-align:center}.single-article__nav{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;margin-top:100px;padding-top:30px;border-top:1px solid #d8d2c6}.single-article__nav a{color:#286b64;font-size:13px;font-weight:800;text-decoration:none}.single-article__nav a:nth-child(2){padding:12px 25px;color:#fff;background:#a9473d;border-radius:6px}.single-article__nav a:last-child{text-align:right}
@media(max-width:640px){.single-article-main{padding:125px 20px 90px}.adult-single-main{padding-top:120px}.single-article__header h1{margin-top:20px;font-size:31px;line-height:1.55}.single-article__header p{margin-top:20px;font-size:13px;line-height:1.9}.single-article__hero{height:280px;margin-top:42px;border-radius:9px}.single-article__body{width:auto;margin-top:50px}.single-article__body h2{margin:48px 0 18px;font-size:22px}.single-article__body p{font-size:14px;line-height:2.05}.single-article__body figure{margin:42px 0}.single-article__body figure img{height:260px}.single-article__nav{grid-template-columns:1fr 1fr;margin-top:70px}.single-article__nav a{font-size:11px}.single-article__nav a:nth-child(2){grid-column:1 / 3;grid-row:1;text-align:center}.single-article__nav a:first-child{grid-row:2}.single-article__nav a:last-child{grid-row:2}}

/* トップページ お知らせ一覧 */
@media screen and (min-width:641px) {
	#index-news-placeholder,
	#rpwwt-recent-posts-widget-with-thumbnails-3 .news-extra-mobile {
		display:none;
	}
}

.index-news-all {
	margin-top:20px;
	text-align:center;
}

.index-news-all .btn01 {
	margin-top:0;
	color:#2f6f67;
	border:1px solid rgba(47,111,103,.3);
	background-color:#e8ead5;
}

@media screen and (max-width:640px) {
	#rpwwt-recent-posts-widget-with-thumbnails-3 .news-extra-mobile {
		display:inline-block;
	}

	.index-news-all {
		margin-top:28px;
	}
}

/* 森の風しぜん学校 記事一覧 */
.school-blog-page{margin:0;background:#f7f5ed;color:#453e35;font-family:'Noto Sans JP',sans-serif}.school-blog-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:92px;padding:0 38px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;background:rgba(249,247,240,.96);box-shadow:0 3px 15px rgba(54,26,25,.06)}.school-blog-header__logo img{display:block;width:155px}.school-blog-header>nav{display:flex;align-items:center;gap:27px}.school-blog-header nav a{color:#286b64;font-size:13px;font-weight:800;text-decoration:none}.school-blog-header nav .is-current{color:#a9473d}.school-blog-header__contact{padding:14px 20px;color:#fff!important;background:#a9473d;border-radius:6px}.school-blog-menu-toggle,.school-blog-mobile-menu{display:none}.school-blog-hero{margin-top:92px;padding:150px 7% 125px;text-align:center;background:#e9ecd8}.school-blog-hero>p{margin:0 0 28px;color:#70251f;font-family:'Darumadrop One','TsunagiGothicSubset',sans-serif;font-size:18px;font-weight:800;letter-spacing:.08em}.school-blog-hero h1{margin:0;color:#286b64;font-family:'Darumadrop One','TsunagiGothicSubset',sans-serif;font-size:62px;line-height:1.35}.school-blog-hero>div{margin-top:36px;font-size:15px;font-weight:700;line-height:2}.school-blog-main{width:min(1120px,86%);margin:auto;padding:90px 0 130px}.school-blog-tabs{display:flex;justify-content:center;gap:12px;margin-bottom:55px}.school-blog-tabs a{min-width:150px;padding:13px 20px;color:#286b64;border:1px solid #286b64;border-radius:40px;text-align:center;font-weight:800;text-decoration:none}.school-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.school-blog-grid article{overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(54,26,25,.08)}.school-blog-grid article>a{color:#453e35;text-decoration:none}.school-blog-grid img{width:100%;height:245px;object-fit:cover}.school-blog-grid article div{padding:24px}.school-blog-grid span{padding:6px 10px;color:#fff;background:#286b64;border-radius:20px;font-size:10px;font-weight:800}.school-blog-grid time{margin-left:10px;color:#7d756a;font-size:11px}.school-blog-grid h2{margin:20px 0 12px;color:#286b64;font-family:'TsunagiGothicSubset',sans-serif;font-size:18px;line-height:1.6}.school-blog-grid p{margin:0;font-size:13px;font-weight:600;line-height:1.9}.school-blog-footer{padding:70px 7% 24px;color:#fff;background:#245a49}.school-blog-footer>div{width:min(1120px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between}.school-blog-footer img{width:170px;filter:brightness(0) invert(1)}.school-blog-footer nav{display:flex;gap:22px}.school-blog-footer nav a{color:#fff;font-size:12px;font-weight:700;text-decoration:none}.school-blog-footer>p{width:min(1120px,100%);margin:55px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.2);font-size:11px}
@media(max-width:640px){.school-blog-header{height:78px;padding:0 16px}.school-blog-header__logo img{width:125px}.school-blog-header>nav{display:none}.school-blog-menu-toggle{display:block;padding:10px;color:#286b64;border:0;background:transparent;font-size:10px;font-weight:900}.school-blog-mobile-menu{position:fixed;top:78px;left:0;width:100%;padding:22px;box-sizing:border-box;flex-direction:column;background:#f8f6ef;box-shadow:0 12px 24px rgba(54,26,25,.12)}.school-blog-mobile-menu a{padding:14px;color:#286b64;border-bottom:1px solid rgba(40,107,100,.15);font-size:13px;font-weight:800;text-decoration:none}.school-blog-menu-open .school-blog-mobile-menu{display:flex}.school-blog-hero{margin-top:78px;padding:100px 22px 90px}.school-blog-hero>p{margin-bottom:20px;font-size:14px}.school-blog-hero h1{font-size:38px}.school-blog-hero>div{margin-top:28px;font-size:13px}.school-blog-main{width:auto;padding:65px 20px 90px}.school-blog-tabs{gap:7px;margin-bottom:38px}.school-blog-tabs a{min-width:0;flex:1;padding:11px 4px;font-size:12px}.school-blog-grid{grid-template-columns:1fr;gap:20px}.school-blog-grid img{height:230px}.school-blog-footer{padding:55px 22px 22px}.school-blog-footer>div{display:block}.school-blog-footer nav{margin-top:35px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.school-blog-footer>p{margin-top:40px}}

.font_daruma {
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
}

@media screen and (max-width: 640px) {
	.pc_on {
		display: none;
	}
}

/* 活動クラス紹介ページ */
.classes-page {
	background: #d3cbbc;
	color: #361a19;
}

.classes-main .class-section {
	background: #f7f5ed;
	padding-bottom: 0;
}

.class-select-guide {
	margin: 26px auto 0;
	color: #2F6F67;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

.class-select-guide + .class-select {
	margin-top: 18px;
}

.class-select-guide--bottom {
	margin-top: 14px;
}

.class-select {
	display: grid;
	grid-template-columns: repeat(3, 245px);
	justify-content: center;
	gap: 16px;
	margin: 42px auto 0;
	position: relative;
	z-index: 2;
}

.class-select__button {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 12px;
	width: 100%;
	padding: 10px 34px 10px 10px;
	text-align: left;
	background: #dbe4d2;
	border-radius: 10px 10px 0 0;
	opacity: 1;
	border: 1px solid rgba(47, 111, 103, 0.16);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	-webkit-tap-highlight-color: transparent;
	position: relative;
	transition: background-color 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.class-select__button:hover {
	opacity: 1;
	background: #cad9c5;
	transform: translateY(-3px);
	box-shadow: 0 6px 15px rgba(54, 26, 25, 0.08);
}

.class-select__button:active {
	transform: translateY(-1px) scale(0.97);
}

.class-select__button.is-active {
	background: #9f463c;
	opacity: 1;
	box-shadow: 0 -8px 20px rgba(54, 26, 25, 0.06);
	position: relative;
	z-index: 3;
	transform: none;
}

.class-select__button[data-class-tab="shizen"] {
	background: #dbe4d2;
}

.class-select__button[data-class-tab="sato"] {
	background: #eadfce;
}

.class-select__button[data-class-tab="miyama"] {
	background: #ead8d6;
}

.class-select__button[data-class-tab="shizen"]:hover,
.class-select__button[data-class-tab="shizen"].is-active {
	background: #315f47;
}

.class-select__button[data-class-tab="sato"]:hover,
.class-select__button[data-class-tab="sato"].is-active {
	background: #8f6038;
}

.class-select__button[data-class-tab="miyama"]:hover,
.class-select__button[data-class-tab="miyama"].is-active {
	background: #9f463c;
}

/* クラス紹介：未選択は白、選択中とホバーは共通の深緑 */
.class-select__button[data-class-tab] {
	background: #ffffff;
	border-color: rgba(47, 111, 103, 0.22);
}

.class-select:not(.class-select--bottom) .class-select__button[data-class-tab] {
	border-bottom: 0;
}

.class-select__button[data-class-tab]:hover,
.class-select__button[data-class-tab].is-active {
	background: #315f47;
	border-color: #315f47;
}

.class-select__button.is-active:active {
	transform: none;
}

.class-select__button::after {
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	width: 14px;
	height: 14px;
	background-image: url(img/arrow001.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	transform: translateY(-50%) rotate(90deg);
	filter: brightness(0) saturate(100%) invert(38%) sepia(16%) saturate(1750%) hue-rotate(126deg) brightness(94%) contrast(85%);
	opacity: 0.35;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.class-select__button:hover::after {
	opacity: 0.8;
	transform: translateY(-50%) rotate(90deg);
}

.class-select__button.is-active::after {
	content: "";
	opacity: 1;
	transform: translateY(-50%) rotate(90deg);
	filter: brightness(0) invert(1);
}

.class-select__button[data-class-tab]:not(.is-active)::after {
	opacity: 0.9;
	filter: brightness(0) saturate(100%) invert(38%) sepia(16%) saturate(1750%) hue-rotate(126deg) brightness(94%) contrast(85%);
}

.class-select__button[data-class-tab]:hover::after {
	opacity: 1;
	filter: brightness(0) invert(1);
}

.class-select__image {
	display: block;
	width: 100%;
	overflow: hidden;
	border-radius: 6px;
}

.class-select__image img {
	display: block;
	width: 100%;
	height: 60px;
	object-fit: cover;
}

.class-select__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-width: 0;
	text-align: center;
}

.class-select__name {
	display: block;
	margin: 0 0 4px;
	color: #2f6f67;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.2;
}

.class-select__button.is-active .class-select__name {
	color: #ffffff;
}

.class-select__button:hover .class-select__name {
	color: #ffffff;
}

.class-select__target {
	display: inline-block;
	margin-bottom: 0;
	padding: 3px 8px;
	color: #7a6a45;
	background: #e8ead5;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}

.class-select__button.is-active .class-select__target {
	color: #f5ead1;
	background: rgba(255, 255, 255, 0.14);
}

.class-select__button:hover .class-select__target {
	color: #f5ead1;
	background: rgba(255, 255, 255, 0.14);
}

.class-select__button:hover::after {
	filter: brightness(0) invert(1);
}

.class-select__text {
	display: none;
}

.class-select--bottom {
	margin-top: -1px;
}

.class-select--bottom .class-select__button {
	border-radius: 0 0 10px 10px;
}

.class-select--bottom .class-select__button::after,
.class-select--bottom .class-select__button:hover::after,
.class-select--bottom .class-select__button.is-active::after {
	transform: translateY(-50%) rotate(-90deg);
}

.class-panel {
	position: relative;
	z-index: 3;
	padding: 34px;
	background: #ffffff;
	border: 2px solid #315f47;
	border-radius: 12px;
	box-sizing: border-box;
	box-shadow: 0 14px 34px rgba(54, 26, 25, 0.08);
	overflow: hidden;
}

.class-panel[data-class-panel="shizen"] {
	--class-color: #315f47;
}

.class-panel[data-class-panel="sato"] {
	--class-color: #315f47;
}

.class-panel[data-class-panel="miyama"] {
	--class-color: #315f47;
}

.class-panel .class-panel__label,
.class-panel .class-panel__summary h2,
.class-panel .class-detail-card h3,
.class-panel .class-season h3 {
	color: var(--class-color);
}

.class-panel .class-season__grid span,
.class-panel .class-story-photo figcaption {
	background: var(--class-color);
}

.class-panel[hidden] {
	display: none;
}

.class-panel__hero {
	display: grid;
	grid-template-columns: minmax(360px, 46%) 1fr;
	gap: 34px;
	align-items: center;
	margin-bottom: 34px;
}

.class-panel__photo {
	overflow: hidden;
	border-radius: 10px;
}

.class-panel__photo img {
	display: block;
	width: 100%;
	height: 360px;
	object-fit: cover;
}

.class-panel__label {
	margin: 0 0 10px;
	color: #a16736;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.12em;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
}

.class-panel__summary h2 {
	margin: 0 0 16px;
	color: #2f6f67;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 50px;
	line-height: 1.05;
	letter-spacing: 0;
}

.class-panel__target {
	display: inline-block;
	margin: 0 0 18px;
	padding: 7px 12px;
	color: #7a6a45;
	background: #e8ead5;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
}

.class-panel__copy {
	margin: 0;
	color: #361a19;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.9;
}

.class-panel__grid {
	display: grid;
	grid-template-columns: 1.2fr 0.9fr 0.9fr;
	gap: 18px;
	margin-bottom: 28px;
}

.class-detail-card,
.class-season,
.class-schedule {
	background: #f7f5ed;
	border-radius: 10px;
	padding: 24px;
}

.class-detail-card h3,
.class-season h3,
.class-schedule h3 {
	margin: 0 0 14px;
	color: #2f6f67;
	font-size: 19px;
	font-weight: 900;
	line-height: 1.4;
}

.class-detail-card p,
.class-season p,
.class-schedule p {
	margin: 0;
	color: #4f463d;
	font-size: 14px;
	font-weight: 700;
	line-height: 2;
}

.class-season {
	margin-bottom: 28px;
}

.class-season__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.class-season__grid div {
	padding: 18px;
	background: #ffffff;
	border-radius: 8px;
}

.class-season__grid span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 32px;
	margin-bottom: 12px;
	color: #ffffff;
	background: #2f6f67;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 900;
}

.class-panel__cta {
	margin-top: 30px;
	text-align: center;
}

.class-panel__cta a {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 300px;
	min-height: 58px;
	padding: 15px 52px 15px 30px;
	color: #ffffff;
	background: #a9473d;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 900;
	text-decoration: none;
}

.class-panel__cta a::after {
	content: "";
	position: absolute;
	right: 24px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: translateY(-50%) rotate(45deg);
}

.class-panel__cta a:hover {
	opacity: 0.88;
}

/* 写真と余白を活かしたクラス誌面 */
.class-panel {
	padding: 54px;
}

.class-panel__hero {
	grid-template-columns: minmax(420px, 1.08fr) 0.92fr;
	gap: 64px;
	margin-bottom: 74px;
}

.class-panel__photo {
	position: relative;
	margin-left: -54px;
	border-radius: 0 14px 14px 0;
}

.class-panel__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, transparent 55%, rgba(35, 79, 61, 0.18));
	pointer-events: none;
}

.class-panel__photo img {
	height: 430px;
}

.class-panel__title-row {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 24px;
}

.class-panel__summary h2 {
	margin: 0;
}

.class-panel__target {
	margin: 0;
}

.class-panel__copy {
	max-width: 25em;
	font-size: 21px;
	line-height: 2.05;
}

.class-panel__grid {
	grid-template-columns: 1.35fr 0.8fr 0.8fr;
	gap: 26px;
	margin: 0 4% 78px;
	align-items: start;
}

.class-detail-card {
	padding: 28px;
	background: #f4f1e7;
	border-radius: 2px 18px 2px 18px;
}

.class-detail-card--wide {
	padding: 8px 42px 8px 0;
	background: transparent;
	border-radius: 0;
	border-right: 1px solid rgba(122, 106, 69, 0.28);
}

.class-detail-card--wide h3 {
	font-size: 13px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.class-detail-card--wide p {
	font-size: 18px;
	font-weight: 600;
	line-height: 2.2;
}

.class-story-photo {
	position: relative;
	width: 76%;
	margin: 0 0 84px -54px;
}

.class-story-photo--right {
	margin-right: -54px;
	margin-left: auto;
}

.class-story-photo img,
.class-story-photo video {
	display: block;
	width: 100%;
	height: 390px;
	object-fit: cover;
}

.class-story-photo figcaption {
	position: absolute;
	right: -180px;
	bottom: 38px;
	width: 520px;
	padding: 25px 28px;
	color: #fff;
	background: rgba(47, 111, 103, 0.94);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0;
}

.class-story-photo--right figcaption {
	right: auto;
	left: -180px;
}

.class-story-photo figcaption strong {
	display: block;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0;
	white-space: nowrap;
}

.class-story-photo figcaption span {
	display: block;
	margin-top: 14px;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.class-season,
.class-schedule {
	margin-right: 4%;
	margin-left: 4%;
}

.class-season {
	margin-bottom: 36px;
	padding: 38px;
}

.class-schedule {
	margin-bottom: 72px;
	padding: 32px 38px;
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 28px;
	align-items: start;
}

.class-panel__cta {
	position: relative;
	min-height: 720px;
	margin: 0 -54px -54px;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 0 50px 60px;
	text-align: left;
}

.class-panel__cta video,
.class-panel__cta-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.class-panel__cta video {
	object-fit: cover;
}

.class-panel__cta-overlay {
	background: rgba(211, 203, 188, 0.64);
}

.class-panel__cta-content {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	column-gap: 56px;
	align-items: center;
	width: 100%;
	padding: 64px 48px;
	background: #315f47;
	border-radius: 8px;
	color: #fff;
}

.class-panel__cta-en {
	grid-column: 1;
	margin: 15px 0 0;
	color: #361a19;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 18px;
	font-weight: bold;
}

.class-panel__cta-content h3 {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	color: #fff;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 34px;
	line-height: 1.45;
	white-space: nowrap;
}

.class-panel__cta-content > p:not(.class-panel__cta-en) {
	grid-column: 1;
	margin: 28px 0 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
}

.class-panel__cta a {
	grid-column: 2;
	grid-row: 1 / span 3;
	width: 100%;
	max-width: 430px;
	min-width: 0;
	min-height: 96px;
	background: #9f463c;
	box-shadow: none;
	justify-content: flex-start;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 22px 64px 22px 28px;
	border-radius: 10px;
	margin-bottom: 34px;
}

.class-panel__cta a strong {
	font-size: 20px;
	line-height: 1.45;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.class-panel__cta a span {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	width: 100%;
	color: rgba(255, 255, 255, 0.78);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.5;
	text-align: center;
}

.class-panel__cta a::after {
	right: 26px;
	width: 24px;
	height: 24px;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 50%;
	transform: translateY(-50%);
	transition: transform 0.25s ease, background 0.25s ease;
}

.class-panel__cta a::before {
	content: "";
	position: absolute;
	right: 36px;
	top: 50%;
	width: 5px;
	height: 5px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	z-index: 1;
}

.class-panel__cta a:hover {
	background: #8f6038;
	transform: translateY(-2px);
	opacity: 1;
}

.classes-common {
	margin-top: 110px;
}

.admission-video-window.classes-schedule-video {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: none;
	margin-right: -50vw;
	margin-left: -50vw;
}

.admission-video-window.classes-schedule-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.classes-schedule-area {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 68px max(64px, calc((100vw - 1080px) / 2)) 72px;
	background: #e8ead5;
	border-radius: 0;
}

.classes-schedule-area .about-heading {
	margin-bottom: 48px;
}

.classes-schedule-layout {
	display: grid;
	grid-template-columns: 500px 1fr;
	gap: 64px;
	align-items: center;
}

.classes-schedule-preview {
	display: block;
	width: 500px;
	max-width: 100%;
	background: #fff;
	box-shadow: 0 16px 38px rgba(54, 26, 25, 0.14);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.classes-schedule-preview:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 44px rgba(54, 26, 25, 0.18);
}

.classes-schedule-preview img {
	display: block;
	width: 100%;
	height: auto;
}

.classes-schedule-copy h3 {
	margin: 0 0 36px;
	color: #2f6f67;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.55;
}

.classes-schedule-copy > p {
	margin: 0;
	color: #4f463d;
	font-size: 15px;
	font-weight: 700;
	line-height: 2;
}

.classes-schedule-copy .classes-schedule-note {
	margin-top: 24px;
	font-size: 11px;
	line-height: 1.7;
}

.classes-schedule-button {
	position: relative;
	display: flex;
	align-items: center;
	width: min(360px, 100%);
	min-height: 64px;
	margin-top: 44px;
	padding: 14px 58px 14px 24px;
	color: #fff;
	background: #9f463c;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none;
	transition: background 0.25s ease, transform 0.25s ease;
}

.classes-schedule-button::after {
	content: "";
	position: absolute;
	right: 22px;
	top: 50%;
	width: 22px;
	height: 22px;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 50%;
	transform: translateY(-50%);
}

.classes-schedule-button::before {
	content: "";
	position: absolute;
	right: 31px;
	top: 50%;
	width: 5px;
	height: 5px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	z-index: 1;
}

.classes-schedule-button:hover {
	color: #fff;
	background: #8f6038;
	transform: translateY(-2px);
}

.class-panel__cta--common {
	margin: 56px 0 0;
	border-radius: 12px;
}

@media screen and (min-width: 641px) {
	.class-select:not(.class-select--bottom) .class-select__button:hover {
		transform: translateY(-8px);
	}

	.class-select:not(.class-select--bottom) .class-select__button::before {
		content: "";
		position: absolute;
		left: -1px;
		right: -1px;
		top: calc(100% - 1px);
		height: 1px;
		background: inherit;
		border-right: 1px solid rgba(47, 111, 103, 0.16);
		border-left: 1px solid rgba(47, 111, 103, 0.16);
		transition: height 0.2s ease;
	}

	/* 上側ボタンが持ち上がっても情報枠との間を繋ぐ */
	.class-select:not(.class-select--bottom) .class-select__button:hover::before {
		height: 9px;
	}

	.class-select--bottom .class-select__button:hover {
		transform: translateY(8px);
	}

	.class-select--bottom .class-select__button::before {
		content: "";
		position: absolute;
		left: -1px;
		right: -1px;
		bottom: calc(100% - 1px);
		height: 1px;
		background: inherit;
		border-right: 1px solid rgba(47, 111, 103, 0.16);
		border-left: 1px solid rgba(47, 111, 103, 0.16);
		transition: height 0.2s ease;
	}

	/* 下側ボタンが下へ動いても情報枠との間を繋ぐ */
	.class-select--bottom .class-select__button:hover::before {
		height: 9px;
	}
}

@media screen and (min-width: 640px) {
	.sp_on {
		display: none;
	}

	a {
		transition: 0.5s;
	}

	.anchorlink {
		display: block;
		padding-top: 96px;
		margin-top: -96px;
	}

	html {
		height: 100%;
	}

	* {
		box-sizing: border-box;
	}

	body {
	margin: 0 auto;
	font-size: 14px;
	padding: 0;
	line-height: 26px;
		color: #361a19;
		-webkit-text-size-adjust: none;
		letter-spacing: 0.1em;
		min-width: 1150px;
		font-family: "Noto Sans JP", sans-serif;
		text-align: justify;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		background: #d3cbbc;
	}

	body.home {
		position: relative;
	}

	strong {
		font-weight: bold;
	}

	b {
		font-weight: bold;
	}

	h1,
	h2 {
		margin: 0px;
		padding: 0px;
	}

	h2 {
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	}

	img {
		margin: 0;
		padding: 0;
		left: auto;
		right: auto;
		height: auto;
		border: none;
		top: 0px;
		max-width: 100%;
		vertical-align: top;
		position: relative;
	}

	#c_both {
		clear: both;
	}

	ul,
	li {
		list-style: none;
		margin: 0px;
		padding: 0px;
	}

	.item_center {
		display: flex;
		align-items: center;
	}

	.markerline {
		background: linear-gradient(transparent 94%, #361a19 0%);
		padding: 6px 0;
	}

	.markerline_v {
		background: linear-gradient(transparent 0%, #2F6F67 0%);
	}

	.markerline_y {
		background: linear-gradient(transparent 0%, #A9B86E 0%);
	}

	.markerline_p {
		background: linear-gradient(transparent 0%, #7A6A45 0%);
	}

	.markerline_py {
		background: linear-gradient(transparent 90%, #7A6A45 0%);
		padding: 10px 0;
	}

	.effect-fade.effect-scroll {
		opacity: 1;
		transform: translate(0px, 0px);
	}

	.graduate-words-ticker {
		position: fixed;
		left: 50%;
		bottom: 28px;
		display: flex;
		align-items: center;
		width: min(74vw, 920px);
		height: 58px;
		z-index: 8;
		padding: 0 22px 0 92px;
		border-radius: 999px;
		background: #315F47;
		box-shadow: 0 12px 28px rgba(54, 26, 25, 0.18);
		pointer-events: none;
		overflow: visible;
		transform: translate(-50%, calc(100% + 42px));
		transition: transform 0.55s cubic-bezier(0.2, 0.9, 0.2, 1);
	}

	.graduate-words-ticker.is-visible {
		transform: translate(-50%, 0);
	}

	.graduate-words-ticker.is-at-footer {
		transform: translate(-50%, calc(100% + 42px));
	}

	.graduate-words-ticker__label {
		position: absolute;
		left: -2px;
		top: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 82px;
		height: 82px;
		border-radius: 50%;
		background: #315F47;
		color: #ffffff;
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.45;
		text-align: center;
		transform: translateY(-50%);
		box-shadow: 0 8px 18px rgba(54, 26, 25, 0.15);
	}

	.graduate-words-ticker__mask {
		width: 100%;
		overflow: hidden;
	}

	.graduate-words-ticker__track {
		display: flex;
		align-items: center;
		width: max-content;
		min-width: max-content;
		flex-shrink: 0;
		will-change: transform;
		animation: graduateWordsTicker var(--graduate-ticker-duration, 100s) linear infinite;
	}


	.graduate-words-ticker__item {
		display: inline-flex;
		align-items: center;
		flex: 0 0 auto;
		padding-right: 58px;
		font-size: 13px;
		font-weight: bold;
		line-height: 1;
		letter-spacing: 0.04em;
		color: #ffffff;
		white-space: nowrap;
	}

	.graduate-words-ticker__icon {
		display: block;
		width: 22px;
		height: auto;
		margin-right: 10px;
		flex: 0 0 auto;
	}

	@keyframes graduateWordsTicker {
		from {
			transform: translateX(0);
		}

		to {
			transform: translateX(var(--graduate-ticker-distance, -50%));
		}
	}

	::selection {
		background: #E8EAD5;
	}

	::-moz-selection {
		background: #E8EAD5;
	}

	@keyframes fadein {
		from {
			opacity: 0;
			transform: translateY(50px);
		}

		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@keyframes fadein-right {
		from {
			opacity: 0;
			transform: translateX(150px);
		}

		to {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@keyframes fadein-left {
		from {
			opacity: 0;
			transform: translateX(-150px);
		}

		to {
			opacity: 1;
			transform: translateX(0);
		}
	}

	* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		font-family: sans-serif;
	}

	.bg_g {
		background: #F4F4F3;
	}

	.bg_g2 {
		background: #baaf9a;
	}

	.bg_v {
		background: #2F6F67;
	}

	.bg_bl {
		background: #4F744E;
		color: #ffffff;
	}

	.bg_gs {
		background-image: url(img/morinokaze_photos/diary_bg.jpg);
		background-position: center center;
		background-size: cover;
	}

	#activity-diary {
		position: relative;
		overflow: hidden;
		background-image: url(img/morinokaze_photos/diary_bg.jpg);
		background-position: center center;
		background-size: cover;
	}

	#activity-diary .activity-diary-bg-video {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		z-index: 0;
	}

	#activity-diary .activity-diary-bg-overlay {
		position: absolute;
		inset: 0;
		background: linear-gradient(rgba(35, 79, 61, 0.56), rgba(35, 79, 61, 0.56));
		z-index: 1;
		pointer-events: none;
	}

	#activity-diary> :not(.activity-diary-bg-video):not(.activity-diary-bg-overlay) {
		position: relative;
		z-index: 2;
	}

	.bg_shoo {
		background-image: url(img/morinokaze_photos/top_02.jpg);
		background-position: center center;
		background-size: cover;
	}

	.bg_jr {
		background-image: url(img/morinokaze_photos/top_04.jpg);
		background-position: center center;
		background-size: cover;
	}

	.bg_jr2 {
		background-image: url(img/morinokaze_photos/top_05.jpg);
		background-position: center center;
		background-size: cover;
	}


	header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 92px;
		z-index: 10;
		padding-left: 30px;
		transition: 0.5s;
		min-width: 1150px;
	}

	header .logo {
		color: white;
		position: absolute;
		text-decoration: none;
		transition: 0.5s;
		width: 86px;
		height: 86px;
		background-image: url(img/morinokaze_school_logo_01.png);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center center;
		left: 30px;
		top: 50%;
		transform: translateY(-50%);
	}

	header .logo img {
		display: none;
	}

	header ul {
		display: flex;
		align-items: center;
		float: right;
		height: 100%;
		margin-right: 30px;
		margin-top: 0;
	}

	header ul.text_e.pc_on {
		position: absolute;
		top: 0;
		right: 196px;
		float: none;
		height: 100%;
		margin: 0;
		align-items: center;
	}

	header ul li {
		font-size: 13px;
		list-style: none;
		font-weight: bold;
		float: none;
		position: relative;
		height: 100%;
		display: flex;
		align-items: center;
	}

	header ul li a {
		color: #ffffff;
		position: relative;
		display: inline-block;
		text-decoration: none;
		margin: 0 15px;
		transition: .3s;
	}

	header ul li .menu-disabled {
		color: #ffffff;
		position: relative;
		display: inline-block;
		text-decoration: none;
		margin: 0 15px;
		cursor: default;
		transition: .3s;
	}

	header ul li a:hover {
		color: rgba(255, 255, 255, 0.80);
	}

	header ul li a::after {
		position: absolute;
		bottom: 0;
		left: 50%;
		content: "";
		width: 0;
		height: 2px;
		background-color: #FFFFFF;
		transition: .3s;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}

	header ul li a:hover::after {
		width: 100%;
	}

	header ul.text_e .submenu {
		position: absolute;
		top: 100%;
		left: 50%;
		display: block;
		width: 138px;
		height: auto;
		margin: 0;
		padding: 8px;
		float: none;
		background: rgba(255, 255, 255, 0.96);
		border-top: solid 3px #A9B86E;
		box-shadow: 0 10px 22px rgba(54, 26, 25, 0.16);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate(-50%, 8px);
		transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
	}

	header ul.text_e li:hover>.submenu,
	header ul.text_e li:focus-within>.submenu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate(-50%, 0);
	}

	header.submenu-clicked ul.text_e li>.submenu,
	header.submenu-clicked ul.text_e .schedule-submenu:hover>.submenu,
	header.submenu-clicked ul.text_e .schedule-submenu:focus-within>.submenu {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transform: translate(-50%, 8px) !important;
	}

	header ul.text_e .submenu li {
		display: block;
		height: auto;
		margin: 0;
		padding: 0;
		float: none;
		font-size: 12px;
		line-height: 1.4;
		letter-spacing: 0.04em;
	}

	header ul.text_e .submenu li a,
	header.scroll-nav ul.text_e .submenu li a,
	.page header ul.text_e .submenu li a {
		display: block;
		margin: 0;
		padding: 9px 10px;
		color: #361a19;
		text-align: center;
		border-radius: 2px;
		transition: color 0.2s ease, background-color 0.2s ease;
	}

	header ul.text_e .submenu li a:hover,
	header.scroll-nav ul.text_e .submenu li a:hover,
	.page header ul.text_e .submenu li a:hover {
		color: #ffffff;
		background: #2F6F67;
	}

	header ul.text_e .submenu li a::after {
		display: none;
	}

	header ul.text_e .schedule-submenu .submenu {
		position: fixed;
		left: 50%;
		right: auto;
		width: max-content;
		max-width: calc(100vw - 10px);
		top: 92px;
		padding: 20px;
		border-top-color: #2F6F67;
		border-radius: 0 0 8px 8px;
		transform: translate(-50%, 8px);
		z-index: 100;
	}

	header ul.text_e .schedule-submenu .submenu::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -18px;
		height: 18px;
	}

	header.scroll-nav ul.text_e .schedule-submenu .submenu,
	.page header ul.text_e .schedule-submenu .submenu {
		top: 92px;
	}

	header.scroll-nav ul.text_e .schedule-submenu .submenu::before,
	.page header ul.text_e .schedule-submenu .submenu::before {
		top: -18px;
		height: 18px;
	}

	header ul.text_e .schedule-submenu:hover>.submenu,
	header ul.text_e .schedule-submenu:focus-within>.submenu {
		transform: translate(-50%, 0);
	}

	header.submenu-clicked ul.text_e .schedule-submenu:hover>.submenu,
	header.submenu-clicked ul.text_e .schedule-submenu:focus-within>.submenu {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transform: translate(-50%, 8px) !important;
	}

	header ul.text_e .schedule-submenu__list {
		display: grid;
		grid-template-columns: repeat(4, 260px);
		justify-content: center;
		align-items: start;
		gap: 20px;
	}

	header ul.text_e .blog-submenu__list {
		grid-template-columns: repeat(2, 260px);
		justify-content: center;
	}

	header ul.text_e .blog-submenu .submenu {
		position: absolute;
		top: 100%;
		left: auto;
		right: 0;
		transform: translateY(8px);
	}

	header ul.text_e .blog-submenu:hover>.submenu,
	header ul.text_e .blog-submenu:focus-within>.submenu {
		transform: translateY(0);
	}

	header.submenu-clicked ul.text_e .blog-submenu:hover>.submenu,
	header.submenu-clicked ul.text_e .blog-submenu:focus-within>.submenu {
		transform: translateY(8px) !important;
	}

	header ul.text_e .about-submenu__list {
		grid-template-columns: repeat(4, 260px);
		justify-content: center;
	}

	header ul.text_e .class-submenu .submenu {
		width: max-content;
		max-width: calc(100vw - 10px);
		padding: 20px;
	}

	header ul.text_e .class-submenu__list {
		display: grid;
		grid-template-columns: repeat(3, 260px);
		align-items: start;
		gap: 20px;
	}

	header ul.text_e .intro-submenu__list {
		grid-template-columns: repeat(3, 260px);
		gap: 20px;
	}

	header ul.text_e .diary-submenu__list {
		grid-template-columns: repeat(2, 260px);
		gap: 20px;
	}

	header ul.text_e .org-submenu__list {
		grid-template-columns: repeat(3, 260px);
		gap: 20px;
	}

	header ul.text_e .schedule-submenu .class-submenu__list {
		width: auto;
		margin: 0 auto;
	}

	header ul.text_e .class-submenu__card {
		height: auto;
		align-self: start;
		overflow: hidden;
		background: #f7f5ed;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(54, 26, 25, 0.08);
	}

	header ul.text_e .class-submenu__card img {
		display: block;
		width: 100%;
		height: 140px;
		object-fit: cover;
	}

	.class-submenu__name {
		display: block;
		margin: 16px 18px 10px;
		color: #2F6F67;
		font-size: 15px;
		font-weight: 900;
		text-align: left;
	}

	.class-submenu__text {
		display: block;
		min-height: 60px;
		margin: 0 18px 15px;
		color: #665f54;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.7;
		text-align: left;
	}

	.class-submenu__actions {
		display: grid;
		gap: 10px;
		padding: 10px 16px 20px;
	}

	header ul.text_e .class-submenu__actions a,
	header.scroll-nav ul.text_e .class-submenu__actions a,
	.page header ul.text_e .class-submenu__actions a {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		height: auto;
		margin: 0;
		padding: 10px 38px !important;
		/* アイコンを避けるため左右paddingを広めに設定 */
		text-align: center;
		border: 1.5px solid transparent;
		border-radius: 6px !important;
		box-shadow: 0 4px 10px rgba(54, 26, 25, 0.05);
		font-size: 12px;
		font-weight: 700;
		line-height: 1.2;
		letter-spacing: 0.03em;
		transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
		position: relative;
	}

	/* 元のbeforeアイコンを無効化 */
	header ul.text_e .class-submenu__actions a.class-submenu__button::before,
	header.scroll-nav ul.text_e .class-submenu__actions a.class-submenu__button::before,
	.page header ul.text_e .class-submenu__actions a.class-submenu__button::before {
		content: none !important;
		display: none !important;
	}

	/* 右側アイコンの共通設定 */
	header ul.text_e .class-submenu__actions a.class-submenu__button::after,
	header.scroll-nav ul.text_e .class-submenu__actions a.class-submenu__button::after,
	.page header ul.text_e .class-submenu__actions a.class-submenu__button::after {
		content: "" !important;
		display: inline-block !important;
		position: absolute !important;
		/* 絶対配置にして右側に固定 */
		top: 50% !important;
		right: 17px !important;
		left: auto !important;
		/* グローバルの left: 50% をリセット */
		transform: translateY(-50%) !important;
		/* 上下中央配置 */
		width: 18px !important;
		height: 18px !important;
		margin: 0 !important;
		background-color: transparent !important;
		/* グローバルの白背景をリセット */
		background-position: center !important;
		background-repeat: no-repeat !important;
		background-size: contain !important;
		flex: 0 0 auto !important;
		opacity: 0.8 !important;
		transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), filter 0.3s ease, opacity 0.3s ease !important;
	}

	/* 詳しい情報はこちら (セカンダリー/アウトラインボタン) */
	header ul.text_e .class-submenu__actions a.class-submenu__button--detail,
	header.scroll-nav ul.text_e .class-submenu__actions a.class-submenu__button--detail,
	.page header ul.text_e .class-submenu__actions a.class-submenu__button--detail {
		background: #2F6F67 !important;
		color: #ffffff !important;
		border-color: #2F6F67 !important;
		box-shadow: none !important;
	}

	header ul.text_e .class-submenu__actions a.class-submenu__button--detail::after,
	header.scroll-nav ul.text_e .class-submenu__actions a.class-submenu__button--detail::after,
	.page header ul.text_e .class-submenu__actions a.class-submenu__button--detail::after {
		background-image: url("img/icon_experience.svg") !important;
		width: 16px !important;
		height: 16px !important;
		/* 白いSVGを緑色（#2F6F67）に染色 */
		filter: brightness(0) invert(1) !important;
	}

	/* 活動日記を読む (プライマリー/塗りつぶしボタン) */
	header ul.text_e .class-submenu__actions a.class-submenu__button--diary,
	header.scroll-nav ul.text_e .class-submenu__actions a.class-submenu__button--diary,
	.page header ul.text_e .class-submenu__actions a.class-submenu__button--diary {
		background: #9B4A3F !important;
		color: #ffffff !important;
		border-color: #9B4A3F !important;
	}

	header ul.text_e .class-submenu__actions a.class-submenu__button--diary::after,
	header.scroll-nav ul.text_e .class-submenu__actions a.class-submenu__button--diary::after,
	.page header ul.text_e .class-submenu__actions a.class-submenu__button--diary::after {
		background-image: url("img/icon_note.png") !important;
		width: 20px !important;
		height: 20px !important;
		filter: brightness(0) invert(1) !important;
	}

	/* ホバー時の全体挙動 */
	header ul.text_e .class-submenu__actions a:hover,
	header.scroll-nav ul.text_e .class-submenu__actions a:hover,
	.page header ul.text_e .class-submenu__actions a:hover {
		transform: none !important;
		box-shadow: 0 6px 16px rgba(54, 26, 25, 0.12) !important;
	}

	/* 「詳しい情報はこちら」ホバー時 (背景塗りつぶしに反転) */
	header ul.text_e .class-submenu__actions a.class-submenu__button--detail:hover,
	header.scroll-nav ul.text_e .class-submenu__actions a.class-submenu__button--detail:hover,
	.page header ul.text_e .class-submenu__actions a.class-submenu__button--detail:hover {
		background: #4b827b !important;
		color: #ffffff !important;
		border-color: #4b827b !important;
	}

	header ul.text_e .class-submenu__actions a.class-submenu__button--detail:hover::after,
	header.scroll-nav ul.text_e .class-submenu__actions a.class-submenu__button--detail:hover::after,
	.page header ul.text_e .class-submenu__actions a.class-submenu__button--detail:hover::after {
		filter: brightness(0) invert(1) !important;
		/* 白に反転 */
		opacity: 1 !important;
		transform: translateY(-50%) !important;
	}

	/* 「活動日記を読む」ホバー時 (少し背景を明るく) */
	header ul.text_e .class-submenu__actions a.class-submenu__button--diary:hover,
	header.scroll-nav ul.text_e .class-submenu__actions a.class-submenu__button--diary:hover,
	.page header ul.text_e .class-submenu__actions a.class-submenu__button--diary:hover {
		background: #b35346 !important;
		border-color: #b35346 !important;
		color: #ffffff !important;
	}

	header ul.text_e .class-submenu__actions a.class-submenu__button--diary:hover::after,
	header.scroll-nav ul.text_e .class-submenu__actions a.class-submenu__button--diary:hover::after,
	.page header ul.text_e .class-submenu__actions a.class-submenu__button--diary:hover::after {
		opacity: 1 !important;
		transform: translateY(-50%) !important;
	}

	/* カード全体のホバーを、カード内ボタンにも連動 */
	header ul.text_e .class-submenu__card:hover .class-submenu__button {
		box-shadow: 0 6px 16px rgba(54, 26, 25, 0.12) !important;
	}

	header ul.text_e .class-submenu__card:hover .class-submenu__button--detail {
		background: #4b827b !important;
		color: #ffffff !important;
		border-color: #4b827b !important;
	}

	header ul.text_e .class-submenu__card:hover .class-submenu__button--detail::after {
		filter: brightness(0) invert(1) !important;
		opacity: 1 !important;
		transform: translateY(-50%) !important;
	}

	header ul.text_e .class-submenu__card:hover .class-submenu__button--diary {
		background: #b35346 !important;
		border-color: #b35346 !important;
		color: #ffffff !important;
	}

	header ul.text_e .class-submenu__card:hover .class-submenu__button--diary::after {
		opacity: 1 !important;
		transform: translateY(-50%) !important;
	}

	/* 分離後のPCメニュー：ページ種別に左右されないボタン状態 */
	header ul.text_e > li.class-submenu--diary .class-submenu__actions a.class-submenu__button--diary,
	header.scroll-nav ul.text_e > li.class-submenu--diary .class-submenu__actions a.class-submenu__button--diary,
	.page header ul.text_e > li.class-submenu--diary .class-submenu__actions a.class-submenu__button--diary {
		background: #b35346 !important;
		color: #ffffff !important;
		border-color: #b35346 !important;
		box-shadow: none !important;
	}

	header ul.text_e > li.class-submenu--diary .class-submenu__actions a.class-submenu__button--diary::after,
	header.scroll-nav ul.text_e > li.class-submenu--diary .class-submenu__actions a.class-submenu__button--diary::after,
	.page header ul.text_e > li.class-submenu--diary .class-submenu__actions a.class-submenu__button--diary::after {
		filter: brightness(0) invert(1) !important;
	}

	header ul.text_e > li.class-submenu--detail .class-submenu__card:hover .class-submenu__button--detail,
	header.scroll-nav ul.text_e > li.class-submenu--detail .class-submenu__card:hover .class-submenu__button--detail,
	.page header ul.text_e > li.class-submenu--detail .class-submenu__card:hover .class-submenu__button--detail {
		background: #4b827b !important;
		color: #ffffff !important;
		border-color: #4b827b !important;
		box-shadow: 0 6px 16px rgba(54, 26, 25, 0.12) !important;
	}

	header ul.text_e > li.class-submenu--detail .class-submenu__card:hover .class-submenu__button--detail::after,
	header.scroll-nav ul.text_e > li.class-submenu--detail .class-submenu__card:hover .class-submenu__button--detail::after,
	.page header ul.text_e > li.class-submenu--detail .class-submenu__card:hover .class-submenu__button--detail::after {
		filter: brightness(0) invert(1) !important;
		opacity: 1 !important;
	}

	header ul.text_e > li.class-submenu--diary .class-submenu__card:hover .class-submenu__button--diary,
	header.scroll-nav ul.text_e > li.class-submenu--diary .class-submenu__card:hover .class-submenu__button--diary,
	.page header ul.text_e > li.class-submenu--diary .class-submenu__card:hover .class-submenu__button--diary {
		background: #c1695e !important;
		color: #ffffff !important;
		border-color: #c1695e !important;
		box-shadow: 0 6px 16px rgba(54, 26, 25, 0.12) !important;
	}

	header ul.text_e > li.class-submenu--diary .class-submenu__card:hover .class-submenu__button--diary::after,
	header.scroll-nav ul.text_e > li.class-submenu--diary .class-submenu__card:hover .class-submenu__button--diary::after,
	.page header ul.text_e > li.class-submenu--diary .class-submenu__card:hover .class-submenu__button--diary::after {
		filter: brightness(0) invert(1) !important;
		opacity: 1 !important;
	}

	header ul.text_e .schedule-submenu__list li {
		min-width: 0;
		align-self: start;
	}

	header ul.text_e .schedule-submenu__list li a,
	header.scroll-nav ul.text_e .schedule-submenu__list li a,
	.page header ul.text_e .schedule-submenu__list li a {
		display: block;
		height: auto;
		padding: 0;
		overflow: hidden;
		color: #361a19;
		text-align: left;
		background: #f7f5ed;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(54, 26, 25, 0.08);
	}

	header ul.text_e .schedule-submenu__list li a:hover,
	header.scroll-nav ul.text_e .schedule-submenu__list li a:hover,
	.page header ul.text_e .schedule-submenu__list li a:hover {
		color: #361a19;
		background: #ffffff;
	}

	header ul.text_e .schedule-submenu__list img {
		display: block;
		width: 100%;
		height: 140px;
		object-fit: cover;
	}

	.schedule-submenu__name {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 16px 18px 7px;
		color: #2F6F67;
		font-size: 15px;
		font-weight: 900;
		line-height: 1.3;
	}

	.schedule-submenu__name::after {
		content: "";
		display: inline-block;
		width: 6px;
		height: 6px;
		border-top: 2px solid #2F6F67;
		border-right: 2px solid #2F6F67;
		transform: rotate(45deg);
		margin-left: 8px;
		box-sizing: border-box;
		transition: width 0.25s ease;
	}

	header ul.text_e .schedule-submenu__list li a:hover .schedule-submenu__name::after,
	header.scroll-nav ul.text_e .schedule-submenu__list li a:hover .schedule-submenu__name::after,
	.page header ul.text_e .schedule-submenu__list li a:hover .schedule-submenu__name::after {
		transform: translateX(4px) rotate(45deg);
	}

	.schedule-submenu__target {
		display: inline-block;
		margin: 0 18px 10px;
		padding: 5px 10px;
		color: #7a6a45;
		background: #e8ead5;
		border-radius: 999px;
		font-size: 11px;
		font-weight: 900;
		line-height: 1;
		letter-spacing: 0.02em;
	}

	.schedule-submenu__text {
		display: block;
		margin: 0 18px 18px;
		color: #665f54;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.75;
		letter-spacing: 0;
	}

	.flri {
		float: right;
	}

	header>.flri.pc_on {
		display: grid;
		grid-template-columns: 1fr;
		align-items: center;
		height: 100%;
		margin-left: 12px;
	}

	a.navibtn01,
	a.navibtn02 {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 18px;
		text-decoration: none;
		width: 170px;
		height: 54px;
		margin: auto;
		padding: 0 14px;
		font-weight: bold;
		background: #8f6038;
		color: #ffffff;
		font-size: 11px;
		line-height: 1;
		letter-spacing: 0.04em;
	}

	a.navibtn01::before,
	a.navibtn02::before {
		content: "";
		display: block;
		position: absolute;
		left: 16px;
		top: 50%;
		width: 17px;
		height: 17px;
		transform: translateY(-50%);
		flex: 0 0 auto;
		background-image: url(img/icon_admission.svg);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
	}

	a.navibtn02 {
		background: #91443a;
		color: #ffffff;
	}

	a.navibtn_contact {
		width: 178px;
		height: 46px;
		gap: 12px;
		margin: 0;
	}

	.flri {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
		width: 178px;
		height: 100%;
		padding: 0;
		box-sizing: border-box;
	}

	.header-action {
		display: grid;
		grid-template-columns: 1fr;
		gap: 3px;
		align-content: center;
	}

	.header-action p {
		display: none;
	}

	a.navibtn_access {
		width: 178px;
		height: 46px;
		gap: 10px;
		margin: 0 auto;
		background: #8f6038;
	}

	a.navibtn_contact {
		margin: 0 auto;
	}

	.navibtn__text {
		display: grid;
		gap: 4px;
		width: 100%;
		padding-left: 14px;
		box-sizing: border-box;
		text-align: center;
	}

	.navibtn__text small,
	.navibtn__text strong {
		display: block;
		line-height: 1;
	}

	.navibtn__text small {
		font-size: 9px;
		font-weight: 700;
		opacity: 0.7;
	}

	.navibtn__text strong {
		font-size: 13px;
		font-weight: 900;
	}

	a.navibtn02::before {
		width: 20px;
		height: 20px;
		background-image: url(img/icon_experience.svg);
	}

	a.navibtn_contact::before {
		width: 18px;
		height: 18px;
		background-image: url(img/icon_contact_bird.png);
		filter: brightness(0) invert(1);
		opacity: 0.94;
	}

	a.navibtn_access::before {
		width: 17px;
		height: 17px;
		background-image: url(img/icon_access_placeholder.png);
		filter: brightness(0) invert(1);
	}

	a.navibtn01:hover {
		background: #76502f;
	}

	a.navibtn02:hover {
		background: #78372f;
	}

	a.navibtn_access:hover {
		background: #76502f;
	}

	.side-project-nav {
		position: fixed;
		bottom: 10%;
		right: 0;
		z-index: 80;
		display: flex;
		flex-direction: column;

		box-shadow: none;
	}

	.side-project-nav a {
		display: flex;
		position: relative;
		right: -7px;
		flex-direction: column;
		flex-shrink: 0;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: 55px;
		height: 145px;
		padding: 10px 0;
		color: #ffffff;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 11px;
		font-weight: 700;
		line-height: 1.35;
		letter-spacing: 0;
		text-decoration: none;
		transition: right 0.25s ease;
	}

	.side-project-nav a img {
		display: block;
		width: 18px;
		height: 18px;
		flex: 0 0 auto;
		filter: brightness(0) invert(1);
		transform: translateX(-3px);
		transition: transform 0.25s ease;
	}

	.side-project-nav a span {
		text-orientation: upright;
		writing-mode: vertical-rl;
		transform: translateX(-3px);
		transition: transform 0.25s ease;
	}

	.side-project-nav a:hover img,
	.side-project-nav a:hover span {
		transform: translateX(0);
	}

	.side-project-nav a:hover {
		opacity: 1;
		right: 0;
	}

	.side-project-nav__adult {
		--side-button-color: #8f514a;
		background: #8f514a;
		border-radius: 7px 0 0 0;
	}

	.adult-side-nav__school {
		--side-button-color: #2f6f67;
		background: #2f6f67;
	}

	.side-project-nav__sansou {
		--side-button-color: #8f6038;
		background: #8f6038;
		border-top: 1px solid rgba(255, 255, 255, 0.35);
		border-bottom: 1px solid rgba(255, 255, 255, 0.35);
	}

	.side-project-nav__farm {
		--side-button-color: #4f744e;
		background: #4F744E;
		border-radius: 0 0 0 7px;
	}

	header.scroll-nav,
	.page header {
		background: #FFFFFF;
		height: 92px;
		box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
	}

	header.scroll-nav ul.text_e,
	.page header ul.text_e {
		display: flex;
		opacity: 1;
		visibility: visible;
	}

	header.scroll-nav>.flri.pc_on,
	.page header>.flri.pc_on {
		display: grid;
	}

	header.scroll-nav .logo,
	.page header .logo {
		background-image: url(img/morinokaze_school_logo_02.png);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: left center;
		width: 270px;
		height: 80px;
		margin-top: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	header.scroll-nav ul li a,
	.page header ul li a,
	header.scroll-nav ul li .menu-disabled,
	.page header ul li .menu-disabled {
		color: #361a19;
		position: relative;
		display: inline-block;
		transition: .3s;
	}

	header.scroll-nav ul li a:hover,
	.page header ul li a:hover {
		color: #2F6F67;
	}

	header.scroll-nav ul li a::after,
	.page header ul li a::after {
		position: absolute;
		bottom: 0;
		left: 50%;
		content: "";
		width: 0;
		height: 2px;
		background-color: #2F6F67;
		transition: .3s;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}

	header.scroll-nav ul li a:hover::after,
	.page header ul li a:hover::after {
		width: 100%;
	}

	.home header .logo {
		transition: none;
	}

	.home header:not(.scroll-nav) {
		position: absolute;
	}

	.home header:not(.scroll-nav) .logo {
		position: absolute;
		width: clamp(200px, 18vw, 250px);
		height: clamp(200px, 18vw, 250px);
		left: 30px;
		top: 10px;
		transform: none;
		background-image: url(img/morinokaze_school_logo_01.png);
		background-position: center center;
		background-size: contain;
		z-index: 12;
	}

	.home header.scroll-nav .logo {
		transition: none;
		background-image: url(img/morinokaze_school_logo_02.png);
	}

	.tops_icon_v {
		position: absolute;
		z-index: 9;
		bottom: 0;
		right: 0;
		color: #ffffff;
		padding: 28px 120px 28px 40px;
		font-size: 14px;
		font-weight: bold;
		line-height: 24px;
		background-color: #7A6A45;
		background-image: url(img/arrow001.png);
		background-repeat: no-repeat;
		background-position: right 30px center;
		background-size: 30px;
		transition: 0.5s;
		border-radius: 10px 0 0 0;
		max-width: 500px;

	}

	.tops_icon_v:hover {
		background-color: #9b8d6c;
	}

	.tops_icon_v .rpwwt-post-date {
		font-size: 10px;
		font-weight: normal;
	}

	.tops_text {
		position: absolute;
		z-index: 9;
		bottom: 98px;
		font-size: 32px;
		line-height: 56px;
		color: #2F6F67;
		font-weight: bold;
		left: 80px;
		font-style: italic;
	}

	.junior_top .tops_text {
		font-size: 28px;
		top: 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		bottom: inherit;
	}

	.tops_text .tbig {
		font-size: 48px;
		line-height: 68px;
		color: #FFFFFF;
		margin-bottom: 18px;
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
		font-style: normal;
		font-weight: 400;
	}

	.tops_text .tbig span {
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif !important;
		font-style: normal;
		font-weight: 400;
	}

	.tops_text .tbig .markerline_v {
		display: inline-block;
		padding: 2px 18px 8px;
		background: #2F6F67;
		margin-bottom: 20px;
	}

	.tops_text .tbig .markerline_py {
		display: inline;
		padding: 10px 0;
		background: linear-gradient(transparent 90%, #7A6A45 0%);
	}

	.junior_top .tops_text .tbig {
		font-size: 38px;
		line-height: 60px;
		color: #FFFFFF;
		margin-bottom: 25px;
	}

	.tops_text_m {
		margin-top: 45px;
		font-size: 19px;
		line-height: 34px;
		color: #FFFFFF;
		text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
	}

	.junior_top .tops_text_m {
		margin-top: 0;
	}

	.naname {
		transform: rotate(353deg);
	}

	.naname2 {
		transform: rotate(356deg);
	}

	.naname3 {
		transform: rotate(362deg);
	}

	.top_lead {
		font-size: 30px;
		line-height: 40px;
		color: #315F47;
		font-weight: bold;
		font-style: italic;
		letter-spacing: 0.04em;
	}

	.top_lead .markerline_p {
		display: inline;
		padding: 5px 10px 5px;
		background: linear-gradient(transparent 12%, rgba(232, 234, 213, 0.88) 12%, rgba(232, 234, 213, 0.88) 87%, transparent 87%);
		-webkit-box-decoration-break: clone;
		box-decoration-break: clone;
	}

	.an4-fadeleft {
		animation-name: fadeleft;
		animation-duration: 1s;
		animation-iteration-count: 1;
	}

	@keyframes fadeleft {
		from {
			opacity: 0;
			transform: translateX(80px);
		}

		to {
			opacity: 1;
			transform: translateX(0);
		}
	}

	.fadein2 {
		opacity: 1;
		transform: translateX(0);
	}

	.position_re {
		position: relative;
	}

	.main_area {
		padding-top: 90px;
		padding-bottom: 90px;
		overflow: hidden;
	}

	.main_area60 {
		padding-top: 60px;
		padding-bottom: 60px;
		overflow: hidden;
	}

	.main_area_f {
		border-top: solid 20px #7A6A45;
		padding-top: 100px;
		padding-bottom: 45px;
		overflow: hidden;
	}

	.main_area_n {
		padding-top: 90px;
		padding-bottom: 60px;
		overflow: hidden;
	}

	.box90,
	.box80,
	.box1080,
	.box1150 {
		width: 90%;
		max-width: 1200px;
		min-width: 1080px;
		margin-right: auto;
		margin-left: auto;
		overflow: hidden;
	}

	.box80 {
		width: 80%;
	}

	.box900,
	.box_scr {
		width: 900px;
		margin-right: auto;
		margin-left: auto;
		overflow: hidden;
	}

	.box1080 {
		width: 1080px;
	}

	.box1150 {
		width: 1150px;
	}

	.box_footer {
		width: 100%;
		padding: 0;
		margin-right: auto;
		margin-left: auto;
		max-width: 1700px;
	}

	.h2title_c {
		font-size: 48px;
		line-height: 53px;
		font-weight: bold;
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
		color: #2F6F67;
	}

	.bg_v .h2title,
	.bg_bl .h2title,
	.bg_gs .h2title,
	.bg_v .h2title_c,
	.bg_p .h2title_c,
	.bg_bl .h2title_c,
	.bg_gs .h2title_c {
		color: #ffffff;
	}

	.h2title_c {
		text-align: center;
	}

	.e_title_c {
		font-size: 18px;
		font-weight: bold;
		margin-top: 15px;
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	}

	.bg_v .e_title,
	.bg_bl .e_title,
	.bg_gs .e_title,
	.bg_v .e_title_c,
	.bg_p .e_title_c,
	.bg_bl .e_title_c,
	.bg_gs .e_title_c {
		color: #ffffff;
	}

	.e_title_c {
		text-align: center;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 ul {
		margin-top: 70px;
		display: flex;
		overflow-x: scroll;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 li {
		overflow: hidden;
		float: right;
		width: 38%;
		flex-shrink: 0;
		list-style: none;
		margin-bottom: 70px;
		margin-left: 3%;
		padding: 16px 16px 46px;
		position: relative;
		text-align: left;
		background: #ffffff;
		border: none;
		border-radius: 10px;
		box-shadow: 0 10px 24px rgba(54, 26, 25, 0.08);
		transition: box-shadow 0.35s ease, transform 0.35s ease;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 li:hover {
		box-shadow: 0 14px 30px rgba(54, 26, 25, 0.14);
		transform: translateY(-4px);
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 li:first-of-type {
		margin-left: 10%;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 li:last-of-type {
		margin-right: 10%;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 li a {
		color: #361a19;
		text-decoration: none;
		transition: all 0.5s ease 0s;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 li a:hover {
		color: #2F6F67;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 img {
		padding: 0;
		width: 100%;
		height: 260px;
		object-fit: cover;
		transition: all 0.5s ease 0s;
		border: none;
		border-radius: 8px;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 a:hover img {
		opacity: 0.86;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 .rpwwt-post-title {
		display: block;
		margin-top: 15px;
		margin-bottom: 10px;
		font-size: 15px;
		font-weight: bold;
		line-height: 23px;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 .rpwwt-post-categories {
		font-size: 0px;
		margin: 0 6% 0 0;
		letter-spacing: 0em;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 .rpwwt-post-categories a {
		font-size: 10px;
		padding: 7px 9px 8px;
		margin-right: 15px;
		border-radius: 20px;
		font-weight: bold;
		background-color: #7A6A45;
		color: #ffffff;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 .rpwwt-post-categories a:hover {
		background-color: #C9A56A;
		color: #361a19;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 .rpwwt-post-date {
		position: absolute;
		font-size: 13px;
		bottom: 20px;
		right: 10px;
		color: #6d6250;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 .rpwwt-post-excerpt {
		margin: 10px 0 40px;
		font-size: 13px;
		color: #665f54;
		line-height: 23px;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 ul::-webkit-scrollbar {
		height: 3px;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 ul::-webkit-scrollbar-thumb {
		background: #2F6F67;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-2 ul::-webkit-scrollbar-track {
		background: rgba(255, 255, 255, 0.6);
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 {
		margin-top: 50px;
		letter-spacing: -1em;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 li {
		display: inline-block;
		vertical-align: top;
		overflow: hidden;
		width: 30.333%;
		margin: 0 1.5% 45px 1.5%;
		text-align: left;
		padding: 20px 0;
		position: relative;
		letter-spacing: 0.1em;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 li a {
		color: #361a19;
		text-decoration: none;
		transition: all 0.5s ease 0s;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 li a:hover {
		color: #2F6F67;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 img {
		width: 100%;
		height: 230px;
		object-fit: cover;
		transition: all 0.5s ease 0s;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 a:hover img {
		opacity: 0.7;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-title {
		font-size: 15px;
		font-weight: bold;
		line-height: 23px;
		display: block;
		margin-top: 15px;
		margin-bottom: 10px;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-categories {
		font-size: 0px;
		margin: 0 6% 0 0;
		letter-spacing: 0em;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-categories a {
		font-size: 10px;
		padding: 7px 9px 8px;
		margin-right: 15px;
		border-radius: 20px;
		font-weight: bold;
		background-color: #7A6A45;
		color: #ffffff;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-categories a:hover {
		background-color: #C9A56A;
		color: #361a19;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-date {
		position: absolute;
		font-size: 13px;
		bottom: 20px;
		right: 10px;
	}

	#rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-excerpt {
		margin: 10px 0 40px;
		font-size: 13px;
		color: #666666;
		line-height: 23px;
	}

	.btn01 {
		margin-top: 50px;
		position: relative;
		text-decoration: none;
		display: inline-block;
		color: #333;
		padding: 12px 50px 12px 70px;
		border-radius: 5px;
		outline: none;

		transition: ease .2s;
		font-size: 13px;
		font-weight: bolder;
		background-color: #ffffff;
		background-image: url(img/icon_note.png);
		background-repeat: no-repeat;
		background-position: 13px center;
		background-size: 35px;
	}

	.btn02 {
		margin-top: 50px;
		position: relative;
		text-decoration: none;
		display: inline-block;
		padding: 12px 50px 12px 20px;
		border-radius: 5px;
		outline: none;

		transition: ease .2s;
		font-size: 13px;
		line-height: 28px;
		font-weight: bolder;
		color: #ffffff;
		border: solid 1px #ffffff;
	}

	.btn03 {
		margin-top: 50px;
		position: relative;
		text-decoration: none;
		display: inline-block;
		color: #333;
		padding: 12px 50px 12px 20px;
		border-radius: 5px;
		outline: none;

		transition: ease .2s;
		font-size: 13px;
		line-height: 28px;
		font-weight: bolder;
		border: solid 1px #361a19;
		background-color: #ffffff;
	}

	.btnarrow1::after,
	.btnarrow2::after {
		content: "";

		position: absolute;
		top: 42%;
		right: 20px;

		width: 5px;
		height: 5px;
		border-top: 2px solid #7A6A45;
		border-right: 2px solid #7A6A45;
		transform: rotate(45deg);

		transition: all .3s;
	}

	.btnarrow2::after {
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
	}

	.btnarrow1:hover::after,
	.btnarrow2:hover::after {
		right: 17px;
	}

	.project-links {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 26px;
		margin-top: 55px;
	}

	.project-links li {
		min-width: 0;
	}

	.project-links li a {
		display: block;
		height: 100%;
		color: #361a19;
		text-decoration: none;
		background: #ffffff;
		border-radius: 8px;
		overflow: hidden;
		box-shadow: 0 8px 22px rgba(54, 26, 25, 0.09);
		transition: opacity 0.25s ease, box-shadow 0.25s ease;
	}

	.project-links li a:hover {
		opacity: 0.86;
		box-shadow: 0 11px 26px rgba(54, 26, 25, 0.14);
	}

	.project-links img {
		display: block;
		width: 100%;
		aspect-ratio: 16 / 10;
		object-fit: cover;
	}

	.project-image--bottom {
		object-position: center bottom;
	}

	.project-links__body {
		position: relative;
		padding: 20px 44px 22px 22px;
	}

	.project-links__body::after {
		content: "";
		position: absolute;
		top: 27px;
		right: 22px;
		width: 7px;
		height: 7px;
		border-top: 2px solid #8f6038;
		border-right: 2px solid #8f6038;
		transform: rotate(45deg);
	}

	.project-links h3 {
		margin: 0 0 9px;
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
		font-size: 20px;
		font-weight: 400;
		line-height: 1.35;
		letter-spacing: 0;
	}

	.project-links p {
		margin: 0;
		font-size: 12px;
		line-height: 1.8;
		color: #665f54;
	}

	.site-footer {
		padding: 72px 5% 24px;
		color: #ffffff;
		background: #285d55;
		border-top: 12px solid #8f6038;
	}

	.site-footer__inner {
		display: grid;
		grid-template-columns: minmax(300px, 0.9fr) minmax(620px, 1.6fr);
		gap: 8%;
		width: 100%;
		max-width: 1320px;
		margin: 0 auto;
	}

	.site-footer__brand p {
		max-width: 360px;
		margin: 24px 0 45px;
		font-size: 13px;
		line-height: 1.9;
		color: rgba(255, 255, 255, 0.82);
		font-weight: 600;
	}

	.site-footer__logo {
		display: block;
		width: 380px;
		max-width: 100%;
	}

	.site-footer__logo img {
		display: block;
		width: 100%;
		height: auto;
	}

	.site-footer__instagram {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		padding: 10px 16px;
		color: #ffffff;
		font-size: 12px;
		font-weight: 700;
		line-height: 1;
		text-decoration: none;
		border: 1px solid rgba(255, 255, 255, 0.52);
		border-radius: 5px;
		transition: opacity 0.25s ease, background-color 0.25s ease;
	}

	.site-footer__instagram:hover {
		opacity: 0.78;
		background: rgba(255, 255, 255, 0.08);
	}

	.site-footer__instagram img {
		display: block;
		width: 20px;
		height: 20px;
		object-fit: contain;
	}

	.site-footer__nav {
		display: grid;
		grid-template-columns: minmax(360px, 1.25fr) minmax(220px, 0.75fr);
		gap: 60px;
	}

	.site-footer__group h2 {
		margin: 0 0 24px;
		padding-bottom: 12px;
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
		font-size: 21px;
		font-weight: 400;
		line-height: 1.3;
		letter-spacing: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	}

	.site-footer__group ul {
		display: grid;
		gap: 15px;
	}

	.site-footer__group--main ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 28px;
	}

	.site-footer__group a,
	.site-footer__group .menu-disabled {
		position: relative;
		display: inline-block;
		padding-left: 14px;
		color: rgba(255, 255, 255, 0.86);
		font-size: 12px;
		line-height: 1.5;
		text-decoration: none;
		transition: opacity 0.25s ease;
	}

	.site-footer__group a::before,
	.site-footer__group .menu-disabled::before {
		content: "";
		position: absolute;
		top: 0.55em;
		left: 0;
		width: 5px;
		height: 5px;
		border-top: 1px solid #d8b77c;
		border-right: 1px solid #d8b77c;
		transform: rotate(45deg);
	}

	.site-footer__group a:hover {
		opacity: 0.62;
	}

	.site-footer__copyright {
		width: 100%;
		max-width: 1320px;
		margin: 58px auto 0;
		padding-top: 20px;
		font-size: 10px;
		text-align: right;
		color: rgba(255, 255, 255, 0.62);
		border-top: 1px solid rgba(255, 255, 255, 0.2);
	}

	.news_area {
		width: 90%;
		max-width: 1400px;
		min-width: 1100px;
		margin-right: auto;
		margin-left: auto;
		overflow: hidden;
	}

	.yt_area {
		width: 90%;
		max-width: 1400px;
		min-width: 1150px;
		margin: 0 auto;
		overflow: hidden;
		position: relative;
		padding: 0;
	}

	.instagram_feed_preview {
		width: 70%;
		overflow: hidden;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 4px;
	}

	.instagram_feed_preview a {
		display: block;
		aspect-ratio: 1;
		overflow: hidden;
	}

	.instagram_feed_preview img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.35s ease;
	}

	.instagram_feed_preview a:hover img {
		transform: scale(1.04);
	}

	.youtube_more {
		width: 30%;
		padding: 5% 4% 5% 6%;
		font-size: 90px;
		color: #FCFCFC;
		line-height: 70px;
		float: right;
		font-family: "Teko", sans-serif;
	}

	.youtube_more img {
		width: 130px;
		margin-bottom: 50px;
	}

	.instagram_more {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 22px;
		padding: 10% 4%;
		font-size: 0;
		line-height: 1;
	}

	.instagram_more .instagram_logo_link {
		display: flex;
		align-items: center;
		gap: 10px;
		text-decoration: none;
	}

	.instagram_more .instagram_mark {
		display: block;
		width: 40px;
		height: 40px;
		margin: 0;
		object-fit: contain;
	}

	.instagram_more .instagram_wordmark {
		display: block;
		color: #ffffff;
		font-family: 'Grand Hotel', cursive;
		font-size: 53px;
		font-weight: 400;
		line-height: 0.9;
		letter-spacing: 0;
	}

	.instagram_more .instagram_qr {
		display: block;
		width: 100px;
		height: 100px;
		margin: 30px 0 20px;
	}

	.instagram_more .instagram_button {
		margin-top: 0;
		white-space: nowrap;
	}

	.sub_title,
	.sub_title_t {
		margin-top: 65px;
		margin-bottom: 40px;
		font-size: 24px;
		padding-bottom: 25px;
		border-bottom: solid 3px #2F6F67;
		position: relative;
	}

	.sub_title_t {
		margin-top: 0;
	}

	.sub_title:after,
	.sub_title_t:after {
		position: absolute;
		content: " ";
		display: block;
		border-bottom: solid 3px #7A6A45;
		bottom: -3px;
		width: 20%;
		z-index: 1;
	}

	.sub_title_s,
	.sub_title_st {
		margin-top: 0;
		margin-bottom: 30px;
		font-size: 15px;
		padding: 15px 20px;
		background: #dedede;
		line-height: 28px;
	}

	.sub_title_st {
		margin-top: 65px;
	}

	.spo_box01,
	.spo_box02 {
		width: 96%;
		margin: 0 auto 70px;
		overflow: hidden;
	}

	.spo_box02 {
		width: 95%;
	}

	.spo_box02:last-of-type {
		margin-bottom: 10px;
	}

	.spo_box01 li {
		float: left;
		width: 27.333%;
		margin: 3%
	}

	.spo_box02 li {
		float: left;
		width: 19%;
		margin: 3%
	}

	.spo_box01 li a:hover,
	.spo_box02 li a:hover {
		opacity: 0.6;
	}

	.flogo {
		width: 460px;
		margin: 0 auto;
	}

	.f_icon {
		margin: 0 auto;
	}

	.f_icon li {
		width: 30px;
		float: left;
		margin-right: 25px;
	}

	.f_icon li a:hover {
		opacity: 0.6;
	}

	.f_icon li:last-of-type {
		padding-top: 2px;
		width: 120px;
		float: left;
	}

	.footer_slink {
		width: 100%;
		margin-top: 120px;
		margin-right: auto;
		margin-left: auto;
		max-width: 1800px;
		min-width: 1150px;
		font-size: 13px;
		color: #ffffff;
		line-height: 36px;
		text-align: center;
	}

	.footer_slink a {
		color: #ffffff;
		text-decoration: none;
	}

	.footer_slink a:hover {
		color: #ffffff;
		text-decoration: underline;
	}

	.page_title {
		background: #2F6F67;
		color: #FFFFFF;
		padding: 130px 0 30px 40px;
		font-size: 18px;
		font-weight: bold;
	}

	.page_member_t {
		padding-top: 97px;
		font-size: 18px;
		font-weight: bold;
		border-bottom: 8px solid #7A6A45;
	}

	.page_member_s {
		font-size: 18px;
		font-weight: bold;
		border-bottom: 8px solid #7A6A45;
	}

	.m_mh {
		height: 680px;
	}

	.m_mainimg {
		width: 580px;
		position: absolute;
		left: 10px;
		bottom: 0;
		z-index: 2;
	}

	.pmt_box {
		position: absolute;
		right: 30px;
		top: 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-webkit-text-stroke: 1px rgb(255, 255, 255);
		z-index: 2;
	}

	.pmt_p {
		color: transparent;
		z-index: 1;
		font-size: 70px;
		font-weight: bold;
		font-family: "Oswald", sans-serif;
		width: 100%;
		margin-bottom: 35px;
	}

	.pmt_name {
		color: #ffffff;
		z-index: 1;
		font-size: 23px;
		font-weight: bold;
		letter-spacing: 0;
	}

	.nameul {
		font-size: 90px;
		line-height: 90px;
		padding-bottom: 5px;
		margin-bottom: 20px;
		border-bottom: solid 2px #ffffff;
		font-family: "Teko", sans-serif;
	}

	.pmt_sns {
		margin-top: 30px;
	}

	.pmt_sns li {
		padding: 12px;
		float: left;
		width: 45px;
		height: 45px;
		border: solid 1px #ffffff;
		border-radius: 100px;
		margin-right: 15px;
		transition: all .3s;
	}

	.pmt_sns a:hover li {
		opacity: 0.8;
	}

	.profbox {
		width: 96%;
		margin: 0 auto;
		font-size: 14px;
		overflow: hidden;
	}

	.profbox li {
		float: left;
		width: 34%;
		padding: 10px;
		background: #f9f9f9;
		color: #361a19;
		text-align: center;
		margin: 1% 1% 1% 0;
		border-radius: 0 5px 5px 0;
	}

	.profbox li:nth-child(odd) {
		width: 14%;
		background: #2F6F67;
		color: #ffffff;
		margin: 1% 0 1% 1%;
		font-weight: bold;
		border-radius: 5px 0 0 5px;
	}

	.profbox_d {
		width: 96%;
		margin: 40px auto 0;
		font-size: 14px;
		overflow: hidden;
		padding: 10px 15px;
		background: #f9f9f9;
		color: #361a19;
		border-radius: 5px;
	}

	.profbox2 {
		width: 96%;
		margin: 0 auto;
		font-size: 14px;
		overflow: hidden;
		padding: 10px 15px;
		color: #361a19;
		border-radius: 5px;
	}

	.profbox2 li {
		float: left;
		width: 69%;
		padding: 10px;
		background: #f9f9f9;
		color: #361a19;
		text-align: center;
		margin: 1% 1% 1% 0;
		border-radius: 0 5px 5px 0;
	}

	.profbox2 li:nth-child(odd) {
		width: 29%;
		background: #2F6F67;
		color: #ffffff;
		margin: 1% 0 1% 1%;
		font-weight: bold;
		border-radius: 5px 0 0 5px;
	}

	.gridbox {
		margin-top: 60px;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		gap: 32px 25px;
	}

	.gridbox li {
		padding: 12px 17px;
		background: #FFFFFF;
		color: #361a19;
		border-radius: 5px;
	}

	.gridbox li .title {
		font-weight: bold;
		color: #7A6A45;
		margin-bottom: 10px;
		line-height: 22px;
	}

	.cta_box {
		color: #FFFFFF;
		text-align: center;
		padding: 90px 0;
	}

	.cta_box .title {
		font-size: 36px;
		line-height: 63px;
		font-weight: bold;
	}

	.dots {
		background-image: radial-gradient(circle at center, #7A6A45 20%, transparent 20%);
		background-position: top left;
		background-repeat: repeat-x;
		background-size: 1.03em 0.5em;
		padding-top: .6em;
	}

	.button01 {
		display: inline-block;
		background: #A9B86E;
		width: 500px;
		padding: 25px 0;
		text-align: center;
		color: #361a19;
		margin: 80px 0 40px;
		cursor: pointer;
		position: relative;
		text-decoration: none;
		font-size: 19px;
		font-weight: bold;
		transition: all 0.5s ease 0s;
		border-radius: 100px;
	}

	.button01:hover {
		color: #333;
		background: #C7CE8A;
	}

	.button01::after {
		content: "";
		display: block;
		position: absolute;
		top: calc(50% - 7px);
		right: 50px;
		width: 6px;
		height: 6px;
		border: 2px solid;
		border-color: transparent transparent #361a19 #361a19;
		transform: rotate(-45deg);
		transition: .3s;
	}

	.button01:hover::after {
		top: calc(50% - 4px);
		border-color: transparent transparent #333 #333;
	}

	.tbbox {
		margin-top: 25px;
		overflow: hidden;
		border-radius: 5px;
		align-items: stretch;
	}

	.tbbox_left {
		display: table;
		float: left;
		width: 25%;
		padding: 20px 30px;
		text-align: center;
		color: #ffffff;
		font-weight: bold;
		background: #4F744E;
		position: relative;
	}

	.tbbox_left strong {
		display: table-cell;
		vertical-align: middle;
		;
	}

	.tbbox_right {
		float: left;
		width: 75%;
		padding: 20px 30px;
		background: #F7F7F7;
	}

	.about_c {
		margin-top: 45px;
		font-size: 16px;
		line-height: 42px;
		font-weight: bold;
		text-align: center;
	}

	.img900 {
		width: 900px;
		margin: 0 auto;
		text-align: center;
		font-size: 13px;
	}

	.img900 img {
		margin-bottom: 20px;
	}

	.img900 table {
		width: 900px;
		background-color: #4F744E;
	}

	.tb01 th,
	.tb01 td {
		width: 200px;
		padding: 15px;
		text-align: center;
	}

	.tb01 th {
		width: 300px;
	}

	.text_w {
		color: #ffffff;
	}

	.f_bold {
		font-weight: bold;
	}

	.shooters_top {
		margin-right: auto;
		margin-left: auto;
		padding: 70px 0;
		text-align: center;
	}

	.junior_top {
		height: 500px;
		margin-top: 40px;
		margin-right: auto;
		margin-bottom: 40px;
		margin-left: auto;
		position: relative;
	}

	.waku_v {
		margin: 60px auto 0;
		width: 500px;
		padding: 10px;
		background: #2F6F67;
		color: #ffffff;
	}

	.photo3 {
		margin: 60px auto 0;
	}

	.photo3 img {
		width: 50%;
		float: left;
	}

	.btnmap {
		float: right;
	}

	.btnmap a {
		color: #ffffff;
		background: #4F744E;
		padding: 10px 15px;
		text-decoration: none;
		border-radius: 6px;
		font-size: 10px;
	}

	.about-page {
		background: #d3cbbc;
		color: #361a19;
	}

	.about-hero,
	.admission-hero {
		position: relative;
		min-height: 620px;
		padding: 170px 0 90px;
		overflow: hidden;
		color: #ffffff;
	}

	.about-hero::after,
	.admission-hero::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, rgba(0, 0, 0, 0.66), rgba(0, 0, 0, 0.38) 48%, rgba(0, 0, 0, 0.16));
		z-index: 1;
	}

	.about-hero__image,
	.admission-hero__image {
		position: absolute;
		inset: 0;
	}

	.about-hero__image img,
	.admission-hero__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.about-hero__body,
	.admission-hero__body {
		position: relative;
		z-index: 2;
		width: min(1080px, calc(100% - 80px));
		margin: 0 auto;
	}

	.about-hero h1,
	.about-hero .about-kicker,
	.admission-hero h1,
	.admission-hero .about-kicker,
	.about-heading h2,
	.about-cta h2 {
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
		letter-spacing: 0;
	}

	.about-hero h1,
	.admission-hero h1 {
		margin: 10px 0 38px;
		font-size: 64px;
		line-height: 1.08;
	}

	.about-hero__lead,
	.admission-hero__lead {
		margin-top: 80px;
		max-width: 650px;
		font-size: 28px;
		line-height: 52px;
		color: #315F47;
		font-weight: bold;
		font-style: italic;
		letter-spacing: 0.04em;
	}

	.about-hero__lead span,
	.admission-hero__lead span {
		display: inline;
		margin-top: 0;
		padding: 7px 10px 8px;
		color: inherit;
		font-weight: bold;
		font-style: italic;
		background: linear-gradient(transparent 12%, rgba(232, 234, 213, 0.88) 12%, rgba(232, 234, 213, 0.88) 87%, transparent 87%);
		-webkit-box-decoration-break: clone;
		box-decoration-break: clone;
	}

	.about-kicker {
		margin: 0;
		color: #ffffff;
		font-size: 28px;
		font-weight: 900;
		line-height: 1.1;
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	}

	.about-section {
		padding: 110px 0;
	}

	.about-section--intro,
	.about-section--believe {
		background: #f4f4f3;
	}

	.about-section--principal {
		background: #ffffff;
	}

	.about-section--between {
		background: #e8ead5;
	}

	.about-section--organization {
		background: #e8ead5;
	}

	.about-section--organization .about-section__inner {
		padding: 70px;
		background: transparent;
		border-radius: 8px;
	}

	.about-section--profile {
		background: #ffffff;
		color: #361a19;
	}

	.about-section__inner {
		width: min(1080px, calc(100% - 80px));
		margin: 0 auto;
	}

	.about-heading {
		margin-bottom: 68px;
		padding-left: 0;
		border-left: 0;
		text-align: center;
	}

	.about-heading h2 {
		margin: 0;
		color: #2f6f67;
		font-size: 48px;
		line-height: 53px;
		font-weight: bold;
	}

	.about-section--profile .about-heading h2 {
		color: #2f6f67;
	}

	.about-en {
		margin: 15px 0 0;
		color: #361a19;
		font-size: 18px;
		font-weight: bold;
		letter-spacing: 0;
		text-transform: none;
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	}

	.about-section--profile .about-en,
	.about-cta .about-en {
		color: #361a19;
	}

	.about-intro-grid,
	.about-split,
	.about-believe,
	.about-org {
		display: grid;
		grid-template-columns: 1fr 420px;
		gap: 54px;
		align-items: center;
	}

	.about-copy p {
		margin: 0 0 1.45em;
		font-size: 16px;
		font-weight: 600;
		line-height: 2.25;
	}

	.principal-message {
		display: grid;
		grid-template-columns: 360px 1fr;
		gap: 58px;
		align-items: center;
	}

	.principal-message__photo {
		overflow: hidden;
		border-radius: 10px;
		background: #e8ead5;
	}

	.principal-message__photo img {
		display: block;
		width: 100%;
		height: 460px;
		object-fit: cover;
	}

	.principal-message__person {
		padding: 28px 28px 30px;
		background: #f4f4f3;
		text-align: center;
	}

	.principal-message__body {
		padding: 12px 0;
	}

	.principal-message__role {
		display: inline-block;
		margin: 0 0 11px;
		padding: 6px 11px;
		color: #ffffff;
		background: #2f6f67;
		border-radius: 999px;
		font-size: 10px;
		font-weight: 800;
		line-height: 1;
		letter-spacing: 0;
	}

	.principal-message h3 {
		margin: 0;
		color: #2f6f67;
		font-size: 34px;
		font-weight: 900;
		line-height: 1.35;
	}

	.principal-message h3 span {
		margin-left: 12px;
		color: #7a6a45;
		font-size: 15px;
		font-weight: 800;
	}

	.principal-message__summary {
		display: grid;
		gap: 10px;
		margin: 22px 0 0;
	}

	.principal-message__summary div {
		padding: 12px 14px;
		background: #ffffff;
		border-radius: 7px;
		text-align: center;
	}

	.principal-message__summary dt,
	.principal-message__summary dd {
		margin: 0;
	}

	.principal-message__summary dt {
		margin-bottom: 5px;
		color: #2f6f67;
		font-size: 11px;
		font-weight: 900;
	}

	.principal-message__summary dd {
		color: #361a19;
		font-size: 13px;
		font-weight: 800;
		line-height: 1.6;
	}

	.principal-message__text p {
		margin: 0 0 1.35em;
		font-size: 16px;
		font-weight: 600;
		line-height: 2.15;
	}

	.principal-message__profile {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
		margin: 38px 0 0;
	}

	.principal-message__profile div {
		padding: 24px 26px 22px;
		background: #e8ead5;
		border-radius: 8px;
	}

	.principal-message__profile-wide {
		grid-column: 1 / -1;
	}

	.principal-message__profile dt {
		margin-bottom: 11px;
		color: #2f6f67;
		font-size: 12px;
		font-weight: 900;
	}

	.principal-message__profile dd {
		margin: 0;
		font-size: 14px;
		font-weight: 800;
		line-height: 1.9;
	}

	.principal-message__profile dd a {
		color: #2f6f67;
		text-decoration: underline;
		text-underline-offset: 4px;
	}

	.principal-message__button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: fit-content;
		margin: 24px auto 0;
		padding: 13px 28px;
		color: #2f6f67;
		font-size: 14px;
		font-weight: 900;
		text-decoration: none;
		border: 1px solid rgba(47, 111, 103, 0.55);
		border-radius: 999px;
		transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;
	}

	.principal-message__button:hover {
		color: #ffffff;
		background: #2f6f67;
		border-color: #2f6f67;
	}

	.about-meaning {
		display: grid;
		gap: 18px;
	}

	.about-meaning div {
		padding: 34px 34px 30px;
		background: #2f6f67;
		color: #ffffff;
		border-radius: 8px;
		box-shadow: 14px 14px 0 rgba(122, 106, 69, 0.24);
	}

	.about-meaning span {
		display: block;
		margin-bottom: 12px;
		color: #c9a56a;
		font-size: 34px;
		font-weight: 900;
		font-style: italic;
	}

	.about-meaning p {
		margin: 0;
		font-weight: 800;
	}

	.about-split {
		grid-template-columns: 430px 1fr;
	}

	.about-split__photo,
	.about-believe__photo,
	.about-org__photo {
		overflow: hidden;
		border-radius: 10px;
	}

	.about-split__photo img,
	.about-believe__photo img,
	.about-org__photo img {
		width: 100%;
		height: 430px;
		object-fit: cover;
	}

	.about-landscape {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 34px;
		margin-top: 64px;
		padding-bottom: 140px;
		align-items: center;
	}

	.about-landscape article {
		overflow: hidden;
		background: transparent;
		border-radius: 10px;
	}

	.about-landscape img {
		width: 100%;
		height: 300px;
		object-fit: cover;
		display: block;
	}

	.about-landscape article:nth-child(1) {
		transform: translateY(140px);
	}

	.about-landscape article:nth-child(1) img {
		margin-left: 0;
		object-position: center center;
	}

	.about-landscape article:nth-child(2) {
		transform: none;
	}

	.about-landscape article:nth-child(2) img {
		margin-left: 0;
		object-position: center center;
	}


	.about-believe {
		grid-template-columns: 1fr 380px;
	}

	.about-believe__text {
		padding: 12px 0;
		background: transparent;
	}

	.about-believe__text p {
		margin: 0 0 1.45em;
		font-size: 16px;
		font-weight: 600;
		line-height: 2.25;
	}

	.about-values {
		display: grid;
		grid-template-columns: repeat(6, 1fr);
		gap: 16px;
		margin-top: 38px;
	}

	.about-values article {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		aspect-ratio: 1 / 1;
		padding: 18px;
		background: #e8ead5;
		border: 3px solid rgba(201, 165, 106, 0.78);
		border-radius: 50%;
		text-align: center;
	}

	.about-values strong {
		display: block;
		color: #2f6f67;
		font-size: 20px;
		font-weight: 900;
	}

	.about-values span {
		display: block;
		margin-top: 6px;
		color: #7a6a45;
		font-size: 10px;
		font-weight: 900;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.about-cta-area {
		position: relative;
		overflow: hidden;
		padding: 450px 0 100px;
		background: #d3cbbc;
	}

	.about-cta-area__video {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		z-index: 0;
	}

	.about-cta-area__overlay {
		position: absolute;
		inset: 0;
		background: rgba(211, 203, 188, 0.64);
		z-index: 1;
	}

	.about-cta {
		display: grid;
		grid-template-columns: 1fr 420px;
		gap: 50px;
		align-items: center;
		width: min(1080px, calc(100% - 80px));
		margin: 0 auto;
		padding: 64px 70px;
		background: #315f47;
		color: #ffffff;
		border-radius: 8px;
		position: relative;
		z-index: 2;
	}

	.about-cta h2 {
		color: #ffffff;
		font-size: 38px;
		line-height: 1.45;
		letter-spacing: 0.02em;
	}

	.about-cta p:not(.about-en) {
		margin: 28px 0 0;
		font-weight: 700;
		line-height: 1.9;
	}

	.about-cta__buttons {
		display: grid;
		gap: 16px;
		justify-items: end;
	}

	.about-cta__buttons a {
		position: relative;
		width: min(350px, 100%);
	}

	.about-cta__class {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 4px;
		min-height: 50px;
		padding: 10px 48px 10px 18px;
		color: #ffffff;
		text-align: left;
		text-decoration: none;
		background: #9f463c;
		border-radius: 8px;
		font-weight: 900;
		line-height: 1.25;
		transition: background 0.25s ease, transform 0.25s ease;
	}

	.about-cta__class::after {
		content: "";
		position: absolute;
		right: 18px;
		top: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 18px;
		height: 18px;
		border: 1px solid rgba(255, 255, 255, 0.72);
		border-radius: 50%;
		transform: translateY(-50%);
		transition: transform 0.25s ease, background 0.25s ease;
	}

	.about-cta__class::before {
		content: "";
		position: absolute;
		right: 25.5px;
		top: 50%;
		width: 4px;
		height: 4px;
		border-top: 1px solid #ffffff;
		border-right: 1px solid #ffffff;
		transform: translateY(-50%) rotate(45deg);
		transition: transform 0.25s ease, border-color 0.25s ease;
		z-index: 1;
	}

	.about-cta__class:hover {
		color: #ffffff;
		background: #8f6038;
		transform: translateY(-2px);
	}

	.about-cta__class:hover::after {
		background: #ffffff;
		transform: translate(4px, -50%);
	}

	.about-cta__class:hover::before {
		border-color: #8f6038;
		transform: translate(4px, -50%) rotate(45deg);
	}

	.about-cta__class span {
		display: block;
		color: rgba(255, 255, 255, 0.78);
		font-size: 10px;
		font-weight: 800;
		letter-spacing: 0.04em;
	}

	.admission-page .about-cta__buttons a {
		width: min(430px, 100%);
	}

	.admission-page .about-cta__class {
		min-height: 96px;
		padding: 22px 64px 22px 28px;
		border-radius: 10px;
		gap: 8px;
	}

	.admission-page .about-cta__class strong {
		font-size: 22px;
		letter-spacing: 0.04em;
	}

	.admission-page .about-cta__class span {
		font-size: 12px;
		line-height: 1.5;
	}

	.admission-page .about-cta__class::after {
		right: 26px;
		width: 24px;
		height: 24px;
	}

	.admission-page .about-cta__class::before {
		right: 36px;
		width: 5px;
		height: 5px;
	}

	.about-org {
		grid-template-columns: 430px 1fr;
	}

	.about-donation {
		display: grid;
		grid-template-columns: 1fr 380px;
		gap: 54px;
		align-items: center;
	}

	.about-donation__box {
		padding: 34px 34px 30px;
		background: #2f6f67;
		color: #ffffff;
		border-radius: 8px;
		box-shadow: 14px 14px 0 rgba(122, 106, 69, 0.24);
	}

	.about-donation__box h3 {
		margin: 0 0 18px;
		font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
		font-size: 26px;
		font-weight: 400;
		line-height: 1.2;
	}

	.about-donation__box li {
		position: relative;
		margin: 0 0 10px;
		padding-left: 1.1em;
		font-weight: 700;
		line-height: 1.8;
	}

	.about-donation__box li::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0.85em;
		width: 5px;
		height: 5px;
		border-radius: 50%;
		background: #c9a56a;
	}

	.about-donation__bank {
		margin-top: 24px;
		padding-top: 20px;
		border-top: 1px dashed rgba(255, 255, 255, 0.42);
	}

	.about-donation__bank h4 {
		margin: 0 0 10px;
		color: #e8ead5;
		font-size: 14px;
		font-weight: 900;
		letter-spacing: 0.08em;
	}

	.about-donation__bank p {
		margin: 0;
		color: #ffffff;
		font-size: 13px;
		font-weight: 800;
		line-height: 1.9;
	}

	.about-profile {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1px;
		margin: 0;
		background: #d3cbbc;
		border: 1px solid #d3cbbc;
	}

	.about-profile div {
		display: grid;
		grid-template-columns: 150px 1fr;
		background: #ffffff;
	}

	.about-profile dt,
	.about-profile dd {
		margin: 0;
		padding: 30px 24px;
		font-size: 14px;
		line-height: 1.8;
	}

	.about-profile dt {
		color: #2f6f67;
		font-weight: 900;
	}

	.about-profile dd {
		font-weight: 700;
	}

	.about-profile a {
		color: #2f6f67;
	}

	.staff-section {
		background: #f4f4f3;
	}

	.staff-lead {
		max-width: 760px;
		margin: -28px 0 44px;
		font-size: 15px;
		font-weight: 700;
		line-height: 2;
		color: #665f54;
	}

	.staff-grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 28px;
	}

	.staff-card {
		overflow: hidden;
		background: #ffffff;
		border-radius: 8px;
		box-shadow: 0 10px 24px rgba(54, 26, 25, 0.08);
	}

	.staff-card__photo {
		overflow: hidden;
		aspect-ratio: 4 / 3;
		background: #e8ead5;
	}

	.staff-card__photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	.staff-card__body {
		padding: 24px 24px 26px;
	}

	.staff-card__role {
		display: inline-block;
		margin: 0 0 12px;
		padding: 6px 12px;
		color: #ffffff;
		background: #2f6f67;
		border-radius: 999px;
		font-size: 11px;
		font-weight: 800;
		line-height: 1;
	}

	.staff-card h2 {
		margin: 0 0 18px;
		color: #361a19;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 20px;
		font-weight: 900;
		line-height: 1.45;
	}

	.staff-card h2 span {
		display: block;
		margin-top: 5px;
		color: #2f6f67;
		font-size: 12px;
		font-weight: 800;
	}

	.staff-card dl {
		display: grid;
		gap: 12px;
		margin: 0 0 18px;
	}

	.staff-card dl div {
		padding: 13px 14px;
		background: #f4f1e8;
		border-radius: 7px;
	}

	.staff-card dt,
	.staff-card dd {
		margin: 0;
	}

	.staff-card dt {
		margin-bottom: 5px;
		color: #2f6f67;
		font-size: 11px;
		font-weight: 900;
		line-height: 1.4;
	}

	.staff-card dd {
		color: #361a19;
		font-size: 13px;
		font-weight: 800;
		line-height: 1.65;
	}

	.staff-card__message {
		margin: 0;
		color: #665f54;
		font-size: 13px;
		font-weight: 700;
		line-height: 1.9;
	}
}

.contact-page .contact-section {
	background: #f7f4ec;
}

.contact-lead {
	max-width: 760px;
	margin: 0 auto 42px;
	color: #361a19;
	font-size: 16px;
	font-weight: 700;
	line-height: 2;
	text-align: center;
}

.contact-lead p {
	margin: 0 0 10px;
}

.contact-layout {
	display: grid;
	grid-template-columns: 0.82fr 1.18fr;
	gap: 38px;
	align-items: start;
}

.contact-info,
.contact-form-card {
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0 16px 34px rgba(54, 26, 25, 0.08);
}

.contact-info {
	overflow: hidden;
}

.contact-info h3 {
	margin: 0;
	padding: 28px 28px 8px;
	color: #2f6f67;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 28px;
	font-weight: 400;
	letter-spacing: 0;
}

.contact-info ul {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 16px 28px 28px;
	list-style: none;
}

.contact-info li {
	position: relative;
	padding-left: 18px;
	color: #361a19;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.7;
}

.contact-info li::before {
	content: "";
	position: absolute;
	top: 0.75em;
	left: 0;
	width: 7px;
	height: 7px;
	background: #b15a3c;
	border-radius: 50%;
}

.contact-info__image {
	aspect-ratio: 4 / 3;
}

.contact-info__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.contact-form-card {
	padding: 32px;
}

.contact-direct {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 30px;
}

.contact-direct__item {
	position: relative;
	overflow: hidden;
	padding: 22px 24px;
	background: linear-gradient(135deg, #f7f5ed 0%, #ffffff 100%);
	border: 1px solid rgba(47, 111, 103, 0.18);
	border-radius: 10px;
}

.contact-direct__item--office {
	grid-column: 1 / -1;
}

.contact-direct__item h3 {
	margin: 0 0 10px;
	color: #8f6038;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.12em;
}

.contact-direct__item p {
	margin: 0;
	color: #361a19;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.8;
}

.contact-direct__item p a {
	display: inline-flex;
	align-items: center;
	margin-left: 4px;
	color: #2f6f67;
	font-size: 12px;
	font-weight: 900;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.contact-direct__main {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 6px !important;
	color: #2f6f67 !important;
	font-size: 20px !important;
	font-weight: 900 !important;
	letter-spacing: 0.03em;
	line-height: 1.35 !important;
}

.contact-direct__main span {
	white-space: nowrap;
}

.contact-direct__main::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: #2f6f67;
	flex: 0 0 24px;
}

.contact-direct__main--tel::before {
	mask: url(img/icon_contact_tel.png) center / contain no-repeat;
	-webkit-mask: url(img/icon_contact_tel.png) center / contain no-repeat;
}

.contact-direct__main--fax::before {
	mask: url(img/icon_contact_fax.png) center / contain no-repeat;
	-webkit-mask: url(img/icon_contact_fax.png) center / contain no-repeat;
}

@media screen and (min-width: 641px) and (max-width: 1180px) {
	.contact-direct__item {
		padding: 20px 18px;
	}

	.contact-direct__main {
		gap: 9px;
		font-size: 18px !important;
		letter-spacing: 0;
	}

	.contact-direct__main::before {
		width: 21px;
		height: 21px;
		flex-basis: 21px;
	}
}

.contact-direct__sub {
	margin-top: 14px !important;
	padding-top: 14px;
	border-top: 1px dashed rgba(47, 111, 103, 0.28);
}

.contact-form-placeholder {
	margin: 60px 0 28px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: #361a19;
	text-align: left;
}

.contact-form-placeholder h3 {
	margin: 0;
	color: #2f6f67;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: center;
}

.contact-form-placeholder__en {
	margin: 4px 0 16px;
	color: #361a19;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	text-align: center;
}

.contact-form-placeholder__text {
	margin: 0;
	color: #361a19;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1.8;
}

.contact-form-demo {
	display: grid;
	gap: 34px;
}

.contact-form-demo label {
	display: grid;
	gap: 13px;
	color: #361a19;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.5;
}

.contact-form-demo label span {
	display: inline-block;
	width: fit-content;
	margin-left: 8px;
	padding: 3px 8px;
	color: #ffffff;
	background: #9b4a3f;
	border-radius: 999px;
	font-size: 10px;
	line-height: 1;
}

.contact-form-demo input,
.contact-form-demo select,
.contact-form-demo textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 14px 16px;
	color: #361a19;
	background: #fbfaf6;
	border: 1px solid rgba(54, 26, 25, 0.18);
	border-radius: 7px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 700;
}

.contact-form-demo select {
	-webkit-appearance: none;
	appearance: none;
	min-height: 52px;
	padding-right: 44px;
	background-color: #fbfaf6;
	background-image: linear-gradient(45deg, transparent 50%, #2f6f67 50%), linear-gradient(135deg, #2f6f67 50%, transparent 50%);
	background-position: calc(100% - 22px) 50%, calc(100% - 15px) 50%;
	background-size: 7px 7px, 7px 7px;
	background-repeat: no-repeat;
	line-height: 1.4;
}

.contact-form-demo textarea {
	min-height: 160px;
	resize: vertical;
}

.contact-form-demo button {
	justify-self: center;
	margin-top: 16px;
	min-width: 220px;
	padding: 16px 26px;
	color: #ffffff;
	background: #2f6f67;
	border: 0;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.04em;
	cursor: default;
}

.access-page .access-section {
	padding-top: 100px;
	padding-bottom: 100px;
}

.access-section--parking {
	background: #f4f1e8;
}

.access-location {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 0;
	overflow: hidden;
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0 16px 34px rgba(54, 26, 25, 0.08);
}

.access-location--reverse {
	grid-template-columns: 0.95fr 1.05fr;
}

.access-location--reverse .access-location__photo {
	order: 2;
}

.access-location__photo {
	min-height: 360px;
	background: #e8ead5;
}

.access-location__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.access-location__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 46px;
}

.access-location__body h3 {
	margin: 0 0 18px;
	color: #2f6f67;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0;
}

.access-location__body p {
	margin: 0 0 28px;
	color: #361a19;
	font-size: 15px;
	font-weight: 700;
	line-height: 2;
}

.access-map-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-width: 220px;
	padding: 15px 28px 15px 58px;
	color: #ffffff;
	background: #1558b0;
	border-radius: 999px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.04em;
	transition: background-color 0.25s ease;
}

.access-map-button::before {
	content: "";
	position: absolute;
	left: 28px;
	top: 50%;
	width: 17px;
	height: 17px;
	background-image: url(img/icon_access_placeholder.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	filter: brightness(0) invert(1);
	transform: translateY(-50%);
}

.access-map-button:hover {
	color: #ffffff;
	background: #174ea6;
}

.access-guide {
	margin-top: 78px;
}

.access-guide__heading {
	margin-bottom: 34px;
}

.access-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.access-step {
	overflow: hidden;
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0 12px 28px rgba(54, 26, 25, 0.08);
}

.access-step img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.access-step div {
	padding: 24px 24px 28px;
}

.access-step span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-bottom: 14px;
	color: #ffffff;
	background: #2f6f67;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

.access-step h3 {
	margin: 0 0 12px;
	color: #2f6f67;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.55;
}

.access-step p {
	margin: 0;
	color: #665f54;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.9;
}

.access-main {
	overflow: hidden;
	background: #d6cdbb;
}

.page-anchor-buttons {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 22px max(40px, calc((100vw - 1080px) / 2));
	background: #315F47;
	border-radius: 0;
	box-shadow: 0 12px 28px rgba(54, 26, 25, 0.14);
}

.page-anchor-buttons a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 46px;
	color: #2f6f67;
	background: #ffffff;
	border: 1px solid rgba(47, 111, 103, 0.28);
	border-radius: 999px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.04em;
	white-space: nowrap;
	box-shadow: 0 8px 18px rgba(54, 26, 25, 0.06);
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.page-anchor-buttons a::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 16px;
	height: 16px;
	background: #2f6f67;
	mask: url(img/icon_anchor_down.png) center / contain no-repeat;
	-webkit-mask: url(img/icon_anchor_down.png) center / contain no-repeat;
	transform: translateY(-50%);
}

.page-anchor-buttons a:hover {
	color: #ffffff;
	background: #274f3b;
	border-color: #274f3b;
}

.page-anchor-buttons a:hover::after {
	background: #ffffff;
}

@media screen and (min-width: 641px) {
	.page-anchor-buttons {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.page-anchor-buttons a {
		flex: 0 0 210px;
	}
}

.access-zone {
	padding: 100px 0;
	background: #d6cdbb;
	scroll-margin-top: 112px;
}

.access-zone--field {
	background: #f4f1e8;
}

.access-zone__inner {
	width: calc(100% - 80px);
	max-width: 1180px;
	margin: 0 auto;
}

.access-place {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
	overflow: hidden;
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0 16px 34px rgba(54, 26, 25, 0.08);
}

.access-place--reverse {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
}

.access-place--reverse .access-place__photo {
	order: 2;
}

.access-place__photo {
	margin: 0;
	min-height: 360px;
	background: #e8ead5;
}

.access-place__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.access-place__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 46px;
	box-sizing: border-box;
}

.access-place__body h3 {
	margin: 0 0 18px;
	color: #2f6f67;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0;
}

.access-place__body p {
	margin: 0 0 28px;
	color: #361a19;
	font-size: 15px;
	font-weight: 700;
	line-height: 2;
	overflow-wrap: anywhere;
}

.access-map-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: fit-content;
	min-width: 220px;
	padding: 15px 28px;
	color: #ffffff;
	background: #1558b0;
	border-radius: 999px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.04em;
	transition: background-color 0.25s ease;
}

.access-map-link::before {
	content: "";
	display: block;
	width: 17px;
	height: 17px;
	background-image: url(img/icon_access_placeholder.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	filter: brightness(0) invert(1);
	flex: 0 0 17px;
}

.access-map-link:hover {
	color: #ffffff;
	background: #174ea6;
}

.access-route {
	margin-top: 62px;
}

.access-route__heading {
	margin-bottom: 20px;
}

.access-route__heading h3 {
	margin: 0 0 6px;
	color: #2f6f67;
	font-size: 22px;
	font-weight: 900;
	line-height: 1.5;
}

.access-route__heading p {
	margin: 0;
	color: #361a19;
	font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
	font-size: 16px;
	line-height: 1;
}

.access-scroll-guide {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 2px 0 0 auto;
	max-width: 360px;
	color: #2f6f67;
}

.access-scroll-guide__bar {
	display: block;
	height: 2px;
	flex: 1;
	background: rgba(47, 111, 103, 0.55);
	transform: translateY(1px);
}

.access-scroll-guide .voice_scr_t {
	display: block;
	margin: 0;
	color: #2f6f67;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.access-route__scroll {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 4px 2px 22px;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
}

.access-route-card {
	flex: 0 0 260px;
	overflow: hidden;
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0 12px 28px rgba(54, 26, 25, 0.08);
	scroll-snap-align: start;
}

.access-route-card img {
	display: block;
	width: 100%;
	height: 170px;
	object-fit: cover;
}

.access-route-card span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin: 20px 20px 12px 24px;
	color: #ffffff;
	background: #2f6f67;
	border-radius: 50%;
	font-size: 11px;
	font-weight: 900;
}

.access-route-card h4 {
	margin: 0 20px 8px;
	color: #2f6f67;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.5;
}

.access-route-card p {
	margin: 0 20px 24px;
	color: #665f54;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

/* ==========================================================================
   入校・費用について（admission.html）用スタイル
   ========================================================================== */

.admission-page {
	background: #d3cbbc;
	color: #361a19;
}

.admission-main {
	overflow: hidden;
	background: #d6cdbb;
}

.admission-section {
	padding: 100px 0;
}

.admission-section__inner {
	width: min(1080px, calc(100% - 80px));
	margin: 0 auto;
}

.admission-intro {
	margin-bottom: 50px;
}

.admission-intro__text {
	font-size: 16px;
	font-weight: 600;
	line-height: 2.25;
	color: #361a19;
	max-width: 800px;
}

/* 対象・活動概要テーブル */
.admission-outline {
	margin-top: 40px;
	background: #ffffff;
	border-radius: 12px;
	padding: 40px;
	box-shadow: 0 8px 24px rgba(54, 26, 25, 0.06);
}

.admission-outline h3 {
	font-size: 20px;
	font-weight: 900;
	color: #2f6f67;
	margin: 0 0 24px;
	position: relative;
	padding-left: 14px;
}

.admission-outline h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
	height: 18px;
	background: #2f6f67;
	border-radius: 2px;
}

.admission-table-wrapper {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.admission-table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
	margin-bottom: 30px;
}

.admission-table th,
.admission-table td {
	padding: 18px 24px;
	border-bottom: 1px solid rgba(54, 26, 25, 0.08);
	font-size: 15px;
	vertical-align: middle;
}

.admission-table th {
	background: #f7f5ed;
	color: #2f6f67;
	font-weight: 900;
	border-bottom: 2px solid rgba(47, 111, 103, 0.2);
}

.admission-table td {
	color: #361a19;
	font-weight: 700;
}

.admission-table .class-name {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	color: #ffffff;
	text-align: center;
	border-radius: 6px;
	padding: 8px 16px;
	min-width: 90px;
	font-size: 14px;
	box-shadow: 0 4px 10px rgba(54, 26, 25, 0.08);
}

.class-name--shizen {
	background: #315F47;
}

.class-name--sato {
	background: #8f6038;
}

.class-name--miyama {
	background: #9f463c;
}

.admission-time {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 20px;
	border-top: 1px dashed rgba(54, 26, 25, 0.16);
}

.admission-time dl {
	display: flex;
	gap: 20px;
	margin: 0;
}

.admission-time dt {
	font-weight: 900;
	color: #2f6f67;
}

.admission-time dd {
	font-weight: 900;
	color: #361a19;
	margin: 0;
}

.admission-note {
	font-size: 13px;
	color: #665f54;
	margin: 0;
	font-weight: 700;
}

/* 費用のグリッド */
.fees-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 40px;
}

.fee-card {
	background: #ffffff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(54, 26, 25, 0.06);
	border: 1px solid rgba(54, 26, 25, 0.04);
	display: flex;
	flex-direction: column;
}

.fee-card--primary {
	grid-column: span 2;
	border: 2px solid #2f6f67;
	background: #fdfefe;
}

.fee-card__header {
	background: #f7f5ed;
	padding: 20px 24px;
	border-bottom: 1px solid rgba(54, 26, 25, 0.06);
}

.fee-card--primary .fee-card__header {
	background: rgba(47, 111, 103, 0.08);
	border-bottom: 1px solid rgba(47, 111, 103, 0.14);
}

.fee-card__header h3 {
	margin: 0;
	font-size: 16px;
	font-weight: 900;
	color: #2f6f67;
	line-height: 1.4;
}

.fee-card__body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.fee-detail-list {
	margin: 0 0 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.fee-detail-list div {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px dashed rgba(54, 26, 25, 0.08);
	padding-bottom: 8px;
}

.fee-detail-list dt {
	font-weight: 700;
	color: #665f54;
}

.fee-detail-list dd {
	font-weight: 900;
	color: #361a19;
	margin: 0;
}

.fee-total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
	padding-top: 14px;
	border-top: 2px solid rgba(47, 111, 103, 0.2);
}

.fee-total span {
	font-weight: 900;
	color: #2f6f67;
	font-size: 15px;
}

.fee-total strong {
	font-size: 24px;
	font-weight: 900;
	color: #9B4A3F;
}

.fee-main {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
	background: rgba(155, 74, 63, 0.04);
	padding: 14px 18px;
	border-radius: 6px;
}

.fee-main span {
	font-weight: 900;
	color: #361a19;
	font-size: 15px;
}

.fee-main strong {
	font-size: 28px;
	font-weight: 900;
	color: #9B4A3F;
}

.fee-card__desc {
	font-size: 13px;
	line-height: 1.7;
	color: #665f54;
	margin: 0;
	font-weight: 700;
}

.fee-card__note {
	font-size: 11px;
	color: #7a6a45;
	margin: 8px 0 0;
	font-weight: 700;
}

.fee-payment-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.fee-payment-list li {
	position: relative;
	padding-left: 24px;
	font-weight: 900;
	color: #361a19;
	font-size: 14px;
}

.fee-payment-list li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 50%;
	transform: translateY(-50%);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #2f6f67;
}

/* 入校までの流れ */
.flow-steps {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 40px;
	position: relative;
}

.flow-steps::before {
	content: "";
	position: absolute;
	left: 27px;
	top: 20px;
	bottom: 20px;
	width: 2px;
	background: rgba(47, 111, 103, 0.16);
}

.flow-step {
	display: flex;
	gap: 24px;
	position: relative;
	z-index: 1;
}

.flow-step__num {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #2f6f67;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 900;
	flex-shrink: 0;
	box-shadow: 0 4px 10px rgba(47, 111, 103, 0.2);
	font-family: 'Oswald', sans-serif;
}

.flow-step:nth-child(even) .flow-step__num {
	background: #8f6038;
	box-shadow: 0 4px 10px rgba(143, 96, 56, 0.2);
}

.flow-step__content {
	background: #ffffff;
	border-radius: 12px;
	padding: 24px 30px;
	box-shadow: 0 8px 24px rgba(54, 26, 25, 0.04);
	flex-grow: 1;
	border: 1px solid rgba(54, 26, 25, 0.04);
}

.flow-step__content h3 {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 900;
	color: #2f6f67;
}

.flow-step:nth-child(even) .flow-step__content h3 {
	color: #8f6038;
}

.flow-step__content p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #665f54;
	font-weight: 700;
}

/* 項目エリアごとの背景色変更 */
.admission-section--info {
	background: #f7f5ed;
}

.admission-section--fees {
	background: #d3cbbc; /* about-pageと同じ背景色にして差別化 */
}

.admission-section--flow {
	background: #ffffff;
}

/* 対象・活動概要2カラムグリッド */
.admission-outline-grid {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 40px;
	align-items: stretch;
	margin-top: 40px;
}

.admission-outline-grid .admission-outline {
	margin-top: 0;
}

.admission-outline {
	margin-top: 0;
}

.admission-outline-photo {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(54, 26, 25, 0.08);
	height: 100%;
}

.admission-outline-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* 入校までの流れ2カラムグリッド */
.flow-grid {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 40px;
	align-items: flex-start;
	margin-top: 40px;
}

.flow-steps {
	margin-top: 0;
}

.flow-photo {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(54, 26, 25, 0.08);
	position: sticky;
	top: 120px;
}

.flow-photo img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* 各組の活動詳細ボタン */
.admission-detail-action {
	margin-top: 30px;
	text-align: center;
}

.admission-detail-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 46px;
	color: #ffffff;
	background: #2f6f67;
	border: 1px solid rgba(47, 111, 103, 0.28);
	border-radius: 999px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.04em;
	box-shadow: 0 8px 18px rgba(54, 26, 25, 0.08);
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.admission-detail-button:hover {
	background: #274f3b;
	border-color: #274f3b;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(54, 26, 25, 0.12);
}

.admission-detail-button::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: rotate(45deg);
	margin-left: 12px;
	transition: transform 0.25s ease;
}

.admission-detail-button:hover::after {
	transform: translateX(4px) rotate(45deg);
}

/* 一般社団法人 森の風 団体紹介カード用スタイル */
.fee-card--org-info {
	background: #ffffff;
	border: 1px solid rgba(54, 26, 25, 0.06);
}

.fee-card--org-info .fee-card__header {
	background: rgba(155, 141, 108, 0.08); /* 深山組のベージュに合わせたヘッダー色 */
	border-bottom: 1px solid rgba(155, 141, 108, 0.16);
}

.fee-card--org-info .fee-card__header h3 {
	color: #9b8d6c; /* 深山組カラー */
}

.fee-card--org-info .fee-card__body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.fee-card__action {
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px dashed rgba(54, 26, 25, 0.08);
	text-align: center;
}

.fee-card__link {
	display: inline-block;
	font-size: 13px;
	font-weight: 900;
	color: #2f6f67;
	text-decoration: none;
	line-height: 1.6;
	transition: color 0.25s ease;
	position: relative;
	padding-right: 14px;
}

.fee-card__link:hover {
	color: #9b8d6c;
}

.fee-card__link::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 5px;
	height: 5px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transition: transform 0.25s ease;
}

.fee-card__link:hover::after {
	transform: translateY(-50%) translateX(3px) rotate(45deg);
}

.fee-card__body h4 {
	font-size: 13px;
	font-weight: 900;
	color: #2f6f67;
	margin: 0 0 8px;
}

/* タイムラインの注意書き */
.flow-step__note {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	color: #9B4A3F;
	font-weight: 700;
}

/* 口座情報ボックス */
.fee-bank-details {
	background: #f7f5ed;
	padding: 12px 14px;
	border-radius: 6px;
	margin-top: 8px;
	border: 1px solid rgba(54, 26, 25, 0.04);
}

.fee-bank-details p {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: #665f54;
	font-weight: 700;
}

.fee-bank-details strong {
	color: #361a19;
	font-weight: 900;
}

/* キャンプカードなどのリスト直後の説明文の余白調整 */
.fee-card__body .fee-detail-list + .fee-card__desc {
	margin-top: 24px;
	margin-bottom: 20px;
}

/* パララックス背景動画ウィンドウ */
.admission-video-window {
	position: relative;
	width: 100%;
	height: 500px;
	overflow: hidden;
	clip-path: inset(0);
	background: #361a19;
}

.admission-video-window video {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	object-fit: cover;
	z-index: 1;
	pointer-events: none;
}

/* 大人のしぜん学校 */
.adult-page { background:#f6f3ea; color:#453e35; }
.adult-header { position:fixed; z-index:100; top:0; left:0; width:100%; height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 44px; box-sizing:border-box; background:rgba(249,247,240,.94); backdrop-filter:blur(10px); }
.adult-header__brand { display:flex; align-items:center; gap:2px; color:#286b64; text-decoration:none; }
.adult-header__brand>img { width:114px; height:69px; margin-right:-6px; object-fit:contain; flex:0 0 auto; transform:scale(1.45); transform-origin:center; }
.adult-header__brand>span { display:flex; flex-direction:column; }
.adult-header__brand strong { font-family:'Darumadrop One','TsunagiGothicSubset',sans-serif; font-size:26px; line-height:1; margin-top: 10px;}
.adult-header__brand small { margin-top:4px; color:#70251f; font-size:9px; font-weight:900; letter-spacing:.12em; }
.adult-header__nav { display:flex; align-items:center; gap:30px; }
.adult-header__nav a { color:#286b64; font-size:14px; font-weight:800; text-decoration:none; }
.adult-header__contact { padding:14px 22px; color:#fff!important; background:#a9473d; border-radius:6px; }
.adult-header__school { padding-left:24px; border-left:1px solid rgba(40,107,100,.25); }
.adult-menu-toggle,.adult-mobile-menu { display:none; }
.adult-footer { padding:85px 7% 24px; color:#fff; background:#245a49; }
.adult-footer__inner { width:min(1120px,100%); margin:auto; display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:80px; }
.adult-footer__brand h2 { margin:0; font-family:'Darumadrop One','TsunagiGothicSubset',sans-serif; font-size:34px; }
.adult-footer__brand p { margin:22px 0; font-weight:700; line-height:1.9; }
.adult-footer a { display:block; width:max-content; margin:0 0 12px; color:#fff; font-size:13px; font-weight:700; text-decoration:none; }
.adult-footer h3 { margin:0 0 24px; color:#edc46e; font-size:14px; }
.adult-footer__bottom { width:min(1120px,100%); margin:65px auto 0; padding-top:20px; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.2); font-size:11px; }
.adult-footer__bottom a { margin:0; font-size:11px; }
.adult-side-nav__school img { width:32px!important; height:32px!important; object-fit:contain; filter:none!important; }
.adult-blog-hero { margin-top:92px; padding:155px 7% 135px; text-align:center; background:#e9ecd8; }
.adult-blog-hero h1 { margin:0; color:#286b64; font-family:'Darumadrop One','TsunagiGothicSubset',sans-serif; font-size:62px; }
.adult-blog-hero .adult-en { margin-bottom:30px; }
.adult-blog-hero>p:last-child { margin:38px 0 0; font-weight:700; line-height:2; }
.adult-blog-main { width:min(1120px,86%); margin:auto; padding:90px 0 130px; }
.adult-blog-tabs { display:flex; justify-content:center; gap:12px; margin-bottom:55px; }
.adult-blog-tabs a { min-width:150px; padding:13px 20px; color:#286b64; border:1px solid #286b64; border-radius:40px; text-align:center; font-weight:800; text-decoration:none; }
.adult-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.adult-blog-grid article { overflow:hidden; background:#fff; border-radius:12px; box-shadow:0 10px 30px rgba(54,26,25,.08); }
.adult-blog-grid article>a { color:#453e35; text-decoration:none; }
.adult-blog-grid img { width:100%; height:245px; object-fit:cover; }
.adult-blog-grid article div { padding:24px; }
.adult-blog-grid span { padding:6px 10px; color:#fff; background:#286b64; border-radius:20px; font-size:10px; font-weight:800; }
.adult-blog-grid time { margin-left:10px; color:#7d756a; font-size:11px; }
.adult-blog-grid h2 { margin:20px 0 12px; color:#286b64; font-size:20px; line-height:1.6; }
.adult-blog-grid h2,
#rpwwt-recent-posts-widget-with-thumbnails-2 .rpwwt-post-title,
#rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-title {
	font-family:'TsunagiGothicSubset',sans-serif!important;
	color:#286b64;
	font-size:18px;
	font-weight:800;
	line-height:1.6;
}
.adult-blog-grid p { margin:0; font-size:13px; font-weight:600; line-height:1.9; }
.adult-contact { padding:110px max(7%,calc((100% - 1120px)/2)); background:#e9ecd8; }
.adult-contact__heading { text-align:center; }
.adult-contact__heading h2 { margin:0; color:#286b64; font-family:'Darumadrop One','TsunagiGothicSubset',sans-serif; font-size:48px; }
.adult-contact__heading>p:last-child { margin:24px 0 0; font-weight:700; line-height:1.9; }
.adult-contact__layout { display:grid; grid-template-columns:36% 1fr; gap:7%; margin-top:65px; align-items:start; }
.adult-contact__tel { padding:38px 32px; color:#fff; background:#286b64; border-radius:12px; }
.adult-contact__label { margin:0 0 22px; font-weight:800; }
.adult-contact__tel a { color:#fff; font-size:30px; font-weight:900; text-decoration:none; }
.adult-contact__tel>p:last-child { margin:20px 0 0; font-size:13px; line-height:1.9; }
.adult-contact__form { padding:42px; background:#fff; border-radius:12px; }
.adult-page .adult-contact__form label { display:block!important; margin-bottom:25px; color:#286b64; font-size:14px; font-weight:800; letter-spacing:0!important; word-spacing:0!important; text-align:left!important; }
.adult-page .adult-contact__form label span { display:inline-block!important; width:auto!important; min-width:0!important; margin-left:10px; padding:3px 7px; color:#fff; background:#a9473d; border-radius:3px; font-size:9px; letter-spacing:0!important; text-align:center!important; vertical-align:middle; }
.adult-page .adult-contact__form input,.adult-page .adult-contact__form select,.adult-page .adult-contact__form textarea { display:block; width:100%; margin-top:10px; padding:14px; box-sizing:border-box; border:1px solid #d9d4c9; border-radius:6px; background:#faf9f5; font:inherit; letter-spacing:0!important; }
.adult-contact__form button { width:100%; padding:19px; color:#fff; border:0; border-radius:7px; background:#a9473d; font-weight:900; }
.adult-contact__form>p { margin:15px 0 0; color:#766e63; font-size:11px; text-align:center; }
.adult-hero { position:relative; height:760px; margin-top:92px; overflow:hidden; }
.adult-hero__image { width:100%; height:100%; object-fit:cover; }
.otona-page .adult-hero__image { object-position:center bottom; }
.adult-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(26,59,46,.74) 0%,rgba(26,59,46,.2) 62%,transparent 100%); }
.adult-hero__body { position:absolute; left:8%; top:50%; color:#fff; transform:translateY(-50%); }
.adult-en { margin:0 0 18px; color:#70251f; font-family:'Darumadrop One',sans-serif; font-size:18px; letter-spacing:.08em; }
.adult-hero .adult-en { color:#f1c774; }
.adult-hero h1 { margin:0; font-family:'Darumadrop One','TsunagiGothicSubset',sans-serif; font-size:76px; line-height:1.18; letter-spacing:.06em; }
.adult-hero__lead { margin:32px 0 0; font-size:23px; font-weight:700; line-height:1.9; }
.adult-news { position:relative; overflow:hidden; background:#286b64; }
.adult-news .h2title_c,.adult-news .e_title_c { color:#fff; }
.adult-news .activity-diary-bg-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.adult-news .activity-diary-bg-overlay { position:absolute; inset:0; background:rgba(35,79,61,.58); }
.adult-news> :not(.activity-diary-bg-video):not(.activity-diary-bg-overlay) { position:relative; z-index:1; }
.adult-news__button { margin-top:42px; text-align:center; }
.adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 li { margin-bottom:10px; padding:16px 16px 28px; box-sizing:border-box; background:#fff; border-radius:10px; box-shadow:0 10px 24px rgba(20,48,39,.2); }
.adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-excerpt { margin-bottom:10px; }
.adult-news__button .btn01 { margin-top:0; }
.adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 img { border-radius:7px; }
.adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-title { color:#361a19; }
.adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-excerpt { color:#665f54; }
.adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-excerpt-more { color:#286b64; font-weight:800; }
.adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-categories a { background:#7a6a45; color:#fff; }
.adult-news__button .btn01 { color:#286b64; background-color:#fff; background-image:url(img/icon_note.png); background-repeat:no-repeat; background-position:13px center; background-size:35px; box-shadow:0 8px 20px rgba(20,48,39,.18); }
.adult-news__lead { max-width:720px; margin:28px auto 0; color:rgba(255,255,255,.9); font-size:15px; font-weight:700; line-height:1.9; text-align:center; }
.adult-section { padding:130px 6%; }
.adult-inner { width:min(1120px,100%); margin:0 auto; }
.adult-intro { background:#f8f6ef; }
.adult-intro__grid,.adult-two-column { display:grid; grid-template-columns:38% 1fr; gap:11%; align-items:start; }
.adult-heading h2,.adult-message h2,.adult-cta h2 { margin:0; color:#286b64; font-family:'Darumadrop One','TsunagiGothicSubset',sans-serif; font-size:48px; line-height:1.45; letter-spacing:.04em; }
.adult-copy p { margin:0 0 25px; font-size:16px; font-weight:600; line-height:2.25; }
.adult-copy--large p { font-size:17px; }
.adult-photo-band { position:relative; height:540px; overflow:hidden; }
.adult-photo-band img { width:100%; height:100%; object-fit:cover; }
.adult-photo-band::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 35%,rgba(25,46,39,.64)); }
.adult-photo-band p { position:absolute; z-index:1; right:9%; top:50%; margin:0; color:#fff; font-size:24px; font-weight:700; line-height:2; transform:translateY(-50%); }
.adult-origin { background:#e9ecd8; }
.adult-circle { background:#fff; }
.adult-circle .adult-inner { display:grid; grid-template-columns:48% 1fr; gap:8%; align-items:center; }
.adult-circle__photo img { width:100%; height:620px; object-fit:cover; border-radius:180px 180px 14px 14px; }
.adult-circle__body .adult-copy { margin-top:38px; }
.adult-ideas { background:#2d6750; }
.adult-heading--center { text-align:center; }
.adult-ideas .adult-heading h2 { color:#fff; }
.adult-ideas .adult-en { color:#edc46e; }
.adult-ideas__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:65px; }
.adult-ideas__grid article { min-width:0; overflow:hidden; box-sizing:border-box; background:#f8f5ea; border-radius:14px; box-shadow:0 16px 32px rgba(15,45,33,.16); }
.adult-ideas__photo { position:relative; overflow:hidden; height:220px; background:#214c3b; }
.adult-ideas__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 65%,rgba(20,49,37,.2)); }
.adult-ideas__photo img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.adult-ideas__grid article:hover .adult-ideas__photo img { transform:scale(1.04); }
.adult-ideas__body { position:relative; min-height:220px; padding:25px 25px 28px; box-sizing:border-box; }
.adult-ideas__grid span { color:#a9473d; font-weight:900; }
.adult-ideas__grid h3 { margin:24px 0 14px; color:#286b64; font-size:20px; }
.adult-ideas__grid p { margin:0; font-size:14px; font-weight:600; line-height:1.9; }
.adult-ideas--text .adult-ideas__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; max-width:900px; margin-right:auto; margin-left:auto; }
.adult-ideas--text .adult-ideas__grid article { position:relative; overflow:hidden; }
.adult-ideas--text .adult-ideas__body { min-height:235px; padding:36px 38px 38px; }
.adult-ideas--text .adult-ideas__grid span { display:block; color:#a9473d; font-family:'Darumadrop One','TsunagiGothicSubset',sans-serif; font-size:17px; letter-spacing:.08em; }
.adult-ideas--text .adult-ideas__grid h3 { margin:32px 0 16px; font-family:'TsunagiGothicSubset',sans-serif; font-size:24px; }
.adult-ideas--text .adult-ideas__grid article::after { content:""; position:absolute; right:-45px; bottom:-55px; width:150px; height:150px; border:1px solid rgba(40,107,100,.13); border-radius:50%; pointer-events:none; }
.adult-message { display:grid; grid-template-columns:1fr 1fr; background:#f4ead8; }
.adult-message__image img { width:100%; height:100%; min-height:720px; object-fit:cover; }
.adult-message__body { padding:110px 10%; align-self:center; }
.adult-message__body>p:not(.adult-en):not(.adult-message__signature) { margin:40px 0 0; font-size:16px; font-weight:600; line-height:2.25; }
.adult-message__signature { margin:35px 0 0; text-align:right; font-weight:800; }
.adult-cta { display:flex; align-items:center; justify-content:space-between; gap:60px; padding:90px max(8%,calc((100% - 1120px)/2)); color:#fff; background:#286b64; }
.adult-cta h2 { color:#fff; font-size:38px; }
.adult-cta p:not(.adult-en) { margin:20px 0 0; font-weight:600; }
.adult-cta .adult-en { color:#efc66e; }
.adult-cta>a { min-width:300px; padding:24px 28px; display:flex; justify-content:space-between; color:#fff; background:#a9473d; border-radius:8px; font-weight:800; text-decoration:none; }

@media screen and (max-width:640px) {
  .adult-header { height:78px; padding:0 12px; }
  .adult-header__brand strong { font-size:17px; white-space:nowrap; }
  .adult-header__brand small { display:block; margin-top:8px; font-size:7px; line-height:1; letter-spacing:.06em; }
  .adult-header__brand { gap:0; min-width:0; }
  .adult-header__brand>img { width:55px; height:55px; margin-right:10px; transform:scale(1.3); }
  .adult-header__nav a:not(.adult-header__contact) { display:none; }
  .adult-header__nav { display:none; }
  .adult-header__contact { padding:10px 13px; font-size:11px!important; }
  .adult-header__school { display:none!important; }
  .adult-menu-toggle { position:relative; z-index:102; display:flex; width:42px; height:46px; padding:7px 5px 3px; flex-direction:column; align-items:center; justify-content:center; gap:4px; border:0; background:transparent; color:#286b64; }
  .adult-menu-toggle span { display:block; width:25px; height:2px; background:#286b64; transition:.3s; }
  .adult-menu-toggle b { margin-top:2px; font-size:7px; letter-spacing:.08em; }
  .adult-mobile-menu { position:fixed; z-index:101; inset:78px 0 auto; display:flex; padding:28px 22px 34px; flex-direction:column; background:#f8f6ef; box-shadow:0 14px 28px rgba(54,26,25,.12); opacity:0; visibility:hidden; transform:translateY(-12px); transition:.3s; }
  .adult-mobile-menu a { padding:17px 4px; color:#286b64; border-bottom:1px solid rgba(40,107,100,.16); font-size:14px; font-weight:800; text-decoration:none; }
  .adult-mobile-menu .adult-mobile-menu__contact { margin-top:14px; padding:17px; color:#fff; border:0; border-radius:6px; background:#a9473d; text-align:center; }
  .adult-mobile-menu .adult-mobile-menu__school { margin-top:18px; padding:12px 4px 2px; color:#286b64; border:0; background:transparent; font-size:12px; text-align:center; }
  .adult-menu-open .adult-mobile-menu { opacity:1; visibility:visible; transform:none; }
  .adult-menu-open .adult-menu-toggle span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .adult-menu-open .adult-menu-toggle span:nth-child(2) { opacity:0; }
  .adult-menu-open .adult-menu-toggle span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .adult-hero { height:610px; margin-top:78px; }
  .otona-page .adult-hero__image { object-position:68% bottom; }
  .adult-hero__shade { background:linear-gradient(0deg,rgba(23,55,43,.76),rgba(23,55,43,.08)); }
  .adult-hero__body { left:8%; right:8%; top:auto; bottom:66px; transform:none; }
  .adult-hero h1 { font-size:48px; line-height:1.25; }
  .adult-hero__lead { margin-top:22px; font-size:16px; line-height:1.8; }
  .adult-en { margin-bottom:12px; font-size:14px; }
  .adult-news { padding-top:75px; padding-bottom:75px; }
  .adult-news .h2title_c { padding:0 28px; line-height:1.45; }
  .adult-news__lead { width:auto; margin:24px 24px 0; font-size:13px; line-height:1.9; }
  .adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 ul { display:grid; grid-template-columns:1fr; gap:14px; padding:0 16px; letter-spacing:0; }
  .adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 li { display:grid; grid-template-columns:30% minmax(0,1fr); grid-template-rows:auto auto 1fr; column-gap:12px; row-gap:8px; width:auto; min-height:0; margin:0; padding:12px; }
  .adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 li>a { display:contents; }
  .adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 img { grid-column:1; grid-row:1 / 4; width:100%; height:auto; min-height:0; aspect-ratio:1 / 1; object-fit:cover; align-self:start; }
  .adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-title { grid-column:2; grid-row:1; min-height:0; margin:0; align-self:start; }
  .adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-categories { grid-column:2; grid-row:2; margin:0; }
  .adult-news #rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-excerpt { grid-column:2; grid-row:3; margin:0; align-self:start; }
  .adult-news__button { margin-top:32px; }
  .adult-section { padding:78px 22px; }
  .adult-intro__grid,.adult-two-column,.adult-circle .adult-inner { display:block; }
  .adult-heading h2,.adult-message h2,.adult-cta h2 { font-size:34px; line-height:1.45; }
  .adult-copy { margin-top:36px; }
  .adult-copy p,.adult-copy--large p { margin-bottom:20px; font-size:14px; line-height:2.05; }
  .adult-photo-band { height:430px; }
  .adult-photo-band p { left:24px; right:24px; top:auto; bottom:30px; font-size:17px; line-height:1.8; transform:none; }
  .adult-circle__photo { margin-bottom:48px; }
  .adult-circle__photo img { height:420px; border-radius:100px 100px 10px 10px; }
  .adult-circle__body .adult-copy { margin-top:30px; }
  .adult-ideas__grid { grid-template-columns:1fr; gap:22px; margin-top:42px; }
  .adult-ideas__grid article { min-height:0; padding:0; }
  .adult-ideas__photo { height:min(72vw,350px); }
  .adult-ideas__body { min-height:0; padding:22px 20px 26px; }
  .adult-ideas__grid h3 { margin:16px 0 10px; font-size:19px; }
  .adult-ideas__grid p { font-size:13px; line-height:1.8; }
  .adult-ideas--text .adult-ideas__grid { grid-template-columns:1fr; gap:14px; }
  .adult-ideas--text .adult-ideas__body { min-height:0; padding:28px 24px 30px; }
  .adult-ideas--text .adult-ideas__grid h3 { margin:20px 0 11px; font-size:20px; }
  .adult-message { display:flex; flex-direction:column; }
  .adult-message__image img { min-height:0; height:430px; }
  .adult-message__body { padding:70px 22px; }
  .adult-message__body>p:not(.adult-en):not(.adult-message__signature) { margin-top:30px; font-size:14px; line-height:2.05; }
  .adult-message__signature { margin-top:28px; font-size:13px; }
  .adult-cta { display:block; padding:65px 22px; }
  .adult-cta h2 { font-size:30px; }
  .adult-cta p:not(.adult-en) { font-size:13px; line-height:1.8; }
  .adult-cta>a { min-width:0; margin-top:34px; padding:20px; }
  .adult-footer { padding:60px 22px 22px; }
  .adult-footer__inner { display:block; }
  .adult-footer__inner nav { margin-top:42px; }
  .adult-footer__bottom { margin-top:45px; display:block; }
  .adult-footer__bottom a { margin-top:12px; }
  .adult-side-nav { display:none; }
  .adult-blog-hero { margin-top:78px; padding:100px 22px 90px; }
  .adult-blog-hero h1 { font-size:38px; }
  .adult-blog-hero .adult-en { margin-bottom:22px; }
  .adult-blog-hero>p:last-child { margin-top:28px; }
  .adult-blog-main { width:auto; padding:65px 20px 90px; }
  .adult-blog-tabs { gap:7px; margin-bottom:38px; }
  .adult-blog-tabs a { min-width:0; flex:1; padding:11px 4px; font-size:12px; }
  .adult-blog-grid { grid-template-columns:1fr; gap:20px; }
  .adult-blog-grid img { height:230px; }
  #rpwwt-recent-posts-widget-with-thumbnails-2 .rpwwt-post-title,
  #rpwwt-recent-posts-widget-with-thumbnails-3 .rpwwt-post-title {
    font-size:13px;
    line-height:1.6;
  }
  .adult-contact { padding:75px 20px; }
  .adult-contact__heading h2 { font-size:36px; }
  .adult-contact__layout { display:block; margin-top:42px; }
  .adult-contact__tel { padding:30px 24px; }
  .adult-contact__tel a { font-size:26px; }
  .adult-contact__form { margin-top:18px; padding:28px 20px; }
}

/* 記事一覧ヘッダー：PCナビとスマホナビの表示分離 */
@media screen and (min-width:641px) {
  .school-blog-header > nav:not(.school-blog-mobile-menu) {
    display:flex;
    align-items:center;
    gap:24px;
  }
  .school-blog-header > .school-blog-mobile-menu {
    display:none!important;
  }
}

@media screen and (max-width:640px) {
  .school-blog-header > nav:not(.school-blog-mobile-menu) {
    display:none!important;
  }
  .school-blog-header > .school-blog-mobile-menu {
    display:none;
  }
  .school-blog-menu-open .school-blog-header > .school-blog-mobile-menu {
    display:flex!important;
  }
}

/* 全ページ共通：ゆとりのある縦方向リズム */
@media screen and (min-width:641px) {
	.admission-section,
	.access-zone { padding-top:110px; padding-bottom:110px; }
	.adult-news.main_area_n { padding-top:110px; padding-bottom:105px; }
	.adult-news__lead { margin-top:34px; }
	.adult-news__button { margin-top:58px; }
	.adult-page .adult-contact__form label { margin-bottom:32px; }
	.site-footer,
	.adult-footer { padding-top:92px; }
}

/* 個別記事：一覧と共通のページ見出し・カテゴリー導線 */
.single-archive-tabs {
	margin: 0;
	padding: 46px 20px;
	box-sizing: border-box;
	background: #e9ecd8 !important;
}

.single-archive-tabs a,
.school-blog-main .school-blog-tabs a,
.adult-blog-main .adult-blog-tabs a {
	background: rgba(255, 255, 255, 0.55);
	transition: color .2s ease, background-color .2s ease;
}

.single-archive-tabs a:hover,
.school-blog-main .school-blog-tabs a:hover,
.adult-blog-main .adult-blog-tabs a:hover {
	color: #fff !important;
	background: #286b64;
}

.has-archive-heading .single-article-main {
	padding-top: 70px;
	background: #f7f5ed;
}

.has-archive-heading .school-blog-hero {
	background: #e9ecd8;
}

.single-article__category {
	color: #fff !important;
}

.blog-single-page .single-article__category {
	background: #a9473d;
}

.diary-single-page .single-article__category {
	background: #286b64;
}

.adult-single-page .single-article__category {
	background: #7a6a45;
}

.adult-contact__heading .adult-en {
	margin-bottom: 28px;
}

.adult-contact__heading > p:last-child {
	margin-top: 34px;
}

.adult-page .adult-contact__form select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 48px;
	background-color: #faf9f5;
	background-image: linear-gradient(45deg, transparent 50%, #286b64 50%), linear-gradient(135deg, #286b64 50%, transparent 50%);
	background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

.single-article__header h1,
.single-article__body h2 {
	color: #286b64;
}

/* 一覧ページ：カテゴリー導線と記事エリアを穏やかに切り替える */
.school-blog-main,
.adult-blog-main {
	position: relative;
}

.school-blog-main::before,
.adult-blog-main::before {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 146px;
	background: #e9ecd8;
	content: "";
	transform: translateX(-50%);
}

.school-blog-main .school-blog-tabs,
.school-blog-main .school-blog-grid,
.adult-blog-main .adult-blog-tabs,
.adult-blog-main .adult-blog-grid {
	position: relative;
	z-index: 1;
}

/* 記事一覧・個別ページ：タイトルエリアをコンパクトに統一 */
@media screen and (min-width:641px) {
	.contact-page .contact-form-placeholder {
		margin-top: 72px;
		margin-bottom: 50px;
	}

	.contact-page .contact-form-placeholder h3 {
		margin-bottom: 8px;
		font-size: 32px;
		line-height: 1.35;
	}

	.contact-page .contact-form-placeholder__en {
		margin-top: 0;
		margin-bottom: 30px;
	}

	.contact-page .contact-form-placeholder__text {
		max-width: 760px;
		margin-right: auto;
		margin-left: auto;
		padding: 0 28px;
		box-sizing: border-box;
		line-height: 2;
	}

	.school-blog-main,
	.adult-blog-main {
		padding-top: 46px;
	}

	.school-blog-main .school-blog-tabs,
	.adult-blog-main .adult-blog-tabs {
		margin-bottom: 116px;
	}

	.school-blog-hero,
	.adult-blog-hero {
		padding-top: 82px;
		padding-bottom: 72px;
	}

	.school-blog-hero > p:first-child,
	.adult-blog-hero .adult-en {
		margin-bottom: 18px;
		font-size: 15px;
	}

	.school-blog-hero h1,
	.adult-blog-hero h1 {
		font-size: 50px;
		line-height: 1.3;
	}

	.school-blog-hero > div,
	.adult-blog-hero > p:last-child {
		margin-top: 24px;
		line-height: 1.8;
	}
}
/* 大人のしぜん学校：スマホ関連先メニュー・追従お問い合わせ */
.adult-mobile-contact-float {
	display: none;
}

@media screen and (max-width:640px) {
	.otona-page .adult-menu-toggle {
		width: 52px;
	}

	.otona-page .adult-menu-toggle b {
		font-size: 8px;
		letter-spacing: .02em;
		white-space: nowrap;
	}

	.otona-page .adult-mobile-menu__related {
		margin-top: 0;
		padding-top: 0;
		border-top: 0;
	}

	.adult-mobile-contact-float {
		position: fixed;
		left: 20px;
		right: 20px;
		bottom: 16px;
		z-index: 99;
		display: flex;
		min-height: 56px;
		padding: 0 24px;
		align-items: center;
		justify-content: center;
		gap: 12px;
		color: #fff;
		background: #a9473d;
		border-radius: 8px;
		box-shadow: 0 12px 28px rgba(54, 26, 25, .24);
		font-size: 13px;
		font-weight: 800;
		text-decoration: none;
		opacity: 0;
		visibility: hidden;
		transform: translateY(calc(100% + 28px));
		transition: opacity .3s, visibility .3s, transform .38s cubic-bezier(.22, 1, .36, 1);
	}

	.adult-mobile-contact-float:hover,
	.adult-mobile-contact-float:focus,
	.adult-mobile-contact-float:active,
	.adult-mobile-contact-float:visited {
		color: #fff;
		background: #a9473d;
	}

	.adult-mobile-contact-float.is-visible {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.adult-menu-open .adult-mobile-contact-float {
		opacity: 0;
		visibility: hidden;
		transform: translateY(calc(100% + 28px));
	}

	.adult-mobile-contact-float span {
		font-size: 15px;
	}
}
/* PCヘッダー：共通1カラムドロップメニュー */
@media screen and (min-width: 641px) {
	header ul.text_e > li.schedule-submenu {
		position: relative;
	}

	header ul.text_e > li.schedule-submenu > .submenu {
		position: absolute;
		top: 100%;
		left: 50%;
		right: auto;
		transform: translate(-50%, 8px);
	}

	header ul.text_e > li.schedule-submenu:hover > .submenu,
	header ul.text_e > li.schedule-submenu:focus-within > .submenu {
		transform: translate(-50%, 0);
	}

	header ul.text_e > li.blog-submenu > .submenu {
		left: auto;
		right: 0;
		transform: translateY(8px);
	}

	header ul.text_e > li.blog-submenu:hover > .submenu,
	header ul.text_e > li.blog-submenu:focus-within > .submenu {
		transform: translateY(0);
	}

	header ul.text_e > li.class-submenu .submenu {
		width: 440px;
		padding: 10px;
	}

	header ul.text_e > li.class-submenu .class-submenu__list {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
	}

	header ul.text_e > li.class-submenu .class-submenu__card {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 210px;
		grid-template-rows: auto auto;
		align-items: center;
		align-content: center;
		min-height: 76px;
		padding: 12px;
		border: 0;
		border-bottom: 1px solid rgba(47, 111, 103, 0.18);
		border-radius: 0;
		box-shadow: none;
	}

	header ul.text_e > li.class-submenu .class-submenu__card:last-child {
		border-bottom: 0;
	}

	header ul.text_e > li.class-submenu .class-submenu__card > img {
		display: none;
	}

	header ul.text_e > li.class-submenu .class-submenu__name {
		grid-column: 1;
		grid-row: 1;
		margin: 0 12px 6px 0;
		font-size: 16px;
		line-height: 1.25;
	}

	header ul.text_e > li.class-submenu .schedule-submenu__target {
		grid-column: 1;
		grid-row: 2;
		position: static;
		width: max-content;
		margin: 0 12px 0 0;
		line-height: 1.2;
	}

	header ul.text_e > li.class-submenu .class-submenu__text {
		display: none;
	}

	header ul.text_e > li.class-submenu .class-submenu__actions {
		grid-column: 2;
		grid-row: 1 / span 2;
		display: block;
		padding: 0;
	}

	header ul.text_e > li.class-submenu .class-submenu__actions a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 42px;
		min-height: 42px;
		padding: 0 40px;
		box-sizing: border-box;
		font-size: 12px;
		line-height: 1.35;
		white-space: nowrap;
	}

	header ul.text_e > li.class-submenu .class-submenu__actions a::after {
		right: 15px !important;
	}

	header ul.text_e > li.class-submenu .class-submenu__actions a.class-submenu__button--diary::after {
		right: 12px !important;
	}

	header ul.text_e > li.card-submenu .submenu {
		width: 360px;
		padding: 10px;
	}

	header ul.text_e > li.card-submenu .schedule-submenu__list {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
	}

	header ul.text_e > li.card-submenu .schedule-submenu__list > li {
		border-bottom: 1px solid rgba(47, 111, 103, 0.18);
	}

	header ul.text_e > li.card-submenu .schedule-submenu__list > li:last-child {
		border-bottom: 0;
	}

	header ul.text_e > li.card-submenu .schedule-submenu__list > li > a {
		display: block;
		position: relative;
		width: 100%;
		min-height: 70px;
		padding: 13px 46px 13px 16px;
		box-sizing: border-box;
		background-image: url("img/arrow001.png");
		background-position: right 18px center;
		background-repeat: no-repeat;
		background-size: 14px 14px;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	header ul.text_e > li.card-submenu .schedule-submenu__list > li > a:hover,
	header ul.text_e > li.card-submenu .schedule-submenu__list > li > a:focus-visible {
		background-image: url("img/arrow001.png") !important;
		background-position: right 18px center !important;
		background-repeat: no-repeat !important;
		background-size: 14px 14px !important;
	}

	header ul.text_e > li.card-submenu .schedule-submenu__list > li > a::after {
		content: none;
		display: none;
	}

	header ul.text_e > li.card-submenu .schedule-submenu__list img {
		display: none;
	}

	header ul.text_e > li.card-submenu .schedule-submenu__name {
		display: block;
		margin: 0 0 5px;
		font-size: 15px;
	}

	header ul.text_e > li.card-submenu .schedule-submenu__name::after {
		content: none;
		display: none;
	}

	header ul.text_e > li.card-submenu .schedule-submenu__text {
		display: block;
		margin: 0;
		font-size: 11px;
		line-height: 1.6;
	}
}
/* トップ：クラス紹介 */
.home-classes {
  padding: 90px 5%;
  background: #f8f6ee;
}

.home-classes__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.home-classes__en {
  margin: 10px 0 0;
  color: #6f2925;
  font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.home-classes__title {
  margin: 0;
  color: #2f6f67;
  font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.home-classes__lead {
  margin: 20px auto 42px;
  color: #514a42;
  font-size: 16px;
  line-height: 1.9;
  text-align: center;
}

.home-classes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.home-class-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border: 1px solid rgba(38, 103, 91, .22);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(64, 55, 42, .08);
}

.home-class-card__photo {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.home-class-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 25px 24px 24px;
}

.home-class-card__heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px 12px;
  margin-bottom: 14px;
}

.home-class-card__heading h3 {
  margin: 0;
  color: #27675d;
  font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.35;
}

.home-class-card__heading span {
  padding: 4px 10px;
  color: #706a4b;
  background: #f0f0dc;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.home-class-card__body > p {
  margin: 0 0 24px;
  color: #514a42;
  font-size: 14px;
  line-height: 1.9;
}

.home-class-card__actions {
  display: grid;
  gap: 10px;
  margin-top: auto;
}

.home-class-card__button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 10px 38px 10px 18px;
  border-radius: 7px;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none !important;
  text-align: center;
  transition: filter .25s ease;
}

.home-class-card__button--class {
  background-color: #2f786d !important;
}

.home-class-card__button--diary {
  background-color: #b54b41 !important;
}

.home-class-card__button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 18px;
  height: 18px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.home-class-card__button--class::after {
  background-image: url("img/icon_experience.svg");
}

.home-class-card__button--diary::after {
  background-image: url("img/icon_note.png");
  filter: brightness(0) invert(1);
}

.home-class-card__button:hover {
  color: #fff !important;
  filter: brightness(1.1);
}

/* クラス紹介：活動写真ギャラリー */
.class-photo-gallery {
  margin: 80px 0 92px;
}

.class-photo-gallery__en {
  margin: 0 0 8px;
  color: #78302b;
  font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  text-align: center;
}

.class-photo-gallery > h3 {
  margin: 0 0 30px;
  color: #2f6f67;
  font-family: 'Darumadrop One', 'TsunagiGothicSubset', sans-serif;
  font-size: 30px;
  line-height: 1.45;
  text-align: center;
}

.class-photo-gallery__track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: 165px 165px 230px;
  gap: 12px;
}

.class-photo-gallery__item {
  overflow: hidden;
  min-width: 0;
  height: auto;
  margin: 0;
  border-radius: 10px;
  background: #dfe6dc;
}

.class-photo-gallery__item--main {
  grid-column: span 2;
  grid-row: span 2;
}

.class-photo-gallery__item:nth-child(6),
.class-photo-gallery__item:nth-child(7) {
  grid-column: span 2;
}

.class-photo-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.class-photo-gallery__item:hover img {
  transform: scale(1.035);
}

/* 主な活動内容：春から冬へ時計回りに進む配置 */
.class-season__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.class-season__grid div {
  position: relative;
}

.class-season__grid div:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}

.class-season__grid div:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}

.class-season__grid div:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

.class-season__grid div:nth-child(4) {
  grid-column: 1;
  grid-row: 2;
}
/* WordPress-managed archive and single views */
.wp-site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 18px clamp(20px, 5vw, 72px);
  background: #fff;
  border-bottom: 1px solid rgba(61, 88, 55, .15);
}

.wp-site-header__logo img {
  display: block;
  width: min(220px, 42vw);
  height: auto;
}

.wp-site-header .menu {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wp-site-header .menu a {
  color: #31472e;
  font-weight: 700;
  text-decoration: none;
}

.wp-content {
  width: min(1120px, calc(100% - 40px));
  min-height: 55vh;
  margin: 0 auto;
  padding: clamp(64px, 9vw, 120px) 0;
}

.wp-archive-header {
  margin-bottom: 48px;
  text-align: center;
}

.wp-archive-header h1,
.wp-entry--single h1 {
  color: #354f31;
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.35;
}

.wp-entry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 28px;
}

.wp-entry-card {
  overflow: hidden;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 12px 35px rgba(45, 68, 40, .1);
}

.wp-entry-card > a {
  display: block;
  height: 100%;
  padding-bottom: 24px;
  color: inherit;
  text-decoration: none;
}

.wp-entry-card__image {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.wp-entry-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wp-entry-card h2,
.wp-entry-card__date,
.wp-entry-card__excerpt {
  margin-right: 24px;
  margin-left: 24px;
}

.wp-entry-card h2 {
  color: #354f31;
  font-size: 1.25rem;
}

.wp-entry__date,
.wp-entry-card__date {
  color: #73806e;
  font-size: .875rem;
}

.wp-entry--single {
  max-width: 900px;
  margin: 0 auto;
}

.wp-entry__hero {
  margin: 40px 0;
}

.wp-entry__hero img,
.wp-entry__content img {
  max-width: 100%;
  height: auto;
  border-radius: 16px;
}

.wp-entry__content {
  font-size: 1.05rem;
  line-height: 2;
}

.wp-site-footer {
  padding: 42px 20px;
  color: #fff;
  text-align: center;
  background: #354f31;
}

.wp-site-footer .menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 24px;
  padding: 0;
  list-style: none;
}

.wp-site-footer a {
  color: #fff;
}

@media (max-width: 767px) {
  .wp-site-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .wp-site-header .menu {
    gap: 10px 18px;
    font-size: .875rem;
  }

  .wp-entry-grid {
    grid-template-columns: 1fr;
  }
}
