@charset "utf-8";

/**
 * 代表メッセージ
 * ---------------------------------------- */
#message .page_visual {
	position: relative;
}
#message .page_visual .title {
	--w: 400;
	--h: 280;
}
#message .page_visual .bg .caption {
	z-index: 2;
	position: absolute;
	--fontBasis: 18;
	--fontMin: .6875rem;
	font-size: var(--fontSize);
}
#message .page_visual .bg .caption .main {
	margin-left: .5em;
	font-size: 150%;
	letter-spacing: .2em;
}
@media print, (min-width: 768px) {
	#message .page_visual .bg .caption {
		bottom: 50%;
		right: var(--sidegap);
	}
}
@media screen and (max-width: 767.98px) {
	#message .page_visual .title {
		--h: 410;
		margin-bottom: 2em;
	}
	#message .page_visual .bg .caption {
		bottom: 1rem;
		left: var(--sidegap);
		--fontBasis: 12;
	}
}

/* :::::: インタビュー :::::: */
.p-message1::before {
	inset: 8% var(--breakout) 0 70%;
	border-radius: var(--radius) 0 0 0;
	background: var(--bgGrid);
}
.p-message2::before {
	inset: 75% 12% -2em var(--breakout);
	background: var(--bgGrid);
}
.p-message3::before {
	inset: 12% 70% -2em var(--breakout);
	background: var(--bgGrid);
}
.p-message1 .c-subject::after {
	right: var(--breakout);
}
.p-message2 .c-subject::after {
	left: var(--breakout);
}
.p-message3 .c-subject::after {
	top: -1em;
	right: var(--breakout);
	background-position: left top;
}
.p-message2 .c-subject .sector {
	bottom: calc(100% - 1em);
	left: 100%;
	scale: -1 1;
}
.p-message3 .c-subject :where([role="presentation"]) {
	position: static;
}
.p-message3 .c-subject .sector {
	right: 0;
	left: auto;
	scale: -1 1;
}
.p-message1 .image {
	margin-left: calc(var(--sidegap) * -1);
	border-radius: 0 var(--radius) 0 0;
}
.p-message2 .image {
	margin-right: calc(var(--sidegap) * -1);
	border-radius: var(--radius) 0 0 0;
}
.p-message3 .image {
	margin-left: calc(var(--sidegap) * -1);
}
@media print, (min-width: 768px) {
	.p-message1 .c-subject,
	.p-message2 .c-subject {
		padding-top: min(var(--cw) * 160 / var(--aspect), 160px);
	}
	.p-message3 .c-subject {
		grid-area: 1 / 1 / 2 / 3;
		padding: 0;
		background: none;
	}
	.p-message3 .c-paragraph {
		grid-area: 2 / 2;
	}
	.p-message3 .image {
		grid-area: 2 / 1;
		margin-top: 1em;
		padding-top: min(var(--cw) * 48 / var(--aspect), 48px);
		background: var(--dashedX);
		background-position: left top;
	}
}

/**
 * 数字で見る
 * ---------------------------------------- */
.fact_grid {
	grid-auto-flow: dense;
}
.fact_category {
	width: fit-content;
	font-weight: 700;
	--fontBasis: 35;
	--fontMin: 1rem;
	font-size: var(--fontSize);
	letter-spacing: .2em;
	background: var(--dashedX);
}
@media print, (min-width: 768px) {
	.fact_grid {
		grid-template-columns: auto auto;
		gap: min(var(--cw) * 32 / var(--aspect), 32px);
	}
}
@media screen and (max-width: 767.98px) {
	.fact_grid {
		gap: calc(var(--cw) * 16 / var(--aspect));
	}
	.fact_category {
		--fontBasis: 18;
		--fontMin: .8125rem;
	}
}

.fact_block .c-paragraph {
	line-height: 1.5;
}
.fact_block .c-note.-as {
	position: absolute;
	top: calc(100% + .25em);
	right: var(--radius);
}
.fact_block img {
	width: min(var(--cw) * var(--w) / var(--aspect), var(--w) * 1px);
}
.fact_block img[width="53"] { --w: 53; }
.fact_block img[width="72"] { --w: 72; }
.fact_block img[width="118"] { --w: 118; }
.fact_block img[width="129"] { --w: 129; }
.fact_block img[width="156"] { --w: 156; }
.fact_block img[width="159"] { --w: 159; }
.fact_block img[width="180"] { --w: 180; }
.fact_block img[width="192"] { --w: 192; }
.fact_block img[width="195"] { --w: 195; }
.fact_block img[width="300"] { --w: 300; }
.fact_block img[width="307"] { --w: 307; }
.fact_block img[width="386"] { --w: 386; }
.fact_block img[width="632"] { --w: 632; }
@media screen and (max-width: 767.98px) {
	.fact_block img {
		width: calc(var(--cw) * var(--w) * .5 / var(--aspect));
	}
}

/* :::::: レイアウト :::::: */
@media print, (min-width: 768px) {
	.fact_grid.p-basis {
		grid-template-columns: repeat(3, auto);
	}
	.fact_grid.p-business {
		grid-template-columns: 3fr 1fr 3fr;
	}
	.fact_grid.p-delivery {
		grid-template-columns: 2fr 3fr;
	}
	.fact_grid.p-education {
		grid-template-columns: 4fr 5fr;
	}
	.fact_grid .fact_category {
		grid-column: span 2;
	}
	.fact_grid.p-basis .fact_category,
	.fact_grid.p-business .fact_category {
		grid-column: span 3;
	}
	.fact_block.p-basis1 {
		grid-row: span 2;
	}
	.fact_block.p-basis3 {
		grid-column: 1;
	}
	.fact_block.p-basis1,
	.fact_block.p-basis6,
	.fact_block.p-plantation3,
	.fact_block.p-receivership1,
	.fact_block.p-business2,
	.fact_block.p-business3 {
		grid-column: span 2;
	}
	.fact_block.p-basis5 {
		grid-column: span 3;
	}
	.fact_block.p-business3 {
		align-content: start;
	}
}
@media screen and (max-width: 767.98px) {
	.fact_block .data:has(.unit) {
		padding-left: 1em;
	}
}

/* :::::: 創業年数 :::::: */
.fact_block.p-basis1 {
	--numSize: 280;
}
.fact_block.p-basis1 .chronology {
	justify-self: end;
	display: grid;
	grid-template-rows: repeat(5, 3.6em);
	row-gap: .5em;
	z-index: 0;
	position: relative;
	margin-top: 2em;
	--fontBasis: 18;
	--fontMin: .6875rem;
	font-size: var(--fontSize);
	line-height: 1.5;
	white-space: nowrap;
}
.fact_block.p-basis1 .chronology::after {
	content: "";
	z-index: -1;
	position: absolute;
	left: 4.35em;
	height: 100%;
	width: 1em;
	background: var(--dashedY);
	background-position: center center;
	transform: skewX(19deg);
}
.fact_block.p-basis1 .chronology b {
	font-size: 144%;
}
.fact_block.p-basis1 .chronology .content {
	display: grid;
	grid-template-columns: 6em auto;
	align-items: center;
	justify-content: start;
	margin-left: calc(var(--shift) * 1.4em);
}
.fact_block.p-basis1 .chronology .content:nth-child(1) { --shift: -2; }
.fact_block.p-basis1 .chronology .content:nth-child(2) { --shift: -1; }
.fact_block.p-basis1 .chronology .content:nth-child(3) { --shift: 0; }
.fact_block.p-basis1 .chronology .content:nth-child(4) { --shift: 1; }
.fact_block.p-basis1 .chronology .content:nth-child(5) { --shift: 2; }
.fact_block.p-basis1 .chronology .content dt {
	grid-column: 1;
	font-variant-numeric: tabular-nums;
}
.fact_block.p-basis1 .chronology .content dd {
	grid-column: 2;
}
.fact_block.p-basis1 .chronology .content dt::after {
	content: "";
	display: inline-block;
	position: relative;
	top: -.1em;
	width: 1em;
	height: 1em;
	margin-left: .5em;
	border: 1px solid currentcolor;
	border-radius: 1em;
	vertical-align: middle;
	background: white;
}
@media print, (min-width: 768px) {
	.fact_block.p-basis1 {
		grid-template-columns: 1fr auto;
		align-content: center;
		padding-top: min(var(--cw) * 40 / var(--aspect), 40px);
	}
	.fact_block.p-basis1 .c-subject {
		grid-column: 1;
		align-self: end;
	}
	.fact_block.p-basis1 .data {
		grid-column: 1;
		justify-self: end;
	}
	.fact_block.p-basis1 .figure {
		grid-area: 1 / 2;
	}
}
@media screen and (max-width: 767.98px) {
	.fact_block.p-basis1 .chronology {
		--fontBasis: 12;
		--fontMin: .625rem;
	}
	.fact_block.p-basis1 .data {
		justify-self: center;
		margin-top: calc(var(--cw) * 16 / var(--aspect));
	}
	.fact_block.p-basis1 .c-subject {
		grid-area: 1 / 1;
		place-self: center start;
	}
	.fact_block.p-basis1 .figure {
		grid-area: 1 / 1;
		justify-self: end;
		margin-top: calc(var(--cw) * -16 / var(--aspect));
		margin-right: calc(var(--cw) * -40 / var(--aspect));
	}
	.fact_block.p-basis1 .chronology {
		margin-top: 1em;
	}
}

/* :::::: 売上高 :::::: */
.fact_block.p-basis2 {
	--numSize: 220;
	align-items: center;
	justify-content: center;
}
.fact_block.p-basis2 .data .unit {
	margin-left: -.25em;
	white-space: nowrap;
}

/* :::::: 社員数 :::::: */
.fact_block.p-basis4 {
	--numSize: 190;
	align-items: center;
	justify-content: center;
}

/* :::::: 従業員構成比グラフ :::::: */
.fact_block.p-basis5 .data_wrap {
	justify-items: center;
	row-gap: .25em;
}
.fact_block.p-basis5 .data_wrap .label {
	order: 1;
}
.fact_block.p-basis5 .circle-graph .item {
	display: grid;
	grid-auto-flow: dense;
	align-items: end;
}
.fact_block.p-basis5 .-g1 .-i1 { top: 18%; right: 8%; }
.fact_block.p-basis5 .-g1 .-i2 { bottom: 8%; right: 28%; }
.fact_block.p-basis5 .-g1 .-i3 { bottom: 30%; left: 13%; }
.fact_block.p-basis5 .-g1 .-i4 { top: 10%; right: 53%; justify-items: end; }
.fact_block.p-basis5 .-g2 .-i1 { top: 48%; right: 8%; }
.fact_block.p-basis5 .-g2 .-i2 { visibility: hidden; }
.fact_block.p-basis5 .-g2 .-i3 { top: 19%; left: 11%; }
.fact_block.p-basis5 .-g2 .item.-i1 {
	column-gap: .25em;
}
.fact_block.p-basis5 .-g2 .name {
	--fontBasis: 20;
	--fontMin: .75rem;
	font-size: var(--fontSize);
	text-indent: .25em;
}
.fact_block.p-basis5 .-g2 .name,
.fact_block.p-basis5 .-g2 .value {
	grid-column: 2;
}
.fact_block.p-basis5 .-g2 .figure {
	grid-area: 1 / 1 / 3 / 2;
	position: relative;
	top: -.25em;
}
.fact_block.p-basis5 > .figure {
	display: grid;
	grid-template-columns: auto auto;
	gap: min(var(--cw) * 16 / 1440, 16px) min(var(--cw) * 24 / 1440, 24px);
	padding-inline: min(var(--cw) * 24 / 1440, 24px);
}
@media print, (min-width: 768px) {
	.fact_block.p-basis5 {
		grid-template-columns: repeat(3, auto);
		align-items: end;
	}
}
@media screen and (max-width: 767.98px) {
	.fact_block.p-basis5 {
		row-gap: .5em;
	}
	.fact_block.p-basis5 > .figure {
		grid-template-columns: repeat(4, auto);
	}
	.fact_block.p-basis5 .-g2 .-i1 { top: 42%; right: 11%; }
	.fact_block.p-basis5 .-g2 .-i3 { top: 16%; left: 10%; }
}

/* :::::: 自己資本比率 :::::: */
.fact_block.p-basis3 {
	align-content: start;
	justify-content: center;
}

/* :::::: 定着率 :::::: */
.fact_block.p-basis6 .data_wrap {
	align-content: start;
}
@media print, (min-width: 768px) {
	.fact_block.p-basis6 {
		grid-template-columns: repeat(3, 1fr);
		column-gap: 1em;
		padding-right: 0;
	}
}
@media screen and (max-width: 767.98px) {
	.fact_block.p-basis6 {
		row-gap: 1em;
	}
	.fact_block.p-basis6 .data_wrap {
		justify-items: center;
		width: 100%;
	}
	.fact_block.p-basis6 .data_wrap .other,
	.fact_block.p-basis6 .data_wrap .c-note {
		justify-self: start;
	}
	.fact_block.p-basis6 .figure {
		display: none;
	}
}

/* :::::: 設計事業 :::::: */
.fact_block.p-business3 .data {
	display: grid;
	align-items: start;
}
.fact_block.p-business3 .data > * {
	grid-area: 1 / 1;
}
.fact_block.p-business3 .data small {
	font-weight: 500;
	--fontBasis: 16;
	--fontMin: .625rem;
	font-size: var(--fontSize);
}
@media print, (min-width: 768px) {
	.fact_block.p-business3 {
		column-gap: 1em;
	}
	.fact_block.p-business3 .data_wrap:nth-of-type(1) {
		grid-column: 1;
	}
	.fact_block.p-business3 .data_wrap:nth-of-type(2) {
		grid-column: 2;
	}
	.fact_block.p-business3 .data small {
		padding-top: .75em;
	}
	.fact_block.p-business3 .c-note {
		grid-column: span 2;
	}
}
@media screen and (max-width: 767.98px) {
	.fact_block.p-business3 .data_wrap + .data_wrap {
		margin-top: .5em;
	}
	.fact_block.p-business3 .data small {
		--fontBasis: 12;
	}
	.fact_block.p-business4 .data {
		margin-top: -1em;
	}
}

/* :::::: 農園事業 :::::: */
:where(.fact_grid.p-plantation) .fact_block {
	grid-template-columns: auto auto;
	justify-content: center;
}
:where(.fact_grid.p-plantation) .c-paragraph {
	grid-column: span 2;
}
:where(.fact_grid.p-plantation) .figure {
	grid-column: 2;
}
.fact_block.p-plantation2 .figure {
	align-self: end;
	padding-bottom: 1em;
}
@media print, (min-width: 768px) {
	:where(.fact_grid.p-plantation) .fact_block {
		column-gap: 1em;
	}
}
@media screen and (max-width: 767.98px) {
	.fact_block.p-plantation1 .data,
	.fact_block.p-plantation2 .data {
		padding-left: 0;
	}
	.fact_block.p-plantation2 .figure {
		margin-right: -2em;
	}
	.fact_block.p-plantation3 {
		grid-template-columns: auto;
		justify-items: center;
	}
	.fact_block.p-plantation3 .data,
	.fact_block.p-plantation3 .figure {
		grid-column: 1;
	}
}

/* :::::: 教育事業 :::::: */
.fact_block.p-education .fact_block .figure {
	grid-area: 1 / 1 / 2 / 3;
	justify-self: end;
}
.fact_block.p-education1 {
	grid-template-columns: auto 1fr;
}
.fact_block.p-education1 .figure img {
	width: 100%;
}
.fact_block.p-education2 {
	grid-template-columns: repeat(3, auto);
	padding-right: 0;
}
.fact_block.p-education2 .data {
	align-self: baseline;
}
.fact_block.p-education2 .-d1 {
	--numSize: 160;
}
.fact_block.p-education2 .figure {
	margin-right: max(var(--cw) * -24 / var(--aspect), -24px);
}
@media screen and (max-width: 767.98px) {
	.fact_grid.p-education .data {
		padding-left: 0;
	}
	.fact_block.p-education1 .data {
		align-self: center;
	}
	.fact_block.p-education2 .figure {
		margin-right: max(var(--cw) * -16 / var(--aspect));
	}
}

/* :::::: 宅配事業 :::::: */
.fact_block.p-delivery1 .data_wrap,
.fact_block.p-delivery1 .figure {
	grid-area: 1 / 1;
}
.fact_block.p-delivery1 .figure {
	place-self: center end;
}
.fact_block.p-delivery2 {
	grid-template-columns: auto auto;
	align-items: center;
	justify-content: center;
}
.fact_block.p-delivery2 .data {
	padding-top: .5em;
}
@media screen and (max-width: 767.98px) {
	.fact_block.p-delivery1 .data_wrap {
		justify-items: center;
	}
	.fact_block.p-delivery2 .data {
		padding-left: 0;
	}
}

