@charset "UTF-8";

:root {
	--font-family-sans: FOT-筑紫B丸ゴシック Std R;
	--font-family-train: 'Swiss721BT-Heavy', sans-serif;
	--font-family-kiwi: FOT-筑紫B丸ゴシック Std B;
	--font-icon: "icomoon";
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-bold: 700;
	--contents-width: 1200px;
	--contents-width-sm: 1024px;
	--contents-width-lg: 1400px;
	--contents-width-xl: 1600px;
	--ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
	--ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
	--ease-in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
	--ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
	--ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
	--ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	--ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
	--ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
	--ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
	--ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
	--ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
	--ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
	--ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
	--ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
	--ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
	--ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
	--ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
	--ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
	--ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
	--ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
	--ease-in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
	--ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
	--ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	overflow-x: hidden;
}

body {
	font-family: var(--font-family-sans);
	font-size: 1.8rem;
	line-height: 1.8;
	color: #63452d;
	letter-spacing: 0.075em;
	background: #f7f6f0;
	overflow-x: hidden;
}

@media screen and (max-width: 750px) {
	body {
		font-size: 1.6rem;
	}
}

em {
	font-style: normal;
}

.wow {
	visibility: hidden;
}

.c-anchor {
	--header-height: 125px;
	--anchor-space: 20px;
	--cloud-height: 0px;
	padding-top: calc(var(--header-height) + var(--cloud-height) + var(--anchor-space));
	margin-top: calc((var(--header-height) + var(--cloud-height) + var(--anchor-space)) * -1);
}

@media screen and (max-width: 1000px) {
	.c-anchor {
		--header-height: 60px;
		--anchor-space: 0px;
		--cloud-height: 10vw;
	}
}

:where([data-theme-color=forest]) .c-bg-bubble--theme-alt,
:where([data-theme-color=sky]) .c-bg-bubble--theme,
.c-bg-bubble--blue {
	--base-color: #d8f0f2;
	--bubble-color: rgba(255, 255, 255, 0.8);
}

.c-bg-bubble--yellow {
	--base-color: #fef2ad;
	--bubble-color: white;
}

:where([data-theme-color=sky]) .c-bg-bubble--theme-alt,
:where([data-theme-color=forest]) .c-bg-bubble--theme,
.c-bg-bubble--green {
	--base-color: #dae8c8;
	--bubble-color: rgba(255, 255, 255, 0.75);
}

.c-bg-bubble--orange {
	--base-color: #fde5ca;
	--bubble-color: rgba(255, 255, 255, 0.85);
}

.c-bg-bubble {
	--bubble-size: 12px;
	--bubble-border-width: 1px;
	--bubble-gap: 2.75;
	--bubble-radius: var(--bubble-size) / 2;
	--radial-gradient: radial-gradient(transparent calc(var(--bubble-radius) - var(--bubble-border-width)),
			var(--bubble-color) calc(var(--bubble-radius) - var(--bubble-border-width)),
			var(--bubble-color) calc(var(--bubble-radius)),
			transparent calc(var(--bubble-radius)));
	--bg-size: var(--bubble-size) * (var(--bubble-gap) + 1);
	--bg-position: calc(var(--bg-size) / 2);
	background: url(../images/top/features/bg_01.png) no-repeat center center;
	background-size: cover;
}

:where([data-theme-color=forest]) .c-bg-dot--theme-alt,
:where([data-theme-color=sky]) .c-bg-dot--theme,
.c-bg-dot--blue {
	--base-color: #cbf1f5;
	--dot-color: #b8ebf1;
}

:where([data-theme-color=forest]) .c-bg-dot--theme-alt:where(.c-bg-dot--reversed),
:where([data-theme-color=sky]) .c-bg-dot--theme:where(.c-bg-dot--reversed),
.c-bg-dot--blue:where(.c-bg-dot--reversed) {
	--base-color: #cfeef1;
	--dot-color: #e8f9fa;
}

:where([data-theme-color=forest]) .c-bg-dot--theme-alt:where(.c-bg-dot--skelton),
:where([data-theme-color=sky]) .c-bg-dot--theme:where(.c-bg-dot--skelton),
.c-bg-dot--blue:where(.c-bg-dot--skelton) {
	--base-color: transparent;
	--dot-color: #dcf1fd;
}

.c-bg-dot--yellow {
	--base-color: #fef3b3;
	--dot-color: #fded8c;
}

.c-bg-dot--yellow:where(.c-bg-dot--reversed) {
	--base-color: #fdef99;
	--dot-color: #fef7cc;
}

.c-bg-dot--yellow:where(.c-bg-dot--skelton) {
	--base-color: transparent;
	--dot-color: #feeecb;
}

:where([data-theme-color=sky]) .c-bg-dot--theme-alt,
:where([data-theme-color=forest]) .c-bg-dot--theme,
.c-bg-dot--green {
	--base-color: #dcefc8;
	--dot-color: #cfe8b4;
}

:where([data-theme-color=sky]) .c-bg-dot--theme-alt:where(.c-bg-dot--reversed),
:where([data-theme-color=forest]) .c-bg-dot--theme:where(.c-bg-dot--reversed),
.c-bg-dot--green:where(.c-bg-dot--reversed) {
	--base-color: #d3ebbb;
	--dot-color: #e7f4da;
}

:where([data-theme-color=sky]) .c-bg-dot--theme-alt:where(.c-bg-dot--skelton),
:where([data-theme-color=forest]) .c-bg-dot--theme:where(.c-bg-dot--skelton),
.c-bg-dot--green:where(.c-bg-dot--skelton) {
	--base-color: transparent;
	--dot-color: #e5eed7;
}

.c-bg-dot--orange {
	--base-color: #fde3c7;
	--dot-color: #fcdbb6;
}

.c-bg-dot--orange:where(.c-bg-dot--reversed) {
	--base-color: #fddfbd;
	--dot-color: #fef0e0;
}

.c-bg-dot--orange:where(.c-bg-dot--skelton) {
	--base-color: transparent;
	--dot-color: #f9e4d5;
}

.c-bg-dot {
	--dot-size: 8px;
	--dot-gap: 1.5;
	--dot-radius: var(--dot-size) / 2;
	--radial-gradient: radial-gradient(var(--dot-color) calc(var(--dot-radius)),
			transparent calc(var(--dot-radius)),
			transparent);
	--bg-size: var(--dot-size) * (var(--dot-gap) + 1);
	--bg-position: calc(var(--bg-size) / 2);
	background-color: var(--base-color, transparent);
	background-image: var(--radial-gradient), var(--radial-gradient);
	background-position: 0 0, var(--bg-position) var(--bg-position);
	background-size: calc(var(--bg-size)) calc(var(--bg-size));
}

.c-bg-dot--sparse {
	--dot-gap: 2;
}

.c-bg-dot--lg {
	--dot-size: 12px;
}

:where([data-theme-color=forest]) .c-bg-stripe--theme-alt,
:where([data-theme-color=sky]) .c-bg-stripe--theme,
.c-bg-stripe--blue {
	--base-color: #e7f6f8;
	--stripe-color: #dcf1f3;
}

.c-bg-stripe--yellow {
	--base-color: #faf4d0;
	--stripe-color: #f9f0bf;
}

:where([data-theme-color=sky]) .c-bg-stripe--theme-alt,
:where([data-theme-color=forest]) .c-bg-stripe--theme,
.c-bg-stripe--green {
	--base-color: #edf4e7;
	--stripe-color: #e5efda;
}

.c-bg-stripe--orange {
	--base-color: #fcf4ea;
	--stripe-color: #fbeee0;
}

.c-bg-stripe {
	--stripe-width: 8px;
	background: repeating-linear-gradient(var(--stripe-direction, -45deg), var(--stripe-color), var(--stripe-color) var(--stripe-width), var(--base-color) var(--stripe-width), var(--base-color) calc(var(--stripe-width) * 2));
}

.c-bg-stripe--lg {
	--stripe-width: 12px;
}

.c-button01 {
	--color: #52bbf7;
	position: relative;
	display: block;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 180px;
	font-size: 18px;
	text-align: center;
	background: #fff;
	border-radius: 50%;
	transition: background 0.3s, border-color 0.3s;
}

:where([data-theme-color=forest]) .c-button01 {
	--color: #2f7627;
}

@media screen and (max-width: 750px) {
	.c-button01 {
		height: 46px;
		border-radius: 100px;
	}
}

.c-button01::after {
	position: absolute;
	top: 50%;
	right: 15px;
	font-family: var(--font-icon);
	content: "\e906";
	transition: color 0.3s;
	transform: translateY(-50%);
}

.c-button01 span {
	padding: 0 10px 5px;
	color: #233d4f;
	border-bottom: 1px solid;
	transition: color 0.3s, border-color;
}

@media screen and (max-width: 750px) {
	.c-button01 span {
		padding: 0;
		border-bottom-width: 0;
	}
}

.c-button01:not(:hover)::after {
	color: var(--color);
}

.c-button01:not(:hover) span {
	border-color: var(--color);
}

.c-button01:hover {
	background: var(--color);
}

.c-button01:hover::after,
.c-button01:hover span {
	color: #fff;
}

.c-button01--square {
	height: auto;
	padding: 10px;
	background: transparent;
	border-radius: 10px;
}

.c-button01--square span {
	flex: 1;
	padding-right: 20px;
	padding-left: 20px;
}

@media screen and (max-width: 750px) {
	.c-button01--square span {
		padding: 0;
		border-bottom-width: 1px;
	}
}

:where([data-theme-color=forest]) .c-button02--theme-alt,
:where([data-theme-color=sky]) .c-button02--theme,
.c-button02--blue {
	--border-color: #67b6db;
	--active-color: #67b6db;
}

.c-button02--yellow {
	--border-color: #fbc750;
	--active-color: #fbc750;
}

:where([data-theme-color=sky]) .c-button02--theme-alt,
:where([data-theme-color=forest]) .c-button02--theme,
.c-button02--green {
	--border-color: #6ca223;
	--active-color: #6ca223;
}

.c-button02--orange {
	--border-color: #e58e50;
	--active-color: #e58e50;
}

.c-button02 {
	--arrow-position: 0.7em;
	position: relative;
	display: block;
	width: fit-content;
	min-width: 196px;
	padding: 1em 1.5em;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	font-size: 1.8rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
}

@media screen and (max-width: 750px) {
	.c-button02 {
		min-width: 153px;
	}
}

.c-button02::before,
.c-button02::after {
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 27px;
	position: absolute;
	left: 0;
	transition: all 0.5s;
}

.c-button02::before {
	bottom: 0;
	background: #ef9e1d;
	background: linear-gradient(45deg, rgba(239, 158, 29, 1) 0%, rgba(249, 127, 107, 1) 76%);
}

.c-button02::after {
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	left: 2px;
	bottom: 2px;
	background: #fff;
	transition: all 0.5s;
}

.c-button02:hover::after {
	opacity: 0;
}

