@charset "utf-8";

.l-main {
	overflow-x: clip;
}
.p-pagetitle + .c-subject {
	position: relative;
	margin-top: calc(var(--basisgap) * 2);
	padding: var(--basisgap);
	padding-top: 0;
	--font-basis: 28;
	text-align: center;
}
.p-pagetitle + .c-subject::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	width: 3em;
	border-bottom: .1905em solid var(--orange);
	margin: 0 auto;
}
@media screen and (max-width: 767.98px) {
	.p-pagetitle + .c-subject {
		--font-basis: 15;
	}
}
.p-pagetitle .l {
	clip-path: inset(.2em 0);
}
.p-pagetitle rt.l {
	clip-path: inset(0);
}
.p-pagetitle .c {
	display: inline-block;
}
.p-pagetitle.is-standby .c {
	translate: 0 108%;
}
.p-pagetitle.is-motion .c {
	transition: translate 1s cubic-bezier(.2,0,.2,1);
	transition-delay: calc(var(--delay) * .05s);
}
.p-pagetitle.is-motion rt .c {
	--delay: 5;
}
.p-pagetitle.is-motion .c:nth-child(2) { --delay: 1; }
.p-pagetitle.is-motion .c:nth-child(3) { --delay: 2; }
.p-pagetitle.is-motion .c:nth-child(4) { --delay: 3; }
.p-pagetitle.is-motion .c:nth-child(5) { --delay: 4; }
.p-pagetitle.is-motion .c:nth-child(6) { --delay: 5; }
.p-pagetitle.is-motion .c:nth-child(7) { --delay: 6; }
.p-pagetitle.is-motion .c:nth-child(8) { --delay: 7; }
.p-pagetitle.is-motion .c:nth-child(9) { --delay: 8; }
.p-pagetitle.is-motion .c:nth-child(10) { --delay: 9; }
.p-pagetitle.is-motion .c:nth-child(11) { --delay: 10; }
.p-pagetitle.is-motion .c:nth-child(12) { --delay: 11; }
.p-pagetitle.is-motion .c:nth-child(13) { --delay: 12; }
.p-pagetitle.is-motion .c:nth-child(14) { --delay: 13; }

/**
 * ニュース
 * ---------------------------------------- */
[data-page="news"] .p-pagetitle {
	justify-content: flex-start;
	width: var(--contents-width);
	height: auto;
	margin: 0 auto;
	padding-top: calc(var(--basisgap) * 5);
}
[data-page="news"] .p-pagetitle .c-title {
	color: var(--gray);
}
[data-page="news"] .p-pagetitle .c-title rt {
	text-align: left;
}
[data-page="news"] .l-shadow {
	display: none;
}

.news_section {
	display: grid;
	width: var(--contents-width);
	margin: calc(var(--sectiongap) * .78) auto 0;
}
.news_section .news_list .item {
	background: white;
}
@media print, (min-width: 768px) {
	.news_section {
		grid-template-columns: 1fr 4fr;
	}
}

.news_list {
	transition: height .4s var(--ease-out);
}
.news_container {
	transition: opacity .4s;
}
.news_list.is-hide {
	transition-duration: .2s;
}
.news_container.is-hide {
	opacity: 0;
	transition-duration: .2s;
}

/* カテゴリー一覧 */
.news_categories {
	margin-top: -.75em;
}
.category_list {
	display: flex;
	color: var(--gray);
	font-weight: 600;
}
.category_list li::before {
	content: "●";
	display: inline-block;
	color: var(--orange);
}
.category_list :where(a, button) {
	display: inline-block;
	padding: .5em .25em;
	font: inherit;
}
.category_list .is-selected {
	color: var(--orange);
}
@media (hover) {
	.category_list li::before {
		transition: scale .4s var(--ease-out);
	}
	.category_list :where(a, button) {
		transition: translate .4s var(--ease-out);
	}
	.category_list li:hover::before {
		scale: 1.25;
		transition-timing-function: var(--ease-back);
	}
	.category_list li:hover :where(a, button) {
		translate: .5em 0;
		transition-timing-function: var(--ease-back);
	}
}
@media print, (min-width: 768px) {
	.category_list {
		flex-direction: column;
		position: sticky;
		top: var(--header-height);
	}
}
@media screen and (max-width: 767.98px) {
	.category_list {
		flex-wrap: wrap;
		column-gap: 1em;
		padding: var(--basisgap) 0;
		border-image: linear-gradient(var(--whitesmoke), var(--whitesmoke)) 1 0 / 1px 0 / 0 50vw;
		--font-basis: 16;
	}
	.category_list :where(a, button) {
		padding: .25em .5em;
	}
}