/* :::::: 管財事業 :::::: */
@media print, (min-width: 768px) {
	.fact_block.p-receivership1 {
		grid-template-columns: repeat(3, auto);
		align-items: center;
		justify-content: center;
		column-gap: 1em;
	}
}
@media screen and (max-width: 767.98px) {
	.fact_block.p-receivership1 {
		row-gap: .5em;
	}
}

/**
 * 類が手がける5つの事業
 * ---------------------------------------- */
#field .page_visual .title {
	--w: 480;
}
@media screen and (max-width: 767.98px) {
	#field .page_visual .title {
		--h: 160;
	}
}
.field_section .field {
	display: flex;
	align-items: center;
	column-gap: .75em;
	color: var(--themecolor);
	--fontBasis: 29;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
.field_section .field .en {
	--leaf: min(var(--cw) * 148 / 1440, 148px);
	display: grid;
	place-items: center;
	position: relative;
	width: var(--leaf);
	height: var(--leaf);
	font: 700 66% / 1 var(--fontEn);
	text-align: center;
}
.field_section .field .en .leaf {
	content: "";
	position: absolute;
	inset: 0;
	width: 100%;
	height: auto;
	overflow: visible;
	fill: none;
	stroke: black;
	stroke-width: var(--strokeWidth);
}
.p-architecture .field .en .leaf {
	rotate: 45deg;
}
.p-education .field .en .leaf,
.p-management .field .en .leaf {
	rotate: 90deg;
}
.field_section .c-subject {
	position: relative;
	margin-top: .25em;
	padding-bottom: .5em;
	line-height: 1.6;
	background: var(--dashedX);
}
.field_section .c-subject::before {
	position: absolute;
	inset: 0;
	background: var(--dashedX);
}
.field_section .c-paragraph,
.field_section .links {
	margin-top: 1.5em;
}
.field_section .links dd {
	margin-top: .75em;
}
.field_section .links dd + dd {
	margin-top: .5em;
}
.field_section .image {
	border-radius: var(--radius) 0 0 0;
}
.field_section.p-tree {
	--dist: 6.8;
	--borderWidth: min(var(--cw) * 1.2 / 1440, 1.2px);
	grid-template-columns: auto;
	justify-items: center;
	margin-top: calc(var(--sectionSpace) * .5);
}
.field_section.p-tree svg {
	width: min(var(--cw) * 842 / 1440, 842px);
	height: auto;
}
@media print, (min-width: 768px) {
	.field_section {
		grid-template-columns: 1fr auto;
		column-gap: min(var(--cw) * 64 / var(--aspect), 64px);
		align-content: start;
	}
	.field_section > * {
		grid-column: 1;
	}
	.field_section .image {
		grid-row: 1 / span 4;
		grid-column: 2;
		width: min(var(--cw) * 420 / var(--aspect), 420px);
	}
	.field_section.p-tree {
		position: relative;
	}
	.field_section.p-tree::before,
	.field_section.p-tree::after {
		content: "";
		position: absolute;
		inset: 0 86% min(var(--cw) * var(--dist) / var(--aspect), var(--dist) * 1px) 0;
		border-bottom: var(--borderWidth) solid black;
		border-left: var(--borderWidth) solid black;
		border-radius: 0 0 0 var(--radius);
	}
	.field_section.p-tree::after {
		right: 90%;
		bottom: min(var(--cw) * var(--dist) * 2 / var(--aspect), var(--dist) * 2px);
		left: min(var(--cw) * var(--dist) / var(--aspect), var(--dist) * 1px);
		border-radius: 0 0 0 calc(var(--radius) * .8);
	}
}
@media screen and (max-width: 767.98px) {
	.field_section .field {
		--fontBasis: 16;
		--fontMin: .625rem;
	}
	.field_section .field .en {
		--leaf: calc(var(--cw) * 80 / var(--aspect));
	}
	.field_section .field .ja {
		font-size: 120%;
	}
	.field_section .c-paragraph {
		order: 1;
		margin-top: 1em;
	}
	.field_section .image {
		margin-top: 1em;
		margin-right: calc(var(--sidegap) * -1);
	}
	.field_section .image img {
		height: 60vw;
	}
	.field_section.p-tree {
		overflow: hidden;
		width: 100%;
		padding-bottom: 1px;
	}
	.field_section.p-tree svg {
		width: calc(100% + var(--sidegap) * 6);
		margin-left: 5.8%;
	}
}

/* :::::: 事業部を超えた共創のかたち :::::: */
.field_cocreation {
	--bgShift: -40;
	--maxWidth: 1000px;
	margin-top: calc(var(--sectionSpace) * 2);
}
.cocreation_section {
	display: grid;
	position: relative;
	margin-top: var(--sectionSpace);
}
.cocreation_section::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 30% var(--breakout) 0 20%;
	bottom: max(var(--cw) * var(--bgShift) / 1440, var(--bgShift) * 1px);
	border-radius: var(--radius) 0 0 0;
	background: var(--bgGrid);
}
.p-cocreation2::before {
	right: 20%;
	left: var(--breakout);
}
.cocreation_section .field {
	display: flex;
	align-items: center;
	column-gap: .5em;
	font-weight: 700;
	--fontBasis: 45;
	--fontMin: 1rem;
	font-size: var(--fontSize);
	line-height: 1.2;
}
.cocreation_section .field .kakeru {
	width: .75em;
	height: auto;
	margin-top: .1em;
	overflow: visible;
	stroke: var(--themecolor);
	stroke-dasharray: .788 3.151;
}
.cocreation_section .c-subject {
	margin-top: .75em;
	font-weight: 500;
	line-height: 1.6;
}
.cocreation_section .name {
	position: relative;
	margin-top: 1em;
	padding-bottom: .5em;
	color: var(--themecolor);
	font-weight: 700;
	--fontBasis: 18;
	--fontMin: .6875rem;
	font-size: var(--fontSize);
	letter-spacing: .2em;
}
.p-cocreation1 .name,
.p-cocreation3 .name {
	width: fit-content;
}
.cocreation_section .name::before {
	content: "";
	position: absolute;
	inset: 0 -1em;
	background: var(--dashedX);
}
.p-cocreation1 .name::before,
.p-cocreation3 .name::before {
	left: calc(var(--sidegap) * -1);
}
.p-cocreation2 .name::before {
	right: calc(var(--sidegap) * -1);
}
.cocreation_section .c-paragraph {
	margin-top: 1em;
}
.cocreation_section .image {
	border-radius: 0 var(--radius) 0 0;
}
@media print, (min-width: 768px) {
	.cocreation_section {
		grid-template-columns: 1fr auto;
		column-gap: min(var(--cw) * 64 / var(--aspect), 64px);
		align-content: start;
	}
	.cocreation_section > * {
		grid-column: 1;
	}
	.cocreation_section .image {
		grid-row: 1 / span 4;
		grid-column: 2;
		width: min(var(--cw) * 450 / var(--aspect), 450px);
	}
	.p-cocreation1 .field {
		margin-top: min(var(--cw) * 40 / var(--aspect), 40px);
	}
	.p-cocreation2 {
		grid-template-columns: auto 1fr;
	}
	.p-cocreation2 > * {
		grid-column: 2;
	}
	.p-cocreation2 .image {
		grid-column: 1;
	}
	.p-cocreation3 .image {
		margin-top: min(var(--cw) * 64 / var(--aspect), 64px);
	}
}
@media screen and (max-width: 767.98px) {
	.cocreation_section .field {
		--fontBasis: 24;
		--fontMin: .8125rem;
	}
	.cocreation_section .name {
		--fontBasis: 16;
		--fontMin: .625rem;
	}
	.cocreation_section .name,
	.cocreation_section .c-paragraph {
		order: 1;
	}
	.cocreation_section .image {
		margin-top: 1em;
	}
}

/**
 * 映像で見る
 * ---------------------------------------- */
.p-video_lineup {
	position: relative;
	padding-top: calc(var(--sectionSpace) * 1.5);
	padding-bottom: calc(var(--sectionSpace) * 2);
}
.p-video_lineup::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0 var(--breakout);
	background: var(--bgGrid);
}
.p-video_lineup .item + .item {
	margin-top: var(--sectionSpace);
}
.p-video_lineup .video_hgroup {
	position: relative;
	padding-left: min(var(--cw) * 32 / var(--aspect), 32px);
}
.p-video_lineup .video_hgroup::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: min(var(--cw) * 10 / var(--aspect), 10px);
	border-radius: 10px;
	background: var(--themecolor);
}
.p-video_lineup .video_title {
	display: grid;
	--fontBasis: 24;
	font-size: var(--fontSize);
	letter-spacing: .06em;
}
.p-video_lineup .video_title .sub {
	color: var(--themecolor);
	text-transform: uppercase;
}
.p-video_lineup .video_title .sub,
.p-video_lineup .video_title .-en {
	font-family: var(--fontEn);
}
.p-video_lineup .video_title .main {
	font-size: 200%;
	line-height: 1.2;
}
.p-video_lineup .video_title .main.-en {
	font-size: 216%;
}
.p-video_lineup .video_info {
	display: flex;
	margin-top: .5em;
	--fontBasis: 16;
	font-size: var(--fontSize);
	letter-spacing: .06em;
}
.p-video_lineup .video_info dt {
	color: var(--themecolor);
	font-weight: 700;
	font-family: var(--fontEn);
	text-transform: uppercase;
}
.p-video_lineup .video_info dd::before {
	content: "：";
}
.p-video_lineup .c-video {
	margin-top: calc(var(--sectionSpace) * .5);
}
@media print, (min-width: 768px) {
	.p-video_lineup .c-video {
		display: grid;
		place-content: center;
		margin-inline: var(--breakout);
	}
	.p-video_lineup .c-video > * {
		max-width: min(100%, 1920px);
	}
}
@media screen and (max-width: 767.98px) {
	.p-video_lineup .video_hgroup {
		padding-left: calc(var(--cw) * 24 / var(--aspect));
	}
	.p-video_lineup .video_hgroup::before {
		width: calc(var(--cw) * 6 / var(--aspect));
	}
	.p-video_lineup .video_title {
		--fontBasis: 16;
	}
	.p-video_lineup .video_title .main {
		font-size: 160%;
	}
	.p-video_lineup .video_title .main.-en {
		font-size: 168%;
	}
	.p-video_lineup .video_info {
		--fontBasis: 12;
	}
}

/**
 * 追求課題
 * ---------------------------------------- */
.l-main[id^="project"] .page_visual .title {
	--h: 200;
	--w: 400;
}
.l-main[id^="project"] .page_visual .title .label svg {
	position: relative;
	top: -.15em;
	width: auto;
	height: .75em;
	margin-inline: .5em;
	overflow: visible;
	stroke: white;
	stroke-width: 2;
	vertical-align: middle;
}
.l-main[id^="project"] .page_visual .title .label .pipe {
	height: 1.1em;
}
.l-main[id^="project"] .page_visual .title .main {
	margin-top: .25em;
	line-height: 1.1;
}
.l-main[id^="project"] .page_visual .title .sub {
	margin-top: .5em;
}
@media screen and (max-width: 767.98px) {
	.l-main[id^="project"] .page_visual .title {
		--h: 220;
	}
	#project2 .page_visual .title {
		--h: 240;
		--fontBasis: 36;
	}
}

.project_lead {
	padding: 0;
}
.project_lead .c-subject {
	padding: .75em min(var(--cw) * 64 / 1440, 64px);
	border-radius: 0 var(--radius) 0 0;
	color: white;
	background: var(--themecolor);
	font-family: var(--fontJa);
	text-align: left;
}
.project_lead .c-paragraph {
	margin: 0;
	padding: 1.5em min(var(--cw) * 64 / 1440, 64px) 1em;
	background: var(--bgGrid);
}
@media print, (min-width: 768px) {
	.project_lead {
		width: min(var(--cw)* 780 / var(--aspect), 880px);
	}
}
@media screen and (max-width: 767.98px) {
	.project_lead {
		width: 100%;
	}
}

/* :::::: プロジェクト情報 :::::: */
.project_info {
	--maxWidth: 1080px;
	display: grid;
	padding-block: min(var(--cw) * 40 / var(--aspect), 40px);
	padding-inline: min(var(--cw) * 64 / var(--aspect), 64px);
	border-radius: 0 0 0 var(--radius);
	background: var(--bgGrid);
}
.project_info .c-subject {
	line-height: 1.5;
}
.project_info .c-paragraph {
	display: grid;
	margin-top: 1em;
	line-height: 1.5;
}
.project_info .c-paragraph dt {
	font-weight: 500;
}
.project_info .image {
	border-radius: var(--radius) 0 0;
}
@media print, (min-width: 768px) {
	.project_info {
		grid-template-columns: 1fr 1fr;
		column-gap: min(var(--cw) * 40 / var(--aspect), 40px);
		align-items: start;
		align-content: start;
	}
	.project_info > * {
		grid-column: 1;
	}
	.project_info .c-paragraph {
		--fontBasis: 16;
		grid-template-columns: auto 1fr;
		gap: .25em;
	}
	.project_info .c-paragraph dt {
		grid-column: 1;
	}
	.project_info .c-paragraph dd {
		grid-column: 2;
		padding-left: 1em;
		text-indent: -1em;
	}
	.project_info .c-paragraph dd::before {
		content: "：";
	}
	.project_info .image {
		grid-area: 1 / 2 / 4 / 3;
		max-width: 520px;
		margin-bottom: max(var(--cw) * -80 / var(--aspect), -80px);
	}
}
@media screen and (max-width: 767.98px) {
	.project_info {
		padding: 2rem min(var(--cw) * 24 / var(--aspect));
	}
	.project_info .label {
		--fontBasis: 14;
	}
	.project_info .c-paragraph {
		line-height: 1.5;
	}
	.project_info .c-paragraph dd + dt {
		margin-top: .5em;
	}
	.project_info .image {
		margin-top: 1em;
	}
}

/* :::::: 対談 :::::: */
.project_section.p-talk1 {
	margin-top: calc(var(--sectionSpace) * 2);
}
@media print, (min-width: 768px) {
	.project_section .c-paragraph.-talk,
	.project_section,
	.talk_section {
		--maxWidth: min(var(--cw) * 1080 / var(--aspect), 1080px);
	}
	.project_section .c-paragraph.-talk,
	.talk_section .c-paragraph.-talk {
		margin-top: min(var(--cw) * 48 / var(--aspect), 48px);
	}
	.project_section .c-paragraph.-talk + .-talk,
	.talk_section .c-paragraph.-talk + .-talk {
		margin-top: min(var(--cw) * 32 / var(--aspect), 32px);
	}
}
@media screen and (max-width: 767.98px) {
	.project_section .c-paragraph.-talk,
	.talk_section .c-paragraph.-talk {
		margin-top: calc(var(--cw) * 24 / var(--aspect));
	}
}
/* 調整用 (テキストが少ないのは適宜食い込ませたりする) */
@media print, (min-width: 768px) {
	:is(.project_section, .talk_section) .c-paragraph.-talk.u-pinchtop {
		margin-top: 0;
	}
	:is(.project_section, .talk_section) .c-paragraph.-talk.u-pinchbtm {
		margin-bottom: 0;
	}
	:is(.project_section, .talk_section) .c-paragraph.-talk.u-intotop {
		margin-top: max(var(--cw) * -32 / var(--aspect), -32px);
	}
	:is(.project_section, .talk_section) .c-paragraph.-talk.u-intobtm {
		margin-bottom: max(var(--cw) * -32 / var(--aspect), -32px);
	}
}

/* :::::: 間奏 :::::: */
.project_interlude1,
.project_interlude2,
.talk_interlude1,
.talk_interlude2,
.talk_interlude3,
.talk_interlude4 {
	display: grid;
	max-width: 1440px;
	margin-inline: auto;
}
.talk_interlude5 {
	margin-bottom: 0;
}
.project_interlude1 .image:first-child,
.talk_interlude2 .image:first-child {
	border-radius: var(--radius) 0 0 0;
}
.project_interlude1 .image:last-child,
.talk_interlude2 .image:last-child {
	border-radius: 0 var(--radius) 0 0;
}
.project_interlude2 .image,
.talk_interlude1 .image,
.talk_interlude4 .image {
	border-radius: 0 var(--radius) 0 0;
}
.talk_interlude3 .image {
	justify-self: end;
	border-radius: var(--radius) 0 0 0;
}
.talk_interlude1 .image .shadow,
.talk_interlude2 .image .shadow,
.talk_interlude3 .image .shadow,
.talk_interlude4 .image .shadow {
	background-color: var(--themecolor);
}
@media print, (min-width: 768px) {
	.project_interlude1,
	.talk_interlude2 {
		grid-auto-flow: dense;
		grid-template-columns: auto auto;
		align-items: start;
		column-gap: min(var(--cw) * 96 / var(--aspect), 96px);
	}
	.project_interlude1 .image:first-child,
	.talk_interlude2 .image:first-child {
		grid-column: 2;
		width: min(var(--cw) * 710 / var(--aspect), 710px);
	}
	.project_interlude1 .image:last-child,
	.talk_interlude2 .image:last-child {
		grid-column: 1;
		width: min(var(--cw) * 640 / var(--aspect), 640px);
		margin-top: min(var(--cw) * 96 / var(--aspect), 96px);
	}
	.project_interlude2 .image,
	.talk_interlude4 .image {
		width: min(var(--cw) * 1130 / var(--aspect), 1130px);
	}
	.talk_interlude1 .image,
	.talk_interlude3 .image {
		width: min(var(--cw) * 900 / var(--aspect), 900px);
	}
}
@media screen and (max-width: 767.98px) {
	.project_interlude1,
	.talk_interlude2 {
		row-gap: calc(var(--cw) * 32 / var(--aspect));
	}
	.project_interlude1 .image:first-child,
	.talk_interlude2 .image:first-child {
		justify-self: end;
		width: 72%;
	}
	.project_interlude1 .image:last-child,
	.talk_interlude2 .image:last-child {
		width: 56%;
	}
	.project_interlude2 .image,
	.talk_interlude4 .image {
		width: 88%;
	}
	.talk_interlude1 .image,
	.talk_interlude3 .image {
		width: 72%;
	}
	#project1 #talk1 + .page_interlude img {
		min-height: 0;
	}
}

