@charset "UTF-8";
/*==============================================================================
# Foundation
==============================================================================*/
/*==============================================================================
# フォントサイズ可変
==============================================================================*/
/*==============================================================================
# 設定
==============================================================================*/
html {
	scroll-padding-top: 64px;
	overflow-x: clip;
}
@media (min-width: 1200px) {
	html {
		scroll-padding-top: 200px;
	}
}

body {
	font-weight: 500 !important;
	color: #483B35;
	font-family: "Zen Maru Gothic", serif;
	letter-spacing: 0.06em;
	line-height: 170%;
	overflow-x: clip;
	background: #ffffef;
}

div {
	font-weight: 500;
}

h2 {
	line-height: 150%;
	font-size: clamp(1.75rem, 1.5357142857rem + 1.0714285714vw, 2.5rem);
	font-weight: 700;
}

h3 {
	position: relative;
	font-size: clamp(1.5rem, 1.3571428571rem + 0.7142857143vw, 2rem);
	font-weight: 700;
	margin-bottom: 20px;
	line-height: 170%;
	color: #00A000;
	padding-bottom: 30px;
	text-align: center;
}
@media (min-width: 768px) {
	h3 {
		text-align: left;
	}
}
h3::after {
	position: absolute;
	content: "";
	bottom: 0;
	width: 100px;
	height: 3px;
	background-image: radial-gradient(circle, #ff854d 1px, transparent 1px);
	background-size: 4px 4px;
	background-repeat: repeat-x;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
@media (min-width: 768px) {
	h3::after {
		left: 0;
		-webkit-transform: none;
		transform: none;
	}
}

h4 {
	border-bottom: 1px solid #483B35;
	font-size: rclamp(20, 24, 300, 1440);
	font-weight: 700;
	line-height: 170%;
	margin-bottom: 1.5rem;
}
h4 span {
	font-weight: 700;
	font-size: 1.125rem;
}

.block3 {
	margin-bottom: 3.125rem;
}

.block3:last-of-type {
	margin-bottom: 0;
}

.block3__intro {
	margin-bottom: 2.25rem;
}

.box4 {
	margin-bottom: 1.875rem;
}
.box4:last-of-type {
	margin-bottom: 0;
}

a {
	display: inline-block;
	word-break: break-word; /* テキストを適宜改行 */
}

p {
	line-height: 200%;
	margin-bottom: 1rem;
	font-size: 18px;
	font-weight: 500;
}

p:last-of-type {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.is-sp {
		display: none !important;
	}
}

@media (max-width: 767.9px) {
	.is-pc {
		display: none !important;
	}
}

@media (max-width: 1200px) {
	.is-1200 {
		display: block;
	}
}

.inner {
	max-width: 1180px;
	margin-inline: auto;
	width: calc(100% - 40px);
}
@media (min-width: 768px) {
	.inner {
		width: calc(100% - 80px);
	}
}

.inner1000 {
	max-width: 1000px;
	margin-inline: auto;
	width: calc(100% - 40px);
}
@media (min-width: 768px) {
	.inner1000 {
		width: calc(100% - 80px);
	}
}

.inner800 {
	max-width: 800px;
	margin-inline: auto;
	width: calc(100% - 40px);
}
@media (min-width: 768px) {
	.inner800 {
		width: calc(100% - 80px);
	}
}

.fade-in-up {
	opacity: 0;
	-webkit-transform: translateY(24px);
	transform: translateY(24px);
	-webkit-transition: opacity 1s, -webkit-transform 1s;
	transition: opacity 1s, -webkit-transform 1s;
	transition: opacity 1s, transform 1s;
	transition: opacity 1s, transform 1s, -webkit-transform 1s;
}
.fade-in-up.is-in-view {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.icon {
	width: 30px;
	height: auto;
}

.path {
	-webkit-transition: fill 0.5s;
	transition: fill 0.5s;
}

.header__button:hover .path {
	fill: #00A000;
}

/*==============================================================================
# signage
==============================================================================*/
.signage {
	margin-inline: auto;
	height: clamp(15rem, 13.9285714286rem + 5.3571428571vw, 18.75rem);
	background: url(../assets/img/sp/signage-sp.jpg) no-repeat center bottom/cover;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 84px;
	border-radius: 30px;
	width: calc(100% - 40px);
}
@media (min-width: 768px) {
	.signage {
		background: url(../assets/img/signage.jpg) no-repeat center bottom/cover;
		width: 88.88889vw;
	}
}
@media (min-width: 1200px) {
	.signage {
		margin-top: 20px;
	}
}

.signage__title {
	font-size: clamp(28px, 2vw, 48px);
	font-weight: 600;
	text-align: center;
	line-height: normal;
}
@media (min-width: 768px) {
	.signage__title {
		font-size: clamp(1.75rem, 1.5357142857rem + 1.0714285714vw, 2.5rem);
	}
}

.signage__title span {
	display: block;
	font-size: 14px;
}
@media (min-width: 768px) {
	.signage__title span {
		font-size: 16px;
	}
}

/*==============================================================================
# breadcrumb
==============================================================================*/
.breadcrumb-wrapper {
	margin-top: 2rem;
	font-size: 14px;
}

.breadcrumbs {
	font-weight: 700;
	margin-top: 12px;
	width: 100%;
	font-size: 0.9rem;
}
@media (min-width: 768px) {
	.breadcrumbs {
		width: 88.88889vw;
		margin-inline: auto;
	}
}

.breadcrumb-home {
	text-decoration: underline;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	font-weight: inherit;
}
@media (any-hover: hover) {
	.breadcrumb-home:hover {
		opacity: 0.7;
	}
}

.breadcrumb-separator {
	margin: 0 12px;
	display: inline-block;
	font-weight: inherit;
}

/*==============================================================================
# pagination
==============================================================================*/
.pagination-wrapper {
	margin-top: 40px;
	text-align: center;
}

.pagination {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 20px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 50px;
}
@media (min-width: 768px) {
	.pagination {
		margin-top: 70px;
		gap: 40px;
	}
}

.page-item {
	width: 40px;
	height: 40px;
	background-color: #012645;
}
.page-item .is-active {
	color: #483B35;
	background: #fff;
	border: 1px solid #012645;
}

.page-link {
	color: #fff;
	font-weight: 500;
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/* ページネーション css */
.archive-page__pagination {
	margin-top: 50px;
}

/* プラグイン WP-PageNavi*/
.nav-links {
	font-weight: 700;
	font-size: 16px;
}
@media (min-width: 768px) {
	.nav-links {
		font-size: 20px;
	}
}

.page-numbers {
	font-weight: inherit;
	text-align: center;
}

.page-numbers.current {
	color: #00A000;
}

/*==============================================================================
# 配置
==============================================================================*/
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/*==============================================================================
# トップに戻るボタン
==============================================================================*/
.back-to-top {
	position: fixed;
	bottom: 50px;
	right: 20px;
	width: 60px;
	height: 60px;
	color: white;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
	transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
	line-height: 150%;
	-webkit-transform: translateY(20px);
	transform: translateY(20px); /* 初期状態で少し下にずらす */
	z-index: 100;
}
@media (min-width: 768px) {
	.back-to-top {
		width: 80px;
		height: 80px;
		bottom: 20px;
	}
}
@media (any-hover: hover) {
	.back-to-top:hover {
		opacity: 0.7 !important;
	}
}

.back-to-top__inner {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 60px;
}
@media (min-width: 768px) {
	.back-to-top__inner {
		width: 80px;
		height: 80px;
	}
}

.arrow::before,
.arrow::after {
	content: "";
	position: absolute;
	top: 0;
	top: 12px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 2px;
	height: 12px;
	border-radius: 9999px;
	background-color: #ffffff;
	-webkit-transform-origin: 50% 1px;
	transform-origin: 50% 1px;
}
@media (min-width: 768px) {
	.arrow::before,
	.arrow::after {
		width: 2px;
		height: 16px;
		top: 20px;
	}
}

.arrow::before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.arrow::after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.top-text {
	position: absolute;
	bottom: 12px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	font-weight: 600;
	font-size: 14px;
}
@media (min-width: 768px) {
	.top-text {
		bottom: 20px;
		font-size: 18px;
	}
}

.back-to-top.show {
	opacity: 1;
	visibility: visible;
	-webkit-transform: translateY(0);
	transform: translateY(0); /* 表示時に元の位置に移動 */
}

/*==============================================================================
# マーカー他文字装飾
==============================================================================*/
.marker {
	font-weight: 700;
	display: inline;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #ffff55));
	background: linear-gradient(transparent 60%, #ffff55 60%);
}

.red {
	color: red;
	font-weight: 700;
}

.orange {
	color: #ff854d;
	font-weight: 700;
}

.green {
	color: #00a000;
	font-weight: 700;
}

.yellow {
	color: #ffd900;
	font-weight: 700;
}

.blue {
	color: #1a0dab;
}

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

.text-right {
	text-align: right;
}

.caution {
	font-size: 0.8em;
	font-weight: 600;
}
.caution span {
	font-weight: inherit;
}

/*==============================================================================
# 共通css
==============================================================================*/
.section {
	padding-block: 4rem 6rem;
}
@media (min-width: 768px) {
	.section {
		padding-block: 6rem 8rem;
	}
}

.section > :last-child {
	margin-bottom: 0;
}

.section:not(.section--bg) + .section:not(.section--bg) {
	padding-top: 0;
}

/*==============================================================================
# 下層ページ共通css
==============================================================================*/
.lower-page {
	padding-top: 80px;
	padding-bottom: 100px;
}
@media (min-width: 768px) {
	.lower-page {
		padding-top: 100px;
		padding-bottom: 120px;
	}
}

.lower-page__title {
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 60px;
}
@media (min-width: 768px) {
	.lower-page__title {
		font-size: 28px;
		margin-bottom: 80px;
	}
}

/*==============================================================================
# リンク系
==============================================================================*/
/* aタグのtarget属性が_blankの場合 .noexは除外 */
a.gaibu[target=_blank]:not(.noex)::after {
	content: "";
	width: 16px;
	height: 16px;
	display: inline-block;
	margin-left: 5px;
	background-color: rgb(26, 13, 171);
	-webkit-mask-image: url(../assets/img/link-icon.png) no-repeat center center;
	-webkit-mask-size: contain;
	-webkit-mask: url(../assets/img/link-icon.png) no-repeat center center;
	mask: url(../assets/img/link-icon.png) no-repeat center center;
	mask-size: contain;
}

.gaibu {
	display: inline;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.animated__fadeIn {
	opacity: 0;
	translate: 0 40px;
	-webkit-transition: opacity 0.3s ease, translate 0.3s ease;
	transition: opacity 0.3s ease, translate 0.3s ease;
}
.animated__fadeIn.js-show {
	opacity: 1;
	translate: 0 0;
}

/*==============================================================================
# アコーディオン
==============================================================================*/
summary {
	display: block;
}
summary::-webkit-details-marker {
	display: none;
}

/*==============================================================================
# Layout
==============================================================================*/
/*==============================================================================
# Foundation
==============================================================================*/
/*==============================================================================
# header
==============================================================================*/
.header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #FFFFEF;
}

.header-pc {
	display: none;
}
@media (min-width: 1200px) {
	.header-pc {
		display: block;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin: 0 auto;
		width: 100%;
	}
}

.header-top {
	background: #fff;
	width: 100%;
	height: 80px;
	line-height: 80px;
}

.header-top__content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.header-top__left {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 60%;
	gap: 3.7%;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.header-top__left p {
	font-size: clamp(12px, 0.97222vw, 14px);
	width: 55.6%;
}

.header__logo {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	font-size: inherit;
}
.header__logo:hover {
	opacity: 0.7;
}
.header__logo img {
	width: 400px;
	height: auto;
}

.header-top__right {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 60%;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 3.7%;
}

.header-top__line-link {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.header-top__line-link:hover {
	opacity: 0.7;
}

.header-top__line-img img {
	width: 60px;
	height: auto;
}

.header-bottom {
	width: 100%;
	display: none;
}
@media (min-width: 1200px) {
	.header-bottom {
		display: block;
	}
}
.header-bottom .icon {
	color: #fff;
}

.header__nav {
	padding: 10px;
}

.header__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.header__item {
	text-align: center;
	position: relative;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	font-weight: 500;
}
.header__item:not(:first-child) {
	border-left: 4px dotted #00A000;
}

.header__link {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	border-radius: 4px;
	padding: 8px 20px;
	min-width: 205px;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 4px;
	justify-content: center;
	align-items: center;
	font-size: 16px;
}
.header__link span {
	font-weight: 600;
}
@media (any-hover: hover) {
	.header__link:hover {
		opacity: 0.7;
	}
}
.header__link img {
	width: auto;
	height: 50px;
	-o-object-fit: contain;
	object-fit: contain;
}

.insta-link {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	text-align: center;
}
@media (any-hover: hover) {
	.insta-link:hover {
		opacity: 0.7;
	}
}
.insta-link img {
	width: 50px;
	height: 50px;
	-o-object-fit: contain;
	object-fit: contain;
}

/*==============================================================================
# header-sp(drawer)
==============================================================================*/
.is-fixed {
	overflow: hidden;
	height: 100vh; /* 高さを固定してスクロールを無効にする */
	position: fixed; /* ページ全体を固定 */
	width: 100%; /* 幅を100%にする */
}

.header-sp {
	height: 64px;
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
}
@media (min-width: 1200px) {
	.header-sp {
		display: none !important;
	}
}

.header-sp__logo {
	position: relative;
	top: 50%;
	left: 20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 101;
	width: 100%;
}
.header-sp__logo img {
	width: clamp(12.5rem, 7.9545454545rem + 22.7272727273vw, 25rem);
	height: 44px;
	-o-object-fit: contain;
	object-fit: contain;
	max-width: none;
}

.drawer-icon {
	width: 40px;
	height: 21px;
	right: 20px;
	position: fixed;
	top: 15px;
	z-index: 999;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(1) {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 10px;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(2) {
	display: none;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(3) {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 10px;
}
@media (min-width: 1200px) {
	.drawer-icon {
		display: none !important;
	}
}

@media screen and (min-width: 1201px) {
	.header-open {
		display: none;
	}
}

.drawer-icon__bar {
	position: absolute;
	top: 0;
	right: 4px;
	width: 32px;
	height: 3px;
	border-radius: 6px;
	background-color: #483B35;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	z-index: 401;
}
.drawer-icon__bar:nth-of-type(2) {
	top: 9px;
}
.drawer-icon__bar:nth-of-type(3) {
	top: 18px;
}

.drawer-text {
	font-size: 10px;
	font-weight: 600;
	top: 30px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	position: absolute;
	width: 100%;
	line-height: 1;
}
.drawer-content {
	max-width: 320px;
	background: #fff;
	height: 100vh;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 104;
	padding: 86px 30px 30px;
	-webkit-transform: translateX(105%);
	transform: translateX(105%);
	-webkit-transition: -webkit-transform 0.3s linear;
	transition: -webkit-transform 0.3s linear;
	transition: transform 0.3s linear;
	transition: transform 0.3s linear, -webkit-transform 0.3s linear;
	width: 80%;
}
.drawer-content.is-checked {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

.drawer-content__link {
	padding-top: 14px;
	padding-bottom: 14px;
	text-align: right;
	font-weight: 700;
	letter-spacing: 0.48px;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: end;
}
.drawer-content__link:not(:first-child) {
	border-top: 2px dotted #00A000;
}
.drawer-content__link .fill {
	color: #fff;
}
.drawer-content__link span {
	margin-left: 6px;
	font-weight: 500;
	text-decoration: underline;
}
.drawer-content__link img {
	width: 25px;
	height: 20px;
	-o-object-fit: contain;
	object-fit: contain;
}
@media (any-hover: hover) {
	.drawer-content__link:hover {
		color: #00A000;
	}
}

.drawer__contact-buttons {
	margin-top: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 20px;
}

/*          mask
---------------------------*/
#mask {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	opacity: 0;
}
#mask.is-checked {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: #000;
	z-index: 103;
	opacity: 0.6;
}

/*==============================================================================
# Foundation
==============================================================================*/
.footer {
	padding-top: clamp(10rem, 3.7360178971rem + 31.3199105145vw, 18.75rem);
	padding-bottom: 1.25rem;
	background: url(../assets/img/sp/footer-bg-sp.png) no-repeat center top/cover;
}
@media (min-width: 768px) {
	.footer {
		padding-top: clamp(13.75rem, 8.0357142857rem + 11.9047619048vw, 18.75rem);
		background: url(../assets/img/footer-bg.png) no-repeat center top/cover;
	}
}

.footer__logo {
	text-align: center;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}
@media (any-hover: hover) {
	.footer__logo:hover {
		opacity: 0.7;
	}
}

.footer__logo-link {
	text-align: center;
	display: inline-block;
}
.footer__logo-link img {
	max-width: 480px;
	width: 100%;
}
@media (min-width: 768px) {
	.footer__logo-link img {
		max-width: 700px;
	}
}

.footer__link-buttons {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 16px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 2rem;
}
@media (min-width: 768px) {
	.footer__link-buttons {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		margin-top: 3rem;
	}
}

.footer__nav-list {
	margin-top: 3rem;
	padding-block: 1.25rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	row-gap: 1rem;
}
@media (min-width: 768px) {
	.footer__nav-list {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		gap: 4%;
	}
}

@media (min-width: 768px) {
	.footer__nav-item {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		font-size: clamp(0.9375rem, 0.8839285714rem + 0.2678571429vw, 1.125rem);
	}
}
@media (min-width: 768px) {
	.footer__nav-item svg {
		width: clamp(1.25rem, 0.536rem + 1.49vw, 1.875rem);
	}
}

.footer__nav-link {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	padding-inline: 0.5rem;
	font-weight: 600;
	border-bottom: 1px solid #483B35;
	width: 100%;
}
@media (any-hover: hover) {
	.footer__nav-link:hover {
		opacity: 0.7;
	}
}
.footer__nav-link span {
	border-bottom: 1px solid #fff;
}
@media (min-width: 768px) {
	.footer__nav-link span {
		margin-left: clamp(0.3125rem, -0.0446428571rem + 0.744047619vw, 0.625rem);
	}
}

.footer__nav-sub-list {
	margin-left: 2rem;
	margin-top: 1rem;
}

.footer__nav-sub-link {
	text-decoration: underline;
	font-weight: 600;
	font-size: clamp(0.875rem, 0.8392857143rem + 0.1785714286vw, 1rem);
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media (any-hover: hover) {
	.footer__nav-sub-link:hover {
		opacity: 0.7;
	}
}

/* SNSリンク */
.footer__sns-links {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.footer__sns-link {
	background: #fff;
	padding: 16px;
	border-radius: 100vmax;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.footer__sns-link img {
	width: 40px;
	height: 40px;
	-o-object-fit: contain;
	object-fit: contain;
}
@media (any-hover: hover) {
	.footer__sns-link:hover {
		opacity: 0.7;
	}
}

.footer__bottom-nav {
	margin-top: 2rem;
}

.footer__bottom-nav-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
@media (min-width: 768px) {
	.footer__bottom-nav-list {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		gap: 1.5rem;
	}
}

.footer__bottom-nav-link {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	text-decoration: underline;
	font-weight: 600;
}
@media (any-hover: hover) {
	.footer__bottom-nav-link:hover {
		opacity: 0.7;
	}
}

.footer__copyright {
	font-size: 13px;
	margin-top: 2rem;
	display: block;
	font-weight: 600;
	text-align: center;
}
@media (min-width: 768px) {
	.footer__copyright {
		text-align: center;
		font-size: 14px;
	}
}

/*==============================================================================
# Foundation
==============================================================================*/
/*==============================================================================
# シングルページのcss
==============================================================================*/
.single-post__title {
	font-size: clamp(1.75rem, 1.6071428571rem + 0.7142857143vw, 2.25rem);
	text-align: center;
	font-weight: 700;
}

.single-post__category {
	border-radius: 4px;
	padding: 3px 10px;
	color: #fff;
	font-weight: 500;
	font-size: 14px;
}

.single-post__content h2 {
	font-size: clamp(1.5rem, 1.3571428571rem + 0.7142857143vw, 2rem);
	font-weight: 700;
}

.single-post__content h3 {
	font-size: clamp(1.25rem, 1.1071428571rem + 0.7142857143vw, 1.75rem);
	font-weight: 700;
}

.single-post__meta {
	margin-top: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 12px;
}
@media (max-width: 480px) {
	.single-post__meta {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: baseline;
		-ms-flex-align: baseline;
		align-items: baseline;
	}
}

.single-post__content {
	margin-top: 50px;
	font-weight: 500;
	font-size: 18px;
}
.single-post__content span {
	font-size: inherit;
}

/*==============================================================================
# 記事内ページネーション
==============================================================================*/
.post-content__pager {
	margin-top: 60px;
}
@media (min-width: 768px) {
	.post-content__pager {
		margin-top: 100px;
	}
}

.post-content__pager-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 400px;
	width: 100%;
	margin-inline: auto;
	text-align: center;
}
.post-content__pager-nav li {
	font-weight: 700;
	font-size: 18px;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.post-content__pager-nav li a {
	font-weight: inherit;
	text-decoration: underline;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media (any-hover: hover) {
	.post-content__pager-nav li a:hover {
		color: #00A000;
	}
}

/*==============================================================================
# Foundation
==============================================================================*/
/*==============================================================================
# 投稿一覧ページのcss
==============================================================================*/
.archive-page__meta {
	font-weight: 500;
}
.archive-page__meta span {
	font-weight: inherit;
}

.archive-page__category {
	border-radius: 4px;
	padding: 3px 10px;
	color: #fff;
	font-size: 14px;
}

h2.archive-page__item-title {
	font-size: clamp(1.125rem, 1.0892857143rem + 0.1785714286vw, 1.25rem);
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	text-decoration: underline;
}
@media (any-hover: hover) {
	h2.archive-page__item-title:hover {
		color: #00A000;
	}
}

.archive-page__item {
	padding-block: 16px;
}
.archive-page__item:not(:first-child) {
	border-top: 4px dotted #00A000;
}

/*==============================================================================
# Foundation
==============================================================================*/
/*==============================================================================
# contact
==============================================================================*/
input[type=text],
input[type=email],
input[type=tel],
input[type=date],
select,
textarea {
	border-radius: 2px;
	width: 100%;
	border: none;
	padding: 12px 24px;
	background: #fff;
	font-size: 16px;
	line-height: normal;
}
input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, input[type=date]::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
	color: #5a5a5a;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=date]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
	color: #5a5a5a;
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, input[type=date]:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
	color: #5a5a5a;
}
input[type=text]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, input[type=tel]::-ms-input-placeholder, input[type=date]::-ms-input-placeholder, select::-ms-input-placeholder, textarea::-ms-input-placeholder {
	color: #5a5a5a;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=date]::placeholder,
select::placeholder,
textarea::placeholder {
	color: #5a5a5a;
}

textarea {
	height: 243px;
	resize: vertical;
}

.contact {
	padding-block: 94px 130px;
}

.contact__inner {
	width: min(1120px, 100%);
	padding-inline: 20px;
	margin-inline: auto;
}

.contact__content {
	border-radius: 30px;
	background: #fff;
	-webkit-box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
	padding: 40px 20px;
	position: relative;
}
.contact__content::before {
	position: absolute;
	background: url(../assets/img/clover-deco.png) no-repeat center center/contain;
	width: clamp(6.25rem, 4.8214285714rem + 7.1428571429vw, 11.25rem);
	height: clamp(6.25rem, 4.8214285714rem + 7.1428571429vw, 11.25rem);
	top: -80px;
	left: -30px;
	content: "";
}
@media (min-width: 768px) {
	.contact__content::before {
		left: -60px;
		top: -60px;
	}
}
@media (min-width: 768px) {
	.contact__content {
		padding: 40px;
	}
}

.contact__title {
	font-size: 28px;
	font-weight: 700;
	line-height: normal;
	margin-bottom: 60px;
	text-transform: uppercase;
	text-align: center;
}
.contact__title span {
	display: block;
	font-size: 14px;
	margin-top: 16px;
}

.contact__desc {
	margin-bottom: 60px;
	text-align: center;
}
@media (min-width: 768px) {
	.contact__desc {
		margin-bottom: 80px;
	}
}

.contact__form {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.contact__row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	row-gap: 12px;
	-webkit-box-align: normal;
	-ms-flex-align: normal;
	align-items: normal;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	border-bottom: 4px dotted #00A000;
	padding: 20px 0;
	width: 100%;
}
.contact__row:first-of-type {
	border-bottom: 4px dotted #00A000;
}
@media (min-width: 768px) {
	.contact__row {
		padding: 20px;
	}
}
.contact__row.--aifs {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.contact__row label {
	font-weight: 700;
}

@media (min-width: 768px) {
	.contact__row:not(:first-child) {
		margin-top: 0;
	}
}
.contact__head {
	font-size: 18px;
	line-height: normal;
	margin-top: 0;
	position: relative;
}

.contact__confirmation {
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 40px;
}

.contact__data {
	width: 100%;
}
@media (min-width: 768px) {
	.contact__data {
		width: auto;
	}
}

.contact__data-radio label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 6px;
}

input[type=submit],
input[type=button] {
	border-radius: 0px;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	border: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer;
	background: transparent;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
	display: none;
}

.row.jc-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

/*==============================================================================
# プライバシーポリシー
==============================================================================*/
.privacy-policy {
	padding-bottom: 100px;
	font-size: 14px;
}
@media (min-width: 768px) {
	.privacy-policy {
		padding-bottom: 120px;
	}
}

.privacy-policy__title {
	font-size: 20px;
	font-weight: 700;
}

.privacy-policy__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 36px;
	margin-top: 60px;
}

.privacy-policy__item {
	line-height: 2;
}

.privacy-policy__item--title {
	font-size: 18px;
	font-weight: 500;
}

.privacy-policy__inner-list {
	margin-top: 20px;
}

.to-privacy-policy {
	text-decoration: underline;
	font-weight: 700;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media (any-hover: hover) {
	.to-privacy-policy:hover {
		opacity: 0.7;
	}
}

/* スクロール */
.scroll-box {
	margin: 0 auto;
	max-width: 960px;
	height: 300px;
	overflow-y: scroll;
	border: solid 1px #707070;
	padding: 30px;
	width: 100%;
}
@media (min-width: 768px) {
	.scroll-box {
		padding: 30px 60px;
	}
}

.scroll-content {
	margin: 0 auto;
}

.scroll-box::-webkit-scrollbar {
	border-radius: 12px; /* 丸み */
	border: 1px solid #707070;
	height: 200px;
}

.scroll-box::-webkit-scrollbar-thumb {
	background-color: white;
	background-color: #707070; /* 色 */
	border-radius: 12px; /* 丸み */
}

.scroll-box::-webkit-scrollbar-thumb:hover {
	background-color: #707070;
}

/* お問い合わせフォーム */
.wpcf7 form.sent .wpcf7-response-output {
	border: none;
}

.wpcf7-spinner {
	display: none;
}

span.--must {
	padding: 3px 10px;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	margin-left: 12px;
	border-radius: 4px;
	background: #e71c24;
	display: inline-block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

span.--any {
	padding: 3px 10px;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	margin-left: 12px;
	border-radius: 4px;
	background: #828282;
	display: inline-block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.submit-button {
	margin-inline: auto;
	text-align: center;
	max-width: 240px;
	width: 100%;
}
.submit-button input[type=submit] {
	background: #6CB4A4;
	font-size: 18px;
	position: relative;
	color: #fff;
	padding: 16px 24px;
	font-weight: 600;
	display: inline-block;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	bottom: 0;
	right: 0;
	line-height: 1;
	margin-inline: auto;
	margin-top: 30px;
	border: 1px #6CB4A4 solid;
	border-radius: 100vmax;
	max-width: 240px;
	width: 100%;
	-webkit-box-shadow: 0 0px 10px 0 rgba(0, 0, 0, 0.1);
	box-shadow: 0 0px 10px 0 rgba(0, 0, 0, 0.1);
}
@media (min-width: 768px) {
	.submit-button input[type=submit] {
		-webkit-box-shadow: 0 0px 20px 0 rgba(0, 0, 0, 0.1);
		box-shadow: 0 0px 20px 0 rgba(0, 0, 0, 0.1);
	}
}

@media (any-hover: hover) {
	.submit-button input[type=submit]:hover {
		background: #fff;
		color: #6CB4A4;
	}
}
input[type=text], input[type=email], input[type=tel], input[type=date] {
	border-radius: 5px;
	width: 100%;
	padding: 10px 20px;
	background: #f5f7f6;
	font-size: 18px;
	line-height: normal;
}

input[type=date] {
	max-width: 240px;
	width: 100%;
	font-weight: 500;
}

select,
textarea {
	border-radius: 5px;
	width: 100%;
	padding: 10px 20px;
	background: #f5f7f6;
	font-size: 18px;
	line-height: normal;
}

input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder {
	color: #adadad;
}

select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #adadad;
}

input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder {
	color: #adadad;
}

select::-moz-placeholder,
textarea::-moz-placeholder {
	color: #adadad;
}

input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder {
	color: #adadad;
}

select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #adadad;
}

input[type=text]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, input[type=tel]::-ms-input-placeholder {
	color: #adadad;
}

select::-ms-input-placeholder,
textarea::-ms-input-placeholder {
	color: #adadad;
}

input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder {
	color: #adadad;
}

input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder {
	color: #adadad;
}

input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder {
	color: #adadad;
}

input[type=text]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, input[type=tel]::-ms-input-placeholder {
	color: #adadad;
}

input[type=text]::placeholder, input[type=email]::placeholder, input[type=tel]::placeholder {
	color: #adadad;
}

select::-webkit-input-placeholder {
	color: #adadad;
}

select::-moz-placeholder {
	color: #adadad;
}

select:-ms-input-placeholder {
	color: #adadad;
}

select::-ms-input-placeholder {
	color: #adadad;
}

select::placeholder {
	color: #adadad;
}

textarea {
	height: 243px;
	resize: vertical;
}
textarea::-webkit-input-placeholder {
	color: #adadad;
}
textarea::-moz-placeholder {
	color: #adadad;
}
textarea:-ms-input-placeholder {
	color: #adadad;
}
textarea::-ms-input-placeholder {
	color: #adadad;
}
textarea::placeholder {
	color: #adadad;
}

.contact {
	padding-block: 94px 130px;
}

.contact__inner {
	width: min(1120px, 100%);
	padding-inline: 20px;
	margin-inline: auto;
}

.contact__title {
	font-size: 28px;
	font-weight: 700;
	line-height: normal;
	margin-bottom: 60px;
	text-transform: uppercase;
	text-align: center;
}
.contact__title span {
	display: block;
	font-size: 14px;
	margin-top: 16px;
}

.contact__desc {
	margin-bottom: 40px;
	margin-top: 30px;
	text-align: center;
}

@media (min-width: 768px) {
	.contact__desc {
		margin-bottom: 90px;
		margin-top: 90px;
	}
}
.contact__form {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-inline: auto;
}

.contact__confirmation {
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 40px;
}

.contact__data {
	width: 100%;
}

@media (min-width: 768px) {
	.contact__data {
		width: auto;
	}
}
.contact__data-radio label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 6px;
}

input[type=checkbox] {
	width: 1px;
	height: 1px;
	position: absolute;
	clip: rect(0, 0, 0, 0);
}
input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.contact__agree span {
	display: inline-block;
	line-height: normal;
	padding-left: 30px;
	position: relative;
	font-weight: 700;
	font-size: 18px;
}
.contact__agree span::before {
	content: "";
	position: absolute;
	top: 2.5px;
	left: 0;
	width: 24px;
	height: 24px;
	border: 1px solid;
	cursor: pointer;
	background: #fff;
}
.contact__agree span::after {
	content: "";
	position: absolute;
	top: 4px;
	left: 7px;
	width: 11px;
	height: 16px;
	rotate: 45deg;
	border-right: 3px solid #00A000;
	border-bottom: 3px solid #00A000;
	opacity: 0;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
	cursor: pointer;
}

input[type=submit], input[type=button] {
	border-radius: 0px;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	border: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer;
	background: transparent;
}
input[type=submit]::-webkit-search-decoration, input[type=button]::-webkit-search-decoration {
	display: none;
}

.row.jc-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.contact__agree {
	text-align: center;
	margin-top: 45px;
}

@media (min-width: 768px) {
	.contact__agree {
		margin-top: 30px;
	}
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}

.contact__select-wrap {
	position: relative;
}
.contact__select-wrap svg {
	position: absolute;
	top: calc(50% + 2px);
	translate: 0 -50%;
	right: 10.69px;
	width: 17.313px;
	height: auto;
	pointer-events: none;
}

.contact-caution {
	margin-bottom: 30px;
	text-align: center;
}
@media (min-width: 768px) {
	.contact-caution {
		margin-bottom: 50px;
	}
}

/*==============================================================================
# 同意部分のチェックボックス調整
==============================================================================*/
.contact__agree span.wpcf7-form-control-wrap::before {
	display: none !important;
}

.contact__agree span.wpcf7-form-control.wpcf7-acceptance::before {
	display: none !important;
}

.contact__agree span.wpcf7-list-item::before {
	display: none !important;
}

span.wpcf7-list-item-label::before {
	display: none !important;
}

.wpcf7-form-control-wrap::before,
.wpcf7-form-control-wrap::after,
.wpcf7-form-control::before,
.wpcf7-form-control::after,
.wpcf7-list-item::before,
.wpcf7-list-item::after {
	content: none !important;
	display: none !important;
}

.contact__agree span.wpcf7-list-item-label,
.contact__agree span.wpcf7-form-control.wpcf7-acceptance,
.contact__agree span.wpcf7-form-control-wrap,
.contact__agree span.wpcf7-list-item {
	padding-left: 0 !important;
}

.contact__agree .wpcf7-list-item {
	margin-left: 0 !important;
}

input[type=radio] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 30px;
	height: 30px;
	border: 1px solid #828282;
	border-radius: 50%;
	background: #fff;
	position: relative;
	cursor: pointer;
	vertical-align: middle;
	-webkit-transition: border-color 0.2s ease;
	transition: border-color 0.2s ease;
	margin-right: 10px;
}

input[type=radio]::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-color: #00A000;
	border-radius: 50%;
	position: absolute;
	top: 4px;
	left: 4px;
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-transition: -webkit-transform 0.2s ease;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

input[type=radio]:checked::before {
	-webkit-transform: scale(1);
	transform: scale(1);
}

input[type=radio]:hover {
	border-color: #00A000;
}

.wpcf7-list-item-label {
	font-weight: 700;
}

.wpcf7-list-item {
	margin-left: 0 !important;
}

.wpcf7-list-item:not(:first-child) {
	margin-left: 30px !important;
}

.radio-text label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/*==============================================================================
# 見た目を整える
==============================================================================*/
.wpcf7 form.sent .wpcf7-response-output {
	border: none;
}

.wpcf7-spinner {
	display: none;
}

/*==============================================================================
# Object
==============================================================================*/
/*==============================================================================
# Foundation
==============================================================================*/
.section__title {
	font-weight: 600;
	font-size: clamp(1.75rem, 1.5357142857rem + 1.0714285714vw, 2.5rem);
	position: relative;
	margin-bottom: 3rem;
	text-align: center;
	height: 100px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	z-index: 0;
}
@media (min-width: 768px) {
	.section__title {
		margin-bottom: 4.6rem;
	}
}
.section__title span {
	display: block;
	font-size: clamp(0.75rem, 0.684rem + 0.35vw, 1rem);
	color: #00A000;
}
.section__title::before {
	position: absolute;
	content: "";
	background: url(../assets/img/title-deco.png) no-repeat center center/contain;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 127px;
	height: 100px;
	z-index: -1;
}

/*==============================================================================
# fixed-side-buttons
==============================================================================*/
.fixed-side-buttons {
	position: fixed;
	z-index: 10;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 10px; /* ボタン間のスペース */
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl; /* 右から左に縦書き */
	text-orientation: upright; /* 文字を回転せず、縦方向に */
}

.fixed-side-button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	gap: 10px; /* リンクボタン間のスペース */
	line-height: 1;
}
.fixed-side-button a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row; /* アイコンとテキストを縦に配置 */
	color: white;
	text-decoration: none;
	width: 72px; /* 幅を固定 */
	height: 205px; /* 高さを固定 */
	font-size: 20px;
	border-radius: 5px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box; /* パディングを含めたサイズ調整 */
	text-align: center;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.fixed-side-button a:hover {
	opacity: 0.7;
}
.fixed-side-button a img {
	width: 22px;
	height: 22px;
	margin-bottom: 10px;
	-o-object-fit: contain;
	object-fit: contain;
}

.mv__tel {
	padding: 30px 24px;
	border-radius: 10px 0 0 10px;
}

.mv__plane {
	padding: 30px 24px;
	border-radius: 10px 0 0 10px;
}

/*==============================================================================
# to-contact__button
==============================================================================*/
.contact-button {
	font-size: 18px;
	font-weight: 600;
	padding: 13px 20px;
	border-radius: 4px;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.contact-button img {
	width: 26px;
	height: auto;
}
.contact-button span {
	margin-left: 10px;
}

.header__button {
	background: #00A000;
	color: #fff;
	border: 1px solid #00A000;
}
@media screen and (max-width: 1200px) {
	.header__button {
		display: none;
	}
}
@media (any-hover: hover) {
	.header__button:hover {
		color: #00A000;
		background: #fff;
	}
}

/*==============================================================================
# drawer__contact-button
==============================================================================*/
.drawer__contact-button {
	background: #fff;
	color: #00A000;
	margin-top: 50px;
}
@media (any-hover: hover) {
	.drawer__contact-button:hover {
		background: #00A000;
		color: #fff;
	}
	.drawer__contact-button:hover .path {
		fill: #fff;
	}
}

/*==============================================================================
# catalog__button
==============================================================================*/
.catalog__button {
	margin-top: 68px;
	text-align: center;
	position: relative;
}
.catalog__button a {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	background: #e3787a;
	border-radius: 100px;
	padding: 16px 80px 16px 60px;
	display: inline-block;
	width: 100%;
	max-width: 320px;
	min-width: 240px;
	position: relative;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media screen and (max-width: 380px) {
	.catalog__button a {
		padding: 16px 50px 16px 30px;
		min-width: 200px;
	}
}
@media (min-width: 768px) {
	.catalog__button a:hover {
		background: #D2E3BF;
	}
}
.catalog__button a:hover .catalog-button__arrow {
	right: 30px;
}
@media screen and (max-width: 380px) {
	.catalog__button a:hover .catalog-button__arrow {
		right: 15px;
	}
}
.catalog__button .catalog-button__arrow {
	position: absolute;
	content: "";
	top: 50%;
	right: 50px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #fff;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media screen and (max-width: 380px) {
	.catalog__button .catalog-button__arrow {
		right: 30px;
	}
}

/*==============================================================================
# submit・return home
==============================================================================*/
.common-button {
	max-width: 300px;
	background: #FF854D;
	color: #fff;
	font-size: 1rem;
	height: auto;
	text-align: center;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	border-radius: 100vmax;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-weight: 600;
	-webkit-box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1);
	box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1);
	padding: 10px 16px 10px 10px;
	line-height: normal;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
@media (any-hover: hover) {
	.common-button:hover {
		background: #fff;
	}
}
.common-button.--contact {
	border: 1px solid #FF854D;
}
@media (any-hover: hover) {
	.common-button.--contact:hover {
		color: #FF854D;
	}
}
.common-button.--member {
	border: 1px solid #6CB4A4;
}
@media (any-hover: hover) {
	.common-button.--member:hover {
		color: #6CB4A4;
	}
}
.common-button span {
	border-radius: 100px;
	background: #fff;
	width: 32px;
	height: 32px;
	margin-right: 8px;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.common-button img {
	width: 20px;
	height: 20px;
	-o-object-fit: contain;
	object-fit: contain;
}

.common-button2 {
	border: 1px solid #00A000;
	color: #fff;
	font-weight: 500;
	padding: 10px 30px;
	background: #00A000;
	border-radius: 100vmax;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	cursor: pointer;
	text-align: center;
	max-width: 300px;
	margin-inline: auto;
	width: 100%;
	font-size: 18px;
	-webkit-box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1);
	box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1);
}
.common-button2 span {
	margin-left: 8px;
}
.common-button2 path {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media (any-hover: hover) {
	.common-button2:hover {
		background: #fff;
		color: #00A000;
	}
	.common-button2:hover svg path {
		fill: #00A000;
	}
}

.drawer__contact-buttons .common-button {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-size: 14px;
}

/*==============================================================================
# top buttons
==============================================================================*/
.buttons {
	margin-top: 40px;
}

.buttons__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 8px;
	text-align: center;
}
@media (min-width: 768px) {
	.buttons__list {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

.buttons__item {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	position: relative;
}
@media (min-width: 768px) {
	.buttons__item {
		max-width: 350px;
		width: 100%;
	}
}
.buttons__item::after {
	position: absolute;
	content: "";
	background: url(../../../../assets/img/arrow.png) no-repeat center center/contain;
	width: 5px;
	height: 12px;
	-o-object-fit: contain;
	object-fit: contain;
	top: 50%;
	right: 30px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.buttons__item:hover {
	opacity: 0.7;
}

.buttons__link {
	width: 100%;
	max-width: 340px;
	height: 56px;
	line-height: 56px;
	background-color: #ddd;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	border-radius: 4px;
	color: #fff;
	padding-inline: 20px;
}
@media (min-width: 768px) {
	.buttons__link {
		max-width: 350px;
	}
}
.buttons__link img {
	width: 26px;
	height: 26px;
	-o-object-fit: contain;
	object-fit: contain;
	margin-right: 8px;
}

.--contact {
	background-color: #FF854D;
}

.--member {
	background-color: #6CB4A4;
}

/*==============================================================================
# c-button
==============================================================================*/
.c-button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
@media (min-width: 768px) {
	.c-button {
		display: block;
	}
}

.c-button__link {
	background-color: #6CB4A4;
	max-width: 300px;
	width: 100%;
	height: 56px;
	line-height: 56px;
	color: #fff;
	font-weight: 500;
	text-align: center;
	padding: 14px 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	font-size: clamp(12px, 1.041667vw, 18px);
}
.c-button__link:hover {
	opacity: 0.7;
}

@media (min-width: 768px) {
	.director__img {
		width: 47%;
	}
}

/*==============================================================================
# top-message
==============================================================================*/
.top-page {
	position: relative;
}

.top-message__body {
	max-width: 1000px;
	width: 100%;
	margin-inline: auto;
	padding: 30px;
	background: url(../assets/img/top-message-bg.jpg) no-repeat center bottom/cover;
	border-radius: 40px;
	position: relative;
	z-index: 1;
	-webkit-box-shadow: 0px 0px 30px 0px rgba(255, 133, 77, 0.2);
	box-shadow: 0px 0px 30px 0px rgba(255, 133, 77, 0.2);
}
@media (min-width: 768px) {
	.top-message__body {
		padding: 50px;
	}
}

.top-message__body::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.8); /* 50%の白透過 */
	border-radius: 40px; /* 親と同じ角丸を適用 */
	z-index: -1; /* 背景として配置 */
}

.top-message__title {
	font-size: clamp(1.5rem, 1.3571428571rem + 0.7142857143vw, 2rem);
	font-weight: 700;
	color: #FF854D;
	text-align: center;
}
.top-message__title img {
	width: 100%;
	margin-inline: auto;
	display: block;
	margin-top: 20px;
	max-width: 480px;
}

.top-message__box {
	margin-top: 20px;
}

.top-message__box {
	gap: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
@media (min-width: 768px) {
	.top-message__box {
		gap: 60px;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
	}
}
.top-message__box img {
	max-width: 300px;
	width: 100%;
	height: auto;
	-o-object-fit: contain;
	object-fit: contain;
}

/*==============================================================================
# links
==============================================================================*/
.links {
	background: url(../assets/img/section-bg01.jpg) repeat left top/contain;
	position: relative;
	padding-block: 70px;
}
@media (min-width: 768px) {
.links {
	padding-block: 100px;
}
}
.links__body {
	text-align: center;
}
.links__to-member-page {
	margin-top: 50px;
}
@media (min-width: 768px) {
	.links__to-member-page {
		margin-top: 70px;
	}
}
.links__to-member-page img {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.links__to-member-page img:hover {
	opacity: 0.7;
}

/*.links__to-insta {
margin-top: 70px;
}*/
.links__to-insta img {
	max-width: 600px;
	width: 100%;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.16);
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.16);
}
.links__to-insta img:hover {
	opacity: 0.7;
}

.links__to-insta-text {
	text-align: center;
	font-size: clamp(1.25rem, 1.1071428571rem + 0.7142857143vw, 1.75rem);
	font-weight: 700;
	margin-bottom: 20px !important;
}
@media (max-width: 450px) {
	.links__to-insta-text {
		font-size: 14px;
	}
}

.links-deco .animation-sun {
	position: absolute;
	top: -60px;
	width: 240px;
	width: clamp(7.5rem, 5.3571428571rem + 10.7142857143vw, 15rem);
	height: auto;
}
.links-deco .animation-tanpopo {
	position: absolute;
	bottom: -60px;
	right: clamp(0.625rem, -0.2678571429rem + 4.4642857143vw, 3.75rem);
	width: clamp(6.25rem, 3.75rem + 12.5vw, 15rem);
	margin-inline: auto;
	height: auto;
	opacity: 0;
	display: none;
}
@media (min-width: 768px) {
	.links-deco .animation-tanpopo {
		bottom: -80px;
		display: block;
	}
}

/* 四つ葉のクローバーの装飾 */
.animation-clover {
	position: absolute;
	top: -40px;
	right: 0;
	width: clamp(6.25rem, 3.75rem + 12.5vw, 15rem);
	height: auto;
	z-index: 2;
}

/* 太陽のアニメーション */
.animation-sun {
	-webkit-animation: 6s 1s linear backwards infinite animationSun;
	animation: 6s 1s linear backwards infinite animationSun;
}
@-webkit-keyframes animationSun {
	0% {
		rotate: 0deg;
	}
	10% {
		rotate: 0deg;
	}
	30% {
		rotate: 30deg;
	}
	70% {
		rotate: -30deg;
	}
	90% {
		rotate: 0deg;
	}
	100% {
		rotate: 0deg;
	}
}
@keyframes animationSun {
	0% {
		rotate: 0deg;
	}
	10% {
		rotate: 0deg;
	}
	30% {
		rotate: 30deg;
	}
	70% {
		rotate: -30deg;
	}
	90% {
		rotate: 0deg;
	}
	100% {
		rotate: 0deg;
	}
}

/* タンポポのアニメーション */
/* アニメーション開始用クラス */
.animation-tanpopo--active {
	-webkit-animation: zoomIn 5s cubic-bezier(0, 1, 0.5, 1) forwards;
	animation: zoomIn 5s cubic-bezier(0, 1, 0.5, 1) forwards;
}

@-webkit-keyframes zoomIn {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 0;
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}

@keyframes zoomIn {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 0;
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}
/*==============================================================================
# about-site
==============================================================================*/
.about-site {
	position: relative;
}
.about-site::before {
	position: absolute;
	content: "";
	background: url(../assets/img/about-bg.png) no-repeat center center/contain;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	z-index: -1;
}

.about-site__body {
	max-width: 1000px;
	margin-inline: auto;
}

.about-site__title-wrapper {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.about-site__title {
	padding: 20px;
	border-radius: 30px 30px 0px 0px;
	background: #00a000;
	color: #fff;
	font-weight: 700;
	font-size: clamp(1.375rem, 1.1964285714rem + 0.8928571429vw, 2rem);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}
@media (min-width: 768px) {
	.about-site__title {
		padding: 20px 40px;
	}
}

.about-site-deco img {
	width: 70px;
	height: auto;
	position: absolute;
	right: -40px;
	top: -40px;
}
@media (min-width: 768px) {
	.about-site-deco img {
		width: 80px;
		right: -40px;
	}
}

.about-site__box {
	background: #fff;
	border-radius: 0px 30px 30px 30px;
	border: 3px solid #00a000;
	padding: 20px;
	gap: 6%;
}
@media (min-width: 768px) {
	.about-site__box {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 40px;
	}
}

@media (min-width: 768px) {
	.about-site__text {
		width: 50%;
	}
}

.about-site__img {
	margin-top: 24px;
}
@media (min-width: 768px) {
	.about-site__img {
		width: 44%;
		margin-top: 0;
	}
}
.about-site__img img {
	border-radius: 8px;
}

/* ハチのアニメーション */
.about-site-hachi--animate {
	-webkit-animation: moveLeft 6s ease-in-out, floatUpDown 3s ease-in-out 2;
	animation: moveLeft 6s ease-in-out, floatUpDown 3s ease-in-out 2;
	opacity: 1;
}

@-webkit-keyframes moveLeft {
	0% {
		right: -300px;
	}
	100% {
		right: -40px; /* 左寄りに止まる位置 */
	}
}

@keyframes moveLeft {
	0% {
		right: -300px;
	}
	100% {
		right: -40px; /* 左寄りに止まる位置 */
	}
}
@-webkit-keyframes floatUpDown {
	0%, 100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	25% {
		-webkit-transform: translateY(-20px);
		transform: translateY(-20px); /* 1回目の上 */
	}
	50% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	75% {
		-webkit-transform: translateY(-10px);
		transform: translateY(-10px); /* 2回目の上 */
	}
}
@keyframes floatUpDown {
	0%, 100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	25% {
		-webkit-transform: translateY(-20px);
		transform: translateY(-20px); /* 1回目の上 */
	}
	50% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	75% {
		-webkit-transform: translateY(-10px);
		transform: translateY(-10px); /* 2回目の上 */
	}
}
/*==============================================================================
# メインコピー
==============================================================================*/
.card {
	padding-top: 64px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
	.card {
		padding-top: 84px;
	}
}
@media (min-width: 1200px) {
	.card {
		padding-top: 0;
	}
}

.card__inner {
	width: 100%;
	margin-inline: auto;
	position: relative;
}
@media (min-width: 768px) {
	.card__inner {
		width: 96%;
	}
}

.card-main-copy {
	color: #fff;
	font-size: clamp(1.75rem, 1.429rem + 1.71vw, 2.25rem);
	font-weight: 900;
	line-height: 1.5;
	text-shadow: 0 0 4px rgba(0, 0, 0, 0.15), 1px 0 4px rgba(0, 0, 0, 0.15), -1px 0 4px rgba(0, 0, 0, 0.15), 0 1px 4px rgba(0, 0, 0, 0.15), 0 -1px 4px rgba(0, 0, 0, 0.15), 1px 1px 4px rgba(0, 0, 0, 0.15), 1px -1px 4px rgba(0, 0, 0, 0.15), -1px 1px 4px rgba(0, 0, 0, 0.15), -1px -1px 4px rgba(0, 0, 0, 0.15);
	position: absolute;
	left: 6.25vw;
	bottom: 8vw;
	z-index: 2;
}
@media (min-width: 768px) {
	.card-main-copy {
		font-size: clamp(2.25rem, 1.393rem + 1.79vw, 3rem);
		bottom: 4.16667vw;
	}
}
.card-main-copy img {
	height: auto;
	width: clamp(12.5rem, 1.7617449664rem + 53.6912751678vw, 27.5rem);
}
@media (min-width: 768px) {
	.card-main-copy img {
		width: clamp(15rem, 0.7142857143rem + 29.7619047619vw, 27.5rem);
	}
}

.card__swiper-slide {
	text-align: center;
}
.card__swiper-slide img {
	border-radius: 0 0 40px 40px;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}
@media (min-width: 768px) {
	.card__swiper-slide img {
		border-radius: 50px;
	}
}

/*==============================================================================
# contact-thanks
==============================================================================*/
.contact-thanks__texts {
	text-align: center;
	margin-top: 50px;
}

.contact-thanks__title {
	font-weight: 700;
	font-size: clamp(1.25rem, 1.0357142857rem + 1.0714285714vw, 2rem);
	text-align: center;
}

.contact-thanks__text {
	margin-top: 50px;
}

.contact-thanks__main-text {
	font-weight: 500;
	text-align: center;
	margin-top: 60px;
}

.contact-thanks__totop-link {
	margin-top: 70px;
	display: block;
}
@media (min-width: 768px) {
	.contact-thanks__totop-link {
		margin-top: 100px;
	}
}

/*==============================================================================
# about
==============================================================================*/
.about__intro-title {
	min-height: 100px;
}

.about__intro-text {
	text-align: center;
}

.about__activity {
	background: #E0F6E1;
}

.about__activity-body {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 40px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
@media (min-width: 768px) {
	.about__activity-body {
		gap: 30px;
	}
}

.about__activity-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
	gap: 20px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
@media (min-width: 768px) {
	.about__activity-box {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		gap: 0;
	}
	.about__activity-box.--reverse {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		margin-left: 120px;
	}
	.about__activity-box.--reverse .about__activity-box-text {
		padding: 40px 40px 40px 180px;
	}
	.about__activity-box.--reverse .about__activity-box-img {
		margin-right: -140px;
	}
}

.about__activity-box-text {
	background: #fff;
	border-radius: 30px;
	padding: 40px 20px 20px 20px;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	max-width: 730px;
	width: 100%;
	margin-top: -40px;
}
@media (min-width: 768px) {
	.about__activity-box-text {
		padding: 40px 180px 40px 40px;
		margin-top: 0;
	}
}

.about__activity-box-img {
	position: relative;
	z-index: 0;
}
@media (min-width: 768px) {
	.about__activity-box-img {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		margin-left: -140px;
	}
}
.about__activity-box-img img {
	border-radius: 100vmax;
	max-width: 400px;
	width: 100%;
}

.about__progress {
	position: relative;
	margin-bottom: 12rem;
}
.about__progress::after {
	position: absolute;
	content: "";
	background: url(../assets/img/about-deco02.png) no-repeat center center/contain;
	width: clamp(13.125rem, 11.2321428571rem + 9.4642857143vw, 19.75rem);
	height: clamp(12.5rem, 10.7142857143rem + 8.9285714286vw, 18.75rem);
	bottom: -160px;
	left: -35px;
	z-index: 0;
}
@media (min-width: 768px) {
	.about__progress::after {
		bottom: -180px;
	}
}

.about__progress__inner {
	position: relative;
}
.about__progress__inner::before {
	position: absolute;
	content: "";
	background: url(../assets/img/about-deco01.png) no-repeat center center/contain;
	width: clamp(10rem, 8.5714285714rem + 7.1428571429vw, 15rem);
	height: clamp(8.75rem, 7.6785714286rem + 5.3571428571vw, 12.5rem);
	top: -145px;
	right: -60px;
	z-index: 0;
}
@media (min-width: 768px) {
	.about__progress__inner::before {
		top: -70px;
	}
}

.about__progress-body p {
	text-align: center;
}

.about__progress-list {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 20px;
}
@media (min-width: 768px) {
	.about__progress-list {
		grid-template-columns: repeat(4, 1fr);
		gap: 20px;
	}
}

.about__progress-link {
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	background: #00A000;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 10px 12px;
	border-radius: 8px;
	border: 1px solid #00A000;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1);
	box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1);
	width: 100%;
}
@media (min-width: 768px) {
	.about__progress-link {
		padding: 10px 24px;
	}
}
.about__progress-link svg path {
	fill: currentColor;
	-webkit-transition: fill 0.3s ease;
	transition: fill 0.3s ease;
}
@media (any-hover: hover) {
	.about__progress-link:hover {
		background: #fff;
		color: #00A000;
	}
}
.about__progress-link span {
	margin-left: 8px;
	font-weight: 500;
}

.peer-support__content {
	background: #fff;
	border-radius: 30px;
	-webkit-box-shadow: 0px 0px 20px 0px rgba(0, 160, 0, 0.2);
	box-shadow: 0px 0px 20px 0px rgba(0, 160, 0, 0.2);
	padding: 30px;
	position: relative;
}
.peer-support__content::after {
	position: absolute;
	background: url(../assets/img/kuma-deco.png) no-repeat center center/contain;
	width: clamp(6.25rem, 5.8928571429rem + 1.7857142857vw, 7.5rem);
	height: clamp(6.25rem, 5.8928571429rem + 1.7857142857vw, 7.5rem);
	content: "";
	right: -15px;
	bottom: -40px;
}
@media (min-width: 768px) {
	.peer-support__content::after {
		right: -5vw;
		width: clamp(7.5rem, 4.6428571429rem + 5.9523809524vw, 10rem);
		height: clamp(7.5rem, 4.6428571429rem + 5.9523809524vw, 10rem);
	}
}
@media (min-width: 768px) {
	.peer-support__content {
		padding: 50px;
	}
}

.peer-support__title {
	color: #FF854D;
	font-weight: 700;
	font-size: clamp(1.5rem, 1.3571428571rem + 0.7142857143vw, 2rem);
	text-align: center;
	padding-bottom: 24px;
	position: relative;
}
.peer-support__title::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: clamp(3.75rem, 3.0357142857rem + 3.5714285714vw, 6.25rem);
	height: 2px;
	background: #00A000;
	content: "";
}
.peer-support__title span {
	font-weight: inherit;
	font-size: clamp(1.25rem, 1.1785714286rem + 0.3571428571vw, 1.5rem);
}

.peer-support__text {
	margin-top: 30px;
}

/*==============================================================================
# family
==============================================================================*/
.family__message-subtitle {
	font-size: clamp(1.5rem, 1.4285714286rem + 0.3571428571vw, 1.75rem);
	padding-bottom: 0;
	padding-left: 1em;
	position: relative;
	color: inherit;
	text-align: left;
}
.family__message-subtitle:before {
	position: absolute;
	content: "";
	width: 0.7em;
	height: 0.7em;
	border-radius: 100vmax;
	background: #6CB4A4;
	top: 11px;
	left: 0;
	border: none;
}
@media (min-width: 768px) {
	.family__message-subtitle:before {
		top: 15px;
	}
}
.family__message-subtitle::after {
	display: none;
}

.family__message-content {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.family__message-block {
	margin-top: 30px;
	width: 100%;
}
@media (min-width: 768px) {
	.family__message-block {
		margin-top: 0;
	}
}

.family__message-box:not(:first-child) {
	margin-top: 50px;
}
@media (min-width: 768px) {
	.family__message-box.--text1 {
		width: 64%;
	}
}

.family__message-img {
	position: relative;
	max-width: 480px;
	width: 100%;
}
@media (min-width: 768px) {
	.family__message-img {
		position: absolute;
		top: 0;
		right: 0;
		width: 34%;
		max-width: none;
	}
}
.family__message-img img {
	width: 100%;
	height: auto;
	-o-object-fit: contain;
	object-fit: contain;
}

/*==============================================================================
# pro
==============================================================================*/
.pro__intro-content {
	background: #fff;
	border-radius: 30px;
	padding: 20px;
	-webkit-box-shadow: 0px 0px 30px 0px rgba(255, 133, 77, 0.2);
    box-shadow: 0px 0px 30px 0px rgba(255, 133, 77, 0.2);
}
@media (min-width: 768px) {
	.pro__intro-content {
		padding: 40px;
	}
}

.pro__intro-info {
	text-align: right;
}

.pro__info-parts:not(:first-child) {
	margin-top: 30px;
}
@media (min-width: 768px) {
	.pro__info-parts:not(:first-child) {
		margin-top: 50px;
	}
}

.pro__info-parts-title {
	padding-bottom: 0;
	color: inherit;
	padding-left: 1em;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: left;
	font-size: 20px;
}
@media (min-width: 768px) {
	.pro__info-parts-title {
		font-size: 28px;
	}
}
.pro__info-parts-title::after {
	display: none;
}
.pro__info-parts-title:before {
	position: absolute;
	content: "";
	width: 0.7em;
	height: 0.7em;
	border-radius: 100vmax;
	background: #6CB4A4;
	top: 11px;
	left: 0;
	border: none;
}
@media (min-width: 768px) {
	.pro__info-parts-title:before {
		top: 15px;
	}
}

.pro__info-parts-text a {
	font-weight: inherit;
	text-decoration: underline;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media (any-hover: hover) {
	.pro__info-parts-text a:hover {
		opacity: 0.7;
	}
}

.pro__info-parts-subtitle {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 10px;
	font-size: 20px;
	margin-top: 32px;
}

.pro__info-parts-img {
	margin-block: 40px;
}
.pro__info-parts-img img {
	max-width: 500px;
	width: 100%;
}

.family-table {
	max-width: 1000px;
	width: 100%;
	margin-top: 40px;
}
.family-table th {
	color: #fff;
	font-weight: 500;
	font-size: 18px;
}
.family-table th,
.family-table td {
	vertical-align: middle;
}
.family-table th a,
.family-table td a {
	font-weight: inherit;
	text-decoration: underline;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media (any-hover: hover) {
	.family-table th a:hover,
	.family-table td a:hover {
		opacity: 0.7;
	}
}
@media (max-width: 767.9px) {
	.family-table tr,
	.family-table th,
	.family-table td {
		display: block;
	}
}
@media (max-width: 767.9px) {
	.family-table tr:not(:first-child) {
		margin-top: 20px;
	}
}

.bad-word {
	background: #ff686b;
	padding: 10px;
}
@media (min-width: 768px) {
	.bad-word {
		width: 36%;
	}
}

.good-word {
	background-color: #6CB4A4;
	padding: 10px;
}
@media (min-width: 768px) {
	.good-word {
		width: 36%;
	}
}

.table__head {
	background: #655452;
	padding: 10px;
}
@media (min-width: 768px) {
	.table__head {
		width: 28%;
	}
}

.table__data {
	padding: 10px;
	background: #fff;
	font-weight: 500;
}
.table__data span {
	font-weight: inherit;
	margin-left: 1rem;
	display: inline-block;
	margin-top: 8px;
}

/*==============================================================================
# privacy
==============================================================================*/
.privacy-disclosure__inner {
	position: relative;
}
.privacy-disclosure__inner::after {
	position: absolute;
	content: "";
	background: url(../assets/img/clover-deco.png) no-repeat center center/contain;
	right: -50px;
	top: -120px;
	width: clamp(7.5rem, 6.7857142857rem + 3.5714285714vw, 10rem);
	height: clamp(7.5rem, 6.7857142857rem + 3.5714285714vw, 10rem);
}

/*==============================================================================
# link
==============================================================================*/
.link-copyright.--copyright .link-copyright__inner {
	position: relative;
}
.link-copyright.--copyright .link-copyright__inner::after {
	position: absolute;
	content: "";
	background: url(../assets/img/clover-deco.png) no-repeat center center/contain;
	right: -50px;
	top: -120px;
	width: clamp(7.5rem, 6.7857142857rem + 3.5714285714vw, 10rem);
	height: clamp(7.5rem, 6.7857142857rem + 3.5714285714vw, 10rem);
}

/*==============================================================================
# Foundation
==============================================================================*/
/*==============================================================================
# membership-info
==============================================================================*/
.membership-info__buttons {
	padding-block: 70px;
}
@media (min-width: 768px) {
	.membership-info__buttons {
		padding-block: 90px;
	}
}
.membership-info__buttons.section--bg {
	background: url(../assets/img/memder-page-bg.jpg) repeat left top/100%;
}
@media (min-width: 768px) {
	.membership-info__buttons.section--bg {
		background-size: 50%;
	}
}

.membership-info__buttons-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
@media (min-width: 768px) {
	.membership-info__buttons-content {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		gap: 0;
	}
}

.membership-info__buttons-title {
	font-size: clamp(1.375rem, 1.1964285714rem + 0.8928571429vw, 2rem);
	text-align: center;
	margin-bottom: 50px;
}
@media (min-width: 768px) {
	.membership-info__buttons-title {
		margin-bottom: 70px;
	}
}

.common-button2.--support {
	background: #fff;
	border: 1px solid #00A000;
	color: #00A000;
}
@media (any-hover: hover) {
	.common-button2.--support:hover {
		background: #00A000;
		color: #fff;
	}
}

.membership-info__regular {
	background: #e7fbe8;
}

.membership-info__regular-title {
	position: relative;
	z-index: 0;
}

.membership-info__regular-block .membership-info__regular-box:nth-of-type(n + 2) {
	margin-top: 50px;
}
.membership-info__regular-block .membership-info__regular-text:last-of-type {
	margin-bottom: 50px;
}

.membership-info__regular-subtitle {
	color: inherit;
	font-size: clamp(1.25rem, 1.1071428571rem + 0.7142857143vw, 1.75rem);
	padding-bottom: 0;
	padding-left: 2rem;
	position: relative;
	text-align: left;
}
.membership-info__regular-subtitle:before {
	width: 10px;
	height: 10px;
	border-radius: 100vmax;
	background: #FF854D;
	position: absolute;
	content: "";
	top: calc(50% + 1px);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 10px;
}
.membership-info__regular-subtitle::after {
	display: none;
}

.membership-info__regular-list {
	font-size: 18px;
}

.membership-info__regular-item {
	font-weight: 500;
	line-height: 200%;
}

.membership-info__support-block .membership-info__support-box:nth-of-type(n + 2) {
	margin-top: 50px;
}
.membership-info__support-block .membership-info__support-text:last-of-type {
	margin-bottom: 50px;
}

.membership-info__support-subtitle {
	color: inherit;
	font-size: clamp(1.25rem, 1.1071428571rem + 0.7142857143vw, 1.75rem);
	padding-bottom: 0;
	padding-left: 2rem;
	position: relative;
	text-align: left;
}
.membership-info__support-subtitle:before {
	width: 10px;
	height: 10px;
	border-radius: 100vmax;
	background: #FF854D;
	position: absolute;
	content: "";
	top: calc(50% + 1px);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 10px;
}
.membership-info__support-subtitle::after {
	display: none;
}

.membership-info__support-list {
	font-size: 18px;
}

.membership-info__support-item {
	font-weight: 500;
	line-height: 200%;
}

.membership-info__regular-block.--form {
	margin-top: 100px;
}

.membership-info__support-block.--form {
	margin-top: 100px;
}

/*==============================================================================
# Foundation
==============================================================================*/
/*==============================================================================
# member-page
==============================================================================*/
.member-page {
	padding-top: 100px;
}

.log-out-button__inner {
	text-align: end;
}

.log-out-button__link {
	background: #454545;
	border-radius: 100vmax;
	color: #fff;
	font-weight: 500;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 4px 20px;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media (any-hover: hover) {
	.log-out-button__link:hover {
		opacity: 0.7;
	}
}

.member-page__banner {
	text-align: center;
	margin-top: 70px;
}

.member-page__contact-info-title {
	color: #00A000;
	font-size: clamp(1.25rem, 1.1071428571rem + 0.7142857143vw, 1.75rem);
	font-weight: 700;
	text-align: center;
	margin-bottom: 40px;
}

.member-page__contact-info-parts {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 8px;
}
.member-page__contact-info-parts:not(:first-child) {
	margin-top: 20px;
}
@media (min-width: 768px) {
	.member-page__contact-info-parts:not(:first-child) {
		margin-top: 40px;
	}
}

.member-page__contact-info-link {
	font-size: 20px;
	font-weight: 500;
	text-decoration: underline;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media (min-width: 768px) {
	.member-page__contact-info-link {
		font-size: 28px;
	}
}
@media (any-hover: hover) {
	.member-page__contact-info-link:hover {
		opacity: 0.7;
	}
}

.member-page__contact-info-tel .member-page__contact-info-link {
	pointer-events: auto;
}
@media (min-width: 768px) {
	.member-page__contact-info-tel .member-page__contact-info-link {
		pointer-events: none;
		text-decoration: none;
	}
}

/* ================================
本題のCSS
=============================== */
.member-page__report-inner {
	margin-inline: auto;
}

.member-page__report-tablist {
	gap: 16px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	width: 100%;
	max-width: 500px;
	margin-inline: auto;
}
@media (min-width: 600px) {
	.member-page__report-tablist {
		grid-template-columns: repeat(3, 1fr);
	}
}

.member-page__report-tab {
	font-size: 18px;
	line-height: normal;
	min-width: 130px;
	text-align: center;
	border-radius: 8px;
	padding: 10px 22px;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	color: #fff;
	font-weight: 500;
}

@media (any-hover: hover) {
	.member-page__report-tab:hover {
		opacity: 0.7;
		cursor: pointer;
	}
}

.--all {
	background: #fff;
	border: 1px solid #797979;
	color: #797979;
}

.--event {
	background: #5cc16f;
}

.--consul {
	background: #3798ef;
}

.--independence {
	background: #fd83a5;
}

.--square {
	background: #ffb400;
}

.--past {
	background: #797979;
}

.member-page__report-contents {
	background: #fff;
	padding: 20px;
	border: 1px solid #483b35;
	margin-top: 40px;
	-webkit-box-shadow: 0 0px 10px 0 rgba(0, 0, 0, 0.1);
	box-shadow: 0 0px 10px 0 rgba(0, 0, 0, 0.1);
	height: 600px;
	scrollbar-color: #00A000 #f5f7f6;
	scrollbar-width: thick;
	overflow-y: scroll;
	border-radius: 3px;
}
@media (min-width: 768px) {
	.member-page__report-contents {
		-webkit-box-shadow: 0 0px 20px 0 rgba(0, 0, 0, 0.1);
		box-shadow: 0 0px 20px 0 rgba(0, 0, 0, 0.1);
		padding: 40px;
	}
}

.member-page__report-content {
	padding: 17px 9px;
	border-bottom: 4px dotted #00A000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 4px;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
@media (min-width: 768px) {
	.member-page__report-content {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		gap: 20px;
	}
}

.member-page__report-content-meta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-column-gap: 10px;
	-moz-column-gap: 10px;
	column-gap: 10px;
}

.member-page__report-content-time {
	font-weight: 500;
	margin-bottom: 0;
	font-size: 16px;
}

.member-page__report-content-category {
	padding: 3px 10px;
	min-width: 88px;
	text-align: center;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	background: #5cc16f;
	border-radius: 8px;
}

.member-page__report-content-text {
	line-height: normal;
}
.member-page__report-content-text a {
	font-weight: 500;
	text-decoration: underline;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	font-size: 16px;
}
@media (any-hover: hover) {
	.member-page__report-content-text a:hover {
		opacity: 0.7;
	}
}

.member-page__report-content-wrap {
	opacity: 0;
	visibility: hidden;
	height: 0;
	translate: 0 20px;
	-webkit-transition: opacity 1s ease, translate 0.5s ease;
	transition: opacity 1s ease, translate 0.5s ease;
}
.member-page__report-content-wrap.js-show {
	opacity: 1;
	visibility: visible;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	translate: 0;
}

.member-page__movie {
	background: url(../assets/img/memder-page-bg.jpg) repeat left top/100%;
	position: relative;
}
@media (min-width: 768px) {
	.member-page__movie {
		background-size: 50%;
	}
}
.member-page__movie::before {
	position: absolute;
	content: "";
	background: url(../assets/img/member-page-deco01.png) no-repeat center center/contain;
	width: clamp(7.5rem, 6.0714285714rem + 7.1428571429vw, 12.5rem);
	height: 200px;
	right: 6.94444vw;
	top: -100px;
}

.member-page__movie-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 4%;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
@media (min-width: 768px) {
	.member-page__movie-box {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
	}
}
.member-page__movie-box:not(:first-child) {
	margin-top: 40px;
}

.movie-article__video {
	width: 100%;
}
@media (min-width: 768px) {
	.movie-article__video {
		width: 48%;
	}
}
.movie-article__video iframe {
	border-radius: 20px;
	width: 100%;
	aspect-ratio: 4/3;
	height: auto;
}
@media (min-width: 768px) {
	.movie-article__video iframe {
		max-width: 480px;
	}
}

.movie-article__texts {
	width: 100%;
	margin-top: 10px;
}
@media (min-width: 768px) {
	.movie-article__texts {
		width: 48%;
		margin-top: 0;
	}
}

.movie-article__title {
	font-size: clamp(1.5rem, 1.4285714286rem + 0.3571428571vw, 1.75rem);
}

.movie-article__text {
	margin-top: 8px;
}
.movie-article__text p {
	margin-bottom: 0;
}
@media (min-width: 768px) {
	.movie-article__text {
		margin-top: 20px;
	}
}

.member-page__movie-toList {
	margin-top: 30px;
	text-align: center;
}
@media (min-width: 768px) {
	.member-page__movie-toList {
		margin-top: 50px;
	}
}

.member-page__schedule-content {
	position: relative;
}
.member-page__schedule-content::after {
	position: absolute;
	content: "";
	background: url(../assets/img/member-page-deco02.png) no-repeat center center/contain;
	left: 0;
	bottom: -160px;
	width: clamp(6.25rem, 4.4642857143rem + 8.9285714286vw, 12.5rem);
	height: 200px;
}
@media (min-width: 768px) {
	.member-page__schedule-content::after {
		bottom: -200px;
		left: -200px;
	}
}
.member-page__schedule-content iframe {
	width: 100%;
}

.log-out-button-bottom {
	text-align: center;
	border-top: 4px dotted #00A000;
	padding-top: 40px;
	padding-bottom: 80px;
	/* margin-top: 140px; */
	/* width: 100%; */
}

/*==============================================================================
# login
==============================================================================*/
.login {
	padding-top: 8rem;
}

.login__container {
	border-radius: 12px;
	background: #fff;
	-webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 20px;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	max-width: 450px;
	width: 100%;
	margin-inline: auto;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media (min-width: 768px) {
	.login__container {
		padding: 50px;
	}
}

.login__content {
	width: 100%;
}

.login__title {
	font-size: clamp(1.5rem, 1.3571428571rem + 0.7142857143vw, 2rem);
	text-align: center;
	font-weight: 700;
	margin-bottom: 40px;
}

.border-deco {
	border-bottom: 4px dotted #00A000;
	width: 100%;
}

/*==============================================================================
# flex-box
==============================================================================*/
.flex-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 40px;
	max-width: 1080px;
	margin-inline: auto;
}

.flex-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.flex-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/*==============================================================================
# gap
==============================================================================*/
.gap-8 {
	gap: 8vw;
}

.gap-4 {
	gap: 4vw;
}

/*==============================================================================
# margin
==============================================================================*/
.m0 {
	margin: 0 !important;
}

.mt0 {
	margin-top: 0 !important;
}

.mr0 {
	margin-right: 0 !important;
}

.mb0 {
	margin-bottom: 0 !important;
}

.ml0 {
	margin-left: 0 !important;
}

.m5 {
	margin: 5px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mr5 {
	margin-right: 5px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.ml5 {
	margin-left: 5px !important;
}

.m10 {
	margin: 10px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.m15 {
	margin: 15px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.m20 {
	margin: 20px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.m25 {
	margin: 25px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.m30 {
	margin: 30px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.m35 {
	margin: 35px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.m40 {
	margin: 40px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.m45 {
	margin: 45px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mr45 {
	margin-right: 45px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.ml45 {
	margin-left: 45px !important;
}

.m50 {
	margin: 50px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.m55 {
	margin: 55px !important;
}

.mt55 {
	margin-top: 55px !important;
}

.mr55 {
	margin-right: 55px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.ml55 {
	margin-left: 55px !important;
}

.m60 {
	margin: 60px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mr60 {
	margin-right: 60px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.ml60 {
	margin-left: 60px !important;
}

.m65 {
	margin: 65px !important;
}

.mt65 {
	margin-top: 65px !important;
}

.mr65 {
	margin-right: 65px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.ml65 {
	margin-left: 65px !important;
}

.m70 {
	margin: 70px !important;
}

.mr70 {
	margin-right: 70px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.ml70 {
	margin-left: 70px !important;
}

.m75 {
	margin: 75px !important;
}

.mt75 {
	margin-top: 75px !important;
}

.mr75 {
	margin-right: 75px !important;
}

.mb75 {
	margin-bottom: 75px !important;
}

.ml75 {
	margin-left: 75px !important;
}

.m80 {
	margin: 80px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mr80 {
	margin-right: 80px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.ml80 {
	margin-left: 80px !important;
}

.m100 {
	margin: 100px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mr100 {
	margin-right: 100px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.ml100 {
	margin-left: 100px !important;
}

/* WP-members css */
#wpmem_login {
	max-width: 480px;
	margin-inline: auto;
	width: 100% !important;
}
#wpmem_login form {
	font-family: "Zen Maru Gothic", serif !important;
}
#wpmem_login fieldset {
	margin: 0 !important;
}
.login_status{
	display: none;
}
.div_text {
	margin-bottom: 20px !important;
}
#rememberme {
	display: none;
}
label[for="rememberme"] {
	display: none !important;
}
#wpmem_login label {
	font-weight: 700;
}
#wpadminbar {
	display: none !important;
}
#wpmem_login legend {
	display: none;
}
html{
	margin-top: 0 !important;
}
#wpmem_login input[type="text"],
#wpmem_login input[type="password"]{
	border-radius: 8px !important;
	border: 1px solid #C1C1C1 !important;
	background: #F5F7F6 !important;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.10) inset;
	margin-top: 6px;
}
#wpmem_login input[type=submit] {
	border-radius: 12px;
	background: #00A000;
	box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.16);
	display: flex;
	padding: 12px 20px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	color: #fff;
	max-width: 220px;
	width: 100%;
	white-space: break-spaces;
	margin-inline: auto;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media (any-hover: hover) {
	#wpmem_login input[type=submit]:hover {
		opacity: 0.7;
	}
}
@media (min-width: 768px) {
	#wpmem_login input[type=submit] {
		padding: 12px 40px;
	}
}
#wpmem_restricted_msg {
	text-align: center;
	margin-top: 70px;
}

/* 投稿用css */
.cat-event {
	background: #00A000;
}
.cat-consultation {
	background: #3798EF;
}
.cat-independent {
	background: #FD83A5;
}
.cat-square {
	background: #FFB400;
}
.to-post-list {
	margin-top: 100px;
	text-align: center;
}
@media (min-width: 768px) {
	.to-post-list {
		margin-top: 140px;
	}
}
.post p{
	margin-bottom: 0;
}

/* 閲覧制限メッセージ */
.single-post__not-login {
	text-align: center;
	margin-top: 100px;
}
/* 会員専用ページh1タグ用 */
.visually-hidden {
	position: absolute;
	clip: rect(0 0 0 0);
	width: 1px;
	height: 1px;
	overflow: hidden;
}
/* 外部リンク */
.external-banners {
	margin-top: 48px;
}
.external-banners__title {
	font-size: 20px;
	font-weight: 600;
}
.external-banners__links{
	display: flex;
	gap: 8px;
	flex-direction: column;
	justify-content: center;
	margin-top: 24px;
}
@media (min-width: 768px) {
	.external-banners {
		margin-top: 64px;
	}
	.external-banners__title {
		text-align: center;
	}
	.external-banners__links{
		text-align: center;
	}
}
.external-banners__links a{
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	text-decoration: underline;
	font-weight: 600;
}
.external-banners a:hover {
	opacity: 0.7;
}
a.external-banners__link[target=_blank]:not(.noex)::after {
	background-color: #483B35;
}
/* 専門職の方へページのテーブルデザイン調整 */
.family-table {
	border-collapse: collapse;
}
.table__data {
	border: 1px solid #655452;
}
.table__head {
	border-top: 1px solid;
}
.family-table:first-of-type .table__data{
	border-top: none;
}
.bad-word, .good-word {
	border: 1px solid #655452;
}
/* jds岡山支部について　動画 */
.about__intro-movie {
	text-align: center;
	margin-top: 48px;
}
@media (min-width: 768px) {
	.about__intro-movie {
		margin-top: 70px;
	}
}
.about__intro-movie iframe {
	width: 100%;
	max-width: 600px;
	aspect-ratio: 16 / 9;
}
/* 会員専用ページ調整 */
.member-page__report-content-wrap {
  display: none;
}
.member-page__report-content-wrap.js-show {
  display: block;
}