/* ニュース一覧 */
.news_list {
	--shift: 0px; /* Home 用 */
	z-index: 1;
	position: relative;
	padding-left: var(--shift);
}
.news_list .item {
	border-image: linear-gradient(var(--gray), var(--gray)) 0 0 1 / 0 0 1px / 0 50vw 0 0;
}
.news_list .item a {
	display: flex;
	align-items: center;
	column-gap: 1em;
}
.news_list .date {
	--font-basis: 15;
}
.news_list .category {
	margin-top: -.1em;
	padding: .25em .75em .1em;
	border-radius: 2em;
	color: white;
	background: var(--orange);
	--font-basis: 12;
	line-height: 1.2;
	letter-spacing: 0;
}
.news_list .subject {
	font-weight: inherit;
	--font-basis: 18;
	line-height: 1.5;
}
.news_list .image {
	aspect-ratio: 16 / 9;
	height: auto;
	margin-left: auto;
	border: 1px solid var(--gray);
}
@media (hover) {
	.news_list .item a {
		--scale: 1 0;
		z-index: 0;
		position: relative;
		transition: color .2s .1s var(--ease-out);
	}
	.news_list .category {
		transition: color .2s .1s var(--ease-out), background .2s .1s var(--ease-out);
	}
	.news_list .item a::before {
		content: "";
		z-index: -1;
		position: absolute;
		inset: 0;
		right: calc(var(--breakout) + var(--shift) * .5);
		background: var(--orange);
		scale: var(--scale);
		transform-origin: left bottom;
		transition: border-radius .4s var(--ease-inout), scale .4s var(--ease-inout);
	}
	.news_list .item a:hover,
	.news_list .item a:focus {
		--scale: 1;
		color: white;
		transition-delay: 0s;
	}
	.news_list a:hover .category,
	.news_list a:focus .category {
		color: var(--orange);
		background: white;
		transition-delay: 0s;
	}
	.news_list .item a:hover::before {
		transition-duration: .2s;
		transition-timing-function: var(--ease-out);
	}
}
@media print, (min-width: 768px) {
	:where(.news_section) .news_list .item:first-child {
		border-image: linear-gradient(var(--gray), var(--gray)) 1 0 / 1px 0 / 0 50vw 0 0;
	}
	.news_list .item a {
		padding: 1rem 1.5rem;
		padding-right: calc(var(--basisgap) * 1.25);
	}
	.news_list .subject {
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.news_list .image {
		width: min(var(--cw) * 180 / var(--aspect), 180px);
	}
}
@media screen and (max-width: 767.98px) {
	.news_list {
		margin-top: var(--basisgap);
	}
	.news_list .item a {
		display: grid;
		justify-content: space-between;
		gap: .5em 1em;
		padding: var(--basisgap) 0;
	}
	.news_list .date {
		grid-area: 1 / 1 / 2 / 3;
		--font-basis: 13;
	}
	.news_list .category {
		grid-area: 1 / 1 / 2 / 3;
		justify-self: flex-end;
		--font-basis: 10;
	}
	.news_list .subject {
		grid-area: 2 / 1;
		align-self: flex-start;
		--font-basis: 15;
	}
	 .news_list .image {
		grid-area: 2 / 2;
		margin: 0;
	}
}

.news_pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: calc(var(--sectiongap) * .75);
	--font-basis: 28;
}
.news_pagination .page,
.news_pagination .ellipsis {
	display: grid;
	place-items: center;
	height: 2em;
	padding-top: .1em;
	color: var(--gray);
	font-weight: 600;
	font-size: inherit;
	line-height: 1.2;
	font-family: var(--font-p);
	opacity: .5;
}
.news_pagination .page {
	width: 2em;
	background: white;
}
.news_pagination .page + .page {
	border: 1px solid var(--gray);
}
.news_pagination .ellipsis {
	margin-inline: .3em;
}
.news_pagination li:has(.page.prev, .page.next) {
	flex-grow: 1;
}
.news_pagination .page.next {
	margin-left: auto;
}
.news_pagination .is-disabled {
	pointer-events: none;
	opacity: .2;
}
.news_pagination .is-current {
	pointer-events: none;
	color: var(--orange);
	opacity: 1;
	background: white;
}
@media screen and (max-width: 767.98px) {
	.news_pagination {
		--font-basis: 16;
	}
	.news_pagination .page {
		width: 1.8em;
	}
}
@media (hover) {
	.news_pagination .page {
		transition: background-color .4s, opacity .4s;
	}
	.news_pagination .page:hover {
		background: var(--whitesmoke);
		transition-duration: .1s;
	}
}

/* ニュース記事 */
.news_article {
	padding-top: calc(var(--basisgap) * 1.5);
	border-image: linear-gradient(var(--gray), var(--gray)) 1 0 0 / 1px 0 0;
	border-image-outset: 0 50vw 0 0;
}
.news_contents {
	padding-bottom: calc(var(--basisgap) * 1.5);
	border-image: linear-gradient(var(--gray), var(--gray)) 0 0 1 / 0 0 1px;
}
.news_data {
	display: flex;
	align-items: center;
	gap: .5em 1em;
	--font-basis: 18;
	line-height: 1.2;
}
.news_data .date {
	color: var(--orange);
	font-size: inherit;
}
.news_data .category {
	margin-top: -.2em;
	padding: .25em .75em .1em;
	border-radius: 2em;
	color: white;
	background: var(--orange);
	font-size: 66.6666%;
	letter-spacing: 0;
}
.news_contents .subject {
	margin-top: var(--basisgap);
	font-weight: 500;
	--font-basis: 24;
	line-height: 1.5;
}
.news_contents .image {
	max-width: min(var(--cw) * 800 / var(--aspect), 800px);
	margin-top: var(--basisgap);
	border: 1px solid currentcolor;
}
.news_contents .image + .c-paragraph {
	margin-top: var(--basisgap);
}
.news_contents .c-paragraph {
	margin-top: 1em;
}
@media print, (min-width: 768px) {
	.news_contents {
		padding-inline: var(--basisgap);
	}
}
@media screen and (max-width: 767.98px) {
	.news_data {
		--font-basis: 14;
	}
	.news_data .category {
		font-size: 72%;
	}
	.news_contents .subject {
		--font-basis: 18;
	}
	.news_contents .c-paragraph {
		letter-spacing: 0;
	}
}