/* :::::: メンバー紹介 :::::: */
.project_member {
	padding: min(var(--cw) * 80 / var(--aspect), 80px);
	border-radius: 0 var(--radius) 0 0;
	background: var(--bgGrid);
}
.member_lineup .item {
	display: grid;
	grid-auto-flow: dense;
	align-content: center;
}
.member_lineup .image {
	width: min(var(--cw) * 224 / var(--aspect), 224px);
}
@media print, (min-width: 768px) {
	.project_member {
		width: min(var(--cw) * 800 / var(--aspect), 800px);
	}
	.member_lineup {
		display: grid;
		row-gap: min(var(--cw) * 24 / var(--aspect), 24px);
	}
	.member_lineup .item {
		grid-template-columns: auto 1fr;
		align-items: center;
		column-gap: min(var(--cw) * 48 + 1em / var(--aspect), 48px + 1em);
	}
	.member_lineup .item .text {
		grid-column: 2;
	}
	.member_lineup .item .image {
		grid-column: 1;
	}
	.member_lineup .item:nth-child(2n) {
		grid-template-columns: 1fr auto;
		column-gap: min(var(--cw) * 48 / var(--aspect), 48px);
	}
	.member_lineup .item:nth-child(2n) .text {
		justify-self: end;
		grid-column: 1;
	}
	.member_lineup .item:nth-child(2n) .image {
		grid-column: 2;
	}
}
@media screen and (max-width: 767.98px) {
	.project_member {
		width: auto;
		padding: max(var(--cw) * 24 / var(--aspect), 48px) var(--sidegap);
		padding-bottom: max(var(--cw) * 24 / var(--aspect), 32px);
	}
	.member_lineup {
		display: flex;
		column-gap: 32px;
		align-items: start;
		padding-inline: calc(var(--sidegap) * .5);
	}
	.member_lineup .item {
		width: max(var(--cw) * 160 / var(--aspect), 216px);
		row-gap: calc(var(--cw) * 16 / var(--aspect));
	}
	.member_lineup .image {
		order: -1;
		width: 100%;
	}
	/* for Simplebar.js が実装されてる時 */
	.simplebar-wrapper .member_lineup .item {
		width: auto;
	}
	.simplebar-wrapper .member_lineup .item > * {
		width: max(var(--cw) * 160 / var(--aspect), 216px);
	}
	.simplebar-wrapper .member_lineup .item:last-child {
		padding-right: calc(var(--sidegap) * 1.5);
	}
}
.member_lineup .company {
	position: relative;
	font-weight: 700;
	--fontBasis: 20;
	--fontMin: .75rem;
	font-size: var(--fontSize);
}
.member_lineup .company::before {
	content: "";
	position: absolute;
	top: calc(50% - .75em);
	right: calc(100% + .7em);
	width: .3em;
	height: 1.5em;
	border-radius: 4px;
	background: var(--themecolor);
}
.member_lineup .post {
	margin-top: .5em;
	font-weight: 500;
	font-size: var(--fontSize);
	line-height: 1.5;
}
.member_lineup .name {
	display: flex;
	align-items: baseline;
	column-gap: .5em;
	--fontBasis: 26;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
.member_lineup .name .en {
	color: var(--themecolor);
	font-size: 75%;
	font-family: var(--fontEn);
}
.member_lineup .join {
	font-size: 75%;
}
@media screen and (max-width: 767.98px) {
	.member_lineup .text {
		padding-left: .875rem;
	}
	.member_lineup .company {
		--fontBasis: 16;
		--fontMin: .75rem;
	}
	.member_lineup .post {
		--fontBasis: 12;
		--fontMin: .625rem;
	}
	.member_lineup .name {
		--fontBasis: 16;
		--fontMin: .875rem;
	}
}

.c-asof {
	width: min(var(--cw) * 1080 / 1440, 1080px);
	margin: var(--sectionSpace) auto 0;
}
.c-asof::after {
	content: "";
	display: block;
	clear: both;
}
.c-asof .c-paragraph {
	float: right;
	border-bottom: 2px solid transparent;
	border-image: var(--dashedXSvg) 0 0 1 / 0 0 2px / 0 calc(var(--cw) * .5) 0 0 repeat;
}
.l-main[id^="cross-talk"] .c-asof {
	margin-top: calc(var(--sectionSpace) * .5);
}

/* :::::: 映像で見る :::::: */
.project_movie {
	margin-top: calc(var(--sectionSpace) * 2);
}
.project_movie .c-video {
	margin-top: min(var(--cw) * 32 / 1440, 32px);
	margin-inline: calc(var(--sidegap) * -1);
}
.project_movie .title {
	display: grid;
	--fontBasis: 48;
	--fontMin: 1rem;
	font-size: var(--fontSize);
	line-height: 1.4;
}
.project_movie .title .sub {
	color: var(--themecolor);
	font-size: max(50%, .625rem);
	font-family: var(--fontEn);
	text-transform: uppercase;
}
@media screen and (max-width: 767.98px) {
	.project_movie .title {
		--fontBasis: 28;
	}
}

/* :::::: Shimadzu Tokyo Innovation Plaza :::::: */
#project2 .page_visual .title .main {
	font-family: var(--fontEn);
}
@media screen and (max-width: 767.98px) {
	#project2 .page_visual .title .label svg {
		stroke-width: clamp(1px, var(--cw) * 2 / 1440, 2px);
	}
}

/* :::::: 農業と学びの共創拠点 :::::: */
#project4 .project_info .image {
	display: grid;
	row-gap: calc(var(--cw) * 8 / 375);
}
#project4 .project_info .image > img {
	width: 80%;
}
#project4 .project_info .image > img + img {
	justify-self: end;
	border-radius: 0 0 var(--radius) 0;
}
@media print, (min-width: 768px) {
	#project4 .project_info .image {
		row-gap: min(var(--cw) * 16 / var(--aspect), 16px);
		margin-top: max(var(--cw) * -80 / var(--aspect), -80px);
	}
}

/**
 * 仕事・職種紹介
 * ---------------------------------------- */
.work_tabs {
	display: flex;
	gap: 1px;
	justify-content: center;
	margin: 2em var(--breakout) 0;
}
.work_tabs .c-tab {
	display: block;
	background: #fafafa;
}
.work_tabs .c-tab::before {
	bottom: -.8em;
	translate: 0 -.4em;
}
.work_lead {
	margin-top: calc(var(--sectionSpace) * 2);
}
.work_lead[id] .c-subject {
	width: fit-content;
	margin-inline: auto;
	padding-bottom: .5em;
	background: var(--dashedX);
}
@media (hover) {
	.work_tabs .c-tab {
		transition: background-color .4s;
	}
	.work_tabs .c-tab:hover {
		background: #ffe5df;
		transition-duration: .1s;
	}
	.work_tabs .c-tab::before {
		z-index: 1;
		transition-duration: .4s;
	}
	.work_tabs .c-tab:hover::before {
		opacity: 1;
		translate: 0;
		transition-duration: .1s;
	}
}
@media screen and (max-width: 767.98px) {
	.work_tabs {
		flex-wrap: wrap;
		padding-inline: var(--sidegap);
	}
	.work_tabs .c-tab {
		padding: .75em 1.25em;
	}
	.work_lead:not(:first-of-type) .decorative .d-sector {
		right: calc(100% - var(--sidegap) * 2);
	}
}
.work_anchor {
	display: flex;
	gap: 1px;
	z-index: 2;
	position: fixed;
	top: 50%;
	left: 0;
	margin-block: auto;
}
.work_anchor .link {
	display: block;
	padding: 1.25em .75em;
	background: #fafafa;
	--fontBasis: 16;
	font-size: var(--fontSize);
	font-weight: 700;
}
@media (hover) {
	.work_anchor .link:hover {
		background: #ffe5df;
		transition-duration: .1s;
	}
}
/* motion */
.work_anchor {
	transition: transform .4s var(--easeOut);
}
.work_anchor .link {
	transition: background-color .4s;
}
.work_anchor .link.is-active {
	background: #ffe5df;
	transition-duration: .1s;
}
@media print, (min-width: 768px) {
	.work_anchor {
		flex-direction: column;
		top: 50%;
		translate: 0 -50%;
	}
	.work_anchor .link {
		writing-mode: vertical-rl;
	}
	.work_anchor:not(.is-appear) {
		transform: translateX(-100%);
	}
}
@media screen and (max-width: 767.98px) {
	.work_anchor {
		top: 0;
		padding-inline: .5em;
		background: #fafafa;
	}
	.work_anchor .link {
		--fontBasis: 12;
	}
	.work_anchor:not(.is-appear) {
		transform: translateY(-100%);
	}
}

/* :::::: セクション :::::: */
.work_section .label {
	display: grid;
	position: relative;
	width: fit-content;
	color: var(--themecolor);
	font-weight: 700;
	--fontBasis: 28;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
.work_section .label .main {
	width: inherit;
	padding: .3em .4em 0 .8em;
	background: var(--dashedX), var(--dashedY);
	background-position: left top, left bottom;
}
.work_section .label .s {
	font-size: 80%;
}
.work_section .label .note {
	padding-left: 1em;
	font-weight: 500;
	font-size: .625rem;
	text-indent: -1em;
}
.work_section .c-subject {
	padding-bottom: 1em;
	background: var(--dashedX);
}
.work_section .c-subject [aria-hidden="true"] {
	 display: inline-block;
	 margin-right: -.5em;
 }
.work_section .label + .c-subject {
	margin-top: .75em;
}
.work_section .c-paragraph {
	margin-top: 2em;
}
.work_area {
	margin-top: 1em;
}
.work_area dt {
	font-weight: 500;
	--fontBasis: 20;
	--fontMin: .75rem;
	font-size: var(--fontSize);
	letter-spacing: .2em;
	text-indent: .75em;
}
.work_area dd {
	margin-top: .25em;
	padding: .75em 1.5em;
	background: #ffe5df;
}
.work_section .c-link {
	margin-top: 1em;
}
.work_section .image img {
	width: min(var(--cw) * var(--w) / 1440, var(--w) * 1px);
}
.work_section .image [width="220"] { --w: 220; }
.work_section .image [width="340"] { --w: 340; }
.work_section .image [width="400"] { --w: 400; }
.work_section .image [width="420"] { --w: 420; }
.work_section .image [width="440"] { --w: 440; }
.work_section .image [width="500"] { --w: 500; }
.work_section .image [width="520"] { --w: 520; }
@media print, (min-width: 768px) {
	.work_section {
		grid-template-columns: 1fr auto;
		grid-auto-flow: dense;
		align-items: center;
		align-content: center;
		column-gap: min(var(--cw) * 48 / var(--aspect), 48px);
	}
	.work_section > * {
		grid-column: 1;
	}
	.work_section .label {
		grid-template-columns: auto auto;
		column-gap: 1em;
		align-items: center;
		white-space: nowrap;
	}
	.work_section .label .note {
		position: absolute;
		left: 100%;
	}
	.work_section .image {
		grid-row: span 3;
		grid-column: 2;
		width: min(var(--cw) * 520 / var(--aspect), 520px);
		margin-right: calc(var(--sidegap) * -1);
	}
	.work_section .image img {
		display: block;
		margin-inline: auto;
	}
}
@media screen and (max-width: 767.98px) {
	.work_section .label,
	.work_section .c-subject,
	.work_section .image {
		order: -1;
	}
	.work_section .label {
		--fontBasis: 18;
		--fontMin: .6875rem;
	}
	.work_section .label .note {
		padding-left: 2.5em;
	}
	.work_section .c-paragraph {
		margin-top: .75em;
	}
	.work_area dt {
		--fontBasis: 16;
		--fontMin: .625rem;
	}
	.work_section .image {
		margin-top: 1em;
		text-align: center;
	}
	.work_section .image img {
		width: min(var(--cw) * var(--w) * .5 / var(--aspect), var(--w) * .5px);
	}
}

/**
 * 類人図鑑絞り込み
 * ---------------------------------------- */
.people_refine {
	width: calc(100% - var(--sidegap) * 2);
	margin: var(--sectionSpace) auto;
}
.refine_title {
	position: relative;
	width: fit-content;
	padding: .5em;
	padding-right: 2em;
	--fontBasis: 30;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
.refine_title .sub {
	margin-left: .5em;
	color: var(--themecolor);
	font-size: 80%;
	font-family: var(--fontEn);
	text-transform: uppercase;
}
.refine_title::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0 0 0 var(--breakout);
	background: var(--bgGrid);
}
.refine_container {
	margin-top: min(var(--cw) * 40 / var(--aspect), 40px);
}
.refine_container dd {
	margin-top: .3em;
}
.refine_container dt {
	font-weight: 700;
	--fontBasis: 15;
	--fontMin: .75rem;
	font-size: var(--fontSize);
}
.refine_container dd + dt {
	margin-top: 1.5em;
}
.refine_list {
	display: flex;
	gap: 1px;
	--fontBasis: 20;
	--fontMin: .875rem;
	line-height: 1.5;
	font-size: var(--fontSize);
}
.refine_list > * {
	flex-grow: 1;
	white-space: nowrap;
}
.refine_button {
	display: block;
	position: relative;
	width: 100%;
	text-align: center;
	background: #fafafa;
}
.refine_button input {
	display: none;
}
.refine_button .label {
	display: inherit;
	padding: 1em;
	background: #fafafa;
}
.refine_button input:checked + .label {
	color: white;
	font-weight: 700;
	background: var(--themecolor);
}
@media (hover) {
	.refine_button .label {
		cursor: pointer;
		transition: color .4s, background-color .4s;
	}
	.refine_button:hover .label {
		background: #ffe5df;
		transition-duration: .1s;
	}
}
@media print, (min-width: 768px) {
	.people_refine {
		width: min(var(--cw) * 1000 / var(--aspect), 1000px);
	}
}
@media screen and (max-width: 767.98px) {
	.refine_title {
		--fontBasis: 18;
	}
	.refine_container {
		margin-top: calc(var(--cw) * 24 / var(--aspect));
	}
	.refine_container dt {
		--fontBasis: 12;
	}
	.refine_container dd {
		margin-inline: calc(var(--sidegap) * -1);
	}
	.refine_container .simplebar-scrollable-x {
		padding-bottom: 12px;
	}
	.refine_list {
		--fontBasis: 14;
	}
	.refine_button .label {
		padding-inline: 1.5em;
	}
	.refine_list li:first-child .refine_button {
		padding-left: var(--sidegap);
	}
	.refine_list li:last-child .refine_button {
		padding-right: var(--sidegap);
	}
}
/* Motion */
.refine_target .people_item:not(.is-active) {
	display: none;
}
.refine_target.is-sorting {
	transition: height 400ms var(--easeOut);
}
.refine_target.is-sorting .people_item {
	opacity: 0;
}
.refine_target .people_item {
	transition: opacity 600ms;
}
.refine_target.is-sorting .people_item {
	transition-duration: 200ms;
}

/**
 * 類人図鑑
 * ---------------------------------------- */
.l-main[id^="interview"] .page_visual .title {
	--w: 360;
	--fontMin: 1rem;
	font-size: var(--fontLiquid);
}
@media print, (min-width: 768px) {
	.l-main[id^="interview"] .page_visual .title {
		--fontBasis: 48;
		bottom: 1em;
	}
}
@media screen and (max-width: 767.98px) {
	.l-main[id^="interview"] .page_visual .title {
		--h: 320;
		--fontMin: .8125rem;
	}
	:is(#interview4, #interview6, #interview7, #interview9, #interview12, #interview15) .page_visual .title {
		--h: 240;
	}
	:is(#interview8, #interview10, #interview11, #interview14) .page_visual .title {
		--h: 180;
	}
}

/* 行頭にくる「畑」「当事者」を微調整 */
#interview9 .page_visual .title .c.bo,
#interview13 .page_visual .title .c.bo {
	margin-inline-start: -.5em;
}
#interview13 .page_visual .title .c.bc {
	margin-inline-end: -.5em;
}

