/**
 *
 * page-home.scss
 *
 */
/* ------------------------------------------------------------
 home-page
------------------------------------------------------------ */
.home-page {
	--color-bg: var( --color-brand-cream );
	--color-header-bg: var( --color-white );
}

.home-page.is-home-ready:not(.is-home-paused) .home-scenes {
	background-color: var(--home-scene-color, var(--color-brand-cream));
	transition: background-color 600ms var(--ease-level1);
}

.home-page.is-home-ready:not(.is-home-paused) .home-dream,
.home-page.is-home-ready:not(.is-home-paused) .home-people {
	background-color: transparent;
	transition: none;
}

.home-page.is-home-ready:not(.is-home-paused) .home-dream::before {
	background-color: var(--home-scene-color, var(--color-brand-cream));
	transition: background-color 600ms var(--ease-level1);
}

.home-page.is-home-ready:not(.is-home-paused) .home-dream:not(.is-scene-active) .home-dream__stage {
	opacity: 0;
	-webkit-transform: translateY(5rem);
	transform: translateY(5rem);
}

.home-page.is-home-ready:not(.is-home-paused) .home-people:not(.is-scene-active) .home-people__inner {
	opacity: 0;
	-webkit-transform: translateY(5rem);
	transform: translateY(5rem);
}

.home-page.is-home-ready .home-reveal {
	opacity: 0;
	-webkit-transform: translateY(3rem);
	transform: translateY(3rem);
	transition: opacity var(--transition-home-reveal), -webkit-transform var(--transition-home-reveal);
	transition: opacity var(--transition-home-reveal), transform var(--transition-home-reveal);
	transition: opacity var(--transition-home-reveal), transform var(--transition-home-reveal), -webkit-transform var(--transition-home-reveal);
}

@media (prefers-reduced-motion: reduce) {
	.home-page.is-home-ready .home-reveal {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

.home-page.is-home-ready .home-reveal.is-visible {
	opacity: 1;
	-webkit-transform: none;
	transform: none;
}

.home-page.is-home-paused *,
.home-page.is-home-paused *::before,
.home-page.is-home-paused *::after {
	-webkit-animation-play-state: paused !important;
	animation-play-state: paused !important;
}

.home-page.is-home-paused .home-reveal {
	opacity: 1;
	-webkit-transform: none;
	transform: none;
}

.home-page.is-home-paused .home-bubble {
	opacity: 1 !important;
	-webkit-transform: none !important;
	transform: none !important;
}

.home-page.is-home-background .home-intro__track,
.home-page.is-home-background .home-people__letters {
	-webkit-animation-play-state: paused;
	animation-play-state: paused;
}

/* ------------------------------------------------------------
 home-main
------------------------------------------------------------ */
.home-main {
	overflow: clip;
}

.home-main a:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 5px;
}

.home-main button:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 5px;
}

@media (prefers-reduced-motion: reduce) {
	.home-main *,
	.home-main *::before,
	.home-main *::after {
		transition: none !important;
		-webkit-animation: none !important;
		animation: none !important;
	}
}

/* ------------------------------------------------------------
 home-heading
------------------------------------------------------------ */
.home-heading {
	font-family: var(--font-gothic2);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-weight: 400;
}

.home-heading::before, .home-heading::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	font-size: inherit;
}

.home-heading::before {
	margin-top: var(--font-gothic2-top);
}

.home-heading::after {
	margin-bottom: var(--font-gothic2-bottom);
}

@media screen and (min-width: 1024px) {
	.home-heading {
		font-size: var(--font-size56);
		--line-height: 1.39286;
	}
}

@media screen and (max-width: 1023px) {
	.home-heading {
		font-size: var(--font-size40);
		--line-height: 1.35;
	}
}

.home-heading span > span {
	display: block;
}

/* ------------------------------------------------------------
 home-copy
------------------------------------------------------------ */
.home-copy {
	font-family: var(--font-gothic);
	font-weight: 500;
}

@media screen and (min-width: 1024px) {
	.home-copy {
		font-size: var(--font-size18);
		--line-height: 2.11111;
	}
}

@media screen and (max-width: 1023px) {
	.home-copy {
		font-size: var(--font-size13);
		--line-height: 2.07692;
	}
}

.home-copy p {
	line-height: inherit;
}

.home-copy span {
	display: block;
}

.home-copy__break {
	display: block;
}