/* ページネーション */
.news_paginate {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 2em;
	margin-top: calc(var(--basisgap) * 1.5);
	font-weight: 600;
	--font-basis: 28;
}
.news_paginate a {
	color: var(--gray);
}
.news_paginate .index {
	color: var(--orange);
}
.news_paginate a:not([href]) {
	color: var(--whitesmoke);
}
@media screen and (max-width: 767.98px) {
	.news_paginate {
		--font-basis: 16;
	}
}


/**
 * 会社概要
 * ---------------------------------------- */
.about_section {
	display: grid;
	width: var(--contents-width);
	margin: var(--sectiongap) auto 0;
}
.about_column {
	margin-top: calc(var(--sectiongap) / 2);
}
.about_column:first-of-type {
	margin-top: calc(var(--sectiongap) / 4);
}
.about_section .c-subject {
	margin-top: .5em;
	letter-spacing: .01em;
}
.about_section .c-paragraph {
	letter-spacing: .01em;
}
.c-about_label {
	color: var(--orange);
	font-weight: 500;
	--font-basis: 30;
	letter-spacing: .02em;
}
.about_column {
	margin-top: calc(var(--sectiongap) / 2);
}
.c-about_label rt {
	display: inline-block;
	margin-left: .5em;
	color: black;
	font-size: 53.3333%;
}
.c-about_balloon {
	width: fit-content;
	padding: .2em .8em .1em;
	border-radius: 2em;
	border-bottom-left-radius: 0;
	color: white;
	--font-basis: 24;
	line-height: 1.2;
	background: var(--orange);
}
.about_section .section_image {
	overflow: hidden;
	border-top-left-radius: var(--radius);
}
@media print, (min-width: 768px) {
	.about_section {
		grid-template-columns: 12fr 10fr;
		align-items: flex-start;
		column-gap: var(--basisgap);
	}
	.about_section .section_image {
		position: sticky;
		top: var(--header-height);
		margin-right: calc(var(--contents-width) / 2 - var(--cw) / 2);
	}
}
@media screen and (max-width: 767.98px) {
	.c-about_label {
		--font-basis: 20;
	}
	.c-about_balloon {
		--font-basis: 16;
	}
	.about_section .c-subject {
		margin-top: 1em;
	}
	.about_section .section_image {
		margin-right: calc(var(--basisgap) * -1);
	}
}

[data-page="about"] .c-building {
	z-index: -1;
	margin: var(--basisgap) auto;
}

/* Message */
.p-about_message,
.p-about_philosophy {
	position: relative;
}
.p-about_message .c-paragraph {
	margin-top: 1.5em;
}
.p-about_message .c-paragraph.-author {
	text-align: right;
}
.p-about_philosophy .c-paragraph {
	margin-top: .75em;
}
@media print, (min-width: 768px) {
	.p-about_message .c-subject + .c-paragraph {
		margin-top: 2em;
	}
	.p-about_message .c-paragraph.-author {
		margin-top: 3em;
	}
}
@media screen and (max-width: 767.98px) {
	.p-about_message .text {
		display: contents;
	}
	.p-about_message :is(.c-about_label, .c-subject, .section_image) {
		order: -1;
	}
	.p-about_message .section_image {
		margin-top: var(--basisgap);
	}
	.p-about_philosophy {
		row-gap: var(--basisgap);
	}
}
.p-about_message .c-graphpaper {
	--w: 356;
	--h: 1714;
	z-index: -1;
	top: -4%;
	right: 10%;
	border-top-left-radius: var(--radius);
}
.p-about_philosophy .c-graphpaper {
	--w: 1020;
	--h: 1020;
	z-index: -1;
	left: 70%;
	border-radius: 50%;
}
.p-about_philosophy .c-graphpaper::after {
	content: "";
	position: absolute;
	top: 25%;
	left: 25%;
	width: 50%;
	height: 50%;
	border-radius: inherit;
	background: white;
}
@media screen and (max-width: 767.98px) {
	.p-about_message .c-graphpaper {
		--w: 160;
		--h: 640;
		top: 40%;
		right: calc(var(--basisgap) * -1);
	}
	.p-about_philosophy .c-graphpaper {
		--w: 510;
		--h: 510;
		top: 24%;
		left: 30%;
	}
}