/* :::::: プロフィール :::::: */
.p-profile {
	column-gap: min(var(--cw) * 48 / var(--aspect), 48px);
}
.p-profile .people_numbering {
	float: right;
}
.p-profile .data {
	position: relative;
	padding-top: min(var(--cw) * 48 / var(--aspect), 48px);
	padding-right: min(var(--cw) * 32 / var(--aspect), 32px);
	border-right: var(--strokeWidth) solid black;
}
.p-profile .book {
	pointer-events: none;
	position: absolute;
	inset: 0;
	overflow: visible;
	width: 100%;
	height: auto;
	fill: none;
	stroke: black;
	stroke-width: var(--strokeWidth);
}
.p-profile .name,
.p-profile .part {
	font-weight: 700;
	letter-spacing: .1em;
}
.p-profile .name {
	width: fit-content;
	margin-top: 1em;
	padding-right: .75em;
	--fontBasis: 32;
	--fontMin: 1rem;
	font-size: var(--fontSize);
	white-space: nowrap;
	background: var(--dashedX);
}
.p-profile .name::first-letter {
	color: var(--themecolor);
	font-size: 200%;
}
.p-profile .part {
	margin-top: .75em;
	font-size: var(--fontSize);
}
.p-profile .profile {
	margin-top: .75em;
	font-weight: 500;
	--fontBasis: 14;
	--fontMin: .625rem;
	font-size: var(--fontSize);
}
@media print, (min-width: 768px) {
	.p-profile {
		grid-template-columns: auto auto;
		align-items: start;
		justify-content: start;
		position: relative;
	}
	.p-profile .people_numbering {
		margin-top: -.5em;
	}
	.p-profile .illust {
		position: absolute;
		left: min(var(--cw) * 880 / var(--aspect), 880px);
		top: 0;
		width: min(var(--cw) * 186 / var(--aspect), 186px);
		translate: 0 calc(80px * var(--progress) * -1);
	}
	.p-profile .image {
		grid-area: 1;
		width: min(var(--cw) * 300 / var(--aspect), 300px);
	}
	.p-profile .data {
		grid-area: 1 / 2;
		width: min(var(--cw) * 450 / var(--aspect), 450px);
	}
}
@media screen and (max-width: 767.98px) {
	.p-profile {
		column-gap: calc(var(--cw) * 24 / var(--aspect));
	}
	.p-profile .people_numbering {
		margin-top: .5em;
	}
	.p-profile .illust {
		display: none;
	}
	.p-profile .image {
		order: -1;
		width: 80%;
	}
	.p-profile .data {
		margin-top: calc(var(--cw) * 16 / var(--aspect));
		padding-top: calc(var(--cw) * 16 / var(--aspect));
		padding-right: calc(var(--cw) * 24 / var(--aspect));
	}
	.p-profile .book {
		height: 2.5em;
	}
	.p-profile .name {
		--fontBasis: 18;
		--fontMin: .6875rem;
	}
	.p-profile .part {
		--fontBasis: 14;
	}
	.p-profile .profile {
		--fontBasis: 12;
	}
}

/* :::::: インタビュー :::::: */
.p-interview1::before {
	inset: 8% var(--breakout) 0 70%;
	border-radius: var(--radius) 0 0 0;
	background: var(--bgGrid);
}
.p-interview2::before {
	inset: 75% 12% -2em var(--breakout);
	background: var(--bgGrid);
}
.p-interview3::before {
	inset: 12% 70% -2em var(--breakout);
	background: var(--bgGrid);
}
.p-interview1 .c-subject::after {
	right: var(--breakout);
}
.p-interview2 .c-subject::after {
	left: var(--breakout);
}
.p-interview1 .image {
	margin-left: calc(var(--sidegap) * -1);
	border-radius: 0 var(--radius) 0 0;
}
.p-interview2 .image {
	margin-right: calc(var(--sidegap) * -1);
	border-radius: var(--radius) 0 0 0;
}
.p-interview3 .image {
	overflow: visible;
	margin-left: calc(var(--sidegap) * -1);
}
@media print, (min-width: 768px) {
	.p-interview2 .image {
		grid-row: 1 / 4;
	}
	.p-interview1 .c-subject,
	.p-interview2 .c-subject {
		padding-top: min(var(--cw) * 160 / var(--aspect), 160px);
	}
	.p-interview3 .c-subject {
		grid-area: 1 / 1;
		margin-top: -.25em;
	}
	.p-interview3 .c-subject::after {
		top: -1.25em;
		right: var(--breakout);
		background-position: left top;
	}
	.p-interview3 .c-paragraph {
		grid-area: 1 / 2 / 3 / 3;
	}
	.p-interview3 .image {
		grid-area: 2 / 1;
	}
}
@media screen and (max-width: 767.98px) {
	.p-interview3 .c-subject {
		position: static;
	}
}
/* 安藤 太地 */
#interview1 .interview_section .c-subject {
	line-height: 2;
}
#interview1 .interview_section .c-subject .c-lupe {
	--lh: 1.7; --top: .43;
}
#interview1 .p-interview1 .c-subject .c-lupe {
	--shift: -.4em;
}
#interview1 .p-interview1 .c-subject .c-lupe .zoom::after {
	text-indent: calc(var(--shift)* -.4 - .1em); /* レンズ内の文字を左にズラす */
}
/* 多田 奨 */
#interview2 .p-interview1 .c-subject .c-lupe,
#interview2 .p-interview2 .c-subject .c-lupe,
#interview2 .p-interview3 .c-subject .c-lupe {
	--lh: 2.8; --top: .55; --size: 5.4em; /* 三文字分のレンズ */
}
#interview2 .p-interview2 .c-subject .c-lupe .zoom {
	letter-spacing: -.1em;
}
#interview2 .p-interview3 .c-subject .c-lupe .zoom {
	letter-spacing: -.2em;
}
#interview2 .p-interview1 .c-subject .c-lupe .target,
#interview2 .p-interview2 .c-subject .c-lupe .target,
#interview2 .p-interview3 .c-subject .c-lupe .target {
	padding-left: .58em; letter-spacing: .58em; /* 三文字の時は調整 */
}
@media print, (min-width: 768px) {
	#interview2 .p-interview2 .c-subject {
		line-height: 2.4;
	}
	#interview2 .p-interview2 .c-subject .c-lupe {
		--lh: 2.1; --top: .4;
	}
	#interview2 .p-interview2 .c-paragraph {
		margin-top: 1em;
	}
}
@media screen and (max-width: 767.98px) {
	#interview2 .p-interview2 .c-subject {
		margin-right: -.5em;
		line-height: 2.4;
	}
	#interview2 .p-interview2 .c-subject .c-lupe {
		--lh: 1.9; --top: .36;
	}
	#interview2 .p-interview2 .c-paragraph p {
		margin-top: 2em;
	}
	#interview2 .p-interview3 .c-subject .c-lupe {
		--lh: 4; --top: .74; /* 1行めに三文字分のレンズ */
	}
}
/* 豊島 麻由佳 */
#interview3 .p-interview3 .c-subject .c-lupe {
	--lh: 1.5; --top: .38; /* 二行めの時の指定 */
	--shift: -.4em;        /* 行頭にある時の指定 */
}
/* 平木 千翔 */
#interview4 .p-interview1 .c-subject .c-lupe {
	--lh: 1.5; --top: .38;
	--shift: -.2em;
}
#interview4 .p-interview2 .c-subject .c-lupe {
	--lh: 2.4; --top: .52; --size: 4.8em;
}
#interview4 .p-interview2 .c-subject .c-lupe .target {
	padding-left: .58em; letter-spacing: .58em;
}
#interview4 .p-interview3 .c-subject .c-lupe {
	--lh: 1.6; --top: .4;
}
#interview4 .p-interview3 .c-subject .c-lupe .target {
	letter-spacing: .7em;
}
@media screen and (max-width: 767.98px) {
	#interview4 .p-interview3 .c-subject {
		margin-right: -.5em;
	}
}
/* 中川 翔子 */
#interview5 .p-interview1 .c-subject .c-lupe .zoom::after {
	text-indent: calc(var(--shift)* -.4 - .1em); /* レンズ内の文字を左にズラす */
}
#interview5 .p-interview3 .c-subject .c-lupe {
	--lh: 1.5; --top: .38;
}
@media screen and (max-width: 767.98px) {
	#interview5 .p-interview2 .c-subject {
		margin-right: -.5em;
	}
	#interview5 .p-interview2 .c-subject .c-lupe {
		--lh: 1.5; --top: .38;
	}
}
/* 齊藤 直 */
#interview6 .p-interview1 .c-subject .c-lupe {
	--lh: 2.8; --top: .55; --size: 5.4em;
}
#interview6 .p-interview1 .c-subject .c-lupe .zoom {
	letter-spacing: -.1em;
}
#interview6 .p-interview1 .c-subject .c-lupe .target {
	padding-left: .58em; letter-spacing: .58em;
}
#interview6 .p-interview2 .c-subject .c-lupe {
	--lh: 1.5; --top: .38;
	--shift: -.3em;
}
#interview6 .p-interview3 .c-subject .c-lupe {
	--shift: -.35em;
}
@media screen and (max-width: 767.98px) {
	#interview6 .p-interview3 .c-subject .c-lupe {
		--lh: 1.5; --top: .38;
	}
}
/* 片山 隼 */
#interview7 .p-interview2 .c-subject .c-lupe {
	--lh: 2.8; --top: .55; --size: 5.4em;
}
#interview7 .p-interview2 .c-subject .c-lupe .target {
	padding-left: .58em; letter-spacing: .58em;
}
#interview7 .p-interview2 .c-subject .c-lupe .zoom {
	letter-spacing: -.2em;
}
#interview7 .p-interview2 .c-subject .c-lupe .zoom::after {
	text-indent: calc(var(--shift)* -.4 - .1em);
}
#interview7 .p-interview3 .c-subject .c-lupe {
	--lh: 1.5; --top: .5; --size: 3em; /* 一文字分のレンズ */
	--shift: -.1em;
}
@media screen and (max-width: 767.98px) {
	#interview7 .p-interview1 .c-subject {
		margin-right: -.5em;
	}
	#interview7 .p-interview2 .c-subject {
		line-height: 3.2;
	}
}
/* 矢島 陽花 */
#interview8 .p-interview2 .c-subject .c-lupe {
	--lh: 1.5; --top: .38;
	--shift: -.3em;
}
#interview8 .p-interview3 .c-subject .c-lupe {
	--lh: 1.5; --top: .5; --size: 3em;
	--shift: -.7em;
}
/* 関 雅斗 */
#interview9 .p-interview1 .c-subject .c-lupe {
	--lh: 2.8; --top: .55; --size: 5.4em;
}
#interview9 .p-interview1 .c-subject .c-lupe .target {
	padding-left: .58em; letter-spacing: .58em;
}
#interview9 .p-interview1 .c-subject .c-lupe .zoom {
	letter-spacing: -.15em;
}
#interview9 .p-interview1 .c-subject .c-lupe .zoom::after {
	text-indent: calc(var(--shift)* -.4 - .1em);
}
#interview9 .p-interview2 .c-subject .c-lupe {
	--lh: 1.5; --top: .38;
	--shift: -.4em;
}
/* 奥澤 健 */
#interview11 .p-interview1 .c-subject .c-lupe,
#interview11 .p-interview2 .c-subject .c-lupe {
	--lh: 1.5; --top: .38;
	--shift: -.3em;
}
#interview11 .p-interview3 .c-subject .c-lupe {
	--lh: 1.5; --top: .38;
}
/* 根木 貴大 */
@media screen and (max-width: 767.98px) {
	#interview12 .p-interview1 .c-subject .c-lupe {
		--lh: 1.5; --top: .38;
	}
}
/* 三島 圭人 */
#interview13 .p-interview1 .c-subject .c-lupe,
#interview13 .p-interview2 .c-subject .c-lupe,
#interview13 .p-interview3 .c-subject .c-lupe {
	--lh: 1.5; --top: .38;
}
#interview13 .p-interview3 .c-subject .c-lupe {
	--shift: -.3em;
}
/* 逆井 聖也 */
#interview14 .p-interview1 .c-subject .c-lupe {
	--lh: 1.5; --top: .38;
	--shift: -.3em;
}
@media screen and (max-width: 767.98px) {
	#interview14 .p-interview2 .c-subject .c-lupe {
		--lh: 2.6; --top: .74; /* 1行めにレンズ */
	}
	#interview14 .p-interview3 .c-subject .c-lupe {
		--lh: 1.5; --top: .38;
	}
}
/* 吉越 俊 */
@media screen and (max-width: 767.98px) {
	#interview15 .p-interview1 .c-subject {
		margin-right: -.5em;
	}
	#interview15 .p-interview2 .c-subject .c-lupe {
		--lh: 1.5; --top: .38;
	}
}
#interview15 .p-interview3 .c-subject .c-lupe {
	--lh: 2.8; --top: .55; --size: 5.4em;
}
#interview15 .p-interview3 .c-subject .c-lupe .zoom {
	letter-spacing: -.2em;
}
#interview15 .p-interview3 .c-subject .c-lupe .target {
	padding-left: .58em; letter-spacing: .58em;
}
/* 石井 卓磨 */
#interview16 .p-interview1 .c-subject .c-lupe,
#interview16 .p-interview2 .c-subject .c-lupe,
#interview16 .p-interview3 .c-subject .c-lupe {
	--lh: 1.5; --top: .38;
}
/* 米澤 星矢 */
#interview17 .p-interview1 .c-subject .c-lupe,
#interview17 .p-interview3 .c-subject .c-lupe {
	--lh: 1.5; --top: .38; --shift: -.2em;
}
#interview17 .p-interview2 .c-subject .c-lupe {
	--lh: 1.15; --top: .45; --size: 2.8em; /* 一文字分のレンズ */
	--shift: -.34em;
}
#interview17 .p-interview2 .c-subject .c-lupe .target {
	padding-right: .1em;
}

/* 夷藤 那由太 */
#interview18 .p-interview1 .c-subject .c-lupe {
	--lh: 1.5; --top: .38; /* 二行めの時の指定 */
}
#interview18 .p-interview2 .c-subject .c-lupe {
	--lh: 2.8; --top: .52; --size: 5.6em; /* 三文字分のレンズ */
}
@media screen and (max-width: 767.98px) {
	#interview18 .p-interview2 .c-subject {
		line-height: 2.4;
	}
	#interview18 .p-interview2 .c-subject .c-lupe {
		--lh: 2.3; --top: .4;
	}
	#interview18 .p-interview2 .c-subject .c-lupe .target {
		letter-spacing: .4em;
	}
	#interview18 .p-interview2 .c-paragraph {
		margin-top: 1em;
	}
}
#interview18 .p-interview3 .c-subject .c-lupe {
	--lh: 1.15; --top: .45; --size: 2.8em; /* 一文字分のレンズ */
	--shift: -.34em;
}

/* 出田 麻子 */
#interview19 .p-interview1 .c-subject .c-lupe {
	--lh: 2.8; --top: .52; --size: 5.6em; /* 三文字分のレンズ */
}
#interview19 .p-interview1 .c-paragraph {
	margin-top: 1em;
}
@media screen and (max-width: 767.98px) {
	#interview19 .p-interview1 .c-subject .c-lupe {
		--lh: 1.6; --top: .25; --size: 5.8em; /* 三文字分のレンズ */
	}
	#interview19 .p-interview1 .c-paragraph {
		margin-top: 2em;
	}
}
#interview19 .p-interview2 .c-subject .c-lupe {
	--lh: 1.5; --top: .38; /* 二行めの時の指定 */
}
#interview19 .p-interview3 .c-subject .c-lupe {
	--lh: 1.5; --top: .38; --shift: -.2em;
}
#interview19 .p-interview2 .c-subject .c-lupe .target {
	padding-right: .1em;
}

