@-webkit-keyframes rotate {
	0% {
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
@keyframes rotate {
	0% {
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
@-webkit-keyframes slide_loop_x {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}
@keyframes slide_loop_x {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}
@-webkit-keyframes slide_loop_y {
	0% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	100% {
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
}
@keyframes slide_loop_y {
	0% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	100% {
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
}
@-webkit-keyframes wave_hover {
	0% {
		-webkit-mask-position: 0 0;
		        mask-position: 0 0;
	}
	100% {
		-webkit-mask-position: 19px 0;
		        mask-position: 19px 0;
	}
}
@keyframes wave_hover {
	0% {
		-webkit-mask-position: 0 0;
		        mask-position: 0 0;
	}
	100% {
		-webkit-mask-position: 19px 0;
		        mask-position: 19px 0;
	}
}
.sub_kv .breadcrumb a {
	color: #00c680;
}
.sub_kv main {
	--cmn-bnr-color: #00c680;
}
.sub_kv .cmn_scroll .dots {
	background-image: radial-gradient(circle, #00c680 2px, transparent 2px);
}

.footer {
	margin-top: 0;
}

.sub_kv_over::before {
	top: 0;
	left: -280px;
	width: calc(100% + 280px);
	height: calc(100% + 218px);
	pointer-events: none;
	will-change: transform;
	background-image: url("../img/service/kv_over.svg");
	background-repeat: repeat;
	background-position: 50% 0;
	background-size: 280px 218px;
	-webkit-animation: subKvOver 60s linear infinite;
	        animation: subKvOver 60s linear infinite;
}
@media screen and (max-width: 800px) {
	.sub_kv_over::before {
		left: -123px;
		width: calc(100% + 123px);
		height: calc(100% + 96px);
		background-size: 123px 96px;
		background-position: 30% 0;
		-webkit-animation-name: subKvOverSp;
		        animation-name: subKvOverSp;
	}
}

@-webkit-keyframes subKvOver {
	from {
		background-position: 0 0;
	}
	to {
		background-position: 0 -218px;
	}
}

@keyframes subKvOver {
	from {
		background-position: 0 0;
	}
	to {
		background-position: 0 -218px;
	}
}
@-webkit-keyframes subKvOverSp {
	from {
		background-position: 0 0;
	}
	to {
		background-position: 0 -96px;
	}
}
@keyframes subKvOverSp {
	from {
		background-position: 0 0;
	}
	to {
		background-position: 0 -96px;
	}
}
.slider_nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 18px;
	padding-top: 28px;
}
.slider_nav_arrow {
	position: relative;
	width: 34px;
	height: 34px;
	border: 0;
	background-color: transparent;
	cursor: pointer;
}
.slider_nav_arrow::before {
	position: absolute;
	top: 50%;
	right: 0;
	width: 82.353%;
	height: 0px;
	border-top: 1.5px solid #000;
	content: "";
	display: block;
	translate: 0% -30%;
}
.slider_nav_arrow ._arrow {
	width: 28px;
	-webkit-transition: translate 0.2s;
	transition: translate 0.2s;
}
@media (hover: hover) {
	.slider_nav_arrow:hover ._arrow {
		translate: 10px 0;
	}
	.slider_nav_arrow:hover ._arrow span {
		-webkit-animation: unset;
		        animation: unset;
	}
}
.slider_nav_arrow._prev {
	scale: -1 1;
}
.slider_nav_arrow.swiper-button-disabled {
	opacity: 0.25;
	pointer-events: none;
}
.slider_nav_eyes {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 7px;
}
.slider_nav_eyes.is-look-left ._pupil {
	translate: calc(-50% - 5px) -50%;
}
.slider_nav_eyes.is-look-right ._pupil {
	translate: calc(-50% + 5px) -50%;
}
.slider_nav_eyes ._eye {
	position: relative;
	display: block;
	width: 23px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background-color: #fff;
}
.slider_nav_eyes ._pupil {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background-color: #000;
	translate: -50% -50%;
	-webkit-transition: translate 0.25s ease;
	transition: translate 0.25s ease;
}
@media screen and (max-width: 800px) {
	.slider_nav {
		gap: 6px;
		padding-top: 24px;
	}
	.slider_nav_arrow::before {
		display: none;
	}
	.slider_nav_arrow ._arrow {
		width: 21px;
	}
	.slider_nav_eyes {
		scale: 0.7392;
	}
}

.concept {
	--float-object-color: #00c680;
}
.concept .is_float_bg {
	height: calc(100% - 8.9334vw * 2);
}
.concept {
	position: relative;
	z-index: 3;
	padding-top: 110px;
}
.concept_inner {
	width: min(77.3334vw, 2000px);
	margin-inline: auto;
}
.concept_layout {
	display: -ms-grid;
	display: grid;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: min(100%, 2000px);
	padding-bottom: calc(260px + 8.9334vw);
	padding-left: 2.3334vw;
	margin-inline: auto;
	-ms-grid-columns: minmax(400px, 560px) clamp(20px, 1.3334vw, 180px) clamp(350px, 33.7334vw, 506px);
	grid-template-columns: minmax(400px, 560px) clamp(350px, 33.7334vw, 506px);
	-webkit-column-gap: clamp(20px, 1.3334vw, 180px);
	   -moz-column-gap: clamp(20px, 1.3334vw, 180px);
	        column-gap: clamp(20px, 1.3334vw, 180px);
}
.concept_cont {
	min-width: 0;
	padding-top: clamp(10px, 1.6667vw, 30px);
}
.concept_label {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	font-size: var(--font-size18);
	letter-spacing: 0.04em;
	color: #00c680;
}
.concept_title {
	margin: 1.6667em 0 2.381em;
	font-size: clamp(var(--font-size34), 2.8001vw, var(--font-size42));
	font-weight: 600;
	line-height: 1.6072;
	letter-spacing: 0.08em;
}
.concept_service_title {
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	gap: 12px;
	font-weight: 600;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.concept_service_title span {
	width: 132px;
}
.concept_service_title small {
	font-size: var(--font-size26);
}
.concept_service_title em {
	width: 13.4375em;
	height: 2.0313em;
	margin-top: 0.125em;
	padding-bottom: 0.125em;
	border-radius: 4px;
	background-color: #000;
	font-size: clamp(var(--font-size24), 2.1334vw, var(--font-size32));
	letter-spacing: 0.04em;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.concept_service_text {
	max-width: 433px;
	margin-top: 30px;
	font-size: var(--font-size16);
	line-height: 2.25;
	letter-spacing: 0.04em;
	text-align: justify;
}
.concept_service_en {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	margin-top: 60px;
	font-size: var(--font-size34);
	line-height: 1.6;
	color: #00c680;
}
.concept_visual {
	position: relative;
	-ms-grid-column-align: end;
	    justify-self: end;
	width: 100%;
	padding-top: 30px;
}
.concept .cmn_slide_item {
	width: 50vw;
}

@media screen and (max-width: 1200px) and (min-width: 801px) {
	.concept_layout {
		-ms-grid-columns: minmax(0, 1fr) 55px minmax(310px, 39%);
		grid-template-columns: minmax(0, 1fr) minmax(310px, 39%);
		-webkit-column-gap: 55px;
		   -moz-column-gap: 55px;
		        column-gap: 55px;
	}
	.concept_title {
		font-size: var(--font-size34);
		line-height: 1.6471;
	}
	.concept_service_title ._name {
		font-size: var(--font-size20);
		line-height: 1.35;
	}
}
@media screen and (max-width: 800px) {
	.concept {
		padding-top: 30px;
	}
	.concept_inner {
		width: 80vw;
		padding-bottom: calc(130px + 10.75vw);
	}
	.concept_layout {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		gap: 65px;
		padding: 0;
	}
	.concept_cont {
		padding-top: 0;
	}
	.concept_label {
		font-size: var(--font-size14);
	}
	.concept_title {
		margin: 34px 0 70px;
		font-size: var(--font-size32);
		font-weight: 500;
		line-height: 1.6063;
		letter-spacing: 0.06em;
	}
	.concept_service_title {
		gap: 10px;
	}
	.concept_service_title span {
		width: 98px;
	}
	.concept_service_title small {
		margin-bottom: -0.06em;
		font-size: var(--font-size19);
	}
	.concept_service_title em {
		width: 100%;
		height: 2.087em;
		font-size: var(--font-size23);
	}
	.concept_service_text {
		margin-top: 27px;
		font-size: var(--font-size14);
		line-height: 2.1429;
		letter-spacing: 0;
	}
	.concept_service_en {
		margin-top: 30px;
		font-size: var(--font-size28);
		line-height: 1.4286;
	}
	.concept_visual {
		-ms-flex-item-align: center;
		    -ms-grid-row-align: center;
		    align-self: center;
		width: min(100%, 280px);
		padding-top: 0;
	}
	.concept .cmn_slide_item {
		width: 60vw;
	}
}
.strengths {
	position: relative;
	z-index: 2;
	margin: 0 auto;
	padding: 8.9334vw 0 calc(135px + 8.9334vw);
	overflow: hidden;
	background-color: #00c680;
	-webkit-mask-repeat: no-repeat, no-repeat;
	        mask-repeat: no-repeat, no-repeat;
	-webkit-mask-composite: xor;
	        mask-composite: exclude;
}
@media screen and (min-width: 801px) {
	.strengths {
		margin-bottom: -8.9334vw;
		-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_bottom_l.svg);
		-webkit-mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_bottom_l.svg);
		        mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_bottom_l.svg);
		        mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_bottom_l.svg);
		-webkit-mask-position: 0 -0.5px, 50% calc(100% + 0.5px);
		        mask-position: 0 -0.5px, 50% calc(100% + 0.5px);
		-webkit-mask-size: 100% 101%, 113.3334vw auto;
		        mask-size: 100% 101%, 113.3334vw auto;
	}
}
@media screen and (max-width: 800px) {
	.strengths {
		margin-bottom: -10.75vw;
		-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_bottom_sp.svg);
		-webkit-mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_bottom_sp.svg);
		        mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_bottom_sp.svg);
		        mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_bottom_sp.svg);
		-webkit-mask-position: 0 -0.5px, 50% calc(100% + 0.5px);
		        mask-position: 0 -0.5px, 50% calc(100% + 0.5px);
		-webkit-mask-size: 100% 101%, 100% auto;
		        mask-size: 100% 101%, 100% auto;
	}
}
.strengths_top {
	position: relative;
	width: min(77.3334vw, 2000px);
	min-height: clamp(390px, 38.4616vw, 500px);
	margin: 0 auto;
}
.strengths_orbit {
	position: absolute;
	bottom: min(12.5vw, 175px);
	left: 0;
	width: min(76.4286vw, 1070px);
	aspect-ratio: 1;
	pointer-events: none;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	translate: -50% 0;
}
.strengths_orbit_line {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}
.strengths_orbit_line circle {
	fill: none;
	stroke: #000;
	stroke-width: 1.5;
	stroke-dasharray: 1 3;
	stroke-linecap: round;
}
.strengths_orbit_list {
	position: absolute;
	inset: 0;
}
.strengths_orbit_item {
	position: absolute;
	top: 0;
	left: 0;
	display: -ms-grid;
	display: grid;
	width: clamp(130px, 13.8667vw, 208px);
	border: 1.5px dotted #000;
	border-radius: 50%;
	background-color: #fff;
	text-align: center;
	aspect-ratio: 1;
	place-content: center;
	will-change: transform;
}
.strengths_orbit_number {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	font-size: var(--font-size26);
	letter-spacing: 0.06em;
	color: #00c680;
}
.strengths_orbit_txt {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	margin-top: 10px;
	font-size: var(--font-size11);
	line-height: 1.5455;
}
.strengths_eyes {
	position: absolute;
	bottom: min(30vw, 450px);
	left: min(3.3334vw, 50px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: min(0.9334vw, 14px);
	-webkit-transform: rotate(12deg);
	        transform: rotate(12deg);
}
.strengths_eyes_nav {
	gap: 5px;
}
.strengths_eye {
	position: relative;
	display: block;
	width: min(5.3334vw, 80px);
	height: min(3.7334vw, 56px);
	overflow: hidden;
	border-radius: 50%;
	background-color: #fff;
}
.strengths_eye_pupil {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: min(2vw, 30px);
	border-radius: 50%;
	background-color: #000;
	translate: -50% -50%;
	aspect-ratio: 1;
	will-change: transform;
}
.strengths_intro {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	margin-top: clamp(80px, 9.3334vw, 140px);
}
.strengths_title {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	font-size: var(--font-size68);
	letter-spacing: 0.02em;
}
.strengths_label {
	margin-right: 1.5em;
	padding: 8px 5px;
	background-color: #000;
	font-size: var(--font-size20);
	letter-spacing: 0.04em;
	color: #fff;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
.strengths_intro_txt {
	height: 24em;
	margin-right: 2.5em;
	font-size: var(--font-size16);
	line-height: 2.25;
	letter-spacing: 0.02em;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
.strengths_slider {
	width: 100%;
	overflow: visible;
}
.strengths_slider .swiper-wrapper {
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
.strengths_slide {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: clamp(240px, 24vw, 360px);
	height: auto;
}
.strengths_card {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: 100%;
	overflow: hidden;
	border: 1.5px dotted #000;
	border-radius: 16px;
	background-color: #fff;
}
.strengths_card_img {
	position: relative;
	width: calc(100% - 20px);
	margin: 10px auto 0;
	overflow: hidden;
	border-radius: 10px;
}
.strengths_card_img img {
	width: 100%;
	height: 100%;
	-o-object-position: 50% 50%;
	   object-position: 50% 50%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.strengths_card_img::before {
	position: absolute;
	top: 18px;
	left: 50%;
	width: max(10px, 4.3056%);
	border-radius: 50%;
	background-color: #00c680;
	translate: -50% 0;
	aspect-ratio: 1/1;
	content: "";
	display: block;
}
.strengths_card_content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 88%;
	margin: 0 auto;
	padding-top: 40px;
	padding-bottom: 70px;
	text-align: center;
}
.strengths_card_number {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	font-size: var(--font-size26);
	letter-spacing: 0.06em;
	color: #00c680;
}
.strengths_card_hl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
}
.strengths_card_title {
	margin-top: 12px;
	font-size: var(--font-size20);
	font-weight: 600;
	line-height: 1.6;
}
.strengths_card_sub {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	margin-top: 10px;
	font-size: var(--font-size8);
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: #00c680;
}
.strengths_card_txt {
	margin-top: 22px;
	font-size: var(--font-size13);
	line-height: 1.8462;
	letter-spacing: 0.02em;
}
.strengths_nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 16px;
	width: min(14.6667%, 220px);
	margin: min(2.4%, 36px) auto 0;
}
.strengths_nav .strengths_eye {
	width: 20px;
	height: 20px;
}
.strengths_nav .strengths_eye_pupil {
	width: 8px;
}
.strengths_nav_btn {
	position: relative;
	width: 35px;
	height: 24px;
	cursor: pointer;
}
.strengths_nav_btn span {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
	translate: 0 -50%;
}
.strengths_nav_btn span::before, .strengths_nav_btn span::after {
	position: absolute;
	left: 0;
	width: 10px;
	height: 1px;
	background-color: #000;
	content: "";
	-webkit-transform-origin: left center;
	        transform-origin: left center;
}
.strengths_nav_btn span::before {
	rotate: 45deg;
}
.strengths_nav_btn span::after {
	rotate: -45deg;
}
.strengths_nav_next {
	rotate: 180deg;
}
@media screen and (max-width: 1100px) and (min-width: 801px) {
	.strengths_top {
		width: min(88%, 850px);
	}
}
@media screen and (max-width: 800px) {
	.strengths {
		padding: 10.75vw 0 calc(115px + 10.75vw);
	}
	.strengths_top {
		width: 100%;
		min-height: 0;
		padding-top: 85vw;
	}
	.strengths_orbit {
		top: -90vw;
		right: 2.5vw;
		bottom: auto;
		left: auto;
		width: 148.5vw;
		translate: 0 0;
	}
	.strengths_orbit_item {
		width: 27.5001vw;
	}
	.strengths_orbit_number {
		font-size: var(--font-size18);
		line-height: 1.2778;
	}
	.strengths_orbit_txt {
		margin-top: 1.7501vw;
		font-size: var(--font-size8);
		line-height: 1.375;
	}
	.strengths_eyes {
		top: 17.5vw;
		bottom: auto;
		left: 28.75vw;
		gap: 2.25vw;
	}
	.strengths_eye {
		width: 12vw;
		height: 8.25vw;
	}
	.strengths_eye_pupil {
		width: 4.5vw;
		translate: calc(-50% + 1vw) calc(-50% + 1vw);
	}
	.strengths_intro {
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		width: 75vw;
		margin: 0 auto 66px;
	}
	.strengths_title {
		width: 1em;
		font-size: var(--font-size54);
	}
	.strengths_label {
		height: 8.3em;
		margin-right: 18px;
		padding: 1.8667vw 1.0667vw;
		font-size: var(--font-size16);
	}
	.strengths_intro_txt {
		margin-right: 20px;
		font-size: var(--font-size14);
		line-height: 2.0715;
	}
	.strengths_slide {
		width: min(76vw, 460px);
	}
	.strengths_card {
		border-radius: 3.75vw;
	}
	.strengths_card_img {
		width: calc(100% - 5vw);
		height: 77.8667vw;
		margin-top: 2.5vw;
		border-radius: 2.4vw;
	}
	.strengths_card_img::before {
		top: 16px;
		width: 13px;
	}
	.strengths_card_content {
		padding-top: 34px;
		padding-bottom: 60px;
	}
	.strengths_card_number {
		font-size: var(--font-size24);
	}
	.strengths_card_title {
		margin-top: 6px;
		font-size: var(--font-size18);
		line-height: 1.5;
	}
	.strengths_card_sub {
		margin-top: 8px;
	}
	.strengths_card_txt {
		margin-top: 16px;
		font-size: var(--font-size12);
		line-height: 1.8334;
	}
	.strengths_nav {
		width: 48vw;
		margin-top: 9.3334vw;
		padding-bottom: 25.3334vw;
	}
}

.flow {
	position: relative;
	position: relative;
	z-index: 0;
	width: min(100%, 2000px);
	margin: 0 auto;
	padding-top: calc(40px + 8.9334vw);
	overflow: hidden;
	background-image: url(../img/service/flow_bg.webp);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}
.flow_inner {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	width: min(77.3334%, 1160px);
	margin: 0 auto;
}
.flow_head {
	padding-right: 34px;
}
.flow_label {
	padding: 5px 4px 6px;
	background-color: #000;
	font-size: var(--font-size20);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #00c680;
}
.flow_title {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	margin-top: 38px;
	font-size: var(--font-size68);
	line-height: 0.9118;
}
.flow_list {
	position: relative;
	z-index: 2;
	width: min(60%, 495px);
	margin-top: 40px;
	padding-bottom: calc(90px + 8.9334vw);
}
.flow_item {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: min(4.4vw, 66px) min(1.2vw, 18px) minmax(0, 1fr);
	grid-template-columns: min(4.4vw, 66px) minmax(0, 1fr);
	-webkit-column-gap: min(1.2vw, 18px);
	   -moz-column-gap: min(1.2vw, 18px);
	        column-gap: min(1.2vw, 18px);
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
}
.flow_item:not(:first-child) {
	margin-top: 50px;
}
.flow_number {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	position: relative;
	z-index: 2;
	display: -ms-grid;
	display: grid;
	width: min(4.4vw, 66px);
	border: 1.5px dotted #000;
	border-radius: 50%;
	background-color: #fff;
	font-size: var(--font-size16);
	aspect-ratio: 1;
	letter-spacing: 0.06em;
	place-items: center;
}
.flow_content {
	padding-top: 18px;
}
.flow_item_title {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	font-size: var(--font-size32);
	color: #00c680;
}
.flow_item_txt {
	margin-top: 15px;
	font-size: var(--font-size20);
	font-weight: 600;
	line-height: 1.6;
}
.flow_note {
	display: inline-block;
	margin-top: 9px;
	padding: 8px 20px;
	border: 1.5px dotted #000;
	border-radius: 100px;
	background-color: #fff;
	font-size: var(--font-size15);
	font-weight: 600;
}
.flow_note + .flow_item_txt {
	margin-top: 8px;
}
.flow_line {
	position: absolute;
	z-index: 1;
	width: 16px;
	overflow: visible;
	pointer-events: none;
	clip-path: inset(0 0 100% 0);
	will-change: clip-path;
}
.flow_line_path {
	fill: none;
	stroke: #000;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-dasharray: 1 3;
	vector-effect: non-scaling-stroke;
}
.flow_chara {
	position: absolute;
	bottom: calc(8.9334vw - 90px);
	left: 0;
	z-index: 2;
	width: 326px;
	aspect-ratio: 326/470;
	pointer-events: none;
}
.flow_chara span {
	position: absolute;
	display: block;
	will-change: transform, opacity, filter;
}
.flow_chara01 {
	bottom: 0;
	left: 0;
	width: 69.0185%;
}
.flow_chara02 {
	top: 0;
	left: 12.27%;
	width: 20.8589%;
}
.flow_chara03 {
	bottom: 0;
	left: 3.0675%;
	width: 16.5645%;
	margin-bottom: 53.681%;
}
.flow_chara04 {
	right: 0;
	bottom: 0;
	width: 18.7117%;
	margin-bottom: 61.3497%;
}
@media screen and (max-width: 800px) {
	.flow {
		padding-top: calc(46.25vw + 10.75vw);
		background-color: #cfd3d7;
		background-image: url(../img/service/flow_bg_sp.webp);
		background-position: 50% 0%;
		background-size: 100% auto;
	}
	.flow_inner {
		width: 82.5vw;
	}
	.flow_head {
		padding-right: 20px;
	}
	.flow_label {
		font-size: var(--font-size16);
	}
	.flow_title {
		margin-top: 5.5vw;
		margin-left: -0.06em;
		font-size: var(--font-size54);
	}
	.flow_list {
		width: 100%;
		margin-top: 40px;
		padding-bottom: 100px;
	}
	.flow_item {
		-ms-grid-columns: 52px 3.5001vw minmax(0, 1fr);
		grid-template-columns: 52px minmax(0, 1fr);
		-webkit-column-gap: 3.5001vw;
		   -moz-column-gap: 3.5001vw;
		        column-gap: 3.5001vw;
	}
	.flow_item:not(:first-child) {
		margin-top: 32px;
	}
	.flow_number {
		width: 52px;
		font-size: var(--font-size13);
	}
	.flow_content {
		padding-top: 12px;
	}
	.flow_item_title {
		font-size: var(--font-size25);
	}
	.flow_item_txt {
		margin-top: 10px;
		font-size: var(--font-size17);
		line-height: 1.5883;
	}
	.flow_note {
		margin-top: 13px;
		padding: 6px 16px;
		font-size: var(--font-size12);
	}
	.flow_note + .flow_item_txt {
		margin-top: 4px;
	}
	.flow_chara {
		position: relative;
		aspect-ratio: 326/440;
		inset: auto;
		width: 52vw;
		margin: 0 auto;
		margin-bottom: -10.75vw;
		translate: 20% 0%;
	}
}

.awards {
	z-index: 2;
	padding: 320px 0;
	background-color: #00715e;
}
@media screen and (min-width: 801px) {
	.awards {
		position: relative;
		z-index: 2;
		margin-top: -8.9334vw;
		margin-bottom: -8.9334vw;
		-webkit-mask-repeat: no-repeat, no-repeat, no-repeat;
		        mask-repeat: no-repeat, no-repeat, no-repeat;
		-webkit-mask-position: 0 -0.5px, 50% -0.5px, 50% calc(100% + 0.8px);
		        mask-position: 0 -0.5px, 50% -0.5px, 50% calc(100% + 0.8px);
		-webkit-mask-size: 100% 100.2%, 113.3334vw auto, 113.3334vw auto;
		        mask-size: 100% 100.2%, 113.3334vw auto, 113.3334vw auto;
		-webkit-mask-composite: xor;
		        mask-composite: exclude;
		-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_r.svg), url(../img/common/parts_mask_bottom_r.svg);
		-webkit-mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_r.svg), url(../img/common/parts_mask_bottom_r.svg);
		        mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_r.svg), url(../img/common/parts_mask_bottom_r.svg);
		        mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_r.svg), url(../img/common/parts_mask_bottom_r.svg);
	}
}
@media screen and (max-width: 800px) {
	.awards {
		position: relative;
		margin-top: -10.75vw;
		margin-bottom: -10.75vw;
		-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		-webkit-mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		        mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		        mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_sp.svg), url(../img/common/parts_mask_bottom_sp.svg);
		-webkit-mask-repeat: no-repeat, no-repeat, no-repeat;
		        mask-repeat: no-repeat, no-repeat, no-repeat;
		-webkit-mask-position: 0 0, 50% 0, 50% 100.2%;
		        mask-position: 0 0, 50% 0, 50% 100.2%;
		-webkit-mask-size: 100% 100%, 100% 10.75vw, 100% 10.75vw;
		        mask-size: 100% 100%, 100% 10.75vw, 100% 10.75vw;
		-webkit-mask-composite: xor;
		        mask-composite: exclude;
	}
}
.awards .cs {
	width: 242px;
	margin: 0 auto;
}
.awards_inner {
	width: min(560px, 100% - 48px);
	margin: 0 auto;
}
.awards_links {
	margin-top: 52px;
	border-top: 1px solid rgba(255, 255, 255, 0.35);
}
.awards_link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 4px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
	font-size: var(--font-size14);
	line-height: 1.7;
	letter-spacing: 0.04em;
	color: #fff;
	transition: opacity 0.25s ease;
}
@media (hover: hover) {
	.awards_link:hover {
		opacity: 0.65;
	}
}
.awards_link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}
.awards_pdf {
	flex: 0 0 auto;
	font-family: "Elms Sans", sans-serif;
	font-size: var(--font-size12);
	font-weight: 500;
	letter-spacing: 0.06em;
	opacity: 0.65;
}
@media screen and (max-width: 800px) {
	.awards {
		padding: 220px 0;
	}
	.awards_inner {
		width: calc(100% - 40px);
	}
	.awards .cs {
		width: 190px;
	}
	.awards_links {
		margin-top: 38px;
	}
	.awards_link {
		gap: 12px;
		padding: 17px 2px;
		font-size: var(--font-size12);
	}
}