/* Value */
.p-about_value .c-subject::before {
	content: "";
	display: inline-block;
	width: calc(var(--basisgap) * .5);
	height: calc(var(--basisgap) * .5);
	margin-right: calc(var(--basisgap) * .25);
	border-radius: calc(var(--basisgap) * .5);
	text-indent: calc(var(--basisgap) * -.75);
	vertical-align: middle;
	background: var(--orange);
}
.p-about_value .c-paragraph {
	padding-left: calc(var(--basisgap) * .75);
}
.p-about_value .c-paragraph + .c-subject {
	margin-top: .75em;
}
@media screen and (max-width: 767.98px) {
	.p-about_value .c-paragraph + .c-subject {
		margin-top: 1em;
	}
	.p-about_value .c-paragraph {
		margin-top: .5em;
	}
}

/* Company Information */
.p-about_info {
	position: relative;
	width: var(--contents-width);
	margin: var(--sectiongap) auto 0;
	padding: calc(var(--basisgap) * 2) calc(var(--basisgap) * 3);
}
.p-about_info::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0;
	right: var(--breakout);
	border-top-left-radius: var(--radius);
	background: var(--whitesmoke);
}
.info_data {
	margin-top: var(--basisgap);
	--font-basis: 20;
}
.info_data dt {
	grid-column: 1;
	font-weight: 700;
}
.info_data dd {
	grid-column: 2;
}
@media print, (min-width: 768px) {
	.info_data {
		display: grid;
		grid-template-columns: auto 1fr;
		gap: .5em var(--basisgap);
	}
}
@media screen and (max-width: 767.98px) {
	.p-about_info {
		padding: calc(var(--basisgap) * 2) calc(var(--basisgap) * 1.5);
		padding-right: 0;
	}
	.info_data {
		--font-basis: 14;
	}
	.info_data dd {
		line-height: 1.5;
	}
	.info_data dd + dt {
		margin-top: .75em;
	}
}
.p-about_info .c-circle {
	position: absolute;
	right: 12%;
	bottom: 20%;
}
.p-about_info .c-building {
	--v: 1;
	position: absolute;
	right: 3%;
	bottom: -10%;
}
.p-about_info .c-building div {
	--b: min(var(--cw) * 6 / var(--aspect), 6px);
	border: var(--b) solid white;
	background: #fff0;
}
@media screen and (max-width: 767.98px) {
	.p-about_info .c-building div {
		--b: calc(var(--cw) * 3 / var(--aspect));
	}
}


/**
 * メンバー
 * ---------------------------------------- */
.members_container {
	position: relative;
	margin-top: var(--sectiongap);
	padding: calc(var(--basisgap) * 2) 0 var(--sectiongap);
	border-top-right-radius: var(--radius);
	background: url(../img/concrete.webp) center top / 800px;
}
.members_section {
	width: var(--contents-width);
	margin: 0 auto;
}
.members_section + .members_section {
	margin-top: var(--sectiongap);
}
@media screen and (max-width: 767.98px) {
	.members_container {
		border-top-right-radius: calc(var(--radius) / 2);
	}
}

/* メンバー一覧 */
.members_list {
	display: flex;
	flex-wrap: wrap;
	gap: calc(var(--basisgap) * 1.2) calc(var(--basisgap) * 1.8);
	margin-top: calc(var(--basisgap) * 1.2);
}
.members_list .part {
	display: flex;
	align-items: center;
	column-gap: .3em;
	font-weight: 700;
	--font-basis: 28;
	font-family: var(--font-h);
}
.members_list .part::before {
	content: "";
	width: .5em;
	height: .5em;
	border-radius: .6em;
	background: var(--orange);
}
.members_list .image {
	margin-top: calc(var(--basisgap) / 4);
}
.members_list .image img {
	border-radius: 0 var(--basisgap);
}
.members_list .name {
	margin-top: 1em;
	--font-basis: 34;
	line-height: 1.2;
	font-family: var(--font-h);
}
.members_list .name ruby {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}
.members_list .name rt {
	display: inline-block;
	color: var(--orange);
	font-weight: 500;
	font-size: 70.5882%;
	font-family: var(--font-p);
	letter-spacing: .02em;
}
.members_list .c-paragraph {
	margin-top: 1.25em;
}
@media print, (min-width: 768px) {
	.members_list .item {
		flex-basis: calc(50% - var(--basisgap) * .9);
	}
}
@media screen and (max-width: 767.98px) {
	.members_list .part {
		--font-basis: 16;
	}
	.members_list .name {
		--font-basis: 20;
	}
}
[data-page="members"] .c-graphpaper {
	--w: 520;
	--h: 520;
	position: absolute;
	top: -16%;
	right: 58%;
	border-radius: 50%;
}
.members_container > .c-building {
	--v: .7;
	z-index: -1;
	position: absolute;
	right: 20%;
	bottom: calc(100% - var(--basisgap) * .4);
}
.members_container > .c-building .m2 {
	--w: 70;
}
.members_container > .c-building .m3 {
	--w: 34;
}
.members_container > .c-building .m1 {
	--w: 14;
}
.p-members2 .c-building {
	--v: 2;
	align-self: flex-end;
	margin-left: auto;
}
.p-members2 .c-building .m2 {
	--w: 200;
}
.p-members2 .c-building .m3 {
	--w: 100;
}
.p-members2 .c-building .m1 {
	--w: 40;
}
@media screen and (max-width: 767.98px) {
	[data-page="members"] .c-graphpaper {
		--w: 160;
		--h: 160;
		top: -64%;
		right: 64%;
	}
	.members_container > .c-building {
		right: 8%;
	}
	.members_container > .c-building .m2 {
		--w: 34;
	}
	.members_container > .c-building .m3 {
		--w: 16;
	}
	.members_container > .c-building .m1 {
		--w: 8;
	}
	.p-members2 .c-building {
		--v: 1.4;
		margin-top: calc(var(--basisgap) * -1);
	}
	.p-members2 .c-building .m2 {
		--w: 68;
	}
	.p-members2 .c-building .m3 {
		--w: 34;
	}
	.p-members2 .c-building .m1 {
		--w: 16;
	}
}