@media screen and (min-width: 1024px) {
	.home-copy__break {
		height: 5.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-copy__break {
		height: 3.2rem ;
	}
}

/* ------------------------------------------------------------
 home-link
------------------------------------------------------------ */
.home-link {
	--home-link-hover-color: var( --color-home-blue );
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 0 ;
	border-radius: 99em;
	border: var(--solid-current);
	color: var(--color-white);
	font-weight: 800;
	--line-height: 1;
	transition: color var(--transition-link), background-color var(--transition-link);
}

@media screen and (min-width: 1024px) {
	.home-link {
		width: 26rem ;
		min-height: 6rem ;
		font-size: var(--font-size18);
		padding: 1.6rem 4.1rem 1.6rem 4.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-link {
		width: 18.5rem ;
		min-height: 5rem ;
		font-size: var(--font-size14);
		padding: 1.3rem 2.8rem 1.3rem 2.8rem ;
	}
}

@media (hover: hover) {
	.home-link:hover:where(body[data-hover-enabled="true"] *, [data-hover-enabled="true"]) {
		background-color: var(--color-white);
		background-image: none;
		color: var(--home-link-hover-color);
	}
}

.home-link.-dark {
	color: var(--color-black);
}

@media (hover: hover) {
	.home-link.-dark:hover:where(body[data-hover-enabled="true"] *, [data-hover-enabled="true"]) {
		background-color: var(--color-black);
		background-image: none;
		color: var(--color-white);
	}
}

/* ------------------------------------------------------------
 home-photo
------------------------------------------------------------ */
.home-photo {
	margin: 0;
	overflow: hidden;
}

.home-photo img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

/* ------------------------------------------------------------
 home-hero
------------------------------------------------------------ */
.home-hero {
	position: relative;
	background-color: var(--color-home-blue);
	background-image: none;
	color: var(--color-white);
}

@media screen and (min-width: 1024px) {
	.home-hero {
		min-height: 84rem ;
		max-height: 100.8rem ;
		height: calc( 100vh  - 10.0rem);
		height: calc( 100dvh  - 10.0rem);
	}
}

@media screen and (max-width: 1023px) {
	.home-hero {
		min-height: 66rem ;
		max-height: 79.2rem ;
		height: calc( 100vh  - 4.0rem);
		height: calc( 100dvh  - 4.0rem);
	}
}

.home-hero__visual {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.home-hero__visual > img {
	position: absolute;
	height: auto;
}

@media screen and (min-width: 1024px) {
	.home-hero__visual > img {
		top: -5.9rem ;
		left: -.245%;
		max-width: none;
		width: 100.607%;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__visual > img {
		top: -3rem ;
		left: -95.83%;
		max-width: none;
		width: 264.44%;
	}
}

.home-hero__mask {
	position: absolute;
	inset: 0;
	z-index: 1;
	-webkit-filter: drop-shadow(0 0.4rem 0.4rem var(--color-home-mask-shadow));
	filter: drop-shadow(0 0.4rem 0.4rem var(--color-home-mask-shadow));
	pointer-events: none;
}

.home-hero__sky {
	position: absolute;
	inset: 0;
	background-color: transparent;
	background-image: url(../img/home/sky-repeat.webp);
	background-size: 38.4rem 38.4rem ;
	background-position: left top;
	background-repeat: repeat;
	-webkit-mask: url(../img/home/hero-mask-pc.svg) center top/100% 100% no-repeat;
	mask: url(../img/home/hero-mask-pc.svg) center top/100% 100% no-repeat;
	pointer-events: none;
}

@media screen and (max-width: 1023px) {
	.home-hero__sky {
		-webkit-mask-image: url(../img/home/hero-mask-sp.svg);
		mask-image: url(../img/home/hero-mask-sp.svg);
	}
}

.home-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.home-hero__title {
	position: absolute;
	z-index: 2;
	display: grid;
	grid-template-columns: -webkit-max-content 1fr;
	grid-template-columns: max-content 1fr;
	grid-template-rows: auto auto;
	font-family: var(--font-sans-serif);
	font-weight: 400;
	--line-height: 1;
	letter-spacing: 0.06em;
}

@media screen and (min-width: 1024px) {
	.home-hero__title {
		bottom: 5.2rem ;
		left: 6.666667%;
		width: 84rem ;
		font-size: var(--font-size164);
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__title {
		bottom: 5.5rem;
		left: 5%;
		width: 90%;
		font-size: var(--font-size72);
	}
}

.home-hero__old {
	grid-column: 1 / -1;
}

.home-hero__meets {
	letter-spacing: 0em;
}

@media screen and (min-width: 1024px) {
	.home-hero__meets {
		font-size: var(--font-size72);
		margin-top: -1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__meets {
		font-size: var(--font-size31);
		margin-top: 0.2rem ;
		margin-left: 0.5rem ;
		margin-right: -0.4rem ;
	}
}

@media screen and (min-width: 1024px) {
	.home-hero__new {
		margin-top: -2.6rem ;
		padding-left: 3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-hero__new {
		margin-top: -1.1rem;
		padding-left: 1.4rem;
	}
}

/* ------------------------------------------------------------
 home-ocean
------------------------------------------------------------ */
.home-ocean {
	--home-wave-height: 30px;
	--home-wave-body-top: calc(var(--home-wave-height) - 2px);
	--home-ocean-overhang: 12rem;
	position: relative;
	z-index: 10;
	isolation: isolate;
	color: var(--color-white);
	margin-top: calc(-1 * var(--home-wave-height));
	padding-top: var(--home-wave-height);
	padding-bottom: var(--home-ocean-overhang);
	margin-bottom: calc(-1 * var(--home-ocean-overhang));
	-webkit-mask-image: url(../img/about/wave-blue.svg), linear-gradient(white, white);
	mask-image: url(../img/about/wave-blue.svg), linear-gradient(white, white);
	-webkit-mask-size: 1600px var(--home-wave-height), 100% calc(100% - var(--home-wave-body-top));
	mask-size: 1600px var(--home-wave-height), 100% calc(100% - var(--home-wave-body-top));
	-webkit-mask-position: 0 0, 0 var(--home-wave-body-top);
	mask-position: 0 0, 0 var(--home-wave-body-top);
	-webkit-mask-repeat: repeat-x, no-repeat;
	mask-repeat: repeat-x, no-repeat;
}

@media screen and (max-width: 1023px) {
	.home-ocean {
		--home-wave-height: 20px;
		-webkit-mask-size: 800px var(--home-wave-height), 100% calc(100% - var(--home-wave-body-top));
		mask-size: 800px var(--home-wave-height), 100% calc(100% - var(--home-wave-body-top));
	}
}

.home-ocean__wave {
	position: absolute;
	inset: 0 0 var(--home-ocean-overhang);
	z-index: -1;
	pointer-events: none;
	background-color: var(--color-home-ocean);
	background-image: url(../img/home/ocean-dots.svg);
	background-size: 0.43096rem 0.53844rem ;
	background-position: left top;
	background-repeat: repeat;
}

@media screen and (max-width: 1023px) {
	.home-ocean__wave {
		background-size: 0.21548rem 0.26922rem ;
	}
}

/* ------------------------------------------------------------
 home-intro
------------------------------------------------------------ */
.home-intro {
	position: relative;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.home-intro {
		min-height: 122.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-intro {
		min-height: 0;
	}
}

.home-intro__message {
	position: relative;
}

@media screen and (min-width: 1024px) {
	.home-intro__message {
		width: 48%;
		margin-left: 6.666667%;
		padding: 14rem 0 8.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-intro__message {
		width: 80%;
		margin-inline: auto;
		padding: 9rem 0 6.9rem ;
	}
}

.home-intro__message > .home-link {
	--home-link-hover-color: var( --color-home-ocean );
}

@media screen and (min-width: 1024px) {
	.home-intro__message > .home-link {
		margin-top: 8.2rem ;
		min-height: 8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-intro__message > .home-link {
		margin-top: 5.6rem ;
	}
}

.home-intro__title {
	white-space: nowrap;
	letter-spacing: -0.05em;
}

@media screen and (min-width: 1024px) {
	.home-intro__title {
		font-size: var(--font-size78);
		--line-height: 1.41026;
	}
}

@media screen and (max-width: 1023px) {
	.home-intro__title {
		font-size: var(--font-size48);
		--line-height: 1.41667;
	}
}

@media screen and (min-width: 1024px) {
	.home-intro__copy {
		font-size: var(--font-size20);
		--line-height: 2.8;
		margin-top: 6.6rem ;
		margin-left: 0.7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-intro__copy {
		font-size: var(--font-size14);
		--line-height: 2.28571;
		margin-top: 5rem ;
	}
}

.home-intro__photos {
	z-index: 1;
	overflow: hidden;
}

@media screen and (min-width: 1024px) {
	.home-intro__photos {
		position: absolute;
		top: calc(-1 * var(--home-wave-height));
		left: 58.717333%;
		width: 34.666667%;
		height: 162rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-intro__photos {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		height: 20rem;
	}
}

.home-intro__track {
	-webkit-animation: home-photos 32s linear infinite;
	animation: home-photos 32s linear infinite;
}

@media screen and (max-width: 1023px) {
	.home-intro__track {
		display: flex;
		width: -webkit-max-content;
		width: max-content;
		-webkit-animation-name: home-marquee;
		animation-name: home-marquee;
	}
}

/* ------------------------------------------------------------
 home-promotion
------------------------------------------------------------ */
.home-promotion {
	position: relative;
	z-index: 2;
}

@media screen and (min-width: 1024px) {
	.home-promotion {
		padding: 0 5rem 24.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-promotion {
		padding: 5.8rem 2rem 16rem ;
	}
}

.home-promotion__frame {
	position: relative;
	margin-inline: auto;
}

@media screen and (min-width: 768px) {
	.home-promotion__frame {
		aspect-ratio: 1400 / 660;
	}
}

@media screen and (max-width: 767px) {
	.home-promotion__frame {
		aspect-ratio: 12 / 11;
	}
}

.home-promotion__photo,
.home-promotion__play {
	position: absolute;
	inset: 0;
	-webkit-mask: url(../img/home/mask-0-55.svg) center/100% 100% no-repeat;
	mask: url(../img/home/mask-0-55.svg) center/100% 100% no-repeat;
}

@media screen and (max-width: 767px) {
	.home-promotion__photo,
	.home-promotion__play {
		-webkit-mask-image: url(../img/home/mask-1-49.svg);
		mask-image: url(../img/home/mask-1-49.svg);
	}
}

.home-promotion__photo::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--color-home-movie-overlay);
	background-image: none;
}

.home-promotion__photo img {
	position: absolute;
	max-width: none;
	height: auto;
}

@media screen and (min-width: 1024px) {
	.home-promotion__photo img {
		top: -5.2rem ;
		width: 100%;
	}
}

@media screen and (max-width: 1023px) {
	.home-promotion__photo img {
		top: -2.6rem;
		left: -47.22%;
		width: 194.445%;
	}
}

.home-promotion__play {
	color: var(--color-white);
}

.home-promotion__play .home-promotion__outline {
	fill: var(--color-transparent);
}

@media (hover: hover) {
	.home-promotion__play:hover:where(body[data-hover-enabled="true"] *, [data-hover-enabled="true"]) .home-promotion__outline {
		fill: var(--color-white);
	}
	.home-promotion__play:hover:where(body[data-hover-enabled="true"] *, [data-hover-enabled="true"]) .home-promotion__triangle {
		fill: var(--color-home-blue);
	}
}

.home-promotion__circle {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 15rem ;
	height: 12rem ;
}

.home-promotion__circle img, .home-promotion__circle svg {
	display: block;
	width: 100%;
	height: 100%;
}

.home-promotion__circle path, .home-promotion__circle polygon {
	transition: fill var(--transition-link);
}

@media screen and (max-width: 1023px) {
	.home-promotion__circle {
		width: 7.5rem ;
		height: 6rem ;
	}
}

.home-promotion__label {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	white-space: nowrap;
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-weight: 400;
	letter-spacing: 0.06em;
	font-size: var(--font-size13);
	margin-top: 8rem ;
}

.home-promotion__label::before, .home-promotion__label::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	font-size: inherit;
}

.home-promotion__label::before {
	margin-top: var(--font-sans-serif-top);
}

.home-promotion__label::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (max-width: 1023px) {
	.home-promotion__label {
		font-size: var(--font-size10);
		margin-top: 4rem ;
	}
}

.home-promotion__status {
	font-size: var(--font-size12);
}

.home-promotion__coral {
	position: absolute;
	pointer-events: none;
}

.home-promotion__coral.-left {
	z-index: -1;
	left: -5.772544%;
	top: -2.776994rem;
	width: 20.5%;
}

@media screen and (max-width: 1023px) {
	.home-promotion__coral.-left {
		left: -5.551546%;
		top: -8.296534rem;
		width: 39.861111%;
	}
}

.home-promotion__coral.-right {
	left: 80.071733%;
	top: 71.804993rem;
	width: 20.785714%;
}

@media screen and (max-width: 1023px) {
	.home-promotion__coral.-right {
		left: 60.812326%;
		top: 27.44446rem;
		width: 40.416667%;
	}
}

.home-promotion__seaweed img {
	position: absolute;
	pointer-events: none;
}

.home-promotion__seaweed .-left {
	left: -1.168975%;
	top: 58.879494rem;
	width: 29.195093%;
}

@media screen and (max-width: 1023px) {
	.home-promotion__seaweed .-left {
		left: -6.768236%;
		top: 30.448984rem;
		width: 56.768236%;
	}
}

.home-promotion__seaweed .-right {
	left: 77.911319%;
	top: 51.129785rem;
	width: 25.018284%;
}

@media screen and (max-width: 1023px) {
	.home-promotion__seaweed .-right {
		left: 30.782079%;
		top: 39.679984rem;
		width: 48.646663%;
	}
}

.home-promotion__seaweed .-bottom {
	left: 28.040366%;
	top: 68.110493rem;
	width: 41.604402%;
}

@media screen and (max-width: 1023px) {
	.home-promotion__seaweed .-bottom {
		display: none;
	}
}

/* ------------------------------------------------------------
 home-about
------------------------------------------------------------ */
.home-about {
	position: relative;
	z-index: 11;
	background-color: var(--color-brand-cream);
	background-image: none;
}

.home-about::before {
	content: '';
	position: absolute;
	top: -24px;
	left: 0;
	right: 0;
	height: 26px;
	background-color: var(--color-brand-cream);
	background-image: none;
	-webkit-mask: url(../img/about/wave-cream.svg) center top/1600px 100% repeat-x;
	mask: url(../img/about/wave-cream.svg) center top/1600px 100% repeat-x;
}

.home-about__inner {
	position: relative;
	margin-inline: auto;
}

@media screen and (max-width: 1023px) {
	.home-about__inner {
		min-height: 0;
		padding: 0 0 44.9rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__bubbles {
		position: absolute;
		top: 0;
		left: 50%;
		height: 100%;
		width: 40rem ;
		margin-left: -20rem ;
	}
}

.home-about__message {
	position: relative;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.home-about__message {
		width: 42%;
		padding: 57.2rem 0 13.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__message {
		width: 80%;
		padding: 55rem 0 0 ;
	}
}

.home-about__en {
	position: absolute;
	left: 50%;
	text-align: center;
	color: var(--color-home-cream-title);
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

@media screen and (min-width: 1024px) {
	.home-about__en {
		top: 19rem;
		font-size: var(--font-size146);
		--line-height: 0.92;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__en {
		top: 35.3rem ;
		font-size: var(--font-size76);
		--line-height: 0.92;
	}
}

.home-about__en span {
	display: block;
	font-family: var(--font-sans-serif);
	font-weight: 400;
}

.home-about__title {
	position: relative;
	text-align: center;
	white-space: nowrap;
}

@media screen and (min-width: 1024px) {
	.home-about__title {
		--line-height: 1.5;
		letter-spacing: -0.04em;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__title {
		font-size: var(--font-size30);
		--line-height: 1.53333;
		letter-spacing: -0.06em;
		margin-inline: -2rem;
	}
}

.home-about__title span > span:nth-of-type(1), .home-about__title span > span:nth-of-type(2) {
	padding-left: 0.5em;
}

.home-about__cycle {
	display: block;
	margin-right: auto;
}

@media screen and (min-width: 1024px) {
	.home-about__cycle {
		width: 94.9%;
		margin-left: auto;
		margin-top: 15.4rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__cycle {
		max-width: 80rem ;
		width: 80%;
		margin-inline: auto;
		margin-top: 6rem ;
	}
}

@media screen and (max-width: 767px) {
	.home-about__cycle {
		width: 112%;
		margin-left: -6%;
	}
}

.home-about__copy {
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.home-about__copy {
		width: 58rem ;
		margin-left: 5.2rem ;
		--line-height: 2.55556;
		margin-top: 9.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__copy {
		width: 102%;
		font-size: var(--font-size13);
		--line-height: 2.46154;
		margin-top: 6.2rem;
	}
	.home-about__copy br {
		display: none;
	}
}

@media screen and (max-width: 1023px) and (min-width: 561px) {
	.home-about__copy {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		margin-inline: auto;
	}
}

@media screen and (max-width: 1023px) {
	.home-about__break-pc {
		display: none;
	}
}

@media screen and (min-width: 1024px) {
	.home-about__break-sp {
		display: none;
	}
}

/* ------------------------------------------------------------
 home-bubble
------------------------------------------------------------ */
.home-bubble {
	position: absolute;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	transition: opacity var(--transition-bubble), -webkit-transform var(--transition-bubble);
	transition: opacity var(--transition-bubble), transform var(--transition-bubble);
	transition: opacity var(--transition-bubble), transform var(--transition-bubble), -webkit-transform var(--transition-bubble);
}

.home-bubble img {
	position: absolute;
	max-width: none;
	height: auto;
}

.home-bubble.-bubble-16 {
	-webkit-mask-image: url(../img/home/mask-0-16.svg);
	mask-image: url(../img/home/mask-0-16.svg);
}

@media screen and (min-width: 1024px) {
	.home-bubble.-bubble-16 {
		top: 118.9898rem;
		left: -5.442687%;
		width: 22.666667%;
		height: 27.4883rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-16 {
		top: 5.2rem ;
		left: 79.433750%;
		width: 42.500000%;
		height: 13.744rem;
	}
}

.home-bubble.-bubble-16 img {
	top: -8.833780%;
	left: -14.318602%;
	width: 137.501929%;
	height: 113.371320%;
}

.home-bubble.-bubble-17 {
	top: 157.5712rem;
	left: -6.832462%;
	width: 33.333333%;
	height: 43.7587rem;
	-webkit-mask-image: url(../img/home/mask-0-17.svg);
	mask-image: url(../img/home/mask-0-17.svg);
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-17 {
		display: none;
	}
}

.home-bubble.-bubble-17 img {
	top: 0.413987%;
	left: -15.101314%;
	width: 130.202629%;
	height: 99.172025%;
}

.home-bubble.-bubble-53 {
	top: 168.4949rem;
	left: 77.345800%;
	width: 32.000000%;
	height: 38.4069rem;
	-webkit-mask-image: url(../img/home/mask-0-53.svg);
	mask-image: url(../img/home/mask-0-53.svg);
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-53 {
		display: none;
	}
}

.home-bubble.-bubble-53 img {
	top: -0.474630%;
	left: -19.606550%;
	width: 121.773740%;
	height: 101.449422%;
}

.home-bubble.-bubble-15 {
	-webkit-mask-image: url(../img/home/mask-0-15.svg);
	mask-image: url(../img/home/mask-0-15.svg);
}

@media screen and (min-width: 1024px) {
	.home-bubble.-bubble-15 {
		top: -2.9038rem;
		left: -6.618547%;
		width: 38.666667%;
		height: 49.0047rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-15 {
		top: 5.2rem ;
		left: -39.851750%;
		width: 72.500000%;
		height: 24.502rem;
	}
}

.home-bubble.-bubble-15 img {
	top: -6.457112%;
	left: -44.242005%;
	width: 150.990560%;
	height: 119.125356%;
}

@media screen and (min-width: 1024px) {
	.home-bubble.-bubble-18 {
		top: 112.5024rem;
		left: 76.284850%;
		width: 34.374853%;
		height: 41.9065rem;
		-webkit-mask-image: url(../img/home/mask-0-18.svg);
		mask-image: url(../img/home/mask-0-18.svg);
	}
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-18 {
		top: auto;
		bottom: 21.397rem;
		left: 56.675177%;
		width: 64.452849%;
		height: 20.953rem;
		-webkit-mask-image: url(../img/home/mask-1-6.svg);
		mask-image: url(../img/home/mask-1-6.svg);
	}
}

@media screen and (min-width: 1024px) {
	.home-bubble.-bubble-18 img {
		top: -3.146323%;
		left: -25.093276%;
		width: 125.758945%;
		height: 103.146323%;
	}
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-18 img {
		top: -3.146323%;
		left: -25.093276%;
		width: 125.758945%;
		height: 103.146323%;
	}
}

.home-bubble.-bubble-20 {
	-webkit-mask-image: url(../img/home/mask-0-20.svg);
	mask-image: url(../img/home/mask-0-20.svg);
}

@media screen and (min-width: 1024px) {
	.home-bubble.-bubble-20 {
		top: 49.3027rem;
		left: -3.222969%;
		width: 25.333333%;
		height: 35.3586rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-20 {
		top: 15.5rem ;
		left: 38.694528%;
		width: 47.500000%;
		height: 17.679rem;
	}
}

.home-bubble.-bubble-20 img {
	top: -9.021559%;
	left: -38.736633%;
	width: 161.430796%;
	height: 115.648283%;
}

.home-bubble.-bubble-21 {
	-webkit-mask-image: url(../img/home/mask-0-21.svg);
	mask-image: url(../img/home/mask-0-21.svg);
}

@media screen and (min-width: 1024px) {
	.home-bubble.-bubble-21 {
		top: 91.1833rem;
		left: 4.271919%;
		width: 18.666667%;
		height: 20.5295rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-21 {
		top: 4.4rem ;
		left: 29.106075%;
		width: 35.000000%;
		height: 10.265rem;
	}
}

.home-bubble.-bubble-21 img {
	top: -37.100763%;
	left: -9.019696%;
	width: 110.519940%;
	height: 226.129680%;
}

@media screen and (min-width: 1024px) {
	.home-bubble.-bubble-45 {
		top: 3.4842rem;
		left: 72.333333%;
		width: 42.000000%;
		height: 60.6073rem;
		-webkit-mask-image: url(../img/home/mask-0-45.svg);
		mask-image: url(../img/home/mask-0-45.svg);
	}
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-45 {
		top: auto;
		bottom: 11.462rem;
		left: -32.772503%;
		width: 78.750000%;
		height: 30.304rem;
		-webkit-mask-image: url(../img/home/mask-1-8.svg);
		mask-image: url(../img/home/mask-1-8.svg);
	}
}

@media screen and (min-width: 1024px) {
	.home-bubble.-bubble-45 img {
		top: -8.909643%;
		left: -32.537412%;
		width: 187.669974%;
		height: 130.039170%;
	}
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-45 img {
		top: -8.909643%;
		left: -32.537412%;
		width: 187.669974%;
		height: 130.039170%;
	}
}

@media screen and (min-width: 1024px) {
	.home-bubble.-bubble-54 {
		top: 71.9392rem;
		left: 79.197949%;
		width: 23.936957%;
		height: 28.7326rem;
		-webkit-mask-image: url(../img/home/mask-0-54.svg);
		mask-image: url(../img/home/mask-0-54.svg);
	}
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-54 {
		top: auto;
		bottom: 6.446rem;
		left: 37.368598%;
		width: 44.881794%;
		height: 14.366rem;
		-webkit-mask-image: url(../img/home/mask-1-5.svg);
		mask-image: url(../img/home/mask-1-5.svg);
	}
}

@media screen and (min-width: 1024px) {
	.home-bubble.-bubble-54 img {
		top: -1.478786%;
		left: -12.735517%;
		width: 126.618539%;
		height: 105.474386%;
	}
}

@media screen and (max-width: 1023px) {
	.home-bubble.-bubble-54 img {
		top: -1.478786%;
		left: -12.735517%;
		width: 126.618539%;
		height: 105.474386%;
	}
}

.home-bubble.is-bubble-hidden {
	opacity: 0;
	-webkit-transform: translateY(-1.5rem) scale(0.88);
	transform: translateY(-1.5rem) scale(0.88);
}

/* ------------------------------------------------------------
 home-services
------------------------------------------------------------ */
.home-services {
	position: relative;
	background-color: var(--color-home-blue);
	background-image: none;
	color: var(--color-white);
	overflow: hidden;
}

@media screen and (min-width: 1024px) {
	.home-services {
		border-radius: 6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-services {
		border-radius: 4rem;
	}
}

.home-services__viewport {
	-ms-scroll-snap-type: x mandatory;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	overflow-x: auto;
}

@media (prefers-reduced-motion: reduce) {
	.home-services__viewport {
		scroll-behavior: auto;
	}
}

.home-services__viewport::-webkit-scrollbar {
	display: none;
}

.home-services__track {
	display: flex;
	height: auto;
}

.home-services__controls {
	display: none;
}

.home-services.js-swiper.is-set .home-services__viewport {
	overflow: hidden;
	-ms-scroll-snap-type: none;
	scroll-snap-type: none;
}

.home-services.js-swiper.is-set .home-services__controls {
	display: block;
}

/* ------------------------------------------------------------
 home-service
------------------------------------------------------------ */
.home-service {
	position: relative;
	height: auto;
	flex: 0 0 100%;
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

@media screen and (max-width: 1023px) {
	.home-service {
		display: flex;
		flex-direction: column;
	}
}

@media screen and (min-width: 1024px) {
	.home-service__photo {
		position: absolute;
		inset: 0 0 0 48%;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__photo {
		position: relative;
		inset: auto;
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
		flex: 0 0 auto;
	}
}

@media screen and (max-width: 1023px) and (min-width: 561px) {
	.home-service__photo {
		margin-inline: auto;
	}
}

.home-service__photo img {
	-o-object-position: center;
	object-position: center;
}

.home-service__photo.-fleet img {
	max-width: none;
}

@media screen and (min-width: 1024px) {
	.home-service__photo.-fleet img {
		position: absolute;
		top: -19.06%;
		left: -41.83%;
		width: 183.66%;
		height: auto;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__photo.-fleet img {
		position: absolute;
		top: -51.4214%;
		left: -39.5346%;
		width: 179.0693%;
		height: auto;
	}
}

.home-service__body {
	position: relative;
	z-index: 1;
	isolation: isolate;
	background-image: none;
}

@media screen and (min-width: 1024px) {
	.home-service__body {
		width: 48%;
		height: 100%;
		min-height: 80rem ;
		padding: 10.3rem 8rem 6.5rem 14.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__body {
		width: 100%;
		min-height: 40rem;
		flex: 1;
		padding: 3.1rem 10% 1.4rem;
	}
}

.home-service__body > .home-link {
	--home-link-hover-color: var( --color-home-ocean );
}

@media screen and (min-width: 1024px) {
	.home-service__body > .home-link {
		width: 22rem ;
		min-height: 6.6rem ;
		font-size: var(--font-size16);
		margin-top: 3.1rem ;
		padding: 1.6rem 2.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__body > .home-link {
		width: 14.8rem;
		min-height: 4rem;
		font-size: var(--font-size12);
		margin-top: 3.2rem;
		padding: 1.2rem;
		white-space: nowrap;
	}
}

.home-service__background {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.home-service__background::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--color-home-ocean);
	background-image: url(../img/home/ocean-dots.svg);
	background-size: 0.52878rem 0.5302rem ;
	background-position: left top;
	background-repeat: repeat;
}

@media screen and (max-width: 1023px) {
	.home-service__background::after {
		background-size: 0.26439rem 0.26521rem ;
	}
}

.home-services__label {
	font-weight: 800;
	--line-height: 1;
}

@media screen and (min-width: 1024px) {
	.home-services__label {
		font-size: var(--font-size46);
	}
}

@media screen and (max-width: 1023px) {
	.home-services__label {
		font-size: var(--font-size22);
	}
}

.home-service__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

@media screen and (min-width: 1024px) {
	.home-service__meta {
		gap: 2.4rem ;
		margin-top: 5.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__meta {
		gap: 1.6rem;
		margin-top: 1.5rem;
	}
}

.home-service__number {
	white-space: nowrap;
	font-family: var(--font-sans-serif);
	font-weight: 400;
	--line-height: 1;
	letter-spacing: 0.06em;
}

@media screen and (min-width: 1024px) {
	.home-service__number {
		font-size: var(--font-size34);
	}
}

@media screen and (max-width: 1023px) {
	.home-service__number {
		font-size: var(--font-size22);
	}
}

.home-service__number b {
	font: inherit;
	font-family: var(--font-sans-serif2);
	letter-spacing: 0.04em;
}

@media screen and (min-width: 1024px) {
	.home-service__number b {
		margin-left: -0.4rem ;
	}
}

.home-service__number small {
	font-family: var(--font-sans-serif2);
	letter-spacing: 0.04em;
}

@media screen and (min-width: 1024px) {
	.home-service__number small {
		font-size: var(--font-size18);
	}
}

@media screen and (max-width: 1023px) {
	.home-service__number small {
		font-size: var(--font-size12);
	}
}

.home-service__name {
	display: flex;
	flex: 1;
	align-items: center;
	white-space: nowrap;
	font-weight: 800;
	--line-height: 1;
}

@media screen and (min-width: 1024px) {
	.home-service__name {
		font-size: var(--font-size26);
	}
}

@media screen and (max-width: 1023px) {
	.home-service__name {
		font-size: var(--font-size17);
		padding-right: 1.6rem ;
	}
}

.home-service__name::before {
	content: '';
	flex: 1;
	height: 1px;
	background-color: currentColor;
	background-image: none;
	opacity: .6;
}

@media screen and (min-width: 1024px) {
	.home-service__name::before {
		min-width: 3.4rem ;
		margin-right: 2.4rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__name::before {
		min-width: 1.6rem;
		margin-right: 1.6rem;
	}
}

.home-service__title {
	letter-spacing: -0.05em;
}

@media screen and (min-width: 1024px) {
	.home-service__title {
		font-size: var(--font-size52);
		--line-height: 1.11538;
		margin-top: 7.1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__title {
		font-size: var(--font-size32);
		--line-height: 1.21875;
		margin-top: 3rem;
	}
}

.home-service__copy {
	white-space: pre-line;
}

@media screen and (min-width: 1024px) {
	.home-service__copy {
		max-width: 48rem ;
		--line-height: 1.88889;
		margin-top: 2.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-service__copy {
		font-size: var(--font-size13);
		--line-height: 2.07692;
		margin-top: 3.2rem;
	}
}

.home-services__arrow {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	color: inherit;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media screen and (min-width: 1024px) {
	.home-services__arrow {
		top: 50%;
		width: 5.8rem ;
		height: 8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-services__arrow {
		top: calc(75vw + 15.51rem);
		width: 3.8rem;
		height: 6rem;
	}
}

.home-services__arrow .home-services__chevron {
	display: block;
	transition: -webkit-transform var(--transition-button);
	transition: transform var(--transition-button);
	transition: transform var(--transition-button), -webkit-transform var(--transition-button);
	width: 2.369rem ;
	height: 6.295rem ;
}

.home-services__arrow .home-services__chevron svg {
	display: block;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 1023px) {
	.home-services__arrow .home-services__chevron {
		width: 1.170005rem;
		height: 3.029895rem;
		background-color: currentColor;
		-webkit-mask-image: url(../img/common/icon/arrow-slider-sp.svg);
		mask-image: url(../img/common/icon/arrow-slider-sp.svg);
		-webkit-mask-position: center;
		mask-position: center;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-size: contain;
		mask-size: contain;
	}
	.home-services__arrow .home-services__chevron svg {
		display: none;
	}
}

.home-services__arrow.-previous {
	left: 1.891rem ;
}

@media screen and (max-width: 1023px) {
	.home-services__arrow.-previous {
		left: -.14rem;
	}
}

.home-services__arrow.-previous .home-services__chevron {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

@media (hover: hover) {
	.home-services__arrow.-previous:hover:where(body[data-hover-enabled="true"] *, [data-hover-enabled="true"]) .home-services__chevron {
		-webkit-transform: translateX(-30%) rotate(180deg);
		transform: translateX(-30%) rotate(180deg);
	}
}

.home-services__arrow.-next {
	right: 0.925rem ;
}

@media screen and (max-width: 1023px) {
	.home-services__arrow.-next {
		right: .09rem;
	}
}

@media (hover: hover) {
	.home-services__arrow.-next:hover:where(body[data-hover-enabled="true"] *, [data-hover-enabled="true"]) .home-services__chevron {
		-webkit-transform: translateX(30%);
		transform: translateX(30%);
	}
}

/* ------------------------------------------------------------
 home-scenes / home-dream
------------------------------------------------------------ */
.home-scenes[data-scene='dream'] {
	--home-scene-color: var( --color-home-blue );
}

.home-scenes[data-scene='people'] {
	--home-scene-color: var( --color-home-red );
}

.home-dream {
	--flag-unit: min(calc(100vw / 1500),1.28px);
	--flag-cloth-height: calc(var(--flag-unit)*740);
	--flag-button-space: 5.3rem;
	position: relative;
	background-color: var(--color-home-blue);
	background-image: none;
	color: var(--color-white);
	transition: background-color var(--transition-image);
}

@media screen and (min-width: 1024px) {
	.home-dream {
		padding: 11.5rem 0 12.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-dream {
		--flag-unit: calc(100vw / 400);
		--flag-cloth-height: calc(var(--flag-unit)*600);
		--flag-button-space: 7.5rem;
		padding: 10rem 0 10rem;
	}
}

.home-dream::before {
	content: '';
	display: block;
	width: 100%;
	height: 20rem ;
	position: absolute;
	left: 0;
	bottom: 100%;
	z-index: -1;
	background-color: var(--color-home-blue);
}

.home-dream.is-scroll {
	padding: 0;
}

@media screen and (min-width: 1024px) {
	.home-dream.is-scroll {
		--flag-unit: min(calc(100vw / 1500),calc((100dvh - 20rem) / 793),1.28px);
		--flag-cloth-height: calc(100dvh - 20rem - var(--flag-button-space));
		height: calc(200svh + 100rem);
	}
}

@media screen and (max-width: 1023px) {
	.home-dream.is-scroll {
		--flag-unit: min(calc(100vw / 400),calc((100dvh - 14rem) / 675));
		--flag-cloth-height: calc(100dvh - 14rem - var(--flag-button-space));
		height: calc(200svh + 80rem);
	}
}

.home-dream.is-scroll:not(.is-story-visible) .home-flag__message {
	visibility: hidden;
}

.home-dream.is-scroll .home-dream__stage {
	position: sticky;
	top: 0;
	height: 100vh;
	height: 100dvh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.home-dream.is-scroll .home-flag.-picture {
	display: none;
}

.home-dream.is-scroll .home-flag.-story {
	flex: 0 0 auto;
	margin-top: 0;
}

.home-dream.is-scroll .home-flag.-story .home-flag__fish {
	opacity: 1;
	-webkit-transform: translateX(calc(var(--flag-progress,0)*-155%));
	transform: translateX(calc(var(--flag-progress,0)*-155%));
}

.home-dream.is-scroll .home-flag__blue {
	opacity: 1;
	-webkit-transform: translateX(calc((1 - var(--flag-progress,0))*155%));
	transform: translateX(calc((1 - var(--flag-progress,0))*155%));
}

.home-dream.is-scroll .home-flag__message {
	opacity: var(--flag-text, 0);
}

.home-dream.is-scroll .home-flag.-story .home-flag__white,
.home-dream.is-scroll .home-flag.-story .home-flag__seaweed {
	opacity: calc(1 - var(--flag-progress,0)*2);
}

.home-dream__stage {
	position: relative;
	isolation: isolate;
	width: 100%;
	margin-inline: auto;
	transition: opacity var(--transition-panel), -webkit-transform var(--transition-panel);
	transition: opacity var(--transition-panel), transform var(--transition-panel);
	transition: opacity var(--transition-panel), transform var(--transition-panel), -webkit-transform var(--transition-panel);
}

.home-dream__waves {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	pointer-events: none;
}

.home-dream__waves img {
	position: absolute;
	width: 36%;
	height: auto;
	opacity: .22;
}

.home-dream__waves .-top-left {
	top: 5%;
	left: -8%;
}

.home-dream__waves .-top-right {
	top: 5%;
	right: -6%;
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
}

.home-dream__waves .-bottom-left {
	bottom: 2%;
	left: -8%;
	-webkit-transform: scaleY(-1);
	transform: scaleY(-1);
}

.home-dream__waves .-bottom-right {
	bottom: 2%;
	right: -6%;
	-webkit-transform: scale(-1);
	transform: scale(-1);
}

/* ------------------------------------------------------------
 home-flag
------------------------------------------------------------ */
.home-flag {
	position: relative;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.home-flag {
		width: 86.2313%;
		padding-bottom: var(--flag-button-space);
	}
}

@media screen and (max-width: 1023px) {
	.home-flag {
		width: 100%;
		padding-bottom: var(--flag-button-space);
	}
}

@media screen and (min-width: 1024px) {
	.home-flag.-story {
		margin-top: 9.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag.-story {
		margin-top: 10rem;
	}
}

.home-flag.-story .home-flag__fish,
.home-flag.-story .home-flag__white,
.home-flag.-story .home-flag__seaweed {
	opacity: 0;
}

.home-flag.-story .home-flag__blue {
	opacity: 1;
}

.home-flag.-picture .home-flag__blue {
	display: none;
}

.home-flag > .home-link {
	position: absolute;
	bottom: 0;
	left: 50%;
	white-space: nowrap;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

@media screen and (min-width: 1024px) {
	.home-flag > .home-link {
		width: 29.27rem ;
		min-height: 6.1rem ;
		font-size: var(--font-size18);
		padding: 1.6rem 2.5rem 1.6rem 3.83rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag > .home-link {
		width: 24.36rem ;
		min-height: 5.05rem ;
		font-size: var(--font-size14);
		padding: 1.3rem 1.7rem 1.3rem 3.16rem ;
	}
}

.home-flag__cloth {
	position: relative;
	height: var(--flag-cloth-height);
	-webkit-mask: url(../img/home/flag-mask.svg) left center/125% 100% no-repeat;
	mask: url(../img/home/flag-mask.svg) left center/125% 100% no-repeat;
	overflow: hidden;
	-webkit-animation: home-flag-wave 8s ease-in-out infinite alternate;
	animation: home-flag-wave 8s ease-in-out infinite alternate;
}

@media screen and (max-width: 1023px) {
	.home-flag__cloth {
		-webkit-mask-image: url(../img/home/flag-mask-sp.svg);
		mask-image: url(../img/home/flag-mask-sp.svg);
		-webkit-mask-size: 150% 100%;
		mask-size: 150% 100%;
	}
}

.home-flag__cloth > img,
.home-flag__cloth > .home-flag__blue {
	position: absolute;
	max-width: none;
}

.home-flag__rays {
	inset: 0;
	width: 100%;
	height: 100%;
}

.home-flag__seaweed {
	height: auto;
}

@media screen and (min-width: 1024px) {
	.home-flag__seaweed.-top-left, .home-flag__seaweed.-top-right {
		top: 8.59058%;
		width: 20.89797%;
		max-width: 27.0309rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__seaweed.-top-left, .home-flag__seaweed.-top-right {
		top: 4%;
		width: 57.57731%;
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__seaweed.-middle-left, .home-flag__seaweed.-middle-right {
		top: 27.18433%;
		width: 17.9082%;
		max-width: 23.1637rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__seaweed.-middle-left, .home-flag__seaweed.-middle-right {
		top: 21.36781%;
		width: 49.33998%;
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__seaweed.-bottom-left, .home-flag__seaweed.-bottom-right {
		bottom: 5.26282%;
		width: 16.43817%;
		max-width: 21.2623rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__seaweed.-bottom-left, .home-flag__seaweed.-bottom-right {
		bottom: calc(5% - 12.8rem);
		width: 45.28981%;
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__seaweed.-top-left {
		left: 13.058%;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__seaweed.-top-left {
		left: 0;
		-webkit-transform: translateX(-29.0566%);
		transform: translateX(-29.0566%);
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__seaweed.-top-right {
		right: 10.6723%;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__seaweed.-top-right {
		right: 0;
		-webkit-transform: translateX(29.0566%);
		transform: translateX(29.0566%);
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__seaweed.-middle-left {
		left: 10.43214%;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__seaweed.-middle-left {
		left: 0;
		-webkit-transform: translateX(-48.57049%);
		transform: translateX(-48.57049%);
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__seaweed.-middle-right {
		right: 8.04645%;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__seaweed.-middle-right {
		right: 0;
		-webkit-transform: translateX(48.57049%);
		transform: translateX(48.57049%);
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__seaweed.-bottom-left {
		left: 16.45762%;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__seaweed.-bottom-left {
		left: 0;
		-webkit-transform: translateX(-16.25863%);
		transform: translateX(-16.25863%);
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__seaweed.-bottom-right {
		right: 14.07192%;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__seaweed.-bottom-right {
		right: 0;
		-webkit-transform: translateX(16.25863%);
		transform: translateX(16.25863%);
	}
}

.home-flag__fish {
	-o-object-fit: contain;
	object-fit: contain;
}

@media screen and (min-width: 1024px) {
	.home-flag__fish {
		top: 8.31%;
		left: 10.8%;
		width: 88.04%;
		height: 86.99%;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__fish {
		top: 17%;
		left: -32%;
		width: 190%;
		height: 71.59%;
	}
}

.home-flag__blue {
	opacity: 0;
	-webkit-mask: url(../img/home/flag-blue-tuna.svg) center/contain no-repeat;
	mask: url(../img/home/flag-blue-tuna.svg) center/contain no-repeat;
	background-color: var(--color-home-ocean);
	background-image: url(../img/home/ocean-dots.svg);
	background-size: 0.4596rem 0.4596rem ;
	background-repeat: repeat;
}

@media screen and (min-width: 1024px) {
	.home-flag__blue {
		top: 8.31%;
		left: 10.8%;
		width: 88.04%;
		height: 86.99%;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__blue {
		top: 17%;
		left: -32%;
		width: 190%;
		height: 71.59%;
		background-size: 0.2298rem 0.2298rem ;
	}
}

.home-flag__white {
	-o-object-fit: contain;
	object-fit: contain;
}

@media screen and (min-width: 1024px) {
	.home-flag__white {
		top: 23.94%;
		left: 7.8%;
		width: 82.75%;
		height: 53.2%;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__white {
		top: 33%;
		left: -36%;
		width: 173%;
		height: 42.42%;
	}
}

.home-flag__letter {
	display: block;
	height: auto;
}

@media screen and (max-width: 1023px) {
	.home-flag__letter {
		width: 35%;
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__letter.-letter-1 {
		max-width: min(var( --flag-letter-max-width ), 547.814px);
		top: 10.33696%;
		left: 7.85601%;
		width: 21.1761%;
		--flag-letter-max-width: 27.3907rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__letter.-letter-1 {
		top: 5%;
		left: 3%;
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__letter.-letter-2 {
		max-width: min(var( --flag-letter-max-width ), 486.788px);
		top: 10.33696%;
		right: 10.04943%;
		width: 18.81711%;
		--flag-letter-max-width: 24.3394rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__letter.-letter-2 {
		top: 5%;
		right: 3%;
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__letter.-letter-3 {
		max-width: min(var( --flag-letter-max-width ), 493.262px);
		bottom: 7.00898%;
		left: 9.00852%;
		width: 19.06738%;
		--flag-letter-max-width: 24.6631rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__letter.-letter-3 {
		bottom: 5%;
		left: 3%;
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__letter.-letter-4 {
		max-width: min(var( --flag-letter-max-width ), 459.878px);
		bottom: 6.96634%;
		right: 10.44767%;
		width: 17.7769%;
		--flag-letter-max-width: 22.9939rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__letter.-letter-4 {
		bottom: 5%;
		right: 3%;
	}
}

.home-flag__message {
	position: absolute;
	text-align: center;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media screen and (min-width: 1024px) {
	.home-flag__message {
		top: calc(var(--flag-cloth-height)*.52);
		left: 24%;
		width: 54%;
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__message {
		top: calc(var(--flag-cloth-height)*.54);
		left: 6%;
		width: 88%;
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__message .home-copy {
		font-size: min(calc(var(--flag-unit)*18),1.8rem);
		margin-top: min(calc(var(--flag-unit)*56),5.6rem);
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__message .home-copy {
		font-size: min(calc(var(--flag-unit)*13),1.3rem);
		--line-height: 2.07692;
		margin-top: min(calc(var(--flag-unit)*33),3.3rem);
	}
}

@media screen and (min-width: 1024px) {
	.home-flag__message .home-heading {
		font-size: min(calc(var(--flag-unit)*56),5.6rem);
	}
}

@media screen and (max-width: 1023px) {
	.home-flag__message .home-heading {
		font-size: min(calc(var(--flag-unit)*40),4rem);
	}
}

.home-flag__message .home-flag__line {
	display: inline;
}

@media screen and (max-width: 1023px) {
	.home-flag__message .home-flag__line {
		display: block;
	}
}

/* ------------------------------------------------------------
 home-people
------------------------------------------------------------ */
.home-people {
	position: relative;
	background-color: var(--color-home-red);
	background-image: none;
	color: var(--color-white);
	transition: background-color var(--transition-image);
}

.home-people__inner {
	position: relative;
	margin-inline: auto;
	transition: opacity var(--transition-panel), -webkit-transform var(--transition-panel);
	transition: opacity var(--transition-panel), transform var(--transition-panel);
	transition: opacity var(--transition-panel), transform var(--transition-panel), -webkit-transform var(--transition-panel);
}

@media screen and (min-width: 1024px) {
	.home-people__inner {
		padding: 13rem 0 18rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-people__inner {
		padding: 5.5rem 0 33.65rem;
	}
}

.home-people__main {
	position: relative;
	z-index: 2;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.home-people__main {
		width: 45.3333%;
		height: 74rem ;
		border-radius: 14rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-people__main {
		width: 85%;
		height: 40rem;
		border-radius: 7rem;
	}
}

@media screen and (max-width: 1023px) and (min-width: 561px) {
	.home-people__main {
		height: auto;
		aspect-ratio: 17 / 20;
	}
}

.home-people__main img {
	position: absolute;
	top: -17.92%;
	left: -47.36%;
	max-width: none;
	width: 226.394%;
	height: auto;
}

.home-people__marquee {
	position: absolute;
	left: 0;
	right: 0;
	white-space: nowrap;
	font-family: var(--font-sans-serif);
	font-weight: 400;
	letter-spacing: 0.06em;
	overflow: hidden;
}

@media screen and (min-width: 1024px) {
	.home-people__marquee {
		top: 41.2rem ;
		font-size: var(--font-size128);
	}
}

@media screen and (max-width: 1023px) {
	.home-people__marquee {
		top: 20rem;
		font-size: var(--font-size64);
	}
}

.home-people__letters {
	display: flex;
	width: -webkit-max-content;
	width: max-content;
	-webkit-animation: home-marquee 32s linear infinite;
	animation: home-marquee 32s linear infinite;
}

.home-people__team {
	position: absolute;
	top: 9%;
	left: 4%;
	z-index: 3;
	width: 23%;
}

@media screen and (max-width: 1023px) {
	.home-people__team {
		display: none;
	}
}

@media screen and (max-width: 1023px) {
	.home-people__portraits {
		position: absolute;
		inset: 0;
		width: 100%;
		margin-inline: auto;
		pointer-events: none;
	}
}

.home-people__portrait {
	position: absolute;
	z-index: 3;
}

.home-people__portrait > img:first-child {
	width: 100%;
}

@media screen and (min-width: 1024px) {
	.home-people__portrait.-person-1 {
		top: 56rem ;
		left: 6.6667%;
		width: 31.56%;
	}
}

@media screen and (max-width: 1023px) {
	.home-people__portrait.-person-1 {
		top: 35.636rem;
		left: -6.765%;
		width: 59.174%;
	}
}

@media screen and (min-width: 1024px) {
	.home-people__portrait.-person-2 {
		top: 53.8rem ;
		right: 2%;
		width: 19%;
	}
}

@media screen and (max-width: 1023px) {
	.home-people__portrait.-person-2 {
		top: 39.978rem;
		right: 6.787%;
		width: 35.625%;
	}
}

@media screen and (min-width: 1024px) {
	.home-people__portrait.-person-3 {
		top: 108rem ;
		left: 9.82%;
		width: 22.44%;
	}
}

@media screen and (max-width: 1023px) {
	.home-people__portrait.-person-3 {
		top: auto;
		bottom: 12.062rem;
		left: -2.432%;
		width: 42.075%;
	}
}

@media screen and (min-width: 1024px) {
	.home-people__portrait.-person-4 {
		top: auto;
		bottom: 11.8rem ;
		right: 6.1%;
		width: 23%;
	}
}

@media screen and (max-width: 1023px) {
	.home-people__portrait.-person-4 {
		top: auto;
		bottom: 7.915rem;
		right: -10.311%;
		width: 43.125%;
	}
}

.home-people__wave {
	position: absolute;
	max-width: none;
	height: auto;
}

.-person-1 .home-people__wave {
	bottom: -11.09%;
	left: -21.06%;
	width: 98.5%;
}

.-person-2 .home-people__wave {
	bottom: -12.04%;
	left: -16.19%;
	width: 116.19%;
}

.-person-3 .home-people__wave {
	bottom: -8.48%;
	left: 12.79%;
	width: 98.08%;
}

@media screen and (max-width: 1023px) {
	.-person-3 .home-people__wave {
		bottom: -7.9%;
		left: 9.66%;
	}
}

.-person-4 .home-people__wave {
	bottom: -10.33%;
	left: -8.32%;
	width: 168.83%;
}

.home-people__message {
	position: relative;
	text-align: center;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.home-people__message {
		width: 45%;
		margin-top: 12rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-people__message {
		width: 82%;
		margin-top: 20.7rem ;
	}
}

.home-people__message .home-heading {
	white-space: nowrap;
	--line-height: 1;
	padding-left: 0.5em;
}

@media screen and (min-width: 1024px) {
	.home-people__message .home-heading {
		font-size: var(--font-size62);
	}
}

@media screen and (max-width: 1023px) {
	.home-people__message .home-heading {
		font-size: var(--font-size40);
	}
}

@media screen and (min-width: 1024px) {
	.home-people__message .home-copy {
		margin-top: 7.7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-people__message .home-copy {
		--line-height: 2.07692;
		margin-top: 3.5rem ;
	}
}

.home-people__message .home-link {
	--home-link-hover-color: var( --color-home-red );
}

@media screen and (min-width: 1024px) {
	.home-people__message .home-link {
		margin-top: 7.4rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-people__message .home-link {
		margin-top: 5rem ;
		width: 16.08rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-people__message .home-link span {
		padding-left: 2rem ;
	}
}

/* ------------------------------------------------------------
 home-bottom
------------------------------------------------------------ */
.home-bottom {
	background-color: var(--color-white);
	background-image: none;
}

@media screen and (min-width: 1024px) {
	.home-bottom {
		padding: 19rem 10rem 24rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-bottom {
		padding: 6.7rem 10% 9rem;
	}
}

/* ------------------------------------------------------------
 home-support
------------------------------------------------------------ */
.home-support {
	position: relative;
	background-color: var(--color-brand-cream);
	background-image: none;
	margin-inline: auto;
	overflow: hidden;
}

@media screen and (min-width: 1024px) {
	.home-support {
		width: calc(100% - 3rem);
		max-width: 127rem ;
		min-height: 53rem ;
		border-radius: 3rem;
	}
}

@media screen and (max-width: 1023px) {
	.home-support {
		border-radius: 1.5rem;
	}
}

.home-support__art {
	position: absolute;
	inset: 0;
}

.home-support__art img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.home-support__message {
	position: relative;
	z-index: 1;
	text-align: center;
}

@media screen and (min-width: 1024px) {
	.home-support__message {
		padding: 18rem 5rem 3.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-support__message {
		padding: 11.8rem 2rem 2.4rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-support__message .home-copy {
		margin-top: 3.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-support__message .home-copy {
		font-size: var(--font-size12);
		--line-height: 2;
		margin-top: 2.5rem;
	}
}

@media screen and (min-width: 1024px) {
	.home-support__message .home-copy p:last-child span {
		display: inline;
	}
}

@media screen and (max-width: 1023px) {
	.home-support__message .home-copy p:last-child span {
		display: block;
	}
}

@media screen and (min-width: 1024px) {
	.home-support__message .home-link {
		width: 22rem ;
		min-height: 5.1rem ;
		font-size: var(--font-size16);
		margin-top: 3.8rem ;
		padding: 1.5rem 2.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-support__message .home-link {
		width: 15.71rem;
		min-height: 3.625rem;
		font-size: var(--font-size12);
		margin-top: 2.6rem;
		padding: 1rem 1.6rem;
	}
}

.home-support__title {
	font-weight: 700;
}

@media screen and (min-width: 1024px) {
	.home-support__title {
		font-size: var(--font-size54);
		--line-height: 1;
	}
}

@media screen and (max-width: 1023px) {
	.home-support__title {
		font-size: var(--font-size31);
		--line-height: 1.35484;
	}
}

@media screen and (max-width: 1023px) {
	.home-support__title span > span {
		display: block;
	}
}

.home-support__en {
	color: var(--color-home-red);
	font-weight: 800;
	--line-height: 1;
}

@media screen and (min-width: 1024px) {
	.home-support__en {
		font-size: var(--font-size22);
		margin-top: 2.7rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-support__en {
		font-size: var(--font-size12);
		margin-top: 2.5rem;
	}
}

/* ------------------------------------------------------------
 home-news
------------------------------------------------------------ */
.home-news {
	position: relative;
	align-items: start;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.home-news {
		max-width: 130rem ;
		display: grid;
		grid-template-columns: 29.1962% minmax(0, 1fr);
		grid-template-rows: auto 1fr;
		margin-top: 14rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-news {
		display: flex;
		flex-direction: column;
		margin-top: 8rem;
	}
}

.home-news__heading {
	grid-column: 1;
	grid-row: 1;
}

.home-news__en {
	display: block;
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-weight: 400;
	--line-height: 1;
	letter-spacing: 0.06em;
}

.home-news__en::before, .home-news__en::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	font-size: inherit;
}

.home-news__en::before {
	margin-top: var(--font-sans-serif-top);
}

.home-news__en::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.home-news__en {
		font-size: var(--font-size86);
	}
}

@media screen and (max-width: 1023px) {
	.home-news__en {
		font-size: var(--font-size35);
	}
}

.home-news__ja {
	display: block;
	font-family: var(--font-gothic2);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-weight: 400;
	--line-height: 1;
}

.home-news__ja::before, .home-news__ja::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	font-size: inherit;
}

.home-news__ja::before {
	margin-top: var(--font-gothic2-top);
}

.home-news__ja::after {
	margin-bottom: var(--font-gothic2-bottom);
}

@media screen and (min-width: 1024px) {
	.home-news__ja {
		font-size: var(--font-size17);
		margin-top: 2.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__ja {
		font-size: var(--font-size16);
		margin-top: 1rem;
	}
}

.home-news__list {
	display: grid;
	grid-column: 2;
	grid-row: 1 / 3;
}

@media screen and (min-width: 1024px) {
	.home-news__list {
		gap: 1.731rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__list {
		gap: 1.319rem;
		width: calc(100% + 4rem);
		margin: 1.4rem -2rem 0;
	}
}

.home-news__more {
	grid-column: 1;
	grid-row: 2;
	justify-self: start;
}

@media screen and (min-width: 1024px) {
	.home-news__more {
		align-self: start;
		width: 22rem ;
		min-height: 5.171rem ;
		font-size: var(--font-size16);
		margin-top: 2.6rem ;
		padding: 1.4rem 2.4rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__more {
		align-self: center;
		width: 17.33rem;
		min-height: 4.05rem;
		font-size: var(--font-size13);
		margin-top: 4.7rem;
		padding: 1.2rem 2rem;
	}
}

.home-news__link {
	display: grid;
	align-items: center;
	border-radius: 99.9rem ;
	background-color: var(--color-brand-cream);
	background-image: none;
	color: var(--color-black);
	overflow: hidden;
	transition: box-shadow var(--transition-hover);
}

@media screen and (min-width: 1024px) {
	.home-news__link {
		grid-template-columns: 23.5226rem minmax(0, 1fr) 8.1738rem;
		gap: 4.146rem ;
		min-height: 19.043rem ;
		padding: 2.71rem 4.686rem 2.71rem 4.147rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__link {
		grid-template-columns: 9.1539rem minmax(0, 1fr) 3rem;
		gap: 1.407rem;
		min-height: 9.521rem;
		padding: 1.355rem 2.548rem 1.355rem 1.429rem;
	}
}

.home-news__link:focus-visible {
	outline: solid 3px var(--color-news-blue);
	outline-offset: 3px;
}

@media (hover: hover) {
	.home-news__link:hover:where(body[data-hover-enabled="true"] *, [data-hover-enabled="true"]) {
		box-shadow: 0 0.6rem 1.8rem var(--color-shadow-news-card);
	}
	.home-news__link:hover:where(body[data-hover-enabled="true"] *, [data-hover-enabled="true"]) .home-news__image img {
		-webkit-transform: scale(1.04);
		transform: scale(1.04);
	}
	.home-news__link:hover:where(body[data-hover-enabled="true"] *, [data-hover-enabled="true"]) .home-news__arrow {
		background-color: var(--color-white);
		color: var(--color-black);
	}
}

.home-news__image {
	position: relative;
	align-self: start;
	border-radius: 99.9rem ;
	background-color: var(--color-white);
	background-image: none;
	overflow: hidden;
}

@media screen and (min-width: 1024px) {
	.home-news__image {
		aspect-ratio: 235 / 136;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__image {
		aspect-ratio: 183.078 / 136.219;
	}
}

.home-news__image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: -webkit-transform var(--transition-hover);
	transition: transform var(--transition-hover);
	transition: transform var(--transition-hover), -webkit-transform var(--transition-hover);
}

.home-news__body {
	min-width: 0;
	align-self: start;
}

@media screen and (min-width: 1024px) {
	.home-news__body {
		margin-top: 1.42rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__body {
		margin-top: .462rem;
	}
}

.home-news__category {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 99.9rem ;
	border: var(--solid-current);
	background-color: var(--color-white);
	background-image: none;
	font-weight: 700;
	--line-height: 1;
}

@media screen and (min-width: 1024px) {
	.home-news__category {
		min-width: 9.754rem ;
		min-height: 3.133rem ;
		font-size: var(--font-size14);
		padding: 0 1.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__category {
		min-width: 6.032rem;
		min-height: 1.819rem;
		font-size: var(--font-size10);
		padding: 0 .9rem;
	}
}

.home-news__title {
	font-family: var(--font-gothic2);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-weight: 400;
}

.home-news__title::before, .home-news__title::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	font-size: inherit;
}

.home-news__title::before {
	margin-top: var(--font-gothic2-top);
}

.home-news__title::after {
	margin-bottom: var(--font-gothic2-bottom);
}

@media screen and (min-width: 1024px) {
	.home-news__title {
		font-size: var(--font-size18);
		--line-height: 1.44444;
		margin-top: 2.4rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__title {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		overflow: hidden;
		font-size: var(--font-size13);
		--line-height: 1.46154;
		margin-top: 1rem;
	}
}

.home-news__date {
	color: var(--color-home-blue);
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-weight: 400;
	--line-height: 1;
	letter-spacing: 0.06em;
}

.home-news__date::before, .home-news__date::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	font-size: inherit;
}

.home-news__date::before {
	margin-top: var(--font-sans-serif-top);
}

.home-news__date::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.home-news__date {
		font-size: var(--font-size14);
		margin-top: 1.9rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__date {
		font-size: var(--font-size10);
		margin-top: .35rem;
	}
}

.home-news__arrow {
	display: grid;
	place-items: center;
	width: 100%;
	border-radius: 99.9rem ;
	background-color: var(--color-black);
	background-image: none;
	color: var(--color-white);
	transition: color var(--transition-hover), background-color var(--transition-hover);
}

@media screen and (min-width: 1024px) {
	.home-news__arrow {
		height: 3.72rem ;
	}
}

@media screen and (max-width: 1023px) {
	.home-news__arrow {
		height: 1.86rem;
	}
}

@-webkit-keyframes home-photos {
	to {
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}

@keyframes home-photos {
	to {
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}

@-webkit-keyframes home-marquee {
	to {
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
}

@keyframes home-marquee {
	to {
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
}

@-webkit-keyframes home-flag-wave {
	to {
		-webkit-mask-position: right center;
		mask-position: right center;
	}
}

@keyframes home-flag-wave {
	to {
		-webkit-mask-position: right center;
		mask-position: right center;
	}
}

@media screen and (max-width: 1023px) {
	.home-intro__group {
		display: flex;
	}
}

.home-intro__group > .home-photo {
	position: relative;
	aspect-ratio: 520 / 400;
}

@media screen and (max-width: 1023px) {
	.home-intro__group > .home-photo {
		flex: 0 0 auto;
		width: 26rem;
		height: 20rem;
	}
}

.home-intro__group .-loop-sanko-187 {
	position: relative;
}

.home-intro__group .-loop-sanko-187 img {
	position: absolute;
	top: -3.107605%;
	left: -13.669170%;
	max-width: none;
	width: 142.115583%;
	height: 123.154070%;
}

.home-intro__group .-loop-sanko-11 {
	position: relative;
}

.home-intro__group .-loop-sanko-11 img {
	position: absolute;
	top: -46.409789%;
	left: -37.856881%;
	max-width: none;
	width: 200.486120%;
	height: 173.736625%;
}

.home-intro__group .-loop-sanko-405 {
	position: relative;
}

.home-intro__group .-loop-sanko-405 img {
	position: absolute;
	top: -23.870731%;
	left: -34.416601%;
	max-width: none;
	width: 168.833203%;
	height: 146.306940%;
}

.home-intro__group .-loop-sanko-124 {
	position: relative;
}

.home-intro__group .-loop-sanko-124 img {
	position: absolute;
	top: -2.761984%;
	left: -19.849407%;
	max-width: none;
	width: 148.549702%;
	height: 128.729728%;
}
