@charset "utf-8";

/**
 * MediaQuery について
 * default style (desktop/mobile 共通)
 * @media print, (min-width: 480px) {} mobile には適用したくない
 * @media print, (min-width: 768px) {} iPad 以上
 * @media print, (min-width: 1130px) {} ここから liquid
 * @media screen and (max-width: 767.98px) {} iPad には適用したくない
 * @media screen and (max-width: 479px) {} mobile だけ
 * MEMO: 
 * -------------------------------------------------- */


/**
 * Header
 * ---------------------------------------- */
.l-header {
	--sidegap: clamp(16px, 16vw / 3.75, 24px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 3;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: var(--headerHeight);
	padding-inline: var(--sidegap);
	letter-spacing: .08em;
	border-image: linear-gradient(to top, #fff0 10%, #fff4 40%, #fff8) 0 fill / 0 / 0 50vw;
}
.l-header .logo {
	--width: 176px;
}
@media screen and (max-width: 767.98px) {
	.l-header .logo {
		margin-top: .2em;
		--width: min(120vw / var(--ratio), 176px);
	}
}
.l-header .entry {
	display: flex;
	font: 600 clamp(.625rem, 11vw / 7.68, .8125rem) / 1 var(--fontEn); /* 13px */
	text-transform: uppercase;
}
.l-header .entry {
	column-gap: min(8vw / 3.75, .75rem);
	align-self: start;
	font-size: clamp(1rem, 16vw / 7.68, 1.3125rem); /* 21px */
}
.l-header .entry .link {
	display: flex;
	align-items: center;
	gap: 4px;
	height: 52px;
	padding: 0 1em .1em;
	border: 1px solid currentcolor;
	border-top: 0;
	border-radius: 0 0 5px 5px;
	color: var(--themecolor);
	white-space: nowrap;
	background: white;
}
.l-header .entry .link.is-comingsoon {
	pointer-events: none;
	color: #0004;
}
.l-header .entry .ja {
	font-size: 72%;
	font-family: var(--fontJa);
	font-weight: 500;
	letter-spacing: .05em;
}
@media print, (min-width: 1130px) {
	.l-header {
		gap: min(12vw / 7.68, 1.5rem);
		max-width: 1300px;
		margin-inline: auto;
	}
}
@media screen and (max-width: 1129.98px), (hover: none) {
	.l-header .entry {
		margin-right: 70px;
	}
}
@media screen and (max-width: 767.98px) {
	.l-header .entry {
		margin-right: min(40vw / 3.75, 50px);
	}
	.l-header .entry {
		font-size: clamp(.625rem, 12vw / 3.75, 1rem);
	}
	.l-header .entry .link {
		padding-inline: .8em;
	}
	.l-header .entry .link {
		flex-direction: column;
		justify-content: center;
		height: calc(var(--headerHeight) * .82);
	}
}


/**
 * Header Menu
 * ---------------------------------------- */
@media print, (min-width: 1130px) {
	.l-header .menu {
		display: flex;
		justify-content: end;
		flex-wrap: wrap;
		column-gap: 1.5rem;
		margin-left: auto;
		font: 600 clamp(.625rem, 11vw / 7.68, .8125rem) / 1 var(--fontEn); /* 13px */
		text-transform: uppercase;
	}
	.l-header .menu li {
		position: relative;
	}
	.l-header .menu .link {
		--barHeight: calc(100% - .5em);
		--barPosition: .3em;
		display: block;
		width: fit-content;
		padding: .5em;
		margin: 0 -.5em;
		white-space: nowrap;
		background: linear-gradient(var(--white), var(--white)) right top var(--barPosition) / 0 var(--barHeight) no-repeat;
	}
	.l-header .menu a[aria-current] {
		color: white;
		background-image: linear-gradient(var(--themecolor), var(--themecolor));
		background-position: left top var(--barPosition);
		background-size: 100% var(--barHeight);
	}
	.l-header .menu .link::before {
		content: "";
		position: absolute;
		inset: 0 0 -.5em;
	}
	.l-header .menu .child {
		position: absolute;
		top: calc(100% + .5em);
		left: 0;
		padding: 20px;
		border-radius: 5px;
		font: 400 .6875rem / 1 var(--fontJa);
		letter-spacing: 0;
		background: #fffffff2;
	}
	.l-header .menu .child > .label,
	.l-header .menu .child.-originality .label,
	.l-header .menu .child.-interview .label {
		color: var(--themecolor);
	}
	.l-header .menu .child a[aria-current] > .label,
	.l-header .menu .child.-originality a[aria-current] .label,
	.l-header .menu .child.-interview a[aria-current] .label {
		color: inherit;
	}
	.l-header .menu .is-comingsoon,
	.l-header .menu .child.-originality .is-comingsoon .label,
	.l-header .menu .child.-interview .is-comingsoon .label {
		color: #0004;
	}
	.l-header .menu .child > .label {
		font: 500 min(32vw / 11.3, 2rem) / 1 var(--fontCondensed);
		letter-spacing: .05em;
		white-space: nowrap;
		text-transform: uppercase;
	}
	.l-header .menu .child .list {
		display: flex;
		flex-direction: column;
		margin-top: .5em;
	}
	.l-header .menu .child .interview-1 { order: 1; }
	.l-header .menu .child .interview-2 { order: 2; }
	.l-header .menu .child .interview-3 { order: 3; }
	.l-header .menu .child .interview-4 { order: 4; }
	.l-header .menu .child .interview-5 { order: 5; }
	.l-header .menu .child .interview-6 { order: 6; }
	.l-header .menu .child .interview-7 { order: 7; }
	.l-header .menu .child .interview-8 { order: 8; }
	.l-header .menu .child .interview-9 { order: 9; }
	.l-header .menu .child .interview-10 { order: 10; }
	.l-header .menu .child .list .link {
		--barHeight: calc(100% - .4em);
		display: grid;
	}
	.l-header .menu .child.-originality .list .link {
		grid-template-columns: 8.5em auto;
	}
	.l-header .menu .child.-interview .list li[class^="interview"] .link {
		grid-template-columns: 7.5em 5.5em auto;
	}
}
@media print, (min-width: 1200px) {
	.l-header .menu {
		font-size: .875rem; /* 14px */
	}
}
@media (hover) {
	.l-header .menu a[href] {
		transition: background-size .6s cubic-bezier(.3,1,.7,1);
	}
	.l-header .menu a[href]:hover {
		background-position: left top var(--barPosition);
		background-size: 100% var(--barHeight);
		transition-duration: .2s;
	}
	.l-header .menu .child {
		--speed: .4s;
		pointer-events: none;
		opacity: 0;
		transform: translateY(-1em);
		visibility: hidden;
		transition-property: opacity, transform, visibility;
		transition-duration: var(--speed), var(--speed), 0s;
		transition-delay: 0s, 0s, var(--speed);
		transition-timing-function: ease, var(--easeOut), ease;
	}
	.l-header .menu li:hover .child,
	.l-header .menu .child:focus-within,
	.l-header .menu .link:focus-visible + .child {
		--speed: .1s;
		pointer-events: auto;
		opacity: 1;
		transform: none;
		visibility: visible;
		transition-delay: 0s;
	}
}
@media (hover: none) {
	.l-header .menu .child { display: none; }
}
@media screen and (max-width: 1129.98px), (hover: none) {
	.l-header .menu { display: none; }
}


/**
 * Navigation
 * ---------------------------------------- */
@media print, (min-width: 1130px) and (hover) {
	.l-header .nav, .nav_button { display: none; }
}
@media screen and (max-width: 1129.98px), (hover: none) {
	.l-header .nav {
		z-index: 1;
		position: fixed;
		inset: 0;
		overflow: hidden;
	}
	.nav_container {
		width: fit-content;
		max-width: calc(100% - var(--sidegap) * 3);
		height: 100%;
		margin-inline: auto;
		background: white;
		overflow: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		scrollbar-color: transparent;
	}
	.nav_container::-webkit-scrollbar {
		width: 0;
		height: 0;
	}
	.nav_container::-webkit-scrollbar-thumb,
	.nav_container::-webkit-scrollbar-track {
		background: transparent;
	}
	.nav_overlay {
		z-index: -1;
		position: absolute;
		inset: 0;
		background: #0004;
		backdrop-filter: blur(8px);
	}
	/* motion */
	.l-header .nav:not(.is-open) {
		pointer-events: none;
	}
	.nav_container {
		clip-path: inset(0);
	}
	.nav_container:not(.is-open) {
		clip-path: inset(0 50%);
	}
	.nav_overlay:not(.is-open) {
		opacity: 0;
	}
	.nav_container.is-anim {
		transition: clip-path .4s var(--easeOut);
	}
	.nav_overlay.is-anim {
		transition: opacity .4s;
	}
	
	/* :::::: Button :::::: */
	.nav_button {
		z-index: 2;
		pointer-events: auto;
		display: grid;
		grid-template-rows: 2fr 1fr;
		place-items: center;
		position: fixed;
		top: calc(var(--headerHeight) / 2 - 26px);
		right: var(--sidegap);
		width: 52px;
		height: 52px;
		color: inherit;
		font: 600 clamp(.625rem, 10vw / 3.75, .75rem) / 1 var(--fontEn);
		letter-spacing: 0;
		text-transform: uppercase;
	}
	.nav_button svg {
		grid-area: 1 / 1;
		overflow: visible;
		fill: none;
		stroke: currentcolor;
		stroke-width: clamp(2px, 3vw / 3.75, 4px);
		stroke-linecap: round;
		width: .1px;
		margin-top: 6px;
	}
	.nav_button .b1 {
		transform: translateY(clamp(-9px, -7vw / 3.75, -7px));
	}
	.nav_button .b3 {
		transform: translateY(clamp(7px, 7vw / 3.75, 9px));
	}
	/* motion */
	.nav_button.is-open .b1,
	.nav_button.is-open .b3 {
		width: 75%;
		stroke-width: 1;
	}
	.nav_button.is-open .b1 {
		transform: rotate(-30deg);
	}
	.nav_button.is-open .b2 {
		transform: scale(0);
	}
	.nav_button.is-open .b3 {
		transform: rotate(30deg);
	}
	.nav_button.is-anim svg {
		animation: barAnim2 .4s var(--easeOut);
		will-change: animation;
	}
	.nav_button.is-anim .b1 {
		animation-name: barAnim1;
	}
	.nav_button.is-anim .b3 {
		animation-name: barAnim3;
	}
	.nav_button.is-anim:not(.is-open) .b1,
	.nav_button.is-anim:not(.is-open) .b2,
	.nav_button.is-anim:not(.is-open) .b3 {
		animation-direction: reverse;
		animation-timing-function: var(--easeIn);
	}
	@keyframes barAnim1 {
		from { width: .1px; stroke-width: 4; transform: translateY(clamp(-9px, -7vw / 3.75, -7px)); }
		20% { width: .1px; stroke-width: 4; transform: none; }
		40%, 50% { width: 75%; stroke-width: 1; transform: none; }
		to { width: 75%; stroke-width: 1; transform: rotate(-30deg); }
	}
	@keyframes barAnim2 {
		from, 30% { transform: none; }
		50%, to { transform: scale(0); }
	}
	@keyframes barAnim3 {
		from { width: .1px; stroke-width: 4; transform: translateY(clamp(7px, 7vw / 3.75, 9px)); }
		20% { width: .1px; stroke-width: 4; transform: none; }
		40%, 50% { width: 75%; stroke-width: 1; transform: none; }
		to { width: 75%; stroke-width: 1; transform: rotate(30deg); }
	}
	
	/* :::::: Sitemap :::::: */
	.l-header .nav .sitemap_list {
		gap: 1em;
		max-width: 640px;
		height: fit-content;
		min-height: calc(100% + .25px);
		margin: 0 auto;
		padding: min(24vw / 3.75, 48px);
		font-size: min(11vw / 3.75, 1.25rem);
		text-align: left;
	}
	.l-header .nav .sitemap_list .link:not([aria-current="page"]) {
		background-image: linear-gradient(var(--white), var(--white));
	}
	.l-header .nav .sitemap_list > :first-child {
		margin-top: auto;
	}
	.l-header .nav .sitemap_list > :last-child {
		margin-bottom: auto;
	}
	.l-header .nav .sitemap_list > li > .link .label {
		font: 700 min(24vw / 3.75, 2rem) / 1.4 var(--fontCondensed);
	}
	.l-header .nav .sitemap_list > li > .link:not([aria-current="page"]) .label {
		color: var(--themecolor);
	}
	.l-header .nav .sitemap_list > li > .link.is-comingsoon .label {
		color: darkgray;
	}
	.l-header .nav .sitemap_list .parent {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	.l-header .nav .child_button {
		display: grid;
		place-items: center;
		width: 3em;
		height: 3em;
		border: 1px solid #646464;
		border-radius: 3em;
		color: var(--themecolor);
		background: white;
	}
	.l-header .nav .link.is-comingsoon + .child_button {
		pointer-events: none;
		color: darkgray;
	}
	.l-header .nav .child_button::before,
	.l-header .nav .child_button::after {
		content: "";
		grid-area: 1 / 1;
		width: 1.6em;
		border-top: 2px solid currentcolor;
	}
	.l-header .nav .sitemap_list .child {
		flex-basis: 100%;
		padding-left: .5em;
	}
	.l-header .nav .sitemap_list .child .link {
		display: flex;
		flex-wrap: wrap;
		column-gap: 1em;
		width: fit-content;
	}
	.l-header .nav .sitemap_list .child .link:focus-visible {
		outline-offset: -2px;
	}
	.l-header .nav .sitemap_list .child .link .label {
		flex-basis: 100%;
	}
	/* motion */
	.l-header .nav .sitemap_list .child {
		overflow: hidden;
		clip-path: inset(0);
	}
	.l-header .nav .child_button:not(.is-open)::after {
		transform: rotate(-90deg);
	}
	.l-header .nav .sitemap_list .child:not(.is-open) {
		height: 0;
	}
	.l-header .nav .child_button.is-anim::after {
		transition: transform .2s var(--easeOut);
	}
	.l-header .nav .sitemap_list .child.is-anim {
		transition: height .6s var(--easeOut);
		will-change: height;
		backface-visibility: hidden;
	}
	.l-header .nav .sitemap_list .child.is-anim.is-open {
		transition-duration: .4s;
		transition-timing-function: var(--easeInOut);
	}
}
@media (hover) {
	.nav_button {
		cursor: pointer;
	}
	.l-header .nav .child_button {
		cursor: pointer;
	}
}
@media screen and (max-width: 767.98px), (hover: none) {
	.nav_button {
		top: max(var(--headerHeight) / 2 - 21vw / 3.75, var(--headerHeight) / 2 - 26px);
		width: min(42vw / 3.75, 52px);
		height: min(42vw / 3.75, 52px);
		margin-right: calc(var(--sidegap) * -.5);
	}
	.l-header .nav .child_button::before,
	.l-header .nav .child_button::after {
		border-width: 1px;
	}
}


/**
 * Sitemap
 * ---------------------------------------- */
.sitemap_list {
	display: flex;
	flex-direction: column;
	max-width: 960px;
	margin: 48px auto 64px;
	font-size: min(10vw / 3.2, .6875rem);
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: uppercase;
}
.sitemap_list .link {
	--barHeight: calc(100% - .8em);
	--barPosition: .5em;
	display: inline-block;
	padding: .5em;
	padding-bottom: .4em;
	background: linear-gradient(white, white) right top var(--barPosition) / 0 var(--barHeight) no-repeat;
}
.sitemap_list .link[aria-current] {
	pointer-events: none;
	color: white;
	background-image: linear-gradient(var(--themecolor), var(--themecolor));
	background-position: left top var(--barPosition);
	background-size: 100% var(--barHeight);
}
.sitemap_list > li {
	position: relative;
}
.sitemap_list > li > .link {
	color: var(--themecolor);
}
.sitemap_list .link.is-comingsoon {
	color: darkgray;
}
.sitemap_list .child {
	display: flex;
	flex-direction: column;
	padding-left: 1em;
}
.sitemap_list .child .interview-1 { order: 1; }
.sitemap_list .child .interview-2 { order: 2; }
.sitemap_list .child .interview-3 { order: 3; }
.sitemap_list .child .interview-4 { order: 4; }
.sitemap_list .child .interview-5 { order: 5; }
.sitemap_list .child .interview-6 { order: 6; }
.sitemap_list .child .interview-7 { order: 7; }
.sitemap_list .child .interview-8 { order: 8; }
.sitemap_list .child .interview-9 { order: 9; }
.sitemap_list .child .interview-10 { order: 10; }
.sitemap_list .child span {
	white-space: nowrap;
}
@media (hover) {
	.sitemap_list .link[href] {
		transition: background-size .6s cubic-bezier(.3,1,.7,1);
	}
	.sitemap_list .link[href]:hover {
		background-position: left top var(--barPosition);
		background-size: 100% var(--barHeight);
		transition-duration: .2s;
	}
}


/**
 * Footer
 * ---------------------------------------- */
.l-footer {
	position: relative;
	width: var(--contentWidth);
	margin-inline: auto;
	padding-bottom: 24px;
	border-image: linear-gradient(#eaeaea, #eaeaea) 0 fill / 0 / 0 50vw;
}
.l-footer .footer_bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 75px;
	margin: 0 auto;
	color: white;
	line-height: 1;
	border-image: linear-gradient(#5a5a5a, #5a5a5a) 0 fill / 0 / 0 50vw;
}
.l-footer .logo {
	--width: min(144vw / var(--ratio), 198px);
}
.l-footer .sns {
	display: flex;
}
.l-footer .sns li {
	--space: 9px;
	margin-left: var(--space);
}
.l-footer .sns .x {
	margin-left: calc(var(--space) / 1.5);
}
.l-footer .sns .facebook {
	margin-left: calc(var(--space) / 3);
}
.l-footer .sns a {
	padding: 2px;
	color: white;
}
.l-footer .sns svg {
	width: min(24vw / 3.2, 27px);
	height: auto;
}

/* :::::: Sitemap :::::: */
.l-footer .sitemap_list {
	gap: 1.4em;
	position: relative;
}
@media print, (min-width: 768px) {
	.l-footer .sitemap_list {
		overflow: hidden;
		align-content: space-evenly;
		flex-wrap: wrap;
		max-height: 700px;
		padding-block: .5em;
	}
	.l-footer .sitemap_list > li {
		width: fit-content;
		padding-left: 1.5em;
	}
	.l-footer .sitemap_list > li::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: -2em;
		left: 0;
		border-left: 1px solid var(--themecolor);
	}
	.l-footer .sitemap_list .originality::before {
		bottom: -24em;
	}
	.l-footer .sitemap_list .interview::before {
		bottom: -2em;
	}
	.l-footer .sitemap_list .info::before {
		bottom: -36em;
	}
}
@media print, (min-width: 1130px) {
	.l-footer .sitemap_list {
		align-content: space-between;
		max-height: 400px;
	}
	.l-footer .sitemap_list .child .link:has(.subject, .name) {
		display: inline-grid;
		grid-auto-flow: column;
		column-gap: .5em;
	}
	.l-footer .sitemap_list .originality .child .link {
		grid-template-columns: 8.5em auto;
	}
	.l-footer .sitemap_list .interview .child .link {
		grid-template-columns: 7.5em 5.5em auto;
	}
}
@media screen and (max-width: 1129.98px) {
	.l-footer .sitemap_list .child .link:has(.subject, .name) {
		display: grid;
		column-gap: 1em;
		width: fit-content;
	}
}
@media screen and (max-width: 767.98px) {
	.l-footer .sitemap_list {
		width: fit-content;
	}
	.l-footer .sitemap_list .child .link:has(.subject, .name) {
		grid-template-columns: 8em auto;
	}
	.l-footer .sitemap_list .interview .child .link:has(.subject, .name) {
		grid-template-columns: 7.5em auto;
	}
	.l-footer .sitemap_list .child .part {
		display: none;
	}
}

/* :::::: Copyright :::::: */
.copyright {
	font: 500 .625rem / 1.4 var(--fontEn);
	letter-spacing: .1em;
	text-align: center;
}


/**
 * Contents
 * ---------------------------------------- */
.smooth-wrap {
	max-width: var(--viewWidth);
	overflow-x: hidden;
	container-type: inline-size;
}
.l-main {
	width: var(--contentWidth);
	/* min-height: calc(100vh - var(--sectionSpace) - var(--scrollHeight) - 75px); */
	margin: 0 auto;
	padding-top: var(--headerHeight);
}
:where(.l-main) > section {
	padding: var(--sectionSpace) 0;
}
section[id] {
	scroll-margin-top: var(--headerHeight);
}


/**
 * Loader
 * ---------------------------------------- */
.l-loader {
	pointer-events: none;
	display: grid;
	place-items: center;
	z-index: 3;
	position: fixed;
	inset: 0;
	background: white;
}
.l-loader:not(.is-splash).is-loaded {
	opacity: 0;
}
.l-loader:not(.is-splash).is-anim {
	transition: opacity .4s var(--easeOut);
}
.l-loader.is-splash {
	clip-path: polygon(0 0, 100% 0, 100% 120%, 0 100%);
}
.l-loader.is-splash.is-loaded {
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
.l-loader.is-splash.is-anim {
	transition: clip-path .8s var(--easeInOut);
}
.l-loader .loader .svg {
	width: 48px;
	height: 48px;
	fill: none;
	stroke: var(--themecolor);
	stroke-width: 10;
	stroke-linecap: round;
	stroke-dasharray: 230 230;
	animation: loader 1.3s infinite var(--easeInOut), loading .8s infinite linear;
}
@keyframes loader {
	from { stroke-dashoffset: 230; }
	to { stroke-dashoffset: -230; }
}
@keyframes loading {
	from { transform: none; }
	to { transform: rotate(360deg); }
}

/* motion */
.l-loader svg g path {
	clip-path: inset(0);
}
.l-loader svg:not(.is-motion) g path {
	clip-path: inset(100% 0 0);
}
.l-loader svg.is-motion g path {
	transition: clip-path .4s var(--easeOut);
}
.l-loader svg.is-motion g:first-child path:nth-child(2) { transition-delay: .15s; }
.l-loader svg.is-motion g:first-child path:nth-child(3) { transition-delay: .3s; }
.l-loader svg.is-motion g:last-child path {
	transition-delay: calc(.6s + .02s * var(--fact));
}
.l-loader svg.is-motion g:last-child path:nth-child(1) { --fact: 1; }
.l-loader svg.is-motion g:last-child path:nth-child(2) { --fact: 2; }
.l-loader svg.is-motion g:last-child path:nth-child(3) { --fact: 3; }
.l-loader svg.is-motion g:last-child path:nth-child(4) { --fact: 4; }
.l-loader svg.is-motion g:last-child path:nth-child(5) { --fact: 5; }
.l-loader svg.is-motion g:last-child path:nth-child(6) { --fact: 6; }
.l-loader svg.is-motion g:last-child path:nth-child(7) { --fact: 7; }
.l-loader svg.is-motion g:last-child path:nth-child(8) { --fact: 8; }
.l-loader svg.is-motion g:last-child path:nth-child(9) { --fact: 9; }



/**
 * Component
 * ---------------------------------------- */
.logo {
	width: fit-content;
	color: inherit;
	font: 700 clamp(.625rem, 11vw / 3.75, .8rem) / 1 var(--fontEn); /* 12.8px */
	text-transform: uppercase;
}
.logo a {
	display: flex;
	flex-direction: column;
	gap: .25em;
}
.logo .symbol {
	width: var(--width);
	height: auto;
}
.logo .recruit {
	padding-left: calc(var(--width) / 5.9);
}
.arr {
	overflow: visible;
}
.heading {
	font-size: min(24vw / 3.75, 2.25rem); /* 36px */
	line-height: 1.528;
}
.paragraph {
	font-size: min(14vw / 3.75, 1rem);
	line-break: strict;
	-webkit-hyphens: auto;
	hyphens: auto;
	text-align: justify;
}

/* :::::: More :::::: */
.more {
	display: inline-block;
	position: relative;
	width: min(96vw / 3.75, 6rem);
	font: 500 min(14vw / 3.75, .875rem) / 1.4 var(--fontCondensed); /* 14px */
	text-align: left;
	text-transform: uppercase;
}
.more .arr {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	fill: none;
	stroke: currentcolor;
	stroke-miterlimit: 10;
}
@media (hover) {
	.more .arr {
		transform-origin: left bottom;
		transition: transform .4s var(--easeOut);
	}
	.more:hover .arr,
	a:hover .more .arr {
		transform: scaleX(1.08);
		transition-duration: .2s;
	}
	@keyframes arr {
		from { stroke-dashoffset: 160px; }
		80%, to { stroke-dashoffset: 0; }
	}
}

/* :::::: Pagetop :::::: */
.scroll,
.pagetop {
	display: grid;
	width: 100%;
	height: var(--scrollHeight);
	color: var(--themecolor);
	font: 500 min(10vw / 3.75, 14px) / 2 var(--fontCondensed);
	writing-mode: vertical-rl;
}
.scroll {
	place-items: center;
}
.pagetop {
	margin-top: var(--sectionSpace);
}
.animBar {
	position: relative;
	overflow: hidden;
	height: 6em;
	width: 6em;
	padding: 0 2em;
}
.animBar::before,
.animBar::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 2em;
	height: 100%;
	border-left: 2px solid #cacaca;
}
.animBar::after {
	height: 1.5em;
	border-color: var(--themecolor);
}
.scroll .animBar::after {
	animation: scroll 2s var(--easeInOut) infinite;
}
@media (hover) {
	.pagetop .animBar::after {
		transform: translateY(100%);
	}
	.pagetop .animBar.is-hov::after {
		animation: pagetop 2s var(--easeInOut);
	}
}
@media (hover: none) {
	.pagetop .animBar::after {
		animation: pagetop 2s var(--easeInOut) infinite;
	}
}
@keyframes scroll {
	from { transform: translateY(-400%); }
	to { transform: translateY(100%); }
}
@keyframes pagetop {
	from { transform: translateY(100%); }
	to { transform: translateY(-400%); }
}


/**
 * Interview Lineup
 * -------------------------------------------------- */
.interview_lineup {
	--itemWidth: min(240vw / 3.75, 333px);
	margin: 0 var(--breakout);
}
.interview_lineup .splide__track {
	overflow: visible;
	width: var(--itemWidth);
	margin: 0 auto;
}
@media print, (min-width: 768px) {
	.interview_lineup .splide__track {
		width: calc(var(--itemWidth) * 2);
	}
}
.interview_lineup .splide__slide {
	max-width: var(--itemWidth);
	margin-right: min(4vw / 3.75, 8px);
}
.interview_lineup .link {
	display: grid;
	gap: .75rem;
}
.interview_lineup .link > * {
	grid-area: 1 / 1;
}
@media (hover) {
	.interview_lineup .image {
		--shift: -50%;
		position: relative;
	}
	.interview_lineup .image::before {
		content: "";
		position: absolute;
		inset: 0;
		background: #c7161dcc;
		backdrop-filter: blur(4px);
		visibility: hidden
	}
	.interview_lineup a[href].is-hov .image::before {
		animation: splitMask .6s var(--easeInOut);
		will-change: animation;
	}
	@keyframes splitMask {
		from { clip-path: polygon(0 0, 0 0, var(--shift) 100%, var(--shift) 100%); visibility: visible; }
		40% { clip-path: polygon(0 0, calc(100% - var(--shift)) 0, 100% 100%, var(--shift) 100%); animation-timing-function: cubic-bezier(.2,1,.8,1); }
		to { clip-path: polygon(calc(100% - var(--shift)) 0, calc(100% - var(--shift)) 0, 100% 100%, 100% 100%); visibility: visible; }
	}
}
.interview_lineup .subject {
	z-index: 1;
	display: inline-grid;
	grid-template-rows: repeat(3, 1fr);
	justify-items: start;
	gap: .25em;
	margin: auto 1em 1em;
	color: white;
	font-size: clamp(.625rem, 12vw / 3.75, 1rem); /* 16px */
	line-height: 1.4;
}
.interview_lineup .subject span {
	z-index: 0;
	position: relative;
	padding: 0 .75em .1em;
	white-space: nowrap;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
.interview_lineup .subject span::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0;
	background: #c7161dcc;
	transform: skew(-33deg);
}
@media screen and (max-width: 767.98px) {
	.interview_lineup .subject {
		margin-inline: .5em;
	}
}
.interview_lineup .data {
	grid-row: 2;
	color: white;
	white-space: nowrap;
}
.interview_lineup dt {
	display: flex;
	align-items: baseline;
	gap: .5em;
}
.interview_lineup .en {
	font: 500 italic min(18vw / 3.75, 1.5rem) / 1.2 var(--fontEn); /* 24px */
	text-transform: uppercase;
}
.interview_lineup dd {
	font-weight: 700;
	line-height: 1.4;
}
.interview_lineup .name {
	margin-top: .25em;
	font-size: clamp(.625rem, 12vw / 3.75, .8125rem); /* 13px */
}
.interview_lineup .part {
	margin-top: .5em;
	font-size: clamp(.625rem, 10vw / 3.75, .6875rem); /* 11px */
}
.interview_lineup .more {
	width: fit-content;
}
.interview_lineup .more::after {
	content: "";
	display: inline-block;
	width: .7em;
	margin: -.2em 0 0 .3em;
	border-top: 1px solid currentcolor;
	vertical-align: middle;
}
@media (hover) {
	.interview_lineup .more::after {
		transition: width .4s var(--easeOut);
	}
	.interview_lineup a:hover .more::after {
		width: 1.2em;
		transition-duration: .2s;
	}
}
@media screen and (max-width: 767.98px) {
	.interview_lineup .data {
		position: relative;
	}
	.interview_lineup .more {
		z-index: 1;
		position: absolute;
		top: 0;
		right: 1em;
	}
}
.interview_lineup .splide__arrows {
	display: flex;
	align-items: baseline;
	justify-content: center;
	z-index: 1;
	position: relative;
	bottom: max(-24vw / 3.75, -48px);
	color: white;
}
.interview_lineup .splide__arrow--index {
	position: relative;
	bottom: -17px;
	width: 7px;
	height: 7px;
	padding: 14px;
	box-sizing: content-box;
	background: currentcolor;
	background-clip: content-box;
}
.interview_lineup .splide__arrows .arr {
	fill: none;
	stroke: currentcolor;
}
.interview_lineup .splide__arrow--prev,
.interview_lineup .splide__arrow--next {
	color: inherit;
}
.interview_lineup .splide__arrow--prev {
	order: -1;
}
.interview_lineup .splide__arrow--prev .arr {
	transform: scaleX(-1);
}
@media (hover) {
	.interview_lineup .splide__arrow--prev,
	.interview_lineup .splide__arrow--next {
		cursor: pointer;
		transform-origin: right bottom;
		transition: transform .4s var(--easeOut);
	}
	.interview_lineup .splide__arrow--next {
		transform-origin: left bottom;
	}
	.interview_lineup .splide__arrow--prev:hover,
	.interview_lineup .splide__arrow--next:hover {
		transform: scaleX(1.08);
		transition-duration: .2s;
	}
}


/**
 * Modal
 * -------------------------------------------------- */
.l-modal {
	pointer-events: auto;
	display: grid;
	place-content: center;
	z-index: 3;
	position: fixed;
	inset: 0;
	background: #000a;
}
.l-modal .modal_container {
	display: grid;
	place-items: center;
	position: relative;
}
.l-modal .modal_container::before {
	content: "";
	aspect-ratio: 16 / 9;
	background: #fffa;
}
.l-modal .modal_container video,
.l-modal .modal_container::before {
	width: auto;
	max-width: min(var(--viewWidth), 1280px);
	height: auto;
	max-height: 100vh;
}
.l-modal .modal_container > *,
.l-modal .modal_container::before {
	grid-area: 1 / 1;
}
.l-modal .modal_close {
	display: grid;
	place-items: center;
	position: absolute;
	bottom: 16px;
	right: var(--sidefill);
	width: 48px;
	height: 48px;
}
.l-modal .modal_close .b {
	grid-area: 1 / 1;
	width: min(24vw / 3.75, 32px);
	fill: none;
	stroke: white;
	stroke-width: 2;
	stroke-linecap: round;
}
.l-modal .modal_close .b1 {
	transform: rotate(45deg);
}
.l-modal .modal_close .b2 {
	transform: rotate(-45deg);
}
.l-modal .modal_loader {
	width: 48px;
	height: 48px;
	border: 4px solid #fff4;
	border-radius: 48px;
	line-height: 0;
}
.l-modal:not(.is-loading) .modal_loader {
	opacity: 0;
	transform: scale(.8);
}
.l-modal:is(.is-loading, .is-active) .modal_loader {
	transition: opacity .4s, transform .4s var(--easeOut);
}
.l-modal .modal_loader .svg {
	width: calc(100% + 4px);
	height: auto;
	margin: -2px;
	overflow: visible;
	fill: none;
	stroke: var(--themecolor);
	stroke-width: 10;
	stroke-linecap: round;
	stroke-dasharray: 230 230;
}
.l-modal.is-loading .modal_loader .svg {
	animation: loader 1.4s infinite cubic-bezier(.4,0,.3,1), loading 1.2s infinite linear;
}
@media screen and (max-width: 767.98px) {
	.l-modal .modal_close .b {
		stroke-width: 1;
	}
}

/* motion */
.l-modal:not(.is-active, .is-loading) {
	opacity: 0;
	pointer-events: none;
}
.l-modal:not(.is-active, .is-loading) .modal_close,
.l-modal:not(.is-active, .is-loading) .modal_container {
	opacity: 0;
	transform: scale(.9);
}
.l-modal:not(.is-active, .is-loading) .modal_close {
	opacity: 0;
	transform: scale(.6);
}
.l-modal.is-anim {
	transition: opacity .4s;
}
.l-modal .modal_close.is-anim,
.l-modal .modal_container.is-anim {
	transition: opacity .4s, transform .4s var(--easeOut);
}
.l-modal:is(.is-loading, .is-active) .modal_close.is-anim,
.l-modal:is(.is-loading, .is-active) .modal_container.is-anim {
	transition-delay: .2s;
}
.l-modal:not(.is-loading, .is-active) .modal_close.is-anim,
.l-modal:not(.is-loading, .is-active) .modal_container.is-anim {
	transition-duration: .2s;
	transition-timing-function: var(--easeInOut);
}
.l-modal:not(.is-loading, .is-active).is-anim {
	transition-delay: .2s;
	transition-timing-function: var(--easeInOut);
}

@keyframes loader {
	from { stroke-dashoffset: 230; }
	to { stroke-dashoffset: -230; }
}
@keyframes loading {
	from { transform: none; }
	to { transform: rotate(360deg); }
}
@media (hover) {
	.l-modal .modal_close {
		cursor: pointer;
	}
}


/**
 * Dropdown
 * ---------------------------------------- */
.dropdown .dropdown-button {
	display: grid;
	place-items: center;
	width: 3em;
	height: 3em;
	border: 1px solid #646464;
	border-radius: 3em;
	background: white;
}
.dropdown .dropdown-button::before,
.dropdown .dropdown-button::after {
	content: "";
	grid-area: 1 / 1;
	width: 1.6em;
	border-top: 2px solid var(--themecolor);
}
.dropdown .dropdown-contents {
	overflow: hidden;
	clip-path: inset(0);
}
.dropdown .dropdown-contents .dropdown-button {
	font-size: min(15vw / 3.75, 1.875rem); /* 30px */
	margin: calc(var(--sectionSpace) / 2) auto 0
}
/* motion */
.dropdown .dropdown-button:not(.is-open)::after {
	transform: rotate(-90deg);
}
.dropdown .dropdown-contents:not(.is-open) {
	visibility: hidden;
	height: 0;
	margin-top: 0;
}
.dropdown .dropdown-button.is-anim::after {
	transition: transform .2s var(--easeOut);
}
.dropdown .dropdown-contents.is-anim {
	--duration: .6s;
	transition: height var(--duration), margin-top var(--duration), visibility 0s var(--duration);
	transition-timing-function: var(--easeOut), ease;
	will-change: height, margin-top;
	backface-visibility: hidden;
}
.dropdown .dropdown-contents.is-anim.is-open {
	transition-delay: 0s;
	transition-timing-function: var(--easeInOut), ease;
}
@media (hover) {
	.dropdown .dropdown-button {
		cursor: pointer;
	}
}
@media screen and (max-width: 767.98px) {
	.dropdown .dropdown-button::before,
	.dropdown .dropdown-button::after {
		border-width: 1px;
	}
}


/* :::::: Coming soon :::::: */
.is-comingsoon {
	pointer-events: none;
}
.is-comingsoon .more {
	display: none;
}
.interview_lineup .is-comingsoon .image,
.home_section.-originality.is-comingsoon,
.originality_lineup .is-comingsoon {
	position: relative;
}
.interview_lineup .is-comingsoon .subject span {
	opacity: .3;
}
.interview_lineup .is-comingsoon .subject span::before {
	background: var(--darkgray);
}
.is-comingsoon .home_section_title .lead,
.interview_lineup .is-comingsoon .data {
	color: #fff4;
}
.originality_lineup .label {
	z-index: 2;
}
.interview_index .link.is-comingsoon::after,
.interview_lineup .is-comingsoon .image::after,
.home_section.-originality.is-comingsoon::after,
.originality_lineup .is-comingsoon::after,
.info_lineup .is-comingsoon::after {
	content: "Coming soon";
	display: grid;
	place-items: center;
	z-index: 1;
	color: var(--themecolor);
	font-size: min(20vw / 3.75, 2rem);
	font-family: var(--fontCondensed);
	text-transform: uppercase;
}
.interview_index .link.is-comingsoon::after,
.interview_lineup .is-comingsoon .image::after {
	font-size: min(16vw / 3.75, 1.5rem);
}
.interview_index .link.is-comingsoon::after,
.interview_lineup .is-comingsoon .image::after,
.originality_lineup .is-comingsoon::after,
.info_lineup .is-comingsoon::after {
	background: #b4b4b4cc;
}
.home_section.-originality.is-comingsoon::after {
	z-index: 2;
	padding-bottom: 1.5em;
	border-image: linear-gradient(#b4b4b4cc, #b4b4b4cc) 0 fill / 0 / 0 50vw;
}
.interview_index .link.is-comingsoon::after {
	padding-bottom: min(118vw / 3.75, 134px);
}
.interview_index .link.is-comingsoon::after,
.interview_lineup .is-comingsoon .image::after,
.originality_lineup .is-comingsoon::after,
.home_section.-originality.is-comingsoon::after,
.info_lineup .is-comingsoon::after {
	position: absolute;
	inset: 0;
}


/**
 * Utility / Javascript
 * -------------------------------------------------- */
.visuallyhidden {
	position: absolute;
	top: 0;
	left: 0;
	clip: rect(0 0 0 0);
	overflow: hidden;
	width: 1px;
	height: 1px;
}

.is-modalopen {
	overflow: hidden;
}

.svg-writing svg {
	width: 100%;
	height: auto;
	fill: none;
	stroke: currentcolor;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.svg-writing:not(.is-active) {
	visibility: hidden;
}
.svg-writing.is-anim path {
	transition: stroke-dashoffset 0s var(--easeOut);
	will-change: stroke-dashoffset;
	backface-visibility: hidden;
}

:root {
	--black: #111;
	--darkgray: #3c3c3c;
	--white: #ebebeb;
	--themecolor: #c7161d;
	
	--easeIn: cubic-bezier(.2,0,.8,0);
	--easeOut: cubic-bezier(.2,1,.8,1);
	--easeInOut: cubic-bezier(.8,0,.2,1);
	
	--sectionSpace: min(40vw / 3.75, 80px);
	--headerHeight: clamp(64px, 48vw / 3.75, 80px);
	--scrollHeight: clamp(80px, 80vw / 3.75, 160px);
	
	--fontJa: 'Noto Sans JP', sans-serif;
	--fontEn: 'Barlow', sans-serif;
	--fontCondensed: 'Barlow Condensed', sans-serif;
	--fontSerif: 'Noto Serif JP', serif;
	
	--viewWidth: 100vw;
	--breakout: calc(50% - var(--viewWidth) * .5);
	--sidefill: min(var(--viewWidth) * .25 / 11.3, 25px); /* <- MEMO: 両脇の余白を埋めたい要素の左右にこのネガティブマージンを指定する */
	--contentWidth: min(100% - var(--viewWidth) * .5 / 11.3, 1130px); /* <- MEMO: main,footer 要素の横幅キメ */
}
@supports (width: 50cqi) {
	:root {
		--breakout: calc(50% - 50cqi);
		--sidefill: min(25cqi / 11.3, 25px);
		--contentWidth: min(100% - 50cqi / 11.3, 1130px);
	}
}
@media print, (min-width: 768px) {
	:root { --ratio: 7.68; }
	.md-only { display: none; }
}
@media screen and (max-width: 767.98px) {
	:root {
		--ratio: 3.75;
		--sidefill: calc(var(--viewWidth) * .12 / 3.75);
		--contentWidth: calc(100% - var(--viewWidth) * .24 / 3.75);
	}
	@supports (width: 50cqi) {
		:root {
			--sidefill: calc(12cqi / 3.75);
			--contentWidth: calc(100% - 24cqi / 3.75);
		}
	}
	.dt-only { display: none; }
}
body {
	color: var(--black);
	font: 400 1em / 2.0625 var(--fontJa);
	font-synthesis: none;
	font-feature-settings: "palt";
	letter-spacing: .05em;
	line-break: strict;
	background: white;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
*{letter-spacing:inherit;}
html{scroll-behavior:smooth;}
a{color:inherit;text-decoration:none;text-decoration-skip-ink:auto;}
:where(*,*::before,*::after){box-sizing:border-box;}
:where(ul,ol){list-style:none;padding:0;}
:where(img,svg,video,canvas,iframe){vertical-align:middle;}
:where(img[height],video[height],picture img){height:auto;}
:where(input,button,textarea,select,small){font:inherit;}
:where(body,h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd){margin:0;}
:where(img,picture,video,iframe){display:inline-block;max-width:100%;}
:where(button){-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:none;}
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}