/**
 * 採用情報
 * ---------------------------------------- */
.recruit_section {
	width: var(--contents-width);
	margin: var(--sectiongap) auto 0;
}
.recruit_list {
	display: grid;
	justify-content: center;
	margin: calc(var(--sectiongap) / 1.5) 0 var(--sectiongap);
	font-weight: 700;
	--font-basis: 28;
	font-family: var(--font-h);
}
.recruit_list a {
	display: inline-block;
	padding: .5em;
	background: linear-gradient(currentcolor, currentcolor) left bottom .4em / 100% .06em no-repeat;
}
@media (hover) {
	.recruit_list a {
		transition: background-size .4s var(--ease-out);
	}
	.recruit_list a:hover {
		background-position: right bottom .4em;
		background-size: 0 .06em;
		transition-duration: .2s;
	}
}
@media print, (min-width: 768px) and (hover) {
	.recruit_list a {
		background-size: calc(100% - 1em) .06em;
		background-position: left .5em bottom .7em;
	}
}
@media print, (min-width: 768px) and (hover) {
	.recruit_list a:hover {
		background-position: right .5em bottom .7em;
	}
}
.recruit_list b {
	color: var(--orange);
}
.recruit_section .section_image {
	overflow: hidden;
	border-top-right-radius: var(--radius);
}
.recruit_section .section_image picture {
	border-top-right-radius: inherit;
}
.recruit_section .section_image img {
	margin-block: -2%;
}
@media print, (min-width: 768px) {
	.recruit_section .section_image {
		width: calc(var(--cw) * .8);
		margin-right: auto;
		margin-left: calc(var(--contents-width) / 2 - var(--cw) / 2);
	}
}
@media screen and (max-width: 767.98px) {
	.recruit_list {
		--font-basis: 18;
	}
	.recruit_list a {
		padding: .25em 0;
	}
	.recruit_section .section_image {
		margin-left: calc(var(--basisgap) * -1);
	}
}

/* 詳細 */
.recruit_section:has(.recruit_detail) .c-subject {
	margin-top: calc(var(--basisgap) * 1.5);
	text-align: center;
}
.recruit_section:has(.recruit_detail) .c-subject b {
	color: var(--orange);
}
.recruit_detail {
	margin-top: calc(var(--basisgap) * 2);
	--font-basis: 20;
}
.recruit_detail .item {
	position: relative;
}
.recruit_detail .item:not(:first-child) {
	margin-top: var(--basisgap);
}
.recruit_detail .item:not(:last-child)::before {
	content: "";
	position: absolute;
	top: 1em;
	left: .4em;
	width: .5em;
	height: calc(100% + var(--basisgap));
	background: var(--dot) left top / contain repeat-y;
}
.recruit_detail dt {
	font-weight: 700;
	font-size: 140%;
	font-family: var(--font-h);
}
.recruit_detail dt::before {
	content: "●";
	margin-right: .5em;
	color: var(--orange);
}
.recruit_detail .c-paragraph {
	margin-top: 1em;
	padding-left: calc(var(--basisgap) * 1.5);
}
.recruit_detail .c-paragraph b {
	color: var(--orange);
	font-weight: 600;
}
.recruit_detail .c-paragraph li {
	padding-left: 1em;
	text-indent: -1em;
}
.recruit_detail .c-paragraph li::before {
	content: "・";
	width: 1em;
}
@media print, (min-width: 768px) {
	.recruit_detail {
		width: 80%;
		margin-inline: auto;
	}
}
@media screen and (max-width: 767.98px) {
	.recruit_detail {
		--font-basis: 14;
		letter-spacing: 0;
	}
	.recruit_detail .item:not(:last-child)::before {
		left: .3em;
	}
	.recruit_detail .c-paragraph {
		padding-left: var(--basisgap);
	}
	.recruit_detail ul {
		font-size: inherit;
	}
	.recruit_detail dt {
		font-size: 114%;
	}
}
.recruit_section .c-button {
	margin: var(--sectiongap) auto 0;
	padding-inline: 2.5em;
	font-weight: 600;
}


/**
 * プライバシーポリシー
 * ---------------------------------------- */
