@charset "UTF-8";
/**
 *
 * page-challenge.scss
 *
 */
/* ------------------------------------------------------------
 challenge-page
------------------------------------------------------------ */
.challenge-page {
	--color-bg: var( --color-challenge-red );
	--color-header-bg: var( --color-white );
}

.challenge-page:not(.has-challenge-accordion) .challenge-voices {
	display: block;
}

.challenge-page .challenge-header {
	position: absolute;
}

.challenge-page [data-reveal].is-revealing {
	-webkit-animation: challenge-reveal 1s both;
	animation: challenge-reveal 1s both;
}

.challenge-page .challenge-picker.is-revealing {
	-webkit-animation-fill-mode: backwards;
	animation-fill-mode: backwards;
}

.challenge-page.is-page-hidden * {
	-webkit-animation-play-state: paused !important;
	animation-play-state: paused !important;
}

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

.challenge-main img {
	display: block;
	max-width: none;
}

@media screen and (max-width: 1023px) {
	.challenge-main img {
		max-width: 100%;
	}
}

.challenge-main .has-mask {
	-webkit-mask: var(--cutout-mask) center/100% 100% no-repeat;
	mask: var(--cutout-mask) center/100% 100% no-repeat;
}

.challenge-main p {
	line-height: inherit;
}

.challenge-main a:focus-visible,
.challenge-main button:focus-visible {
	outline: 3px solid var(--color-white);
	outline-offset: 5px;
}

.challenge-main h1,
.challenge-main h2,
.challenge-main h3 {
	font-weight: normal;
}

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

@media print {
	.challenge-main * {
		-webkit-animation: none !important;
		animation: none !important;
	}
}

/* ------------------------------------------------------------
 challenge-hero
------------------------------------------------------------ */
.challenge-hero {
	position: relative;
}

@media print {
	.challenge-hero {
		display: none;
	}
}