.c-button02 span {
	background: linear-gradient(90deg, #ef9e1d 0%, #f97f6b 76%);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	position: relative;
	z-index: 1;
}

.c-button02:hover span {
	color: #fff;
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	-webkit-text-fill-color: currentcolor;
	text-fill-color: currentcolor;
}

.c-card01--orange,
:where([data-theme-color=sky]) .c-card01--theme-alt,
:where([data-theme-color=forest]) .c-card01--theme,
.c-card01--green,
.c-card01--yellow,
:where([data-theme-color=forest]) .c-card01--theme-alt,
:where([data-theme-color=sky]) .c-card01--theme,
.c-card01--blue {
	background-color: var(--base-color);
	background-image: radial-gradient(var(--dot-color) 3px, transparent 5px), radial-gradient(var(--dot-color) 3px, transparent 5px);
	background-position: 0 0, 10px 10px;
	background-size: 20px 20px;
}

:where([data-theme-color=forest]) .c-card01--theme-alt,
:where([data-theme-color=sky]) .c-card01--theme,
.c-card01--blue {
	--base-color: #e2f4f6;
	--dot-color: #d6eff2;
}

.c-card01--yellow {
	--base-color: #fef3b3;
	--dot-color: #fded8c;
}

:where([data-theme-color=sky]) .c-card01--theme-alt,
:where([data-theme-color=forest]) .c-card01--theme,
.c-card01--green {
	--base-color: #dcefc8;
	--dot-color: #cfe8b4;
}

.c-card01 {
	padding: 60px 55px;
	border-radius: 40px;
	background: #fff;
}

@media screen and (max-width: 575px) {
	.c-card01 {
		padding: 30px 4vw;
	}
}

.c-card01--orange {
	background: linear-gradient(to right, rgb(253, 239, 232) 0%, rgb(255, 248, 209) 100%);
}

.c-card01--thin {
	padding: 30px;
}

@media screen and (max-width: 575px) {
	.c-card01--thin {
		padding: 20px;
	}
}

.c-card01--paper {
	background: url("../images/common/bg_paper_01.jpg");
}

.c-card01--no-bg {
	--background: none;
}

.c-card01--no-radius {
	border-radius: 0;
}

:where([data-theme-color=forest]) .c-card02--theme-alt,
:where([data-theme-color=sky]) .c-card02--theme,
.c-card02--blue {
	--heading-color: #40b5cc;
}

.c-card02--yellow {
	--heading-color: #fbd700;
}

:where([data-theme-color=sky]) .c-card02--theme-alt,
:where([data-theme-color=forest]) .c-card02--theme,
.c-card02--green {
	--heading-color: #75c248;
}

.c-card02--orange {
	--heading-color: #e58e50;
}

.c-card02 {
	--bg-color: #fff;
	--border-width: 4px;
	container-type: inline-size;
}

.c-card02--outline {
	--bg-color: transparent;
}

.c-card02__inner {
	position: relative;
	z-index: 1;
	padding: 60px 100px;
	background: #fff;
	background-color: var(--bg-color);
}

@container (max-width: 1200px) {
	.c-card02__inner {
		padding: 40px 6cqw;
	}
}

@container (max-width: 575px) {
	.c-card02__inner {
		padding: 30px 4cqw;
	}
}

.c-card02__inner + .c-card02__cloud {
	margin-top: calc((var(--border-width) + 0.1px) * -1);
	transform: rotate(180deg);
}

.c-card03 {
	--top-radius: 130px;
	--bottom-radius: 40px;
	padding: 100px 0;
	overflow: hidden;
	background: url(../images/top/features/bg_01.png) no-repeat center center;
	background-size: cover;
	border-radius: var(--top-radius) var(--top-radius) var(--bottom-radius) var(--bottom-radius);
}

@media screen and (max-width: 750px) {
	.c-card03 {
		--top-radius: 60px;
		--bottom-radius: 20px;
		padding: 50px 0;
	}
}

.c-card04 {
	--border-width: 3px;
	--bg-color: #fff;
	--stroke: transparent;
	position: relative;
	container-type: inline-size;
}

.c-card04::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: var(--border-width);
	content: "";
	background-image: var(--border-color);
}

.c-card04--outline {
	--bg-color: transparent;
}

.c-card04--gradation {
	--border-color: linear-gradient(to right, #6fbbf7 0%, #83cfee, #99d8aa);
	--stroke: url("#svg-cloud04-gradient");
}

.c-card04__cloud {
	position: relative;
	display: block;
	max-width: 100%;
	margin-bottom: calc(var(--border-width) * -1);
	overflow: hidden;
}

.c-card04__cloud > svg {
	position: relative;
	left: 50%;
	display: block;
	width: 1200px;
	aspect-ratio: 8.2/1;
	fill: var(--bg-color);
	stroke: var(--stroke);
	stroke-width: var(--border-width);
	transform: translateX(-50%);
}

@container (min-width: 1200px) {
	.c-card04__cloud > svg {
		width: 100%;
	}
}

@container (max-width: 750px) {
	.c-card04__cloud > svg {
		width: 1000px;
	}
}

@container (max-width: 575px) {
	.c-card04__cloud > svg {
		width: 200cqw;
	}
}

.c-card04__inner {
	padding: 0 60px 80px;
	background-color: var(--bg-color);
}

@container (max-width: 750px) {
	.c-card04__inner {
		padding: 0 30px 60px;
	}
}

.c-card04__header {
	position: relative;
	transform: translateY(-40px);
}

@container (max-width: 750px) {
	.c-card04__header {
		transform: translateY(-20px);
	}
}

.c-career-list:where([data-list-type=career]) {
	list-style: none;
}

.c-career-list:where([data-list-type=simple]) {
	padding-left: 1.5em;
	list-style: outside disc;
}

.c-career-list__item:is([data-list-type=career] > *) {
	display: flex;
	flex-wrap: nowrap;
	column-gap: 1.5em;
}

@media screen and (max-width: 575px) {
	.c-career-list__item:is([data-list-type=career] > *) {
		column-gap: 1em;
	}
}

.c-career-list__date {
	flex-shrink: 0;
}

.c-check-list {
	--prefix: "✓";
	--prefix-color: #52bbf7;
	font-size: 24px;
	list-style: none;
}

@media screen and (max-width: 575px) {
	.c-check-list {
		font-size: 20px;
	}
}

.c-check-list--md {
	font-size: 19px;
}

@media screen and (max-width: 575px) {
	.c-check-list--md {
		font-size: 17px;
	}
}

.c-check-list {
	--prefix-color: inherit;
}

.c-check-list__item {
	position: relative;
	padding-left: 1.3em;
	font-family: var(--font-family-kiwi);
}

.c-check-list__item::before {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--prefix-color);
	content: var(--prefix);
}

.c-check-list--orange .c-check-list__item::before {
	color: #ff931e;
}

.c-check-list--blue .c-check-list__item::before {
	color: #4b8ea1;
}

.c-check-list--dot {
	--prefix: "・";
}

.c-check-list--note {
	--prefix: "※";
}

:where([data-theme-color=forest]) .c-clipboard--theme-alt,
.c-clipboard--theme,
.c-clipboard--blue {
	--top-color: #b3e1eb;
	--bottom-color: #e4f5f8;
}

.c-clipboard--yellow {
	--top-color: #fdef99;
	--bottom-color: #fef6c4;
}

.c-clipboard--theme-alt,
:where([data-theme-color=forest]) .c-clipboard--theme,
.c-clipboard--green {
	--top-color: #d5ebb1;
	--bottom-color: #edf6de;
}

.c-clipboard--orange {
	--top-color: #f5d2b9;
	--bottom-color: #fae8dc;
}

.c-clipboard {
	--head-size: 272px;
	--head-max-size: 65%;
	--padding-y: 60px;
	--padding-x: 60px;
	--radius: 70px;
	container-type: inline-size;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.c-clipboard__head {
	position: relative;
	z-index: 0;
	display: block;
	width: var(--head-size);
	max-width: var(--head-max-size);
	aspect-ratio: 3.1/1;
	margin-right: auto;
	margin-bottom: -1px;
	margin-left: auto;
	fill: var(--top-color);
}

.c-clipboard__body {
	position: relative;
	z-index: 1;
	padding: var(--padding-y) var(--padding-x);
	background-image: linear-gradient(to bottom, var(--top-color), var(--bottom-color));
	border-radius: var(--radius);
}

@container (max-width: 500px) {
	.c-clipboard__body {
		--padding-y: 24px;
		--padding-x: 24px;
		--radius: 30px;
	}
}

.c-clipboard__header {
	--dot-size: 7px;
	--dot-color: #fff;
	--dot-space: 1;
	position: relative;
	padding-bottom: 32px;
	margin: calc(var(--padding-y) * -1) calc(var(--dot-size) * -1) 32px;
	text-align: center;
}

.c-clipboard__header::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: var(--dot-size);
	content: "";
	background: radial-gradient(circle farthest-side, var(--dot-color), var(--dot-color) calc(100% / (var(--dot-space) + 1)), transparent calc(100% / (var(--dot-space) + 1)));
	background-size: calc(var(--dot-size) * (var(--dot-space) + 1));
}

.c-data-list {
	line-height: 2;
}

@media screen and (max-width: 750px) {
	.c-data-list {
		font-size: 1.4rem;
	}
}

.c-data-list__item {
	display: flex;
	padding-bottom: 10px;
	background: url(../images/common/line_09.png) no-repeat left bottom;
	background-size: 100%;
}

.c-data-list__item:last-child {
	padding-bottom: 0;
	background: none;
}

.c-data-list__name {
	width: 130px;
	white-space: nowrap;
	padding: 10px;
}

.c-data-list__content {
	width: calc(100% - 150px);
	padding: 10px;
}

@media screen and (max-width: 750px) {
	.c-data-list__name {
		width: 6em;
	}

	.c-data-list__content {
		width: calc(100% - 6em);
	}
}

.c-data-list a,
.c-data-list a:hover {
	color: inherit;
	text-decoration: none;
}

.c-heading01 {
	text-align: center;
	line-height: 1;
	margin-bottom: 100px;
}

:where([data-theme-color=forest]) .c-heading01 {
	background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3) 12px, transparent 0, transparent 24px), linear-gradient(to bottom, rgba(186, 229, 126, 0.3), transparent);
}

@media screen and (max-width: 750px) {
	.c-heading01 {
		margin-bottom: 60px;
	}
}

@media screen and (max-width: 575px) {
	.c-heading01 {
		font-size: 7vw;
	}
}

.c-heading01 span:first-child {
	font-size: 15.8rem;
	font-family: var(--font-family-train);
	color: rgba(214, 193, 178, 0.17);
}

.c-heading01 span:last-child {
	font-size: 6.4rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	display: block;
	margin-top: -60px;
}

@media screen and (max-width: 750px) {
	.c-heading01 span:first-child {
		font-size: 13.5vw;
	}

	.c-heading01 span:last-child {
		font-size: 10.13vw;
		margin-top: -6vw;
	}
}

.c-heading02 {
	font-size: 3.6rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	line-height: 1.4;
	position: relative;
	display: flex;
	flex-flow: column;
	text-align: center;
	z-index: 1;
}

@media screen and (max-width: 750px) {
	.c-heading02 {
		font-size: 2.4rem;
	}
}

.c-heading02::before {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 0;
	width: 100%;
	max-width: var(--contents-width-sm);
	height: 100%;
	content: "";
	background: radial-gradient(rgba(255, 255, 255, 0.3) 3px, transparent 5px), radial-gradient(rgba(255, 255, 255, 0.3) 3px, transparent 5px), linear-gradient(to bottom, var(--bg-color), transparent);
	background-position: 0 0, 10px 10px;
	background-size: 20px 20px, 20px 20px, auto;
	border-radius: 130px 130px 0 0;
	transform: translateX(-50%);
}