[data-page="privacy-policy"] .l-shadow {
	display: none;
}
.policy_section {
	width: calc(var(--contents-width) * .9);
	margin: var(--sectiongap) auto 0;
}
.policy_section:first-of-type {
	margin-top: calc(var(--sectiongap) * -1);
}
.policy_section * {
	letter-spacing: .01em;
}
.policy_title {
	--font-basis: 34;
	text-align: center;
}
.policy_title::before {
	content: "【";
	color: var(--orange);
}
.policy_title::after {
	content: "】";
	color: var(--orange);
}
.policy_date,
.policy_author {
	margin-top: 1em;
	--font-basis: 20;
	text-align: center;
}
.policy_author {
	--font-basis: 24;
}
:is(.policy_author, .policy_title) + .c-paragraph {
	margin-top: calc(var(--sectiongap) / 2);
}
.policy_terms {
	margin-top: calc(var(--sectiongap) / 1.5);
}
.policy_terms dt + dd {
	margin-top: 1em;
}
.policy_terms .c-paragraph:has(ul, ol) {
	margin-top: 1.5em;
}
.policy_terms ol li {
	margin-top: .5em;
}
.policy_terms .item {
	margin-top: calc(var(--sectiongap) / 2);
}
.policy_terms dt {
	color: var(--orange);
	font-weight: 700;
	font-size: 120%;
}
.policy_terms li {
	padding-left: 1em;
	text-indent: -1em;
}
.policy_terms .c-paragraph + .c-paragraph {
	margin-top: 1em;
}
@media screen and (max-width: 767.98px) {
	.policy_section {
		width: var(--contents-width);
	}
	.policy_title {
		--font-basis: 20;
	}
	.policy_date,
	.policy_author {
		--font-basis: 14;
	}
	.policy_terms,
	.policy_terms :is(.c-paragraph, ul, ol) {
		--font-basis: 14;
	}
	.policy_terms dt {
		font-size: 114%;
	}
}


/**
 * Home
 * ---------------------------------------- */
[data-page="home"] {
	--sectiongap: calc(var(--basisgap) * 4.2);
	--pagetitle-height: 200vw; /* js で更新する */
}
[data-page="home"] > :is(.header__logo, .header_drawer) {
	z-index: 4;
}
[data-page="home"] :is(.header__logo, .header_contact, .header_drawer):not(.is-active) {
	translate: 0 calc(var(--header-height) * -.5 - 100%);
}
[data-page="home"] :is(.header__logo, .header_contact, .header_drawer).is-motion {
	transition: translate 1.4s 1s cubic-bezier(.2,0,.2,1);
}
.home_section {
	position: relative;
	width: var(--contents-width);
	margin-inline: auto;
	padding-block: var(--sectiongap);
}
.home_section .c-title {
	font-family: var(--font-p);
}
.home_section .c-title rt {
	font-size: 21.8182%;
}
.home_section .c-lead {
	margin-top: 2em;
	color: var(--gray);
	font-weight: 700;
	--font-basis: 28;
	font-family: var(--font-h);
}
.home_section .c-button {
	margin-top: calc(var(--basisgap) / 2);
}
@media screen and (max-width: 767.98px) {
	[data-page="home"] {
		--bgRadius: 80px;
	}
	.home_section .c-lead {
		--font-basis: 14;
	}
	.home_section .c-button {
		margin-top: var(--basisgap);
		margin-inline: auto;
	}
}

/* :::::: 背景イメージ :::::: */
.home_section .section_bg {
	z-index: -1;
	position: absolute;
	inset: 0 var(--breakout);
	left: calc(var(--breakout) - 0.5px);
	width: calc(var(--cw) + 0.5px);
	max-height: 0 !important;
	overflow: hidden;
}
.home_section .section_bg picture {
	border-radius: inherit;
}
.home_section .section_bg img {
	position: absolute;
	inset: auto 0 0;
	width: 100%;
	height: 100%;
	min-height: 100lvh;
	border-radius: inherit;
	object-fit: cover;
}
@media print, (min-width: 768px) {
	.home_section .c-title {
		--font-basis: 110;
	}
}
@media screen and (max-width: 767.98px) {
	.home_section .section_bg img {
		height: 100lvh;
	}
}

/* :::::: サイドイメージ :::::: */
.home_section .section_image {
	overflow: hidden;
	border-top-left-radius: calc(var(--radius) * .75);
}
.home_section .section_image img {
	margin-block: -2%;
}
@media print, (min-width: 768px) {
	.home_section .section_image {
		margin-right: calc(var(--contents-width) / 2 - var(--cw) / 2);
	}
}
@media screen and (max-width: 767.98px) {
	.home_section .section_image {
		margin-top: var(--basisgap);
		margin-left: var(--basisgap);
		margin-right: calc(var(--basisgap) * -1);
	}
}

/* :::::: スクロールダウン :::::: */
.scrolldown {
	display: flex;
	align-items: center;
	gap: 2em;
	z-index: 1;
	position: fixed;
	right: calc(var(--basisgap) + 1lh);
	line-height: 1;
	font-family: var(--font-h);
	transform-origin: right bottom;
}
.scrolldown .bar {
	display: inline-block;
	position: relative;
	overflow: clip;
	top: .05em;
	vertical-align: middle;
	background: #fffa;
}
.scrolldown .bar,
.scrolldown .bar::after {
	width: 30vh;
	height: 1px;
}
.scrolldown .bar::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: var(--orange);
	animation: scrolldown 3s .3s infinite var(--ease-inout) both;
}
@keyframes scrolldown {
	from { transform: translateX(-100%); }
	75%, to { transform: translateX(100%); }
}
@media print, (min-width: 768px) {
	.scrolldown {
		bottom: 50%;
		transform: rotate(90deg) translateX(20vh);
	}
}
@media screen and (max-width: 767.98px) {
	.scrolldown {
		bottom: var(--basisgap);
		font-size: calc(var(--cw) * 10 / var(--aspect));
		transform: rotate(90deg);
	}
	.scrolldown .bar,
	.scrolldown .bar::after {
		width: 20vh;
	}
}