/* :::::: 私が追求したいこと :::::: */
.p-pursue {
	--trim: 7em;
	--maxWidth: 1040px;
	--sideSpace: min(var(--cw) * 64 / 1440, 64px);
	margin-top: min(var(--cw) * 160 / var(--aspect), 160px);
	padding: calc(var(--sideSpace) * .75) var(--sideSpace) var(--sideSpace);
	border: 1px solid black;
	background: var(--bgGrid);
}
.p-pursue::before {
	content: "";
	z-index: 1;
	top: calc(var(--trim) * -.5);
	right: -2px;
	width: calc(var(--trim) * .4);
	height: var(--trim);
	background: white var(--dashedY);
	transform-origin: right center;
	rotate: -45deg;
	translate: 0 0;
}
.p-pursue .people_numbering {
	margin-right: calc(var(--sideSpace) * -1);
	padding: 0 var(--sideSpace) 1em 1em;
	background: var(--dashedX);
}
.p-pursue .title {
	width: fit-content;
	margin-inline: auto;
	color: var(--themecolor);
	font-weight: 700;
	--fontBasis: 40;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
.p-pursue .title.c-lupe {
	--lh: 1.8;
	--top: .55;
	--shift: 4.1em;
	--size: 3.7em;
}
.p-pursue .title.c-lupe .zoom::after {
	text-indent: calc(var(--shift) * -.5);
}
.p-pursue .c-subject {
	margin-top: .25em;
	padding: 0;
	--fontBasis: 40;
	--fontMin: 1rem;
	line-height: 1.5;
	font-size: var(--fontSize);
	text-align: center;
	background: none;
}
.p-pursue .c-subject::after {
	display: none;
}
.p-pursue .c-paragraph {
	align-self: center;
}
@media print, (min-width: 768px) {
	.p-pursue {
		grid-template-columns: 1fr auto;
		align-items: end;
		column-gap: min(var(--cw) * 24 / var(--aspect), 24px);
	}
	.p-pursue .people_numbering {
		grid-area: 1 / 1 / 2 / 3;
		justify-self: end;
	}
	.p-pursue .title {
		grid-area: 1 / 1 / 2 / 3;
	}
	.p-pursue .c-subject {
		grid-area: 2 / 1 / 3 / 3;
	}
	.p-pursue .c-paragraph {
		grid-area: 3 / 1;
	}
	.p-pursue .image {
		grid-area: 3 / 2;
		width: min(var(--cw) * 350 / var(--aspect), 350px);
	}
}
@media screen and (max-width: 767.98px) {
	.p-pursue {
		--trim: 4em;
		margin-top: calc(var(--cw) * 80 / var(--aspect));
		padding-bottom: calc(var(--sideSpace) * 2);
	}
	.p-pursue .title,
	.p-pursue .c-paragraph {
		margin-top: 1em;
	}
	.p-pursue .title {
		--fontBasis: 20;
		--fontMin: .75rem;
	}
	.p-pursue .c-subject {
		margin-top: 1em;
		--fontBasis: 24;
		--fontMin: .8125rem;
		line-height: 1.5;
	}
	.p-pursue .image {
		order: 1;
		justify-self: center;
		width: 90%;
		margin-top: .5em;
	}
}

/* :::::: Other People :::::: */
.people_other {
	--maxWidth: 1080px;
	margin-top: calc(var(--sectionSpace) * 2);
}
.people_other > * {
	width: inherit;
}
.people_other .home_subjects {
	justify-items: center;
	margin-bottom: max(var(--cw) * -24 / var(--aspect), -24px);
}
.people_other .home_subjects .label {
	grid-area: 1 / 1;
}
.people_other::before,
.people_other .home_subjects .subject,
.people_other .home_subjects .book {
	grid-area: 2 / 1;
}
.people_other .home_subjects .subject {
	position: relative;
	--fontBasis: 48;
	--fontMin: 1rem;
	font-size: var(--fontSize);
	letter-spacing: .15em;
}
.people_other .home_subjects .subject.c-lupe {
	--lh: .75;
	--zoom: 250;
	--shift: 2.4em;
	--size: 2.4em;
	place-content: center;
}
.people_other .home_subjects .subject .main {
	text-indent: .24em;
	letter-spacing: .24em;
}
.people_other .home_subjects .subject .obj {
	scale: 2.5;
}
.people_other .home_subjects .book {
	overflow: visible;
	height: auto;
	stroke-width: var(--strokeWidth);
}
.people_other .c-button {
	width: fit-content;
	margin: max(var(--cw) * -40 / var(--aspect), -32px) auto 0;
}
@media print, (min-width: 768px) {
	.people_other .home_subjects .book {
		width: min(var(--cw) * 360 / var(--aspect), 360px);
	}
}
@media screen and (max-width: 767.98px) {
	.people_other {
		width: var(--cw);
	}
	.people_other .people_lineup {
		padding-inline: var(--sidegap);
	}
	.people_other .home_subjects {
		margin-bottom: calc(var(--cw) * -16 / var(--aspect));
	}
	.people_other .home_subjects .subject {
		--fontBasis: 32;
	}
	.people_other .home_subjects .book {
		width: calc(var(--cw) * 240 / var(--aspect));
	}
	.people_other .c-button {
		margin-top: max(var(--cw) * -24 / var(--aspect), -32px);
	}
}

/**
 * 類友トーク
 * ---------------------------------------- */
.l-main[id^="cross-talk"] .page_visual .title {
	--h: 200;
	--w: 400;
}
.l-main[id^="cross-talk"] .c-button.-back {
	margin: var(--sectionSpace) auto 0;
}

/* :::::: メンバー紹介 :::::: */
.talk_member {
	padding: min(var(--cw) * 80 / var(--aspect), 80px);
	color: white;
	background: var(--themecolor);
}
.talk_member .member_lineup .company::before {
	background: currentcolor;
}
.talk_member .member_lineup .name .en {
	color: inherit;
}
.talk_member .member_lineup .item .text {
	position: relative;
}
.talk_member .member_lineup .item .text::before {
	content: "";
	position: absolute;
	inset: 0 -1em -1em 0;
	background: var(--dashedTalkMember) right bottom / 640px 64px no-repeat;
}
.talk_member .member_lineup .item:nth-child(2n) .text {
	justify-self: inherit;
	padding-left: 1em;
}
@media print, (min-width: 768px) {
	.talk_member {
		position: relative;
		width: min(var(--cw) * 800 / var(--aspect), 800px);
		border-radius: 0 var(--radius) 0 0;
	}
	.talk_member::before {
		content: "";
		z-index: -1;
		position: absolute;
		inset: 10% calc(var(--sidegap) * -.3) calc(var(--sidegap) * -.3) 60%;
		border-radius: 0 var(--radius) 0 0;
		background: var(--bgGrid);
		translate: 0 calc(var(--y) * .8px);
	}
	.talk_member .member_lineup .item:nth-child(odd) .text::before {
		left: -1em;
	}
}
@media screen and (max-width: 767.98px) {
	.talk_member {
		width: auto;
		padding: max(var(--cw) * 24 / var(--aspect), 48px) var(--sidegap);
		padding-bottom: max(var(--cw) * 40 / var(--aspect), 48px);
	}
}
/* 扇アニメーション */
@media print, (min-width: 768px) {
	.talk_member :is(.door1, .door2) {
		--deg: 270deg;
		position: absolute;
		width: min(var(--cw) * 100 / var(--aspect), 100px);
		height: auto;
		fill: var(--themecolor);
		mask: conic-gradient(from var(--deg) at right bottom, #000 90deg, #0000 90deg);
	}
	.talk_member .door1 {
		top: 24%;
		left: calc(100% - 1px);
		scale: -1 1;
	}
	.talk_member .door2 {
		top: 72%;
		right: calc(100% - 1px);
		scale: 1 -1;
	}
}
@media screen and (max-width: 767.98px) {
	.talk_member :is(.door1, .door2) {
		display: none;
	}
}

/* :::::: 人の群れ :::::: */
.talk_interlude_people {
	position: relative;
	width: min(var(--cw) * 1200 / 1440, 1200px);
	margin: max(var(--cw) * 96 / var(--aspect), 96px) auto 0;
	text-align: right;
}
.talk_interlude_people::before {
	content: "";
	position: absolute;
	inset: 0 var(--breakout) 0 20%;
	background: var(--dashedX);
}
.talk_lead .talk_people {
	position: relative;
}
.page_interlude .talk_people {
	align-self: end;
	justify-self: center;
}
.page_interlude .talk_people + .image {
	grid-column: 2;
}
.talk_interlude1 {
	grid-template-columns: auto 1fr;
}
.talk_interlude1 .talk_people {
	grid-column: 2;
}
.talk_interlude3 {
	grid-template-columns: 1fr auto;
	align-items: start;
}
#cross-talk1 .p-talk3 .talk_lead .talk_people {
	right: max(var(--breakout), 100% - var(--maxWidth));
}
@media print, (min-width: 768px) {
	.talk_interlude_people img {
		width: min(var(--cw) * var(--w) / var(--aspect), var(--w) * 1px);
	}
	.talk_people img {
		width: min(var(--cw) * var(--w) / var(--aspect), var(--w) * 1px);
	}
	.talk_lead .talk_people {
		position: absolute;
		top: 0;
		right: max(var(--breakout), 100% - var(--maxWidth));
	}
}
@media screen and (max-width: 767.98px) {
	.talk_interlude_people {
		margin-block: max(var(--cw) * 48 / var(--aspect), 48px);
	}
	.talk_people img {
		width: calc(var(--cw) * var(--w) * .5 / var(--aspect));
	}
	.talk_lead .talk_people {
		float: right;
		margin-top: 1em;
	}
}
/* 画像の吹き出し */
.page_interlude .image .tail {
	--deg: 270deg;
	position: absolute;
	top: calc(100% - 1px);
	left: 50%;
	width: min(var(--cw) * 80 / var(--aspect), 80px);
	height: auto;
	border-radius: 0;
	fill: var(--themecolor);
	scale: 1 -1;
	mask: conic-gradient(from var(--deg) at right bottom, #000 90deg, #0000 90deg);
}
.talk_interlude2 .image:first-child .tail,
.talk_interlude3 .image .tail {
	scale: -1 -1;
}
@media screen and (max-width: 767.98px) {
	.page_interlude .image .tail {
		width: calc(var(--cw) * 32 / var(--aspect));
	}
}

/* :::::: 対談冒頭 :::::: */
.talk_lead {
	position: relative;
	padding: 0;
}
.talk_lead .c-subject {
	display: flex;
	align-items: end;
	column-gap: .75em;
	position: relative;
	padding-bottom: 1em;
	text-align: left;
}
.talk_lead .c-subject::before,
.talk_lead .c-subject::after {
	content: "";
	position: absolute;
	inset: 2em 10% 0;
}
.talk_lead .c-subject::before {
	z-index: -1;
	background: var(--bgGrid);
}
.talk_lead .c-subject::after {
	bottom: 1em;
	background: var(--dashedX);
}
.talk_lead .c-subject .num {
	color: var(--themecolor);
	font: 600 320% / 1.2 var(--fontNum);
	text-shadow: .04em .04em 0 white, .06em .06em 0 gainsboro;
}
.talk_lead .c-subject .num b {
	font-size: 150%;
}
.talk_lead .c-subject .main {
	padding-bottom: .75em;
	line-height: 1.25;
}
.talk_lead .c-paragraph {
	display: flex;
	align-items: baseline;
	column-gap: .5em;
	margin-top: 2em;
	background: var(--dashedX);
}
.talk_lead .c-paragraph::before {
	content: "";
	display: inline-block;
	position: relative;
	top: -.3em;
	min-width: 2em;
	border-top: 1px solid currentcolor;
}
.talk_lead .c-paragraph .sector {
	z-index: -1;
	position: absolute;
	width: min(var(--cw) * 100 / var(--aspect), 100px);
	height: auto;
	fill: var(--themecolor);
}
@media screen and (max-width: 767.98px) {
	.talk_lead .c-subject {
		padding-bottom: 1.5em;
	}
	.talk_lead .c-subject::before,
	.talk_lead .c-subject::after {
		top: 0;
	}
	.talk_lead .c-subject::before {
		left: calc(var(--sidegap) * -1);
		right: calc(var(--sidegap) * -1);
	}
	.talk_lead .c-subject::after {
		bottom: 1.5em;
	}
	.talk_lead .c-subject .num {
		font-size: 240%;
	}
	.talk_lead .c-paragraph {
		padding-bottom: 1em;
	}
	.talk_lead .c-paragraph .sector {
		top: 1em;
		right: calc(var(--sidegap) * -1);
		width: calc(var(--cw) * 48 / var(--aspect));
	}
}
@media print, (min-width: 768px) {
	.talk_lead {
		--shift: min(var(--cw) * 80 / var(--aspect), 80px);
	}
	.talk_lead .c-subject .num {
		letter-spacing: .1em;
	}
	.talk_lead .c-paragraph {
		padding-block: 2em;
		padding-left: var(--shift);
	}
	.talk_lead + .c-paragraph.-talk {
		margin-top: min(var(--cw) * 48 / var(--aspect), 48px);
	}
	.talk_lead .c-paragraph .sector {
		bottom: 1em;
	}
}

/* セクションごとに仕切り */
.talk_section {
	position: relative;
	padding-bottom: var(--sectionSpace)
}
.talk_section::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: var(--breakout);
	width: 46vw;
	height: 5px;
	background: var(--dashedX);
}
/* 最後のセクションはなし */
.talk_section.-end {
	padding-bottom: 0;
}
.talk_section.-end::after {
	display: none;
}

/* 奇数偶数でジグザグ */
@media print, (min-width: 768px) {
	.talk_section.-odd .talk_lead .c-subject::before,
	.talk_section.-odd .talk_lead .c-subject::after {
		left: var(--breakout);
	}
	.talk_section.-odd .talk_lead .c-subject::before {
		border-radius: 0 var(--radius) 0 0;
	}
	.talk_section.-odd .talk_lead .c-subject::after {
		right: calc(10% + 1em);
	}
	.talk_section.-even .talk_lead .c-subject::before,
	.talk_section.-even .talk_lead .c-subject::after {
		right: var(--breakout);
	}
	.talk_section.-even .talk_lead .c-subject::before {
		left: -1em;
		border-radius: var(--radius) 0 0;
	}
	.talk_section.-even .talk_lead .c-subject::after {
		left: 0;
	}
	.talk_section.-odd .talk_lead .c-paragraph .sector {
		right: calc(100% - 2em);
	}
	.talk_section.-even .talk_lead .c-paragraph .sector {
		left: calc(100% - 2em);
	}
}
/* 二行になるのは微調整 */
#cross-talk2 .p-talk4 .talk_lead .main {
	padding-bottom: .5em;
}

/**
 * 福利厚生
 * ---------------------------------------- */
.welfair_section {
	--maxWidth: 1080px;
}

