@charset "utf-8";

/**
 * 下層ページ (l-main直下の要素)
 * ---------------------------------------- */
.page_visual {
	z-index: 0;
	display: grid;
	height: min(var(--cw) * 780 / 1440, 100svh);
	background: #eaeaea;
}
.page_visual.-overlay {
	color: white;
}
.page_visual.-overlay::after {
	content: "";
	grid-area: 1 / 1;
	display: block;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: #0004;
}
.page_visual > * {
	grid-area: 1 / 1;
}
.page_visual > .label {
	z-index: 2;
	place-self: start;
	width: max(var(--cw) * 240 / 1440, 184px);
	margin-top: calc(var(--cw) * 48 / 1440);
	margin-left: calc(var(--cw) * 56 / 1440);
	fill: currentcolor;
}
.page_visual > .label a {
	fill: inherit;
}
.page_visual > .label svg {
	width: 100%;
	height: auto;
}
.page_visual .title {
	z-index: 2;
	align-self: end;
	position: relative;
	width: calc(100% - var(--sidegap) * 2);
	margin: 0 auto calc(var(--cw) * 64 / var(--aspect));
	padding: 0 0 .25em .5em;
	color: inherit;
	font-weight: 700;
	--fontBasis: 64;
	font-size: var(--fontLiquid);
	line-height: 1.5;
	font-family: var(--fontJa);
}
.page_visual .title .label {
	display: block;
	color: var(--themecolor);
	--fontBasis: 24;
	font-size: var(--fontLiquid);
}
.page_visual .title .main {
	display: block;
}
.page_visual .title .sub {
	display: block;
	width: fit-content;
	font-size: max(48%, .625rem);
	letter-spacing: .06em;
	text-transform: uppercase;
}
.page_visual .title .num {
	position: relative;
	top: .025em;
	font-size: 120%;
	font-family: var(--font);
	line-height: 1;
}
.page_visual .bg {
	overflow: hidden;
}
.page_visual .bg,
.page_visual .bg picture,
.page_visual .bg img,
.page_visual .bg video {
	width: 100%;
	height: inherit;
}
.page_visual .bg img,
.page_visual .bg video {
	object-fit: cover;
}
@media screen and (max-width: 767.98px) {
	.page_visual {
		height: calc(var(--cw) * 480 / var(--aspect));
	}
	.page_visual .title {
		--fontBasis: 31;
		margin-bottom: calc(var(--cw) * 32 / var(--aspect));
	}
	.page_visual .title .label {
		--fontBasis: 13;
	}
	.page_visual > .label {
		width: min(var(--cw) * 184 / var(--aspect), 184px);
	}
}
/* deco */
.page_visual .title {
	--h: 120;
	--w: 240;
}
.page_visual .title .d-yarrow {
	--size: max(var(--cw) * var(--h) / var(--aspect), var(--h) * .5px);
	bottom: 0;
	left: 0;
	height: var(--size);
}
.page_visual .title .d-xline {
	bottom: -1px;
	left: max(var(--cw) * -16 / var(--aspect), -16px);
	width: max(var(--cw) * var(--w) / var(--aspect), var(--w) * .84px);
}
.page_visual .title .arrow {
	fill: currentcolor;
}
.page_visual .title .stroke {
	stroke: currentcolor;
	clip-path: none;
}
.page_visual .title .size {
	color: currentcolor;
}
@media screen and (max-width: 767.98px) {
	.page_visual .title .d-yarrow {
		height: calc(var(--cw) * var(--h) * .6 / var(--aspect));
	}
	.page_visual .title .d-xline {
		left: calc(var(--cw) * -8 / var(--aspect));
		width: calc(var(--cw) * var(--w) * .6 / var(--aspect));
	}
}
/* motion */
.page_visual .title .decorative .d-xline {
	clip-path: inset(0);
}
.page_visual .title .decorative.is-standby .d-xline {
	clip-path: inset(0 100% 0 0);
}
.page_visual .title .decorative.is-standby .d-yarrow .stroke {
	scale: 1 0;
}
.page_visual .title .decorative.is-standby .d-yarrow .arrow:where(.-start) {
	opacity: 0;
	translate: 0 calc(var(--size) * .5);
}
.page_visual .title .decorative.is-standby .d-yarrow .arrow:where(.-end) {
	opacity: 0;
	translate: 0 calc(var(--size) * -.5);
}
.page_visual .title .decorative.is-standby .d-yarrow .size {
	opacity: 0;
	translate: 1em 0;
}
.page_visual .title .decorative.is-motion .d-xline {
	transition: clip-path .8s .2s var(--easeOut);
}
.page_visual .title .decorative.is-motion .d-yarrow .stroke {
	transition: scale .8s .25s var(--easeOut);
}
.page_visual .title .decorative.is-motion .d-yarrow .arrow {
	transition: opacity .8s .2s, translate .8s .15s var(--easeOut);
}
.page_visual .title .decorative.is-motion .d-xline {
	transition-delay: 0s;
}
.page_visual .title .decorative.is-motion .d-yarrow .size {
	transition: opacity .8s .3s var(--easeInOut), translate .8s .3s var(--easeInOut);
}
/* 文字 animation (stroke は transition) */
.page_visual .title .c {
	display: inline-block;
	-webkit-text-stroke: 1px #0000;
}
:where(.page_visual .title) .c {
	margin-right: -.1em;
	padding-right: .1em;
}
.page_visual.-overlay .title .c {
	-webkit-text-stroke-color: #fff0;
}
.page_visual .title .c.blank {
	width: .25em;
}
.page_visual .title.is-standby .c {
	opacity: 0;
	-webkit-text-stroke: 1px black;
}
.page_visual.-overlay .title.is-standby .c {
	-webkit-text-stroke-color: white;
}
.page_visual .title.is-anim .c {
	transition: -webkit-text-stroke-color 1.2s calc(var(--delay) + .5s) var(--easeOut);
	animation: appearCharBlack 1.2s var(--delay) var(--easeOut) both;
}
.page_visual.-overlay .title.is-anim .c {
	animation-name: appearCharWhite;
}
@keyframes appearCharBlack {
	from { opacity: 0; color: #0000; translate: 0 1em; clip-path: polygon(0 0, 100% 0, 100% -25%, 0 0); }
	30% { opacity: 1; color: #0000; }
	50% { translate: 0; }
	70% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
	to { opacity: 1; color: black; translate: 0; }
}
@keyframes appearCharWhite {
	from { opacity: 0; color: #fff0; translate: 0 1em; clip-path: polygon(0 0, 100% 0, 100% -25%, 0 0); }
	30% { opacity: 1; color: #fff0; }
	50% { translate: 0; }
	70% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
	to { opacity: 1; color: white; translate: 0; }
}

/* :::::: パンくずリスト :::::: */
.page_crumb {
	display: flex;
	flex-wrap: wrap;
	width: min(100% - var(--sidegap) * 2, 1200px);
	margin: 2em auto 0;
	--fontBasis: 13;
	font-size: var(--fontSize);
	line-height: 1.5;
}
.page_crumb li:nth-child(n+2)::before {
	content: "/";
	margin-inline: .5em;
	color: black;
}
.page_crumb .chapter {
	padding: .5em 0;
	color: var(--themecolor);
}
.page_crumb a {
	padding: .5em 0;
	color: var(--themecolor);
}
.page_crumb li:first-child a {
	padding-left: 0;
}
.page_crumb a[aria-current="page"] {
	pointer-events: none;
	color: inherit;
}
@media screen and (max-width: 767.98px) {
	.page_crumb {
		--fontBasis: 10;
	}
}

/* :::::: 冒頭文 :::::: */
.page_lead {
	--padding: min(var(--cw) * 40 / var(--aspect), 40px);
	position: relative;
	width: min(var(--cw) * 780 / 1440, 780px);
	margin: 0 auto;
	padding: var(--padding);
}
.page_lead[id] {
	scroll-margin-top: min(var(--cw) * 24 / 375, 80px);
}
:where(.l-main) > .page_lead {
	margin-top: var(--sectionSpace);
}
.page_lead .c-subject {
	text-align: center;
}
.page_lead .c-paragraph {
	--fontBasis: 18;
	--fontMin: .6875rem;
}
:where(.page_lead .c-subject) + .c-paragraph {
	margin-top: 1.5em;
}
@media screen and (max-width: 767.98px) {
	.page_lead {
		--padding: min(var(--cw) * 24 / var(--aspect));
		width: calc(100% - var(--sidegap) * 2);
	}
	.page_lead .c-paragraph {
		--fontBasis: 14;
		--fontMin: .6125rem;
	}
	.page_section .page_lead {
		width: 100%;
	}
}
/* Decorative */
.page_lead .decorative {
	z-index: -1;
}
.page_lead .decorative .d-yarrow {
	right: calc(var(--sidegap) * -.25);
	bottom: 0;
	height: calc(100% - var(--padding));
}
.page_lead .decorative .d-xline {
	inset: 0 auto auto calc(var(--sidegap) * -1);
	width: 80%;
}
.page_lead .decorative .d-xline + .d-xline {
	inset: auto calc(var(--sidegap) * -1) 0 auto;
}
.page_lead .decorative .d-sector {
	width: min(var(--cw) * 100 / var(--aspect), 100px);
	right: 100%;
	z-index: -1;
	fill: var(--themecolor);
}
.page_lead .decorative .d-sector svg {
	width: 100%;
	height: auto;
}
/* variation */
.decorative.-v1 .d-sector svg { rotate: 90deg; }
.decorative.-v2 .d-sector svg { rotate: 180deg; }
.decorative.-v3 .d-sector svg { rotate: 270deg; }
.decorative.-v4 .d-sector svg { scale: 1 -1; }
.decorative.-v5 .d-sector svg { scale: -1 1; }
@media print, (min-width: 768px) {
	.page_lead .decorative .d-sector {
		top: -8%;
	}
}
@media screen and (max-width: 767.98px) {
	.page_lead .decorative .d-sector {
		width: calc(var(--cw) * 48 / var(--aspect));
		right: calc(100% - var(--sidegap));
		bottom: calc(100% - 1em);
	}
}

/* :::::: ページタブ :::::: */
.page_tabs {
	display: flex;
	justify-content: center;
	gap: 1em;
	margin-top: var(--sectionSpace);
}
.page_tabs .c-tab {
	padding: .5em 1.25em;
	font-weight: 400;
	--fontBasis: 28;
	font-size: var(--fontSize);
	letter-spacing: .1em;
}
.page_tabs .c-tab::after {
	content: "";
	position: absolute;
	inset: auto 50% -4px;
	height: .1em;
	background: var(--dashedX);
	background-position: center bottom;
}
.page_tabs + .l-main_part {
	margin-top: calc(var(--sectionSpace) * 1.5);
}
@media (hover) {
	.page_tabs .c-tab::after {
		transition: inset .4s var(--easeOut);
	}
	.page_tabs .c-tab:hover::after {
		inset: auto 1em -4px;
		transition-duration: .2s;
	}
}
.page_tabs .c-tab.is-active::after {
	inset: auto 0 -4px;
}
@media screen and (max-width: 767.98px) {
	.page_tabs .c-tab {
		--fontBasis: 18;
	}
}

/* :::::: 汎用セクション :::::: */
.page_section {
	--maxWidth: 1200px;
	display: grid;
	width: min(var(--cw) - var(--sidegap) * 2, var(--maxWidth));
	margin: var(--sectionSpace) auto 0;
}
.page_section[id] {
	scroll-margin-top: min(var(--cw) * 24 / 375, 80px);
}
.page_interlude {
	margin: min(var(--cw) * 104 / var(--aspect), 104px) 0;
}
.page_interlude * {
	border-radius: inherit;
}
.page_interlude.js-parallax,
.page_interlude .js-parallax {
	overflow: hidden;
}
.page_interlude .image .shadow {
	--cast: calc(var(--sidegap) * .3);
	z-index: -1;
	position: absolute;
	inset: var(--cast) calc(var(--cast) * -1) calc(var(--cast) * -1) var(--cast);
	border-radius: inherit;
	background: var(--bgGrid);
	translate: 0 calc(var(--y) * .64px - 32px);
}
@media screen and (max-width: 767.98px) {
	.page_section {
		width: min(100% - var(--sidegap) * 2, var(--maxWidth));
	}
	.page_interlude {
		margin: calc(var(--cw) * 64 / var(--aspect)) 0;
	}
	.page_interlude img {
		min-height: 60vw;
		object-fit: cover;
	}
	.page_interlude .image .shadow {
		--cast: calc(var(--sidegap) * .6);
	}
}

/* :::::: 汎用イメージ :::::: */
.image {
	position: relative;
}
.image img {
	border-radius: inherit;
	object-fit: cover;
}
.image .note {
	position: absolute;
	right: 1em;
	bottom: .5em;
	font-size: .625rem;
	line-height: 1.2;
}
.image .ribbon {
	position: absolute;
	top: -.5em;
	left: min(var(--cw) * 24 / 1440, 24px);
	padding: 1.5em 1em 2em;
	color: white;
	font: 300 .8125rem / 1 var(--font);
	--fontBasis: 13;
	font-size: var(--fontSize);
	letter-spacing: .2em;
	writing-mode: vertical-rl;
	background: var(--themecolor);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - .75em), 0 100%);
}
.image .ribbon[data-tag="architecture"] { background: var(--tagblue); } /* 設計 */
.image .ribbon[data-tag="agriculture"] { background: var(--taggreen); } /* 農園 */
.image .ribbon[data-tag="education"] { background: var(--tagorange); }  /* 教育 */
.image .ribbon[data-tag="network"] { background: var(--taggray); }      /* 宅配 */
.image .ribbon[data-tag="management"] { color: black; background: var(--tagsilver); } /* 経営 */

/* 線の影 */
.image.-lineshadow {
	--shadow: min(var(--cw) * 8 / var(--aspect), 8px);
	position: relative;
	border-radius: var(--radius) 0;
}
.image.-lineshadow::after {
	content: "";
	position: absolute;
	inset: var(--shadow) calc(var(--shadow) * -1) calc(var(--shadow) * -1) var(--shadow);
	border-right: calc(var(--strokeWidth) * 2) solid currentcolor;
	border-bottom: calc(var(--strokeWidth) * 2) solid currentcolor;
	border-radius: 0 0 calc(var(--radius) + var(--shadow)) 0;
}
@media screen and (max-width: 767.98px) {
	.image.-lineshadow {
		--shadow: calc(var(--cw) * 4 / var(--aspect));
	}
}










/**
 * 数字で見る
 * ---------------------------------------- */
.fact_block {
	--numSize: 200;
	display: grid;
	grid-auto-flow: dense;
	position: relative;
	margin-top: min(var(--cw) * 24 / var(--aspect), 24px);
	padding: min(var(--cw) * 40 / var(--aspect), 40px);
	padding-top: min(var(--cw) * 56 / var(--aspect), 56px);
	padding-bottom: min(var(--cw) * 32 / var(--aspect), 32px);
	border-radius: var(--radius);
	background: var(--bgGrid);
}
@media screen and (max-width: 767.98px) {
	.fact_block {
		justify-items: center;
		margin-top: calc(var(--cw) * 24 / var(--aspect));
		padding: calc(var(--cw) * 24 / var(--aspect));
		padding-top: calc(var(--cw) * 40 / var(--aspect));
	}
}

/* :::::: 項目名 :::::: */
.fact_block > .title {
	--shadow: 2.5px;
	z-index: 0;
	position: absolute;
	inset: auto 1em calc(100% - 1.2em);
	width: fit-content;
	padding: .5em 1.2em .5em 1.5em;
	border-radius: 3em;
	color: white;
	font-weight: 700;
	--fontBasis: 25;
	--fontMin: .9375rem;
	font-size: var(--fontSize);
	line-height: 1.2;
	background: var(--themecolor);
}
.fact_block > .title::before,
.fact_block > .title::after {
	content: "";
	position: absolute;
	pointer-events: none;
}
.fact_block > .title::before {
	z-index: -1;
	inset: calc(var(--shadow) * -1);
	border: 1px solid black;
	border-top: 0;
	border-left: 0;
	border-radius: inherit;
	clip-path: inset(50% 0 0 1em);
}
.fact_block > .title::after {
	top: calc(100% - 1px);
	left: calc(50% - .25em);
	width: .5em;
	height: .5em;
	background: var(--themecolor);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media print, (min-width: 768px) {
	.fact_block > .title {
		letter-spacing: .2em;
		white-space: nowrap;
	}
}
@media screen and (max-width: 767.98px) {
	.fact_block > .title {
		--fontBasis: 15;
		--fontMin: .625rem;
		font-size: var(--fontSize);
	}
}

/* :::::: 数字 :::::: */
.fact_block .data {
	display: inline-flex;
	align-items: baseline;
	color: var(--themecolor);
	line-height: 1;
	white-space: nowrap;
}
.fact_block .data .num,
.fact_block .value .num {
	--strokeWidth: min(.0125em, 1px);
	margin-top: -.1em;
	color: #0000;
	font-weight: 600;
	--fontBasis: var(--numSize);
	--fontMin: 1rem;
	font-size: var(--fontSize);
	font-family: var(--fontNum);
	letter-spacing: .02em;
	text-shadow: -.025em -.025em 0 var(--themecolor);
	-webkit-text-stroke: var(--strokeWidth) black;
}
.fact_block .data .num .s {
	font-size: 75%;
}
.fact_block .data .unit {
	position: relative;
	top: -.1em;
	font-weight: 700;
	--fontBasis: 40;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
.fact_block .data .unit.-p {
	--fontBasis: 44;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
@media screen and (max-width: 767.98px) {
	.fact_block .data .num,
	.fact_block .value .num {
		--fontBasis: calc(var(--numSize) * .58);
	}
	.fact_block .data .unit {
		--fontBasis: 18;
		--fontMin: .6875rem;
	}
	.fact_block .data .unit.-p {
		--fontBasis: 20;
		--fontMin: .75rem;
	}
}

/* :::::: 他社 :::::: */
.fact_block .other {
	padding-left: 1em;
	font-weight: 500;
	--fontBasis: 18;
	--fontMin: .6875rem;
	font-size: var(--fontSize);
	line-height: 1.5;
	text-indent: -1em;
}
.fact_block .other .num {
	font-size: 112%;
}
@media screen and (max-width: 767.98px) {
	.fact_block .other {
		--fontBasis: 14;
		--fontMin: .625rem;
	}
}

/* :::::: ひとまとまり :::::: */
.fact_block .data_wrap {
	display: grid;
	width: fit-content;
}
.fact_block .data_wrap .label {
	font-weight: 500;
	--fontBasis: 20;
	--fontMin: .75rem;
	font-size: var(--fontSize);
}
.fact_block .data_wrap .note {
	--fontBasis: 14;
	font-size: var(--fontSize);
}
@media screen and (max-width: 767.98px) {
	.fact_block .data_wrap .label {
		--fontBasis: 14;
		--fontMin: .625rem;
	}
}

/* :::::: 円グラフ :::::: */
.circle-graph {
	--g1:20;--g2:40;--g3:60;--g4:80;
	--size: min(var(--cw) * 400 / var(--aspect), 400px);
	position: relative;
	width: var(--size);
	height: var(--size);
	border-radius: 50%;
}
.circle-graph .item {
	--numSize: 55;
	position: absolute;
	font-weight: 500;
	--fontBasis: 32;
	--fontMin: 1rem;
	font-size: var(--fontSize);
	line-height: 1;
}
.circle-graph .item .name {
	--fontBasis: 24;
	--fontMin: .8125rem;
	font-size: var(--fontSize);
}
.circle-graph .name .unit {
	font-size: var(--fontSize);
}
.circle-graph .item.-i1,
.circle-graph .item.-i2 {
	color: white;
}
.circle-graph .item.-i1 .num,
.circle-graph .item.-i2 .num {
	text-shadow: -.025em -.025em 0 white;
}
.circle-graph .item:nth-child(1) { --numSize: 100; }
.circle-graph .item:nth-child(2) { --numSize: 85; }
.circle-graph .item:nth-child(3) { --numSize: 70; }
.circle-graph[data-length="2"] {
	background: conic-gradient(
		#ff5028 0turn, #ff5028 calc(var(--g1) * .01turn),
		#ff7c5e calc(var(--g1) * .01turn), #ff7c5e 1turn
	);
}
.circle-graph[data-length="3"] {
	background: conic-gradient(
		#ff5028 0turn, #ff5028 calc(var(--g1) * .01turn),
		#ff7c5e calc(var(--g1) * .01turn), #ff7c5e calc(var(--g2) * .01turn),
		#ffa793 calc(var(--g2) * .01turn), #ffa793 1turn
	);
}
.circle-graph[data-length="4"] {
	background: conic-gradient(
		#ff5028 0turn, #ff5028 calc(var(--g1) * .01turn),
		#ff7c5e calc(var(--g1) * .01turn), #ff7c5e calc(var(--g2) * .01turn),
		#ffa793 calc(var(--g2) * .01turn), #ffa793 calc(var(--g3) * .01turn),
		#ffd3c9 calc(var(--g3) * .01turn), #ffd3c9 1turn
	);
}
.circle-graph[data-length="5"] {
	background: conic-gradient(
		#ff5028 0turn, #ff5028 calc(var(--g1) * .01turn),
		#ff7c5e calc(var(--g1) * .01turn), #ff7c5e calc(var(--g2) * .01turn),
		#ffa793 calc(var(--g2) * .01turn), #ffa793 calc(var(--g3) * .01turn),
		#ffd3c9 calc(var(--g3) * .01turn), #ffd3c9 calc(var(--g4) * .01turn),
		#ffede9 calc(var(--g4) * .01turn), #ffede9 1turn
	);
}
@media screen and (max-width: 767.98px) {
	.circle-graph {
		--size: min(var(--cw) * 240 / var(--aspect));
	}
	.circle-graph .item {
		--numSize: 75;
		--fontBasis: 20;
		--fontMin: .75rem;
	}
	.circle-graph .item:nth-child(1) { --numSize: 150; }
	.circle-graph .item:nth-child(2) { --numSize: 125; }
	.circle-graph .item:nth-child(3) { --numSize: 100; }
	.circle-graph .item .name {
		--fontBasis: 16;
		--fontMin: .625rem;
	}
	.circle-graph .name .unit {
		--fontBasis: 10;
		--fontMin: .5625rem;
	}
}

/**
 * 追求課題
 * ---------------------------------------- */





/**
 * 類人図鑑一覧
 * -------------------------------------------------- */
.people_lineup {
	display: grid;
	position: relative;
	padding: 80px 0;
}
.people_lineup::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0 var(--breakout);
	background: var(--bgGrid);
}
.people_lineup .people_item {
	display: grid;
	row-gap: 0;
	position: relative;
}
.people_lineup .people_item .image {
	order: -1;
}
.people_lineup .people_item .wrap {
	display: block;
	border-radius: inherit;
}
.people_lineup .people_item .lead {
	margin-top: .75em;
	margin-right: -1em;
	--fontBasis: 24;
	--fontMin: .8125rem;
	line-height: 1.5;
	font-size: var(--fontSize);
	word-break: auto-phrase;
}
.people_lineup .people_item .lead a::after {
	content: "";
	z-index: 1;
	position: absolute;
	inset: 0;
}
.people_lineup .people_item .part {
	margin-top: .25em;
	font-weight: 600;
	--fontBasis: 18;
	--fontMin: .75rem;
	font-size: var(--fontSize);
}
.people_lineup .people_item .part .num {
	font-size: 108%;
}
.people_lineup .people_item .name {
	display: flex;
	align-items: baseline;
	column-gap: .5em;
	font-weight: 500;
	--fontBasis: 20;
	--fontMin: .75rem;
	font-size: var(--fontSize);
	line-height: 1.4;
}
.people_lineup .people_item .name .en {
	font-size: max(70%, .625rem);
	font-family: var(--fontEn);
	letter-spacing: .06em;
}
.people_lineup .people_item .hashtag {
	order: 1;
	display: flex;
	flex-wrap: wrap;
	margin-top: .25em;
	column-gap: .5em;
	color: gray;
	--fontBasis: 16;
	--fontMin: .5625rem;
	font-size: var(--fontSize);
	line-height: 1.75;
}
.people_lineup .people_item .hashtag > *::before {
	content: "#";
}
.people_lineup .people_item .hashtag .category {
	display: none;
}
@media (hover) {
	.people_lineup .people_item .wrap {
		overflow: hidden;
	}
	.people_lineup .people_item .wrap img {
		transition: transform 1.2s var(--easeOut);
	}
	.people_lineup .people_item:hover .wrap img,
	.people_lineup .people_item:has(.link:hover) .wrap img {
		transform: scale(1.1);
		transition-duration: .4s;
	}
}
@media print, (min-width: 768px) {
	.people_lineup {
		grid-template-columns: repeat(3, 1fr);
		row-gap: min(var(--cw) * 72 / var(--aspect), 72px);
		column-gap: min(var(--cw) * 120 / var(--aspect), 120px);
	}
	.people_lineup .people_item {
		/* grid-template-rows: subgrid;
		grid-row: span 4; */
		align-content: start;
	}
}
@media screen and (max-width: 767.98px) {
	.people_lineup {
		gap: calc(var(--cw) * 40 / var(--aspect));
		width: min(100%, 615px);
		margin: 0 auto;
		padding: calc(var(--cw) * 48 / var(--aspect)) 0;
	}
	.people_lineup .people_item .image .ribbon {
		left: calc(var(--cw) * 16 / var(--aspect));
		--fontBasis: 10;
	}
	.people_lineup .people_item .lead {
		--fontBasis: 18;
		--fontMin: .75rem;
	}
	.people_lineup .people_item .part,
	.people_lineup .people_item .name {
		--fontBasis: 14;
		--fontMin: .625rem;
	}
	.people_lineup .people_item .hashtag {
		--fontBasis: 13;
		--fontMin: .625rem;
	}
}

/* :::::: for Splide :::::: */
.people_lineup.splide {
	display: block;
}
.people_lineup.splide .people_item {
	align-content: start;
	max-width: min(var(--cw) * 320 / var(--aspect), 320px);
}
.people_lineup.splide .people_item .image {
	order: -1;
	margin-top: 0;
}
.people_lineup.splide .splide__track {
	overflow: visible;
}
@media screen and (max-width: 767.98px) {
	.people_lineup.splide .people_item {
		max-width: min(var(--cw) * 240 / var(--aspect), 480px);
	}
}

/**
 * 類友トーク一覧
 * -------------------------------------------------- */
.talk_lineup {
	display: grid;
	row-gap: calc(var(--cw) * 40 / var(--aspect));
	position: relative;
	padding: 80px 0;
}
.talk_lineup::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0 var(--breakout);
	background: var(--bgGrid);
}
.talk_lineup .talk_item .link {
	display: grid;
}
.talk_lineup .talk_item .link > .label {
	width: fit-content;
	margin-bottom: .6em;
	padding-bottom: .1em;
	color: var(--themecolor);
	font-weight: 700;
	--fontBasis: 29;
	font-size: var(--fontSize);
	background: var(--dashedX);
}
.talk_lineup .talk_item .subject {
	--fontBasis: 30;
	font-size: var(--fontSize);
}
@media print, (min-width: 768px) {
	#cross-talk .people_section {
		width: min(var(--cw) * 1000 / var(--aspect), 1000px);
	}
	.talk_lineup {
		row-gap: min(var(--cw) * 56 / var(--aspect), 56px);
	}
	.talk_lineup .talk_item {
		grid-template-columns: auto 1fr;
		align-content: end;
		column-gap: min(var(--cw) * 56 / var(--aspect), 56px);
	}
	.talk_lineup .talk_item .link > .label {
		grid-area: 1 / 1 / 2 / 3;
	}
	.talk_lineup .talk_item .subject {
		grid-area: 2 / 2;
		align-self: end;
	}
	.talk_lineup .talk_item .c-button {
		grid-area: 3 / 2;
		align-self: end;
	}
	.talk_lineup .talk_item .image {
		grid-area: 2 / 1 / 4 / 2;
		width: min(var(--cw) * 548 / var(--aspect), 548px);
	}
}
@media screen and (max-width: 767.98px) {
	.talk_lineup .talk_item .link > .label {
		--fontBasis: 16;
	}
	.talk_lineup .talk_item .subject {
		margin-top: .5em;
		--fontBasis: 24;
		line-height: 1.5;
	}
	.talk_lineup .talk_item .c-button {
		margin-top: .75em;
	}
}

/**
 * 働く環境一覧
 * -------------------------------------------------- */
.environment_list {
	display: grid;
	gap: clamp(24px, var(--cw) * 80 / var(--aspect), 80px);
	margin-top: clamp(48px, var(--cw) * 96 / var(--aspect), 96px);
}
.environment_list li a,
.environment_list .icon {
	display: grid;
	justify-items: center;
}
.environment_list .icon {
	row-gap: .5em;
	position: relative;
	width: 100%;
	padding: .5em;
	padding-top: clamp(24px, var(--cw) * 56 / 1440, 56px);
	padding-bottom: clamp(48px, var(--cw) * 80 / 1440, 80px);
	color: var(--themecolor);
	font-weight: 700;
	--fontBasis: 36;
	--fontMin: 1rem;
	font-size: var(--fontSize);
	line-height: 1.2;
}
.environment_list .rect {
	pointer-events: none;
	position: absolute;
	inset: 0;
	overflow: visible;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: black;
	stroke-width: var(--strokeWidth);
}
.environment_list .c-button {
	z-index: 1;
	margin-top: -2em;
}
@media print, (min-width: 768px) {
	.environment_list {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media screen and (max-width: 767.98px) {
	.environment_list {
		justify-content: center;
		margin: calc(var(--cw) * 24 / var(--aspect)) calc(var(--sidegap) * -1) 0;
	}
	.environment_list li a {
		width: calc(var(--cw) * 256 / var(--aspect));
	}
	.environment_list .icon {
		--fontBasis: 20;
		--fontMin: .75rem;
	}
	.environment_list .icon img {
		width: 100%;
	}
}

/**
 * インタビュー
 * -------------------------------------------------- */
.interview_section {
	--maxWidth: 1260px;
	position: relative;
}
.interview_section::before {
	content: "";
	z-index: -1;
	position: absolute;
	border-radius: 0 var(--radius) 0 0;
	translate: 0 calc(80px - 160px * var(--progress));
}
.interview_section .c-subject {
	padding-bottom: 1em;
	background: var(--dashedX);
}
.interview_section .c-subject::after {
	content: "";
	position: absolute;
	inset: 0 40% auto;
	height: 3.2em;
	background: var(--dashedX);
}
.interview_section .c-subject.js-progress::after {
	clip-path: inset(0 0 0 calc(var(--p) * 100%));
}
.interview_section + .interview_section .c-subject.js-progress::after {
	clip-path: inset(0 calc(var(--p) * 100%) 0 0);
}
.interview_section .c-subject :where([role="presentation"]) {
	position: relative;
}
.interview_section .c-subject :where([role="presentation"]) .sector {
	position: absolute;
	left: 0;
	bottom: calc(100% + .5em);
	width: 3em;
	height: auto;
	fill: var(--themecolor);
}
.interview_section .c-paragraph p + p {
	margin-top: 1em;
}
@media print, (min-width: 768px) {
	.interview_section {
		grid-template-columns: auto 1fr;
		column-gap: min(var(--cw) * 80 / var(--aspect), 80px);
		row-gap: min(var(--cw) * 40 / var(--aspect), 40px);
	}
	.interview_section > * {
		grid-column: 2;
	}
	.interview_section .image {
		grid-column: 1;
		align-self: start;
	}
	.interview_section + .interview_section {
		grid-template-columns: 1fr auto;
	}
	.interview_section + .interview_section > * {
		grid-column: 1;
	}
	.interview_section + .interview_section .image {
		grid-column: 2;
	}
	.interview_section .c-subject {
		white-space: nowrap;
	}
	.interview_section .c-paragraph {
		--fontBasis: 18;
		--fontMin: .625rem;
	}
	.interview_section .image {
		grid-row: 1 / 5;
		width: min(var(--cw) * 680 / var(--aspect), 680px);
	}
}
@media screen and (max-width: 767.98px) {
	.interview_section .image {
		order: -1;
	}
	.interview_section .c-subject {
		position: relative;
		margin-top: .5em;
		padding-top: 1em;
		--fontBasis: 20;
		--fontMin: .75rem;
	}
	.interview_section .c-subject::after {
		top: -1em;
		background-position: left top;
	}
	.interview_section .image {
		margin-top: 1em;
	}
	.interview_section .image img {
		max-height: 100vw;
	}
	.interview_section .c-paragraph p:first-child {
		margin-top: 1.5em;
	}
}

/* :::::: People number :::::: */
.people_numbering {
	display: grid;
	--fontBasis: 20;
	--fontMin: .75rem;
	font: 400 var(--fontSize) / 1.75 var(--fontEn);
	line-height: 1.2;
	text-align: center;
	transform-origin: right bottom;
	scale: .8 1;
}
.people_numbering > * {
	letter-spacing: .1em;
}
.people_numbering .num {
	color: var(--themecolor);
	font-size: 200%;
}
.people_numbering .num svg {
	width: min(var(--cw) * 70 / var(--aspect), 70px);
	height: auto;
	scale: 1.25 1;
}
.people_numbering .en {
	text-transform: uppercase;
}
@media screen and (max-width: 767.98px) {
	.people_numbering {
		--fontBasis: 14;
		--fontMin: .625rem;
	}
	.people_numbering .num svg {
		width: calc(var(--cw) * 48 / var(--aspect));
	}
}

/* :::::: Pulldown :::::: */
.js-pulldown {
	position: relative;
	padding-bottom: max(.75em * 4.5, .625rem * 4.5);
}
.js-pulldown .pull_content {
	overflow: hidden;
	mask: linear-gradient(to bottom, #000 50%, #0000);
	mask-size: 100% 100%;
}
.js-pulldown .pull_toggle {
	position: absolute;
	inset: auto 0 2em;
	margin-inline: auto;
	padding: 1em 2em;
	font-size: max(.75em, .625rem);
	background: var(--themecolor);
}
.js-pulldown .pull_content.is-motion {
	transition: height .6s var(--easeOut), mask-size .2s;
}
.js-pulldown .pull_content.is-open {
	mask-size: 100% 200%;
	transition-duration: .6s, .4s;
	transition-delay: 0s, .2s;
}
.image.js-parallax {
	overflow: hidden;
}

/**
 * 募集職種
 * -------------------------------------------------- */
.work_list {
	display: grid;
	gap: 1em;
	margin-top: min(var(--cw) * 40 / var(--aspect), 40px);
	padding: min(var(--cw) * 40 / var(--aspect), 40px);
	border-radius: 0 var(--radius);
	--fontBasis: 24;
	--fontMin: 1rem;
	font-size: var(--fontSize);
	background: var(--bgGrid);
}
.work_list .item {
	display: grid;
	gap: 1em;
	grid-auto-flow: dense;
	grid-template-columns: auto auto;
	align-content: center;
	justify-content: start;
	line-height: 1.5;
}
.work_list .icon {
	width: 5em;
	height: auto;
	border-radius: 100px;
	background: white;
}
.work_list dl {
	grid-column: 2;
	display: grid;
	align-content: center;
}
.work_list dt {
	font-weight: 500;
}
.work_list dt small {
	font-weight: 400;
	font-size: max(80%, .625rem);
}
.work_list .item dd {
	margin-top: .5em;
	--fontBasis: 18;
	--fontMin: .6875rem;
	font-size: var(--fontSize);
}
@media print, (min-width: 768px) {
	.work_list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 767.98px) {
	.work_list {
		margin-top: calc(var(--cw) * 24 / var(--aspect));
		padding: calc(var(--cw) * 24 / var(--aspect));
		--fontBasis: 14;
		--fontMin: .625rem;
	}
	.work_list .item dd {
		--fontBasis: 12;
	}
}

/* :::::: 選考フロー :::::: */
.flow_list {
	display: grid;
	grid-template-columns: repeat(var(--col), 1fr);
	column-gap: min(var(--cw) * var(--gap) / 1440, var(--gap) * 1px);
}
.flow_list .item {
	flex-grow: 1;
	justify-self: center;
	display: grid;
	align-content: start;
	justify-items: center;
	position: relative;
}
.flow_list .item[data-step]::before {
	content: "Step" attr(data-step);
	z-index: 1;
	position: absolute;
	top: -.5em;
	margin-inline: auto;
	padding: .25em 1.25em;
	border-radius: 3em;
	color: white;
	text-transform: uppercase;
	background: var(--themecolor);
}
.flow_list .item:first-child b {
	background: gray;
}
.flow_list .item b {
	display: grid;
	aspect-ratio: 1 / 1;
	place-items: center;
	position: relative;
	width: min(var(--cw) * var(--size) / var(--aspect), var(--max) * 1px);
	height: auto;
	border-radius: 50%;
}
.flow_list .item:nth-child(n+2) b::before {
	content: "";
	z-index: -1;
	position: absolute;
	top: calc(50% - 1px);
	right: 100%;
	width: 2em;
	border-top: 2px dotted gray;
}
.flow_list .item b {
	border-color: var(--themecolor);
	color: white;
	background: var(--themecolor);
}
.flow_list .item[data-step] b {
	border: 1px dotted gray;
	color: black;
	background: white;
}
@media screen and (max-width: 767.98px) {
	.flow_list {
		column-gap: calc(var(--cw) * var(--gap) / var(--aspect));
	}
	.flow_list .item b {
		--fontBasis: 16;
		--fontMin: .75rem;
	}
	.flow_list .item b {
		width: calc(var(--cw) * var(--size) / var(--aspect));
		height: calc(var(--cw) * var(--size) / var(--aspect));
	}
	.flow_list .item:nth-child(n+2) b::before {
		width: calc(var(--cw) * var(--gap) / var(--aspect));
	}
	.flow_list .item .list {
		--fontBasis: 14;
		--fontMin: .625rem;
	}
	.flow_list_container {
		width: var(--cw);
		margin-inline: calc(var(--sidegap) * -1);
		padding-bottom: max(var(--cw) * 16 / var(--aspect), 16px);
		padding-inline: var(--sidegap);
	}
	.flow_list_container .item:last-child {
		padding-right: var(--sidegap);
	}
}

/* :::::: 要項 :::::: */
.info_list {
	display: grid;
	margin-top: min(var(--cw) * 40 / var(--aspect), 40px);
	--fontBasis: 18;
	--fontMin: .6875rem;
	font-size: var(--fontSize);
}
.info_list .item {
	padding-inline: 1em;
}
.info_list .item:not(:first-child) {
	padding-top: 1em;
	background: var(--dashedX);
	background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="1" viewBox="0 0 100 1" preserveAspectRatio="meet" style="fill:none;stroke:gainsboro;stroke-dasharray:.625 2.5;stroke-linecap:round"><path d="M.5.5h99"/></svg>');
	background-position: left top;
}
.info_list .item:not(:last-child) {
	padding-bottom: 1em;
}
.info_list .item > dt {
	font-weight: 600;
	white-space: nowrap;
}
.info_list .c-note {
	margin-top: .5em;
}
.info_list .c-note + .c-note {
	margin-top: 0;
}
.info_list .data_list {
	display: grid;
	justify-content: start;
}
.info_list .data_list dt {
	grid-column: 1;
}
.info_list .data_list dd {
	grid-column: 2;
}
.info_list .data_list dd::before {
	content: "：";
}
@media print, (min-width: 768px) {
	.info_list .item {
		display: grid;
		grid-template-columns: 4.5em 1fr;
		column-gap: 2em;
	}
	.info_list .item > dt {
		grid-column: 1;
		text-align-last: justify;
	}
	.info_list .item > dd {
		grid-column: 2;
	}
}
@media screen and (max-width: 767.98px) {
	.info_list {
		--fontBasis: 14;
		--fontMin: .625rem;
		margin-top: calc(var(--cw) * 24 / var(--aspect));
	}
}

/* :::::: お知らせ・新着情報 :::::: */
.info_section .news_list {
	grid-area: 1 / 1;
}
.info_section .c-pagination {
	grid-area: 2 / 1;
}
.info_section .c-loader {
	grid-area: 1 / 1 / 3 / 2;
}
.news_list {
	margin-top: min(var(--cw) * 40 / var(--aspect), 40px);
	--fontBasis: 18;
	--fontMin: .6875rem;
	font-size: var(--fontSize);
}
.news_list .item {
	padding: 1em 0;
}
.news_list .item:not(:last-child) {
	background: var(--dashedX);
}
.news_list dt {
	color: gray;
	font-family: var(--fontEn);
	font-variant-numeric: tabular-nums;
}
@media print, (min-width: 768px) {
	.news_list .item {
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 2em;
	}
	.news_list dt {
		grid-column: 1;
		padding-left: 1em;
		white-space: nowrap;
	}
	.news_list dd {
		grid-column: 2;
	}
}
@media screen and (max-width: 767.98px) {
	.news_list {
		margin-top: calc(var(--cw) * 24 / var(--aspect));
		--fontBasis: 14;
		--fontMin: .625rem;
	}
}
/* Motion */
.news_list {
	position: relative;
}
.news_list + .c-loader {
	place-self: center;
	width: 32px;
	height: 32px;
	margin-bottom: 10%;
	background: url(../img/loader.svg) center / cover no-repeat;
	opacity: 0;
	scale: .6;
	transition: opacity .2s, scale .2s;
}
.news_list.is-paging {
	transition: opacity .4s, height .4s var(--easeOut);
}
.news_list[style*="opacity"] + .c-loader {
	opacity: 1;
	scale: 1;
}
.c-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5em;
	margin-top: var(--sectionSpace);
	--fontBasis: 18;
	font: 400 var(--fontSize) / 1.2 var(--fontNum);
}
.c-pagination .page {
	display: grid;
	place-items: center;
	width: 3em;
	height: 3em;
	background: #fafafa;
	transition: background .2s;
}
.c-pagination .page[disabled] {
	pointer-events: none;
	color: white;
	background: var(--themecolor);
	transition-duration: .1s;
}
@media screen and (max-width: 767.98px) {
	.c-pagination {
		--fontBasis: 12;
	}
}
@media (hover) {
	.c-pagination .page {
		cursor: pointer;
	}
	.c-pagination .page:hover {
		background: #ffe5df;
	}
}

/**
 * Decorative
 * -------------------------------------------------- */
.decorative {
	--p: 0; /* progress */
	--arrowSize: 7px;
	position: absolute;
	inset: 0;
	line-height: 0;
	pointer-events: none;
}
@media screen and (max-width: 767.98px) {
	.decorative {
		--arrowSize: 5px;
	}
}
[class^="d-"] {
	position: absolute;
	line-height: 0;
}
.d-rect,
.d-circle,
.d-sun,
[class^="d-"] .stroke {
	overflow: visible;
	fill: none;
	stroke: black;
	stroke-width: var(--strokeWidth);
	stroke-linecap: round;
	stroke-linejoin: round;
}
[class^="d-"] .orbit {
	fill: none;
	stroke: none;
}

/* motion */
.d-yline {
	clip-path: inset(0 0 calc(100% * var(--p)));
}
.d-xline {
	clip-path: inset(0 calc(100% * var(--p)) 0 0);
}
.d-yline {
	clip-path: inset(calc(100% * var(--p)) 0 0);
}
.d-xarrow .size {
	translate: 0 calc(1em * var(--p));
}
.d-yarrow .size {
	translate: calc(1em * var(--p)) 0;
}
.d-xarrow .stroke {
	/* MEMO: iOS Safari で表示されない
	clip-path: inset(0 calc(50% * var(--p)) 0 calc(50% * var(--p))); */
	scale: calc(1 - var(--p)) 1;
}
.d-xarrow .arrow,
.d-yarrow .arrow {
	opacity: calc(1 - var(--p));
}
.d-xarrow .arrow.-start {
	translate: calc(var(--length) * var(--p) * .5) 0;
}
.d-xarrow .arrow.-end {
	translate: calc(var(--length) * var(--p) * -.5) 0;
}
.d-yarrow .stroke {
	/* MEMO: iOS Safari で表示されない
	clip-path: inset(calc(50% * var(--p)) 0 calc(50% * var(--p)) 0); */
	scale: 1 calc(1 - var(--p));
}
.d-yarrow .arrow.-start {
	translate: 0 calc(var(--length) * var(--p) * .5);
}
.d-yarrow .arrow.-end {
	translate: 0 calc(var(--length) * var(--p) * -.5);
}

/* :::::: 点線破線 :::::: */
.d-rect > *,
.d-circle > *,
.d-xline > *,
.d-yline > * {
	vertical-align: top;
}
.d-xline .stroke {
	width: 100%;
}
.d-yline .stroke {
	height: 100%;
}
.-dash1 {
	stroke-dasharray: .625 2.5;
}
.-dash2 {
	stroke-dasharray: 10 2.5 1.25 2.5;
}
@media screen and (max-width: 767.98px) {
	.-dash1 {
		stroke-dasharray: .625 1.5;
	}
	.-dash2 {
		stroke-dasharray: 5 1.5 .625 1.5;
	}
}

/* :::::: 矢印直線 :::::: */
.d-xarrow {
	height: var(--arrowSize);
}
.d-yarrow {
	width: var(--arrowSize);
}
.d-xarrow .arrow,
.d-yarrow .arrow {
	width: var(--arrowSize);
	height: var(--arrowSize);
}
.d-xarrow > *,
.d-yarrow > * {
	position: absolute;
}
.d-xarrow .stroke,
.d-yarrow .stroke {
	position: relative;
}
.d-xarrow .stroke {
	top: calc(50% - 3.5px);
}
.d-yarrow .stroke {
	left: calc(50% - 3.5px);
}
.d-xarrow .orbit,
.d-xarrow .stroke[preserveAspectRation="none"],
.d-xarrow .arrow {
	top: calc(50% - var(--arrowSize) * .5);
}
.d-yarrow .orbit,
.d-yarrow .stroke[preserveAspectRation="none"],
.d-yarrow .arrow {
	left: calc(50% - var(--arrowSize) * .5);
}
.d-xarrow .orbit {
	left: 0;
	width: 100%;
}
.d-yarrow .orbit {
	top: 0;
	height: 100%;
}
.d-xarrow .stroke {
	left: 2px;
	width: calc(100% - 4px);
}
.d-yarrow .stroke {
	top: 2px;
	height: calc(100% - 4px);
}
.d-xarrow .arrow.-start {
	left: -1px;
}
.d-xarrow .arrow.-end {
	right: -1px;
	rotate: 180deg;
}
.d-yarrow .arrow.-start {
	top: -1px;
	rotate: 90deg;
}
.d-yarrow .arrow.-end {
	bottom: -1px;
	rotate: -90deg;
}
.d-xarrow .size,
.d-yarrow .size {
	position: absolute;
	color: #666;
	font: 400 .625rem / 1 var(--fontEn);
	scale: .8;
}
.d-xarrow .size {
	bottom: 100%;
	left: calc(50% - 1em);
}
.d-yarrow .size {
	top: calc(50% - 1.75em);
	right: 100%;
	transform-origin: right bottom;
	rotate: -90deg;
}

/* :::::: 円弧/角丸 :::::: */
.d-arc,
.d-round {
	display: grid;
}
.d-arc > *,
.d-round > * {
	grid-area: 1 / 1;
}
.d-arc .arrow,
.d-round .arrow {
	position: absolute;
	width: var(--arrowSize);
	height: var(--arrowSize);
}
.d-arc,
.d-round {
	--size: 100px;
	width: var(--size);
	height: var(--size);
}
.d-arc .stroke,
.d-round .stroke,
.d-arc .orbit,
.d-round .orbit {
	width: 100%;
	height: 100%;
}
.d-arc .arrow.-start,
.d-round .arrow.-start {
	bottom: calc(2px - var(--arrowSize));
	left: calc(var(--arrowSize) * -.5);
	rotate: -90deg;
}
.d-arc .arrow.-end,
.d-round .arrow.-end {
	top: calc(var(--arrowSize) * -.5);
	right: calc(2px - var(--arrowSize));
	rotate: 180deg;
}

/**
 * WordPress Contents
 * -------------------------------------------------- */
.news_list .wp-block-post-content {
	margin-block: 40px;
}
@media print, (min-width: 768px) {
	.wp-block-post {
		--maxWidth: 900px;
		--aspect: 1080;
	}
	.news_list .wp-block-post-content {
		grid-column: 1 / 3;
	}
}
.wp-block-post .c-button,
.wp-block-post.info_section .c-button {
	margin-top: calc(var(--sectionSpace) * 2);
}
:where(.wp-block-post .wp-block-post-content) > * {
	margin-top: 24px;
}
/* Reset */
:root :where(.wp-block-post-content) > p,
:root :where(.wp-block-post-content) > ul,
:root :where(.wp-block-post-content) > h2,
:root :where(.wp-block-post-content) > .wp-block-spacer {
	margin-top: 0;
}
:root :where(.wp-block-post-content) > p + p {
	margin-top: 1em;
}
:root :where(.wp-block-post-content) > h3,
:root :where(.wp-block-post-content) > h4,
:root :where(.wp-block-post-content) > .wp-block-heading + p {
	margin-top: .5em;
}
@media screen and (max-width: 767.98px) {
	.wp-block-columns {
		flex-wrap: wrap !important;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
	}
}

@media print, (min-width: 768px) {
	.wp-block-columns {
		flex-wrap: nowrap !important;
	}
}
.has-background {
	border-radius: 0 var(--radius);
}
/* :::::: 記事タイトル :::::: */
:where(.wp-site-blocks) .wp-block-post-title {
	margin-top: .25em;
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-post-title {
	font-weight: 500;
	--fontBasis: 32;
	font-size: var(--fontSize);
}
:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-post-content {
	margin-top: calc(var(--sectionSpace) * .5);
}
/* :::::: 見出し :::::: */
.wp-block-heading {
	font-size: var(--fontSize) !important;
}
:where(.wp-block-post-content, .wp-block-group) > .wp-block-heading {
	margin-top: calc(var(--sectionSpace) * .5);
}
:where(.wp-block-post-content) h2.wp-block-heading {
	color: var(--themecolor);
	--fontBasis: 24;
}
:where(.wp-block-post-content) h3.wp-block-heading {
	--fontBasis: 20;
}
:where(.wp-block-post-content) h4.wp-block-heading {
	--fontBasis: 18;
}
:where(.wp-block-post-content) h2.wp-block-heading::before {
	content: "";
	display: inline-block;
	position: relative;
	top: -.1em;
	height: 1.2em;
	border-left: .3em solid var(--themecolor);
	margin-right: .7em;
	vertical-align: middle;
}
@media screen and (max-width: 767.98px) {
	:where(.wp-site-blocks, .editor-styles-wrapper) .wp-block-post-title,
	:where(.wp-block-post-content) h2.wp-block-heading {
		--fontBasis: 20;
	}
	:where(.wp-block-post-content) h3.wp-block-heading {
		--fontBasis: 18;
	}
	:where(.wp-block-post-content) h4.wp-block-heading {
		--fontBasis: 16;
	}
}
/* :::::: 本文 :::::: */
.wp-block-post :is(p, li, .wp-block-paragraph, .has-small-font-size, .has-medium-font-size, .has-large-font-size, .has-x-large-font-size) {
	font-size: var(--fontSize) !important;
}
:where(.wp-block-paragraph),
:where(.wp-block-list-item),
:where(.wp-block-post) p,
:where(.wp-block-post) li {
	--fontBasis: 16;
	line-height: 1.75;
}
:where(.wp-block-post) > p,
:where(.wp-block-post) > ul {
	margin-top: 0;
}
:where(.wp-block-post) > p + p {
	margin-top: .5em;
}
:where(.wp-block-post) .has-small-font-size {
	--fontBasis: 14 !important;
}
:where(.wp-block-post) .has-medium-font-size {
	--fontBasis: 18 !important;
}
:where(.wp-block-post) .has-large-font-size {
	--fontBasis: 20 !important;
}
:where(.wp-block-post) .has-x-large-font-size {
	--fontBasis: 24 !important;
}
:where(.wp-block-post) .aligncenter,
:where(.wp-block-post) .has-text-align-center {
	text-align: center !important;
}
:where(.wp-block-post) .alignright,
:where(.wp-block-post) .has-text-align-right {
	text-align: right !important;
}
@media screen and (max-width: 767.98px) {
	:where(.wp-block-post-content) p:not([class]) {
		--fontBasis: 14;
	}
}
/* :::::: リンク :::::: */
:where(.wp-block-post-content) a:not([class])[href] {
	color: var(--themecolor);
	text-decoration: none;
	word-break: break-all;
	background: linear-gradient(currentcolor, currentcolor) left bottom / 100% 1px no-repeat;
}
@media (hover) {
	:where(.wp-block-post-content) a:not([class])[href] {
		cursor: pointer;
		transition: background-size .4s cubic-bezier(.3,1,.7,1);
	}
	:where(.wp-block-post-content) a:not([class])[href]:hover {
		background-position: right bottom;
		background-size: 0 1px;
		transition-duration: .2s;
	}
}
/* :::::: 画像 :::::: */
:where(.wp-block-post-content) > .wp-block-image {
	margin-block: calc(var(--sectionSpace) * .25);
}
.wp-element-caption {
	margin: .5em 0 0;
	--fontBasis: 14;
	font-size: var(--fontSize);
}
@media screen and (max-width: 767.98px) {
	.wp-element-caption {
		--fontBasis: 12;
	}
}
/* :::::: ボタン :::::: */
.wp-block-buttons {
	display: grid;
}
.wp-block-button__link {
	display: block;
	width: fit-content;
	padding: 1.25em 2.5em;
	border-radius: 5em;
	color: white;
	font: 400 1rem / 1.5 var(--font);
	font-size: clamp(.625rem, var(--cw) * 20 / var(--aspect), 1rem); /* イレギュラー */
	text-align: center;
	text-transform: uppercase;
	letter-spacing: .1em;
	background: black;
}
@media screen and (max-width: 767.98px) {
	.wp-block-button__link {
		font-size: clamp(.625rem, var(--cw) * 14 / var(--aspect), 1rem);
	}
}
@media (hover) {
	.wp-block-button__link {
		cursor: pointer;
		transition: filter .4s, background .4s;
	}
	.wp-block-button__link:hover {
		filter: saturate(0.8) brightness(1.2);
		background: #333;
		transition-duration: .1s;
	}
}
/* :::::: カラム :::::: */
.wp-block-columns.is-layout-flex {
	display: flex;
	gap: calc(var(--sectionSpace) * .5);
	margin-block: 1em;
}
.wp-block-columns .wp-block-columns {
	margin-block: 0;
}
@media screen and (max-width: 767.98px) {
	.wp-block-columns {
		flex-direction: column;
	}
}
/* :::::: 画像とテキスト :::::: */
.wp-block-media-text {
	display: grid;
	gap: calc(var(--sectionSpace) * .5);
}
.wp-block-media-text .wp-block-media-text__media {
	grid-column: 1;
}
.wp-block-media-text .wp-block-media-text__content {
	grid-column: 2;
	padding: 0;
}
@media print, (min-width: 768px) {
	:where(.wp-block-post-content) .sp { display: none !important; }
}
@media screen and (max-width: 767.98px) {
	:where(.wp-block-post-content) .pc { display: none !important; }
}
/* :::::: カスタム :::::: */
.has-small-font-size,
.has-medium-font-size,
.has-large-font-size,
.has-x-large-font-size {
	font-size: var(--fontSize) !important;
}
.has-small-font-size {
	--fontBasis: 14 !important;
}
.has-medium-font-size {
	--fontBasis: 16 !important;
}
.has-large-font-size {
	--fontBasis: 24 !important;
}
.has-x-large-font-size {
	--fontBasis: 32 !important;
}
/* :::::: ユーザーズボイス (画像とテキスト) :::::: */
.rui-usersvoice.wp-block-media-text {
	display: grid;
	grid-template-columns: auto 1fr !important;
	gap: 0 !important;
}
.wp-block-columns .rui-usersvoice {
	height: 100%;
}
.rui-usersvoice .wp-block-media-text__media,
.rui-usersvoice .wp-block-media-text__content {
	align-self: auto !important;
	grid-row: 1 !important;
}
.rui-usersvoice .wp-block-media-text__content {
	grid-column: 2 !important;
}
.rui-usersvoice .wp-block-media-text__media img {
	aspect-ratio: 1 / 1;
	width: min(var(--cw) * 120 / var(--aspect), 120px);
	height: auto;
	border-radius: 50%;
}
.rui-usersvoice .wp-block-media-text__content {
	position: relative;
	padding: 1.5em;
	--fontBasis: 14;
	font-size: var(--fontSize);
}
.rui-usersvoice .wp-block-media-text__content::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0 0 0 -1em;
	border-radius: 0 var(--radius);
	background: var(--bgGrid);
}
.rui-usersvoice .wp-block-media-text__content p {
	font-size: inherit;
}
.rui-usersvoice .wp-block-media-text__content p + p {
	margin-top: 1em;
}
/* :::::: 選考フロー (カラム) :::::: */
.rui-flowlist {
	position: relative;
	padding: calc(var(--sectionSpace) * .5) 0 !important;
}
.rui-flowlist::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0 var(--breakout);
	background: var(--bgGrid);
}
.rui-flowlist .wp-block-columns {
	margin: 0;
}
.rui-flowlist .wp-block-columns p {
	margin-top: 0;
}
.rui-flowlist .wp-block-columns li {
	display: flex;
}
.rui-flowlist .wp-block-columns li::before {
	content: "・";
}
.rui-flowlist__schedule {
	--size: min(100%, 168px);
	--column: 2;
}
.rui-flowlist__schedule:has(.wp-block-column:nth-child(3)) { --column: 3; }
.rui-flowlist__schedule:has(.wp-block-column:nth-child(4)) { --column: 4; }
.rui-flowlist__schedule:has(.wp-block-column:nth-child(5)) { --column: 5; }
.rui-flowlist__schedule:has(.wp-block-column:nth-child(6)) { --column: 6; }
.rui-flowlist__schedule .wp-block-columns {
	gap: calc(var(--sectionSpace) * .25);
	display: grid;
	justify-content: center;
	grid-template-columns: repeat(var(--column), var(--size));
	padding-top: min(var(--cw) * 6 / var(--aspect), 6px);
}
.rui-flowlist__schedule .wp-block-column {
	align-self: start;
	display: grid;
	justify-items: center;
	position: relative;
}
.rui-flowlist__schedule .wp-block-column ul {
	margin-top: .5em;
}
.rui-flowlist__schedule .rui-flowlist__step {
	z-index: 1;
	position: absolute;
	top: -.5em;
	padding: .25em 1.25em !important;
	border-radius: 3em !important;
	color: white;
	--fontBasis: 12;
	background: var(--themecolor);
}
.rui-flowlist__schedule .rui-flowlist__item {
	display: grid;
	place-items: center;
	position: relative;
	aspect-ratio: 1 / 1;
	width: min(100%, 168px);
	height: auto;
	padding: 0;
	border: 1px dotted gray;
	border-radius: 50%;
	--fontBasis: 20;
	font-weight: 700;
	line-height: 1.2;
	background: white;
}
.rui-flowlist__schedule .wp-block-column:not(:first-child) .rui-flowlist__item::before {
	content: "";
	z-index: -1;
	position: absolute;
	top: calc(50% - 1px);
	right: 100%;
	width: 2em;
	border-top: 2px dotted gray;
}
.rui-flowlist__schedule ul {
	margin-top: 1em;
}
.rui-flowlist__schedule li {
	--fontBasis: 12;
	line-height: 1.5 !important;
}
.rui-flowlist__notice.wp-block-columns {
	margin-top: 1em;
}
.rui-flowlist__notice .wp-block-column {
	flex-basis: auto !important;
}
.rui-flowlist__notice .wp-block-column ul {
	margin-top: .5em;
}
.rui-flowlist__notice p,
.rui-flowlist__notice li {
	--fontBasis: 12;
	line-height: 1.5 !important;
}
@media print, (min-width: 768px) {
	.rui-flowlist__schedule:has(.wp-block-column:nth-child(5)) {
		--size: 1fr;
	}
}
@media screen and (max-width: 767.98px) {
	.rui-flowlist__schedule {
		--size: calc(var(--cw) * 144 / var(--aspect));
		overflow: auto;
		margin-inline: calc(var(--sidegap) * -1);
		width: var(--cw);
		padding-inline: var(--sidegap);
		padding-bottom: 12px;
	}
	.rui-flowlist__schedule .wp-block-columns {
		display: grid;
		grid-template-columns: repeat(var(--column), var(--size));
		justify-content: start;
		padding-top: calc(var(--cw) * 6 / var(--aspect));
	}
	.rui-flowlist__schedule .wp-block-columns .wp-block-column:last-child {
		width: calc(var(--size) + var(--sidegap));
		padding-right: var(--sidegap);
	}
	.rui-flowlist__schedule .wp-block-columns .wp-block-column:last-child .rui-flowlist__step {
		margin-right: var(--sidegap);
	}
	.rui-flowlist__schedule .rui-flowlist__item {
		width: var(--size);
		--fontBasis: 16;
	}
	.rui-flowlist__schedule li {
		--fontBasis: 10;
	}
	.rui-flowlist__notice.wp-block-columns {
		gap: .75em;
	}
	.rui-flowlist__notice .wp-block-column ul {
		margin-top: .25em;
	}
	.rui-flowlist__notice p,
	.rui-flowlist__notice li {
		--fontBasis: 10;
	}
}