/* :::::: ニッポンの「造る」を世界へ :::::: */
.p-home_statement {
	z-index: 4;
	position: relative;
	width: auto;
	padding: 0;
	color: white;
}
.statement_intro {
	display: grid;
	place-items: center;
	z-index: -1;
	position: sticky;
	top: 0;
	width: 100%;
	height: 100lvh;
}
.statement_intro :is(.bg, .logo) {
	grid-area: 1 / 1;
}
.statement_intro .logo {
	--w: calc(100% - var(--basisgap) * 2);
	display: grid;
	overflow: hidden;
	width: var(--w);
}
.statement_intro .logo .t {
	grid-area: 1 / 1;
}
@media print, (min-width: 768px) {
	.statement_intro .logo {
		--w: min(var(--cw) * 1104 / var(--aspect), 1104px);
	}
}
.statement_intro .logo svg {
	width: 100%;
	fill: currentcolor;
}
.statement_intro .bg,
.statement_intro .bg img {
	height: 100lvh;
	object-fit: cover;
}
.statement_intro .bg.is-standby {
	opacity: 0;
	scale: 1.08;
}
.statement_intro .bg.is-motion {
	transition: opacity 1.2s, scale 1.2s var(--ease-out);
	will-change: opacity, scale;
	backface-visibility: hidden;
}
.statement_intro .logo.is-standby .t {
	translate: 0 100%;
}
.statement_intro .logo.is-motion .t {
	transition: translate 1.2s cubic-bezier(.2,0,.2,1);
	transition-delay: calc(.5s + var(--delay) * .06s);
	will-change: translate;
	backface-visibility: hidden;
}
.statement_intro .logo.is-motion .t1 { --delay: 1; }
.statement_intro .logo.is-motion .t2 { --delay: 2; }
.statement_intro .logo.is-motion .t3 { --delay: 3; }
.statement_intro .logo.is-motion .t4 { --delay: 4; }
.statement_intro .logo.is-motion .t5 { --delay: 5; }
.statement_intro .logo.is-motion .t6 { --delay: 6; }

.statement_content {
	position: relative;
	padding: var(--sectiongap) calc(var(--basisgap) * 2);
	padding-bottom: calc(var(--sectiongap) * 1.5);
	background: linear-gradient(to top, #0006, #0002);
}
.statement_content::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0;
	background: #0004;
	-webkit-backdrop-filter: blur(2vw);
	backdrop-filter: blur(2vw);
	mix-blend-mode: overlay;
}
_::-webkit-full-page-media, _:future, :root .statement_content::before {
	mix-blend-mode: normal;
}
@media print, (min-width: 768px) {
	.statement_content > * {
		width: min(var(--cw) * 1154 / var(--aspect), 1154px);
		margin-inline: auto;
	}
}
@media screen and (max-width: 767.98px) {
	.statement_content {
		padding-top: calc(var(--basisgap) * 2);
	}
}
.statement_content .c-subject {
	--font-basis: 80;
	line-height: 1.5;
	letter-spacing: .1em;
}
.statement_content .c-paragraph {
	margin: calc(var(--basisgap) * 2) auto 0;
	font-weight: 600;
	--font-basis: 32;
	line-height: 1.875;
	font-family: var(--font-h);
	letter-spacing: .0999em;
	text-align: justify;
}
.statement_content .c-paragraph:has(strong) {
	margin-top: calc(var(--basisgap) * 5);
	text-align: center;
	--font-basis: 56;
}
.statement_content .c-paragraph strong {
	font-weight: inherit;
}
.statement_logo {
	/* --w: min(var(--cw) * 1104 / var(--aspect), 1104px); */
	--w: min(var(--cw) * 480 / var(--aspect), 480px);
	overflow: hidden;
	width: var(--w);
	margin-top: calc(var(--basisgap) * 2);
	margin-inline: auto;
}
.statement_logo svg {
	width: 100%;
	fill: currentcolor;
}
@media screen and (max-width: 767.98px) {
	.statement_content .c-subject {
		--font-basis: 30;
		text-align: center;
	}
	.statement_content .c-paragraph {
		margin-top: 2em;
		--font-basis: 16;
		letter-spacing: .096em;
	}
	.statement_content .c-paragraph:has(strong) {
		margin-top: calc(var(--basisgap) * 2);
		--font-basis: 24;
	}
	.statement_logo {
		margin-top: calc(var(--basisgap) * 2);
	}
	.statement_logo {
		--w: calc(var(--cw) * 212 / var(--aspect));
	}
}