.challenge-hero__inner {
	position: relative;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-hero__inner {
		max-width: 150rem ;
		height: 105.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-hero__inner {
		display: grid;
		max-width: 80rem;
		padding: 9.5rem 0 3rem ;
	}
}

/* 原稿から抽出した見出しの字形と、背景の可視範囲。 */
.challenge-hero__title {
	position: absolute;
	white-space: nowrap;
	color: var(--color-challenge-gold);
	font-family: var(--font-sans-serif2);
	--line-height: 1;
	display: flex;
	align-items: flex-start;
	height: auto;
	font-size: inherit;
	letter-spacing: 0em;
}

@media screen and (min-width: 1024px) {
	.challenge-hero__title {
		top: 13.02rem;
		left: 5.81%;
		width: 85%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-hero__title {
		position: relative;
		grid-area: 1 / 1;
		align-self: start;
		margin-left: 5%;
		width: 90%;
	}
}

.challenge-hero__title .-sea {
	width: 50.08%;
}

.challenge-hero__title .-person {
	width: 49.92%;
}

@media screen and (min-width: 1024px) {
	.challenge-hero__title .-person {
		margin-top: .81rem;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-hero__title .-person {
		margin-top: .25rem;
	}
}

.challenge-hero__gallery {
	position: absolute;
	inset: 0;
}

@media screen and (max-width: 1023px) {
	.challenge-hero__gallery {
		position: relative;
		grid-area: 1 / 1;
		inset: auto;
		width: 135.9%;
		max-width: 108.72rem;
		margin-left: -8.5%;
		margin-top: 6.6rem ;
	}
	.challenge-hero__gallery > .js-slider__content {
		display: grid;
	}
}

.challenge-hero__slide {
	position: absolute;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--transition-slider), visibility var(--transition-slider);
}

@media screen and (min-width: 1024px) {
	.challenge-hero__slide {
		top: 13.9rem ;
		bottom: 0 ;
		left: 19.31%;
		width: 63.67%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-hero__slide {
		position: relative;
		grid-area: 1 / 1;
		width: 100%;
		aspect-ratio: 543.6 / 519;
	}
}

.challenge-hero__slide.is-current {
	opacity: 1;
	visibility: visible;
}

.challenge-hero__slide img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

@media screen and (min-width: 1024px) {
	.challenge-hero__slide img {
		-o-object-position: center bottom;
		object-position: center bottom;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-hero__slide img {
		-o-object-position: 43% bottom;
		object-position: 43% bottom;
	}
}

.challenge-hero__en {
	position: absolute;
	z-index: 3;
	color: var(--color-black);
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	-webkit-text-stroke: 3px var(--color-challenge-gold);
	paint-order: stroke fill;
	pointer-events: none;
}

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

.challenge-hero__en::before {
	margin-top: var(--font-sans-serif-top);
}

.challenge-hero__en::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.challenge-hero__en {
		top: 62.4rem ;
		left: 6.7%;
		font-size: var(--font-size140);
		--line-height: 1;
		letter-spacing: 0.06em;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-hero__en {
		position: relative;
		grid-area: 1 / 1;
		align-self: end;
		margin-left: 3.75%;
		margin-bottom: -1.486rem ;
		font-size: var(--font-size70);
		--line-height: 0.91429;
		letter-spacing: 0.06em;
		-webkit-text-stroke-width: 2px;
	}
}

.challenge-hero__en > span {
	display: block;
}

@media screen and (min-width: 1024px) {
	.challenge-hero__en > span + span {
		margin-top: -1.5rem;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-hero__en > span + span {
		margin-top: -.75rem;
	}
}

.challenge-hero__float {
	position: absolute;
	width: 27rem ;
	-webkit-animation: challenge-float 6s ease-in-out infinite;
	animation: challenge-float 6s ease-in-out infinite;
}

.challenge-hero__float > img:first-child {
	width: 100%;
	margin-inline: auto;
}

.challenge-hero__float > img:last-child {
	position: absolute;
	bottom: -14%;
	left: -7.3%;
	width: 141.8%;
	max-width: 200%;
}

@media screen and (min-width: 1024px) {
	.challenge-hero__float.-left {
		top: 30.7rem ;
		left: 3.05%;
		width: 20.72rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-hero__float.-left {
		top: 18rem ;
		left: -2.15%;
		width: 9.7rem ;
	}
}

.challenge-hero__float.-top {
	top: 12.9rem ;
	right: 12.88%;
	width: 22.42rem ;
	-webkit-animation-delay: -2s;
	animation-delay: -2s;
}

@media screen and (max-width: 1023px) {
	.challenge-hero__float.-top {
		display: none;
	}
}

.challenge-hero__float.-top > img:last-child {
	bottom: auto;
	top: 17.805rem ;
	left: -3.981rem ;
	width: 27.355rem ;
}

.challenge-hero__float.-bottom {
	top: 71rem ;
	right: 9.6%;
	width: 21.93rem ;
	-webkit-animation-delay: -4s;
	animation-delay: -4s;
	z-index: 1;
}

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

.challenge-hero__float.-bottom > img:last-child {
	bottom: auto;
	top: 22.228rem ;
	left: -8.422rem ;
	width: 35.978rem ;
}

/* ------------------------------------------------------------
 challenge-sea
------------------------------------------------------------ */
.challenge-sea {
	position: relative;
	background-color: transparent;
	background-image: none;
	background-position: center top;
	background-repeat: no-repeat;
	color: var(--color-white);
	isolation: isolate;
}

@media screen and (min-width: 1024px) {
	.challenge-sea {
		background-size: 100% 100%;
		padding-bottom: 23.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-sea {
		background-size: auto 100%;
		padding-bottom: 14rem ;
	}
}

@media print {
	.challenge-sea {
		display: none;
	}
}

.challenge-sea::after {
	content: '';
	position: absolute;
	bottom: -0.1rem ;
	left: 0;
	z-index: 11;
	width: 100%;
	background-color: transparent;
	background-image: url(../img/challenge/divider-red.svg);
	background-size: 100% 100%;
	background-position: center bottom;
	background-repeat: no-repeat;
	pointer-events: none;
}

@media screen and (min-width: 1024px) {
	.challenge-sea::after {
		height: 18.6204rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-sea::after {
		background-image: url(../img/challenge/divider-red-sp.svg);
		height: 5.0974rem ;
	}
}

.challenge-sea__inner {
	position: relative;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-sea__inner {
		max-width: 150rem ;
		padding-top: 25.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-sea__inner {
		display: flow-root;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-sea__waves {
		display: contents;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-sea__waves {
		display: grid;
		width: 100%;
		max-width: 80rem;
		margin-inline: auto;
		margin-top: 2.489rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-sea > .challenge-entry {
		margin-top: 10.5rem ;
	}
}

.challenge-sea__wave {
	position: absolute;
	pointer-events: none;
}

@media screen and (min-width: 1024px) {
	.challenge-sea__wave.-top {
		top: -2.6rem ;
		left: 6.2%;
		width: 59.2%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-sea__wave.-top {
		position: relative;
		margin-top: -4.4rem ;
		margin-left: -25%;
		width: 117%;
		max-width: 93.6rem;
	}
}

.challenge-sea__wave.-right {
	opacity: 1;
}

@media screen and (min-width: 1024px) {
	.challenge-sea__wave.-right {
		top: 51.03rem ;
		right: -11.527%;
		width: 49.2%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-sea__wave.-right {
		position: relative;
		grid-area: 1 / 1;
		align-self: start;
		justify-self: end;
		margin-right: -17.44%;
		width: 65.66%;
		max-width: 52.528rem;
	}
}

.challenge-sea__wave.-left {
	opacity: 1;
}

@media screen and (min-width: 1024px) {
	.challenge-sea__wave.-left {
		top: 81.8rem ;
		left: -4%;
		width: 25%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-sea__wave.-left {
		position: relative;
		grid-area: 1 / 1;
		align-self: start;
		margin-top: 4.975rem ;
		margin-left: -1.35%;
		width: 36.325%;
		max-width: 29.06rem;
	}
}

/* ------------------------------------------------------------
 challenge-intro
------------------------------------------------------------ */
.challenge-intro {
	position: relative;
	z-index: 1;
}

@media screen and (min-width: 1024px) {
	.challenge-intro {
		width: 75%;
		margin-left: 16%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-intro {
		width: 84%;
		margin-left: 10%;
		margin-top: 5.825rem ;
	}
}

.challenge-intro h2 {
	font-family: var(--font-sans-serif2);
}

@media screen and (min-width: 1024px) {
	.challenge-intro h2 {
		font-size: var(--font-size70);
		--line-height: 1;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-intro h2 {
		white-space: nowrap;
		font-size: var(--font-size40);
		--line-height: 1.15;
	}
}

.challenge-intro__copy {
	font-weight: 700;
}

@media screen and (min-width: 1024px) {
	.challenge-intro__copy {
		font-size: var(--font-size26);
		--line-height: 2.30769;
		margin-top: 5.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-intro__copy {
		font-size: var(--font-size13);
		--line-height: 2.30769;
		margin-top: 4rem ;
	}
}

/* ------------------------------------------------------------
 challenge-picker
------------------------------------------------------------ */
.challenge-picker {
	position: relative;
}

@media screen and (min-width: 1024px) {
	.challenge-picker {
		height: 103.66rem ;
		margin-top: -2.2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker {
		width: 100%;
		max-width: 80rem;
		margin-inline: auto;
		margin-top: 1.359rem ;
	}
	.challenge-picker.js-fadeup {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
		transition: none;
	}
	.challenge-picker.js-fadeup:not(.is-shown) > .challenge-picker__brush,
	.challenge-picker.js-fadeup:not(.is-shown) > .challenge-picker__marquee,
	.challenge-picker.js-fadeup:not(.is-shown) > .challenge-picker__controls,
	.challenge-picker.js-fadeup:not(.is-shown) .challenge-picker__slide > * {
		opacity: 0;
		-webkit-transform: translateY(3rem);
		transform: translateY(3rem);
	}
	.challenge-picker > .challenge-picker__brush,
	.challenge-picker > .challenge-picker__marquee,
	.challenge-picker > .challenge-picker__controls {
		transition: opacity var(--transition-fadeup), -webkit-transform var(--transition-fadeup);
		transition: opacity var(--transition-fadeup), transform var(--transition-fadeup);
		transition: opacity var(--transition-fadeup), transform var(--transition-fadeup), -webkit-transform var(--transition-fadeup);
	}
}

@media screen and (min-width: 1024px) {
	.challenge-picker .challenge-ring__number {
		font-size: var(--font-size80);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker .challenge-ring__number {
		font-size: var(--font-size42);
	}
}

.challenge-picker__brush {
	position: absolute;
	background-image: url(../img/challenge/brush-picker.svg);
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

@media screen and (min-width: 1024px) {
	.challenge-picker__brush {
		top: 22%;
		left: 14.68%;
		width: 66.44%;
		height: 88.2%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__brush {
		top: 0;
		margin-top: 3.2075%;
		left: -18.124%;
		width: 140.816%;
		aspect-ratio: 563.264 / 429.84;
		background-image: url(../img/challenge/brush-picker-sp.svg);
	}
}

.challenge-picker__marquee {
	position: absolute;
	width: 100vw;
	white-space: nowrap;
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	letter-spacing: 0.06em;
	overflow: hidden;
}

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

.challenge-picker__marquee::before {
	margin-top: var(--font-sans-serif-top);
}

.challenge-picker__marquee::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.challenge-picker__marquee {
		top: 58.3%;
		left: calc((100% - 100vw) / 2);
		font-size: var(--font-size106);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__marquee {
		top: 40.8%;
		left: calc((100% - 100vw) / 2);
		font-size: var(--font-size55);
	}
}

.challenge-picker__track {
	width: -webkit-max-content;
	width: max-content;
	-webkit-animation: challenge-loop 30s linear infinite;
	animation: challenge-loop 30s linear infinite;
}

.challenge-picker__slides {
	height: 100%;
}

@media screen and (max-width: 1023px) {
	.challenge-picker__slides {
		display: grid;
		height: auto;
	}
}

.challenge-picker__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--transition-challenge-picker), visibility var(--transition-challenge-picker);
}

.challenge-picker__slide.is-current {
	opacity: 1;
	visibility: visible;
}

@media screen and (max-width: 1023px) {
	.challenge-picker__slide {
		position: relative;
		inset: auto;
		grid-area: 1 / 1;
		min-width: 0;
		opacity: 1;
		transition: visibility var(--transition-challenge-picker);
	}
	.challenge-picker__slide > * {
		opacity: 0;
		transition: opacity var(--transition-challenge-picker), color var(--transition-button), background var(--transition-button), -webkit-transform var(--transition-fadeup);
		transition: opacity var(--transition-challenge-picker), transform var(--transition-fadeup), color var(--transition-button), background var(--transition-button);
		transition: opacity var(--transition-challenge-picker), transform var(--transition-fadeup), color var(--transition-button), background var(--transition-button), -webkit-transform var(--transition-fadeup);
	}
	.challenge-picker__slide.is-current > * {
		opacity: 1;
	}
}

.challenge-picker__portrait {
	position: absolute;
	bottom: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

@media screen and (min-width: 1024px) {
	.challenge-picker__portrait {
		left: 25.14%;
		width: 52.733%;
		height: 100%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__portrait {
		position: relative;
		bottom: auto;
		margin-left: 10%;
		width: 90%;
		max-width: 72rem;
		height: auto;
		aspect-ratio: 360 / 473;
	}
}

.challenge-picker__portrait img {
	width: 100%;
	-webkit-transform-origin: center bottom;
	transform-origin: center bottom;
}

@media screen and (min-width: 1024px) {
	.challenge-picker__portrait img {
		height: 100%;
		-o-object-fit: contain;
		object-fit: contain;
		-o-object-position: center bottom;
		object-position: center bottom;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__portrait img {
		height: 100%;
		-o-object-fit: contain;
		object-fit: contain;
		-o-object-position: center bottom;
		object-position: center bottom;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-picker__portrait img[data-asset='portrait-02'], .challenge-picker__portrait img[data-asset='portrait-06'] {
		-webkit-transform: scale(0.8);
		transform: scale(0.8);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__portrait img[data-asset='portrait-02'], .challenge-picker__portrait img[data-asset='portrait-06'] {
		-webkit-transform: scale(0.9);
		transform: scale(0.9);
	}
}

@media screen and (min-width: 1024px) {
	.challenge-picker__portrait img[data-asset='portrait-05'] {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__portrait img[data-asset='portrait-05'] {
		-webkit-transform: scale(1.35);
		transform: scale(1.35);
	}
}

.challenge-picker__number {
	position: absolute;
}

@media screen and (min-width: 1024px) {
	.challenge-picker__number {
		top: 29%;
		left: 20.9%;
		width: 23.8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__number {
		top: 3.95%;
		left: 4.625%;
		width: 11.8rem ;
	}
}

.challenge-picker__name {
	position: absolute;
	z-index: 11;
}

@media screen and (min-width: 1024px) {
	.challenge-picker__name {
		bottom: 8.316%;
		left: 60.2248%;
		max-width: 18.4%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__name {
		bottom: -0.866rem ;
		left: 5%;
	}
}

.challenge-picker__name .challenge-nameplate__job {
	background-color: transparent;
}

.challenge-picker__name .challenge-nameplate__job > p {
	background-color: var(--color-black);
}

@media screen and (min-width: 1024px) {
	.challenge-picker__name .challenge-nameplate__job > p {
		padding: 0.944rem 1.435rem 1.003rem 1.235rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__name .challenge-nameplate__job > p {
		padding: 0.625rem 0.8rem 0.633rem ;
	}
}

.challenge-picker__name .challenge-nameplate__job > p.challenge-nameplate__qualification {
	background-color: var(--color-challenge-red);
}

@media screen and (min-width: 1024px) {
	.challenge-picker__name .challenge-nameplate__name > span {
		padding: 1.22rem 1.314rem 1.137rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__name .challenge-nameplate__name > span {
		padding: 0.805rem 0.883rem 0.747rem ;
	}
}

.challenge-picker__jump {
	position: absolute;
	display: grid;
	place-items: center;
	box-shadow: 0.5rem 0.5rem 0.6rem var(--color-shadow-challenge-picker);
	border-radius: 50%;
	background-color: var(--color-challenge-gold);
	background-image: none;
	color: var(--color-white);
	font-weight: 700;
	transition: color var(--transition-button), background var(--transition-button);
}

@media screen and (min-width: 1024px) {
	.challenge-picker__jump {
		bottom: 8.7%;
		left: 25.25%;
		width: 11rem ;
		height: 11rem ;
		font-size: var(--font-size48);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__jump {
		bottom: -0.5rem ;
		left: auto;
		right: 23.5%;
		z-index: 11;
		width: 5.6rem ;
		height: 5.6rem ;
		font-size: var(--font-size28);
	}
}

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

.challenge-picker__jump::before {
	content: '';
	width: 18.4057%;
	height: 29.9328%;
	background-color: currentColor;
	-webkit-mask: url(../img/challenge/arrow-picker.svg) center/contain no-repeat;
	mask: url(../img/challenge/arrow-picker.svg) center/contain no-repeat;
}

.challenge-picker__controls {
	position: absolute;
	z-index: 3;
	display: flex;
	flex-direction: column;
}

@media screen and (min-width: 1024px) {
	.challenge-picker__controls {
		top: 35.6%;
		right: 15.9%;
		gap: 1.9rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__controls {
		bottom: -8.44rem ;
		right: 5%;
		z-index: 11;
		gap: 0.9rem ;
	}
}

.challenge-picker__controls > li {
	display: flex;
}

.challenge-picker__dot {
	position: relative;
	border-radius: 50%;
	border: 0;
	background-color: var(--color-challenge-gold);
	background-image: none;
	padding: 0;
	overflow: hidden;
	cursor: pointer;
}

@media screen and (min-width: 1024px) {
	.challenge-picker__dot {
		width: 8rem ;
		height: 8rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-picker__dot {
		width: 4rem ;
		aspect-ratio: 1;
	}
}

.challenge-picker__dot[aria-pressed='true'] {
	background-color: var(--color-challenge-red);
	background-image: none;
}

.challenge-picker__dot img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: top;
	object-position: top;
}

/* ------------------------------------------------------------
 challenge-ring
------------------------------------------------------------ */
.challenge-ring {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	color: var(--color-white);
}

.challenge-ring.-chapter {
	color: var(--color-black);
}

@media screen and (min-width: 1024px) {
	.challenge-ring.-chapter .challenge-ring__number {
		font-size: var(--font-size51);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-ring.-chapter .challenge-ring__number {
		font-size: var(--font-size26);
	}
}

.challenge-ring.-chapter .challenge-ring__letters, .challenge-ring.-picker .challenge-ring__letters {
	inset: 1.4%;
	width: 97.2%;
	height: 97.2%;
}

.challenge-ring__letters {
	position: absolute;
	inset: 10.46%;
	width: 79.08%;
	height: 79.08%;
	-webkit-animation: challenge-turn 35s linear infinite;
	animation: challenge-turn 35s linear infinite;
}

.challenge-ring__number {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	--line-height: 1;
}

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

.challenge-ring__number::before {
	margin-top: var(--font-sans-serif-top);
}

.challenge-ring__number::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.challenge-ring__number {
		font-size: var(--font-size91);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-ring__number {
		font-size: var(--font-size46);
	}
}

/* ------------------------------------------------------------
 challenge-nameplate
------------------------------------------------------------ */
.challenge-nameplate {
	max-width: 100%;
	width: -webkit-max-content;
	width: max-content;
	font-weight: 500;
}

.challenge-nameplate__job {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	max-width: 100%;
	width: -webkit-max-content;
	width: max-content;
	background-color: var(--color-black);
	background-image: none;
	color: var(--color-challenge-gold);
	--line-height: 1;
}

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

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

@media screen and (min-width: 1024px) {
	.challenge-nameplate__job > p {
		padding: 0.7rem 1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-nameplate__job > p {
		padding: 0.5rem 0.8rem ;
	}
}

.challenge-nameplate__qualification {
	background-color: var(--color-challenge-red);
	background-image: none;
	color: var(--color-challenge-gold);
}

.challenge-nameplate__name {
	display: table;
	max-width: 100%;
	background-color: var(--color-white);
	background-image: none;
	color: var(--color-black);
	--line-height: 1;
	margin: 0;
}

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

@media screen and (max-width: 1023px) {
	.challenge-nameplate__name {
		font-size: var(--font-size17);
	}
}

@media screen and (min-width: 1024px) {
	.challenge-nameplate__name > span {
		padding: 0.7rem 1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-nameplate__name > span {
		padding: 0.5rem 0.8rem ;
	}
}

/* ------------------------------------------------------------
 challenge-entry
------------------------------------------------------------ */
.challenge-entry {
	position: relative;
	z-index: 12;
	overflow-x: clip;
	overflow-y: visible;
}

@media screen and (min-width: 1024px) {
	.challenge-entry {
		height: 22rem ;
		margin-top: 13.84rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-entry {
		height: 12rem ;
		margin-top: 11.5rem ;
	}
}

@media print {
	.challenge-entry {
		display: none;
	}
}

.challenge-entry__track {
	position: relative;
	display: flex;
	width: -webkit-max-content;
	width: max-content;
	height: 100%;
	-webkit-transform: translateX(-6.8rem);
	transform: translateX(-6.8rem);
	-webkit-animation: challenge-loop 36s linear infinite;
	animation: challenge-loop 36s linear infinite;
}

@media screen and (min-width: 1024px) {
	.challenge-entry__track {
		top: 0.926rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-entry__track {
		top: -0.774rem ;
		-webkit-transform: translateX(-9.8713rem);
		transform: translateX(-9.8713rem);
	}
}

.challenge-entry__group {
	display: flex;
	align-items: center;
}

@media screen and (min-width: 1024px) {
	.challenge-entry__group {
		gap: 3.139rem ;
		padding-right: 3.139rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-entry__group {
		gap: 1.673rem ;
		padding-right: 1.673rem ;
	}
}

.challenge-entry__item {
	display: flex;
	flex: none;
	align-items: center;
	gap: inherit;
}

.challenge-entry__word {
	position: relative;
	color: var(--color-challenge-gold);
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	letter-spacing: 0.06em;
}

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

.challenge-entry__word::before {
	margin-top: var(--font-sans-serif-top);
}

.challenge-entry__word::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.challenge-entry__word {
		font-size: var(--font-size103);
		top: 1.48rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-entry__word {
		font-size: var(--font-size55);
		top: 0.79rem ;
	}
}

.challenge-entry__link {
	position: relative;
	flex: none;
	box-shadow: 0.6rem 0.6rem 0.8rem var(--color-shadow-challenge-voice);
	background-color: var(--color-challenge-gold);
	background-image: none;
	color: var(--color-white);
	transition: background var(--transition-button), color var(--transition-button);
}

@media screen and (min-width: 1024px) {
	.challenge-entry__link {
		width: 46.2106rem ;
		height: 17.8827rem ;
		border-radius: 3.2163rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-entry__link {
		width: 24.6354rem ;
		max-width: 49.2708rem;
		aspect-ratio: 246.354 / 95.335;
		border-radius: 1.7147rem ;
	}
}

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

.challenge-entry__link img {
	position: absolute;
	bottom: 0;
	right: 4.4033%;
	width: 48.3134%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	-o-object-position: center bottom;
	object-position: center bottom;
}

.challenge-entry__label {
	position: absolute;
	text-transform: uppercase;
	top: 30.73%;
	left: 8.5297%;
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	letter-spacing: 0.06em;
}

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

.challenge-entry__label::before {
	margin-top: var(--font-sans-serif-top);
}

.challenge-entry__label::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.challenge-entry__label {
		font-size: var(--font-size41);
	}
}

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

.challenge-entry__arrow {
	position: absolute;
	bottom: 20.616%;
	left: 8.4259%;
	width: 38.0433%;
	height: 20.2148%;
	display: grid;
	place-items: center;
	border-radius: 5rem;
	border: var(--solid-current);
	text-align: center;
	line-height: 1;
}

.challenge-entry__arrow::before {
	content: '';
	width: 14.9%;
	height: 22%;
	background-color: currentColor;
	-webkit-mask: url(../img/challenge/arrow-entry.svg) center/contain no-repeat;
	mask: url(../img/challenge/arrow-entry.svg) center/contain no-repeat;
}

/* ------------------------------------------------------------
 challenge-stories
------------------------------------------------------------ */
.challenge-stories {
	position: relative;
	color: var(--color-white);
}

/* ------------------------------------------------------------
 challenge-chapter
------------------------------------------------------------ */
.challenge-chapter {
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-chapter {
		max-width: 150rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter + .challenge-chapter {
		margin-top: 2.2rem ;
	}
}

.challenge-chapter__header {
	position: relative;
	text-align: center;
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__header {
		min-height: 162.4rem ;
		padding-top: 15.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__header {
		display: flow-root;
		padding-bottom: var(--chapter-people-gap);
		padding-top: 2.6rem ;
	}
}

@media print {
	.challenge-chapter__header {
		min-height: 0;
		padding: 3rem;
	}
}

.challenge-chapter__badge {
	position: relative;
	display: grid;
	place-items: center;
	background-color: transparent;
	background-image: url(../img/challenge/brush-chapter.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__badge {
		width: 47%;
		height: 31.3rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__badge {
		width: 87.5%;
		height: 16.5rem ;
		background-image: url(../img/challenge/brush-chapter-sp.svg);
	}
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__badge > .challenge-ring {
		width: 15.5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__badge > .challenge-ring {
		width: 7.3rem ;
	}
}

.challenge-chapter__title {
	position: relative;
	z-index: 1;
	color: var(--color-black);
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	paint-order: stroke fill;
}

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

.challenge-chapter__title::before {
	margin-top: var(--font-sans-serif-top);
}

.challenge-chapter__title::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__title {
		font-size: var(--font-size140);
		--line-height: 1.05714;
		letter-spacing: 0.06em;
		margin-top: 8.4rem ;
		-webkit-text-stroke: 3px var(--color-white);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__title {
		text-transform: uppercase;
		font-size: var(--font-size50);
		--line-height: 1.3;
		letter-spacing: 0.06em;
		margin-top: 0.4rem ;
		-webkit-text-stroke: 2px var(--color-brand-cream);
	}
}

.challenge-chapter__title > span {
	display: block;
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__title > span + span {
		margin-top: .8rem;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__title > span + span {
		margin-top: 1.5rem;
	}
}

.challenge-chapter__ja {
	position: relative;
	z-index: 2;
	font-family: var(--font-sans-serif2);
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__ja {
		font-size: var(--font-size56);
		--line-height: 1.35714;
		margin-top: 9.1rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__ja {
		font-size: var(--font-size28);
		--line-height: 1.60714;
		letter-spacing: 0em;
		margin-top: 3.5rem ;
		padding-inline: 1.5%;
	}
}

.challenge-chapter__copy {
	position: relative;
	z-index: 2;
	font-weight: 700;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__copy {
		width: 32.4%;
		margin-left: 35.27%;
		text-align: left;
		font-size: var(--font-size18);
		--line-height: 2.66667;
		margin-top: 7.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__copy {
		width: 90%;
		text-align: center;
		font-size: var(--font-size13);
		--line-height: 2.30769;
		margin-top: 3.9rem ;
	}
}

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

@media screen and (max-width: 1023px) {
	.challenge-chapter__copy .-sp {
		display: block;
	}
}

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

@media screen and (min-width: 1024px) {
	.challenge-chapter__people {
		display: contents;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__people {
		display: grid;
		width: 100%;
		max-width: 80rem;
		margin-inline: auto;
		margin-top: clamp(var(--chapter-people-overlap), calc(100vw - 60rem), 0rem);
	}
}

.challenge-chapter__person {
	position: absolute;
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__person {
		bottom: 0;
		width: 31%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__person {
		position: relative;
		grid-area: 1 / 1;
		align-self: start;
		width: 60%;
	}
}

@media print {
	.challenge-chapter__person {
		display: none;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__person.-left {
		left: 1.5%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__person.-left {
		justify-self: start;
		margin-left: -15.85%;
		width: 52.35%;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__person.-right {
		right: 1.5%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__person.-right {
		justify-self: end;
		margin-right: -31.75%;
		width: 72%;
	}
}

.challenge-chapter__person.-right .challenge-chapter__wave {
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
}

.challenge-chapter__person > img:first-child {
	width: 100%;
}

.challenge-chapter__person .challenge-chapter__wave {
	position: absolute;
	top: var(--chapter-wave-top);
	left: var(--chapter-wave-left);
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__person .challenge-chapter__wave {
		width: var(--chapter-wave-width);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter__person .challenge-chapter__wave {
		position: relative;
		top: auto;
		left: auto;
		margin-top: var(--chapter-wave-overlap);
		margin-left: var(--chapter-wave-left);
		width: var(--chapter-wave-width);
		max-width: 160%;
	}
}

/* ------------------------------------------------------------
 challenge-interview
------------------------------------------------------------ */
.challenge-interview {
	position: relative;
	outline: none;
	scroll-margin-top: 3rem;
}

@media screen and (min-width: 1024px) {
	.challenge-interview {
		padding-top: 0 ;
		padding-bottom: 0;
		min-height: var(--interview-height);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview {
		padding-top: 6rem ;
		padding-bottom: 0 ;
	}
}

.challenge-interview.-reverse .challenge-nameplate {
	margin-left: auto;
}

.challenge-interview.-reverse .challenge-nameplate__name {
	margin-left: auto;
}

.challenge-interview.-reverse .challenge-interview__title {
	grid-column: 2;
	grid-row: 1;
}

@media screen and (min-width: 1024px) {
	.challenge-interview.-reverse .challenge-interview__title {
		left: 2rem;
	}
}

.challenge-interview.-reverse .challenge-interview__copy {
	grid-column: 1;
	grid-row: 1;
}

.challenge-interview.-reverse .challenge-portrait__brush {
	background-image: url(../img/challenge/brush-gold-reverse.svg);
}

@media screen and (min-width: 1024px) {
	.challenge-interview.-reverse .challenge-portrait__brush {
		top: var(--brush-top, 9.7rem);
		height: 80.67rem;
		left: 15.75%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview.-reverse .challenge-portrait__brush {
		left: var(--brush-sp-left, -32.03%);
		background-image: url(../img/challenge/brush-gold-sp.svg), url(../img/challenge/brush-gold-sp.svg);
	}
}

@media screen and (min-width: 1024px) {
	.challenge-interview.-reverse .challenge-portrait__image {
		left: 24.55%;
		width: 52.4%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview.-reverse .challenge-portrait__image {
		margin-left: 12%;
		width: 83%;
	}
}

.challenge-interview.-reverse .challenge-portrait__ring {
	right: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-interview.-reverse .challenge-portrait__ring {
		top: 15.98rem;
		left: 4.4%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview.-reverse .challenge-portrait__ring {
		top: 0;
		left: 0;
	}
}

.challenge-interview.-reverse .challenge-portrait__en {
	left: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-interview.-reverse .challenge-portrait__en {
		right: 16.7%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview.-reverse .challenge-portrait__en {
		right: 5%;
	}
}

.challenge-interview.-reverse .challenge-portrait__name {
	text-align: right;
}

@media screen and (min-width: 1024px) {
	.challenge-interview.-reverse .challenge-portrait__name {
		left: auto;
		right: 15.95%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview.-reverse .challenge-portrait__name {
		left: auto;
		margin-top: 98.75%;
		right: 5%;
	}
}

.challenge-interview.-reverse .challenge-interview__body {
	grid-template-columns: 1fr 13% 25%;
}

@media screen and (max-width: 1023px) {
	.challenge-interview.-reverse .challenge-interview__body {
		display: block;
		padding: 4.4rem 3.35rem 0 4rem ;
	}
}

.challenge-interview.-reverse .challenge-interview__photo {
	grid-column: 3;
	grid-row: 1;
	margin-top: 0;
}

/* ------------------------------------------------------------
 challenge-portrait
------------------------------------------------------------ */
.challenge-portrait {
	position: relative;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-portrait {
		max-width: 150rem ;
		height: var(--portrait-height, 83rem);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-portrait {
		width: 100%;
		max-width: 80rem;
	}
}

@media print {
	.challenge-portrait {
		display: none;
	}
}

.challenge-portrait__brush {
	position: absolute;
	background-color: transparent;
	background-image: url(../img/challenge/brush-gold.svg);
	background-size: 100% 100%;
	background-position: center;
	background-repeat: no-repeat;
}

@media screen and (min-width: 1024px) {
	.challenge-portrait__brush {
		top: 9.32%;
		left: 3.78%;
		width: 80.4%;
		height: 90.7%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-portrait__brush {
		top: 0;
		margin-top: var(--brush-sp-top, 19.75%);
		left: var(--brush-sp-left, -32.03%);
		width: 153.702%;
		aspect-ratio: 614.808 / 387.47;
		background-image: url(../img/challenge/brush-gold-sp.svg), url(../img/challenge/brush-gold-sp.svg);
		background-size: 89.75% 80.91%;
		background-position: left top, right bottom;
	}
}

.challenge-portrait__image {
	position: absolute;
	top: 0;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	height: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-portrait__image {
		left: 25.97%;
		width: 54.8%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-portrait__image {
		position: relative;
		margin-left: -1.5%;
		width: 106.5%;
		max-width: 85.2rem;
		aspect-ratio: var(--portrait-ratio);
	}
}

.challenge-portrait__image img {
	width: 100%;
	height: auto;
	-o-object-fit: contain;
	object-fit: contain;
	-o-object-position: center bottom;
	object-position: center bottom;
}

@media screen and (max-width: 1023px) {
	.challenge-portrait__image img {
		height: 100%;
	}
}

.challenge-portrait__ring {
	position: absolute;
}

@media screen and (min-width: 1024px) {
	.challenge-portrait__ring {
		top: 6.5%;
		right: 4.9%;
		width: 22.8%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-portrait__ring {
		top: -6.4%;
		right: 0;
		width: 43%;
	}
}

@media screen and (min-width: 1024px) {
	#kamosawa .challenge-portrait__ring {
		right: auto;
		top: 5.3871rem ;
		left: 108.3891rem ;
		width: 34.2129rem ;
	}
}

@media screen and (max-width: 1023px) {
	#kamosawa .challenge-portrait__ring {
		right: auto;
		top: 0;
		margin-top: -7.033250%;
		left: 57.268000%;
		width: 42.766000%;
	}
}

@media screen and (min-width: 1024px) {
	#sueyoshi .challenge-portrait__ring {
		right: auto;
		top: 15.9616rem ;
		left: 6.578rem ;
		width: 34.2127rem ;
	}
}

@media screen and (max-width: 1023px) {
	#sueyoshi .challenge-portrait__ring {
		right: auto;
		top: 0;
		margin-top: 0.092750%;
		left: -0.018000%;
		width: 42.766250%;
	}
}

@media screen and (min-width: 1024px) {
	#okada .challenge-portrait__ring {
		right: auto;
		top: 12.5179rem ;
		left: 108.389rem ;
		width: 34.2129rem ;
	}
}

@media screen and (max-width: 1023px) {
	#okada .challenge-portrait__ring {
		right: auto;
		top: 0;
		margin-top: -0.127000%;
		left: 54.107750%;
		width: 42.766000%;
	}
}

@media screen and (min-width: 1024px) {
	#oshiro .challenge-portrait__ring {
		right: auto;
		top: 15.8899rem ;
		left: 6.5779rem ;
		width: 34.2129rem ;
	}
}

@media screen and (max-width: 1023px) {
	#oshiro .challenge-portrait__ring {
		right: auto;
		top: 0;
		margin-top: 3.183250%;
		left: -0.018250%;
		width: 42.766250%;
	}
}

@media screen and (min-width: 1024px) {
	#dhanny .challenge-portrait__ring {
		right: auto;
		top: 9.0918rem ;
		left: 108.3742rem ;
		width: 34.2129rem ;
	}
}

@media screen and (max-width: 1023px) {
	#dhanny .challenge-portrait__ring {
		right: auto;
		top: 0;
		margin-top: 3.092500%;
		left: 54.107750%;
		width: 42.766000%;
	}
}

@media screen and (min-width: 1024px) {
	#yuda .challenge-portrait__ring {
		right: auto;
		top: 15.9617rem ;
		left: 6.5632rem ;
		width: 34.2129rem ;
	}
}

@media screen and (max-width: 1023px) {
	#yuda .challenge-portrait__ring {
		right: auto;
		top: 0;
		margin-top: 1.500750%;
		left: -0.018250%;
		width: 42.766250%;
	}
}

@media screen and (min-width: 1024px) {
	#okuhama .challenge-portrait__ring {
		right: auto;
		top: -0.746rem ;
		left: 52.6425rem ;
		width: 23.2336rem ;
	}
}

@media screen and (max-width: 1023px) {
	#okuhama .challenge-portrait__ring {
		right: auto;
		top: 0;
		margin-top: -7.238000%;
		left: 53.836250%;
		width: 43.337750%;
	}
}

@media screen and (min-width: 1024px) {
	#mekaru .challenge-portrait__ring {
		right: auto;
		top: -0.746rem ;
		left: 44.543rem ;
		width: 23.2336rem ;
	}
}

@media screen and (max-width: 1023px) {
	#mekaru .challenge-portrait__ring {
		right: auto;
		top: 0;
		margin-top: -9.319250%;
		left: -0.289500%;
		width: 43.337750%;
	}
}

.challenge-portrait__en {
	position: absolute;
	text-transform: uppercase;
	display: flex;
	flex-direction: row-reverse;
	gap: 0.4rem ;
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	letter-spacing: 0.06em;
}

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

.challenge-portrait__en::before {
	margin-top: var(--font-sans-serif-top);
}

.challenge-portrait__en::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.challenge-portrait__en {
		top: 29.15%;
		left: 14.9%;
		font-size: 4.9784rem ;
		--line-height: 0.98425;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-portrait__en {
		top: 0;
		margin-top: 3.3%;
		left: 9.05%;
		font-size: 2.49rem ;
		--line-height: 0.9759;
	}
}

.challenge-portrait__en > span {
	white-space: nowrap;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

.challenge-portrait__name {
	position: absolute;
	z-index: 2;
}

@media screen and (min-width: 1024px) {
	.challenge-portrait__name {
		top: var(--name-top, 65.3rem);
		bottom: auto;
		left: 15.95%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-portrait__name {
		top: 0;
		margin-top: 91.5%;
		bottom: auto;
		left: 5%;
	}
}

.challenge-interview__body {
	position: relative;
	grid-template-columns: 25% 13% 1fr;
	align-items: start;
	-webkit-column-gap: 3%;
	-moz-column-gap: 3%;
	column-gap: 3%;
}

@media screen and (min-width: 1024px) {
	.challenge-interview__body {
		display: grid;
		padding: var(--body-top, 12.1rem) 10rem 0;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview__body {
		display: block;
		padding: 0 3.35rem 0 4rem ;
		padding-top: 0px !important;
	}
}

@media print {
	.challenge-interview__body {
		display: block;
	}
}

.challenge-interview__photo {
	position: relative;
	align-self: start;
	margin-top: 2.4rem ;
}

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

@media print {
	.challenge-interview__photo {
		display: none;
	}
}

.challenge-interview__photo > img:first-child {
	width: 100%;
	max-height: 70rem;
	-o-object-fit: contain;
	object-fit: contain;
	-o-object-position: top;
	object-position: top;
}

.challenge-interview__wave {
	position: absolute;
	top: var(--story-wave-top);
	left: var(--story-wave-left);
	width: var(--story-wave-width);
}

.challenge-interview__title {
	position: relative;
	z-index: 1;
	text-orientation: upright;
	font-family: var(--font-sans-serif2);
}

@media screen and (min-width: 1024px) {
	.challenge-interview__title {
		justify-self: center;
		left: -2rem;
		grid-column: 2;
		grid-row: 1;
		white-space: nowrap;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-size: var(--font-size52);
		-webkit-font-feature-settings: 'vpal' 1;
		font-feature-settings: 'vpal' 1;
		letter-spacing: -0.1em;
		--line-height: 1.46154;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview__title {
		white-space: normal;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		font-size: var(--font-size28);
		--line-height: 1.35714;
		letter-spacing: 0em;
	}
}

@media print {
	.challenge-interview__title {
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-interview__title > .challenge-text-crop-v > span {
		display: block;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview__title > .challenge-text-crop-v > span {
		display: inline;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview__title > .challenge-text-crop-v > span + span {
		display: block;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview__title[data-single-line='true'] {
		width: -webkit-max-content;
		width: max-content;
		white-space: nowrap;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-interview__copy {
		grid-column: 3;
		grid-row: 1;
		font-weight: 500;
		font-size: var(--font-size18);
		--line-height: 2.66667;
		padding-top: 5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-interview__copy {
		font-weight: 700;
		font-size: var(--font-size13);
		--line-height: 2.30769;
		padding-top: 3rem ;
	}
}

@media print {
	.challenge-interview__copy {
		padding-top: 3rem;
	}
}

/* ------------------------------------------------------------
 challenge-parade
------------------------------------------------------------ */
.challenge-parade {
	position: relative;
	z-index: 1;
	overflow: hidden;
}

@media screen and (min-width: 1024px) {
	.challenge-parade {
		height: 90.0261rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-parade {
		height: 45.0131rem ;
		margin-top: 3.095rem ;
	}
}

@media print {
	.challenge-parade {
		display: none;
	}
}

.challenge-parade__track {
	position: relative;
	display: flex;
	width: -webkit-max-content;
	width: max-content;
	height: 100%;
	-webkit-animation: challenge-loop 65s linear infinite;
	animation: challenge-loop 65s linear infinite;
}

@media screen and (min-width: 1024px) {
	.challenge-parade__track {
		left: -50.495rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-parade__track {
		left: -43.7771rem ;
	}
}

.challenge-parade__group {
	display: flex;
	flex: none;
	align-items: flex-end;
}

.challenge-parade__group img {
	height: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-parade__group img {
		width: 100.6543rem ;
		margin-right: -4.1132rem ;
		margin-bottom: 0.8454rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-parade__group img {
		width: 50.3272rem ;
		margin-right: -2.0566rem ;
		margin-bottom: 0.4227rem ;
	}
}

.challenge-parade__group img:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 1024px) {
	.challenge-parade__group img:last-child {
		width: 96.3082rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-parade__group img:last-child {
		width: 48.1541rem ;
		margin-right: -5.1947rem ;
	}
}

/* ------------------------------------------------------------
 challenge-others
------------------------------------------------------------ */
.challenge-others {
	position: relative;
	background-color: var(--color-challenge-gold);
	background-image: none;
	color: var(--color-white);
}

@media screen and (min-width: 1024px) {
	.challenge-others {
		padding-top: 8.2472rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-others {
		padding-top: 13.156rem ;
	}
}

.challenge-others::before {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	background-color: transparent;
	background-position: center top;
	background-repeat: no-repeat;
	pointer-events: none;
}

@media screen and (min-width: 1024px) {
	.challenge-others::before {
		top: -49.8664rem ;
		height: 49.8664rem ;
		background-image: url(../img/challenge/divider-others-pc.svg), linear-gradient(to bottom, transparent 16.1592rem, var(--color-challenge-gold) 16.1592rem);
		background-size: 100% 40.5083rem, 100% 100%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-others::before {
		top: -21.2111rem ;
		height: 21.2111rem ;
		background-image: url(../img/challenge/divider-others-sp.svg), linear-gradient(to bottom, transparent 8.03935rem, var(--color-challenge-gold) 8.03935rem);
		background-size: 100% 20rem, 100% 100%;
	}
}

.challenge-others .challenge-portrait__brush {
	background-image: url(../img/challenge/brush-red.svg);
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-portrait__brush {
		top: 10%;
		left: 10%;
		width: 87%;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-ring__number {
		font-size: var(--font-size61);
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-portrait__name {
		top: 62.75rem;
		bottom: auto;
		left: 31.8%;
		right: auto;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-interview {
		display: contents;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-others .challenge-interview {
		padding-top: 10rem ;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-interview:first-child .challenge-portrait {
		grid-column: 1;
		grid-row: 1;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-interview:first-child .challenge-interview__body {
		grid-row: 2;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-interview:last-child .challenge-portrait {
		grid-column: 2;
		grid-row: 1;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-interview:last-child .challenge-interview__body {
		grid-row: 3;
		padding-top: 10rem ;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-interview.-reverse .challenge-portrait__image {
		left: 20.773%;
		width: 65.893%;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-interview.-reverse .challenge-portrait__brush {
		background-image: url(../img/challenge/brush-red-reverse.svg);
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-interview.-reverse .challenge-portrait__ring {
		left: auto;
		right: 8.7%;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-portrait {
		width: 100%;
		height: 82rem ;
		margin-top: 6.8711rem ;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-portrait__image {
		left: 9.12%;
		width: 85.347%;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-portrait__ring {
		top: 0;
		left: auto;
		right: 8.7%;
		width: 31%;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-portrait__en {
		top: 48%;
		left: auto;
		right: 5%;
		color: var(--color-challenge-red);
		font-size: var(--font-size36);
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-interview__body {
		grid-column: 1 / -1;
		padding: 10.3rem 10rem 0 ;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others .challenge-interview__title {
		--line-height: 1.57692;
	}
}

.challenge-others__title {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	margin-inline: auto;
}

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

.challenge-others__title::before {
	margin-top: var(--font-sans-serif-top);
}

.challenge-others__title::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

@media screen and (min-width: 1024px) {
	.challenge-others__title {
		max-width: 104rem ;
		width: 62.014%;
		min-height: 23.3rem ;
		background-color: transparent;
		background-image: url(../img/challenge/brush-other.svg);
		background-size: 100% 100%;
		background-position: center;
		background-repeat: no-repeat;
		font-size: var(--font-size84);
		--line-height: 1.19048;
		letter-spacing: 0.06em;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-others__title {
		width: 92%;
		min-height: 9.2rem ;
		font-size: var(--font-size36);
		--line-height: 1.27778;
		letter-spacing: 0.06em;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-others__title::before {
		content: '';
		position: absolute;
		z-index: -1;
		left: 50%;
		top: -1.58rem ;
		width: 46.5106rem ;
		height: 11.6481rem ;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		background: url(../img/challenge/brush-other.svg) center/100% 100% no-repeat;
		pointer-events: none;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others__title > span + span {
		margin-top: 1.629rem;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-others__title > span + span {
		margin-top: 1.414rem;
	}
}

.challenge-others__interviews {
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-others__interviews {
		max-width: 150rem ;
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}

.challenge-others__pair {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	margin-inline: auto;
}

@media screen and (min-width: 1024px) {
	.challenge-others__pair {
		max-width: 150rem ;
		gap: 11.44rem ;
		padding-top: 6rem ;
		justify-content: center;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-others__pair {
		max-width: 80rem;
		gap: 2.7831rem ;
		padding-top: 7.5rem ;
		left: -0.1323rem ;
	}
}

@media print {
	.challenge-others__pair {
		display: none;
	}
}

.challenge-others__pair::before {
	content: '';
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 100vw;
	background-color: transparent;
	background-size: 100% 100%;
	background-position: center;
	background-repeat: no-repeat;
	pointer-events: none;
}

@media screen and (min-width: 1024px) {
	.challenge-others__pair::before {
		top: 25.2422rem ;
		height: 40.5083rem ;
		background-image: url(../img/challenge/divider-pair-pc.svg);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-others__pair::before {
		bottom: 0;
		margin-bottom: 3.90175%;
		aspect-ratio: 400 / 202.5415;
		background-image: url(../img/challenge/divider-pair-sp.svg);
	}
}

.challenge-others__pair img {
	position: relative;
	flex: none;
	max-height: none;
	-o-object-fit: contain;
	object-fit: contain;
	-o-object-position: bottom;
	object-position: bottom;
}

@media screen and (min-width: 1024px) {
	.challenge-others__pair img {
		left: -1.7714%;
		width: 28.96%;
	}
	.challenge-others__pair img[data-asset='pair-other-right'] {
		width: 24.127%;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-others__pair img {
		width: 100%;
		height: 100%;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-others__person {
		display: contents;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-others__person {
		flex: none;
		width: 54.2966%;
		max-width: 43.43728rem;
		aspect-ratio: 776 / 1123;
	}
	.challenge-others__person + .challenge-others__person {
		width: 45.2331%;
		max-width: 36.18648rem;
		aspect-ratio: 646 / 1123;
	}
}

/* ------------------------------------------------------------
 challenge-voices
------------------------------------------------------------ */
.challenge-voices {
	background-color: var(--color-challenge-gold);
	background-image: none;
	color: var(--color-white);
}

@media screen and (min-width: 1024px) {
	.challenge-voices {
		display: flex;
		min-height: 85rem;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voices {
		display: flex;
		flex-direction: column-reverse;
		min-height: 0;
	}
}

/* ------------------------------------------------------------
 challenge-voice
------------------------------------------------------------ */
.challenge-voice {
	position: relative;
	flex: 1;
	min-width: 0;
}

@media screen and (min-width: 1024px) {
	.challenge-voice {
		display: flex;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice {
		display: block;
	}
}

.challenge-voice:nth-child(2) {
	background-color: var(--color-challenge-red);
	background-image: none;
}

.challenge-voice:nth-child(2) .challenge-voice__en {
	color: var(--color-challenge-gold);
}

@media screen and (min-width: 1024px) {
	.challenge-voice .challenge-nameplate {
		margin-top: 8.3rem ;
		margin-left: 0.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice .challenge-nameplate {
		text-align: right;
		margin-top: var(--voice-name-gap, 4.9rem);
		margin-left: auto;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice .challenge-nameplate__job {
		font-size: var(--font-size10);
		margin-left: auto;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice .challenge-nameplate__name {
		font-size: var(--font-size13);
		margin-left: auto;
	}
}

.challenge-voice .challenge-nameplate__qualification {
	background-color: var(--color-challenge-gold);
	color: var(--color-challenge-red);
}

.challenge-voice__heading {
	flex: none;
	z-index: 1;
}

@media screen and (min-width: 1024px) {
	.challenge-voice__heading {
		width: 16.6rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice__heading {
		width: 100%;
	}
}

.challenge-voice__toggle {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	border: 0;
	background-color: transparent;
	background-image: none;
	color: inherit;
	font-family: var(--font-sans-serif2);
	--line-height: 1.2;
	cursor: pointer;
	transition: opacity var(--transition-hover);
}

@media (hover: hover) {
	.challenge-voice__toggle:hover:where(body[data-hover-enabled="true"] *, [data-hover-enabled="true"]) {
		opacity: var(--hover-opacity);
	}
}

@media (hover: hover) {
	.challenge-voice__toggle:hover:where(body[data-hover-enabled="true"] *, [data-hover-enabled="true"]) .challenge-voice__arrow::before {
		-webkit-transform: translateX(30%);
		transform: translateX(30%);
	}
}

@media screen and (min-width: 1024px) {
	.challenge-voice__toggle {
		flex-direction: column;
		justify-content: flex-start;
		-webkit-font-feature-settings: 'vpal' 1;
		font-feature-settings: 'vpal' 1;
		letter-spacing: -0.1em;
		gap: 4rem ;
		font-size: var(--font-size68);
		padding: 13.3rem 2rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice__toggle {
		flex-direction: row;
		justify-content: space-between;
		gap: 1rem;
		font-size: var(--font-size34);
		letter-spacing: -0.04em;
		padding: 1.05rem 2rem 1.05rem 4rem ;
	}
}

.challenge-voice__toggle > .challenge-text-crop-v {
	white-space: nowrap;
	text-orientation: upright;
}

@media screen and (min-width: 1024px) {
	.challenge-voice__toggle > .challenge-text-crop-v {
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice__toggle > .challenge-text-crop-v {
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
	}
}

.challenge-voice__arrow {
	display: grid;
	place-items: center;
	border-radius: 5rem;
	background-color: var(--color-white);
	background-image: none;
	color: var(--color-black);
}

@media screen and (min-width: 1024px) {
	.challenge-voice__arrow {
		position: absolute;
		bottom: 7.097rem ;
		width: 8rem ;
		height: 4rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice__arrow {
		flex: none;
		width: 4rem ;
		height: 2rem ;
	}
}

.challenge-voice__arrow::before {
	content: '';
	width: 37.2179%;
	height: 22.5976%;
	background: url(../img/challenge/arrow-voice.svg) center/contain no-repeat;
	transition: -webkit-transform var(--transition-hover);
	transition: transform var(--transition-hover);
	transition: transform var(--transition-hover), -webkit-transform var(--transition-hover);
}

.challenge-voice__panel,
.challenge-voice__clip {
	display: contents;
}

.challenge-voice__content {
	position: relative;
	flex: 1;
	min-width: 0;
}

@media screen and (min-width: 1024px) {
	.challenge-voice__content {
		padding: 8.5rem 8.5rem 7.5rem 5rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice__content {
		padding: 0.8rem 4rem 3.663rem ;
		padding-bottom: var(--voice-bottom, 3.663rem);
	}
}

@media screen and (min-width: 1024px) {
	.challenge-voice .challenge-nameplate__job > p {
		padding: 0.944rem 1.435rem 1.003rem 1.235rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice .challenge-nameplate__job > p {
		padding: 0.436rem 0.718rem 0.436rem 0.618rem ;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-voice .challenge-nameplate__name > span {
		padding: 1.22rem 1.314rem 1.137rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice .challenge-nameplate__name > span {
		padding: 0.61rem 0.657rem 0.569rem ;
	}
}

.challenge-voice__en {
	position: absolute;
	text-transform: uppercase;
	top: 10%;
	left: 2.8rem ;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	color: var(--color-challenge-red);
	font-family: var(--font-sans-serif);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-size: var(--font-size36);
	letter-spacing: 0.06em;
}

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

.challenge-voice__en::before {
	margin-top: var(--font-sans-serif-top);
}

.challenge-voice__en::after {
	margin-bottom: var(--font-sans-serif-bottom);
}

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

@media screen and (min-width: 1024px) {
	.challenge-voice__body {
		font-weight: 500;
		font-size: var(--font-size18);
		--line-height: 2.66667;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-voice__body {
		font-weight: 700;
		font-size: var(--font-size13);
		--line-height: 2.30769;
	}
}

@media screen and (min-width: 1024px) {
	.has-challenge-accordion .challenge-voice {
		flex: 0 0 11.06667%;
		transition: flex-basis var(--transition-challenge-picker);
		overflow: clip;
	}
}

@media screen and (max-width: 1023px) {
	.has-challenge-accordion .challenge-voice {
		display: block;
		flex: none;
	}
}

@media print {
	.has-challenge-accordion .challenge-voice {
		display: block;
	}
}

@media screen and (min-width: 1024px) {
	.has-challenge-accordion .challenge-voice:not(.is-open) .challenge-voice__heading {
		width: 100%;
	}
}

@media screen and (min-width: 1024px) {
	.has-challenge-accordion .challenge-voice:not(.is-open) .challenge-voice__content {
		visibility: hidden;
	}
}

@media print {
	.has-challenge-accordion .challenge-voice:not(.is-open) .challenge-voice__content {
		display: block;
		visibility: visible;
	}
}

@media screen and (min-width: 1024px) {
	.has-challenge-accordion .challenge-voice.is-open {
		flex-basis: 77.86667%;
	}
}

@media screen and (max-width: 1023px) {
	.has-challenge-accordion .challenge-voice.is-open .challenge-voice__panel {
		grid-template-rows: 1fr;
	}
}

.has-challenge-accordion .challenge-voice.is-open .challenge-voice__heading {
	top: 0;
	right: 0;
	height: 100%;
}

@media screen and (min-width: 1024px) {
	.has-challenge-accordion .challenge-voice.is-open .challenge-voice__heading {
		position: absolute;
		right: 8.5rem;
	}
}

@media screen and (max-width: 1023px) {
	.has-challenge-accordion .challenge-voice.is-open .challenge-voice__heading {
		position: static;
	}
}

@media print {
	.has-challenge-accordion .challenge-voice.is-open .challenge-voice__heading {
		position: static;
	}
}

@media screen and (max-width: 1023px) {
	.has-challenge-accordion .challenge-voice.is-open .challenge-voice__content {
		padding: 0.8rem 4rem 3.663rem ;
		padding-bottom: var(--voice-bottom, 3.663rem);
	}
}

.has-challenge-accordion .challenge-voice.is-open .challenge-voice__en {
	left: 6.5rem ;
}

@media screen and (min-width: 1024px) {
	.has-challenge-accordion .challenge-voice.is-open .challenge-voice__en {
		top: 13.88rem ;
	}
}

@media screen and (max-width: 1023px) {
	.has-challenge-accordion .challenge-voice.is-open .challenge-voice__toggle {
		padding-top: var(--voice-open-top, 2.1rem);
		padding-bottom: var(--voice-open-bottom, 1.9rem);
	}
}

.has-challenge-accordion .challenge-voice.is-open .challenge-voice__arrow {
	display: none;
}

@media screen and (max-width: 1023px) {
	.has-challenge-accordion .challenge-voice .challenge-voice__panel {
		display: grid;
		grid-template-rows: 0fr;
		transition: grid-template-rows var(--transition-challenge-picker);
		transition: grid-template-rows var(--transition-challenge-picker), -ms-grid-rows var(--transition-challenge-picker);
	}
}

@media print {
	.has-challenge-accordion .challenge-voice .challenge-voice__panel {
		display: contents;
	}
}

@media screen and (max-width: 1023px) {
	.has-challenge-accordion .challenge-voice .challenge-voice__clip {
		display: block;
		min-height: 0;
		overflow: hidden;
	}
}

@media print {
	.has-challenge-accordion .challenge-voice .challenge-voice__clip {
		display: contents;
	}
}

@media screen and (max-width: 1023px) {
	.has-challenge-accordion .challenge-voice .challenge-voice__toggle {
		transition: padding var(--transition-challenge-picker), opacity var(--transition-hover);
	}
}

@media screen and (min-width: 1024px) {
	.has-challenge-accordion .challenge-voice .challenge-voice__content {
		flex: none;
		width: 77.86667vw;
		padding: 13.88rem 29.7rem 7.5rem 23rem ;
	}
}

@media print {
	.has-challenge-accordion .challenge-voice .challenge-voice__content {
		display: block;
	}
}

#gistidar {
	--voice-open-bottom: 1.45rem;
	--voice-name-gap: 4.6rem;
	--voice-bottom: 4.112rem;
}

#nakamatsu {
	--voice-open-top: 1.05rem;
	--voice-open-bottom: 1.55rem;
	--voice-name-gap: 4rem;
	--voice-bottom: 3.268rem;
}

/* ------------------------------------------------------------
 challenge-closing
------------------------------------------------------------ */
.challenge-closing {
	position: relative;
	width: 100%;
	margin-inline: auto;
	overflow: hidden;
}

@media screen and (min-width: 1024px) {
	.challenge-closing {
		height: 77.0046rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-closing {
		max-width: 80rem;
		height: auto;
		aspect-ratio: 400 / 344.739;
	}
}

@media print {
	.challenge-closing {
		display: none;
	}
}

.challenge-closing img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

@media screen and (min-width: 1024px) {
	.challenge-closing img {
		height: 85rem ;
		-o-object-position: center top;
		object-position: center top;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-closing img {
		height: 100%;
		-o-object-position: center top;
		object-position: center top;
	}
}

@-webkit-keyframes challenge-turn {
	to {
		-webkit-transform: rotate(-360deg);
		transform: rotate(-360deg);
	}
}

@keyframes challenge-turn {
	to {
		-webkit-transform: rotate(-360deg);
		transform: rotate(-360deg);
	}
}

@-webkit-keyframes challenge-loop {
	to {
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
}

@keyframes challenge-loop {
	to {
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
}

@-webkit-keyframes challenge-float {
	0%,
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	50% {
		-webkit-transform: translateY(-1.8rem);
		transform: translateY(-1.8rem);
	}
}

@keyframes challenge-float {
	0%,
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	50% {
		-webkit-transform: translateY(-1.8rem);
		transform: translateY(-1.8rem);
	}
}

@-webkit-keyframes challenge-reveal {
	from {
		opacity: 0;
		-webkit-transform: translateY(3rem);
		transform: translateY(3rem);
	}
	to {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

@keyframes challenge-reveal {
	from {
		opacity: 0;
		-webkit-transform: translateY(3rem);
		transform: translateY(3rem);
	}
	to {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

@media screen and (min-width: 1024px) {
	#chapter-sea {
		padding-top: 1.54rem ;
	}
}

@media screen and (max-width: 1023px) {
	#chapter-sea {
		--chapter-people-overlap: -9.691406rem;
		--chapter-people-gap: 0.778467rem;
	}
}

@media screen and (max-width: 1023px) {
	#chapter-next {
		--chapter-people-overlap: -19.4rem;
		--chapter-people-gap: 13.525342rem;
	}
}

@media screen and (min-width: 1024px) {
	.challenge-chapter#chapter-home {
		margin-top: -0.865rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-chapter#chapter-home {
		margin-top: 0.7rem ;
		--chapter-people-overlap: -13.992383rem;
		--chapter-people-gap: 0.000000rem;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-next .challenge-chapter__copy {
		width: 33.0871%;
		margin-left: 33.4564%;
		margin-top: 8.4rem ;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-home .challenge-chapter__ja {
		margin-top: 11.1rem ;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-home .challenge-chapter__copy .-pc > p {
		white-space: nowrap;
	}
}

@media screen and (max-width: 1023px) {
	#chapter-home .challenge-chapter__copy {
		margin-top: 3.044rem ;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-home .challenge-chapter__title {
		margin-top: 5.4rem ;
	}
}

@media screen and (max-width: 1023px) {
	#chapter-home .challenge-chapter__title {
		font-size: var(--font-size50);
		--line-height: 1.3;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-home .challenge-chapter__title > span + span {
		margin-top: 1.82rem ;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-next .challenge-chapter__title {
		font-size: var(--font-size137);
		--line-height: 0.9635;
		margin-top: 5.86rem ;
	}
}

@media screen and (max-width: 1023px) {
	#chapter-next .challenge-chapter__title {
		font-size: var(--font-size50);
	}
}

@media screen and (min-width: 1024px) {
	#chapter-next .challenge-chapter__title > span + span {
		margin-top: -0.52rem ;
	}
}

@media screen and (max-width: 1023px) {
	#dhanny .challenge-interview__title > .challenge-text-crop-v > span {
		display: inline;
	}
}

@media screen and (max-width: 1023px) {
	.has-challenge-accordion .challenge-voices {
		display: flex;
		min-height: 0;
	}
}

@media print {
	.has-challenge-accordion .challenge-voices {
		display: block;
	}
}

/* 支給デザインの切り抜き形状。 */
.challenge-main img[data-asset="story-01"] {
	--cutout-mask: url(../img/challenge/story-01-mask.svg);
}

.challenge-main img[data-asset="story-02"] {
	--cutout-mask: url(../img/challenge/story-02-mask.svg);
}

.challenge-main img[data-asset="story-03"] {
	--cutout-mask: url(../img/challenge/story-03-mask.svg);
}

.challenge-main img[data-asset="story-04"] {
	--cutout-mask: url(../img/challenge/story-04-mask.svg);
}

.challenge-main img[data-asset="story-05"] {
	--cutout-mask: url(../img/challenge/story-05-mask.svg);
}

.challenge-main img[data-asset="story-07"] {
	--cutout-mask: url(../img/challenge/story-07-mask.svg);
}

.challenge-main img[data-asset="story-08"] {
	--cutout-mask: url(../img/challenge/story-08-mask.svg);
}

.challenge-main img[data-asset="pair-01-left"] {
	--cutout-mask: url(../img/challenge/pair-01-left-mask.svg);
}

.challenge-main img[data-asset="pair-01-right"] {
	--cutout-mask: url(../img/challenge/pair-01-right-mask.svg);
}

.challenge-main img[data-asset="pair-02-left"] {
	--cutout-mask: url(../img/challenge/pair-02-left-mask.svg);
}

.challenge-main img[data-asset="pair-02-right"] {
	--cutout-mask: url(../img/challenge/pair-02-right-mask.svg);
}

.challenge-main img[data-asset="pair-03-right"] {
	--cutout-mask: url(../img/challenge/pair-03-right-mask.svg);
}

.challenge-main img[data-asset="hero-float-left"] {
	--cutout-mask: url(../img/challenge/hero-float-left-mask.svg);
}

.challenge-main img[data-asset="hero-float-top"] {
	--cutout-mask: url(../img/challenge/hero-float-top-mask.svg);
}

.challenge-main img[data-asset="hero-float-bottom"] {
	--cutout-mask: url(../img/challenge/hero-float-bottom-mask.svg);
}

.challenge-main img[data-asset="foam"] {
	--cutout-mask: url(../img/challenge/foam-mask.svg);
}

@media screen and (min-width: 1024px) {
	#chapter-next .challenge-chapter__person.-left {
		--chapter-wave-top: 62.26rem;
		--chapter-wave-left: -18.41%;
		--chapter-wave-width: 135.45%;
		top: 73.21rem;
		bottom: auto;
		left: 1.76000%;
		right: auto;
		width: 30.60000%;
	}
}

@media screen and (max-width: 1023px) {
	#chapter-next .challenge-chapter__person.-left {
		margin-top: 0.889038%;
		--chapter-wave-overlap: -31.646558%;
		--chapter-wave-width: 135.385393%;
		margin-left: -17.7%;
		width: 57.4%;
		--chapter-wave-left: -18.41%;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-next .challenge-chapter__person.-right {
		--chapter-wave-top: 62.92rem;
		--chapter-wave-left: -30.02%;
		--chapter-wave-width: 155.66%;
		top: 72.33rem;
		bottom: auto;
		left: 70.90667%;
		right: auto;
		width: 26.62667%;
	}
}

@media screen and (max-width: 1023px) {
	#chapter-next .challenge-chapter__person.-right {
		margin-top: 0.000000%;
		--chapter-wave-overlap: -36.438468%;
		--chapter-wave-width: 155.417489%;
		margin-right: -19.2%;
		width: 50%;
		--chapter-wave-left: -30.02%;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-home .challenge-chapter__person.-left {
		--chapter-wave-top: 54.31rem;
		--chapter-wave-left: -29.88%;
		--chapter-wave-width: 150.17%;
		top: 82.66rem;
		bottom: auto;
		left: 4.61333%;
		right: auto;
		width: 27.60000%;
	}
}

@media screen and (max-width: 1023px) {
	#chapter-home .challenge-chapter__person.-left {
		margin-top: 6.666504%;
		--chapter-wave-overlap: -30.436282%;
		--chapter-wave-width: 150.162664%;
		margin-left: -16.2%;
		width: 51.75%;
		--chapter-wave-left: -29.88%;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-home .challenge-chapter__person.-right {
		--chapter-wave-top: 59.64rem;
		--chapter-wave-left: -21.116%;
		--chapter-wave-width: 146.35%;
		top: 78.07rem;
		bottom: auto;
		left: 70.60667%;
		right: auto;
		width: 28.32000%;
	}
}

@media screen and (max-width: 1023px) {
	#chapter-home .challenge-chapter__person.-right {
		margin-top: 0.000000%;
		--chapter-wave-overlap: -21.130223%;
		--chapter-wave-width: 146.351418%;
		margin-right: -18.2%;
		width: 53.1%;
		--chapter-wave-left: -21.116%;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-home .challenge-chapter__header {
		min-height: 164.29rem;
		padding-top: 14.7323rem ;
	}
}

/* ------------------------------------------------------------
 challenge-sea 画像レイヤー
------------------------------------------------------------ */
.challenge-sea__background {
	position: absolute;
	inset: 0 0 auto;
	z-index: -2;
}

@media screen and (min-width: 1024px) {
	.challenge-sea__background {
		height: 217.857rem;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-sea__background {
		height: calc(100% - 26.427rem);
	}
}

.challenge-sea__foam {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	z-index: 10;
	pointer-events: none;
	-webkit-mask-image: url(../img/challenge/foam-mask.svg);
	mask-image: url(../img/challenge/foam-mask.svg);
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

@media screen and (min-width: 1024px) {
	.challenge-sea__foam {
		height: 63.36rem ;
	}
}

@media screen and (max-width: 1023px) {
	.challenge-sea__foam {
		height: 40.55rem ;
		left: -46.725%;
		right: auto;
		width: 187.5%;
	}
}

.challenge-hero__at {
	font-size: .857142857em;
	display: inline-block;
	width: 1.68em;
}

@media screen and (min-width: 1024px) {
	.challenge-chapter__break {
		display: none;
	}
}

.challenge-portrait__edge {
	position: absolute;
	pointer-events: none;
}

@media screen and (min-width: 1024px) {
	.challenge-portrait__edge {
		left: var(--edge-left);
		top: var(--edge-top);
		width: var(--edge-width);
	}
}

@media screen and (max-width: 1023px) {
	.challenge-portrait__edge {
		position: relative;
		margin-left: var(--edge-sp-left, -5.573%);
		margin-top: var(--portrait-edge-overlap);
		width: 108.8%;
		max-width: 87.04rem;
	}
}

.challenge-portrait__edge img {
	width: 100%;
}

@media screen and (min-width: 1024px) {
	#chapter-sea .challenge-chapter__person.-left {
		--chapter-wave-top: 61.7rem;
		--chapter-wave-left: -23.64%;
		--chapter-wave-width: 148.45%;
		top: 75.28rem;
		bottom: auto;
		left: 2.45333%;
		right: auto;
		width: 27.92000%;
	}
}

@media screen and (max-width: 1023px) {
	#chapter-sea .challenge-chapter__person.-left {
		margin-top: 0.000000%;
		--chapter-wave-overlap: -30.946588%;
		--chapter-wave-width: 148.447820%;
		--chapter-wave-left: -23.66%;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-sea .challenge-chapter__person.-right {
		--chapter-wave-top: 61.05rem;
		--chapter-wave-left: -7.87%;
		--chapter-wave-width: 108.05%;
		top: 75.28rem;
		bottom: auto;
		left: 65.96667%;
		right: auto;
		width: 38.36000%;
	}
}

@media screen and (max-width: 1023px) {
	#chapter-sea .challenge-chapter__person.-right {
		margin-top: 0.001343%;
		--chapter-wave-overlap: -23.965162%;
		--chapter-wave-width: 107.929992%;
		--chapter-wave-left: -7.87%;
	}
}

#kamosawa {
	--interview-height: 181.32rem;
	--portrait-height: 83.0rem;
	--body-top: 12.1rem;
	--name-top: 65.33rem;
	--brush-sp-top: 12.680000%;
	--brush-sp-left: -32.03%;
	--edge-sp-left: -5.573%;
	--story-wave-top: 43.1rem;
	--story-wave-left: -26.46%;
	--story-wave-width: 145.87%;
	--edge-left: 17.30667%;
	--edge-top: 72.67rem;
	--edge-width: 58.02667%;
}

@media screen and (min-width: 1024px) {
	#kamosawa .challenge-portrait__image {
		left: 25.98000%;
		width: 54.78667%;
	}
}

@media screen and (min-width: 1024px) {
	#kamosawa .challenge-interview__photo {
		position: absolute;
		grid-area: auto;
		left: 9.5400%;
		width: 17.7600%;
		top: calc(var( --body-top ) + 2.4rem);
		margin: 0;
	}
}

@media screen and (max-width: 1023px) {
	#kamosawa {
		--portrait-edge-overlap: -5.824219%;
	}
}

#sueyoshi {
	--interview-height: 178.3rem;
	--portrait-height: 93.0rem;
	--body-top: 16.4rem;
	--name-top: 75.22rem;
	--story-wave-top: 57.63rem;
	--story-wave-left: 14.11%;
	--story-wave-width: 73.08%;
	--edge-left: 12.18667%;
	--edge-top: 80.96rem;
	--edge-width: 58.02667%;
}

@media screen and (min-width: 1024px) {
	#sueyoshi .challenge-portrait__image {
		left: 29.40667%;
		width: 44.06667%;
	}
}

@media screen and (min-width: 1024px) {
	#sueyoshi .challenge-interview__photo {
		position: absolute;
		grid-area: auto;
		left: 58.3533%;
		width: 40.6333%;
		top: calc(var( --body-top ) + 0.2rem);
		margin: 0;
	}
}

@media screen and (min-width: 1024px) {
	#sueyoshi .challenge-interview__copy {
		width: 72rem;
		padding-top: 10.7rem;
		--line-height: 2.55556;
	}
}

@media screen and (max-width: 1023px) {
	#sueyoshi {
		--portrait-edge-overlap: -8.847656%;
	}
}

#okada {
	--interview-height: 199.41rem;
	--portrait-height: 90.0rem;
	--body-top: 15.5rem;
	--name-top: 72.57rem;
	--brush-sp-top: 19.580000%;
	--brush-sp-left: -35.19%;
	--edge-sp-left: -8.734%;
	--story-wave-top: 54.31rem;
	--story-wave-left: -12.5%;
	--story-wave-width: 116.85%;
	--edge-left: 8.72667%;
	--edge-top: 79.46rem;
	--edge-width: 58.02667%;
}

@media screen and (min-width: 1024px) {
	#okada .challenge-portrait__image {
		left: 25.98000%;
		width: 54.78667%;
	}
}

@media screen and (min-width: 1024px) {
	#okada .challenge-interview__photo {
		position: absolute;
		grid-area: auto;
		left: 6.5867%;
		width: 23.1933%;
		top: calc(var( --body-top ) + -1.7rem);
		margin: 0;
	}
}

@media screen and (min-width: 1024px) {
	#okada .challenge-interview__copy {
		padding-top: 11.5rem;
	}
}

@media screen and (max-width: 1023px) {
	#okada {
		--portrait-edge-overlap: -4.988281%;
	}
}

#oshiro {
	--interview-height: 209.1rem;
	--portrait-height: 94.0rem;
	--body-top: 18.7rem;
	--name-top: 76.05rem;
	--story-wave-top: 49.36rem;
	--story-wave-left: -10.14%;
	--story-wave-width: 123.82%;
	--edge-left: 9.61333%;
	--edge-top: 80.90rem;
	--edge-width: 58.02667%;
}

@media screen and (min-width: 1024px) {
	#oshiro .challenge-portrait__image {
		left: 24.56000%;
		width: 52.38667%;
	}
}

@media screen and (min-width: 1024px) {
	#oshiro .challenge-interview__photo {
		position: absolute;
		grid-area: auto;
		left: 69.2867%;
		width: 21.8867%;
		top: calc(var( --body-top ) + 3.2rem);
		margin: 0;
	}
}

@media screen and (min-width: 1024px) {
	#oshiro .challenge-interview__copy {
		padding-top: 10.7rem;
	}
}

@media screen and (max-width: 1023px) {
	#oshiro {
		--portrait-edge-overlap: 8.738281%;
	}
}

#dhanny {
	--interview-height: 182.29rem;
	--portrait-height: 90.0rem;
	--body-top: 13.34rem;
	--name-top: 68.25rem;
	--brush-sp-top: 22.800000%;
	--brush-sp-left: -35.19%;
	--edge-sp-left: -8.734%;
	--story-wave-top: 52.24rem;
	--story-wave-left: 2.8%;
	--story-wave-width: 105.63%;
	--edge-left: 20.72000%;
	--edge-top: 75.97rem;
	--edge-width: 58.02667%;
}

@media screen and (min-width: 1024px) {
	#dhanny .challenge-portrait__image {
		left: 19.10667%;
		width: 57.20000%;
	}
}

@media screen and (min-width: 1024px) {
	#dhanny .challenge-interview__photo {
		position: absolute;
		grid-area: auto;
		left: 6.4533%;
		width: 24.5267%;
		top: calc(var( --body-top ) + 1.2rem);
		margin: 0;
	}
}

@media screen and (min-width: 1024px) {
	#dhanny .challenge-interview__copy {
		padding-top: 11.5rem;
	}
}

@media screen and (max-width: 1023px) {
	#dhanny {
		--portrait-edge-overlap: 3.898438%;
	}
}

#yuda {
	--interview-height: 194.58rem;
	--portrait-height: 95.0rem;
	--body-top: 21.74rem;
	--name-top: 75.12rem;
	--story-wave-top: 53.26rem;
	--story-wave-left: 10.02%;
	--story-wave-width: 98.52%;
	--edge-left: 11.95333%;
	--edge-top: 82.63rem;
	--edge-width: 54.38667%;
}

@media screen and (min-width: 1024px) {
	#yuda .challenge-portrait__image {
		left: 29.40000%;
		width: 44.06667%;
	}
}

@media screen and (min-width: 1024px) {
	#yuda .challenge-interview__photo {
		position: absolute;
		grid-area: auto;
		left: 68.22308%;
		width: 26.06474%;
		--yuda-photo-offset: 8.1092rem ;
		top: calc(var( --body-top ) + var( --yuda-photo-offset ));
		margin: 0;
	}
}

@media screen and (min-width: 1024px) {
	#yuda .challenge-interview__copy {
		padding-top: 11.1rem;
	}
}

@media screen and (max-width: 1023px) {
	#yuda {
		--portrait-edge-overlap: -8.785156%;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-sea .challenge-chapter__header {
		min-height: 162.4rem;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-next .challenge-chapter__header {
		min-height: 167.6rem;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-sea .challenge-chapter__badge {
		background-image: url(../img/challenge/brush-chapter-01.svg);
		background-size: 100% 100%;
		width: 50.877%;
		height: 24.024rem;
		margin-top: 2.6rem;
		margin-bottom: 4.7rem;
	}
}

@media screen and (min-width: 1024px) {
	#chapter-home .challenge-chapter__badge {
		background-image: url(../img/challenge/brush-chapter-03.svg);
		width: 46.3383%;
		height: 32.914rem ;
	}
}

#okuhama {
	--story-wave-top: 54.27rem;
	--story-wave-left: -6.65%;
	--story-wave-width: 132.24%;
	--edge-left: 6.693%;
	--edge-top: 71.5rem;
	--edge-width: 97.213%;
}

@media screen and (max-width: 1023px) {
	#okuhama .challenge-portrait__image {
		margin-left: 0.475%;
		width: 80.0125%;
	}
}

@media screen and (max-width: 1023px) {
	#okuhama .challenge-portrait__brush {
		margin-top: -6.660000%;
		left: 4.1%;
		width: 89.8156%;
		aspect-ratio: 359.2624 / 433.96;
		background-image: url(../img/challenge/brush-other-sp-01.svg);
		background-size: 100% 100%;
		background-position: center;
	}
}

@media screen and (max-width: 1023px) {
	#okuhama .challenge-portrait__edge {
		margin-left: -8.734%;
	}
}

@media screen and (max-width: 1023px) {
	#okuhama .challenge-portrait__name {
		left: 10%;
	}
}

@media screen and (min-width: 1024px) {
	#okuhama .challenge-interview__copy {
		width: 60rem;
		margin-left: 3.46rem;
		padding-top: 10.8rem;
		font-size: 1.6875rem ;
		--line-height: 2.66667;
	}
}

@media screen and (min-width: 1024px) {
	#okuhama .challenge-interview__photo {
		width: 33.68rem;
	}
}

@media screen and (max-width: 1023px) {
	#okuhama {
		--portrait-edge-overlap: -6.746094%;
	}
}

#mekaru {
	--story-wave-top: 51.69rem;
	--story-wave-left: -9.2%;
	--story-wave-width: 130.96%;
	--edge-left: -2.053%;
	--edge-top: 71.5rem;
	--edge-width: 97.213%;
}

@media screen and (max-width: 1023px) {
	#mekaru .challenge-portrait__image {
		margin-left: 25.4%;
		width: 61.78%;
	}
}

@media screen and (min-width: 1024px) {
	#mekaru .challenge-portrait__brush {
		top: 6.6535rem ;
		left: 3.90926%;
		width: 89.33183%;
		height: 78.5029rem ;
		clip-path: inset(0 0 9%);
	}
}

@media screen and (max-width: 1023px) {
	#mekaru .challenge-portrait__brush {
		clip-path: inset(0 0 9%);
		margin-top: 3.320000%;
		left: 5.484%;
		width: 89.71%;
		aspect-ratio: 358.84 / 414.84;
		background-image: url(../img/challenge/brush-other-sp-02.svg);
		background-size: 100% 100%;
		background-position: center;
	}
}

@media screen and (max-width: 1023px) {
	#mekaru .challenge-portrait__edge {
		margin-left: -5.573%;
	}
}

#mekaru .challenge-portrait__name {
	right: auto;
	text-align: left;
}

@media screen and (min-width: 1024px) {
	#mekaru .challenge-portrait__name {
		left: 20.8%;
	}
}

@media screen and (max-width: 1023px) {
	#mekaru .challenge-portrait__name {
		left: 25.4%;
	}
}

@media screen and (min-width: 1024px) {
	#mekaru .challenge-interview__copy {
		width: 64.9rem;
		margin-left: 6.53rem;
		padding-top: 11rem;
	}
}

@media screen and (min-width: 1024px) {
	#mekaru .challenge-interview__photo {
		width: 34.01rem;
		margin-top: -2.2rem;
	}
}

@media screen and (max-width: 1023px) {
	#mekaru {
		--portrait-edge-overlap: -7.425781%;
	}
}

@media screen and (max-width: 1023px) {
	#kamosawa .challenge-interview__title {
		margin-left: 1.2rem;
	}
}

@media screen and (max-width: 1023px) {
	#sueyoshi .challenge-interview__title {
		margin-left: 1.2rem;
	}
}

.challenge-voice__age {
	text-combine-upright: all;
}

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

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

.challenge-interview__quote-mark {
	position: relative;
}

.challenge-interview__quote-mark.-open {
	left: 1.17rem ;
	-webkit-margin-end: -1.54rem ;
	margin-inline-end: -1.54rem ;
}

.challenge-interview__quote-mark.-close {
	left: -1.23rem ;
	-webkit-margin-start: -0.45rem ;
	margin-inline-start: -0.45rem ;
}

/* 原稿の右側リンクはヒーロー内の位置に配置する。 */
.challenge-follow-nav {
	position: absolute;
}