.area {
	position: relative;
	z-index: 1;
	padding-bottom: 250px;
	overflow: hidden;
	background-color: #e8e8e8;
}
.area_inner {
	margin-inline: auto;
	margin-bottom: 110px;
}
.area_head {
	display: -ms-grid;
	display: grid;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: min(77.3334%, 2000px);
	min-height: clamp(560px, 48vw, 760px);
	margin: 0 auto;
	padding: calc(63px + 8.9334vw) 0 0 2.6667vw;
	-ms-grid-columns: clamp(300px, 30vw, 450px) clamp(300px, 30.4vw, 456px);
	grid-template-columns: clamp(300px, 30vw, 450px) clamp(300px, 30.4vw, 456px);
}
.area_cont {
	padding: 40px 0;
}
.area_label {
	display: inline-block;
	padding: 5px 9px 6px;
	background-color: #000;
	font-size: var(--font-size20);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #00c680;
}
.area_title {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	margin-top: 42px;
	font-size: var(--font-size68);
	line-height: 0.9118;
}
.area_text {
	max-width: 448px;
	margin-top: 45px;
	font-size: var(--font-size16);
	line-height: 2.25;
	letter-spacing: 0.02em;
	text-align: justify;
}
.area_map {
	position: relative;
	-ms-grid-column-align: end;
	    justify-self: end;
	width: 100%;
	max-width: 456px;
	margin-bottom: -100px;
	-webkit-transform-origin: center;
	        transform-origin: center;
}
.area_map_base {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
}
.area_map_objects {
	position: absolute;
	inset: 0;
}
.area_map_objects img {
	position: absolute;
	-webkit-transform-origin: center;
	        transform-origin: center;
}
.area_map ._obj01 {
	top: -4%;
	left: 49%;
	width: 15.5702%;
}
.area_map ._obj02 {
	top: 12%;
	left: -2%;
	width: 12.0615%;
}
.area_map ._obj03 {
	top: 23.5%;
	left: 29.5%;
	width: 12.7193%;
}
.area_map ._obj04 {
	top: 16%;
	right: 12.5%;
	width: 12.0615%;
}
.area_map ._obj05 {
	top: 40.2%;
	right: 3%;
	width: 13.5965%;
}
.area_map ._obj06 {
	top: 59%;
	left: 20%;
	width: 12.7193%;
}
.area_map ._obj07 {
	right: 19%;
	bottom: 26%;
	width: 12.0615%;
}
.area_slider {
	width: 100%;
	border-top: 2px dotted #000;
	border-bottom: 2px dotted #000;
}
.area_item {
	width: 30.2667vw;
}
.area_item:first-child a {
	border-left: 2px dotted #000;
}
.area_item a {
	position: relative;
	display: block;
	height: 100%;
	overflow: hidden;
	color: inherit;
}
.area_item a::before {
	position: absolute;
	top: 1px;
	right: 0;
	z-index: 2;
	width: 0;
	height: calc(100% - 2px);
	border-right: 2px dotted #000;
	content: "";
	display: block;
}
@media (hover: hover) and (pointer: fine) {
	.area_item a:hover .area_item_visual img {
		scale: 1.08;
	}
	.area_item a:hover .area_item_arrow {
		translate: 8px 0;
	}
}
.area_item_info {
	position: absolute;
	top: 20px;
	left: 0;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 100%;
	height: 50%;
	pointer-events: none;
}
.area_item_location {
	padding: 7px 29px 9px;
	border: 2px dotted #000;
	border-radius: 50%;
	font-size: var(--font-size20);
	text-align: center;
}
.area_item_location._kumamoto {
	background-color: #d66276;
}
.area_item_location._fukuoka {
	background-color: #a375ac;
}
.area_item_location._kagoshima {
	background-color: #5fa3a5;
}
.area_item_name {
	position: absolute;
	top: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 7px;
	width: 100%;
	height: 100%;
	padding: 0 12px 0 16px;
}
.area_item_name ._ja {
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	font-size: var(--font-size24);
	font-weight: 500;
	line-height: 1.3044;
	letter-spacing: 0.08em;
}
.area_item_name ._en {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	font-size: var(--font-size15);
	letter-spacing: 0.04em;
}
.area_item_visual img {
	width: 100%;
	height: 100%;
	-o-object-position: 50% 50%;
	   object-position: 50% 50%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center bottom;
	   object-position: center bottom;
	-webkit-filter: saturate(1);
	        filter: saturate(1);
	-webkit-transition: scale 3s, -webkit-filter 2s;
	transition: scale 3s, -webkit-filter 2s;
	transition: filter 2s, scale 3s;
	transition: filter 2s, scale 3s, -webkit-filter 2s;
}
.area_item_bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: 100%;
	padding: 0 22px 20px 22px;
	pointer-events: none;
}
.area_item_role {
	padding: 4px 11px 5px;
	border: 2px dotted #000;
	border-radius: 20px;
	background-color: #e78d9a;
	font-size: var(--font-size12);
	font-weight: 500;
}
.area_item_role._kumamoto {
	background-color: #d66276;
}
.area_item_role._fukuoka {
	background-color: #a375ac;
}
.area_item_role._kagoshima {
	background-color: #5fa3a5;
}
.area_item_arrow {
	position: relative;
	display: block;
	width: 23px;
	height: 14px;
	-webkit-transition: translate 0.35s;
	transition: translate 0.35s;
}
.area_item_arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 100%;
	border-top: 1px solid #000;
}
.area_item_arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 8px;
	height: 8px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	rotate: 45deg;
	translate: 0 -50%;
}