/* :::::: ニュース :::::: */
.p-home_news {
	z-index: 3;
	position: relative;
	min-height: 100lvh;
	padding-block: calc(var(--sectiongap) * .75);
	border-bottom-left-radius: var(--radius);
}
.p-home_news::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0 var(--breakout);
	background: var(--whitesmoke);
	border-radius: inherit;
}
.p-home_news .news_list .image {
	width: min(var(--cw) * 144 / var(--aspect), 144px);
}
@media (hover) {
	.p-home_news .news_list .item:first-of-type a:hover::before {
		border-top-left-radius: 2rem;
	}
}
@media print, (min-width: 768px) {
	.p-home_news .news_list {
		--shift: min(var(--cw) * 260 / var(--aspect), 260px);
	}
}
.p-home_news .c-button {
	margin-left: auto;
}
@media screen and (max-width: 767.98px) {
	.p-home_news .c-button {
		margin-right: auto;
	}
}

/* :::::: 会社概要 :::::: */
.p-home_about {
	z-index: 2;
	position: relative;
	min-height: calc(100lvh + var(--radius));
	margin-top: calc(var(--radius) * -1);
	padding: 0;
}
.p-home_about :is(.c-title, .c-title rt, .c-lead) {
	color: white;
}
.p-home_about .section_bg {
	border-bottom-right-radius: var(--radius);
}
.p-home_about .section_bg img {
	object-position: 50% 80%;
}
.p-home_about .c-button {
	color: var(--orange);
}
.p-home_about .c-button::before {
	background: white;
}
@media print, (min-width: 768px) {
	.p-home_about {
		display: flex;
		align-items: center;
	}
}
@media screen and (max-width: 767.98px) {
	.p-home_about {
		padding-top: calc(var(--radius) + var(--sectiongap));
	}
}

/* :::::: サービス :::::: */
.p-home_services {
	z-index: 1;
	position: relative;
	min-height: calc(100lvh + var(--radius));
	margin-top: calc(var(--radius) * -1);
	padding: var(--radius) 0 0;
}
.p-home_services :is(.c-title, .c-lead) {
	color: white;
}
.p-home_services .section_bg {
	border-bottom-left-radius: var(--radius);
}
.p-home_services .office_study_abroad {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--basisgap);
	margin-top: var(--basisgap);
}
.p-home_services .office_study_abroad svg {
	height: auto;
	fill: white;
}
@media print, (min-width: 768px) {
	.p-home_services {
		display: flex;
		align-items: center;
	}
	.p-home_services .office_study_abroad svg {
		width: min(var(--cw) * 480 / var(--aspect), 480px);
	}
	.p-home_services .office_study_abroad img {
		width: min(var(--cw) * 535 / var(--aspect), 535px);
	}
}
@media screen and (max-width: 767.98px) {
	.p-home_services {
		padding-top: calc(var(--radius) + var(--sectiongap));
	}
	.p-home_services .office_study_abroad {
		flex-direction: column;
		gap: calc(var(--basisgap) / 2);
	}
	.p-home_services .office_study_abroad svg {
		width: calc(var(--cw) * 240 / var(--aspect));
	}
}
@media screen and (max-width: 767.98px) and (max-height: 620px) {
	.p-home_services {
		padding-top: calc(var(--radius) + var(--sectiongap) / 2);
	}
}

/* :::::: メンバー :::::: */
.p-home_members {
	display: grid;
	align-items: center;
	position: relative;
	min-height: calc(100lvh + var(--radius));
	margin-top: calc(var(--radius) * -1);
	padding-top: calc(var(--sectiongap) + var(--radius));
}
.p-home_members::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0 var(--breakout);
	background: var(--whitesmoke);
}
.p-home_members .c-graphpaper {
	z-index: -1;
	--w: 518;
	--h: 518;
	border-radius: 50%;
}
@media print, (min-width: 768px) {
	.p-home_members {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: var(--basisgap);
		padding-bottom: calc(var(--sectiongap) * 1.5);
	}
	.p-home_members .section_image {
		margin-top: calc(var(--basisgap) * 2);
	}
	.p-home_members .c-graphpaper {
		bottom: 5%;
		left: 32%;
	}
}
@media screen and (max-width: 767.98px) {
	.p-home_members .c-graphpaper {
		--w: 200;
		--h: 200;
		top: 40%;
		right: -4%;
	}
}

/* :::::: 採用情報 :::::: */
.p-home_recruit {
	display: grid;
}
.p-home_recruit .c-graphpaper {
	z-index: -1;
	--w: 640;
	--h: 532;
	border-top-right-radius: var(--radius);
}
@media print, (min-width: 768px) {
	.p-home_recruit {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: var(--basisgap);
	}
	.p-home_recruit .section_image {
		margin-top: calc(var(--basisgap) * 2);
	}
	.p-home_recruit .c-graphpaper {
		border-top-right-radius: 50%;
	}
	.p-home_recruit .c-graphpaper {
		top: 16%;
		left: 44%;
	}
}
@media screen and (max-width: 767.98px) {
	.p-home_recruit .text {
		display: contents;
	}
	.p-home_recruit .c-button {
		order: 1;
	}
	.p-home_recruit .c-graphpaper {
		--w: 240;
		--h: 200;
		bottom: 16%;
		left: calc(var(--basisgap) * -1);
	}
}

[data-page="home"] .l-footer {
	margin-top: 0;
}