@charset "UTF-8";
* {
	margin: 0;
	padding: 0;
}
*,
:before,
:after {
	box-sizing: border-box;
}
html {
	block-size: 100%;
	-webkit-text-size-adjust: none;
}
body {
	-webkit-font-smoothing: antialiased;
	min-block-size: 100%;
}
:where(img, svg, iframe) {
	display: block;
}
:where(img, svg) {
	block-size: auto;
	max-inline-size: 100%;
}
:where(svg) {
	stroke: none;
	fill: currentColor;
}
:where(button) {
	color: inherit;
	font: inherit;
	font-size: inherit;
	letter-spacing: inherit;
	word-spacing: inherit;
}
:where(p, h1, h2, h3, h4) {
	overflow-wrap: break-word;
}
h1 {
	font-size: 2em;
}
:where(ul, ol) {
	list-style-position: inside;
}
:where(ul, ol)[role="list"] {
	list-style: none;
}
a:not([class]) {
	text-decoration-skip-ink: auto;
}
:where(a[href], button) {
	cursor: pointer;
	touch-action: manipulation;
}
:where(button, button[type]) {
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
	text-align: center;
}
:where(button, button[type])[disabled] {
	cursor: not-allowed;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
body {
	background-color: #fff;
	font-family:
		Noto Sans JP,
		-apple-system,
		BlinkMacSystemFont,
		Helvetica Neue,
		游ゴシック Medium,
		YuGothic,
		YuGothicM,
		Hiragino Kaku Gothic ProN,
		メイリオ,
		Meiryo,
		sans-serif !important;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 400;
	color: #2a2a2a;
}
@media only screen and (max-width: 768px) {
	body {
		font-size: 4.2666666667vw;
	}
}
body.is-fixed {
	overflow: hidden;
	height: 100%;
}
ol,
ul {
	list-style: none;
}
a {
	display: block;
	color: #2a2a2a;
	text-decoration: none;
}
@media only screen and (min-width: 769px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
img {
	width: 100%;
	height: auto;
}
svg {
	width: 100%;
	height: 100%;
}
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 100%;
	background: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}
::placeholder {
	font-size: 14px;
	font-size: 1.4rem;
	color: #999;
}
@media only screen and (max-width: 768px) {
	::placeholder {
		font-size: 3.7333333333vw;
		line-height: 6.72vw;
	}
}
table {
	table-layout: fixed;
	border-collapse: collapse;
	width: 100%;
}
@keyframes slideDown {
	0% {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(0);
	}
}
@keyframes flowing {
	0% {
		transform: translate(0);
	}
	to {
		transform: translate(-100%);
	}
}
@keyframes bar01 {
	0% {
		top: 0;
	}
	10% {
		width: 0;
		top: 0;
	}
	70% {
		width: 0;
		top: 1.6vw;
		left: 50%;
		transform: translate(-50%) rotate(-45deg);
	}
	to {
		width: 7.467vw;
		top: 1.6vw;
		left: 50%;
		transform: translate(-50%) rotate(-45deg);
	}
}
@keyframes bar02 {
	20% {
		width: 0;
	}
	70% {
		width: 0;
	}
	to {
		width: 0;
	}
}
@keyframes bar03 {
	30% {
		width: 0;
	}
	70% {
		width: 0;
		top: 1.6vw;
		left: 50%;
		transform: translate(-50%) rotate(45deg);
	}
	to {
		width: 7.467vw;
		top: 1.6vw;
		left: 50%;
		transform: translate(-50%) rotate(45deg);
	}
}
@keyframes gotop {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-4px);
	}
	to {
		transform: translateY(0);
	}
}
@keyframes fuwa {
	0% {
		transform: translateY(0);
	}
	25% {
		transform: translateY(-5px);
	}
	75% {
		transform: translateY(5px);
	}
	to {
		transform: translateY(0);
	}
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@media only screen and (max-width: 768px) {
	.u-pc-element {
		display: none !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-sp-element {
		display: none !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-4 {
		margin-top: 4px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-8 {
		margin-top: 8px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-16 {
		margin-top: 16px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-24 {
		margin-top: 24px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-30 {
		margin-top: 30px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-32 {
		margin-top: 32px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-40 {
		margin-top: 40px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-46 {
		margin-top: 46px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-48 {
		margin-top: 48px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-56 {
		margin-top: 56px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-64 {
		margin-top: 64px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mt-114 {
		margin-top: 114px !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mt-4 {
		margin-top: 1.0666666667vw !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mt-8 {
		margin-top: 2.1333333333vw !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mt-16 {
		margin-top: 4.2666666667vw !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mt-24 {
		margin-top: 6.4vw !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mt-32 {
		margin-top: 8.5333333333vw !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mt-40 {
		margin-top: 10.6666666667vw !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mt-46 {
		margin-top: 12.2666666667vw !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mt-56 {
		margin-top: 14.9333333333vw !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mt-70 {
		margin-top: 18.6666666667vw !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mb-16 {
		margin-bottom: 16px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mb-24 {
		margin-bottom: 24px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mb-32 {
		margin-bottom: 32px !important;
	}
}
@media only screen and (min-width: 769px) {
	.u-pc-mb-56 {
		margin-bottom: 56px !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mb-16 {
		margin-bottom: 4.2666666667vw !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mb-24 {
		margin-bottom: 6.4vw !important;
	}
}
@media only screen and (max-width: 768px) {
	.u-sp-mb-56 {
		margin-bottom: 14.9333333333vw !important;
	}
}
.u-mgia {
	margin-inline: auto;
}
@media only screen and (max-width: 768px) {
	.u-sp-mgia {
		margin-inline: auto;
	}
}
.u-border-bottom {
	border-bottom: solid 2px #0c7b49;
	padding-bottom: 8px;
}
.u-color-white {
	color: #fff;
}
.u-color-primary {
	color: #0c7b49;
}
.l-header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
/* @media only screen and (max-width: 768px) {
	.l-header {
		height: 25.6vw;
		position: fixed;
		top: 0;
	}
} */
@media only screen and (max-width: 768px) {
	.l-header:has(.p-menu-btn.is-open) .p-logo-white {
		display: none;
	}
	.l-header:has(.p-menu-btn.is-open) .p-logo-black {
		display: block;
	}
}
.l-header + .p-logo-link {
	flex-shrink: 0;
	width: 77px;
	height: 64px;
	position: absolute;
	top: 16px;
	left: 40px;
	z-index: 10000;
}
@media only screen and (min-width: 769px) {
	.l-header + .p-logo-link {
		transition: 0.3s;
	}
	.l-header + .p-logo-link:hover {
		opacity: 0.6;
	}
}
@media only screen and (max-width: 768px) {
	.l-header + .p-logo-link {
		width: 20.5333333333vw;
		height: 17.0666666667vw;
		top: 5.3333333333vw;
		left: 5.3333333333vw;
	}
}
.l-header + .p-logo-link .p-logo-white {
	display: none;
}
.l-header + .p-logo-link .p-logo-black {
	display: block;
}
@media only screen and (min-width: 769px) {
	.l-header.is-scroll {
		background-color: #fff;
		border-bottom: solid 1px #e7e7e7;
		padding-block: 16px;
		opacity: 1;
		visibility: visible;
		animation: slideDown 0.3s ease-in-out;
	}
	.l-header.is-scroll .l-header-inner {
		padding-right: 40px;
	}
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1472px) {
	.l-header.is-scroll .l-header-inner {
		padding-right: clamp(1.6rem, -1.0181818182rem + 3.4090909091vw, 4rem);
	}
}
@media only screen and (min-width: 769px) {
	.l-header.is-scroll .p-nav-parts {
		color: #2a2a2a;
	}
}
@media only screen and (min-width: 769px) and (min-width: 769px) {
	.l-header.is-scroll .p-nav-parts {
		transition: 0.3s;
	}
	.l-header.is-scroll .p-nav-parts:hover {
		color: #0c7b49;
		opacity: 1;
	}
	.l-header.is-scroll .p-nav-parts:hover:before {
		width: 0;
	}
}
@media only screen and (min-width: 769px) {
	.l-header.is-scroll .p-nav-btn-wrap {
		flex-direction: row;
	}
	.l-header.is-scroll .p-nav-btn-wrap .p-btn__cv {
		width: auto;
		height: 37px;
		padding-block: 4px;
		padding-inline: 24px;
	}
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1472px) {
	.l-header.is-scroll .p-nav-btn-wrap .p-btn__cv {
		padding-inline: clamp(0.8rem, -0.9454545455rem + 2.2727272727vw, 2.4rem);
	}
}
@media only screen and (min-width: 769px) {
	.l-header.is-scroll .p-nav-btn-wrap .p-btn__white {
		border: solid 2px #0c7b49;
	}
}
@media only screen and (min-width: 769px) and (max-width: 900px) {
	.l-header.is-scroll .p-nav-br {
		display: block;
	}
}
.l-header.is-top + .p-logo-link .p-logo-white {
	display: block;
}
@media only screen and (max-width: 768px) {
	.l-header.is-top + .p-logo-link .p-logo-white {
		display: block;
	}
}
.l-header.is-top + .p-logo-link .p-logo-black {
	display: none;
}
@media only screen and (max-width: 768px) {
	.l-header.is-top + .p-logo-link .p-logo-black {
		display: none;
	}
}
@media only screen and (min-width: 769px) {
	.l-header.is-top .p-nav-parts {
		color: #fff;
	}
}
.l-header.is-top.is-scroll .p-nav-parts {
	color: #2a2a2a;
}
@media only screen and (min-width: 769px) {
	.l-header.is-top.is-scroll .p-nav-parts {
		transition: 0.3s;
	}
	.l-header.is-top.is-scroll .p-nav-parts:hover {
		color: #0c7b49;
		opacity: 1;
	}
}
@media only screen and (max-width: 768px) {
	.l-header.is-top.is-scroll .p-logo-white {
		display: none;
	}
}
@media only screen and (max-width: 768px) {
	.l-header.is-top.is-scroll .p-logo-black {
		display: block;
	}
}
.l-header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: inherit;
	height: 100%;
	position: relative;
}
@media only screen and (min-width: 769px) {
	.l-header-inner {
		padding-left: 40px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.l-header-inner {
		padding-left: 24px;
	}
}
@media only screen and (max-width: 768px) {
	.l-header-inner {
		padding-block: 4.2666666667vw;
		padding-inline: 4.2666666667vw;
	}
}
.l-header-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.l-header-content {
		justify-content: flex-end;
	}
}
.l-header-content .p-btn__cv {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	width: 184px;
	height: 48px;
}
@media only screen and (min-width: 769px) and (max-width: 1100px) {
	.l-header-content .p-btn__cv {
		width: clamp(13rem, 7.1090909091rem + 7.6704545455vw, 18.4rem);
	}
}
@media only screen and (max-width: 768px) {
	.l-header-content .p-btn__cv {
		width: 44.8vw;
		height: 11.2vw;
		gap: 2.1333333333vw;
		padding: 3.2vw;
	}
}
.l-header-content .p-btn__cv span {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 700;
}
@media only screen and (min-width: 769px) {
	.l-header-content .p-btn__cv span {
		transition: 0.3s;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1100px) {
	.l-header-content .p-btn__cv span {
		font-size: clamp(1.2rem, 0.7636363636rem + 0.5681818182vw, 1.6rem);
	}
}
@media only screen and (max-width: 768px) {
	.l-header-content .p-btn__cv span {
		font-size: 3.7333333333vw;
	}
}
.l-header-content .p-btn__cv.p-btn__white {
	background-color: #fff;
	border: solid 2px #0c7b49;
	transition: background-color 0.3s;
}
.l-header-content .p-btn__cv.p-btn__white:hover {
	background-color: #0c7b49;
}
.l-header-content .p-btn__cv.p-btn__white:hover span {
	color: #fff;
}
@media only screen and (max-width: 768px) {
	.l-header-content .p-btn__cv.p-btn__white {
		border: solid 0.5333333333vw #0c7b49;
	}
}
.l-header-content .p-btn__cv.p-btn__white span {
	color: #0c7b49;
}
.l-header-content .p-btn__cv.p-btn__green {
	background-color: #0c7b49;
	border: solid 2px #0c7b49;
	transition: background-color 0.3s;
}
.l-header-content .p-btn__cv.p-btn__green:hover {
	background-color: #fff;
}
.l-header-content .p-btn__cv.p-btn__green:hover span {
	color: #0c7b49;
}
.l-header-content .p-btn__cv.p-btn__green span {
	color: #fff;
}
.l-header-content .p-btn__icon {
	display: flex;
	flex-direction: row;
}
.l-header-content .p-btn__icon:after {
	content: "";
	width: 24px;
	aspect-ratio: 1;
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
	position: relative;
	z-index: 1;
}
@media only screen and (min-width: 769px) {
	.l-header-content .p-btn__icon:after {
		transition: 0.3s;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1100px) {
	.l-header-content .p-btn__icon:after {
		width: clamp(2rem, 1.5636363636rem + 0.5681818182vw, 2.4rem);
	}
}
@media only screen and (max-width: 768px) {
	.l-header-content .p-btn__icon:after {
		width: 6.4vw;
	}
}
.l-header-content .p-btn__icon-vacant:after {
	background-image: url('data:image/svg+xml;utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_1_338" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"><rect width="24" height="24" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_1_338)"><path d="M3.12012 17.4259V7.54639H20.9033V11.4982H18.9273V9.52229H5.09602V15.45H13.9876V17.4259H3.12012ZM21.496 20.3898L17.9394 16.8578V19.8958H15.9635V13.4741H22.3852V15.45H19.3225L22.8792 19.0066L21.496 20.3898Z" fill="%230C7B49"/></g></svg>');
	transition: background-image 0.3s;
}
.l-header-content .p-btn__icon-vacant:hover:after {
	background-image: url('data:image/svg+xml;utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_1_338" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"><rect width="24" height="24" fill="%23ffffff"/></mask><g mask="url(%23mask0_1_338)"><path d="M3.12012 17.4259V7.54639H20.9033V11.4982H18.9273V9.52229H5.09602V15.45H13.9876V17.4259H3.12012ZM21.496 20.3898L17.9394 16.8578V19.8958H15.9635V13.4741H22.3852V15.45H19.3225L22.8792 19.0066L21.496 20.3898Z" fill="%23ffffff"/></g></svg>');
}
.l-header-content .p-btn__icon-contact:after {
	background-image: url('data:image/svg+xml;utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_1_327" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"><rect width="24" height="24" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_1_327)"><path d="M3 20.1729V4.17285L22 12.1729L3 20.1729ZM5 17.1729L16.85 12.1729L5 7.17285V10.6729L11 12.1729L5 13.6729V17.1729Z" fill="white"/></g></svg>');
	transition: background-image 0.3s;
}
.l-header-content .p-btn__icon-contact:hover:after {
	background-image: url('data:image/svg+xml;utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_1_327" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"><rect width="24" height="24" fill="%230C7B49"/></mask><g mask="url(%23mask0_1_327)"><path d="M3 20.1729V4.17285L22 12.1729L3 20.1729ZM5 17.1729L16.85 12.1729L5 7.17285V10.6729L11 12.1729L5 13.6729V17.1729Z" fill="%230C7B49"/></g></svg>');
}
.l-header .p-nav {
	display: flex;
	align-items: center;
}
@media only screen and (min-width: 769px) {
	.l-header .p-nav {
		height: 100%;
		margin-right: 40px;
		margin-left: auto;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.l-header .p-nav {
		margin-right: 16px;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav {
		overflow: scroll;
		flex-direction: column;
		width: 100vw;
		height: 100dvh;
		background-color: #fff;
		padding-block: 30.9333333333vw 10.6666666667vw;
		padding-inline: 8.5333333333vw;
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
		pointer-events: none;
		z-index: 105;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav.is-open * {
		pointer-events: auto !important;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav * {
		pointer-events: none !important;
	}
}
.l-header .p-nav-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	width: 100%;
	height: 100%;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.l-header .p-nav-wrap {
		gap: clamp(1.6rem, -1.0181818182rem + 3.4090909091vw, 4rem);
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-wrap {
		display: block;
		width: 41.6vw;
		height: auto;
	}
}
.l-header .p-nav-aco-trigger {
	position: relative;
}
@media only screen and (min-width: 769px) {
	.l-header .p-nav-list {
		height: 100%;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-list {
		position: relative;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-list + .p-nav-list {
		margin-top: 6.4vw;
	}
}
.l-header .p-nav-parts {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 700;
	color: #2a2a2a;
	text-align: center;
	letter-spacing: 0.02em;
	white-space: nowrap;
	padding-block: 4px;
	position: relative;
}
@media only screen and (min-width: 769px) {
	.l-header .p-nav-parts {
		transition: 0.3s;
	}
	.l-header .p-nav-parts:hover {
		opacity: 0.7;
	}
	.l-header .p-nav-parts:hover:before {
		width: 100%;
	}
}
@media only screen and (min-width: 769px) {
	.l-header .p-nav-parts:before {
		content: "";
		width: 0;
		height: 1px;
		background-color: #ffffffb3;
		position: absolute;
		bottom: 1px;
		left: 0;
	}
}
@media only screen and (min-width: 769px) and (min-width: 769px) {
	.l-header .p-nav-parts:before {
		transition: 0.3s;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1100px) {
	.l-header .p-nav-parts {
		font-size: clamp(1.2rem, 0.7636363636rem + 0.5681818182vw, 1.6rem);
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-parts {
		justify-content: flex-start;
		font-size: 4.2666666667vw;
		padding: 0;
	}
}
@media only screen and (min-width: 769px) {
	.l-header .p-nav-parts + .p-nav-parts {
		margin-left: 24px;
	}
}
.l-header .p-nav-child {
	display: flex;
	flex-direction: column;
	width: max-content;
	opacity: 0;
	pointer-events: none;
}
@media only screen and (min-width: 769px) {
	.l-header .p-nav-child {
		background-color: #fff;
		border-radius: 16px;
		padding: 24px;
		position: absolute;
		top: calc(100% + 28px);
		left: 50%;
		transform: translate(-50%);
		z-index: 5;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-child {
		width: 100%;
		border-left: solid 0.5333333333vw #0c7b49;
		margin-top: 6.4vw;
		margin-left: 6.4vw;
		padding-left: 4.2666666667vw;
		opacity: 1;
		pointer-events: auto;
		transition: margin-top 0.3s;
	}
}
.l-header .p-nav-child.is-hover,
.l-header .p-nav-child.is-open {
	opacity: 1;
	pointer-events: auto;
}
@media only screen and (min-width: 769px) {
	.l-header .p-nav-child.is-hover,
	.l-header .p-nav-child.is-open {
		transition: 0.3s;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-child.is-hover,
	.l-header .p-nav-child.is-open {
		gap: 4.2666666667vw;
		height: auto;
		margin-top: 6.4vw;
	}
}
.l-header .p-nav-child.is-hover:after,
.l-header .p-nav-child.is-open:after {
	content: "";
	width: 100%;
	height: 28px;
	position: absolute;
	bottom: 100%;
}
.l-header .p-nav-child a {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 700;
	color: #2a2a2a;
}
@media only screen and (min-width: 769px) {
	.l-header .p-nav-child a {
		transition: 0.3s;
	}
	.l-header .p-nav-child a:hover {
		color: #0c7b49;
	}
	.l-header .p-nav-child a:hover:before {
		background-color: #0c7b49;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-child a {
		justify-content: flex-start;
		font-size: 4.2666666667vw;
		font-weight: 500;
	}
}
@media only screen and (min-width: 769px) {
	.l-header .p-nav-child a + a {
		margin-top: 16px;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-child a + a {
		margin-top: 6.4vw;
	}
}
@media only screen and (min-width: 769px) {
	.l-header .p-nav-child a:before {
		content: "";
		width: 8px;
		aspect-ratio: 1;
		background-color: #ccc;
		rotate: 45deg;
	}
}
@media only screen and (min-width: 769px) and (min-width: 769px) {
	.l-header .p-nav-child a:before {
		transition: 0.3s;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-child a.p-child {
		font-size: 3.7333333333vw;
		line-height: 5.6vw;
		padding-left: 13.3333333333vw !important;
		position: relative;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-child a.p-child:before {
		content: "";
		display: block;
		width: 2.6666666667vw;
		height: 0.5333333333vw;
		background-color: #fff;
		position: absolute;
		top: 2.6666666667vw;
		left: 9.6vw;
	}
}
.l-header .p-nav-btn-wrap {
	display: flex;
	flex-direction: column;
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-btn-wrap {
		flex-direction: row;
		gap: 2.1333333333vw;
		width: 100%;
		background-color: #fff;
		padding: 3.2vw 4.2666666667vw;
		position: fixed;
		bottom: -100%;
		left: 0;
		transition: 0.3s;
		opacity: 0;
		pointer-events: none;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav-btn-wrap.is-fixed {
		bottom: 0;
		opacity: 1;
		pointer-events: auto;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav .p-btn__cv {
		gap: 2.1333333333vw;
		width: 100%;
		height: 17.0666666667vw;
		-webkit-border-radius: calc(infinity * 1px);
		-moz-border-radius: calc(infinity * 1px);
		border-radius: calc(infinity * 1px);
		padding: 5.8666666667vw;
		position: relative;
	}
}
@media only screen and (max-width: 768px) {
	.l-header .p-nav .p-btn__cv:after {
		width: 8.5333333333vw;
		position: absolute;
		right: 4.2666666667vw;
	}
}
.l-header .p-nav-br {
	display: none;
}
.l-header .p-menu-btn {
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 12.8vw;
	height: 12.8vw;
	background: #0c7b49;
	border-radius: 50%;
	position: absolute;
	top: 4.2666666667vw;
	right: 4.2666666667vw;
	z-index: 110;
}
.l-header .p-menu-btn-inner {
	width: 6.4vw;
	height: 3.7333333333vw;
	position: relative;
}
.l-header .p-menu-btn-bar {
	width: 6.4vw;
	height: 0.5333333333vw;
	background: #fff;
	position: absolute;
	right: 0;
	transition: 0.3s;
}
.l-header .p-menu-btn-bar:nth-of-type(1) {
	top: 0;
}
.l-header .p-menu-btn-bar:nth-of-type(2) {
	top: 1.6vw;
}
.l-header .p-menu-btn-bar:nth-of-type(3) {
	bottom: 0;
}
.l-header .p-menu-btn.is-open .p-menu-btn-bar:nth-of-type(1) {
	animation: bar01 0.6s ease-in-out forwards;
}
.l-header .p-menu-btn.is-open .p-menu-btn-bar:nth-of-type(2) {
	animation: bar02 0.6s ease-in-out forwards;
}
.l-header .p-menu-btn.is-open .p-menu-btn-bar:nth-of-type(3) {
	animation: bar03 0.6s ease-in-out forwards;
}
.l-header .p-menu-btn.is-open + .p-nav {
	opacity: 1;
	pointer-events: auto;
	transition: 0.6s;
}
.l-footer {
	background: #5e5e5e;
	position: relative;
	z-index: 10;
}
@media only screen and (max-width: 768px) {
	.l-footer {
		padding-bottom: 17.6vw;
	}
}
.l-footer * {
	color: #fff;
}
.l-footer a {
	width: fit-content;
}
@media only screen and (min-width: 769px) {
	.l-footer a {
		transition: 0.3s;
	}
	.l-footer a:hover {
		opacity: 0.6;
	}
}
.l-footer-top {
	padding-block: 64px 120px;
}
@media only screen and (max-width: 768px) {
	.l-footer-top {
		padding-block: 17.0666666667vw;
	}
}
.l-footer-bottom {
	border-top: solid 1px #e7e7e7;
	padding-block: 32px;
}
@media only screen and (max-width: 768px) {
	.l-footer-bottom {
		padding-block: 8.5333333333vw 0;
	}
}
.l-footer-inner {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
@media only screen and (min-width: 769px) {
	.l-footer-inner {
		padding-inline: 40px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.l-footer-inner {
		padding-inline: 24px;
	}
}
@media only screen and (max-width: 768px) {
	.l-footer-inner {
		flex-direction: column;
		padding-inline: 8.5333333333vw;
	}
}
.l-footer .p-logo-link {
	flex-shrink: 0;
	width: 102px;
	height: 85px;
}
@media only screen and (min-width: 769px) {
	.l-footer .p-logo-link {
		transition: 0.3s;
	}
	.l-footer .p-logo-link:hover {
		opacity: 0.6;
	}
}
@media only screen and (max-width: 768px) {
	.l-footer .p-logo-link {
		width: 27.2vw;
		height: 22.4vw;
	}
}
.l-footer .p-sitemap {
	display: flex;
	gap: 40px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.l-footer .p-sitemap {
		gap: clamp(2.4rem, 0.6545454545rem + 2.2727272727vw, 4rem);
	}
}
.l-footer .p-sitemap-col {
	min-width: 220px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.l-footer .p-sitemap-col {
		min-width: clamp(15rem, 7.3636363636rem + 9.9431818182vw, 22rem);
	}
}
.l-footer .p-sitemap-col > div:nth-of-type(n + 2) {
	margin-top: 16px;
}
.l-footer .p-sitemap-col > div:has(> a:nth-child(2)) {
	padding-bottom: 16px;
}
.l-footer .p-sitemap-col a {
	border-bottom: solid 1px transparent;
}
@media only screen and (min-width: 769px) {
	.l-footer .p-sitemap-col a {
		transition: 0.3s;
	}
	.l-footer .p-sitemap-col a:hover {
		opacity: 0.6;
		border-bottom-color: #fff;
	}
}
.l-footer .p-sitemap-col a + a {
	margin-top: 16px;
	margin-left: 16px;
}
.l-footer .p-link {
	display: flex;
	gap: 24px;
}
@media only screen and (max-width: 768px) {
	.l-footer .p-link {
		flex-direction: column;
		gap: 6.4vw;
	}
}
.l-footer .p-link a {
	padding-right: 32px;
	position: relative;
}
@media only screen and (min-width: 769px) {
	.l-footer .p-link a {
		transition: 0.3s;
	}
	.l-footer .p-link a:hover {
		opacity: 0.6;
	}
}
@media only screen and (max-width: 768px) {
	.l-footer .p-link a {
		padding-right: 8.5333333333vw;
	}
}
.l-footer .p-link a:after {
	content: "";
	width: 24px;
	aspect-ratio: 1;
	background-image: url('data:image/svg+xml;utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_1_645" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"><rect width="24" height="24" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_1_645)"><path d="M5.55375 19.833L4.5 18.7793L15.9462 7.33301H9V5.83301H18.5V15.333H17V8.38676L5.55375 19.833Z" fill="white"/></g></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
	.l-footer .p-link a:after {
		width: 6.4vw;
	}
}
@media only screen and (max-width: 768px) {
	.l-footer .p-copy {
		width: 100vw;
		border-top: solid 0.2666666667vw #fff;
		text-align: center;
		margin-top: 8.5333333333vw;
		padding-block: 6.4vw;
		margin-inline: -8.5333333333vw;
	}
}
.l-container {
	overflow: hidden;
	width: 100%;
	position: relative;
}
.l-block {
	padding-block: 80px 120px;
}
@media only screen and (max-width: 768px) {
	.l-block {
		/* padding-block: 17.0666666667vw; */
		padding-block: 4vw;
	}
}
.l-inner {
	width: 100%;
}
@media only screen and (min-width: 769px) {
	.l-inner {
		max-width: 1472px;
		margin-inline: auto;
	}
}
@media screen and (min-width: 769px) and (max-width: 1080px) {
	.l-inner {
		padding-inline: 20px;
	}
}
@media only screen and (max-width: 768px) {
	.l-inner {
		padding-inline: 4.2666666667vw;
	}
}
.l-under-top {
	/* padding-top: 136px; */
	padding-top: 106px;
}
@media only screen and (max-width: 768px) {
	.l-under-top {
		padding-top: 27.7333333333vw;
	}
}
/* .l-under-top ~ .l-block:nth-of-type(odd) {
	background-color: #f8f6ef;
} */
.l-under-top ~ .l-block__white {
	background-color: #fff !important;
}
.l-under-top ~ .l-block__white ~ .l-block:nth-of-type(2n) {
	background-color: #f8f6ef;
}
.l-under-inner {
	width: 100%;
}
@media only screen and (min-width: 769px) {
	.l-under-inner {
		max-width: 1024px;
		margin-inline: auto;
	}
}
@media screen and (min-width: 769px) and (max-width: 1080px) {
	.l-under-inner {
		padding-inline: 24px;
	}
}
@media only screen and (max-width: 768px) {
	.l-under-inner {
		padding-inline: 8.5333333333vw;
	}
}
.c-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	width: 400px;
	-webkit-border-radius: calc(infinity * 1px);
	-moz-border-radius: calc(infinity * 1px);
	border-radius: calc(infinity * 1px);
	padding: 24px 64px;
	position: relative;
	cursor: pointer;
}
@media only screen and (min-width: 769px) {
	.c-btn {
		transition: 0.3s;
	}
	.c-btn:hover {
		background-color: #369168;
	}
	.c-btn:hover:before {
		background-color: #369168;
		scale: 1;
		rotate: 225deg;
	}
}
@media only screen and (max-width: 768px) {
	.c-btn {
		gap: 2.1333333333vw;
		width: 82.9333333333vw;
		padding: 5.8666666667vw;
	}
}
.c-btn:before {
	content: "";
	width: 20px;
	aspect-ratio: 1;
	position: absolute;
	right: 30px;
	top: 50%;
	z-index: 1;
	translate: 0 -50%;
	rotate: 45deg;
	scale: 0.3;
	transition:
		background-color 0.4s ease-out,
		scale 0.4s cubic-bezier(0.65, 0, 0.35, 1),
		rotate 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
@media only screen and (max-width: 768px) {
	.c-btn:before {
		width: 5.3333333333vw;
		right: 5.8666666667vw;
	}
}
.c-btn:after {
	content: "";
	width: 32px;
	aspect-ratio: 1;
	background-color: #fff;
	border-radius: 50%;
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
	.c-btn:after {
		width: 8.5333333333vw;
		right: 4.2666666667vw;
	}
}
.c-btn span {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 500;
	color: #fff;
	text-align: center;
	letter-spacing: 0.1em;
	position: relative;
	z-index: 1;
}
@media only screen and (min-width: 769px) {
	.c-btn span {
		transition: 0.3s;
	}
}
@media only screen and (max-width: 768px) {
	.c-btn span {
		font-size: 3.7333333333vw;
	}
}
.c-btn__primary {
	background-color: #0c7b49;
}
.c-btn__primary:before {
	background-color: #0c7b49;
}
@media only screen and (min-width: 769px) {
	.c-btn__primary {
		transition: 0.3s;
	}
	.c-btn__primary:hover {
		background-color: #369168;
	}
	.c-btn__primary:hover:before {
		background-color: #369168;
		scale: 1;
		rotate: 225deg;
	}
}
.c-btn__secondary {
	background-color: #2a2a2a;
}
.c-btn__secondary:before {
	background-color: #2a2a2a;
}
@media only screen and (min-width: 769px) {
	.c-btn__secondary {
		transition: 0.3s;
	}
	.c-btn__secondary:hover {
		background-color: #5e5e5e;
	}
	.c-btn__secondary:hover:before {
		background-color: #5e5e5e;
		scale: 1;
		rotate: 225deg;
	}
}
.c-btn__tertiary {
	background-color: #fff;
	border: solid 1px #0c7b49;
}
.c-btn__tertiary:before {
	background-color: #fff;
}
.c-btn__tertiary:after {
	background-color: #0c7b49;
}
@media only screen and (min-width: 769px) {
	.c-btn__tertiary {
		transition: 0.3s;
	}
	.c-btn__tertiary:hover {
		background-color: #0c7b49;
	}
	.c-btn__tertiary:hover:before {
		background-color: #0c7b49;
		scale: 1;
		rotate: 225deg;
	}
}
.c-btn__tertiary span {
	color: #0c7b49;
}
.c-btn.is-shadow {
	box-shadow: 0 2px 6px #00000040;
}
.c-btn__small {
	width: 232px;
	padding-block: 16px;
	padding-inline: 32px 48px;
}
@media only screen and (max-width: 768px) {
	.c-btn__small {
		width: 61.8666666667vw;
		padding-block: 4.2666666667vw;
		padding-inline: 4.2666666667vw 8.5333333333vw;
	}
}
.c-btn__small:before {
	width: 16px;
	right: 20px;
}
@media only screen and (max-width: 768px) {
	.c-btn__small:before {
		width: 4.2666666667vw;
		right: 5.3333333333vw;
	}
}
.c-btn__small:after {
	width: 24px;
	right: 16px;
}
@media only screen and (max-width: 768px) {
	.c-btn__small:after {
		width: 6.4vw;
		right: 4.2666666667vw;
	}
}
.c-btn__pdf {
	width: fit-content;
	box-shadow: 0 2px 6px #00000040;
	padding-block: 8px;
	padding-inline: 56px 40px;
}
@media only screen and (max-width: 768px) {
	.c-btn__pdf {
		padding-block: 2.1333333333vw;
		padding-inline: 14.9333333333vw 10.6666666667vw;
	}
}
.c-btn__pdf:before {
	width: 16px;
	right: 12px;
	top: 50%;
	z-index: 1;
	translate: 0 -50%;
	rotate: 45deg;
	scale: 0.3;
}
@media only screen and (max-width: 768px) {
	.c-btn__pdf:before {
		width: 4.2666666667vw;
		right: 3.2vw;
	}
}
.c-btn__pdf:after {
	width: 24px;
	background-color: #0c7b49;
	right: 8px;
}
@media only screen and (min-width: 769px) {
	.c-btn__pdf:after {
		transition: 0.3s;
	}
}
@media only screen and (max-width: 768px) {
	.c-btn__pdf:after {
		width: 6.4vw;
		right: 2.1333333333vw;
	}
}
@media only screen and (min-width: 769px) {
	.c-btn__pdf {
		transition: 0.3s;
	}
	.c-btn__pdf:hover:before {
		background-color: #0c7b49;
	}
	.c-btn__pdf:hover:after {
		background-color: #fff;
	}
	.c-btn__pdf:hover span {
		color: #fff;
	}
	.c-btn__pdf:hover span:before {
		background-image: url('data:image/svg+xml;utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_124_3154" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"><rect width="24" height="24" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_124_3154)"><path d="M8.42619 12.6393H9.62994V10.2318H10.8337C11.1747 10.2318 11.4606 10.1164 11.6913 9.88573C11.9221 9.65501 12.0374 9.36913 12.0374 9.02806V7.82432C12.0374 7.48326 11.9221 7.19737 11.6913 6.96666C11.4606 6.73594 11.1747 6.62058 10.8337 6.62058H8.42619V12.6393ZM9.62994 9.02806V7.82432H10.8337V9.02806H9.62994ZM13.2412 12.6393H15.6486C15.9897 12.6393 16.2756 12.5239 16.5063 12.2932C16.737 12.0625 16.8524 11.7766 16.8524 11.4355V7.82432C16.8524 7.48326 16.737 7.19737 16.5063 6.96666C16.2756 6.73594 15.9897 6.62058 15.6486 6.62058H13.2412V12.6393ZM14.4449 11.4355V7.82432H15.6486V11.4355H14.4449ZM18.0561 12.6393H19.2599V10.2318H20.4636V9.02806H19.2599V7.82432H20.4636V6.62058H18.0561V12.6393ZM7.22245 19.2599C6.56039 19.2599 5.99363 19.0241 5.52217 18.5527C5.0507 18.0812 4.81497 17.5144 4.81497 16.8524V2.40748C4.81497 1.74543 5.0507 1.17866 5.52217 0.707199C5.99363 0.235733 6.56039 0 7.22245 0H21.6674C22.3294 0 22.8962 0.235733 23.3676 0.707199C23.8391 1.17866 24.0748 1.74543 24.0748 2.40748V16.8524C24.0748 17.5144 23.8391 18.0812 23.3676 18.5527C22.8962 19.0241 22.3294 19.2599 21.6674 19.2599H7.22245ZM7.22245 16.8524H21.6674V2.40748H7.22245V16.8524ZM2.40748 24.0748C1.74543 24.0748 1.17866 23.8391 0.707199 23.3676C0.235733 22.8962 0 22.3294 0 21.6674V4.81497H2.40748V21.6674H19.2599V24.0748H2.40748Z" fill="white"/></g></svg>');
	}
}
.c-btn__pdf span {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
	color: #0c7b49;
	padding-inline: 5px;
	position: relative;
}
@media only screen and (max-width: 768px) {
	.c-btn__pdf span {
		font-size: 4.2666666667vw;
		padding-inline: 1.3333333333vw;
	}
}
.c-btn__pdf span:before {
	content: "";
	width: 24px;
	aspect-ratio: 1;
	background-image: url('data:image/svg+xml;utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_124_3147" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"><rect width="24" height="24" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_124_3147)"><path d="M8.42619 12.6393H9.62994V10.2318H10.8337C11.1747 10.2318 11.4606 10.1164 11.6913 9.88573C11.9221 9.65501 12.0374 9.36913 12.0374 9.02806V7.82432C12.0374 7.48326 11.9221 7.19737 11.6913 6.96666C11.4606 6.73594 11.1747 6.62058 10.8337 6.62058H8.42619V12.6393ZM9.62994 9.02806V7.82432H10.8337V9.02806H9.62994ZM13.2412 12.6393H15.6486C15.9897 12.6393 16.2756 12.5239 16.5063 12.2932C16.737 12.0625 16.8524 11.7766 16.8524 11.4355V7.82432C16.8524 7.48326 16.737 7.19737 16.5063 6.96666C16.2756 6.73594 15.9897 6.62058 15.6486 6.62058H13.2412V12.6393ZM14.4449 11.4355V7.82432H15.6486V11.4355H14.4449ZM18.0561 12.6393H19.2599V10.2318H20.4636V9.02806H19.2599V7.82432H20.4636V6.62058H18.0561V12.6393ZM7.22245 19.2599C6.56039 19.2599 5.99363 19.0241 5.52217 18.5527C5.0507 18.0812 4.81497 17.5144 4.81497 16.8524V2.40748C4.81497 1.74543 5.0507 1.17866 5.52217 0.707199C5.99363 0.235733 6.56039 0 7.22245 0H21.6674C22.3294 0 22.8962 0.235733 23.3676 0.707199C23.8391 1.17866 24.0748 1.74543 24.0748 2.40748V16.8524C24.0748 17.5144 23.8391 18.0812 23.3676 18.5527C22.8962 19.0241 22.3294 19.2599 21.6674 19.2599H7.22245ZM7.22245 16.8524H21.6674V2.40748H7.22245V16.8524ZM2.40748 24.0748C1.74543 24.0748 1.17866 23.8391 0.707199 23.3676C0.235733 22.8962 0 22.3294 0 21.6674V4.81497H2.40748V21.6674H19.2599V24.0748H2.40748Z" fill="%230C7B49"/></g></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
	position: absolute;
	left: -32px;
	top: 50%;
	transform: translateY(-50%);
}
@media only screen and (min-width: 769px) {
	.c-btn__pdf span:before {
		transition: 0.3s;
	}
}
@media only screen and (max-width: 768px) {
	.c-btn__pdf span:before {
		width: 6.4vw;
		left: -8.5333333333vw;
	}
}
.c-btn__square {
	width: 380px;
	border-width: 2px;
	border-radius: 8px;
	padding: 18px 56px 18px 16px;
}
@media only screen and (min-width: 769px) {
	.c-btn__square {
		transition: 0.3s;
	}
	.c-btn__square:hover:after {
		background-image: url('data:image/svg+xml;utf-8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_124_3267" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="32" height="32"><rect width="32" height="32" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_124_3267)"><path d="M7.405 26.1667L6 24.7617L21.2617 9.5H12V7.5H24.6667V20.1667H22.6667V10.905L7.405 26.1667Z" fill="%23FFFFFF"/></g></svg>');
		background-repeat: no-repeat;
		-webkit-background-size: 100%;
		background-size: 100%;
	}
	.c-btn__square:hover span {
		color: #fff;
	}
}
@media only screen and (max-width: 768px) {
	.c-btn__square {
		width: 100%;
		border-width: 0.2666666667vw;
		border-radius: 2.1333333333vw;
		padding: 4.8vw 14.9333333333vw 4.8vw 4.2666666667vw;
	}
}
.c-btn__square:before {
	display: none;
}
.c-btn__square:after {
	content: "";
	width: 32px;
	aspect-ratio: 1;
	background-image: url('data:image/svg+xml;utf-8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_124_3267" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="32" height="32"><rect width="32" height="32" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_124_3267)"><path d="M7.405 26.1667L6 24.7617L21.2617 9.5H12V7.5H24.6667V20.1667H22.6667V10.905L7.405 26.1667Z" fill="%230C7B49"/></g></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
	background-color: initial;
	border-radius: 0;
}
@media only screen and (min-width: 769px) {
	.c-btn__square:after {
		transition: 0.3s;
	}
}
@media only screen and (max-width: 768px) {
	.c-btn__square:after {
		width: 8.5333333333vw;
	}
}
@media only screen and (max-width: 768px) {
	.c-btn__square span {
		font-size: 4.8vw;
	}
}
.c-link-arrow {
	position: relative;
}
.c-link-arrow:before {
	content: "";
	width: 20px;
	background-color: #fff;
	aspect-ratio: 1;
	position: absolute;
	transform-origin: center;
	z-index: 1;
	rotate: 45deg;
	scale: 0.3;
	transition:
		background-color 0.4s ease-out,
		scale 0.4s cubic-bezier(0.65, 0, 0.35, 1),
		rotate 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
@media only screen and (max-width: 768px) {
	.c-link-arrow:before {
		width: 5.3333333333vw;
		right: 5.8666666667vw;
	}
}
@media only screen and (min-width: 769px) {
	.c-link-arrow:before {
		transition: 0.3s;
	}
	.c-link-arrow:before:hover {
		background-color: #0c7b49;
	}
	.c-link-arrow:before:hover:before {
		background-color: #0c7b49;
		scale: 1;
		rotate: 225deg;
	}
}
.c-link-arrow:after {
	content: "";
	width: 32px;
	aspect-ratio: 1;
	background-color: #0c7b49;
	border-radius: 50%;
	position: absolute;
}
@media only screen and (min-width: 769px) {
	.c-link-arrow:after {
		transition: 0.3s;
	}
}
@media only screen and (max-width: 768px) {
	.c-link-arrow:after {
		width: 8.5333333333vw;
		right: 4.2666666667vw;
	}
}
.c-under-heading {
	background-image: url(../img/under_heading_bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	padding-block: 48px;
}
@media only screen and (max-width: 768px) {
	.c-under-heading {
		padding-block: 10.6666666667vw;
	}
}
.c-under-heading-box {
	margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
	.c-under-heading-box {
		margin-bottom: 10.6666666667vw;
	}
}
.c-bread {
	overflow-x: scroll;
	width: 100%;
	padding-block: 24px;
	position: relative;
	z-index: 1;
}
@media only screen and (max-width: 768px) {
	.c-bread {
		padding-block: 2.1333333333vw;
	}
}
.c-bread::-webkit-scrollbar {
	display: none;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.c-bread .l-inner {
		padding-inline: 0;
	}
}
@media only screen and (max-width: 768px) {
	.c-bread .l-inner {
		padding-inline: 0;
	}
}
.c-bread .l-inner ol {
	display: flex;
	align-items: center;
	width: max-content;
	height: 100%;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.c-bread .l-inner ol {
		padding-inline: 20px;
	}
}
@media only screen and (max-width: 768px) {
	.c-bread .l-inner ol {
		padding-inline: 4.2666666667vw;
	}
}
.c-bread-item {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5;
}
@media only screen and (max-width: 768px) {
	.c-bread-item {
		font-size: 2.6666666667vw;
		line-height: 1.3;
		letter-spacing: 0;
	}
}
.c-bread-item:nth-of-type(n + 2) {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: 8px;
}
@media only screen and (max-width: 768px) {
	.c-bread-item:nth-of-type(n + 2) {
		gap: 2.1333333333vw;
		margin-left: 2.1333333333vw;
	}
}
.c-bread-item:nth-of-type(n + 2):before {
	content: "";
	width: 14px;
	height: 14px;
	background-image: url('data:image/svg+xml;utf-8,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_122_7778" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="14" height="14"><rect width="14" height="14" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_122_7778)"><path d="M4.51602 12.8141L3.62643 11.9148L8.56041 6.9808L3.62643 2.04667L4.51602 1.14746L10.3494 6.9808L4.51602 12.8141Z" fill="%232A2A2A"/></g></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
}
@media only screen and (max-width: 768px) {
	.c-bread-item:nth-of-type(n + 2):before {
		width: 2.6666666667vw;
		height: 2.6666666667vw;
	}
}
.c-bread-item:last-of-type a {
	color: #aaa;
	pointer-events: none;
}
.c-bread-item a {
	color: #2a2a2a;
}
@media only screen and (min-width: 769px) {
	.c-bread-item a {
		transition: 0.3s;
	}
	.c-bread-item a:hover {
		opacity: 0.6;
	}
}
.c-anchor-inner {
	display: flex;
	justify-content: center;
	gap: 64px;
}
@media only screen and (max-width: 768px) {
	.c-anchor-inner {
		gap: 2.6666666667vw;
	}
}
.c-anchor-item {
	position: relative;
	cursor: pointer;
}
@media only screen and (max-width: 768px) {
	.c-anchor-item {
		padding-block: 2.6666666667vw;
		padding-right: 10.1333333333vw;
	}
}
.c-anchor-item:before {
	content: "";
	width: 100%;
	height: 0;
	background-color: #0c7b49;
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translate(-50%);
}
.c-anchor-item:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0px 4px 0 4px;
	border-color: #0c7b49 transparent transparent transparent;
	position: absolute;
	top: 32px;
	left: 50%;
	transform: translate(-50%);
}
.c-anchor-item:hover:before {
	height: 1px;
}
.c-anchor-item:hover:after {
	border-width: 5px 4px 0 4px;
}
@media only screen and (min-width: 769px) {
	.c-anchor-item:hover:after {
		transition: 0.3s;
	}
}
.c-news {
	max-width: 1024px;
	margin-inline: auto;
}
@media only screen and (max-width: 768px) {
	.c-news {
		padding-inline: 4.2666666667vw;
	}
}
.c-news-item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	border-top: solid 1px #e7e7e7;
	padding-block: 24px;
	padding-inline: 8px;
}
@media only screen and (min-width: 769px) {
	.c-news-item {
		transition: 0.3s;
	}
	.c-news-item:hover p:nth-of-type(2) {
		color: #0c7b49;
		text-decoration: underline;
	}
}
@media only screen and (max-width: 768px) {
	.c-news-item {
		gap: 2.1333333333vw;
		padding-block: 6.4vw;
		padding-inline: 2.1333333333vw;
	}
}
.c-news-item:last-of-type {
	border-bottom: solid 1px #e7e7e7;
}
@media only screen and (min-width: 769px) {
	.c-news-item p:nth-of-type(2) {
		transition: 0.3s;
	}
}
.c-contact-block {
	background-image: url(../img/bg_01.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	padding-block: 80px !important;
}
@media only screen and (max-width: 768px) {
	.c-contact-block {
		padding-block: 17.0666666667vw;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.c-contact-block .p-shell {
		width: calc((100% - clamp(4.8rem, -3.8181818182rem + 11.2215909091vw, 12.7rem)) / 2);
	}
}
@media only screen and (max-width: 768px) {
	.c-contact-block .p-shell:nth-of-type(2) {
		margin-top: 10.6666666667vw;
		padding-top: 10.6666666667vw;
		position: relative;
	}
}
@media only screen and (max-width: 768px) {
	.c-contact-block .p-shell:nth-of-type(2):before {
		content: "";
		width: calc(100% - 8.533vw);
		height: 0.2666666667vw;
		background-color: #aaa;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%);
	}
}
.c-contact-block .p-box {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: 127px;
	padding-block: 24px;
	position: relative;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.c-contact-block .p-box {
		gap: clamp(4.8rem, -3.8181818182rem + 11.2215909091vw, 12.7rem);
		padding-inline: 16px;
	}
}
@media only screen and (max-width: 768px) {
	.c-contact-block .p-box {
		flex-direction: column;
		gap: 0;
		padding-block: 0;
		padding-inline: 4.2666666667vw;
	}
}
@media only screen and (min-width: 769px) {
	.c-contact-block .p-box:before {
		content: "";
		width: 1px;
		height: 100%;
		background-color: #aaa;
		position: absolute;
		top: 0;
		left: 50%;
	}
}
@media only screen and (max-width: 768px) {
	.c-contact-block .p-box:before {
		width: calc(100% - 8.533vw);
		height: 0.2666666667vw;
		top: 50%;
		left: 50%;
		transform: translate(-50%);
	}
}
.c-contact-block .p-box .c-btn {
	width: 480px;
	margin-top: 24px;
	padding-block: 46px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.c-contact-block .p-box .c-btn {
		width: 100%;
		padding-left: clamp(2.4rem, -1.9636363636rem + 5.6818181818vw, 6.4rem);
	}
}
@media only screen and (max-width: 768px) {
	.c-contact-block .p-box .c-btn {
		width: 100%;
		margin-top: 4.2666666667vw;
		padding-block: 6.4vw;
		padding-inline: 2.6666666667vw 8vw;
	}
}
.c-contact-block .p-box .c-btn:before {
	right: 52px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.c-contact-block .p-box .c-btn:before {
		right: clamp(3rem, 0.6rem + 3.125vw, 5.2rem);
	}
}
@media only screen and (max-width: 768px) {
	.c-contact-block .p-box .c-btn:before {
		right: 5.8666666667vw;
	}
}
.c-contact-block .p-box .c-btn:after {
	right: 46px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.c-contact-block .p-box .c-btn:after {
		right: clamp(2.4rem, 0rem + 3.125vw, 4.6rem);
	}
}
@media only screen and (max-width: 768px) {
	.c-contact-block .p-box .c-btn:after {
		right: 4.2666666667vw;
	}
}
.c-contact-block .p-box .c-btn span {
	font-size: 20px;
	font-size: 2rem;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.c-contact-block .p-box .c-btn span {
		font-size: clamp(1.8rem, 1.5818181818rem + 0.2840909091vw, 2rem);
	}
}
@media only screen and (max-width: 768px) {
	.c-contact-block .p-box .c-btn span {
		font-size: 4.8vw;
		letter-spacing: 0;
	}
}
.c-contact-br {
	display: none;
}
@media only screen and (min-width: 769px) and (max-width: 1100px) {
	.c-contact-br {
		display: block;
	}
}
.c-tel {
	padding-left: 46px;
	position: relative;
}
@media only screen and (max-width: 768px) {
	.c-tel {
		padding-left: 12.2666666667vw;
	}
}
.c-tel:before {
	content: "";
	width: 40px;
	aspect-ratio: 1;
	background-image: url('data:image/svg+xml;utf-8,<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M30.4006 32.1663C27.2597 32.1663 24.1043 31.4361 20.9343 29.9755C17.7646 28.515 14.8496 26.4547 12.1893 23.7947C9.53989 21.1344 7.48489 18.2219 6.02433 15.0572C4.56377 11.8927 3.8335 8.74009 3.8335 5.59926C3.8335 5.09926 4.00016 4.67981 4.3335 4.34092C4.66683 4.00231 5.0835 3.83301 5.5835 3.83301H11.0193C11.4402 3.83301 11.8114 3.97037 12.1331 4.24509C12.4547 4.51954 12.6593 4.8587 12.7468 5.26259L13.7022 10.1663C13.7684 10.6213 13.7545 11.0123 13.6606 11.3393C13.5664 11.6662 13.3975 11.9408 13.1539 12.163L9.30475 15.9101C9.92419 17.0445 10.632 18.1177 11.4281 19.1297C12.2239 20.1413 13.0856 21.1076 14.0131 22.0284C14.9275 22.9431 15.8997 23.7926 16.9297 24.5768C17.9597 25.3609 19.072 26.0907 20.2664 26.7659L24.0064 22.9934C24.2673 22.722 24.5831 22.5318 24.9539 22.4226C25.3245 22.3137 25.7096 22.287 26.1093 22.3426L30.7372 23.2851C31.1581 23.3962 31.5016 23.6109 31.7677 23.9293C32.0338 24.2476 32.1668 24.6087 32.1668 25.0126V30.4163C32.1668 30.9163 31.9975 31.333 31.6589 31.6663C31.32 31.9997 30.9006 32.1663 30.4006 32.1663Z" fill="white"/></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
	.c-tel:before {
		width: 10.6666666667vw;
	}
}
.c-scroll {
	position: relative;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.c-scroll {
		overflow-x: scroll;
	}
	.c-scroll::-webkit-scrollbar {
		height: 8px;
	}
	.c-scroll::-webkit-scrollbar-track {
		background-color: transparent;
	}
	.c-scroll::-webkit-scrollbar-thumb {
		background-color: #0c7b49;
		border-radius: calc(infinity * 1px);
	}
}
@media only screen and (max-width: 768px) {
	.c-scroll {
		overflow-x: scroll;
		width: calc(100% + 17.067vw) !important;
		margin-inline: -8.5333333333vw;
		padding-inline: 8.5333333333vw;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.c-scroll .c-table {
		width: max-content;
	}
}
@media only screen and (max-width: 768px) {
	.c-scroll .c-table {
		width: max-content;
	}
}
.c-scroll.is-in svg {
	animation: scroll-guide 1s forwards;
	animation-iteration-count: 3;
}
.c-scroll > img {
	width: revert-layer;
	max-inline-size: inherit;
}
.c-table {
	border: solid 1px #aaaaaa;
}
.c-table colgroup .p-col1 {
	width: 200px;
}
@media only screen and (max-width: 768px) {
	.c-table colgroup .p-col1 {
		width: 53.3333333333vw;
	}
}
.c-table colgroup .p-col2,
.c-table colgroup .p-col3 {
	width: 412px;
}
@media only screen and (max-width: 768px) {
	.c-table colgroup .p-col2,
	.c-table colgroup .p-col3 {
		width: 109.8666666667vw;
	}
}
.c-table tr {
	border-top: solid 1px #aaaaaa;
}
.c-table tr:first-of-type th {
	background-color: #dfdfdf;
}
.c-table tr:last-of-type {
	border-bottom: solid 1px #aaaaaa;
}
.c-table tr th,
.c-table tr td {
	height: 62px;
	background-color: #fff;
	padding-inline: 16px;
}
@media only screen and (max-width: 768px) {
	.c-table tr th,
	.c-table tr td {
		height: 16.5333333333vw;
		padding-inline: 4.2666666667vw;
	}
}
.c-table tr th {
	background-color: #ebf2ef;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: 700;
	vertical-align: middle;
}
@media only screen and (max-width: 768px) {
	.c-table tr th {
		font-size: 4.2666666667vw;
	}
}
.c-table tr th:not(:first-child) {
	border-left: solid 1px #aaaaaa;
}
.c-table tr td {
	border-left: solid 1px #aaaaaa;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: center;
}
@media only screen and (max-width: 768px) {
	.c-table tr td {
		font-size: 4.2666666667vw;
	}
}
.c-table__base colgroup .p-col1 {
	width: 160px;
}
@media only screen and (max-width: 768px) {
	.c-table__base colgroup .p-col1 {
		width: 42.6666666667vw;
	}
}
.c-table__base colgroup .p-col2 {
	width: calc(100% - 160px);
}
@media only screen and (max-width: 768px) {
	.c-table__base colgroup .p-col2 {
		width: 209.0666666667vw;
	}
}
.c-table__base tr:first-of-type th {
	background-color: #ebf2ef;
}
.c-table__base tr th,
.c-table__base tr td {
	height: 48px;
}
@media only screen and (max-width: 768px) {
	.c-table__base tr th,
	.c-table__base tr td {
		height: 12.8vw;
	}
}
.c-table__base tr td {
	text-align: left;
}
.c-table__all colgroup .p-col1 {
	width: 85px;
}
@media only screen and (max-width: 768px) {
	.c-table__all colgroup .p-col1 {
		width: 22.6666666667vw;
	}
}
.c-table__all colgroup .p-col2 {
	width: 164px;
}
@media only screen and (max-width: 768px) {
	.c-table__all colgroup .p-col2 {
		width: 43.7333333333vw;
	}
}
.c-table__all colgroup .p-col3 {
	width: 84px;
}
@media only screen and (max-width: 768px) {
	.c-table__all colgroup .p-col3 {
		width: 22.4vw;
	}
}
.c-table__all colgroup .p-col4 {
	width: 102px;
}
@media only screen and (max-width: 768px) {
	.c-table__all colgroup .p-col4 {
		width: 27.2vw;
	}
}
.c-table__all colgroup .p-col5 {
	width: 102px;
}
@media only screen and (max-width: 768px) {
	.c-table__all colgroup .p-col5 {
		width: 27.2vw;
	}
}
.c-table__all colgroup .p-col6 {
	width: 146px;
}
@media only screen and (max-width: 768px) {
	.c-table__all colgroup .p-col6 {
		width: 38.9333333333vw;
	}
}
.c-table__all colgroup .p-col7 {
	width: 196px;
}
@media only screen and (max-width: 768px) {
	.c-table__all colgroup .p-col7 {
		width: 52.2666666667vw;
	}
}
.c-table__all colgroup .p-col8 {
	width: 145px;
}
@media only screen and (max-width: 768px) {
	.c-table__all colgroup .p-col8 {
		width: 38.6666666667vw;
	}
}
.c-table__all tr th,
.c-table__all tr td {
	padding-block: 8px;
	padding-inline: 8px;
}
.c-table__all tr th span,
.c-table__all tr td span {
	display: block;
	margin-top: 4px;
}
.c-table__all tr th {
	border-left: solid 1px #aaaaaa;
}
.c-table__all tr td a {
	font-weight: 500;
	color: #0c7b49;
	text-align: left;
	text-decoration: underline;
}
@media only screen and (min-width: 769px) {
	.c-table__all tr td a {
		transition: 0.3s;
	}
	.c-table__all tr td a:hover {
		opacity: 0.5;
	}
}
.c-table__all tr td a.p-child {
	display: flex;
	align-items: center;
	gap: 8px;
}
.c-table__all tr td a.p-child:before {
	content: "";
	width: 16px;
	aspect-ratio: 1;
	background-image: url('data:image/svg+xml;utf-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_123_9202" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16"><path d="M0 0H16V16H0V0Z" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_123_9202)"><path d="M1.59961 1.59961V14.3996H14.3996" stroke="%235E5E5E" stroke-width="2" stroke-linecap="round"/></g></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
}
@keyframes scroll-guide {
	0% {
		transform: translate(0);
		opacity: 1;
	}
	49% {
		transform: translate(-40%);
		opacity: 0;
	}
	50% {
		transform: translate(40%);
		opacity: 0;
	}
	to {
		transform: translate(0);
		opacity: 1;
	}
}
.c-list li {
	padding-left: 29px;
	position: relative;
}
@media only screen and (max-width: 768px) {
	.c-list li {
		padding-left: 7.7333333333vw;
	}
}
.c-list li:nth-of-type(n + 2) {
	margin-top: 4px;
}
@media only screen and (max-width: 768px) {
	.c-list li:nth-of-type(n + 2) {
		margin-top: 1.0666666667vw;
	}
}
.c-list li:before {
	content: "";
	display: block;
	width: 29px;
	height: 29px;
	background-image: url('data:image/svg+xml;utf-8,<svg width="29" height="29" viewBox="0 0 29 29" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="14.5" y="8.56055" width="8.4" height="8.4" transform="rotate(45 14.5 8.56055)" fill="%230C7B49"/></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
@media only screen and (max-width: 768px) {
	.c-list li:before {
		width: 7.7333333333vw;
		height: 7.7333333333vw;
	}
}
.c-list__base li {
	text-indent: -1em;
	padding-left: 1em;
}
.c-list__base li:nth-of-type(n + 2) {
	margin-top: 4px;
}
@media only screen and (max-width: 768px) {
	.c-list__base li:nth-of-type(n + 2) {
		margin-top: 1.0666666667vw;
	}
}
.c-gotop {
	display: block;
	width: 110px;
	position: fixed;
	z-index: 1000;
	opacity: 0;
	pointer-events: none;
	right: 40px;
	bottom: 40px;
	transition: opacity 0.3s !important;
}
.c-gotop:hover {
	opacity: 1 !important;
}
.c-gotop:hover span {
	color: #0c7b49;
}
.c-gotop:hover span:after {
	background-image: url('data:image/svg+xml;utf-8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_1_687" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="20"><rect width="20" height="20" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_1_687)"><path d="M8.6806 4.98388L5.09214 8.55284L4 7.4607L9.4607 2L14.9214 7.4607L13.8293 8.57235L10.2408 4.98388V10.5811H8.6806V4.98388ZM8.6806 14.4816V12.1413H10.2408V14.4816H8.6806ZM8.6806 17.602V16.0418H10.2408V17.602H8.6806Z" fill="%230C7B49"/></g></svg>');
}
@media only screen and (max-width: 768px) {
	.c-gotop {
		width: 17.0666666667vw;
		right: 5.3333333333vw;
		bottom: 8.5333333333vw;
	}
}
.c-gotop.is-fixed {
	position: absolute;
	bottom: calc(100% + 24px);
}
@media only screen and (max-width: 768px) {
	.c-gotop.is-fixed {
		bottom: calc(100% + 6.4vw);
	}
}
.c-gotop span {
	display: block;
	width: 100%;
	height: 100%;
	color: #2a2a2a;
	padding-right: 30px;
	position: relative;
}
@media only screen and (min-width: 769px) {
	.c-gotop span {
		transition: 0.3s;
	}
}
.c-gotop span:after {
	content: "";
	width: 20px;
	aspect-ratio: 1;
	background-image: url('data:image/svg+xml;utf-8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_1_687" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="20"><rect width="20" height="20" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_1_687)"><path d="M8.6806 4.98388L5.09214 8.55284L4 7.4607L9.4607 2L14.9214 7.4607L13.8293 8.57235L10.2408 4.98388V10.5811H8.6806V4.98388ZM8.6806 14.4816V12.1413H10.2408V14.4816H8.6806ZM8.6806 17.602V16.0418H10.2408V17.602H8.6806Z" fill="%232A2A2A"/></g></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
@media only screen and (min-width: 769px) {
	.c-gotop span:after {
		transition: 0.3s;
	}
}
.c-gotop.is-scroll {
	opacity: 1;
	pointer-events: auto;
}
.c-side-link {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4px;
	width: 64px;
	height: 175px;
	background-color: #0c7b49;
	border: solid 2px #0c7b49;
	border-right: none;
	border-radius: 24px 0 0 24px;
	transition:
		background-color 0.3s ease-out,
		width 0.3s ease-out;
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 100;
}
.c-side-link:hover {
	width: 80px;
	background-color: #fff;
}
.c-side-link:hover:before {
	background-image: url('data:image/svg+xml;utf-8,<svg width="33" height="33" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22.3342 17.4878C20.8215 17.4878 19.5908 16.2576 19.5908 14.7455V9.7404C19.5908 8.22826 20.8216 6.99805 22.3342 6.99805C23.8469 6.99805 25.0777 8.22826 25.0777 9.7404V14.7455C25.0777 16.2576 23.847 17.4878 22.3342 17.4878ZM22.3342 8.01665C21.3834 8.01665 20.6099 8.78993 20.6099 9.74039V14.7455C20.6099 15.6959 21.3834 16.4692 22.3342 16.4692C23.285 16.4692 24.0586 15.6959 24.0586 14.7455V9.74039C24.0586 8.78993 23.2851 8.01665 22.3342 8.01665Z" fill="%230C7B49"/><path d="M16.0248 17.488C14.5121 17.488 13.2814 16.2577 13.2814 14.7456V13.3596C13.2814 11.8474 14.5121 10.6172 16.0248 10.6172C17.5375 10.6172 18.7683 11.8474 18.7683 13.3596V14.7456C18.7683 16.2577 17.5375 17.488 16.0248 17.488ZM16.0248 11.6358C15.074 11.6358 14.3004 12.4091 14.3004 13.3596V14.7456C14.3004 15.696 15.074 16.4693 16.0248 16.4693C16.9756 16.4693 17.7492 15.696 17.7492 14.7456V13.3596C17.7492 12.4091 16.9756 11.6358 16.0248 11.6358Z" fill="%230C7B49"/><path d="M13.7909 14.7908C13.5095 14.7908 13.2814 14.5628 13.2814 14.2815V9.59724C13.2814 8.16404 14.4478 6.99805 15.8816 6.99805C17.3154 6.99805 18.4819 8.16404 18.4819 9.59724C18.4819 9.87851 18.2537 10.1066 17.9723 10.1066C17.6909 10.1066 17.4628 9.87851 17.4628 9.59724C17.4628 8.72572 16.7535 8.01666 15.8816 8.01666C15.0097 8.01666 14.3004 8.72572 14.3004 9.59724V14.2815C14.3004 14.5628 14.0723 14.7908 13.7909 14.7908Z" fill="%230C7B49"/><path d="M9.68892 17.4879C8.20757 17.4879 7.00244 16.2832 7.00244 14.8024V14.5308C7.00244 14.2495 7.23057 14.0215 7.51195 14.0215C7.79332 14.0215 8.02145 14.2495 8.02145 14.5308V14.8024C8.02145 15.7215 8.76947 16.4692 9.68892 16.4692C10.6084 16.4692 11.3564 15.7215 11.3564 14.8024V14.1362C11.3564 13.2171 10.6083 12.4694 9.68892 12.4694C9.40754 12.4694 9.17942 12.2413 9.17942 11.9601C9.17942 11.6788 9.40754 11.4508 9.68892 11.4508C10.6083 11.4508 11.3564 10.703 11.3564 9.78394V9.68346C11.3564 8.76439 10.6083 8.01666 9.68892 8.01666C8.7695 8.01666 8.02145 8.76439 8.02145 9.68346C8.02145 9.96472 7.79332 10.1928 7.51195 10.1928C7.23057 10.1928 7.00244 9.96472 7.00244 9.68346C7.00244 8.20272 8.20757 6.99805 9.68892 6.99805C11.1703 6.99805 12.3754 8.20271 12.3754 9.68346V9.78394C12.3754 10.6781 11.9359 11.4717 11.2615 11.9601C11.9358 12.4484 12.3754 13.242 12.3754 14.1362V14.8024C12.3754 16.2832 11.1702 17.4879 9.68892 17.4879Z" fill="%230C7B49"/><path d="M16.039 23.2162C12.3421 23.2162 8.85849 22.5565 6.22988 21.3586C3.47395 20.1028 1.95618 18.385 1.95618 16.5216C1.95618 14.9913 2.95867 13.5673 4.85528 12.4035C5.09509 12.2563 5.40884 12.3313 5.55606 12.5711C5.70327 12.8108 5.62821 13.1244 5.3884 13.2716C4.2875 13.9471 2.97518 15.0593 2.97518 16.5216C2.97518 17.9416 4.31556 19.3668 6.65255 20.4318C9.15133 21.5704 12.4848 22.1975 16.039 22.1975C19.5932 22.1975 22.9267 21.5704 25.4255 20.4318C27.7625 19.3668 29.1028 17.9416 29.1028 16.5216C29.1028 15.0659 27.7833 13.9507 26.6764 13.2715C26.4366 13.1244 26.3615 12.8108 26.5087 12.5711C26.6559 12.3314 26.9695 12.2563 27.2094 12.4034C29.1148 13.5724 30.1219 14.9965 30.1219 16.5216C30.1219 18.385 28.6041 20.1028 25.8482 21.3586C23.2196 22.5565 19.736 23.2162 16.039 23.2162Z" fill="%230C7B49"/><path d="M4.69004 16.0089C4.66288 16.0089 4.63544 16.0067 4.60775 16.0022C4.33002 15.9572 4.14141 15.6955 4.18648 15.4179L4.53215 13.29L2.38668 13.0718C2.10674 13.0432 1.90288 12.7933 1.93137 12.5135C1.95989 12.2336 2.20947 12.0298 2.48987 12.0583L5.17333 12.3313C5.31301 12.3456 5.44061 12.4168 5.52606 12.5281C5.61148 12.6395 5.64717 12.7811 5.62467 12.9197L5.19236 15.5811C5.15173 15.8311 4.93547 16.0089 4.69004 16.0089Z" fill="%230C7B49"/><path d="M15.0959 28.1365C15.0905 28.1365 15.0851 28.1364 15.0797 28.1362C7.59805 27.9022 1.95618 25.0306 1.95618 21.4566V16.522C1.95618 16.2407 2.18431 16.0127 2.46568 16.0127C2.74706 16.0127 2.97519 16.2407 2.97519 16.522V21.4566C2.97519 22.8284 4.17635 24.1677 6.3574 25.2279C8.64911 26.3419 11.7581 27.0132 15.1116 27.1181C15.3928 27.1269 15.6137 27.362 15.6049 27.6431C15.5963 27.9188 15.3699 28.1365 15.0959 28.1365Z" fill="%230C7B49"/><path d="M25.0546 26.5899C24.8533 26.5899 24.6625 26.4698 24.5823 26.2718C24.4765 26.0112 24.6022 25.7142 24.8631 25.6085C27.5575 24.5168 29.1028 23.0036 29.1028 21.4566V16.522C29.1028 16.2407 29.3309 16.0127 29.6123 16.0127C29.8937 16.0127 30.1219 16.2407 30.1219 16.522V21.4566C30.1219 22.4964 29.6573 23.4849 28.7411 24.3948C27.904 25.226 26.728 25.952 25.2458 26.5525C25.1832 26.5779 25.1183 26.5899 25.0546 26.5899Z" fill="%230C7B49"/><path d="M26.0856 7.81187C25.185 7.81187 24.4524 7.07954 24.4524 6.17939C24.4524 5.27925 25.185 4.54688 26.0856 4.54688C26.9861 4.54688 27.7187 5.27921 27.7187 6.17939C27.7187 7.07957 26.986 7.81187 26.0856 7.81187ZM26.0856 5.56549C25.7469 5.56549 25.4715 5.84089 25.4715 6.17939C25.4715 6.51789 25.7469 6.79326 26.0856 6.79326C26.4242 6.79326 26.6996 6.51786 26.6996 6.17939C26.6996 5.84093 26.4241 5.56549 26.0856 5.56549Z" fill="%230C7B49"/><path d="M17.48 28.117C17.21 28.117 16.9848 27.9049 16.9716 27.6323C16.9579 27.3514 17.1747 27.1126 17.4558 27.099C17.5128 27.0962 17.5697 27.0933 17.6265 27.0902C17.9086 27.0751 18.1476 27.2906 18.1626 27.5715C18.1778 27.8523 17.9622 28.0923 17.6812 28.1073C17.6227 28.1105 17.564 28.1135 17.5051 28.1164C17.4967 28.1168 17.4883 28.117 17.48 28.117ZM20.1372 27.8645C19.888 27.8645 19.6702 27.6816 19.6336 27.4279C19.5933 27.1495 19.7865 26.8912 20.065 26.851C20.1214 26.8429 20.1776 26.8346 20.2337 26.8261C20.5114 26.784 20.7715 26.9758 20.8134 27.254C20.8553 27.5322 20.6636 27.7916 20.3853 27.8334C20.3273 27.8422 20.2691 27.8507 20.2107 27.8592C20.186 27.8627 20.1614 27.8645 20.1372 27.8645ZM22.7546 27.3425C22.5283 27.3425 22.3216 27.1906 22.2619 26.9614C22.191 26.6892 22.3543 26.4111 22.6266 26.3402C22.6816 26.3259 22.7362 26.3115 22.7906 26.2969C23.0627 26.2239 23.3419 26.3848 23.415 26.6564C23.4881 26.928 23.3271 27.2074 23.0554 27.2805C22.9983 27.2959 22.9409 27.311 22.8833 27.326C22.8403 27.3372 22.7971 27.3425 22.7546 27.3425Z" fill="%230C7B49"/></svg>');
}
.c-side-link:hover span {
	color: #0c7b49;
}
.c-side-link:before {
	content: "";
	display: block;
	width: 32px;
	aspect-ratio: 1;
	background-image: url('data:image/svg+xml;utf-8,<svg width="33" height="33" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22.3342 17.4878C20.8215 17.4878 19.5908 16.2576 19.5908 14.7455V9.7404C19.5908 8.22826 20.8216 6.99805 22.3342 6.99805C23.8469 6.99805 25.0777 8.22826 25.0777 9.7404V14.7455C25.0777 16.2576 23.847 17.4878 22.3342 17.4878ZM22.3342 8.01665C21.3834 8.01665 20.6099 8.78993 20.6099 9.74039V14.7455C20.6099 15.6959 21.3834 16.4692 22.3342 16.4692C23.285 16.4692 24.0586 15.6959 24.0586 14.7455V9.74039C24.0586 8.78993 23.2851 8.01665 22.3342 8.01665Z" fill="white"/><path d="M16.0248 17.488C14.5121 17.488 13.2814 16.2577 13.2814 14.7456V13.3596C13.2814 11.8474 14.5121 10.6172 16.0248 10.6172C17.5375 10.6172 18.7683 11.8474 18.7683 13.3596V14.7456C18.7683 16.2577 17.5375 17.488 16.0248 17.488ZM16.0248 11.6358C15.074 11.6358 14.3004 12.4091 14.3004 13.3596V14.7456C14.3004 15.696 15.074 16.4693 16.0248 16.4693C16.9756 16.4693 17.7492 15.696 17.7492 14.7456V13.3596C17.7492 12.4091 16.9756 11.6358 16.0248 11.6358Z" fill="white"/><path d="M13.7909 14.7908C13.5095 14.7908 13.2814 14.5628 13.2814 14.2815V9.59724C13.2814 8.16404 14.4478 6.99805 15.8816 6.99805C17.3154 6.99805 18.4819 8.16404 18.4819 9.59724C18.4819 9.87851 18.2537 10.1066 17.9723 10.1066C17.6909 10.1066 17.4628 9.87851 17.4628 9.59724C17.4628 8.72572 16.7535 8.01666 15.8816 8.01666C15.0097 8.01666 14.3004 8.72572 14.3004 9.59724V14.2815C14.3004 14.5628 14.0723 14.7908 13.7909 14.7908Z" fill="white"/><path d="M9.68892 17.4879C8.20757 17.4879 7.00244 16.2832 7.00244 14.8024V14.5308C7.00244 14.2495 7.23057 14.0215 7.51195 14.0215C7.79332 14.0215 8.02145 14.2495 8.02145 14.5308V14.8024C8.02145 15.7215 8.76947 16.4692 9.68892 16.4692C10.6084 16.4692 11.3564 15.7215 11.3564 14.8024V14.1362C11.3564 13.2171 10.6083 12.4694 9.68892 12.4694C9.40754 12.4694 9.17942 12.2413 9.17942 11.9601C9.17942 11.6788 9.40754 11.4508 9.68892 11.4508C10.6083 11.4508 11.3564 10.703 11.3564 9.78394V9.68346C11.3564 8.76439 10.6083 8.01666 9.68892 8.01666C8.7695 8.01666 8.02145 8.76439 8.02145 9.68346C8.02145 9.96472 7.79332 10.1928 7.51195 10.1928C7.23057 10.1928 7.00244 9.96472 7.00244 9.68346C7.00244 8.20272 8.20757 6.99805 9.68892 6.99805C11.1703 6.99805 12.3754 8.20271 12.3754 9.68346V9.78394C12.3754 10.6781 11.9359 11.4717 11.2615 11.9601C11.9358 12.4484 12.3754 13.242 12.3754 14.1362V14.8024C12.3754 16.2832 11.1702 17.4879 9.68892 17.4879Z" fill="white"/><path d="M16.039 23.2162C12.3421 23.2162 8.85849 22.5565 6.22988 21.3586C3.47395 20.1028 1.95618 18.385 1.95618 16.5216C1.95618 14.9913 2.95867 13.5673 4.85528 12.4035C5.09509 12.2563 5.40884 12.3313 5.55606 12.5711C5.70327 12.8108 5.62821 13.1244 5.3884 13.2716C4.2875 13.9471 2.97518 15.0593 2.97518 16.5216C2.97518 17.9416 4.31556 19.3668 6.65255 20.4318C9.15133 21.5704 12.4848 22.1975 16.039 22.1975C19.5932 22.1975 22.9267 21.5704 25.4255 20.4318C27.7625 19.3668 29.1028 17.9416 29.1028 16.5216C29.1028 15.0659 27.7833 13.9507 26.6764 13.2715C26.4366 13.1244 26.3615 12.8108 26.5087 12.5711C26.6559 12.3314 26.9695 12.2563 27.2094 12.4034C29.1148 13.5724 30.1219 14.9965 30.1219 16.5216C30.1219 18.385 28.6041 20.1028 25.8482 21.3586C23.2196 22.5565 19.736 23.2162 16.039 23.2162Z" fill="white"/><path d="M4.69004 16.0089C4.66288 16.0089 4.63544 16.0067 4.60775 16.0022C4.33002 15.9572 4.14141 15.6955 4.18648 15.4179L4.53215 13.29L2.38668 13.0718C2.10674 13.0432 1.90288 12.7933 1.93137 12.5135C1.95989 12.2336 2.20947 12.0298 2.48987 12.0583L5.17333 12.3313C5.31301 12.3456 5.44061 12.4168 5.52606 12.5281C5.61148 12.6395 5.64717 12.7811 5.62467 12.9197L5.19236 15.5811C5.15173 15.8311 4.93547 16.0089 4.69004 16.0089Z" fill="white"/><path d="M15.0959 28.1365C15.0905 28.1365 15.0851 28.1364 15.0797 28.1362C7.59805 27.9022 1.95618 25.0306 1.95618 21.4566V16.522C1.95618 16.2407 2.18431 16.0127 2.46568 16.0127C2.74706 16.0127 2.97519 16.2407 2.97519 16.522V21.4566C2.97519 22.8284 4.17635 24.1677 6.3574 25.2279C8.64911 26.3419 11.7581 27.0132 15.1116 27.1181C15.3928 27.1269 15.6137 27.362 15.6049 27.6431C15.5963 27.9188 15.3699 28.1365 15.0959 28.1365Z" fill="white"/><path d="M25.0546 26.5899C24.8533 26.5899 24.6625 26.4698 24.5823 26.2718C24.4765 26.0112 24.6022 25.7142 24.8631 25.6085C27.5575 24.5168 29.1028 23.0036 29.1028 21.4566V16.522C29.1028 16.2407 29.3309 16.0127 29.6123 16.0127C29.8937 16.0127 30.1219 16.2407 30.1219 16.522V21.4566C30.1219 22.4964 29.6573 23.4849 28.7411 24.3948C27.904 25.226 26.728 25.952 25.2458 26.5525C25.1832 26.5779 25.1183 26.5899 25.0546 26.5899Z" fill="white"/><path d="M26.0856 7.81187C25.185 7.81187 24.4524 7.07954 24.4524 6.17939C24.4524 5.27925 25.185 4.54688 26.0856 4.54688C26.9861 4.54688 27.7187 5.27921 27.7187 6.17939C27.7187 7.07957 26.986 7.81187 26.0856 7.81187ZM26.0856 5.56549C25.7469 5.56549 25.4715 5.84089 25.4715 6.17939C25.4715 6.51789 25.7469 6.79326 26.0856 6.79326C26.4242 6.79326 26.6996 6.51786 26.6996 6.17939C26.6996 5.84093 26.4241 5.56549 26.0856 5.56549Z" fill="white"/><path d="M17.48 28.117C17.21 28.117 16.9848 27.9049 16.9716 27.6323C16.9579 27.3514 17.1747 27.1126 17.4558 27.099C17.5128 27.0962 17.5697 27.0933 17.6265 27.0902C17.9086 27.0751 18.1476 27.2906 18.1626 27.5715C18.1778 27.8523 17.9622 28.0923 17.6812 28.1073C17.6227 28.1105 17.564 28.1135 17.5051 28.1164C17.4967 28.1168 17.4883 28.117 17.48 28.117ZM20.1372 27.8645C19.888 27.8645 19.6702 27.6816 19.6336 27.4279C19.5933 27.1495 19.7865 26.8912 20.065 26.851C20.1214 26.8429 20.1776 26.8346 20.2337 26.8261C20.5114 26.784 20.7715 26.9758 20.8134 27.254C20.8553 27.5322 20.6636 27.7916 20.3853 27.8334C20.3273 27.8422 20.2691 27.8507 20.2107 27.8592C20.186 27.8627 20.1614 27.8645 20.1372 27.8645ZM22.7546 27.3425C22.5283 27.3425 22.3216 27.1906 22.2619 26.9614C22.191 26.6892 22.3543 26.4111 22.6266 26.3402C22.6816 26.3259 22.7362 26.3115 22.7906 26.2969C23.0627 26.2239 23.3419 26.3848 23.415 26.6564C23.4881 26.928 23.3271 27.2074 23.0554 27.2805C22.9983 27.2959 22.9409 27.311 22.8833 27.326C22.8403 27.3372 22.7971 27.3425 22.7546 27.3425Z" fill="white"/></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
}
@media only screen and (min-width: 769px) {
	.c-side-link:before {
		transition: 0.3s;
	}
}
.c-side-link span {
	font-size: 12px;
	font-size: 1.2rem;
	writing-mode: vertical-lr;
	line-height: 1.2;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.02em;
}
@media only screen and (min-width: 769px) {
	.c-side-link span {
		transition: 0.3s;
	}
}
.c-card {
	display: flex;
	gap: 24px;
}
@media only screen and (max-width: 768px) {
	.c-card {
		flex-direction: column;
		gap: 6.4vw;
	}
}
.c-card > div {
	width: calc((100% - 48px) / 3);
}
@media only screen and (max-width: 768px) {
	.c-card > div {
		width: 100%;
	}
}
.c-card__2 > div {
	width: calc((100% - 24px) / 2);
	max-width: 500px;
}
@media only screen and (max-width: 768px) {
	.c-card__2 > div {
		width: 100%;
		max-width: initial;
	}
}
.c-card__2 > div .p-txt-box {
	background-color: #fff;
	padding: 24px 40px 40px;
}
@media only screen and (max-width: 768px) {
	.c-card__2 > div .p-txt-box {
		padding: 4.2666666667vw 6.4vw 6.4vw;
	}
}
.c-heading-box {
	margin-bottom: 64px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.c-heading-box {
		padding-inline: 16px;
	}
}
@media only screen and (max-width: 768px) {
	.c-heading-box {
		margin-bottom: 10.6666666667vw;
		padding-inline: 4.2666666667vw;
	}
}
.c-heading-1 {
	font-size: 96px;
	font-size: 9.6rem;
	line-height: 1.1;
	font-family:
		DM Sans,
		sans-serif;
	font-weight: 600;
}
@media only screen and (max-width: 768px) {
	.c-heading-1 {
		font-size: 17.0666666667vw;
		line-height: 1;
	}
}
.c-heading-2 {
	font-size: 48px;
	font-size: 4.8rem;
	line-height: 1.6;
	font-family:
		DM Sans,
		sans-serif;
	font-weight: 600;
	letter-spacing: 0.04em;
}
@media only screen and (max-width: 768px) {
	.c-heading-2 {
		font-size: 10.6666666667vw;
	}
}
.c-heading-3 {
	font-size: 36px;
	font-size: 3.6rem;
	line-height: 1.5;
	font-family:
		Zen Kaku Gothic New,
		sans-serif;
	font-weight: 700;
	letter-spacing: 0.02em;
}
@media only screen and (max-width: 768px) {
	.c-heading-3 {
		font-size: 8.5333333333vw;
	}
}
.c-heading-4 {
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 1.6;
	font-family:
		Zen Kaku Gothic New,
		sans-serif;
	font-weight: 600;
	letter-spacing: 0.02em;
}
@media only screen and (max-width: 768px) {
	.c-heading-4 {
		font-size: 5.8666666667vw;
	}
}
.c-heading-5 {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.6;
	font-family:
		Zen Kaku Gothic New,
		sans-serif;
	font-weight: 600;
	letter-spacing: 0.02em;
}
@media only screen and (max-width: 768px) {
	.c-heading-5 {
		font-size: 5.3333333333vw;
	}
}
.c-heading-5__bo {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.6;
	font-family:
		Zen Kaku Gothic New,
		sans-serif;
	font-weight: 700;
	letter-spacing: 0.02em;
}
@media only screen and (max-width: 768px) {
	.c-heading-5__bo {
		font-size: 5.3333333333vw;
	}
}
.c-heading-6_dm {
	font-size: 64px;
	font-size: 6.4rem;
	line-height: 1.3;
	font-family:
		DM Sans,
		sans-serif;
	font-weight: 600;
}
@media only screen and (max-width: 768px) {
	.c-heading-6_dm {
		font-size: 10.6666666667vw;
	}
}
.c-text-zen-20 {
	font-size: 20px;
	font-size: 2rem;
	font-family:
		Zen Kaku Gothic New,
		sans-serif;
	line-height: 1.6;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
}
@media only screen and (max-width: 768px) {
	.c-text-zen-20 {
		font-size: 5.3333333333vw;
		line-height: 1.5;
	}
}
.c-text-zen-18 {
	font-size: 18px;
	font-size: 1.8rem;
	font-family:
		Zen Kaku Gothic New,
		sans-serif;
	line-height: 1.3;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
}
@media only screen and (max-width: 768px) {
	.c-text-zen-18 {
		font-size: 4.2666666667vw;
	}
}
@media only screen and (max-width: 768px) {
	.c-text-sp-zen-20__160-me {
		font-size: 5.3333333333vw;
		letter-spacing: 0.02em;
		line-height: 1.6;
		font-weight: 500;
	}
}
@media only screen and (max-width: 768px) {
	.c-text-sp-zen-18__130-bo {
		font-size: 4.8vw;
		letter-spacing: 0.02em;
		line-height: 1.3;
		font-weight: 700;
	}
}
@media only screen and (max-width: 768px) {
	.c-text-sp-zen-16__130-bo {
		font-size: 4.2666666667vw;
		letter-spacing: 0.02em;
		line-height: 1.3;
		font-weight: 700;
	}
}
@media only screen and (max-width: 768px) {
	.c-text-sp-zen-12__130-bo {
		font-size: 3.2vw;
		letter-spacing: 0.02em;
		line-height: 1.3;
		font-weight: 700;
	}
}
.c-text-noto-18__180-me {
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.04em;
	line-height: 1.8;
	font-weight: 500;
}
@media only screen and (max-width: 768px) {
	.c-text-noto-18__180-me {
		font-size: 4.8vw;
	}
}
.c-text-noto-16__180-bo {
	font-size: 16px;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	line-height: 1.8;
	font-weight: 700;
}
@media only screen and (max-width: 768px) {
	.c-text-noto-16__180-bo {
		font-size: 4.2666666667vw;
	}
}
.c-text-noto-16__180-re {
	font-size: 16px;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	line-height: 1.8;
	font-weight: 400;
}
@media only screen and (max-width: 768px) {
	.c-text-noto-16__180-re {
		font-size: 4.2666666667vw;
	}
}
.c-text-noto-16__130-bo {
	font-size: 16px;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	line-height: 1.3;
	font-weight: 700;
}
@media only screen and (max-width: 768px) {
	.c-text-noto-16__130-bo {
		font-size: 4.2666666667vw;
	}
}
.c-text-noto-16__130-re {
	font-size: 16px;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	line-height: 1.3;
	font-weight: 400;
}
@media only screen and (max-width: 768px) {
	.c-text-noto-16__130-re {
		font-size: 4.2666666667vw;
	}
}
.c-text-noto-14__180-re {
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	line-height: 1.8;
	font-weight: 400;
}
@media only screen and (max-width: 768px) {
	.c-text-noto-14__180-re {
		font-size: 3.7333333333vw;
	}
}
.c-text-noto-14__130-me {
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	line-height: 1.3;
	font-weight: 500;
}
@media only screen and (max-width: 768px) {
	.c-text-noto-14__130-me {
		font-size: 3.7333333333vw;
	}
}
.c-text-noto-12__130-me {
	font-size: 12px;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
	line-height: 1.3;
	font-weight: 500;
}
@media only screen and (max-width: 768px) {
	.c-text-noto-12__130-me {
		font-size: 3.2vw;
	}
}
@media only screen and (max-width: 768px) {
	.c-text-sp-noto-16__180-re {
		font-size: 4.2666666667vw;
		font-family:
			Noto Sans JP,
			-apple-system,
			BlinkMacSystemFont,
			Helvetica Neue,
			游ゴシック Medium,
			YuGothic,
			YuGothicM,
			Hiragino Kaku Gothic ProN,
			メイリオ,
			Meiryo,
			sans-serif !important;
		letter-spacing: 0.04em;
		line-height: 1.8;
		font-weight: 400;
	}
}
@media only screen and (max-width: 768px) {
	.c-text-sp-noto-14__130-re {
		font-size: 3.7333333333vw;
		font-family:
			Noto Sans JP,
			-apple-system,
			BlinkMacSystemFont,
			Helvetica Neue,
			游ゴシック Medium,
			YuGothic,
			YuGothicM,
			Hiragino Kaku Gothic ProN,
			メイリオ,
			Meiryo,
			sans-serif !important;
		letter-spacing: 0.04em;
		line-height: 1.3;
		font-weight: 400;
	}
}
@media only screen and (max-width: 768px) {
	.c-text-sp-noto-12__130-me {
		font-size: 3.2vw;
		font-family:
			Noto Sans JP,
			-apple-system,
			BlinkMacSystemFont,
			Helvetica Neue,
			游ゴシック Medium,
			YuGothic,
			YuGothicM,
			Hiragino Kaku Gothic ProN,
			メイリオ,
			Meiryo,
			sans-serif !important;
		letter-spacing: 0.04em;
		line-height: 1.3;
		font-weight: 500;
	}
}
.c-text-dm-28__150-bl {
	font-size: 28px;
	font-size: 2.8rem;
	font-family:
		DM Sans,
		sans-serif;
	line-height: 1.5;
	font-weight: 900;
}
@media only screen and (max-width: 768px) {
	.c-text-dm-28__150-bl {
		font-size: 7.4666666667vw;
	}
}
.c-text-dm-16__150-bl {
	font-size: 16px;
	font-size: 1.6rem;
	font-family:
		DM Sans,
		sans-serif;
	line-height: 1.5;
	font-weight: 900;
}
@media only screen and (max-width: 768px) {
	.c-text-dm-16__150-bl {
		font-size: 4.2666666667vw;
	}
}
.c-text-dm-16__150-bo {
	font-size: 16px;
	font-size: 1.6rem;
	font-family:
		DM Sans,
		sans-serif;
	line-height: 1.5;
	font-weight: 700;
}
@media only screen and (max-width: 768px) {
	.c-text-dm-16__150-bo {
		font-size: 4.2666666667vw;
	}
}
.c-text-dm-12__150-re {
	font-size: 12px;
	font-size: 1.2rem;
	font-family:
		DM Sans,
		sans-serif;
	line-height: 1.5;
	font-weight: 400;
	letter-spacing: 0.02em;
}
@media only screen and (max-width: 768px) {
	.c-text-dm-12__150-re {
		font-size: 3.2vw;
	}
}
.c-notice__indent li {
	text-indent: -1em;
	padding-left: 1em;
}
.c-center-txt {
	text-align: center !important;
}
@media only screen and (min-width: 769px) {
	.c-center-txt__pc {
		text-align: center !important;
	}
}
.c-left-txt {
	text-align: left;
}
.p-mv {
	width: 100%;
	height: 100vh;
	position: relative;
}
.p-mv .p-swiper-shell {
	width: 100%;
	height: 100vh;
}
.p-mv .swiper {
	width: 100%;
	height: 100%;
}
.p-mv .swiper-slide {
	pointer-events: none;
	transition-property: opacity;
}
.p-mv .swiper-slide picture {
	position: relative;
}
.p-mv .swiper-slide picture:before {
	content: "";
	width: 100%;
	height: 100%;
	background-image: url(../img/mv_00.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	z-index: 100;
}
@media only screen and (max-width: 768px) {
	.p-mv .swiper-slide picture:before {
		background-image: url(../img/mv_00_sp.png);
	}
}
.p-mv .swiper-slide img {
	height: 100%;
	object-fit: cover;
}
.p-mv .swiper-slide .p-mv-name {
	position: absolute;
	right: 64px;
	bottom: 32px;
	z-index: 110;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-mv .swiper-slide .p-mv-name {
		right: clamp(4rem, 1.3818181818rem + 3.4090909091vw, 6.4rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-mv .swiper-slide .p-mv-name {
		right: 6.4vw;
		bottom: 8.5333333333vw;
	}
}
.p-mv .p-txt-box {
	position: absolute;
	z-index: 100;
}
@media only screen and (min-width: 769px) {
	.p-mv .p-txt-box {
		right: 94px;
		top: 50%;
		transform: translateY(-50%);
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-mv .p-txt-box {
		right: clamp(4.8rem, -0.2181818182rem + 6.5340909091vw, 9.4rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-mv .p-txt-box {
		width: auto;
		top: initial;
		bottom: 23.2vw;
		left: 8.5333333333vw;
	}
}
.p-mv .p-txt-box > h1 {
	width: 450px;
	height: 373px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-mv .p-txt-box > h1 {
		width: clamp(33rem, 19.9090909091rem + 17.0454545455vw, 45rem);
		height: clamp(27.3rem, 16.3909090909rem + 14.2045454545vw, 37.3rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-mv .p-txt-box > h1 {
		width: 58.6666666667vw;
		height: 48.5333333333vw;
	}
}
.p-mv .p-txt-box > h1 svg {
	width: 100%;
}
.swiper-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	position: absolute;
	bottom: 40px !important;
	left: 50% !important;
	transform: translate(-50%);
	z-index: 10;
}
@media only screen and (max-width: 768px) {
	.swiper-pagination {
		gap: 4.2666666667vw;
		bottom: 8.5333333333vw !important;
	}
}
.swiper-pagination-bullet {
	width: 10px;
	aspect-ratio: 1;
	background: #fff;
	border-radius: 2px;
	rotate: 45deg;
}
@media only screen and (max-width: 768px) {
	.swiper-pagination-bullet {
		width: 2.6666666667vw;
		height: 2.6666666667vw;
	}
}
.swiper-pagination-bullet-active {
	background: #0c7b49;
}
.p-panorama-block {
	background-color: #fff;
	padding-block: 64px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-panorama-block {
		padding-block: clamp(4rem, 1.3818181818rem + 3.4090909091vw, 6.4rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-panorama-block {
		padding-block: 10.6666666667vw;
		padding-inline: 4.2666666667vw;
	}
}
.p-panorama-block .c-btn {
	width: 1024px;
	height: 280px;
	background-color: transparent;
	border-radius: 0;
	margin-inline: auto;
	padding: 0;
	position: relative;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-panorama-block .c-btn {
		width: calc(100% - 32px);
	}
}
@media only screen and (max-width: 768px) {
	.p-panorama-block .c-btn {
		width: 100%;
		height: 71.4666666667vw;
	}
}
.p-panorama-block .c-btn:before {
	right: 44px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-panorama-block .c-btn:before {
		right: clamp(3.4rem, 2.3090909091rem + 1.4204545455vw, 4.4rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-panorama-block .c-btn:before {
		right: 5.6vw;
	}
}
.p-panorama-block .c-btn:after {
	width: 44px;
	right: 32px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-panorama-block .c-btn:after {
		width: clamp(3.6rem, 2.7272727273rem + 1.1363636364vw, 4.4rem);
		right: clamp(2.6rem, 1.9454545455rem + 0.8522727273vw, 3.2rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-panorama-block .c-btn:after {
		width: 8vw;
		right: 4.2666666667vw;
	}
}
.p-panorama-block .c-btn .p-img-box {
	overflow: hidden;
	border-radius: 16px;
}
@media only screen and (max-width: 768px) {
	.p-panorama-block .c-btn .p-img-box {
		height: 71.4666666667vw;
		border-radius: 4.2666666667vw;
	}
}
.p-panorama-block .c-btn .p-img-box img {
	filter: blur(6px);
	transition: filter 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
.p-panorama-block .c-btn .p-txt-box {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 630px;
	height: 232px;
	background-color: #0c7b49b3;
	border-radius: 16px 0 0 16px;
	padding-inline: 40px 100px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-panorama-block .c-btn .p-txt-box {
		width: clamp(56rem, 48.3636363636rem + 9.9431818182vw, 63rem);
		height: clamp(16rem, 8.1454545455rem + 10.2272727273vw, 23.2rem);
		padding-inline: clamp(3.2rem, 2.3272727273rem + 1.1363636364vw, 4rem) clamp(7.6rem, 4.9818181818rem + 3.4090909091vw, 10rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-panorama-block .c-btn .p-txt-box {
		justify-content: center;
		width: 85.0666666667vw;
		height: 62.9333333333vw;
		flex-direction: column;
		gap: 0;
		border-radius: 4.2666666667vw 0 0 4.2666666667vw;
		padding-inline: 12vw 17.8666666667vw;
	}
}
.p-panorama-block .c-btn .p-txt-box .p-icon {
	width: 120px;
	height: 120px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-panorama-block .c-btn .p-txt-box .p-icon {
		width: clamp(8rem, 3.6363636364rem + 5.6818181818vw, 12rem);
		height: clamp(8rem, 3.6363636364rem + 5.6818181818vw, 12rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-panorama-block .c-btn .p-txt-box .p-icon {
		width: 21.3333333333vw;
		height: 21.3333333333vw;
	}
}
@media only screen and (min-width: 769px) {
	.p-panorama-block .c-btn {
		transition: 0.3s;
	}
	.p-panorama-block .c-btn:hover .p-img-box img {
		filter: blur(0);
	}
}
.p-bg-block {
	padding-block: 120px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-bg-block {
		padding-block: clamp(8rem, 3.6363636364rem + 5.6818181818vw, 12rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-bg-block {
		padding-block: 17.0666666667vw;
	}
}
.p-bg-block:nth-of-type(odd) {
	background-image: url(../img/bg_01.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.p-card {
	background-color: #fff;
	padding-bottom: 40px;
}
@media only screen and (min-width: 769px) {
	.p-card {
		width: calc((100% - 32px) / 3);
	}
}
@media only screen and (max-width: 1100px) {
	.p-card {
		width: calc((100% - 16px) / 2);
	}
}
@media only screen and (max-width: 768px) {
	.p-card {
		width: 100%;
	}
}
.p-card-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-card-wrap {
		padding-inline: 16px;
	}
}
@media only screen and (max-width: 768px) {
	.p-card-wrap {
		grid-template-columns: 1fr;
		gap: 4.2666666667vw;
	}
}
.p-card .p-img-box {
	width: 100%;
	aspect-ratio: 480/320;
}
.p-card p {
	width: calc(100% - 80px);
	margin-top: 16px;
	margin-inline: auto;
}
@media only screen and (max-width: 768px) {
	.p-card p {
		margin-top: 4.2666666667vw;
		width: calc(100% - 12.8vw);
	}
}
.p-space-item {
	display: flex;
	align-items: flex-end;
	gap: 40px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-space-item {
		gap: clamp(2.4rem, 0.6545454545rem + 2.2727272727vw, 4rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-space-item {
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 4.2666666667vw;
	}
}
@media only screen and (min-width: 769px) {
	.p-space-item:nth-of-type(odd) {
		padding-left: 136px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-space-item:nth-of-type(odd) {
		padding-left: clamp(1.6rem, -11.4909090909rem + 17.0454545455vw, 13.6rem);
	}
}
@media only screen and (min-width: 769px) {
	.p-space-item:nth-of-type(2n) {
		flex-direction: row-reverse;
		padding-right: 136px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-space-item:nth-of-type(2n) {
		padding-right: clamp(1.6rem, -11.4909090909rem + 17.0454545455vw, 13.6rem);
	}
}
.p-space-item:nth-of-type(n + 2) {
	margin-top: 104px;
}
@media only screen and (max-width: 768px) {
	.p-space-item:nth-of-type(n + 2) {
		margin-top: 21.3333333333vw;
	}
}
.p-space-item .p-txt-box {
	width: 450px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-space-item .p-txt-box {
		flex-shrink: 0;
		width: clamp(32rem, 17.8181818182rem + 18.4659090909vw, 45rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-space-item .p-txt-box {
		display: flex;
		flex-direction: column;
		width: 82.9333333333vw;
		margin-inline: auto;
	}
}
@media only screen and (max-width: 768px) {
	.p-space-item .p-txt-box .c-btn {
		margin-inline: auto;
	}
}
.p-space-item .p-img-box {
	width: 870px;
	aspect-ratio: 870/480;
	position: relative;
}
@media only screen and (max-width: 768px) {
	.p-space-item .p-img-box {
		width: 100%;
	}
}
.p-case-block .p-swiper-shell {
	position: relative;
}
@media only screen and (min-width: 769px) {
	.p-case-block .swiper-slide {
		max-width: 480px;
	}
}
.p-case-block .swiper.p-swiper-case .swiper-slide {
	width: 100%;
	height: auto;
	padding-bottom: 46px;
	position: relative;
}
@media only screen and (max-width: 768px) {
	.p-case-block .swiper.p-swiper-case .swiper-slide {
		padding-bottom: 27.7333333333vw;
	}
}
.p-case-block .swiper.p-swiper-case .swiper-slide .p-txt-box {
	width: 200px;
	background-color: #fff;
	box-shadow: 0 0 16px #00000040;
	padding: 8px 16px;
	position: absolute;
	right: 16px;
	bottom: 16px;
}
@media only screen and (max-width: 768px) {
	.p-case-block .swiper.p-swiper-case .swiper-slide .p-txt-box {
		width: 80.8vw;
		padding: 2.1333333333vw 4.2666666667vw;
		right: 6.4vw;
		bottom: 4.2666666667vw;
	}
}
.p-case-block .swiper.p-swiper-case .swiper-slide .p-txt-box .p-box {
	display: flex;
	flex-direction: column;
	gap: 6px;
	border-top: solid 1px #e7e7e7;
	margin-top: 8px;
	padding-top: 8px;
}
@media only screen and (max-width: 768px) {
	.p-case-block .swiper.p-swiper-case .swiper-slide .p-txt-box .p-box {
		gap: 1.0666666667vw;
		margin-top: 2.1333333333vw;
		padding-top: 2.1333333333vw;
	}
}
.p-case-block .swiper.p-swiper-case .swiper-slide .p-txt-box .p-box p {
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
	padding-left: 28px;
	position: relative;
}
.p-case-block .swiper.p-swiper-case .swiper-slide .p-txt-box .p-box p:before {
	content: "";
	width: 20px;
	aspect-ratio: 1;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.p-case-block .swiper.p-swiper-case .swiper-slide .p-txt-box .p-box p:nth-of-type(1):before {
	background-image: url('data:image/svg+xml;utf-8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_1_571" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="20"><rect width="20" height="20" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_1_571)"><path d="M5.695 13.57C6.29 13.115 6.955 12.7562 7.69 12.4937C8.425 12.2312 9.195 12.1 10 12.1C10.805 12.1 11.575 12.2312 12.31 12.4937C13.045 12.7562 13.71 13.115 14.305 13.57C14.7133 13.0917 15.0312 12.5492 15.2587 11.9425C15.4862 11.3358 15.6 10.6883 15.6 10C15.6 8.44833 15.0546 7.12708 13.9637 6.03625C12.8729 4.94542 11.5517 4.4 10 4.4C8.44833 4.4 7.12708 4.94542 6.03625 6.03625C4.94542 7.12708 4.4 8.44833 4.4 10C4.4 10.6883 4.51375 11.3358 4.74125 11.9425C4.96875 12.5492 5.28667 13.0917 5.695 13.57ZM10 10.7C9.31167 10.7 8.73125 10.4637 8.25875 9.99125C7.78625 9.51875 7.55 8.93833 7.55 8.25C7.55 7.56167 7.78625 6.98125 8.25875 6.50875C8.73125 6.03625 9.31167 5.8 10 5.8C10.6883 5.8 11.2688 6.03625 11.7413 6.50875C12.2137 6.98125 12.45 7.56167 12.45 8.25C12.45 8.93833 12.2137 9.51875 11.7413 9.99125C11.2688 10.4637 10.6883 10.7 10 10.7ZM10 17C9.03167 17 8.12167 16.8162 7.27 16.4487C6.41833 16.0812 5.6775 15.5825 5.0475 14.9525C4.4175 14.3225 3.91875 13.5817 3.55125 12.73C3.18375 11.8783 3 10.9683 3 10C3 9.03167 3.18375 8.12167 3.55125 7.27C3.91875 6.41833 4.4175 5.6775 5.0475 5.0475C5.6775 4.4175 6.41833 3.91875 7.27 3.55125C8.12167 3.18375 9.03167 3 10 3C10.9683 3 11.8783 3.18375 12.73 3.55125C13.5817 3.91875 14.3225 4.4175 14.9525 5.0475C15.5825 5.6775 16.0812 6.41833 16.4487 7.27C16.8162 8.12167 17 9.03167 17 10C17 10.9683 16.8162 11.8783 16.4487 12.73C16.0812 13.5817 15.5825 14.3225 14.9525 14.9525C14.3225 15.5825 13.5817 16.0812 12.73 16.4487C11.8783 16.8162 10.9683 17 10 17ZM10 15.6C10.6183 15.6 11.2017 15.5096 11.75 15.3288C12.2983 15.1479 12.8 14.8883 13.255 14.55C12.8 14.2117 12.2983 13.9521 11.75 13.7712C11.2017 13.5904 10.6183 13.5 10 13.5C9.38167 13.5 8.79833 13.5904 8.25 13.7712C7.70167 13.9521 7.2 14.2117 6.745 14.55C7.2 14.8883 7.70167 15.1479 8.25 15.3288C8.79833 15.5096 9.38167 15.6 10 15.6ZM10 9.3C10.3033 9.3 10.5542 9.20083 10.7525 9.0025C10.9508 8.80417 11.05 8.55333 11.05 8.25C11.05 7.94667 10.9508 7.69583 10.7525 7.4975C10.5542 7.29917 10.3033 7.2 10 7.2C9.69667 7.2 9.44583 7.29917 9.2475 7.4975C9.04917 7.69583 8.95 7.94667 8.95 8.25C8.95 8.55333 9.04917 8.80417 9.2475 9.0025C9.44583 9.20083 9.69667 9.3 10 9.3Z" fill="%230C7B49"/></g></svg>');
}
.p-case-block .swiper.p-swiper-case .swiper-slide .p-txt-box .p-box p:nth-of-type(2) {
	color: #5e5e5e;
}
.p-case-block .swiper.p-swiper-case .swiper-slide .p-txt-box .p-box p:nth-of-type(2):before {
	background-image: url('data:image/svg+xml;utf-8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_1_574" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="20"><rect width="20" height="20" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_1_574)"><path d="M4.55556 17C4.12778 17 3.76157 16.8477 3.45694 16.5431C3.15231 16.2384 3 15.8722 3 15.4444V12.3333H4.55556V15.4444H7.66667V17H4.55556ZM12.3333 17V15.4444H15.4444V12.3333H17V15.4444C17 15.8722 16.8477 16.2384 16.5431 16.5431C16.2384 16.8477 15.8722 17 15.4444 17H12.3333ZM3 7.66667V4.55556C3 4.12778 3.15231 3.76157 3.45694 3.45694C3.76157 3.15231 4.12778 3 4.55556 3H7.66667V4.55556H4.55556V7.66667H3ZM15.4444 7.66667V4.55556H12.3333V3H15.4444C15.8722 3 16.2384 3.15231 16.5431 3.45694C16.8477 3.76157 17 4.12778 17 4.55556V7.66667H15.4444Z" fill="%235E5E5E"/></g></svg>');
}
.p-case-block .swiper-pagination {
	bottom: -40px !important;
}
.p-space-quality {
	display: flex;
	gap: 40px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-space-quality {
		gap: 32px;
	}
}
@media only screen and (max-width: 768px) {
	.p-space-quality {
		flex-direction: column;
		gap: 4.2666666667vw;
	}
}
@media only screen and (max-width: 768px) {
	.p-space-quality .p-col {
		display: flex;
		flex-direction: column-reverse;
		gap: 10.6666666667vw;
	}
}
@media only screen and (min-width: 769px) {
	.p-space-quality .p-col > p {
		height: calc(100% - 120px);
		margin-bottom: 40px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-space-quality .p-col > p {
		height: calc(100% - 40px - clamp(6rem, 3.8181818182rem + 2.8409090909vw, 8rem));
	}
}
.p-swiper-shell {
	position: relative;
}
.p-swiper-shell:has(.p-swiper-main) {
	width: 600px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-swiper-shell:has(.p-swiper-main) {
		width: clamp(40rem, 18.1818181818rem + 28.4090909091vw, 60rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-swiper-shell:has(.p-swiper-main) {
		width: 100%;
	}
}
.p-swiper-shell .swiper-slide {
	aspect-ratio: 3/2;
}
.p-swiper-shell .swiper-slide .p-img-box {
	height: 100%;
}
.p-swiper-shell .swiper-slide .p-img-box img {
	object-fit: cover;
	height: 100%;
}
.p-swiper-thumb {
	width: 100%;
}
@media only screen and (min-width: 769px) {
	.p-swiper-thumb {
		overflow-y: scroll;
		max-height: 400px;
	}
}
@media only screen and (min-width: 769px) {
	.p-swiper-thumb .swiper-wrapper {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}
}
.p-swiper-thumb .swiper-slide {
	width: 120px;
}
@media only screen and (min-width: 769px) {
	.p-swiper-thumb .swiper-slide {
		cursor: pointer;
		position: relative;
	}
}
@media only screen and (min-width: 769px) {
	.p-swiper-thumb .swiper-slide {
		transition: 0.3s;
	}
	.p-swiper-thumb .swiper-slide:hover:before {
		opacity: 0.5;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-swiper-thumb .swiper-slide {
		width: calc((100% - 16px) / 3);
	}
}
@media only screen and (max-width: 768px) {
	.p-swiper-thumb .swiper-slide {
		width: calc((100% - 2.133vw - 2.133vw) / 3);
	}
}
.p-swiper-thumb .swiper-slide:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #2a2a2a;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
}
@media only screen and (min-width: 769px) {
	.p-swiper-thumb .swiper-slide:before {
		transition: 0.3s;
	}
}
.p-outline {
	display: flex;
	gap: 24px;
}
@media only screen and (max-width: 768px) {
	.p-outline {
		flex-direction: column;
		gap: 10.6666666667vw;
	}
}
.p-outline > * {
	width: 500px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-outline > * {
		width: calc((100% - 24px) / 2);
	}
}
@media only screen and (max-width: 768px) {
	.p-outline > * {
		width: 100%;
	}
}
.p-outline .c-table colgroup .p-col1 {
	width: 138px;
}
@media only screen and (max-width: 768px) {
	.p-outline .c-table colgroup .p-col1 {
		width: 36.8vw;
	}
}
.p-outline .c-table colgroup .p-col2 {
	width: calc(100% - 138px);
}
@media only screen and (max-width: 768px) {
	.p-outline .c-table colgroup .p-col2 {
		width: calc(100% - 33.067vw);
	}
}
.p-outline__wide {
	flex-direction: column;
	gap: 0;
}
.p-outline__wide > * {
	width: 100%;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-outline__wide > * {
		width: 100%;
	}
}
.p-outline__wide .c-scroll {
	margin-top: 64px;
}
.p-outline__wide .c-table colgroup .p-col1 {
	width: 200px;
}
.p-outline__wide .c-table colgroup .p-col2,
.p-outline__wide .c-table colgroup .p-col3 {
	width: 412px;
}
@media only screen and (max-width: 768px) {
	.p-outline .p-img-box {
		width: calc(100% + 17.067vw);
		margin-inline: -8.5333333333vw;
	}
}
.p-download {
	background-color: #ebf2ef;
	margin-top: 64px;
	padding: 64px;
}
@media only screen and (max-width: 768px) {
	.p-download {
		width: calc(100% + 8.533vw);
		margin-top: 10.6666666667vw;
		margin-inline: -4.2666666667vw;
		padding: 8.5333333333vw;
	}
}
.p-download .p-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 40px;
}
@media only screen and (max-width: 768px) {
	.p-download .p-flex {
		flex-direction: column;
		margin-top: 6.4vw;
	}
}
.p-download .p-flex .p-icon-wrap {
	display: flex;
	gap: 40px;
	padding-inline: 80px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-download .p-flex .p-icon-wrap {
		flex-shrink: 0;
		gap: clamp(2.4rem, 0.6545454545rem + 2.2727272727vw, 4rem);
		padding-inline: clamp(2.4rem, -3.7090909091rem + 7.9545454545vw, 8rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-download .p-flex .p-icon-wrap {
		gap: 17.0666666667vw;
		padding-inline: 6.4vw;
	}
}
.p-download .p-flex .p-icon-wrap > div {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
@media only screen and (max-width: 768px) {
	.p-download .p-flex .p-icon-wrap > div {
		gap: 2.1333333333vw;
	}
}
.p-download .p-flex .p-icon-wrap > div svg {
	width: 120px;
	aspect-ratio: 1;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-download .p-flex .p-icon-wrap > div svg {
		width: clamp(8rem, 3.6363636364rem + 5.6818181818vw, 12rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-download .p-flex .p-icon-wrap > div svg {
		width: 21.3333333333vw;
	}
}
.p-download .p-flex .p-icon-wrap__3 {
	padding-inline: 0 56px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-download .p-flex .p-icon-wrap__3 {
		padding-inline: 0 clamp(2.4rem, -1.0909090909rem + 4.5454545455vw, 5.6rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-download .p-flex .p-icon-wrap__3 {
		gap: 4.2666666667vw;
		padding-inline: 0;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-download .p-flex .c-btn span {
		font-size: 16px;
		font-size: 1.6rem;
	}
}
@media only screen and (max-width: 768px) {
	.p-download .p-flex .c-btn span {
		font-size: 4.2666666667vw;
	}
}
@media only screen and (max-width: 768px) {
	.p-others {
		width: calc(100% + 8.533vw);
		margin-inline: -4.2666666667vw;
	}
}
.p-others a {
	display: flex;
	position: relative;
}
@media only screen and (min-width: 769px) {
	.p-others a {
		min-height: 267px;
	}
}
@media only screen and (min-width: 769px) {
	.p-others a {
		transition: 0.3s;
	}
	.p-others a:hover .p-img-box img {
		scale: 1.1;
	}
	.p-others a:hover .p-txt-box {
		background-color: #0c7b49;
		border-color: #0c7b49;
	}
	.p-others a:hover .p-txt-box > * {
		color: #fff;
	}
	.p-others a:hover .p-txt-box:before {
		background-color: #0c7b49;
		scale: 1;
		rotate: 225deg;
	}
	.p-others a:hover .p-txt-box:after {
		background-color: #fff;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-others a {
		min-height: clamp(23.2rem, 19.3818181818rem + 4.9715909091vw, 26.7rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-others a {
		flex-direction: column;
	}
}
.p-others a:nth-of-type(n + 2) {
	margin-top: 24px;
}
@media only screen and (max-width: 768px) {
	.p-others a:nth-of-type(n + 2) {
		margin-top: 6.4vw;
	}
}
.p-others a .p-img-box {
	overflow: hidden;
	flex-shrink: 0;
	width: 400px;
	aspect-ratio: 3/2;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-others a .p-img-box {
		width: clamp(34.8rem, 29.1272727273rem + 7.3863636364vw, 40rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-others a .p-img-box {
		width: 100%;
	}
}
.p-others a .p-img-box img {
	height: 100%;
	object-fit: cover;
}
@media only screen and (min-width: 769px) {
	.p-others a .p-img-box img {
		transition: 0.3s;
	}
}
.p-others a .p-txt-box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 24px;
	background-color: #fff;
	border: solid 1px #e7e7e7;
	padding: 40px;
}
@media only screen and (min-width: 769px) {
	.p-others a .p-txt-box {
		transition: 0.3s;
	}
}
@media only screen and (min-width: 769px) {
	.p-others a .p-txt-box {
		border-left: none;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-others a .p-txt-box {
		padding: clamp(2.4rem, 0.6545454545rem + 2.2727272727vw, 4rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-others a .p-txt-box {
		gap: 4.2666666667vw;
		padding: 8.5333333333vw 10.6666666667vw;
	}
}
@media only screen and (min-width: 769px) {
	.p-others a .p-txt-box > * {
		transition: 0.3s;
	}
}
.p-others a .p-txt-box:before {
	background-color: #fff;
	right: 22px;
	bottom: 22px;
}
@media only screen and (max-width: 768px) {
	.p-others a .p-txt-box:before {
		right: 5.8666666667vw;
		bottom: 5.8666666667vw;
	}
}
.p-others a .p-txt-box:after {
	right: 16px;
	bottom: 16px;
}
@media only screen and (max-width: 768px) {
	.p-others a .p-txt-box:after {
		width: 8.5333333333vw;
		right: 4.2666666667vw;
		bottom: 4.2666666667vw;
	}
}
.p-others__space a {
	min-height: 300px;
}
.p-others__space a .p-img-box {
	width: 450px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-others__space a .p-img-box {
		width: clamp(34.8rem, 23.6727272727rem + 14.4886363636vw, 45rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-others__space a .p-img-box {
		width: 100%;
	}
}
.p-others__space a:nth-of-type(2n) {
	flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
	.p-others__space a:nth-of-type(2n) {
		flex-direction: column;
	}
}
.p-others__space a:nth-of-type(2n) .p-txt-box {
	border-right: none;
	border-left: solid 1px #e7e7e7;
}
@media only screen and (max-width: 768px) {
	.p-others__space a:nth-of-type(2n) .p-txt-box {
		border-right: solid 1px #e7e7e7;
	}
}
.p-rental {
	display: flex;
	gap: 24px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-rental {
		gap: clamp(1.6rem, 0.7272727273rem + 1.1363636364vw, 2.4rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-rental {
		flex-direction: column;
		gap: 4.2666666667vw;
	}
}
.p-rental a {
	width: calc((100% - clamp(3.2rem, 1.4545454545rem + 2.2727272727vw, 4.8rem)) / 3);
}
@media only screen and (min-width: 769px) {
	.p-rental a {
		transition: 0.3s;
	}
	.p-rental a:hover .p-img-box img {
		scale: 1.1;
	}
	.p-rental a:hover .p-txt-box {
		background-color: #0c7b49;
	}
	.p-rental a:hover .p-txt-box:before {
		background-color: #0c7b49;
		scale: 1;
		rotate: 225deg;
	}
}
@media only screen and (max-width: 768px) {
	.p-rental a {
		width: 100%;
	}
}
.p-rental a .p-img-box {
	overflow: hidden;
}
.p-rental a .p-img-box img {
	height: 100%;
	object-fit: cover;
}
@media only screen and (min-width: 769px) {
	.p-rental a .p-img-box img {
		transition: 0.3s;
	}
}
.p-rental a .p-txt-box {
	background-color: #2a2a2a;
	padding-block: 8px;
	padding-inline: 16px 56px;
}
@media only screen and (min-width: 769px) {
	.p-rental a .p-txt-box {
		transition: 0.3s;
	}
}
@media only screen and (max-width: 768px) {
	.p-rental a .p-txt-box {
		padding-block: 2.1333333333vw;
		padding-inline: 4.2666666667vw 14.9333333333vw;
	}
}
.p-rental a .p-txt-box:before {
	width: 16px;
	background-color: #2a2a2a;
	top: 50%;
	right: 20px;
	z-index: 1;
	translate: 0 -50%;
	rotate: 45deg;
	scale: 0.3;
}
@media only screen and (max-width: 768px) {
	.p-rental a .p-txt-box:before {
		width: 4.2666666667vw;
		top: 5.3333333333vw;
		right: 5.3333333333vw;
	}
}
.p-rental a .p-txt-box:after {
	width: 24px;
	background-color: #fff;
	top: 8px;
	right: 16px;
}
@media only screen and (max-width: 768px) {
	.p-rental a .p-txt-box:after {
		width: 6.4vw;
		top: 2.1333333333vw;
		right: 4.2666666667vw;
	}
}
.p-seminar {
	border: solid 2px #0c7b49;
}
.p-seminar-ttl {
	background-color: #0c7b49;
	color: #fff;
	text-align: center;
	padding-block: 4px;
}
@media only screen and (max-width: 768px) {
	.p-seminar-ttl {
		padding-block: 1.0666666667vw;
	}
}
.p-seminar > div {
	background-color: #fff;
	padding: 40px;
}
@media only screen and (max-width: 768px) {
	.p-seminar > div {
		padding: 8.5333333333vw;
	}
}
@media only screen and (max-width: 768px) {
	.p-seminar .c-scroll {
		width: 100% !important;
		margin-inline: 0;
		padding-inline: 0;
	}
}
.p-all {
	display: flex;
	gap: 24px;
}
@media only screen and (max-width: 768px) {
	.p-all {
		flex-direction: column;
		gap: 6.4vw;
	}
}
.p-all .p-img-box {
	width: calc((100% - 24px) / 2);
}
@media only screen and (max-width: 768px) {
	.p-all .p-img-box {
		width: 100%;
	}
}
.p-flow {
	counter-reset: item;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}
@media only screen and (max-width: 768px) {
	.p-flow {
		grid-template-columns: 1fr;
	}
}
.p-flow-item {
	display: grid;
	grid-row: span 2;
	grid-template-rows: subgrid;
	place-content: center;
	place-items: center;
	gap: 8px;
	border: solid 1px #0c7b49;
	padding-block: 28px;
	position: relative;
}
@media only screen and (min-width: 769px) {
	.p-flow-item {
		border-right: none;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-flow-item {
		padding-block: clamp(1.6rem, 0.2909090909rem + 1.7045454545vw, 2.8rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-flow-item {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 4.2666666667vw;
		padding-block: 8.5333333333vw;
		padding-inline: 10.6666666667vw;
	}
}
.p-flow-item:nth-of-type(n + 2) {
	border-left: solid 1px #0c7b49;
}
@media only screen and (max-width: 768px) {
	.p-flow-item:nth-of-type(n + 2) {
		border-top: none;
	}
}
.p-flow-item:nth-of-type(n + 2):after {
	content: "";
	width: 14px;
	height: 28px;
	background-image: url('data:image/svg+xml;utf-8,<svg width="14" height="28" viewBox="0 0 14 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14 14L0 28L1.25623e-06 0L14 14Z" fill="%230C7B49"/></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
	position: absolute;
}
@media only screen and (min-width: 769px) {
	.p-flow-item:nth-of-type(n + 2):after {
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
}
@media only screen and (max-width: 768px) {
	.p-flow-item:nth-of-type(n + 2):after {
		width: 3.7333333333vw;
		height: 7.4666666667vw;
		top: 0;
		left: 50%;
		transform: translate(-50%);
		rotate: 90deg;
	}
}
.p-flow-item:last-of-type {
	border-right: solid 1px #0c7b49;
}
.p-flow-item:before {
	content: counter(item, decimal-leading-zero);
	counter-increment: item;
	font-size: 28px;
	font-size: 2.8rem;
	font-family:
		DM Sans,
		sans-serif;
	line-height: 1;
	font-weight: 600;
	color: #0c7b49;
	position: absolute;
	top: 8px;
	left: 8px;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-flow-item:before {
		font-size: clamp(2rem, 1.1272727273rem + 1.1363636364vw, 2.8rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-flow-item:before {
		font-size: 7.4666666667vw;
		top: 2.1333333333vw;
		left: 2.1333333333vw;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-flow-item > p {
		font-size: clamp(1.2rem, 0.9818181818rem + 0.2840909091vw, 1.4rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-flow-item > p {
		width: 40vw;
	}
}
.p-flow-icon {
	width: 88px;
	height: auto;
	aspect-ratio: 1;
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-flow-icon {
		width: clamp(6rem, 2.9454545455rem + 3.9772727273vw, 8.8rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-flow-icon {
		width: 17.0666666667vw;
	}
}
.p-flow-content {
	counter-reset: item;
}
@media only screen and (max-width: 768px) {
	.p-flow-content {
		width: calc(100% + 8.533vw);
		margin-inline: -4.2666666667vw;
	}
}
.p-flow-content-item {
	background-color: #f8f6ef;
	position: relative;
}
.p-flow-content-item:nth-of-type(n + 2) {
	margin-top: 60px;
}
@media only screen and (max-width: 768px) {
	.p-flow-content-item:nth-of-type(n + 2) {
		margin-top: 10.6666666667vw;
	}
}
.p-flow-content-item:nth-of-type(n + 2):before {
	content: "";
	width: 60px;
	aspect-ratio: 1;
	background-image: url('data:image/svg+xml;utf-8,<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_117_1721" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="60" height="60"><rect width="60" height="60" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_117_1721)"><path d="M30 49.045L1.5 17.9541H58.5L30 49.045Z" fill="%230C7B49"/></g></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translate(-50%);
}
@media only screen and (max-width: 768px) {
	.p-flow-content-item:nth-of-type(n + 2):before {
		width: 10.6666666667vw;
		top: -10.6666666667vw;
	}
}
.p-flow-content-item > div {
	overflow: hidden;
	background-color: #f8f6ef;
	padding-block: 64px;
	padding-inline: 80px;
	position: relative;
}
@media only screen and (max-width: 768px) {
	.p-flow-content-item > div {
		padding-block: 17.0666666667vw 8.5333333333vw;
		padding-inline: 8.5333333333vw;
	}
}
.p-flow-content-item > div:before {
	content: counter(item, decimal-leading-zero);
	counter-increment: item;
	font-size: 36px;
	font-size: 3.6rem;
	font-family:
		DM Sans,
		sans-serif;
	line-height: 1;
	font-weight: 600;
	color: #fff;
	position: absolute;
	top: 16px;
	left: 11px;
	z-index: 10;
}
@media only screen and (max-width: 768px) {
	.p-flow-content-item > div:before {
		font-size: 6.4vw;
		top: 2.9333333333vw;
		left: 2.9333333333vw;
	}
}
.p-flow-content-item > div:after {
	content: "";
	width: 168px;
	aspect-ratio: 1;
	background-color: #0c7b49;
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-50%, -50%);
	transform-origin: top left;
	rotate: 45deg;
	z-index: 5;
}
@media only screen and (max-width: 768px) {
	.p-flow-content-item > div:after {
		width: 32.8vw;
	}
}
.p-flow-content-item ul li {
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	line-height: 1.8;
	font-weight: 400;
}
@media only screen and (max-width: 768px) {
	.p-flow-content-item ul li {
		font-size: 3.7333333333vw;
	}
}
.p-catering {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 56px 24px;
}
@media only screen and (max-width: 768px) {
	.p-catering {
		grid-template-columns: 1fr;
		gap: 6.4vw;
	}
}
@media only screen and (min-width: 769px) {
	.p-catering a {
		transition: 0.3s;
	}
	.p-catering a:hover img {
		scale: 1.1;
	}
}
.p-catering a .p-img-box {
	overflow: hidden;
	aspect-ratio: 3/2;
}
.p-catering a .p-img-box img {
	height: 100%;
	object-fit: cover;
}
@media only screen and (min-width: 769px) {
	.p-catering a .p-img-box img {
		transition: 0.3s;
	}
}
.p-planning {
	display: flex;
	gap: 40px;
}
@media only screen and (max-width: 768px) {
	.p-planning {
		flex-direction: column;
		gap: 10.6666666667vw;
	}
}
.p-planning .p-img-box {
	flex-shrink: 0;
	aspect-ratio: 3/2;
}
@media only screen and (min-width: 769px) {
	.p-planning .p-img-box {
		max-width: 600px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1472px) {
	.p-planning .p-img-box {
		width: clamp(29rem, -4.8181818182rem + 44.0340909091vw, 60rem);
	}
}
@media only screen and (max-width: 768px) {
	.p-planning .p-img-box {
		width: calc(100% + 17.067vw) !important;
		margin-inline: -8.5333333333vw;
	}
}
.p-show {
	position: relative;
}
.p-show-back {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 80px;
	aspect-ratio: 1;
	background-color: #2a2a2a;
	border-radius: 50%;
	position: fixed;
	top: 16px;
	right: 16px;
	cursor: pointer;
}
@media only screen and (min-width: 769px) {
	.p-show-back {
		transition: 0.3s;
	}
	.p-show-back:hover {
		background-color: #0c7b49;
	}
}
@media only screen and (max-width: 768px) {
	.p-show-back {
		width: 12.8vw;
		top: 4.2666666667vw;
		right: 4.2666666667vw;
	}
}
.p-show-back:before {
	content: "";
	width: 32px;
	aspect-ratio: 1;
	background-image: url('data:image/svg+xml;utf-8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_231_2663" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="32" height="32"><rect width="32" height="32" transform="matrix(-1 0 0 1 32 0)" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_231_2663)"><path d="M20.5326 13.4341C20.5326 15.0119 20.0048 16.3674 18.9492 17.5008C17.8937 18.6341 16.577 19.2674 14.9992 19.4008L17.0659 17.3341L15.1992 15.4674L9.86588 20.8008L15.1992 26.1341L17.0659 24.2674L14.9326 22.1341C17.2659 22.0008 19.227 21.1008 20.8159 19.4341C22.4048 17.7674 23.1992 15.7786 23.1992 13.4674C23.1992 11.0452 22.3603 8.99523 20.6826 7.31745C19.0048 5.63967 16.9548 4.80078 14.5326 4.80078H9.86588V7.46745H14.5326C16.1992 7.46745 17.6159 8.04523 18.7826 9.20078C19.9492 10.3563 20.5326 11.7674 20.5326 13.4341Z" fill="white"/></g></svg>');
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
}
@media only screen and (max-width: 768px) {
	.p-show-back:before {
		width: 4.8vw;
	}
}
:root {
	--swiper-theme-color: #007aff;
}
.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1;
	display: block;
}
.swiper-vertical > .swiper-wrapper {
	flex-direction: column;
}
.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	transition-property: transform;
	transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
	box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
	transform: translateZ(0);
}
.swiper-horizontal {
	touch-action: pan-y;
}
.swiper-vertical {
	touch-action: pan-x;
}
.swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	transition-property: transform;
	display: block;
}
.swiper-slide-invisible-blank {
	visibility: hidden;
}
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
	height: auto;
}
.swiper-autoheight .swiper-wrapper {
	align-items: flex-start;
	transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.swiper-3d.swiper-css-mode .swiper-wrapper {
	perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
	transform-style: preserve-3d;
}
.swiper-3d {
	perspective: 1200px;
}
.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
	transform-style: preserve-3d;
}
.swiper-css-mode > .swiper-wrapper {
	overflow: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
	display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
	scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
	scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
	scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper:before {
	content: "";
	flex-shrink: 0;
	order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: center center;
	scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
	margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
	height: 100%;
	min-height: 1px;
	width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
	margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before {
	width: 100%;
	min-width: 1px;
	height: var(--swiper-centered-offset-after);
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
	background: #00000026;
}
.swiper-3d .swiper-slide-shadow-left {
	background-image: linear-gradient(to left, #00000080, #0000);
}
.swiper-3d .swiper-slide-shadow-right {
	background-image: linear-gradient(to right, #00000080, #0000);
}
.swiper-3d .swiper-slide-shadow-top {
	background-image: linear-gradient(to top, #00000080, #0000);
}
.swiper-3d .swiper-slide-shadow-bottom {
	background-image: linear-gradient(to bottom, #00000080, #0000);
}
.swiper-lazy-preloader {
	width: 42px;
	height: 42px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -21px;
	margin-top: -21px;
	z-index: 10;
	transform-origin: 50%;
	box-sizing: border-box;
	border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
	border-radius: 50%;
	border-top-color: transparent;
}
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
	animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
	--swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
	--swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
	0% {
		transform: rotate(0);
	}
	to {
		transform: rotate(360deg);
	}
}