@media screen and (max-width: 800px) {
	.area_inner {
		margin-bottom: 70px;
	}
	.area_head {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		width: 80%;
		min-height: 0;
		padding: calc(90px + 8.9334vw) 0 0;
	}
	.area_cont {
		padding: 0;
	}
	.area_label {
		padding: 4px 6px 6px;
		font-size: var(--font-size16);
	}
	.area_title {
		margin-top: 14px;
		font-size: var(--font-size54);
		line-height: 1.0385;
	}
	.area_text {
		margin-top: 20px;
		font-size: var(--font-size14);
		line-height: 2.1429;
	}
	.area_map {
		position: relative;
		z-index: 1;
		width: min(63.25vw, 360px);
		margin-top: 30px;
		margin-bottom: -58px;
		-ms-flex-item-align: center;
		    -ms-grid-row-align: center;
		    align-self: center;
	}
	.area_map_objects img {
		width: clamp(34px, 12.3077vw, 48px);
	}
	.area_slider {
		position: relative;
		z-index: 2;
	}
	.area_item {
		width: 70vw;
	}
	.area_item_link {
		min-height: 520px;
	}
	.area_item_info {
		top: 15px;
	}
	.area_item_location {
		padding: 4px 18px 5px;
		font-size: var(--font-size12);
	}
	.area_item_name {
		padding: 0 10px;
	}
	.area_item_name ._ja {
		font-size: var(--font-size18);
		line-height: 1.3158;
	}
	.area_item_name ._en {
		font-size: var(--font-size10);
	}
	.area_item_bottom {
		padding: 15px;
	}
	.area_item_role {
		padding: 1px 7px 3px;
		font-size: var(--font-size9);
	}
}
/*# sourceMappingURL=service.css.map */