@media screen and (max-width: 750px) {
	.c-heading02::before {
		border-radius: 60px 60px 0 0;
	}
}

.c-heading02--full::before {
	max-width: initial;
}

.c-heading02--simple {
	min-height: initial;
}

.c-heading02--simple::before {
	content: none;
}

.c-heading02--no-radius::before {
	border-radius: 0;
}

.c-heading02--cloud {
	min-height: 314px;
}

@media screen and (max-width: 1000px) {
	.c-heading02--cloud {
		min-height: 280px;
	}
}

@media screen and (max-width: 575px) {
	.c-heading02--cloud {
		min-height: 60vw;
	}
}

.c-heading02--cloud::before {
	width: 100%;
	max-width: 565px;
	aspect-ratio: 1.8/1;
	clip-path: url("#clip_cloud02");
}

:where([data-theme-color=forest]) .c-heading02 {
	--bg-color: rgba(186, 229, 126, 0.3);
}

.c-heading02 span {
	position: relative;
	z-index: 1;
}

.c-heading02 span:first-child {
	color: rgba(214, 193, 178, 0.17);
	font-size: 15.8rem;
	font-family: var(--font-family-train);
	line-height: 1;
}

@media screen and (max-width: 750px) {
	.c-heading02 span:first-child {
		font-size: 7rem;
	}
}

@media screen and (max-width: 575px) {}

.c-heading02 span:last-child {
	margin-top: -50px;
}

@media screen and (max-width: 750px) {
	.c-heading02 span:last-child {
		margin-top: -30px;
	}
}

:where([data-theme-color=forest]) .c-heading03--theme-alt,
:where([data-theme-color=sky]) .c-heading03--theme,
.c-heading03--blue {
	--color: #52bbf7;
}

.c-heading03--yellow {
	--color: #fbd700;
}

:where([data-theme-color=sky]) .c-heading03--theme-alt,
:where([data-theme-color=forest]) .c-heading03--theme,
.c-heading03--green {
	--color: #75c248;
}

.c-heading03--orange {
	--color: #e58e50;
}

.c-heading03 {
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	font-family: var(--font-family-kiwi);
	font-size: 3.6rem;
	line-height: 1.5;
	letter-spacing: 0.3em;
}

@media screen and (max-width: 575px) {
	.c-heading03 {
		font-size: 7vw;
	}
}

.c-heading03 span:first-child {
	font-family: var(--font-family-train);
	font-size: 1.2em;
	color: #4b8ea;
	letter-spacing: 0.3em;
}

.c-heading03--md {
	font-size: 3rem;
}

:where([data-theme-color=forest]) .c-heading04--theme-alt,
:where([data-theme-color=sky]) .c-heading04--theme,
.c-heading04--blue {
	--border-color: #b3e1eb;
}

.c-heading04--yellow {
	--border-color: #fdef99;
}

:where([data-theme-color=sky]) .c-heading04--theme-alt,
:where([data-theme-color=forest]) .c-heading04--theme,
.c-heading04--green {
	--border-color: #cae6ad;
}

.c-heading04--orange {
	--border-color: #f5d2b9;
}

.c-heading04 {
	font-size: 2.6rem;
	font-family: var(--font-family-kiwi);
	text-align: center;
	line-height: 1.5;
	margin-bottom: 1em;
}

:where([data-theme-color=forest]) .c-heading05--theme-alt,
:where([data-theme-color=sky]) .c-heading05--theme,
.c-heading05--blue {
	--stripe-color2: rgba(126, 219, 229, 0.25);
}

.c-heading05--yellow {
	--stripe-color2: rgba(251, 215, 0, 0.3);
}

:where([data-theme-color=sky]) .c-heading05--theme-alt,
:where([data-theme-color=forest]) .c-heading05--theme,
.c-heading05--green {
	--stripe-color2: rgba(149, 204, 61, 0.25);
}

.c-heading05--orange {
	--stripe-color2: rgba(229, 142, 80, 0.25);
}

.c-heading05 {
	padding: 0.3em 1em;
	font-family: var(--font-family-kiwi);
	font-size: 2.8rem;
	background: #eee;
	background: repeating-linear-gradient(-45deg, var(--stripe-color2, rgba(103, 182, 219, 0.3)), var(--stripe-color2, rgba(103, 182, 219, 0.3)) var(--stripe-width, 6px), var(--stripe-color1, transparent) 0, var(--stripe-color1, transparent) calc(var(--stripe-width, 6px) * 2));
	border-radius: 10em;
}

@media screen and (max-width: 750px) {
	.c-heading05 {
		font-size: 2.4rem;
	}
}

:where([data-theme-color=forest]) .c-heading06--theme-alt,
:where([data-theme-color=sky]) .c-heading06--theme,
.c-heading06--blue {
	--color: #52bbf7;
}

.c-heading06--yellow {
	--color: #fbc750;
}

:where([data-theme-color=sky]) .c-heading06--theme-alt,
:where([data-theme-color=forest]) .c-heading06--theme,
.c-heading06--green {
	--color: #75c248;
}

.c-heading06--orange {
	--color: #e58e50;
}

.c-heading06 {
	font-family: var(--font-family-kiwi);
	font-size: 28px;
	color: var(--color);
}

@media screen and (max-width: 575px) {
	.c-heading06 {
		font-size: 22px;
	}
}

.c-heading06--md {
	font-size: 24px;
}

@media screen and (max-width: 575px) {
	.c-heading06--md {
		font-size: 19px;
	}
}

:where([data-theme-color=forest]) .c-heading07--theme-alt,
:where([data-theme-color=sky]) .c-heading07--theme,
.c-heading07--blue {
	background: url(../images/common/line_02.png) repeat-x left bottom;
}

.c-heading07--yellow {
	--border-color: #fbd700;
}

:where([data-theme-color=sky]) .c-heading07--theme-alt,
:where([data-theme-color=forest]) .c-heading07--theme,
.c-heading07--green {
	--border-color: #a7d676;
}

.c-heading07--orange {
	background: url(../images/common/line_01.png) repeat-x left bottom;
}

.c-heading07 {
	--border-width: 6px;
	position: relative;
	padding-bottom: 0.75em;
	margin-bottom: 30px;
	overflow: hidden;
	font-family: var(--font-family-kiwi);
	font-size: 2.8rem;
	line-height: 1.5;
	background-size: auto 10px;
}

@media screen and (max-width: 575px) {
	.c-heading07 {
		font-size: 2.5rem;
	}
}

.c-heading07::after {
	position: absolute;
	bottom: 0;
	left: -4px;
	width: 100%;
	height: var(--border-width);
	content: "";
	background: repeating-linear-gradient(-45deg, var(--border-color), var(--border-color) 2px, transparent 0, transparent 8px);
}

.c-heading08 {
	font-family: var(--font-family-kiwi);
	font-size: 3.6rem;
	line-height: 1.5;
	letter-spacing: 0.3em;
}

@media screen and (max-width: 575px) {
	.c-heading08 {
		font-size: 7vw;
	}
}

.c-heading08--md {
	font-size: 2.6rem;
}

.c-heading08--with-dot {
	--dot-color: #7edbe5;
	position: relative;
	padding-left: 1.5em;
}

:where([data-theme-color=forest]) .c-heading08--with-dot {
	--dot-color: #bae57e;
}

.c-heading08--with-dot::before {
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 1em;
	height: 1em;
	content: "";
	background: var(--dot-color);
	border-radius: 50%;
}

.c-image {
	max-width: 100%;
	height: auto;
}

.c-image--rounded {
	border-radius: 70px;
}

@media screen and (max-width: 750px) {
	.c-image--rounded {
		border-radius: 30px;
	}
}

.c-image--rounded-md {
	border-radius: 40px;
}

@media screen and (max-width: 750px) {
	.c-image--rounded-md {
		border-radius: 20px;
	}
}

.c-image--rounded-sm {
	border-radius: 20px;
}

@media screen and (max-width: 750px) {
	.c-image--rounded-sm {
		border-radius: 12px;
	}
}

.c-image--circle {
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 50%;
}

.c-image--full {
	width: 100%;
}

.c-keep-word {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.c-list {
	font-size: 1.6rem;
	--prefix: "・";
	--padding: 1.3em;
	--prefix-color: inherit;
	list-style: none;
}

.c-list__item {
	position: relative;
	padding-left: var(--padding);
}

.c-list__item::before {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--prefix-color);
	content: var(--prefix);
}

.c-list--note--orange .c-list__item::before {
	color: #ff931e;
}

.c-list--note--blue .c-list__item::before {
	color: #4b8ea1;
}

.c-list--check {
	--prefix: "✓";
}

.c-list--note {
	--prefix: "※";
}

.c-list--ordered {
	--prefix: counter(list) ".";
	counter-reset: list;
}

.c-list--ordered .c-list__item {
	counter-increment: list;
}

.c-list--ordered.c-list--note {
	--prefix: "※"counter(list);
	--padding: 2.3em;
}

:where([data-theme-color=forest]) .c-menu-list--theme-alt,
:where([data-theme-color=sky]) .c-menu-list--theme,
.c-menu-list--blue {
	--border-color: #52bbf7;
	--arrow-color: #a8dde1;
}

.c-menu-list--yellow {
	--border-color: #fbc750;
	--arrow-color: #fbd700;
}

:where([data-theme-color=sky]) .c-menu-list--theme-alt,
:where([data-theme-color=forest]) .c-menu-list--theme,
.c-menu-list--green {
	--border-color: #6ca223;
	--arrow-color: #92cc40;
}

.c-menu-list--orange {
	--border-color: #e58e50;
	--arrow-color: #fbc78e;
}

.c-menu-list {
	--icon-size: 3.2em;
	--column-count: 4;
	--column-gap: 40px;
	--row-gap: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--row-gap) var(--column-gap);
	align-items: flex-end;
	justify-content: center;
}

@media screen and (max-width: 1280px) {
	.c-menu-list {
		--icon-size: 2.8em;
	}
}

@media screen and (max-width: 1000px) {
	.c-menu-list {
		--column-count: 3;
	}
}

@media screen and (max-width: 834px) {
	.c-menu-list {
		--column-gap: 20px;
		--icon-size: 2.7em;
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 750px) {
	.c-menu-list {
		--column-count: 2;
	}
}

@media screen and (max-width: 575px) {
	.c-menu-list {
		--icon-size: 2em;
	}
}

.c-menu-list__item {
	width: calc((100% - var(--column-gap) * (var(--column-count) - 1)) / var(--column-count));
	max-width: 90%;
}

.c-menu-list__link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 4em;
	padding: 0.2em 30px 0.2em 0;
	line-height: 1.2;
	border-bottom: 1px solid var(--border-color);
}

.c-menu-list__link::after {
	position: absolute;
	top: 50%;
	right: 15px;
	font-family: var(--font-icon);
	color: var(--arrow-color);
	content: "\e908";
	transition: all 0.3s var(--ease-out-expo);
	transform: translateY(-50%);
}