/* :::::: 働く環境・各種制度 :::::: */
.organize_masonry {
	display: grid;
	gap: min(var(--cw) * 24 / var(--aspect), 24px);
	margin-top: min(var(--cw) * 40 / var(--aspect), 40px);
}
.organize_masonry .brick {
	position: relative;
	padding: min(var(--cw) * 24 / var(--aspect), 24px);
	border-radius: 0 var(--radius) 0 0;
	line-height: 1.5;
	background: var(--bgGrid);
}
.organize_masonry .label {
	color: var(--themecolor);
	--fontBasis: 28;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
.organize_masonry .content {
	font-weight: 700;
	--fontBasis: 20;
	--fontMin: .75rem;
	font-size: var(--fontSize);
}
.organize_masonry ul.content {
	margin-top: .5em;
	list-style-position: inside;
}
.organize_masonry ul.content li::marker {
	content: "・";
}
.organize_masonry .content .num {
	position: relative;
	top: .025em;
	color: var(--themecolor);
	font-size: 240%;
	line-height: 1;
}
.p-organize1 .content,
.p-organize3 .content,
.p-organize8 .content,
.p-organize9 .content {
	--fontSize: 30;
}
.p-organize1 .content,
.p-organize3 .content {
	text-align: center;
}
.p-organize2 .content {
	margin-top: .5em;
}
.p-organize3 .content {
	margin-top: -.5em;
}
.p-organize5 .content {
	margin-top: 1em;
}
.organize_masonry .figure {
	position: absolute;
	text-align: center;
}
.p-organize3 .figure,
.p-organize5 .figure,
.p-organize8 .figure,
.p-organize9 .figure {
	top: -1em;
	right: 1em;
}
.p-organize5 .figure {
	top: -2em;
}
.p-organize6 .figure {
	right: 1em;
	bottom: 1em;
}
.p-organize3 .figure,
.p-organize8 .figure {
	top: -2em;
}
.p-organize8 .figure,
.p-organize7 .figure {
	top: -1em;
	right: -1em;
}
.p-organize9 .figure {
	top: 3em;
}
.organize_masonry .figure img {
	--w: 97;
	width: min(var(--cw) * var(--w) / var(--aspect), var(--w) * 1px);
}
.p-organize5 .figure img[width="97"] { --w: 80; }
.p-organize6 .figure img[width="118"] { --w: 88; }
.p-organize7 .figure img[width="123"] { --w: 100; }
.p-organize8 .figure img[width="185"] { --w: 160; }
.organize_masonry .c-note {
	margin-top: .5em;
}
.p-organize2 .content dd + dt {
	margin-top: .5em;
}
@media print, (min-width: 768px) {
	.organize_masonry {
		grid-auto-flow: dense;
		grid-template-columns: repeat(3, 1fr);
	}
	.p-organize1 { grid-column: 1; grid-row: span 2; }
	.p-organize2 { grid-column: 2; grid-row: span 3; }
	.p-organize3 { grid-column: 3; grid-row: span 1; }
	.p-organize4 { grid-column: 1; grid-row: span 2; }
	.p-organize5 { grid-column: 2; grid-row: span 3; }
	.p-organize6 { grid-column: 3; grid-row: span 4; }
	.p-organize7 { grid-column: 1; grid-row: span 3; }
	.p-organize8 { grid-column: 2; grid-row: span 1; }
	.p-organize9 { grid-column: 3; grid-row: span 2; }
}
@media screen and (max-width: 767.98px) {
	.organize_masonry {
		gap: calc(var(--cw) * 16 / var(--aspect));
		margin-top: min(var(--cw) * 24 / var(--aspect));
	}
	.organize_masonry .brick {
		padding: min(var(--cw) * 24 / var(--aspect));
	}
	.organize_masonry .label {
		--fontBasis: 18;
		--fontMin: .6875rem;
	}
	.organize_masonry .content {
		--fontBasis: 14;
		--fontMin: .625rem;
	}
	.organize_masonry .figure img {
		width: calc(var(--cw) * var(--w) * .75 / var(--aspect));
	}
}

/* :::::: 参加型の全員経営 :::::: */
.management_lead {
	margin-top: calc(var(--sectionSpace) * 2);
}
.welfair_management {
	--maxWidth: 770px;
}
.welfair_management .management_section > .c-label {
	--fontBasis: 24;
	--fontMin: .8125rem;
	font-size: var(--fontSize);
}
.welfair_management .management_section > .c-paragraph {
	margin-top: 1em;
}
.welfair_management .phase_list,
.welfair_management .c-cards {
	margin-top: calc(var(--sectionSpace) * .5);
}
@media print, (min-width: 768px) {
	.welfair_management .c-cards {
		--col: 2;
		--gap: min(var(--cw) * 48 / var(--aspect), 48px);
	}
	.welfair_management .c-cards .card:nth-child(2 + 1) {
		margin-top: min(var(--cw) * 32 / var(--aspect), 32px);
	}
}

/* :::::: 参加型の全員経営 :::::: */
.welfair_management .phase_list {
	display: grid;
	grid-template-columns: 4fr 3fr 1em 3fr 4fr;
	gap: 2em 1em;
}
.welfair_management .phase_list .item {
	padding: 1em 1.5em;
	border: 1px dotted black;
	border-radius: 0 var(--radius) 0 var(--radius);
	background: var(--bgGrid);
}
.welfair_management .phase_list .subject {
	color: var(--themecolor);
	--fontBasis: 24;
	--fontMin: .8125rem;
	font-size: var(--fontSize);
	line-height: 1.5;
}
.welfair_management .phase_list .subject small {
	display: block;
	width: fit-content;
	margin-top: .5em;
	padding: .1em .5em 0;
	color: white;
	font-weight: 400;
	font-size: max(70%, .625rem);
	background: var(--themecolor);
}
.welfair_management .phase_list .c-paragraph {
	margin-top: 1em;
}
/* Layout */
.welfair_management .phase_list .item:nth-child(1),
.welfair_management .phase_list .item:nth-child(4) {
	grid-column: 2 / 5;
}
.welfair_management .phase_list .item:nth-child(2) {
	grid-column: 1 / 3;
	border-radius: 0 var(--radius) var(--radius) 0;
}
.welfair_management .phase_list .item:nth-child(3) {
	grid-column: 4 / 6;
	border-radius: var(--radius) 0 0 var(--radius);
}
.welfair_management .phase_list .d-arc {
	position: relative;
}
.welfair_management .phase_list .d-arc.-tl {
	grid-area: 1 / 1;
	place-self: end;
}
.welfair_management .phase_list .d-arc.-tr {
	grid-area: 1 / 5;
	place-self: end start;
}
.welfair_management .phase_list .d-arc.-bl {
	grid-area: 3 / 1;
	place-self: start end;
}
.welfair_management .phase_list .d-arc.-br {
	grid-area: 3 / 5;
	place-self: start;
}
@media screen and (max-width: 767.98px) {
	.welfair_management .phase_list {
		grid-template-columns: 3em 1fr 1em 1fr 3em;
		gap: 1em .5em;
		margin-inline: calc(var(--sidegap) * -1);
	}
	.welfair_management .phase_list .item:nth-child(2) {
		border-left: 0;
	}
	.welfair_management .phase_list .item:nth-child(3) {
		border-right: 0;
	}
	.welfair_management .phase_list .subject {
		--fontBasis: 18;
		--fontMin: .6875rem;
	}
	.welfair_management .phase_list .d-arc {
		width: 2em;
		height: auto;
	}
}

/**
 * キャリア設計図
 * ---------------------------------------- */
#career-design .page_visual .bg img {
	object-position: 26% center;
}
.blueprint_section {
	--maxWidth: 1000px;
}
.blueprint_section .c-subject {
	padding-bottom: .5em;
	white-space: nowrap;
	background: var(--dashedX);
}
.blueprint_section .label {
	display: grid;
	row-gap: .25em;
	margin-top: .75em;
	font-weight: 700;
	--fontBasis: 18;
	--fontMin: .6875rem;
	font-size: var(--fontSize);
}
.blueprint_section .label .sub {
	color: var(--themecolor);
	font-size: max(80%, .625rem);
	font-family: var(--fontEn);
}
.blueprint_section .c-paragraph {
	margin-top: .75em;
}
.blueprint_section .image {
	width: min(var(--cw) * 320 / var(--aspect), 320px);
}
@media print, (min-width: 768px) {
	.blueprint_section {
		grid-template-columns: auto 1fr;
		align-items: start;
		column-gap: min(var(--cw) * 64 / var(--aspect), 64px);
	}
	.blueprint_section > * {
		grid-column: 2;
	}
	.blueprint_section .c-subject {
		padding-left: .75em;
		background: var(--dashedX), var(--dashedY);
	}
	.blueprint_section .image {
		grid-area: 1 / 1 / 5 / 2;
	}
}
@media screen and (max-width: 767.98px) {
	.blueprint_section .c-subject,
	.blueprint_section .label,
	.blueprint_section .image {
		order: -1;
	}
	.blueprint_section .label {
		--fontBasis: 15;
		--fontMin: .625rem;
	}
	.blueprint_section .image {
		width: min(var(--cw) * 240 / var(--aspect));
		margin-top: .75em;
	}
	.blueprint_section .c-paragraph {
		margin-top: 1em;
	}
}

/* :::::: 業務経歴 :::::: */
.blueprint_section .biography {
	margin-top: min(var(--cw) * 32 / var(--aspect), 32px);
}
.blueprint_section .biography .head {
	--fontBasis: 20;
	--fontMin: .75rem;
	font-size: var(--fontSize);
	letter-spacing: .2em;
	text-indent: .5em;
}
.blueprint_section .biography .biolist {
	--sidePadding: min(var(--cw) * 80 / 1440, 80px);
	display: grid;
	grid-template-columns: auto 1fr;
	row-gap: .5em;
	column-gap: 3em;
	position: relative;
	margin-top: .5em;
	padding: 2em var(--sidePadding);
	--fontBasis: 15;
	--fontMin: .625rem;
	font-size: var(--fontSize);
	background: #fff6f4;
}
.blueprint_section .biography .js-pulldown {
	background: #fff6f4;
}
.blueprint_section .biography .biolist::before {
	content: "";
	grid-row: 1 / 8;
	grid-column: 2;
	width: 1em;
	margin: -1em 0;
	background: var(--dashedY);
	background-position: center top;
}
.blueprint_section .biography .biolist[data-length="6"]::before { grid-row: 1 / 7; }
.blueprint_section .biography .biolist[data-length="5"]::before { grid-row: 1 / 6; }
.blueprint_section .biography .biolist[data-length="4"]::before { grid-row: 1 / 5; }
.blueprint_section .biography .biolist > *:nth-of-type(1) { grid-row: 1; }
.blueprint_section .biography .biolist > *:nth-of-type(2) { grid-row: 2; }
.blueprint_section .biography .biolist > *:nth-of-type(3) { grid-row: 3; }
.blueprint_section .biography .biolist > *:nth-of-type(4) { grid-row: 4; }
.blueprint_section .biography .biolist > *:nth-of-type(5) { grid-row: 5; }
.blueprint_section .biography .biolist > *:nth-of-type(6) { grid-row: 6; }
.blueprint_section .biography .biolist dt {
	grid-column: 1;
}
.blueprint_section .biography .biolist dt .topresent {
	float: right;
	font-size: 80%;
}
.blueprint_section .biography .biolist dd {
	grid-column: 2;
	text-indent: -3em;
	padding-left: 3em;
}
.blueprint_section .biography .biolist dd::before {
	content: "";
	display: inline-block;
	position: relative;
	top: -.1em;
	width: 1em;
	height: 1em;
	margin-right: 2em;
	border: 1px solid currentcolor;
	border-radius: 1em;
	vertical-align: middle;
	background: var(--themecolor);
}
@media print, (min-width: 768px) {
	.blueprint_section .biography {
		grid-column: span 2;
		padding-left: min(var(--cw) * 64 / var(--aspect), 64px);
	}
}
@media screen and (max-width: 767.98px) {
	.blueprint_section .biography {
		margin-top: calc(var(--cw) * 16 / var(--aspect));
	}
	.blueprint_section .biography .head {
		--fontBasis: 16;
		--fontMin: .625rem;
	}
	.blueprint_section .biography .biolist {
		column-gap: 1em;
		--fontBasis: 13;
		--fontMin: .625rem;
	}
	.blueprint_section .biography .biolist dd {
		text-indent: -2em;
		padding-left: 2em;
	}
	.blueprint_section .biography .biolist dd::before {
		margin-right: 1em;
	}
}

