@charset "UTF-8";



@font-face {
	font-family: swiper-icons;
	src: url(data:application/font-woff;charset=utf-8;base64,\ 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);
	font-weight: 400;
	font-style: normal
}

:root {
	--swiper-theme-color: #007aff
}

.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1
}

.swiper-vertical > .swiper-wrapper {
	flex-direction: column
}

.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	transition-property: transform;
	box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-wrapper {
	transform: translateZ(0)
}

.swiper-pointer-events {
	touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
	touch-action: pan-x
}

.swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	transition-property: transform
}

.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-3d.swiper-css-mode .swiper-wrapper {
	perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.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,
.swiper-3d .swiper-wrapper {
	transform-style: preserve-3d
}

.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: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
	background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
	background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
	background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.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-horizontal.swiper-css-mode > .swiper-wrapper {
	scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
	scroll-snap-type: y mandatory
}

.swiper-centered > .swiper-wrapper:before {
	content: "";
	flex-shrink: 0;
	order: 9999
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
	-webkit-margin-start: var(--swiper-centered-offset-before);
	margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
	height: 100%;
	min-height: 1px;
	width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
	-webkit-margin-before: var(--swiper-centered-offset-before);
	margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical > .swiper-wrapper:before {
	width: 100%;
	min-width: 1px;
	height: var(--swiper-centered-offset-after)
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: center center;
	scroll-snap-stop: always
}

@media only screen and (min-width: 768px) {
	.inner {
		width: 152rem;
		margin: 0 auto
	}
}

@media only screen and (max-width: 767px) {
	.inner {
		width: 100%;
		padding: 0 2rem
	}
}

@media only screen and (min-width: 768px) {
	.inner--pc_p {
		padding: 0 7rem
	}
}

@keyframes arrow_run {
	0% {
		transform: translate(0)
	}

	45% {
		opacity: 1;
		transform: translate(150%)
	}

	46% {
		opacity: 0;
		transform: translate(150%)
	}

	47% {
		opacity: 0;
		transform: translate(-150%)
	}

	48% {
		opacity: 1
	}

	55% {
		transform: translate(-150%)
	}

	to {
		transform: translate(0)
	}
}

@keyframes arrow_run_s {
	0% {
		transform: translate(0)
	}

	45% {
		opacity: 1;
		transform: translate(100%)
	}

	46% {
		opacity: 0;
		transform: translate(100%)
	}

	47% {
		opacity: 0;
		transform: translate(-100%)
	}

	48% {
		opacity: 1
	}

	55% {
		transform: translate(-100%)
	}

	to {
		transform: translate(0)
	}
}

@keyframes home_mv_scroll_down {
	0% {
		opacity: 0;
		transform: translateY(-50%)
	}

	5% {
		opacity: 1
	}

	40% {
		opacity: 1
	}

	45% {
		transform: translateY(50%)
	}

	50% {
		opacity: 0;
		transform: translateY(50%)
	}

	to {
		opacity: 0;
		transform: translateY(-50%)
	}
}

.icon {
	display: block;
	aspect-ratio: 1
}

.icon--announce {
	-webkit-mask: url(icon_announce_d3061b46.svg) center/contain no-repeat;
	mask: url(icon_announce_d3061b46.svg) center/contain no-repeat
}

.icon--list {
	-webkit-mask: url(icon_list_7a541d8c.svg) center/contain no-repeat;
	mask: url(icon_list_7a541d8c.svg) center/contain no-repeat
}

.icon--sns_twitter {
	-webkit-mask: url(icon_sns_x.svg) center/contain no-repeat;
	mask: url(icon_sns_x.svg) center/contain no-repeat
}

.icon--sns_instagram {
	-webkit-mask: url(icon_sns_instagram_1a3d5a55.svg) center/contain no-repeat;
	mask: url(icon_sns_instagram_1a3d5a55.svg) center/contain no-repeat
}

.icon--sns_facebook {
	-webkit-mask: url(icon_sns_facebook_7302e499.svg) center/contain no-repeat;
	mask: url(icon_sns_facebook_7302e499.svg) center/contain no-repeat
}

.icon--sns_line {
	-webkit-mask: url(icon_sns_line_cad4a2ea.svg) center/contain no-repeat;
	mask: url(icon_sns_line_cad4a2ea.svg) center/contain no-repeat
}

.icon--support_repair {
	background: url(icon_support_repair_78c1d55c.svg) center/contain no-repeat
}

.icon--support_search {
	background: url(icon_support_search_a00b2ce1.svg) center/contain no-repeat
}

.icon--support_custom {
	background: url(icon_support_custom_cdfa2724.svg) center/contain no-repeat
}

.arrow {
	display: block;
	aspect-ratio: 1
}

.arrow--head_one {
	-webkit-mask: url(arrow_head_one_984d7bae.svg) center/contain no-repeat;
	mask: url(arrow_head_one_984d7bae.svg) center/contain no-repeat
}

.arrow--head_two {
	-webkit-mask: url(arrow_head_two_f53bdf9b.svg) center/contain no-repeat;
	mask: url(arrow_head_two_f53bdf9b.svg) center/contain no-repeat
}

.arrow--head_seven {
	-webkit-mask: url(arrow_head_seven_13f778e5.svg) center/contain no-repeat;
	mask: url(arrow_head_seven_13f778e5.svg) center/contain no-repeat
}

.arrow--s {
	-webkit-mask: url(arrow_normal_s_bf98141f.svg) center/contain no-repeat;
	mask: url(arrow_normal_s_bf98141f.svg) center/contain no-repeat
}

.arrow--l {
	-webkit-mask: url(arrow_normal_l_41fbcdf9.svg) center/contain no-repeat;
	mask: url(arrow_normal_l_41fbcdf9.svg) center/contain no-repeat
}

.arrow--left {
	rotate: 180deg
}

.arrow--blank {
	rotate: -45deg
}

.arrow--black {
	background: #0a0a14
}

.arrow--gray {
	background: #a5acb1
}

.arrow--white {
	background: #fff
}

.arrow--current {
	background: currentColor
}

.arrow_bg {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	aspect-ratio: 1
}

.arrow_bg--s {
	border-radius: .6rem
}

@media only screen and (max-width: 767px) {
	.arrow_bg--s {
		width: 2rem
	}
}

.arrow_bg--s .bg {
	border-radius: .6rem
}

.arrow_bg--s .arrow {
	width: 50%
}

@media only screen and (min-width: 768px) {
	.arrow_bg--m {
		width: 3.4rem;
		border-radius: 1rem
	}
}

@media only screen and (min-width: 768px) {
	.arrow_bg--m .bg {
		border-radius: 1rem
	}
}

@media only screen and (min-width: 768px) {
	.arrow_bg--l {
		width: 4rem;
		border-radius: 1.2rem
	}
}

@media only screen and (min-width: 768px) {
	.arrow_bg--l .bg {
		border-radius: 1.2rem
	}
}

.arrow_bg--xl {
	border-radius: 1.2rem
}

@media only screen and (min-width: 768px) {
	.arrow_bg--xl {
		width: 5rem
	}
}

@media only screen and (max-width: 767px) {
	.arrow_bg--xl {
		width: 4.5rem
	}
}

.arrow_bg--xl .bg {
	border-radius: 1.2rem
}

@media only screen and (min-width: 768px) {
	.arrow_bg--xl .arrow {
		width: 2rem
	}
}

@media only screen and (max-width: 767px) {
	.arrow_bg--xl .arrow {
		width: 1.4rem
	}
}

@media only screen and (max-width: 767px) {
	.arrow_bg--sp_arrow_only {
		width: -moz-fit-content !important;
		width: fit-content !important;
		overflow: visible
	}
}

.arrow_bg .bg {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.arrow_bg .bg--black {
	background: #0a0a14
}

.arrow_bg .bg--gray2 {
	background: #e8eaed
}

.arrow_bg .bg--hidden {
	opacity: 0;
	transform: scale(0)
}

@media only screen and (min-width: 768px) {
	.h1_heading {
		margin-top: 23rem
	}
}

@media only screen and (max-width: 767px) {
	.h1_heading {
		margin-top: 7rem
	}
}

.h1_heading h1 {
	white-space: nowrap;
	display: flex;
	flex-direction: column;
	align-items: flex-start
}

.h1_heading h1 .jp {
	font-family: '源ノ角ゴシック', 'Source Han Sans', sans-serif;
	font-feature-settings: "palt";
	display: block;
	line-height: 1.5
}

@media only screen and (min-width: 768px) {
	.h1_heading h1 .jp {
		font-size: 3rem
	}
}

@media only screen and (max-width: 767px) {
	.h1_heading h1 .jp {
		font-size: 1.7rem
	}
}

.h1_heading h1 .en {
	position: relative
}

.h1_heading h1 .en .text {
	font-family: nimbus-sans, sans-serif;
	font-weight: 400;
	font-style: normal;
	display: block;
	line-height: 1;
	letter-spacing: -.012em;
	opacity: 0
}

@media only screen and (min-width: 768px) {
	.h1_heading h1 .en .text {
		font-size: 10rem;
		margin-top: 1.7rem;
		margin-left: -.8rem
	}
}

@media only screen and (max-width: 767px) {
	.h1_heading h1 .en .text {
		font-size: 5rem;
		margin-top: .5rem
	}
}

.h1_heading h1 .en .cover {
	display: block;
	position: absolute;
	height: 90%;
	bottom: 0;
	background: #0a0a14;
	-webkit-clip-path: inset(0% 100% 0% 0%);
	clip-path: inset(0% 100% 0% 0%)
}

@media only screen and (min-width: 768px) {
	.h1_heading h1 .en .cover {
		left: -1.2rem;
		width: calc(100% + 2.4rem)
	}
}

@media only screen and (max-width: 767px) {
	.h1_heading h1 .en .cover {
		left: -.3rem;
		width: calc(100% + .6rem)
	}
}

.h1_heading--about .jp {
	letter-spacing: -.01em
}

@media only screen and (min-width: 768px) {
	.h1_heading--about .jp {
		margin-left: -.4rem
	}
}

@media only screen and (max-width: 767px) {
	.h1_heading--about .jp {
		margin-left: -.1rem
	}
}

.h1_heading--about .jp span {
	display: inline-block;
	margin-left: -.1em
}

@media only screen and (max-width: 767px) {
	.h1_heading--about .en {
		margin-left: -.1rem
	}
}

.h1_heading--nature .jp {
	margin-left: -.2rem
}

@media only screen and (min-width: 768px) {
	.h1_heading--nature .jp {
		letter-spacing: -.007em
	}
}

@media only screen and (max-width: 767px) {
	.h1_heading--nature .en {
		margin-left: -.4rem
	}
}

.h1_heading--life .jp {
	letter-spacing: .005em
}

@media only screen and (min-width: 768px) {
	.h1_heading--life .jp {
		margin-left: -.3rem
	}
}

@media only screen and (max-width: 767px) {
	.h1_heading--life .jp {
		margin-left: -.1rem
	}
}

@media only screen and (max-width: 767px) {
	.h1_heading--life .en {
		margin-left: -.4rem
	}
}

.h1_heading--life .en .text span {
	display: inline-block;
	margin-left: .05em
}

.h2_heading {
	white-space: nowrap
}

.h2_heading h2 {
	display: flex;
	flex-direction: column
}

.h2_heading h2 .jp {
	/* font-family: \898b\51fa\30b4MB31, Midashi Go MB31, sans-serif; */
	font-feature-settings: "palt";
	display: block;
	line-height: 1.5;
	letter-spacing: .02em
}

@media only screen and (min-width: 768px) {
	.h2_heading h2 .jp {
		font-size: max(10px, .875vw)
	}
}

@media only screen and (max-width: 767px) {
	.h2_heading h2 .jp {
		font-size: 1.2rem
	}
}

.h2_heading h2 .en {
	font-family: nimbus-sans, sans-serif;
	font-weight: 400;
	font-style: normal;
	display: block;
	letter-spacing: -.015em
}

@media only screen and (min-width: 768px) {
	.h2_heading h2 .en {
		line-height: .833
	}
}

@media only screen and (max-width: 767px) {
	.h2_heading h2 .en {
		line-height: 1
	}
}

.h2_heading p {
	/* font-family: \898b\51fa\30b4MB31, Midashi Go MB31, sans-serif; */
	font-feature-settings: "palt";
	display: block
}

@media only screen and (min-width: 768px) {
	.h2_heading p {
		font-size: max(10px, 1.125vw);
		line-height: 1.5;
		letter-spacing: .02em
	}
}

@media only screen and (max-width: 767px) {
	.h2_heading p {
		font-size: 1.4rem;
		line-height: 1.79;
		letter-spacing: .01em
	}
}

@media only screen and (min-width: 768px) {
	.h2_heading--s h2 .en {
		font-size: 4rem;
		margin-top: 1.3rem
	}
}

@media only screen and (max-width: 767px) {
	.h2_heading--s h2 .en {
		font-size: 3rem;
		margin-top: .7rem
	}
}

@media only screen and (min-width: 768px) {

	.h2_heading--m h2 .jp,
	.h2_heading--l h2 .jp {
		margin-left: .1rem
	}
}

@media only screen and (max-width: 767px) {

	.h2_heading--m h2 .en,
	.h2_heading--l h2 .en {
		font-size: 4rem;
		margin-top: .5rem
	}
}

@media only screen and (min-width: 768px) {
	.h2_heading--m h2 .en {
		font-size: 6.6rem;
		margin-top: 1rem
	}
}

@media only screen and (min-width: 768px) {
	.h2_heading--l h2 .en {
		font-size: 7rem;
		margin-top: .8rem
	}
}

.link_border {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: -moz-fit-content;
	width: fit-content;
	border-radius: 1.2rem;
	border: .2rem solid #c0c4c7
}

.link_border .text {
	position: relative;
	/* font-family: \898b\51fa\30b4MB31, Midashi Go MB31, sans-serif; */
	font-feature-settings: "palt";
	display: block;
	white-space: nowrap;
	line-height: 1.3
}

.link_border .text:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background: currentColor;
	transform-origin: left center;
	transform: scaleX(0)
}

@media only screen and (min-width: 768px) {
	.link_border--m {
		min-width: 23rem;
		height: 5rem;
		padding-left: 1.7rem;
		padding-right: .6rem;
		font-size: max(10px, .875vw)
	}
}

@media only screen and (max-width: 767px) {
	.link_border--m {
		font-size: 1.4rem;
		height: 5.5rem;
		padding-left: 1.8rem;
		padding-right: 1.7rem;
		padding-bottom: .1rem
	}
}

.link_border--m .text {
	letter-spacing: .02em
}

@media only screen and (min-width: 768px) {
	.link_border--m .text {
		margin-right: 1.4rem
	}
}

@media only screen and (min-width: 768px) {
	.link_border--m .arrow_bg .arrow {
		font-size: max(10px, .875vw);
		width: .64em
	}
}

@media only screen and (max-width: 767px) {
	.link_border--m .arrow_bg .arrow {
		width: 1rem;
		margin-top: .2rem
	}
}

@media only screen and (min-width: 768px) {
	.link_border--l {
		min-width: 36rem;
		max-width: 100%;
		height: 7rem;
		font-size: max(10px, 1.125vw);
		padding-left: 2.8rem;
		padding-right: 1.5rem
	}
}

@media only screen and (max-width: 767px) {
	.link_border--l {
		width: 100%;
		font-size: 1.7rem;
		height: 7.5rem;
		padding-left: 1.8rem;
		padding-right: 1.8rem;
		padding-bottom: .1rem
	}
}

.link_border--l .text {
	letter-spacing: .02em
}

@media only screen and (min-width: 768px) {
	.link_border--l .text {
		margin-right: 4rem
	}
}

@media only screen and (min-width: 768px) {
	.link_border--l .arrow_bg .arrow {
		font-size: max(10px, 1.125vw);
		width: .78em
	}
}

@media only screen and (max-width: 767px) {
	.link_border--l .arrow_bg .arrow {
		width: 1.4rem;
		margin-top: .2rem
	}
}

@media (hover: hover) and (pointer: fine) {
	.link_border {
		transition: border-color .2s ease-out
	}

	.link_border .text:after {
		transition: transform .2s ease-out
	}
}

@media only screen and (hover: hover) and (pointer: fine) and (min-width: 768px) {
	.link_border .arrow_bg .bg {
		transition: opacity .2s ease-out, transform .3s ease-out
	}
}

@media only screen and (hover: hover) and (pointer: fine) and (min-width: 768px) {
	.link_border .arrow_bg .arrow {
		transition: background .2s ease-out
	}
}

@media only screen and (hover: hover) and (pointer: fine) and (max-width: 767px) {
	.link_border .arrow_bg .arrow {
		transition: transform .2s ease-out
	}
}

@media (hover: hover) and (pointer: fine) {
	.link_border:hover {
		border-color: #e8eaed
	}

	.link_border:hover .text:after {
		transform: scaleX(1)
	}
}

@media only screen and (hover: hover) and (pointer: fine) and (min-width: 768px) {
	.link_border:hover .arrow_bg .bg {
		opacity: 1;
		transform: scale(1)
	}
}

@media only screen and (hover: hover) and (pointer: fine) and (min-width: 768px) {
	.link_border:hover .arrow_bg .arrow {
		background: #fff;
		animation: arrow_run .3s 1 forwards linear
	}
}

@media only screen and (hover: hover) and (pointer: fine) and (max-width: 767px) {
	.link_border:hover .arrow_bg .arrow {
		transform: translate(.5rem)
	}
}

.figure_ol {
	position: relative;
	aspect-ratio: 1;
	border-radius: 50%;
	border: .2rem solid currentColor
}

@media only screen and (min-width: 768px) {
	.figure_ol {
		width: 36rem
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol {
		width: 25.2rem
	}
}

.figure_ol:before {
	content: "";
	display: block;
	position: absolute;
	background: currentColor;
	-webkit-mask: url(logo_d_554186d1.svg) center/contain no-repeat;
	mask: url(logo_d_554186d1.svg) center/contain no-repeat
}

@media only screen and (min-width: 768px) {
	.figure_ol:before {
		width: 5.5rem;
		height: 2.6rem;
		top: calc(50% - 1.3rem);
		left: calc(50% - 2.75rem)
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol:before {
		width: 3.8rem;
		height: 1.8rem;
		top: calc(50% - .9rem);
		left: calc(50% - 1.9rem)
	}
}

.figure_ol li {
	position: absolute
}

@media only screen and (min-width: 768px) {
	.figure_ol li {
		width: 13.5rem;
		height: 51rem;
		top: -7.5rem;
		left: calc(50% - 6.75rem)
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol li {
		width: 9.5rem;
		height: 35.6rem;
		top: -5.2rem;
		left: calc(50% - 4.75rem)
	}
}

.figure_ol li:before {
	content: "";
	display: block;
	position: absolute;
	background: currentColor;
	-webkit-mask: url(arrow_head_seven_13f778e5.svg) center/contain no-repeat;
	mask: url(arrow_head_seven_13f778e5.svg) center/contain no-repeat
}

@media only screen and (min-width: 768px) {
	.figure_ol li:before {
		width: .7rem;
		height: 3.6rem;
		top: calc(50% - 1.8rem)
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol li:before {
		width: .5rem;
		height: 2.5rem;
		top: calc(50% - 1.25rem)
	}
}

.figure_ol li a {
	font-family: nimbus-sans, sans-serif;
	font-weight: 400;
	font-style: normal;
	z-index: 1;
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	white-space: nowrap;
	text-align: center;
	width: 100%;
	aspect-ratio: 1;
	border-radius: 50%;
	left: 0
}

@media only screen and (min-width: 768px) {
	.figure_ol li a {
		padding: 1.1rem 0 1.7rem
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol li a {
		padding: .9rem 0 1.3rem
	}
}

.figure_ol li a:before {
	z-index: -1;
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 50%
}

.figure_ol li a .num {
	display: block;
	line-height: 1.5;
	letter-spacing: -.03em
}

@media only screen and (min-width: 768px) {
	.figure_ol li a .num {
		font-size: max(10px, .8125vw)
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol li a .num {
		font-size: 1.2rem;
		transform: scale(.75);
		transform-origin: center top
	}
}

.figure_ol li a .text {
	display: block;
	line-height: 1
}

@media only screen and (min-width: 768px) {
	.figure_ol li a .text {
		font-size: max(10px, 1.125vw);
		padding-bottom: 1rem
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol li a .text {
		font-size: 1.3rem;
		padding-bottom: .9rem
	}
}

@media only screen and (min-width: 768px) {
	.figure_ol li a .arrow {
		font-size: max(10px, .8125vw);
		width: .6em
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol li a .arrow {
		width: .6rem
	}
}

@media (hover: hover) and (pointer: fine) {
	.figure_ol li a {
		transition: color .2s ease-out
	}

	.figure_ol li a:before {
		transition: transform .2s ease-out, background .2s ease-out
	}

	.figure_ol li a:hover:before {
		transform: scale(1.15)
	}
}

@media only screen and (min-width: 768px) {
	.figure_ol li:first-of-type:before {
		left: calc(50% - .35rem);
		transform: translateY(-6.5rem)
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol li:first-of-type:before {
		left: calc(50% - .25rem);
		transform: translateY(-4.5rem)
	}
}

@media only screen and (min-width: 768px) {
	.figure_ol li:first-of-type a {
		top: 2rem
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol li:first-of-type a {
		top: 1.2rem
	}
}

.figure_ol li:nth-of-type(2) {
	transform: rotate(-57deg)
}

.figure_ol li:nth-of-type(2):before {
	left: 50%
}

@media only screen and (min-width: 768px) {
	.figure_ol li:nth-of-type(2):before {
		transform: translateY(8rem) scaleY(-1)
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol li:nth-of-type(2):before {
		transform: translateY(5.5rem) scaleY(-1)
	}
}

.figure_ol li:nth-of-type(2) a {
	bottom: 0;
	transform: rotate(57deg)
}

.figure_ol li:nth-of-type(3) {
	transform: rotate(57deg)
}

@media only screen and (min-width: 768px) {
	.figure_ol li:nth-of-type(3):before {
		left: calc(50% - .7rem);
		transform: translateY(8rem) scaleY(-1)
	}
}

@media only screen and (max-width: 767px) {
	.figure_ol li:nth-of-type(3):before {
		left: calc(50% - .5rem);
		transform: translateY(5.5rem) scaleY(-1)
	}
}

.figure_ol li:nth-of-type(3) a {
	bottom: 0;
	transform: rotate(-57deg)
}

@media only screen and (min-width: 768px) {
	.mv {
		margin-top: 4.8rem
	}
}

@media only screen and (max-width: 767px) {
	.mv {
		margin-top: 1.9rem
	}
}

@media only screen and (min-width: 768px) {
	.mv .inner--image {
		margin-top: 4.5rem
	}
}

@media only screen and (max-width: 767px) {
	.mv .inner--image {
		padding: 0;
		margin-top: 1.7rem
	}
}

.mv__image {
	width: 100%
}

@media only screen and (min-width: 768px) {
	.mv__image {
		height: 70rem
	}
}

@media only screen and (max-width: 767px) {
	.mv__image {
		height: 27rem
	}
}

.mv__image img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.breadcrumb {
	display: block;
	width: -moz-fit-content;
	width: fit-content
}

@media only screen and (min-width: 768px) {
	.breadcrumb {
		font-size: max(10px, .875vw);
		margin-left: auto
	}
}

@media only screen and (max-width: 767px) {
	.breadcrumb {
		font-size: 1rem
	}
}

.breadcrumb a {
	display: inline;
	line-height: 1.7
}

.breadcrumb a[href] {
	color: #878a8c
}

@media (hover: hover) and (pointer: fine) {
	.breadcrumb a[href] {
		transition: color .2s ease-out
	}

	.breadcrumb a[href]:hover {
		color: #0a0a14
	}
}

.breadcrumb a:not([href]) {
	letter-spacing: -.03em
}

.breadcrumb .arrow {
	display: inline-block
}

@media only screen and (min-width: 768px) {
	.breadcrumb .arrow {
		width: .65em;
		margin-left: .6em;
		margin-right: .45em;
		margin-bottom: .05em
	}
}

@media only screen and (max-width: 767px) {
	.breadcrumb .arrow {
		width: .8em;
		margin-left: .6rem;
		margin-right: .5rem
	}
}

@media only screen and (min-width: 768px) {
	.intro {
		margin-top: 19.6rem
	}
}

@media only screen and (max-width: 767px) {
	.intro {
		margin-top: 9.7rem
	}
}

.intro .inner {
	display: flex
}

@media only screen and (min-width: 768px) {
	.intro .inner {
		justify-content: space-between
	}
}

@media only screen and (max-width: 767px) {
	.intro .inner {
		flex-direction: column
	}
}

.intro__body__heading h3 {
	/* font-family: \898b\51fa\30b4MB31, Midashi Go MB31, sans-serif; */
	font-feature-settings: "palt";
	display: block
}

.intro__body__description p {
	display: block
}

@media only screen and (min-width: 768px) {
	.intro__body__link {
		margin-top: 3.4rem
	}
}

@media only screen and (max-width: 767px) {
	.intro__body__link {
		margin-top: 2.5rem
	}
}

@media only screen and (max-width: 767px) {
	.intro__body__link .link_border {
		width: 23.7rem
	}
}

@media only screen and (max-width: 767px) {
	.intro__body__link .link_border .arrow {
		margin-left: 1rem
	}
}

@media only screen and (min-width: 768px) {
	.intro--about h2 .en {
		margin-left: -.5rem
	}
}

@media only screen and (max-width: 767px) {
	.intro--about h2 .en {
		margin-left: -.2rem
	}
}

@media only screen and (min-width: 768px) {
	.intro--about .intro__body {
		width: 94rem;
		margin-top: 16.5rem
	}
}

@media only screen and (max-width: 767px) {
	.intro--about .intro__body {
		margin-top: 4rem
	}
}

.intro--about .intro__body__heading h3 {
	line-height: 1.4
}

@media only screen and (min-width: 768px) {
	.intro--about .intro__body__heading h3 {
		font-size: 5rem
	}
}

@media only screen and (max-width: 767px) {
	.intro--about .intro__body__heading h3 {
		font-size: 2.5rem;
		letter-spacing: -.015em
	}
}

.intro--about .intro__body__description {
	display: flex;
	flex-direction: column
}

@media only screen and (min-width: 768px) {
	.intro--about .intro__body__description {
		margin-top: 5.7rem;
		row-gap: 3rem
	}
}

@media only screen and (max-width: 767px) {
	.intro--about .intro__body__description {
		margin: 2.8rem .1rem 0;
		row-gap: 1rem
	}
}

.intro--about .intro__body__description p {
	/* font-family: \898b\51fa\30b4MB31, Midashi Go MB31, sans-serif; */
	font-feature-settings: "palt"
}

@media only screen and (min-width: 768px) {
	.intro--about .intro__body__description p {
		white-space: nowrap;
		font-size: max(10px, 1.25vw);
		line-height: 2.5;
		letter-spacing: .015em
	}
}

@media only screen and (max-width: 767px) {
	.intro--about .intro__body__description p {
		font-size: 1.6rem;
		line-height: 1.81
	}
}

@media only screen and (min-width: 768px) {

	.intro--nature .intro__body,
	.intro--life .intro__body {
		width: 76.6rem;
		margin-top: 2.6rem
	}
}

@media only screen and (max-width: 767px) {

	.intro--nature .intro__body,
	.intro--life .intro__body {
		margin-top: 3.5rem
	}
}

.intro--nature .intro__body__heading,
.intro--life .intro__body__heading {
	display: flex;
	flex-direction: column;
	align-items: flex-start
}

.intro--nature .intro__body__heading p,
.intro--life .intro__body__heading p {
	/* font-family: \898b\51fa\30b4MB31, Midashi Go MB31, sans-serif; */
	font-feature-settings: "palt";
	display: block;
	letter-spacing: 0;
	border-bottom: .2rem solid currentColor
}

@media only screen and (min-width: 768px) {

	.intro--nature .intro__body__heading p,
	.intro--life .intro__body__heading p {
		font-size: max(10px, 1.25vw);
		line-height: 1.8
	}
}

@media only screen and (max-width: 767px) {

	.intro--nature .intro__body__heading p,
	.intro--life .intro__body__heading p {
		font-size: 1.5rem;
		line-height: 2.1
	}
}

.intro--nature .intro__body__heading h3,
.intro--life .intro__body__heading h3 {
	letter-spacing: 0
}

@media only screen and (min-width: 768px) {

	.intro--nature .intro__body__heading h3,
	.intro--life .intro__body__heading h3 {
		font-size: 3.6rem;
		line-height: 1.61;
		margin-top: 5.4rem
	}
}

@media only screen and (max-width: 767px) {

	.intro--nature .intro__body__heading h3,
	.intro--life .intro__body__heading h3 {
		font-size: 2.5rem;
		line-height: 1.48;
		margin-top: 3.5rem
	}
}

@media only screen and (min-width: 768px) {

	.intro--nature .intro__body__description,
	.intro--life .intro__body__description {
		margin-top: 1.8rem;
		margin-left: .2rem
	}
}

@media only screen and (max-width: 767px) {

	.intro--nature .intro__body__description,
	.intro--life .intro__body__description {
		margin-top: 2.5rem
	}
}

@media only screen and (min-width: 768px) {

	.intro--nature .intro__body__description p,
	.intro--life .intro__body__description p {
		font-size: max(10px, 1.125vw);
		line-height: 2.78;
		letter-spacing: 0
	}
}

@media only screen and (max-width: 767px) {

	.intro--nature .intro__body__description p,
	.intro--life .intro__body__description p {
		font-size: 1.4rem;
		line-height: 1.79
	}
}

.intro--nature h2 .jp {
	margin-left: -.1rem
}

@media only screen and (min-width: 768px) {
	.intro--nature .intro__body__heading h3 {
		margin-left: .2rem
	}
}

@media only screen and (max-width: 767px) {
	.intro--nature .intro__body__description p {
		letter-spacing: -.02em
	}
}

@media only screen and (min-width: 768px) {
	.intro--life h2 .en {
		margin-left: -.5rem
	}
}

@media only screen and (max-width: 767px) {
	.intro--life h2 .en {
		margin-left: -.1rem
	}
}

@media only screen and (max-width: 767px) {
	.intro--life .intro__body__description p {
		letter-spacing: .02em
	}
}

@media only screen and (max-width: 767px) {
	.pc {
		display: none !important
	}
}

@media only screen and (min-width: 768px) {
	.sp {
		display: none !important
	}
}


/* 
JP の index_d2d13785.css をコピーし、フォーマット。
	└→ Class指定じゃない部分を削除
		（タグ直接指定箇所削除）
*/