.c-menu-list__link:hover::after {
	transform: translateY(-25%);
}

.c-menu-list__icon {
	position: absolute;
	top: 50%;
	left: 0;
	width: var(--icon-size);
	aspect-ratio: 1/1;
	object-fit: contain;
	transform: translateY(-50%);
}

.c-menu-list__text {
	padding-left: 20px;
}

.c-menu-list__icon + .c-menu-list__text {
	padding-left: calc(var(--icon-size) + 10px);
}

.c-number-badge {
	--badge-size: 130;
	--text-size: 22;
	--gap: 1.2;
	--text-area-size: (var(--badge-size) + (var(--text-size) * var(--gap)) * 2);
	--degree: (var(--text-size) / var(--badge-size) * 85);
	position: relative;
	display: inline-block;
	font-family: var(--font-family-train);
}

.c-number-badge--inside {
	--text-area-size: (var(--badge-size) - var(--text-size) * (var(--gap) - 1));
}

.c-number-badge--middle {
	--text-area-size: (var(--badge-size) + var(--text-size));
}

@media screen and (max-width: 1000px) {
	.c-number-badge {
		--badge-size: 90;
		--text-size: 18;
	}
}

@media screen and (max-width: 750px) {
	.c-number-badge {
		--badge-size: 75;
		--text-size: 15;
	}
}

.c-number-badge__text {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	box-sizing: content-box;
	display: block;
	width: calc(var(--text-area-size) * 1px);
	height: calc(var(--text-area-size) * 1px);
	font-size: calc(var(--text-size) * 1px);
	line-height: 1;
	transform-origin: center center;
	translate: -50% -50%;
}

.c-number-badge__text > span {
	position: absolute;
	top: 0;
	left: 50%;
	display: inline-block;
	width: calc(var(--text-size) * 1px);
	height: 50%;
	text-align: center;
	transform-origin: center bottom;
	rotate: calc(var(--i) * var(--degree) * 1deg);
	translate: -50%;
}

:where(.c-number-badge--center) .c-number-badge__text > span {
	rotate: calc((var(--i) - (var(--length) - 1) / 2) * var(--degree) * 1deg);
}

.c-number-badge__number {
	position: relative;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--badge-size) * 1px);
	height: calc(var(--badge-size) * 1px);
	font-size: clamp(15px, var(--badge-size) * 0.5px, 100px);
	line-height: 1;
	border-radius: 50%;
	color: #fff;
}

.c-number-badge__number.c-bg-dot--blue {
	background: linear-gradient(45deg, rgba(89, 194, 225, 0.8) 0%, rgba(192, 215, 110, 0.8) 50%, rgba(89, 194, 225, 0.8) 100%);
	background-size: 200% 200%;
	background-position: right top;
	background-repeat: no-repeat;
}

.c-number-badge__number.c-bg-dot--orange {
	background: linear-gradient(45deg, rgba(243, 168, 125, 0.8) 0%, rgba(255, 216, 0, 0.8) 100%);
}

.c-paragraph {
	line-height: 2;
}

:where(.c-paragraph + .c-paragraph) {
	margin-top: 1em;
}

.c-signature {
	--position-size: 1.8rem;
	--name-size: 2.7rem;
	--ruby-size: 0.5em;
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--position-size);
	align-items: flex-end;
	line-height: 1;
	letter-spacing: 0.25em;
}

@media screen and (max-width: 1280px) {
	.c-signature {
		--name-size: 2.5rem;
	}
}

@media screen and (max-width: 575px) {
	.c-signature {
		--position-size: 1.4rem;
	}
}

.c-signature__position {
	font-size: var(--position-size);
	letter-spacing: 0.15em;
}

.c-signature__name {
	display: flex;
	column-gap: 0.3em;
	align-items: flex-end;
	font-family: var(--font-family-kiwi);
	font-size: var(--name-size);
}

.c-signature__name ruby {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	gap: 0.25em;
	align-items: center;
}

.c-signature__name ruby::before {
	--letter-spacing: 0.35em;
	margin-right: calc(var(--letter-spacing) * -0.5);
	font-size: 0.5em;
	font-size: var(--ruby-size);
	line-height: 1;
	text-align: center;
	letter-spacing: var(--letter-spacing);
	white-space: nowrap;
	content: attr(data-ruby);
}

.c-signature__name rt {
	display: none;
}

.c-sns {
	--inactive-color: currentcolor;
	--active-color: #ff931e;
	--color: var(--inactive-color);
	display: inline-flex;
	gap: var(--space, 1em);
	align-items: center;
	font-size: 28px;
}

.c-sns__link {
	box-sizing: content-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
	padding: 0.2em;
	transition: color 0.12s;
}

.c-sns__link:hover {
	color: var(--active-color);
}

.c-sns__link .icon-instagram img {
	max-width: 44px;
	transition: ease 0.3s;
}

.c-sns__link .icon-instagram img:hover {
	opacity: 0.7;
}

.c-table {
	color: #5e8490;
	font-family: FOT-筑紫B丸ゴシック Std M;
}

.c-table table {
	letter-spacing: 0;
	width: 100%;
	background: #fff;
	border-radius: 10px;
}

.c-table table th {
	font-weight: inherit;
	padding: 15px;
	text-align: center;
	vertical-align: middle;
}

.c-table table thead th {
	color: #fff;
	background: #4b8ea1;
}

.c-table table thead th:first-child {
	letter-spacing: 0.2em;
	width: 8em;
	border-radius: 10px 0 0 0;
}

.c-table table thead th:last-child {
	border-radius: 0 10px 0 0;
}

.c-table table tbody th:first-child {
	text-align: left;
	white-space: nowrap;
}

.c-table table td {
	padding: 15px 0;
	text-align: center;
	vertical-align: middle;
}

.c-table table tbody tr:last-child th {
	padding: 0 15px 15px;
}

.c-table table tbody tr:last-child td {
	padding: 0 0 15px;
}

.c-table__bottom {
	margin: 10px 20px 0;
}


@media screen and (max-width: 750px) {
	.c-table table th {
		padding: 10px;
	}

	.c-table table td {
		padding: 10px 0;
	}

	.c-table table tbody tr:last-child th {
		padding: 0 10px 10px;
	}

	.c-table table tbody tr:last-child td {
		padding: 0 0 10px;
	}

	.c-table__bottom {
		font-size: 1.4rem;
		margin: 10px 10px 0;
	}
}

@media screen and (max-width: 480px) {
	.c-table table {
		font-size: 3.8vw;
	}

	.c-table table th {
		padding: 2vw;
	}

	.c-table table td {
		padding: 2vw;
		0;
	}

	.c-table table tbody tr:last-child th {
		padding: 0 2vw 2vw;
	}

	.c-table table tbody tr:last-child td {
		padding: 0 0 2vw;
	}
}

.c-table02 {
	--cell-width: 200px;
	--border: 1px solid;
	--dash-border-color: rgba(168, 221, 225, 0.7);
	--dash-border-width: 2px;
	--dash-border-length: 7px;
	--dash-border-gap: 8px;
}

@media screen and (max-width: 1000px) {
	.c-table02 {
		overflow-x: scroll;
	}
}

.c-table02__tab {
	--bg-color: #cbf1f5;
	display: block;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	padding: 0 0.75em;
	background-color: var(--bg-color);
	background-image: radial-gradient(rgba(255, 255, 255, 0.3) 3px, transparent 5px), radial-gradient(rgba(255, 255, 255, 0.3) 3px, transparent 5px);
	background-position: 0 0, 10px 10px;
	background-size: 20px 20px;
	border-radius: 30px 30px 0 0;
}

.c-table02__tab--yellow {
	--bg-color: #fef3b3;
}

.c-table02__tab--blue {
	--bg-color: #cbf1f5;
}

.c-table02__tab--green {
	--bg-color: #dcefc8;
}

.c-table02__tab--orange {
	--bg-color: #fde9d2;
}

.c-table02 > table {
	min-width: 100%;
	table-layout: fixed;
}

.c-table02 > table th,
.c-table02 > table td {
	min-width: var(--cell-width);
}

.c-table02 > table > thead > tr > th {
	padding: 0 1em;
	font-family: var(--font-family-kiwi);
	font-size: 22px;
	line-height: 1;
	text-align: center;
}

@media screen and (max-width: 575px) {
	.c-table02 > table > thead > tr > th {
		padding: 0 0.5em;
		font-size: 17px;
	}
}

.c-table02 > table > tbody > tr {
	border-bottom: var(--border);
}

.c-table02 > table > tbody > tr:first-of-type {
	border-top: var(--border);
}

.c-table02 > table > tbody > tr > th {
	padding: 20px;
	font-family: var(--font-family-kiwi);
	font-size: 22px;
	text-align: center;
	vertical-align: middle;
	background-color: #e5f5f6;
}

:where([data-theme-color=forest]) .c-table02 > table > tbody > tr > th {
	background: #eff6e5;
}

@media screen and (max-width: 1000px) {
	.c-table02 > table > tbody > tr > th {
		font-size: 20px;
	}
}

@media screen and (max-width: 575px) {
	.c-table02 > table > tbody > tr > th {
		font-size: 17px;
	}
}

.c-table02 > table > tbody > tr > td {
	position: relative;
	padding: 20px;
	background: #fff;
}

.c-table02 > table > tbody > tr > td:not(:first-of-type)::before {
	position: absolute;
	top: calc(var(--dash-border-gap) / 2);
	bottom: 0;
	left: 0;
	width: var(--dash-border-width);
	content: "";
	background-image: linear-gradient(to bottom, var(--dash-border-color), var(--dash-border-color) var(--dash-border-length), transparent var(--dash-border-length));
	background-repeat: repeat-y;
	background-size: 100% calc(var(--dash-border-length) + var(--dash-border-gap));
}

.c-table__bottom {
	display: flex;
	justify-content: space-between;
}

:where([data-theme-color=forest]) .c-text-link--theme-alt,
:where([data-theme-color=sky]) .c-text-link--theme,
.c-text-link--blue {
	--color: #52bbf7;
	--hover-color: #47a3d7;
}

.c-text-link--yellow {
	--color: #fbc750;
	--hover-color: #e7b74a;
}

:where([data-theme-color=sky]) .c-text-link--theme-alt,
:where([data-theme-color=forest]) .c-text-link--theme,
.c-text-link--green {
	--color: #92cc40;
	--hover-color: #7fb138;
}

.c-table__bottom div span {
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	line-height: 24px;
	width: 77px;
	height: 24px;
	background: #4b8ea1;
	display: inline-block;
	border-radius: 12px;
	margin-right: 10px;
}

@media screen and (max-width: 750px) {
	.c-table__bottom div span {
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 525px) {
	.c-table__bottom div span {
		display: block;
	}
}

.c-text-link--orange {
	--color: #e58e50;
	--hover-color: #c77c46;
}

.c-text-link {
	color: var(--color);
	text-decoration: underline;
	transition: color 0.15s;
}

.c-text-link:hover {
	color: var(--hover-color);
}

.l-blog-column {
	display: grid;
	grid-template-areas: "main side";
	grid-template-columns: 1fr 320px;
	gap: 80px 50px;
}

@media screen and (max-width: 1000px) {
	.l-blog-column {
		grid-template-areas: "main""side";
		grid-template-columns: 1fr;
	}
}

.l-blog-column__main {
	grid-area: main;
}

.l-blog-column__side {
	container-type: inline-size;
	grid-area: side;
}

.l-blog-column__side-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: min(14cqw, 32px) 24px;
}