/* :::::: ロードマップ :::::: */
.roadmap_lead {
	margin-top: calc(var(--sectionSpace) * 2);
}
.blueprint_roadmap {
	--maxWidth: 1000px;
	margin-top: calc(var(--sectionSpace) * .5);
}
.blueprint_roadmap .roadmap_tabs {
	display: grid;
	grid-template-columns: repeat(3, auto);
	justify-content: center;
}
.blueprint_roadmap .roadmap_panels {
	transition: height .8s var(--easeInOut);
}
.blueprint_roadmap .roadmap_panels,
.blueprint_roadmap.p-roadmap2 {
	border-top: 1px solid black;
	border-left: 1px solid black;
	border-radius: var(--radius) 0 0 0;
}
.blueprint_roadmap .roadmap_panel,
.blueprint_roadmap.p-roadmap2 {
	padding: min(var(--cw) * 48 / var(--aspect), 48px);
}
.blueprint_roadmap .title {
	display: flex;
	color: var(--themecolor);
	--fontBasis: 29;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
.blueprint_roadmap .title .main {
	margin-left: -.5em;
	padding: 0 1.5em .25em .5em;
	background: var(--dashedX);
}
.blueprint_roadmap .title .sub {
	font-size: max(70%, .625rem);
	vertical-align: middle;
}
.blueprint_roadmap .roadmap_panel {
	height: fit-content;
}
/* 中身 */
.roadmap_section {
	display: grid;
}
.roadmap_section,
.blueprint_roadmap .c-note {
	margin-top: min(var(--cw) * 40 / var(--aspect), 40px);
}
.roadmap_section .term {
	display: block;
	width: fit-content;
	color: var(--themecolor);
	--fontBasis: 29;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
.blueprint_roadmap.p-roadmap2 {
	position: relative;
	margin-top: min(var(--cw) * 80 / var(--aspect), 80px);
}
.blueprint_roadmap.p-roadmap2 .term {
	position: absolute;
	inset: -1em 0 auto;
	margin-inline: auto;
	padding: 0 1em;
	background: white;
}
.blueprint_roadmap.p-roadmap2 .term::before {
	content: "";
	position: absolute;
	top: -2em;
	left: calc(50% - 1.25em);
	width: 2.5em;
	height: 1.5em;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background: currentcolor;
}
.roadmap_section .image {
	text-align: center;
}
.roadmap_section .image img {
	width: min(var(--cw) * var(--w) / var(--aspect), var(--w) * 1px);
}
/* とは、コンテナ */
.roadmap_details {
	grid-column: span 2;
	margin-top: min(var(--cw) * 24 / var(--aspect), 24px);
	padding-block: min(var(--cw) * 24 / var(--aspect), 24px);
	padding-inline: min(var(--cw) * 40 / var(--aspect), 40px);
	border-radius: 0 var(--radius) 0 0;
	background: var(--bgGrid);
}
.roadmap_details dt {
	width: fit-content;
	padding-bottom: .125em;
	color: var(--themecolor);
	font-weight: 700;
	--fontBasis: 16;
	--fontMin: .75rem;
	font-size: var(--fontSize);
	background: var(--dashedX);
}
.roadmap_details dd + dt {
	margin-top: .75em;
}
.roadmap_details dd {
	margin-top: .25em;
	--fontBasis: 15;
	font-size: var(--fontSize);
}
/* 先輩のキャリア */
:where(#career-design2) .p-modaltype {
	margin-top: var(--sectionSpace);
	text-align: center;
}
:where(#career-design2) .p-modaltype b {
	color: var(--themecolor);
}
:where(#career-design2) .blueprint_section {
	margin-top: calc(var(--sectionSpace) * .5);
}
:where(#career-design2) .blueprint_section .c-link {
	justify-self: end;
	margin-top: .5em;
	--fontBasis: 15;
	font-size: var(--fontSize);
}
@media print, (min-width: 768px) {
	.blueprint_roadmap .title {
		align-items: center;
	}
	.blueprint_roadmap .title .sub {
		padding-left: .5em;
	}
	.roadmap_section {
		--figureSpace: 250;
		display: grid;
		grid-template-columns: 1fr min(var(--cw) * var(--figureSpace) / var(--aspect), var(--figureSpace) * 1px);
		align-items: center;
		column-gap: min(var(--cw) * 40 / var(--aspect), 40px);
	}
	.roadmap_section .c-subject {
		grid-area: 1 / 1 / 2 / 3;
	}
	.roadmap_section .c-paragraph {
		grid-area: 2 / 1;
		margin-top: .5em;
	}
	.roadmap_section .image {
		grid-area: 1 / 2 / 4 / 3;
	}
	/* 年目以降 */
	.p-roadmap2 .c-paragraph {
		grid-column: 1 / 3;
		margin-top: 1.5em;
	}
	.p-roadmap2 .image {
		grid-area: 1 / 2;
	}
	/* キャリア設計図（設計職編） */
	:where(#career-design) .p-design2 {
		margin-top: min(var(--cw) * 24 / var(--aspect), 24px);
	}
	:where(#career-design) .p-design1 { --figureSpace: 380; }
	:where(#career-design) .p-design2 { --figureSpace: 380; }
	:where(#career-design) .p-design3 { --figureSpace: 380; }
	:where(#career-design) .p-structure1 { --figureSpace: 340; }
	:where(#career-design) .p-facility1 { --figureSpace: 280; }
	:where(#career-design) .p-roadmap2 { --figureSpace: 240; }
	:where(#career-design) .p-structure2,
	:where(#career-design) .p-facility2 {
		grid-template-columns: 1fr;
	}
	/* キャリア設計図（総合職編） */
	:where(#career-design2) .p-general1 { --figureSpace: 250; margin-top: 0; }
	:where(#career-design2) .p-general2 { --figureSpace: 250; }
	:where(#career-design2) .p-general3 { --figureSpace: 250; }
	:where(#career-design2) .roadmap_section .image {
		grid-area: 1 / 2 / 3 / 3;
	}
	:where(#career-design2) .roadmap_section .c-subject .sub {
		display: block;
		width: fit-content;
		margin-bottom: .5em;
		padding: 0 .75em .25em .25em;
		color: var(--themecolor);
		font-weight: 700;
		font-size: 80%;
		background: var(--dashedX), var(--dashedY);
		background-position: right bottom;
	}
	:where(#career-design2) .roadmap_section .c-paragraph {
		grid-column: 1;
	}
	:where(#career-design2) .roadmap_section.p-general4 .c-paragraph {
		margin-top: 0;
	}
	:where(#career-design2) .blueprint_section .c-link {
		margin-top: 1em;
	}
}
@media screen and (max-width: 767.98px) {
	.blueprint_roadmap .roadmap_panel,
	.blueprint_roadmap.p-roadmap2 {
		padding: calc(var(--cw) * 24 / var(--aspect));
		padding-right: 0;
	}
	.blueprint_roadmap.p-roadmap2 {
		margin-top: calc(var(--cw) * 48 / var(--aspect));
	}
	.blueprint_roadmap .roadmap_tabs .c-tab {
		--fontBasis: 13;
	}
	.blueprint_roadmap .title {
		flex-direction: column;
	}
	.blueprint_roadmap .title .sub {
		order: -1;
	}
	.blueprint_roadmap .title,
	.roadmap_section .term {
		--fontBasis: 18;
		--fontMin: .6875rem;
	}
	.roadmap_section,
	.blueprint_roadmap .c-note {
		margin-top: calc(var(--cw) * 24 / var(--aspect));
	}
	.roadmap_section .c-subject {
		order: -1;
	}
	.roadmap_section .image img {
		width: calc(var(--cw) * var(--w) * .75 / var(--aspect));
	}
	.roadmap_details {
		padding: calc(var(--cw) * 24 / var(--aspect));
	}
	.roadmap_details dd {
		--fontBasis: 14;
	}
	.p-design .roadmap_section .image img {
		width: calc(var(--cw) * var(--w) * .5 / var(--aspect));
	}
	/* キャリア設計図（設計職編） */
	:where(#career-design) .roadmap_section {
		row-gap: calc(var(--cw) * 8 / var(--aspect));
	}
	/* キャリア設計図（総合職編） */
	:where(#career-design2) .roadmap_section > * {
		grid-column: 1;
	}
	:where(#career-design2) .p-general2 .image img {
		margin-left: 10%;
	}
	:where(#career-design2) .roadmap_section .c-paragraph,
	:where(#career-design2) .roadmap_section .roadmap_details {
		margin-top: calc(var(--cw) * 16 / var(--aspect));
	}
	:where(#career-design2) .p-general4 .image {
		margin-top: calc(var(--cw) * 8 / var(--aspect));
	}
}

/* :::::: 能力開発プログラム :::::: */
.program_lead {
	margin-top: calc(var(--sectionSpace) * 2);
}
.blueprint_program {
	--maxWidth: 1080px;
	margin-top: calc(var(--sectionSpace) * .5);
}
.blueprint_program .c-cards {
	padding-left: 1em;
}
.blueprint_program .c-cards .label {
	margin-left: -1em;
	padding: .15em 0 .15em .75em;
	border-left: .5em solid var(--themecolor);
	--fontBasis: 20;
	--fontMin: .75rem;
	font-size: var(--fontSize);
}
.blueprint_program .c-cards .card {
	margin-top: calc(var(--gap) * -.25);
}
.blueprint_program .program_blank {
	display: grid;
	place-items: end center;
	position: relative;
}
.blueprint_program .program_blank::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 50% var(--breakout) 0 20%;
	border-radius: var(--radius) 0 0;
	background: var(--bgGrid);
}
.blueprint_program .program_blank img {
	width: min(var(--cw) * var(--w) / var(--aspect), var(--w) * 1px);
}
.blueprint_program .program_blank img[width="513"] {
	grid-column: span 2;
	align-self: start;
}
.blueprint_program .program_blank img[width="170"] {
	justify-self: end;
	margin-bottom: min(var(--cw) * 24 / var(--aspect), 24px);
}
.blueprint_program .program_blank img[width="212"] {
	margin-bottom: min(var(--cw) * 120 / var(--aspect), 120px);
}
:where(#career-design) .blueprint_program .program_blank {
	grid-template-columns: 1fr auto;
}
:where(#career-design2) .program_blank {
	grid-template-columns: repeat(3, auto);
}
@media print, (min-width: 768px) {
	.blueprint_program .c-cards {
		grid-auto-flow: dense;
	}
	/* キャリア設計図（設計職編） */
	:where(#career-design) .blueprint_program .c-cards .label {
		grid-column: span 3;
	}
	:where(#career-design) .blueprint_program .c-cards .program_label2 {
		grid-column: span 2;
	}
	:where(#career-design) .blueprint_program .c-cards .program_card4,
	:where(#career-design) .blueprint_program .c-cards .program_label3,
	:where(#career-design) .blueprint_program .c-cards .program_card6 {
		grid-column: 1;
	}
	:where(#career-design) .blueprint_program .c-cards .program_card5,
	:where(#career-design) .blueprint_program .c-cards .program_label4,
	:where(#career-design) .blueprint_program .c-cards .program_card7 {
		grid-column: 2;
		position: relative;
	}
	:where(#career-design) .blueprint_program .c-cards .program_label4,
	:where(#career-design) .blueprint_program .c-cards .program_card7 {
		left: var(--gap);
	}
	:where(#career-design) .blueprint_program .program_blank {
		grid-row: span 4;
		grid-column: 3;
		margin-right: calc(var(--sidegap) * -1);
	}
	:where(#career-design) .blueprint_program .program_blank img[width="212"] {
		margin-right: min(var(--cw) * 24 / var(--aspect), 24px);
	}
	/* キャリア設計図（総合職編） */
	:where(#career-design2) .blueprint_program .c-cards .card {
		grid-row: 2;
	}
	:where(#career-design2) .blueprint_program .c-cards .program_label2 {
		grid-column: 3;
	}
	:where(#career-design2) .blueprint_program .c-cards .program_label2,
	:where(#career-design2) .blueprint_program .c-cards .program_card3 {
		position: relative;
		left: var(--gap);
	}
	:where(#career-design2) .blueprint_program .program_blank {
		grid-area: 3 / 1 / 4 / 4;
		justify-content: end;
		margin-bottom: min(var(--cw) * 40 / var(--aspect), 40px);
	}
	:where(#career-design2) .blueprint_program .program_blank img[width="513"] {
		grid-column: 1;
	}
	:where(#career-design2) .blueprint_program .program_blank img[width="170"] {
		position: relative;
		left: min(var(--cw) * 16 / var(--aspect), 16px);
		margin-bottom: min(var(--cw) * -96 / var(--aspect), -96px);
	}
	:where(#career-design2) .blueprint_program .program_blank img[width="212"] {
		margin-bottom: min(var(--cw) * -16 / var(--aspect), -16px);
	}
	:where(#career-design2) .blueprint_program .program_blank::before {
		inset: 20% var(--breakout) -30% 70%;
	}
}
@media screen and (max-width: 767.98px) {
	.blueprint_program .c-cards .label {
		--fontBasis: 16;
		--fontMin: .625rem;
	}
	.blueprint_program .program_blank {
		grid-template-columns: auto auto;
	}
	.blueprint_program .program_blank::before {
		left: 0;
	}
	.blueprint_program .program_blank img {
		width: calc(var(--cw) * var(--w) * .5 / var(--aspect));
	}
	.blueprint_program .program_blank img[width="170"] {
		margin-bottom: min(var(--cw) * 16 / var(--aspect));
	}
	.blueprint_program .program_blank img[width="212"] {
		margin-bottom: min(var(--cw) * 40 / var(--aspect));
	}
}

/**
 * オフィスツアー
 * ---------------------------------------- */
.office_section {
	--maxWidth: 1080px;
}
.office_lead .decorative .sector {
	right: 94%;
	rotate: 180deg;
}
.office_section .c-label {
	font-weight: 700;
	--fontBasis: 32;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
.office_section .c-subject {
	margin-top: .5em;
}
.office_section .image {
	margin-top: min(var(--cw) * 24 / var(--aspect), 24px);
}
.office_section .image video {
	pointer-events: none;
	width: 100%;
	height: min(var(--cw) * 484 / var(--aspect), 484px);
	object-fit: cover;
}
.office_section .point {
	display: grid;
	column-gap: 2em;
	margin-top: min(var(--cw) * 40 / var(--aspect), 40px);
}
.office_section .point::before {
	content: "Point";
	color: var(--themecolor);
	--fontBasis: 28;
	--fontMin: 1rem;
	font: 700 var(--fontSize) / 1.75 var(--fontEn);
	text-transform: uppercase;
}
.office_slideshow {
	margin-top: min(var(--cw) * 40 / var(--aspect), 40px);
	margin-inline: var(--breakout);
}
@media print, (min-width: 768px) {
	.office_section .point::before {
		margin-top: -.2em;
	}
}
@media screen and (max-width: 767.98px) {
	.office_section .c-label {
		--fontBasis: 16;
		--fontMin: .625rem;
	}
	.office_section .image {
		margin-top: min(var(--cw) * 16 / var(--aspect));
	}
	.office_section .image video {
		height: calc(var(--cw) * 200 / var(--aspect));
	}
	.office_section .point {
		column-gap: 1em;
		margin-top: min(var(--cw) * 24 / var(--aspect));
	}
	.office_section .point::before {
		--fontBasis: 15;
		--fontMin: .625rem;
	}
	.office_slideshow {
		margin-top: calc(var(--cw) * 24 / var(--aspect));
	}
}

/* :::::: 共創を生み出すその他のエリア :::::: */
.office_area {
	--maxWidth: 1080px;
	margin-top: calc(var(--sectionSpace) * 2);
}
.area_section {
	display: grid;
}
.area_section .c-subject {
	position: relative;
	margin-left: 1em;
}
.area_section .c-subject::before {
	content: "";
	position: absolute;
	top: 0;
	right: calc(100% + .7em);
	width: .3em;
	height: 100%;
	border-radius: 4px;
	background: var(--themecolor);
}
.area_section .image {
	border-radius: 0 var(--radius) 0 0;
}
@media print, (min-width: 768px) {
	.office_area {
		row-gap: min(var(--cw) * 40 / var(--aspect), 40px);
	}
	.area_section {
		grid-auto-flow: dense;
		row-gap: min(var(--cw) * 24 / var(--aspect), 24px);
		column-gap: min(var(--cw) * 48 / var(--aspect), 48px);
	}
	.p-area1 {
		grid-template-columns: auto 1fr;
	}
	.p-area2 {
		grid-template-columns: 1fr auto;
	}
	.p-area2 > *,
	.p-area1 .image {
		grid-column: 1;
	}
	.p-area1 > *,
	.p-area2 .image {
		grid-column: 2;
	}
	.area_section .c-subject {
		align-self: end;
	}
	.area_section .c-paragraph {
		align-self: start;
	}
	.area_section .image {
		grid-row: span 2;
		width: min(var(--cw) * 432 / var(--aspect), 432px);
	}
}
@media screen and (max-width: 767.98px) {
	.area_section {
		margin-top: calc(var(--cw) * 24 / var(--aspect));
	}
	.area_section .c-paragraph,
	.area_section .image {
		margin-top: 1em;
	}
}

/* :::::: 類ビルについて :::::: */
.office_floor {
	--maxWidth: 1080px;
	margin-top: calc(var(--sectionSpace) * 2);
}
.floor_guide {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: 1em;
	--fontBasis: 26;
	--fontMin: .9375rem;
	font-size: var(--fontSize);
	line-height: 1.5;
}
.floor_guide dt {
	grid-column: 1;
	color: var(--themecolor);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	letter-spacing: .1em;
}
.floor_guide .num {
	font-size: 160%;
}
.floor_guide dd {
	grid-column: 2;
}
.floor_guide dd small {
	font-size: max(80%, .625rem);
}
.office_floor .image {
	position: relative;
	width: min(var(--cw) * 350 / var(--aspect), 350px);
}
.office_floor .image::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: -5% -12% 10% 24%;
	border-radius: 0 var(--radius) 0 0;
	background: var(--bgGrid);
}
#office2 .office_floor .image::before {
	inset: -5% 24% 10% -12%;
}
.office_floor .image img {
	mix-blend-mode: multiply;
}
.office_floor .c-note {
	margin-top: 1em;
}
.office_floor > .c-paragraph::before {
	content: "About floor guide";
	display: block;
	color: var(--themecolor);
	margin-bottom: .5em;
	font: 700 min(var(--cw) * 28 / var(--aspect), 1.75rem) / 1.75 var(--fontEn);
	text-transform: uppercase;
}
@media print, (min-width: 768px) {
	.office_floor {
		grid-template-columns: auto 1fr;
		grid-auto-flow: dense;
		align-items: center;
		row-gap: min(var(--cw) * 40 / var(--aspect), 40px);
		column-gap: min(var(--cw) * 80 / var(--aspect), 80px);
	}
	.office_floor > * {
		grid-column: 2;
	}
	.office_floor .page_lead {
		grid-column: span 2;
	}
	.office_floor > .c-paragraph {
		width: 80%;
		margin-top: 1em;
	}
	.office_floor .image {
		grid-row: span 3;
		grid-column: 1;
	}
	.office_floor .c-note {
		align-self: end;
	}
	#office2 .floor_guide {
		row-gap: 2.4em;
		margin-top: .2em;
	}
	#office2 .office_floor img {
		translate: min(var(--cw) * 40 / var(--aspect), 40px) 0;
	}
}
@media screen and (max-width: 767.98px) {
	.floor_guide {
		margin-top: .5em;
		--fontBasis: 16;
		--fontMin: .625rem;
	}
	.office_floor .image {
		width: min(var(--cw) * 260 / var(--aspect));
		margin: 3em auto 0;
	}
	#office2 .office_floor .image {
		margin-top: 1.6em;
	}
	.floor_guide,
	.office_floor .image,
	.office_floor .c-note {
		order: 1;
	}
	.office_floor > .c-paragraph {
		margin-top: calc(var(--cw) * 24 / var(--aspect));
	}
	.office_floor > .c-paragraph::before {
		--fontBasis: 15;
		--fontMin: .625rem;
		font-size: var(--fontSize);
	}
}

/* :::::: Root :::::: */
.root_section {
	--maxWidth: 1080px;
}
.p-root-intro {
	display: grid;
	justify-items: center;
	justify-content: center;
	gap: min(var(--cw) * 48 / var(--aspect), 48px);
}
.p-root-intro .root_logo svg {
	width: min(var(--cw) * 540 / var(--aspect), 540px);
	height: auto;
}
.p-root-intro .c-paragraph:first-child {
	margin-top: 0;
}
.p-root-intro .image {
	position: relative;
	padding-bottom: calc(var(--sectionSpace) * .5);
}
.p-root-intro .image span {
	--length: 4em;
	position: absolute;
	--fontBasis: 16;
	font-size: var(--fontSize);
}
.p-root-intro .image span::before {
	content: "";
	position: absolute;
	width: var(--length);
	height: 2px;
	background: var(--dashedXSvg);
	background-repeat: repeat-x;
}
.p-root-intro .image .area1 {
	--length: 7.5em;
	top: 0;
	left: 48%;
}
.p-root-intro .image .area2 {
	--length: 5.5em;
	top: 15%;
	left: 71%;
}
.p-root-intro .image .area3 {
	bottom: 0;
	left: 54%;
}
.p-root-intro .image .area1::before,
.p-root-intro .image .area2::before {
	bottom: 0;
	right: 50%;
	transform-origin: right center;
	rotate: -60deg;
}
.p-root-intro .image .area3::before {
	top: 0;
	left: 72%;
	transform-origin: left center;
	rotate: -40deg;
}
@media print, (min-width: 768px) {
	.p-root-intro .root_logo {
		grid-column: span 2;
	}
	.p-root-intro .image {
		width: min(var(--cw) * 516 / var(--aspect), 516px);
	}
	.p-root-intro .text {
		display: grid;
		align-content: center;
	}
}
@media screen and (max-width: 767.98px) {
	.p-root-intro {
		gap: calc(var(--cw) * 24 / var(--aspect));
	}
	.p-root-intro .root_logo svg {
		width: calc(var(--cw) * 240 / var(--aspect));
	}
	.p-root-intro .image span {
		--fontBasis: 14;
	}
	.p-root-intro .image .area1 {
		--length: 5.3em;
		left: 46%;
	}
	.p-root-intro .image .area2 {
		--length: 3.5em;
		left: 67%;
	}
	.p-root-intro .image .area3 {
		--length: 3em;
		left: 52%;
	}
}
.root_section .c-label {
	margin-bottom: .5em;
	font-weight: 700;
	--fontBasis: 40;
	--fontMin: 1rem;
	font-size: var(--fontSize);
	letter-spacing: .2em;
}
.root_section .c-label small {
	margin-left: -.3em;
	font-size: 80%;
}
.root_section .image {
	display: grid;
	gap: min(var(--cw) * 10 / var(--aspect), 10px);
}
.root_section .c-paragraph {
	margin-top: 1em;
}
@media print, (min-width: 768px) {
	.p-root2 .image {
		grid-template-columns: 1fr min(var(--cw) * 678 / var(--aspect), 610px);
	}
	.p-root3 .image {
		grid-template-columns: min(var(--cw) * 678 / var(--aspect), 610px) 1fr;
	}
	.root_section .image img:first-child {
		grid-row: span 2;
	}
	.root_section .image img:nth-child(2) {
		grid-row: 1;
	}
	.root_section .image img:nth-child(3) {
		grid-row: 2;
	}
	.p-root2 .image img:nth-child(n+2),
	.p-root3 .image img:first-child {
		grid-column: 1;
	}
	.p-root2 .image img:first-child,
	.p-root3 .image img:nth-child(n+2) {
		grid-column: 2;
	}
}
@media screen and (max-width: 767.98px) {
	.root_section .c-label {
		--fontBasis: 24;
	}
	.root_section .image {
		grid-template-columns: 1fr 1fr;
		gap: calc(var(--cw) * 2 / var(--aspect));
	}
	.root_section .image img:first-child {
		grid-column: span 2;
	}
}

/* :::::: Gallery :::::: */
.root_gallery {
	--maxWidth: 1080px;
	display: grid;
	margin-top: calc(var(--sectionSpace) * 2);
}
.p-root-gallery img {
	width: 100%;
}
@media print, (min-width: 768px) {
	.p-root-gallery {
		gap: min(var(--cw) * 10 / var(--aspect), 10px);
	}
	.p-root-gallery img {
		display: block;
		grid-column: 2;
		justify-self: start;
		width: min(var(--cw) * var(--w) * .5 / var(--aspect), var(--w) * .5px);
	}
	.p-root-gallery :is(.photo1, .photo4, .photo6) {
		grid-column: 1;
		justify-self: end;
	}
	.p-root-gallery :is(.grid, .dashed) {
		grid-area: 1 / 1 / 9 / 3;
		z-index: -1;
		position: relative;
	}
	.p-root-gallery :is(.grid, .dashed)::before,
	.p-root-gallery :is(.grid, .dashed)::after {
		content: "";
		position: absolute;
	}
	.p-root-gallery .grid::before,
	.p-root-gallery .grid::after {
		width: 50%;
		height: 60%;
		border-radius: 0 var(--radius) 0 0;
		background: var(--bgGrid);
	}
	.p-root-gallery .grid::before {
		top: calc(var(--sidegap) * -1);
		left: calc(var(--sidegap) * -1);
	}
	.p-root-gallery .grid::after {
		right: calc(var(--sidegap) * -1);
		bottom: calc(var(--sidegap) * -1);
	}
	.p-root-gallery .dashed::before,
	.p-root-gallery .dashed::after {
		width: 56vw;
		height: 2px;
		background: var(--dashedX);
	}
	.p-root-gallery .dashed::before {
		top: calc(var(--sidegap) * -.5);
		left: var(--breakout);
	}
	.p-root-gallery .dashed::after {
		right: var(--breakout);
		bottom: calc(var(--sidegap) * -.5);
	}
	.p-root-gallery .photo1 {
		grid-row: 1 / 4;
	}
	.p-root-gallery .photo2 {
		grid-area: 7 / 1 / 9 / 3;
		justify-self: center;
		margin-left: min(var(--cw) * 120 / var(--aspect), 120px);
	}
	.p-root-gallery .photo3 {
		grid-row: 3 / 5;
		margin-left: max(var(--cw) * -80 / var(--aspect), -80px);
	}
	.p-root-gallery .photo4 {
		grid-row: 6 / 8;
		justify-self: center;
	}
	.p-root-gallery .photo5 {
		grid-row: 5 / 7;
		justify-self: center;
	}
	.p-root-gallery .photo6 {
		grid-row: 4 / 6;
	}
	.p-root-gallery .photo7 {
		grid-row: 2 / 3;
		margin-left: min(var(--cw) * 80 / var(--aspect), 80px);
	}
	/* motion */
	.p-root-gallery img,
	.p-root-gallery :is(.grid, .dashed)::before,
	.p-root-gallery :is(.grid, .dashed)::after {
		--offset: 8px;
		translate: 0 calc(var(--y) * var(--offset));
	}
	.p-root-gallery .grid::before,
	.p-root-gallery .grid::after {
		--offset: 4px;
	}
	.p-root-gallery .photo1 { --offset: 7px; }
	.p-root-gallery .photo2 { --offset: 8px; }
	.p-root-gallery .photo3 { --offset: 9px; }
	.p-root-gallery .photo4 { --offset: 10px; }
	.p-root-gallery .photo5 { --offset: 5px; }
	.p-root-gallery .photo6 { --offset: 6px; }
	.p-root-gallery .photo7 { --offset: 4px; }
}
@media screen and (max-width: 767.98px) {
	.p-root-gallery {
		gap: calc(var(--cw) * 2 / var(--aspect));
		width: var(--cw);
		margin-top: var(--sectionSpace);
	}
	.p-root-gallery .photo1 {
		grid-area: 1 / 1;
	}
	.p-root-gallery :is(.photo1, .photo2) {
		grid-row: 1;
	}
	.p-root-gallery :is(.photo5, .photo6, .photo7) {
		grid-row: 2;
	}
	.p-root-gallery :is(.photo3, .photo4) {
		grid-row: 3;
	}
	.p-root-gallery .photo1,
	.p-root-gallery .photo3 {
		grid-column: 1 / 4;
	}
	.p-root-gallery .photo2,
	.p-root-gallery .photo4 {
		grid-column: 4 / 7;
	}
	.p-root-gallery .photo5 {
		grid-column: 1 / 3;
	}
	.p-root-gallery .photo6 {
		grid-column: 3 / 5;
	}
	.p-root-gallery .photo7 {
		grid-column: 5 / 7;
	}
	.p-root-gallery .photo2 {
		aspect-ratio: 61 / 48;
		object-fit: cover;
	}
}

/* :::::: 東京設計室について :::::: */
.floor_lead {
	margin-top: calc(var(--sectionSpace) * 2);
}
.p-root4 {
	justify-content: center;
	row-gap: 1em;
	position: relative;
	padding-bottom: min(var(--cw) * 64 / var(--aspect), 64px);
}
.p-root4::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: -10% 67% 0 10%;
	border-radius: 0 var(--radius) 0 0;
	background: var(--bgGrid);
}
.p-root4 .label {
	color: var(--themecolor);
	font-family: var(--fontEn);
	text-transform: uppercase;
}
.p-root4 .floor_guide {
	row-gap: .25em;
	position: relative;
}
.p-root4 .floor_guide::before,
.p-root4 .floor_guide::after {
	content: "";
	position: absolute;
	left: max(var(--cw) * -120 / var(--aspect), -120px);
	bottom: max(var(--cw) * -80 / var(--aspect), -80px);
}
.p-root4 .floor_guide::before {
	left: max(var(--cw) * -80 / var(--aspect), -80px);
	width: 2px;
	height: 100%;
	background: var(--dashedY);
}
.p-root4 .floor_guide::after {
	bottom: max(var(--cw) * -40 / var(--aspect), -40px);
	width: 100%;
	height: 2px;
	background: var(--dashedX);
}
.p-root4 .floor_guide small {
	font-size: 80%;
	font-family: var(--fontEn);
}
@media print, (min-width: 768px) {
	.p-root4 {
		width: fit-content;
	}
	.p-root4 .label {
		margin-left: 4.8em;
		--fontBasis: 26;
		--fontMin: .9375rem;
		font-size: var(--fontSize);
	}
	.p-root4 .floor_guide dt::before {
		content: "";
		display: inline-block;
		width: 4em;
		height: 1em;
		margin: -.25em 1.25em 0 0;
		vertical-align: middle;
		background: currentcolor;
		transform: skew(-60deg);
	}
}
@media screen and (max-width: 767.98px) {
	.p-root4 {
		padding-bottom: calc(var(--cw) * 64 / var(--aspect));
	}
	.p-root4::before {
		right: 50%;
		left: calc(var(--sidegap) * -2);
	}
	.p-root4 .floor_guide::before {
		left: calc(var(--sidegap) * -1);
		bottom: calc(var(--sidegap) * -2);
	}
	.p-root4 .floor_guide::after {
		left: calc(var(--sidegap) * -2);
		bottom: calc(var(--sidegap) * -1);
	}
}

/**
 * お知らせ・新着情報
 * ---------------------------------------- */
.page_visual.-short {
	height: calc(var(--cw) * 480 / var(--aspect));
}
@media screen and (max-width: 767.98px) {
	.page_visual.-short {
		height: min(var(--cw) * 320 / var(--aspect), 400px);
	}
}

/**
 * インターンシップ
 * ---------------------------------------- */
.info_section .page_lead p {
	--fontBasis: 18;
	--fontMin: .6875rem;
	font-size: var(--fontSize);
	line-height: 2;
}
@media screen and (max-width: 767.98px) {
	.info_section .page_lead p {
		--fontBasis: 14;
		--fontMin: .6125rem;
	}
}
/* 一覧 */
.internship_lineup {
	margin-top: calc(var(--sectionSpace) * 1.25);
}
.internship_lineup .name,
.internship_lineup .description {
	font-size: var(--fontSize);
	text-align: center;
}
.internship_lineup .name {
	--fontBasis: 32;
}
.internship_lineup .description {
	margin-top: 1em;
	--fontBasis: 18;
}
.internship_lineup .item {
	position: relative;
	margin-top: calc(var(--sectionSpace) * .5);
	padding-block: calc(var(--sectionSpace) * .5);
}
.internship_lineup .item::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0 var(--breakout);
	background: var(--bgGrid);
}
.internship_lineup .item + .item {
	margin-top: calc(var(--sectionSpace) * .25);
}
.internship_lineup .link {
	display: grid;
	gap: calc(var(--sectionSpace) * .25);
	position: relative;
}
.internship_lineup .text {
	align-self: center;
}
.internship_lineup .title {
	--fontBasis: 20;
	font-size: var(--fontSize);
	line-height: 1.5;
}
.internship_lineup .target {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1em;
	margin-top: .75em;
	padding-top: 1em;
	font-size: var(--fontSize);
	line-height: 1.5;
	background: var(--dashedX);
	background-position: left top;
}
.internship_lineup .target dt {
	font-weight: 700;
}
.internship_lineup .for {
	display: flex;
	flex-wrap: wrap;
	gap: .25em;
	margin-top: .5em;
	font-size: var(--fontSize);
}
.internship_lineup .for dt {
	flex-basis: 90%;
	font-weight: 700;
}
.internship_lineup .for dd {
	padding: .25em .5em;
	border-radius: 3px;
	line-height: 1.2;
	background: #eaeaea;
}
.internship_lineup .status {
	z-index: 1;
	position: absolute;
	top: .5em;
	left: -.5em;
	padding: .25em .75em;
	color: var(--themecolor);
	font-weight: 700;
	--fontBasis: 14;
	font-size: var(--fontSize);
	line-height: 1.5;
	background: white;
}
.internship_lineup .image {
	order: -1;
	margin: 0;
}
.internship_lineup .image.-dummy {
	background: #eaeaea;
}
.internship_lineup .image.-dummy img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
@media screen and (max-width: 767.98px) {
	.internship_lineup .name {
		--fontBasis: 24;
	}
	.internship_lineup .description {
		--fontBasis: 14;
	}
	.internship_lineup .title {
		--fontBasis: 18;
	}
	.internship_lineup .target {
		column-gap: .5em;
		--fontBasis: 14;
	}
	.internship_lineup .for {
		--fontBasis: 12;
	}
}
@media print, (min-width: 768px) {
	.internship_lineup .link {
		grid-template-columns: min(30%, 260px) 1fr;
		gap: calc(var(--sectionSpace) * .5);
	}
}

/**
 * 採用情報
 * ---------------------------------------- */
.info_section > .title {
	padding-left: .7em;
	border-left: .3em solid var(--themecolor);
	font-weight: 700;
	--fontBasis: 36;
	--fontMin: 1rem;
	font-size: var(--fontSize);
}
.info_section .c-paragraph {
	margin-top: 1em;
	--fontBasis: 18;
	--fontMin: .6875rem;
}
.info_section .c-button,
.info_section .title + .c-paragraph {
	margin-top: min(var(--cw) * 40 / var(--aspect), 40px);
}
.info_section .c-button {
	justify-self: center;
}
@media screen and (max-width: 767.98px) {
	.info_section > .title {
		--fontBasis: 20;
		--fontMin: .75rem;
	}
	.info_section .c-paragraph {
		--fontBasis: 14;
		--fontMin: .625rem;
	}
	.info_section .c-button,
	.info_section .title + .c-paragraph {
		margin-top: min(var(--cw) * 24 / var(--aspect));
	}
}
@media print, (min-width: 768px) {
	:where(#internship, #news) .info_section {
		--maxWidth: 900px;
		--aspect: 1080;
	}
	:where(#internship, #news) .info_section .info_lead {
		--aspect: 1440;
	}
}

/* :::::: 選考フロー :::::: */
.info_flow {
	position: relative;
	margin-top: calc(var(--sectionSpace) * .5);
	padding: calc(var(--sectionSpace) * .5) 0;
}
.info_flow::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0 var(--breakout);
	background: var(--bgGrid);
}
.info_flow .c-label {
	--fontBasis: 24;
	--fontMin: .8125rem;
}
/* フロー */
.info_flow .flow_list {
	margin-top: 2em;
}
.info_flow .flow_list[data-steps="6"] {
	--col: 6;
	--size: 172;
	--max: 153;
	--gap: 32;
}
.info_flow .flow_list[data-steps="5"] {
	--col: 5;
	--size: 207;
	--max: 184;
	--gap: 40;
}
.info_flow .flow_list .item {
	--fontBasis: 24;
	--fontMin: .8125rem;
	font-size: var(--fontSize);
}
.info_flow .flow_list .item::before {
	font-size: max(64%, .625rem);
}
.info_flow .flow_list .c-list {
	--fontBasis: 15;
	--fontMin: .6875rem;
	font-size: var(--fontSize);
	margin-top: .5em;
}
.info_flow .flow_list .c-list li {
	margin-right: -.5em;
}
.info_flow .flow_list .c-list small {
	font-size: max(80%, .625rem);
}
@media screen and (max-width: 767.98px) {
	.info_flow .c-label {
		--fontBasis: 16;
		--fontMin: .75rem;
	}
	.info_flow .flow_list[data-steps="6"],
	.info_flow .flow_list[data-steps="5"] {
		--size: 144;
		--gap: 16;
	}
	.info_flow .flow_list .item {
		--fontBasis: 16;
		--fontMin: .75rem;
	}
	.info_flow .flow_list .c-list {
		--fontBasis: 12;
		--fontMin: .625rem;
	}
}
/* 注釈 */
.info_flow .flow_notes {
	display: grid;
	--fontBasis: 14;
	--fontMin: .625rem;
	font-size: var(--fontSize);
}
.info_flow .flow_note {
	display: grid;
	row-gap: .5em;
}
@media print, (min-width: 768px) {
	.info_flow .flow_notes {
		grid-template-columns: auto auto;
		align-items: start;
		justify-content: center;
		column-gap: 2em;
		margin-top: 1em;
	}
}
@media screen and (max-width: 767.98px) {
	.info_flow .flow_notes {
		--fontBasis: 12;
	}
	.info_flow .flow_note {
		margin-top: 1em;
		row-gap: .25em;
	}
}

/**
 * プリントCSS
 * ---------------------------------------- */
@page { margin: 3mm; }
@media print {
	body {
		width: 1200px;
    	--cw: 1200px !important;
    	--vh: 297mm !important;
		-webkit-print-color-adjust: exact;
	}
	.l-header .menu,
	.l-header .drawer,
	.visual_topics,
	.chapter_menu {
		display: none;
	}
	
	.pin-spacer {
		display: contents !important;
	}
	.home_visual,
	.visual_overlay {
		top: 0 !important;
		left: 0 !important;
		width: auto !important;
		max-width: none !important;
		height: 50vh !important;
	}
	.home_visual {
		position: absolute !important;
		transform: none !important;
	}
	.home_visual_container {
		transform: none !important;
	}
	
	.home_concept .shadow {
		display: none;
	}
	.home_concept .intro {
		margin-top: 4em;
		color: var(--black);
	}
	.home_concept .lead {
		margin-top: 1em;
		padding: 0 !important;
		line-height: 2;
	}
	.home_concept .l {
		clip-path: inset(0) !important;
	}
	.home_concept .decorative,
	.home_concept .d-rect,
	.home_concept .d-yline,
	.home_concept .d-yarrow {
		position: absolute !important;
	}
	
	/* 測る線 */
	.decorative {
		--p: 0 !important;
	}
	.home_concept .decorative {
		display: none;
	}
	
	.page_visual .bg img,
	.page_visual .bg video {
		filter: none !important;
		transform: none !important;
	}
	
	.roadmap_panels {
		height: auto !important;
	}
	
	/* 虫眼鏡定位置 */
	.c-lupe {
		--shift: 0 !important;
	}
	#interview1 .p-interview2 .c-subject .c-lupe,
	#interview2 .p-interview3 .c-subject .c-lupe,
	#interview3 .p-interview1 .c-subject .c-lupe {
		--shift: -.4em !important;
	}
	#interview1 .p-interview3 .c-subject .c-lupe {
		--shift: -.35em !important;
	}
	.home_interview .subject.c-lupe,
	.people_other .home_subjects .subject.c-lupe {
		--shift: 2.4em !important;
	}
	.p-pursue .title.c-lupe {
		--shift: 4.1em !important;
	}

	.image,
	.speaker,
	.pagetop,
	.p-pursue,
	.home_project .num,
	.home_project .splide__progress {
		page-break-inside: avoid;
	}
}

/**
 * WordPress記事
 * -------------------------------------------------- */
.post_date {
	margin-top: 0;
	--fontBasis: 14;
	font-size: var(--fontSize);
}
.post_title {
	margin-top: .25em;
	font-weight: 500;
	--fontBasis: 32;
	font-size: var(--fontSize);
}
.post_content {
	margin-top: calc(var(--sectionSpace) * .5);
}
.post_content > :first-child {
	margin-top: 0;
}
.post_content > :last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 767.98px) {
	.post_date {
		--fontBasis: 12;
	}
	.post_title {
		--fontBasis: 20;
	}
}