@container (width >=550px) {
	.l-blog-column__side-grid {
		grid-template-columns: 1fr 1fr;
	}
}

:where([data-theme-color=forest]) .l-blog-box--theme-alt,
:where([data-theme-color=sky]) .l-blog-box--theme,
.l-blog-box--blue {
	--accent-color: #52bbf7;
	--border-color: #b3e1eb;
	--frame-color: #b3e1eb;
}

.l-blog-box--yellow {
	--accent-color: #fbc750;
	--border-color: #fddc93;
	--frame-color: #fddc93;
}

:where([data-theme-color=sky]) .l-blog-box--theme-alt,
:where([data-theme-color=forest]) .l-blog-box--theme,
.l-blog-box--green {
	--accent-color: #75c248;
	--border-color: #cfe8b4;
	--frame-color: #cfe8b4;
}

.l-blog-box--orange {
	--accent-color: #e58e50;
	--border-color: #f5d2b9;
	--frame-color: #f5d2b9;
}

.l-blog-box {
	--border-width: 4px;
	--dot-space: 1.5;
	height: fit-content;
	padding: 1em 1.5em;
	background-image: url("../images/common/bg_paper_01.jpg");
	border: 2px dashed var(--frame-color);
	border-radius: 32px;
}

.l-blog-box__header {
	margin-top: 0.5em;
	margin-bottom: 1.75em;
	text-align: center;
}

.l-blog-box__en {
	display: block;
	font-family: var(--font-family-train);
	font-size: 28px;
	line-height: 1;
	color: var(--accent-color);
	text-transform: uppercase;
	letter-spacing: 0.25em;
}

.l-blog-box__title {
	margin-top: 0.35em;
	font-family: var(--font-family-kiwi);
	font-size: 18px;
	line-height: 1;
	opacity: 0.75;
}

@media screen and (max-width: 575px) {
	.l-blog-box__title {
		font-size: 19px;
	}
}

.l-blog-box__item {
	position: relative;
}

.l-blog-box__item + .l-blog-box__item {
	padding-top: var(--border-width);
}

.l-blog-box__item + .l-blog-box__item::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--border-width);
	content: "";
	background: radial-gradient(circle farthest-side, var(--border-color), var(--border-color) calc(100% / (var(--dot-space) + 1)), transparent calc(100% / (var(--dot-space) + 1)));
	background-size: calc(var(--border-width) * (var(--dot-space) + 1));
}

.l-blog-box__link {
	display: block;
	padding: 0.35em 0;
	transition: color 0.15s;
}

.l-blog-box__link:hover {
	color: var(--accent-color);
}

.l-border-section-list {
	--border-color: #a8dde1;
	--gap: 55px;
}

:where([data-theme-color=forest]) .l-border-section-list {
	--border-color: #c9e1a8;
}

:where(.l-border-section-list__item + .l-border-section-list__item) {
	padding-top: var(--gap);
	margin-top: var(--gap);
	border-top: 2px dashed var(--border-color);
}

.l-breadcrumb {
	display: flex;
	gap: 1em;
}

.l-breadcrumb a {
	color: #52bbf7;
}

:where([data-theme-color=forest]) .l-breadcrumb a {
	color: #2f7627;
}

:root {
	--container-padding-left: 20px;
	--container-padding-right: 20px;
}

.l-container {
	--width: var(--contents-width);
	position: relative;
	max-width: calc(var(--width) + var(--container-padding-left) + var(--container-padding-right));
	padding-right: var(--container-padding-right);
	padding-left: var(--container-padding-left);
	margin-right: auto;
	margin-left: auto;
}

.l-container--sm {
	--width: var(--contents-width-sm);
}

.l-container--lg {
	--width: var(--contents-width-lg);
}

.l-container--xl {
	--width: var(--contents-width-xl);
}

@media screen and (max-width: 1390px) {
	.l-container:where(:not(.l-container--inner)) {
		--container-padding-left: 50px;
		--container-padding-right: 100px;
	}
}

@media screen and (max-width: 1000px) {
	.l-container {
		--container-padding-left: 20px;
		--container-padding-right: 20px;
	}
}

@media screen and (max-width: 750px) {
	.l-container {
		--container-padding-left: 4vw;
		--container-padding-right: 4vw;
	}
}

.l-container__cancel--both {
	margin-right: calc(50% - 50vw + (var(--container-padding-left) - var(--container-padding-right)) / 2);
	margin-left: calc(50% - 50vw + (var(--container-padding-right) - var(--container-padding-left)) / 2);
}

.l-container__cancel--right {
	margin-right: calc(50% - 50vw + (var(--container-padding-left) - var(--container-padding-right)) / 2);
}

.l-container__cancel--left {
	margin-left: calc(50% - 50vw + (var(--container-padding-right) - var(--container-padding-left)) / 2);
}

.l-footer {
	position: relative;
	padding-top: 100px;
	background: linear-gradient(to right, rgb(253, 239, 232) 0%, rgb(255, 248, 209) 100%);
}

#p-top .l-footer {
	padding-top: 300px;
}

@media screen and (max-width: 750px) {
	.l-footer {
		padding-top: 250px;
		position: relative;
		z-index: 1;
	}

	.l-footer::before {
		content: "";
		width: 63.26vw;
		height: 67.64vw;
		background: url(../images/common/logo_mark_01.png);
		background-size: 100% 100%;
		position: absolute;
		right: -4.09vw;
		top: 20px;
	}

	#p-top .l-footer::before {
		top: 109px;
	}
}

.l-footer__contact {
	margin-bottom: 100px;
}

.l-footer__map iframe {
	width: 100%;
	height: 485px;
}

@media screen and (max-width: 750px) {
	.l-footer__contact {
		margin-bottom: 50px;
	}

	.l-footer__map iframe {
		height: 248px;
	}
}

.l-footer__address {
	font-size: 2rem;
	letter-spacing: 0.025em;
}

.l-footer__bottom {
	position: relative;
	z-index: 1;
	padding: 40px 0;
	background: #fff;
}

@media screen and (max-width: 1280px) {
	.l-footer__bottom {
		display: none;
	}
}

.l-footer__nav {
	position: relative;
	letter-spacing: 0.01em;
}

@media screen and (max-width: 1280px) {
	.l-footer__nav {
		display: none;
	}
}

.l-footer__navList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.l-footer__navItem {
	--active-color: #ff931e;
}

.l-footer__navItem::after {
	content: "／"
}

.l-footer__navItem:last-child::after {
	display: none;
}

.l-footer__navLink {
	position: relative;
	padding: 0.5em 0.2em;
	transition: all 0.3s;
}

.l-footer__navItem.is-current .l-footer__navLink {
	color: var(--active-color);
}

.l-footer__navLink:hover {
	color: var(--active-color);
}

.l-footer__copy {
	color: #fff;
	font-family: FOT-筑紫B丸ゴシック Std B;
	text-align: center;
	letter-spacing: 0.01em;
	background: #5e8490;
	padding: 15px 10px;
}

@media screen and (max-width: 1000px) {
	.l-footer__copy {
		padding: 15px 10px 80px;
	}
}

@media screen and (max-width: 750px) {
	.l-footer__copy {
		font-size: 1.2rem;
	}
}

.l-footer-nav__contact {
	display: flex;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 3;
	opacity: 0;
	pointer-events: none;
}

.l-footer-nav__contactItem {
	width: calc(50vw - 30px);
}

.l-footer-nav__contactLink {
	color: #fff;
	font-size: 1.8rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	height: 60px;
}

@media screen and (max-width: 1000px) {
	.l-footer-nav__contact {
		opacity: 1;
		pointer-events: auto;
	}
}

@media screen and (max-width: 360px) {
	.l-footer-nav__contactLink {
		font-size: 1.6rem;
	}
}

.l-footer-nav__contactItem--tel {
	background: linear-gradient(to right, rgb(192, 215, 110) 0%, rgb(89, 194, 225) 100%);
}

.l-footer-nav__contactItem--web {
	background: linear-gradient(to right, rgb(243, 168, 125) 0%, rgb(255, 216, 0) 100%);
}

.l-footer-nav__contactItem--tel .p-footer__image {
	width: 31px;
}

.l-footer-nav__contactItem--web .p-footer__image {
	width: 30px;
}

.l-grid {
	--column-count: 3;
	--column-gap: 40px;
	--row-gap: 40px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--row-gap) var(--column-gap);
}

@media screen and (max-width: 1280px) {
	.l-grid {
		--column-count: 3;
	}
}

@media screen and (max-width: 834px) {
	.l-grid {
		--column-gap: 20px;
		--row-gap: 20px;
		--column-count: 2;
	}
}

@media screen and (max-width: 1000px) {
	.l-grid {
		--column-count: 3;
	}
}

@media screen and (max-width: 575px) {
	.l-grid {
		--column-count: 1;
	}
}

.l-grid--center {
	justify-content: center;
}

.l-grid__item {
	width: calc((100% - var(--column-gap) * (var(--column-count) - 1)) / var(--column-count));
}

.l-header {
	--bg-color: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 5;
	width: 100%;
	background-color: var(--bg-color);
	transition: background 0.3s;
	animation-name: header-fade-in;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 82%, rgba(255, 255, 255, 0) 100%);
}

@keyframes header-fade-in {
	0% {
		opacity: 0;
		transform: translateX(20px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@media screen and (max-width: 1000px) {
	.l-header {
		--bg-color: #fef9f1;
		padding: 0;
		animation-name: none;
	}

	.l-header .l-container {
		padding: 0 0 0 10px;
	}
}

.l-header__lead {
	position: fixed;
	top: 5px;
	right: 276px;
	font-size: 1rem;
	text-align: right;
}

@media screen and (max-width: 1690px) {
	.l-header__lead {
		right: 20px;
	}
}

@media screen and (max-width: 1000px) {
	.l-header__lead {
		display: none;
	}
}

.l-header__body {
	display: flex;
	gap: 15px 30px;
	align-items: center;
}

@media screen and (min-width: 1001px) {
	.l-header__body {
		margin-right: calc(50% - 50vw + (var(--container-padding-left) - var(--container-padding-right)) / 2);
	}
}

@media screen and (max-width: 1000px) {
	.l-header__body {
		flex-wrap: nowrap;
		gap: 0;
		height: 60px;
		margin-right: 0;
	}
}

.l-header__logo {
	width: 470px;
}

@media screen and (min-width: 1001px) {
	.l-header__logo {
		filter: drop-shadow(0 0 6px #fff) drop-shadow(0 0 6px #fff) drop-shadow(0 0 8px #fff) drop-shadow(0 0 10px #fff);
	}
}

@media screen and (max-width: 1000px) {
	.l-header__logo {
		width: 300px;
		height: 50px;
		object-fit: contain;
	}
}

@media screen and (max-width: 750px) {
	.l-header__logo {
		width: calc(100vw - 130px);
	}
}

.l-header__access,
.l-header__button {
	position: relative;
	display: none;
	align-items: flex-end;
	justify-content: center;
	width: 60px;
	height: 60px;
	padding-bottom: 4px;
	color: #fff;
	font-size: 1.2rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	letter-spacing: 0;
	white-space: nowrap;
}

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

	.l-header__access,
	.l-header__button {
		display: flex;
	}
}

.l-header__button {
	background: linear-gradient(45deg, rgb(192, 215, 110) 0%, rgb(89, 194, 225) 100%);
}

.l-header__access {
	margin-left: auto;
}

.l-header__access img {
	position: absolute;
	top: 7px;
	left: 50%;
	width: 30px;
	margin-left: -15px;
}

@media screen and (max-width: 1000px) {
	.l-header__access img {
		top: 10px;
		left: 0;
		width: 40px;
		margin-left: 10px;
	}
}

.l-header__button span {
	position: absolute;
	top: 20px;
	left: 50%;
	width: 30px;
	height: 2px;
	margin-left: -15px;
	background: #fff;
	transition: all 0.3s;
}

.l-header__button span:nth-child(1) {
	margin-top: -8px;
}

.l-header__button span:nth-child(3) {
	margin-top: 8px;
}

.l-header.is-open {
	background: #fef9f1;
}

.l-header.is-open .l-header__access {
	visibility: hidden;
	opacity: 0;
}

.l-header.is-open .l-header__button span:nth-child(1) {
	margin-top: 4px;
	transform: rotate(45deg);
}

.l-header.is-open .l-header__button span:nth-child(3) {
	margin-top: 4px;
	transform: rotate(-45deg);
}

.l-header.is-open .l-header__button span:nth-child(2) {
	display: none;
}

.l-header__cloud {
	position: absolute;
	top: calc(100% - 1px);
	left: 0;
	z-index: -1;
	display: none;
	width: 100%;
	transform: rotate(180deg);
}

@media screen and (max-width: 1000px) {
	.l-header__cloud {
		display: flex;
	}
}

.l-header__cloud > svg {
	width: 100%;
	aspect-ratio: 10/1;
	fill: var(--bg-color);
}

.l-image-block01 {
	--direction: row;
	--align: flex-start;
	--image-width: 530px;
	--gap: 60px;
	container-type: inline-size;
}

.l-image-block01--reverse {
	--direction: row-reverse;
}

.l-image-block01--center-y {
	--align: center;
}

.l-image-block01__inner {
	display: flex;
	flex-direction: var(--direction);
	gap: var(--gap);
	align-items: var(--align);
}

@container (max-width: 1000px) {
	.l-image-block01__inner {
		--gap: 46px;
	}
}

@container (max-width: 1000px) {
	.l-image-block01:where(:not(.l-image-block01--md, .l-image-block01--sm)) .l-image-block01__inner {
		--image-width: 380px;
	}
}

@container (max-width: 850px) {
	.l-image-block01:where(:not(.l-image-block01--md, .l-image-block01--sm)) .l-image-block01__inner {
		--direction: column;
		--align: center;
		--gap: 30px;
	}
}

:where(.l-image-block01--md) .l-image-block01__inner {
	--image-width: 350px;
}

@container (max-width: 750px) {
	:where(.l-image-block01--md) .l-image-block01__inner {
		--direction: column;
		--align: center;
		--gap: 30px;
	}
}

@container (max-width: 575px) {
	:where(.l-image-block01--md) .l-image-block01__inner {
		--image-width: 240px;
	}
}

:where(.l-image-block01--sm) .l-image-block01__inner {
	--image-width: 246px;
}

@container (max-width: 750px) {
	:where(.l-image-block01--sm) .l-image-block01__inner {
		--image-width: 200px;
	}
}

@container (max-width: 600px) {
	:where(.l-image-block01--sm) .l-image-block01__inner {
		--direction: column;
		--align: center;
		--gap: 30px;
	}
}

.l-image-block01__image {
	width: 100%;
	max-width: var(--image-width);
}

.l-image-block01__image__main {
	display: block;
	width: 83%;
}

.l-image-block01__image__sub {
	display: block;
	width: 49%;
	margin-top: -12%;
	margin-left: auto;
}

.l-image-block01__content {
	flex: 1;
	width: 100%;
}

.l-image-block02 {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

@media screen and (max-width: 1000px) {
	.l-image-block02 {
		flex-direction: column;
		align-items: center;
	}
}

.l-image-block02__image {
	z-index: 1;
	width: 440px;
}

@media screen and (min-width: 1001px) {
	.l-image-block02__image {
		margin-right: -20px;
	}
}

@media screen and (max-width: 1280px) {
	.l-image-block02__image {
		width: 300px;
	}
}

.l-image-block02__content {
	flex: 1;
	margin-top: 75px;
}

@media screen and (max-width: 1000px) {
	.l-image-block02__content {
		margin-top: -30px;
	}
}

.l-image-grid {
	container-type: inline-size;
}

.l-image-grid__inner {
	--column-count: 3;
	--column-gap: 5%;
	--row-gap: 60px;
	--image-aspect-ratio: 10 / 7;
	display: flex;
	flex-wrap: wrap;
	gap: var(--row-gap) var(--column-gap);
}

@container (max-width: 750px) {
	.l-image-grid__inner {
		--column-count: 2;
	}
}

@container (max-width: 575px) {
	.l-image-grid__inner {
		--column-count: 1;
		--row-gap: 46px;
	}
}

.l-image-grid__item {
	width: calc((100% - var(--column-gap) * (var(--column-count) - 1)) / var(--column-count));
}

.l-image-grid__image {
	display: block;
	aspect-ratio: var(--image-aspect-ratio);
	margin-bottom: 24px;
	object-fit: cover;
}

.l-image-grid__heading {
	margin-bottom: 5px;
	font-family: var(--font-family-kiwi);
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
}

.l-mv {
	position: relative;
	z-index: 1;
	height: 650px;
	margin-bottom: 10px;
	overflow: hidden;
}

@media screen and (max-width: 750px) {
	.l-mv {
		height: calc(60px + 60vw);
		background-size: auto 100%;
	}
}

#p-top .l-mv::before {
	display: none;
}

.l-mv::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	content: "";
	background-image: linear-gradient(to bottom, rgba(89, 194, 225, 0.75), rgba(89, 194, 225, 0.6) 15%, rgba(192, 215, 110, 0.3) 70%, rgba(247, 246, 240, 1) 100%);
}

.l-mv__bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.75;
}

.l-mv__title {
	position: absolute;
	top: 200px;
	left: 0;
	width: 100%;
	padding-top: 135px;
	text-align: center;
	text-shadow: #fff 10px 10px 20px, #fff -10px 10px 20px, #fff 10px -10px 20px, #fff -10px -10px 20px;
}

@media screen and (max-width: 750px) {
	.l-mv__title {
		top: calc(60px + 10vw);
		padding-top: 20vw;
	}
}

.l-mv__title > span:first-child {
	--space: 0.12em;
	position: absolute;
	top: 0.5em;
	left: 50%;
	font-family: var(--font-family-train);
	font-size: 5.1rem;
	line-height: 1;
	color: #4b8ea1;
	text-align: center;
	white-space: nowrap;
	transform: translateX(-50%);
}

:where([data-theme-color=forest]) .l-mv__title > span:first-child {
	color: #2f7627;
}

@media screen and (max-width: 750px) {
	.l-mv__title > span:first-child {
		font-size: 10vw;
	}
}

.l-mv__title > span:first-child > span {
	padding: 0 var(--space);
}

.l-mv__title > span:last-child {
	font-family: var(--font-family-kiwi);
	font-size: 4.6rem;
	letter-spacing: 0.3em;
}

@media screen and (max-width: 750px) {
	.l-mv__title > span:last-child {
		font-size: 7vw;
	}
}

.l-mv__cloud {
	position: absolute;
	bottom: -1px;
	left: 0;
	z-index: 3;
	width: 100%;
	height: 197px;
	overflow: hidden;
}

@media screen and (max-width: 1000px) {
	.l-mv__cloud {
		height: 10vw;
	}
}

.l-mv__cloud svg {
	position: absolute;
	left: 50%;
	width: 100%;
	min-width: 1920px;
	height: 100%;
	fill: #fef9f1;
	transform: translateX(-50%);
}

:where([data-theme-color=forest]) .l-mv__cloud svg {
	fill: #fafaf2;
}

@media screen and (max-width: 1000px) {
	.l-mv__cloud svg {
		min-width: 100%;
	}
}

.l-nav {
	--accent-color: #63452d;
	--active-color: #63452d;
	--hover-color: #ff931e;
	--border-color: #ccc;
	display: flex;
	flex: 1;
	gap: 40px;
	align-items: center;
	justify-content: flex-end;
	height: 98px;
	padding: 0 20px;
}

@media screen and (max-width: 1000px) {
	.l-nav {
		display: none;
	}
}

.l-nav__list {
	display: flex;
	align-items: center;
	gap: 30px;
	height: 100%;
	font-size: 1.6rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	white-space: nowrap;
}

@media screen and (max-width: 1280px) {
	.l-nav__list {
		font-size: 1.1rem;
	}
}

.l-nav__item {
	--en-color: var(--accent-color);
	position: relative;
}

.l-nav__item.is-current {
	--ja-color: var(--active-color);
	--en-color: var(--active-color);
}

.l-nav__link {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.l-nav__item.is-current .l-nav__link::before {
	color: #ff931e;
	font-size: 3.6rem;
	content: "・";
	position: absolute;
	bottom: -3.6rem;
}

@media screen and (max-width: 1280px) {
	.l-nav__item.is-current .l-nav__link::before {
		font-size: 2.4rem;
		bottom: -2.4rem;
	}
}

.l-nav__item:not(.is-current) .l-nav__link:hover {
	--ja-color: var(--hover-color);
	--en-color: var(--hover-color);
}

.l-nav__link > span:first-child {
	color: var(--ja-color);
	transition: color 0.12s;
}

.l-nav__link > span:last-child {
	font-size: 2rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	color: var(--en-color);
	text-transform: uppercase;
	letter-spacing: 0.025em;
}

@media screen and (max-width: 1280px) {
	.l-nav__link > span:last-child {
		font-size: 1.2rem;
	}
}

.l-nav__sub {
	position: absolute;
	top: 100%;
	display: none;
	min-width: 220px;
	line-height: 1.29;
}

.l-nav__subLink {
	position: relative;
	display: block;
	padding: 12px 22px;
	background-color: rgba(255, 255, 255, 0.9);
	transition: all 0.13s;
}

.l-nav__subLink:hover {
	color: var(--hover-color);
}

.l-nav__subItem:not(:last-child) .l-nav__subLink::after {
	position: absolute;
	right: 10px;
	bottom: 0;
	left: 10px;
	height: 1px;
	content: "";
	background-color: var(--border-color);
}

.l-nav__subItem:last-child .l-nav__subLink {
	padding-bottom: 22px;
	border-radius: 0 0 30px 30px;
}

.l-nav__subIcon {
	position: absolute;
	top: 50%;
	right: 13px;
	transform: translateY(-50%);
}

.l-nav__tel {
	display: flex;
	gap: 5px;
	align-items: center;
	font-size: 2.6rem;
	font-weight: var(--font-weight-bold);
	line-height: 1;
	color: #254a66;
}

.l-nav__tel svg {
	width: 20px;
	fill: currentcolor;
}

.l-nav__info {
	display: flex;
	justify-content: space-between;
	width: 300px;
}

@media screen and (max-width: 1690px) {
	.l-nav__info {
		position: fixed;
		right: 20px;
		top: 100px;
	}
}

.l-nav__address {
	font-size: 1.1rem;
	line-height: 1.45;
	letter-spacing: 0;
}

.l-nav__link.is-web {
	color: #fff;
	font-size: 2.8rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	letter-spacing: 0.025em;
	width: 230px;
	height: 68px;
	line-height: 68px;
	gap: 10px;
	position: relative;
	z-index: 1;
	background: linear-gradient(to right, rgba(89, 194, 225, 0.8) 0%, rgba(192, 215, 110, 0.8) 50%, rgba(89, 194, 225, 0.8) 100%);
	background-size: 200% 100%;
	background-position: 100% top;
	background-repeat: no-repeat;
	transition: ease 0.5s;
}

.l-nav__link.is-web:hover {
	background-position: 0% top;
}

.l-nav__link.is-web::before {
	content: "";
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: 1px solid #fff;
	position: absolute;
	left: 5px;
	top: 5px;
}

.l-nav__link.is-web img {
	width: 41px;
}

.l-outline__list {
	max-width: var(--contents-width-sm);
	margin: 0 auto 50px;
	line-height: 2.2;
}

:where([data-theme-color=forest]) .l-outline__list {
	color: #fff;
}

@media screen and (max-width: 750px) {
	.l-outline__list {
		font-size: 1.4rem;
	}
}

.l-outline__item {
	display: flex;
}

.l-outline__itemTitle {
	width: 6.5em;
	padding-right: 1em;
	font-weight: var(--font-weight-medium);
	text-align: right;
}

.l-outline__itemText {
	flex: 1;
	padding-left: 1em;
	word-break: break-all;
	border-left: 1px solid;
}

.l-nap__standard__list {
	line-height: 2;
}

.l-nap__standard__link {
	display: block;
	width: fit-content;
	margin-top: 0.5em;
}

.l-pageTop {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 3;
	display: none;
	flex-flow: column;
	gap: 0.35em;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	padding-top: 0.35em;
	color: #fff;
	font-size: 1.6rem;
	font-family: "FOT-筑紫B丸ゴシック Std B";
	line-height: 1.2;
	text-align: center;
	border-radius: 50%;
	background: linear-gradient(45deg, rgba(89, 194, 225, 0.8) 0%, rgba(192, 215, 110, 0.8) 50%, rgba(89, 194, 225, 0.8) 100%);
	background-size: 200% 200%;
	background-position: right top;
	background-repeat: no-repeat;
	transition: ease 0.5s;
}

.l-pageTop:hover {
	background-position: 100% 100%;
}

.l-pageTop::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	border-radius: 50%;
	opacity: 0;
	transition: ease 0.5s;
}

.l-pageTop:hover::before {
	background: linear-gradient(45deg, rgb(89, 194, 225) 0%, rgb(192, 215, 110) 100%);
	opacity: 1;
}

@media screen and (max-width: 1000px) {
	.l-pageTop {
		right: 20px;
		bottom: 80px;
		width: 80px;
		height: 80px;
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 575px) {
	.l-pageTop {
		width: 16vw;
		height: 16vw;
		font-size: 3vw;
	}
}

.l-point {
	display: flex;
	gap: 30px;
}

@media screen and (max-width: 1000px) {
	.l-point {
		flex-flow: column;
	}
}

.l-point__item {
	position: relative;
	flex: 1;
	padding: 15px 35px 30px;
	background: #cbf1f5;
	border-radius: 25px;
}

:where([data-theme-color=forest]) .l-point__item {
	background: #e3f5cb;
}

.l-point__title {
	position: relative;
	margin-bottom: 10px;
	font-family: var(--font-family-kiwi);
	font-size: 2.6rem;
	text-align: center;
}

.l-point__text {
	position: relative;
}

.l-side {
	position: fixed;
	right: 0;
	z-index: 3;
	display: flex;
	flex-flow: column;
	gap: 1.1em;
	font-size: 1.6rem;
	opacity: 0;
	animation-delay: 0.5s;
}

@media screen and (max-width: 1280px) {
	.l-side {
		font-size: 1.1rem;
	}
}

@media screen and (min-width: 1001px) {
	.l-side {
		top: calc(50% - 102px);
		align-items: flex-end;
	}
}

@media screen and (max-width: 1000px) {
	.l-side {
		bottom: 0;
		left: 0;
		align-items: stretch;
		font-size: 1.3rem;
	}
}

.l-side.animated {
	animation-fill-mode: forwards;
	animation-name: side-fade-in-pc;
}

@keyframes side-fade-in-pc {
	0% {
		opacity: 0;
		transform: translateX(20px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@media screen and (max-width: 1000px) {
	.l-side {
		opacity: 1;
	}

	.l-side.animated {
		animation-name: side-fade-in-sp;
	}

	@keyframes side-fade-in-sp {
		0% {
			opacity: 1;
			transform: translateY(0);
		}

		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}
}

.l-side__list {
	display: flex;
	gap: 1.2em;
}

@media screen and (min-width: 1001px) {
	.l-side__list {
		flex-flow: column;
		align-items: flex-end;
	}
}

@media screen and (max-width: 1000px) {
	.l-side__list {
		flex-flow: row;
		gap: 2vw;
		justify-content: center;
		padding: 0 20px;
	}
}

@media screen and (max-width: 575px) {
	.l-side__list {
		font-size: 3vw;
		letter-spacing: 0;
	}
}

.l-side__item {
	position: relative;
}

@media screen and (min-width: 1001px) {
	.l-side__item.sp-only {
		display: none;
	}
}

@media screen and (max-width: 1000px) {
	.l-side__item {
		flex: 1;
	}

	.l-side__item.pc-only {
		display: none;
	}
}

.l-side__link {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	color: #fff;
	font-size: 2.2rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	letter-spacing: 0.2em;
	writing-mode: vertical-rl;
	width: 76px;
	height: 204px;
}

@media screen and (min-width: 1001px) {
	.l-side__link {
		padding: 0.5em;
		border-radius: 10px 0 0 10px;
		background: linear-gradient(to bottom, rgba(89, 194, 225, 0.8) 0%, rgba(192, 215, 110, 0.8) 50%, rgba(89, 194, 225, 0.8) 100%);
		background-size: 100% 200%;
		background-position: left top;
		background-repeat: no-repeat;
		transition: ease 0.5s;
	}

	.l-side__link:hover {
		background-position: left 100%;
	}
}

@media screen and (max-width: 1000px) {
	.l-side__link {
		font-size: 1.8rem;
		width: 100vw;
		height: 60px;
		padding: 0;
		background: linear-gradient(to bottom, rgba(89, 194, 225, 0.8) 0%, rgba(192, 215, 110, 0.8) 100%);
		border-radius: 10px 10px 0 0;
		transition: background-color 0.5s;
		writing-mode: horizontal-tb;
	}
}

@media screen and (max-width: 1000px) {
	.l-side__link {
		width: 60px;
		height: 60px;
		border-radius: 0;
		position: fixed;
		right: 0;
		bottom: 0;
	}

	.l-side__link::before {
		content: "";
		width: 60px;
		height: 60px;
		background: url(../images/common/icon/time_sky.svg) no-repeat center center;
		background-size: 24px;
		position: absolute;
		left: 0;
		top: 0;
		display: none;
	}

	.l-side__link span {
		display: none;
	}
}

.l-side__image {
	width: 24px;
	order: 2;
}

@media screen and (max-width: 750px) {
	.l-side__image {
		width: 20px;
	}
}

.l-side__schedule {
	display: none;
	height: 204px;
	right: -76px !important;
}

@media screen and (max-width: 1000px) {
	.l-side__schedule {
		width: 100vw;
		height: auto;
	}
}

.l-side__schedule__inner {
	display: grid;
	width: 583px;
	overflow: hidden;
}

@media screen and (min-width: 1001px) {
	.l-side__schedule__inner {
		grid-template-columns: auto 1fr;
	}
}

@media screen and (max-width: 1000px) {
	.l-side__schedule__inner {
		width: 100%;
		grid-template-columns: 1fr;
		margin-bottom: -60px;
	}
}

.l-side__schedule__body {
	font-size: 1.8rem;
	line-height: 1.4;
	background: #fff;
	padding: 20px;
}

.l-side__schedule__body .c-table__bottom {
	font-size: 1.6rem;
	margin: 10px 0 0;
}

@media screen and (max-width: 750px) {
	.l-side__schedule__body {
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.l-side__schedule__body .c-table__bottom {
		font-size: 1.2rem;
		margin: 10px 10px 0;
	}
}

.l-side__schedule__close {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	padding: 0.5em;
	color: #fff;
	font-size: 2.2rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	letter-spacing: 0.2em;
	transition: background-color 0.1s;
	writing-mode: vertical-rl;
	background: linear-gradient(to bottom, rgba(89, 194, 225, 0.8) 0%, rgba(192, 215, 110, 0.8) 100%);
	border-radius: 10px 0 0 10px;
	width: 76px;
	height: 204px;
	background: linear-gradient(to bottom, rgba(89, 194, 225, 0.8) 0%, rgba(192, 215, 110, 0.8) 50%, rgba(89, 194, 225, 0.8) 100%);
	background-size: 100% 200%;
	background-position: left top;
	background-repeat: no-repeat;
	transition: ease 0.5s;
}

.l-side__schedule__close:hover {
	background-position: left 100%;
}

@media screen and (max-width: 1000px) {
	.l-side__schedule__close {
		font-size: 1.8rem;
		writing-mode: horizontal-tb;
		width: 100%;
		height: 60px;
		border-radius: 10px 10px 0 0;
	}

	.l-side__schedule__close:hover {
		background-position: left top;
	}
}

@media screen and (max-width: 750px) {
	.l-side__schedule__close {
		transition: none;
	}
}

@media screen and (max-width: 1000px) {
	.l-side__schedule__close > i {
		transform: rotate(90deg);
	}
}

.l-side__schedule table {
	letter-spacing: 0.05em;
}

.l-side__schedule table th {
	padding: 5px;
}

.l-side__schedule table thead,
.l-side__schedule table tbody {
	border-bottom: 1px solid #4b8ea1;
}

.l-side__schedule table thead th {
	color: #4b8ea1;
	background: none;
}

.l-side__schedule table td {
	padding: 5px 0;
}

.l-side__schedule table tbody tr:last-child th {
	padding: 0 5px 5px;
}

.l-side__schedule table tbody tr:last-child td {
	padding: 0 0 5px;
}

.l-side .c-sns {
	flex-direction: column;
	gap: 0.5em;
	font-size: 23px;
}

@media screen and (max-width: 1000px) {
	.l-side .c-sns {
		display: none;
	}
}

.l-side .c-sns__item {
	display: flex;
	justify-content: center;
	width: 75px;
}

.l-sns .c-sns {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	justify-content: space-between;
	max-width: 300px;
	margin: 0 auto 55px;
}

.l-sns .c-sns__link svg {
	width: 30px;
}

.l-sp-nav {
	--arrow-color: #4b8ea1;
	--bg-color: #fff;
	--border-color: #4b8ea1;
	position: fixed;
	top: 60px;
	bottom: 0;
	left: 0;
	z-index: 5;
	width: 100%;
	height: calc(100% - 60px);
	padding-bottom: 60px;
	overflow-y: scroll;
	visibility: hidden;
	background: #f7f6f0;
	opacity: 0;
	transition: all 0.3s;
}

@media screen and (max-width: 1000px) {
	.l-sp-nav[aria-hidden=false] {
		visibility: visible;
		opacity: 1;
	}
}

.l-sp-nav__list {
	margin: 0 -20px 20px;
	font-size: 1.6rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
}

@media screen and (max-width: 750px) {
	.l-sp-nav__list {
		margin: 0 -4vw 20px;
	}
}

.l-sp-nav__item {
	position: relative;
	border-bottom: 1px solid var(--border-color);
}

.l-sp-nav__item.is-open .l-sp-nav__link {
	color: #fff;
	background: var(--border-color);
}

.l-sp-nav__item.is-open .l-sp-nav__toggle__icon {
	transform: rotate(-180deg);
}

.l-sp-nav__link {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 50px;
	padding: 0 60px 0 30px;
}

.l-sp-nav__toggle {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 50px;
	font-size: 0;
}

.l-sp-nav__toggle__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	font-size: 1.2rem;
	color: #fff;
	background-color: var(--arrow-color);
	border-radius: 50%;
}

.l-sp-nav__sub {
	display: none;
	padding: 10px 0 10px 30px;
}

.l-sp-nav__subLink {
	position: relative;
	display: block;
	padding: 5px 60px 5px 20px;
}

.l-sp-nav__subIcon {
	position: absolute;
	top: 50%;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	font-size: 1.2rem;
	color: var(--arrow-color);
	border-radius: 50%;
	transform: translateY(-50%);
}

.l-sp-nav__address {
	margin-bottom: 20px;
	text-align: center;
}

.l-sp-nav__contact {
	margin-bottom: 20px;
	text-align: center;
}

.l-sp-nav__contactItem--tel {
	margin-bottom: 20px;
}

.l-sp-nav__contactItem--tel span {
	font-size: 1.6rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	line-height: 1.4;
    display: block;
}

.l-sp-nav__contactItem--tel .l-sp-nav__contactLink {
	display: inline-flex;
	gap: 5px;
	align-items: center;
	color: #a1d342;
	font-size: 3.6rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	line-height: 1;
	letter-spacing: 0;
}

.l-sp-nav__contactItem--tel .l-sp-nav__contactLink svg {
	width: 0.8em;
	fill: currentcolor;
}

.l-sp-nav__contactItem--web .l-sp-nav__contactLink,
.l-sp-nav__contactItem--line .l-sp-nav__contactLink {
	margin: 0 auto;
}

.l-sp-nav .c-table {
	max-width: 500px;
	margin: 0 auto 20px;
}

.l-sp-nav .c-sns {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	justify-content: center;
	max-width: 300px;
	margin: 0 auto;
}

.l-sp-nav .c-sns__link svg {
	width: 30px;
}

.l-step-list {
	display: grid;
	gap: 80px;
}

.l-step-list__item {
	position: relative;
	display: flex;
	gap: 40px 140px;
	align-items: flex-start;
}

@media screen and (max-width: 1000px) {
	.l-step-list__item {
		flex-flow: column;
	}
}

.l-step-list__thumb {
	position: relative;
	width: 440px;
}

@media screen and (max-width: 1280px) {
	.l-step-list__thumb {
		width: 300px;
	}
}

@media screen and (max-width: 1000px) {
	.l-step-list__thumb {
		margin: 0 auto;
	}
}

@media screen and (max-width: 575px) {
	.l-step-list__thumb {
		width: 70vw;
	}
}

.l-step-list__badge {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	transform: translateX(105px);
}

@media screen and (max-width: 1000px) {
	.l-step-list__badge {
		transform: translate(50%, -50%);
	}
}

@media screen and (max-width: 750px) {
	.l-step-list__badge {
		transform: translate(25%, -25%);
	}
}

.l-step-list__num {
	--circle-size: 1.95em;
	--font-size: 70px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--circle-size);
	height: var(--circle-size);
	font-family: var(--font-family-train);
	font-size: var(--font-size);
	background: #fff;
	border-radius: 50%;
	transform: translateX(105px);
}

@media screen and (max-width: 1000px) {
	.l-step-list__num {
		--font-size: 50px;
		transform: translate(50%, -50%);
	}
}

@media screen and (max-width: 575px) {
	.l-step-list__num {
		--circle-size: 10vw;
	}
}

.l-step-list__num span {
	position: absolute;
	top: -40px;
	left: 50%;
	width: 2.2rem;
	height: 74px;
	margin-left: -1.1rem;
	font-size: 2.2rem;
	text-align: center;
	transform-origin: center bottom;
}

@media screen and (max-width: 750px) {
	.l-step-list__num span {
		top: -3vw;
		width: 3.8vw;
		height: 15vw;
		font-size: 3.8vw;
	}
}

.l-step-list__num span:nth-child(1) {
	transform: rotate(-28deg);
}

.l-step-list__num span:nth-child(2) {
	transform: rotate(-8deg);
}

.l-step-list__num span:nth-child(3) {
	transform: rotate(12deg);
}

.l-step-list__num span:nth-child(4) {
	transform: rotate(32deg);
}

.l-step-list__num span:nth-child(5) {
	transform: rotate(52deg);
}

.l-step-list__num span:nth-child(6) {
	transform: rotate(72deg);
}

.l-step-list__num span:nth-child(7) {
	transform: rotate(92deg);
}

.l-step-list__content {
	flex: 1;
}

.l-wall {
	--background: url("../images/common/bg_cloud_sky.png");
	--gradation-height: 200px;
	position: relative;
	padding: 205px 0;
}

.l-wall::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	content: "";
	background: var(--background);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, rgb(0, 0, 0) var(--gradation-height), rgb(0, 0, 0) calc(100% - var(--gradation-height)), transparent);
	mask-image: linear-gradient(to bottom, transparent 0, rgb(0, 0, 0) var(--gradation-height), rgb(0, 0, 0) calc(100% - var(--gradation-height)), transparent);
}

:where([data-theme-color=forest]) .l-wall {
	--background: url("../images/common/bg_cloud_forest.png");
}

.l-wall--white {
	--background: #fff;
}

@media screen and (max-width: 1280px) {
	.l-wall {
		--gradation-height: 100px;
		padding: 100px 0;
	}
}

.p-information__top {
	width: 50%;
}

.p-information__logo {
	display: block;
	max-width: 558px;
	margin-bottom: 20px;
}

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

.p-information__body {
	display: flex;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: 60px;
}

.p-information__info {
	width: 50%;
}

@media screen and (max-width: 1280px) {
	.p-information__top {
		width: 100%;
	}

	.p-information__logo {
		margin: 0 auto 20px;
	}

	.p-information__body {
		flex-direction: column;
	}

	.p-information__info {
		width: 100%;
	}
}

@media screen and (max-width: 750px) {
	.p-information__body {
		gap: 30px;
	}
}

.p-contact__body {
	position: relative;
}

.p-contact__list {
	display: flex;
	gap: 50px;
	justify-content: space-between;
}

@media screen and (max-width: 1280px) {
	.p-contact__list {
		flex-flow: column;
	}
}

@media screen and (max-width: 750px) {
	.p-contact__list {
		gap: 30px;
	}
}

.p-contact__item {
	padding: 30px 30px 40px;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 750px) {
	.p-contact__item {
		padding: 15px;
	}
}

.p-contact__item::before,
.p-contact__item::after {
	content: "";
	position: absolute;
	z-index: -1;
}

.p-contact__item::before {
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.p-contact__item::after {
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	left: 2px;
	top: 2px;
	background: #fff;
}

.p-contact__item--tel::before {
	background: linear-gradient(to right, rgb(158, 202, 73) 0%, rgb(237, 231, 0) 100%);
}

.p-contact__item--web::before {
	background: linear-gradient(to right, rgb(243, 168, 125) 0%, rgb(255, 216, 0) 100%);
}

.p-contact__item--tel {
	width: 50%;
}

@media screen and (max-width: 1280px) {
	.p-contact__item--tel {
		width: 100%;
		max-width: unset;
	}
}

.p-contact__item--web {
	width: 50%;
}

@media screen and (max-width: 1280px) {
	.p-contact__item--web {
		width: 100%;
	}
}

.p-contact__subTitle {
	color: #fff;
	font-size: 2.6rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	line-height: 51px;
	letter-spacing: 0.1em;
	width: 223px;
	height: 51px;
	border-radius: 0 26px 26px 0;
	display: flex;
	gap: 10px;
	margin: 0 0 30px -30px;
	padding-left: 10px;
}

.p-contact__item--tel .p-contact__subTitle {
	background: linear-gradient(to right, rgb(192, 215, 110) 0%, rgb(89, 194, 225) 100%);
}

.p-contact__item--web .p-contact__subTitle {
	background: linear-gradient(to right, rgb(243, 168, 125) 0%, rgb(255, 216, 0) 100%);
}

.p-contact__item--tel .p-contact__image {
	width: 43px;
}

.p-contact__item--web .p-contact__image {
	width: 30px;
}

@media screen and (max-width: 750px) {
	.p-contact__subTitle {
		font-size: 2.2rem;
		width: 185px;
		height: 49px;
		line-height: 49px;
		border-radius: 0 25px 25px 0;
		margin: 0 0 15px -15px;
	}

	.p-contact__item--tel .p-contact__image {
		width: 31px;
	}
}

.p-contact__telLink {
	color: #a1d342;
	font-size: 4.6rem;
	font-family: FOT-筑紫B丸ゴシック Std B;
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	right: 20px;
	top: 30px;
}

@media screen and (max-width: 1280px) {
	.p-contact__telLink {
		right: auto;
		left: 243px;
	}
}

@media screen and (max-width: 750px) {
	.p-contact__telLink {
		font-size: 3.6rem;
		text-align: center;
		position: static;
		display: block;
		margin-bottom: 15px;
	}
}

.p-contact__telLink span {
	color: #63452d;
    font-size: 1.6rem;
    line-height: 1.4;
	display: block;
	margin-top: 0.25em;
}

.p-contact__telLink svg {
	width: 0.8em;
	fill: currentcolor;
}

.p-contact__telText {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 750px) {
	.p-contact__telText {
		font-size: inherit;
	}
}

.p-contact__webMain {
	display: flex;
	align-items: flex-start;
	gap: 32px;
}

@media screen and (max-width: 750px) {
	.p-contact__webMain {
		flex-flow: column;
		align-items: center;
	}
}

.p-contact__webInner {
	flex: 1;
}

.p-contact__webText {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	margin-bottom: 10px;
}

.p-contact__webText strong {
    font-family: var(--font-family-kiwi);
}

.p-contact__webLink {
	--border-color: currentcolor;
	--active-color: currentcolor;
	margin-right: auto;
	font-size: 1.8rem;
}

.p-contact__webCode {
	width: 133px;
}

.p-contact__webCode img {
	width: 100%;
}
