@charset "UTF-8";
*,
*:before,
*:after {
	box-sizing: border-box;
}

html {
	font-size: 16px;
	height: 100%;
	scroll-behavior: smooth;
}

body {
	color: #1d1d1d;
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-weight: 400;
	line-height: 1.5;
}

/* bodyがこのクラスを持っている時、スクロールを禁止する */

body.is-fixed {
	height: 100%;
	overflow: hidden;
}

img,
video,
object {
	border: none;
	display: block;
	height: auto;
	max-width: 100%;
}

a {
	text-decoration: none;
	transition: opacity 0.3s ease;
}

a:hover {
	opacity: 0.7;
}

/*===================================================================
# ヘッダー
===================================================================*/

.header {
	background-color: transparent;
	height: 6.5625rem;
	left: 0;
	position: fixed;
	top: 0;
	transition: background-color 0.3s ease, -webkit-backdrop-filter 0.4s ease;
	transition: background-color 0.3s ease, backdrop-filter 0.4s ease;
	transition: background-color 0.3s ease, backdrop-filter 0.4s ease, -webkit-backdrop-filter 0.4s ease;
	width: 100%;
	z-index: 100; /* 縦の区切り線 */
}

.header__inner {
	display: flex;
	height: 100%;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 85.375rem;
	padding-inline: 3.125rem;
	width: 100%;
}

.header__logo {
	padding-block-start: 1.5625rem;
}

.header__logo-link {
	display: flex;
	-moz-column-gap: 0.8125rem;
	column-gap: 0.8125rem;
}

.header__logo-img {
	height: 4.375rem;
	width: auto;
}

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

.header__logo-text {
	display: flex;
	flex-direction: column;
	margin-block-start: 0.3125rem;
	transition: color 0.4s ease;
}

.header__logo-text--drawer {
	color: #fff;
}

.header__logo-main {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.375;
}

.header__logo-sub {
	font-size: 0.85rem;
	letter-spacing: 0.1em;
	line-height: 1.375;
}

.header__actions {
	display: flex;
	-moz-column-gap: 3.125rem;
	column-gap: 3.125rem;
}

.header__utility {
	padding-block-start: 2.1875rem;
}

.header__utility-list {
	align-items: stretch;
	border: 0.0625rem solid #150d07;
	display: flex;
	height: 3.125rem;
	transition: border-color 0.3s ease;
}

.header__utility-item {
	transition: border-left-color 0.3s ease;
}

.header__utility-item + .header__utility-item {
	border-left: 0.0625rem solid #150d07;
}

.header__utility-link {
	align-items: center;
	color: inherit;
	display: flex;
	gap: 0.6875rem;
	height: 100%;
	justify-content: center;
	text-decoration: none;
	transition: color 0.3s ease, background-color 0.3s ease;
}

.header__utility-link--tel {
	width: 12.5rem;
}

.header__utility-link--mail {
	width: 13.75rem;
}

.header__utility-link--insta {
	width: 3.125rem;
}

.header__utility-icon-img--black,
.header__utility-icon-img--white {
	transition: opacity 0.3s ease;
}

.header__utility-icon-img--black {
	display: inline;
}

.header__utility-icon-img--white {
	display: none;
}

.header__utility-icon-img--tel,
.header__utility-icon-img--insta {
	height: 1.5625rem;
	width: 1.5625rem;
}

.header__utility-icon-img--mail {
	height: 1.5625rem;
	width: 1.8125rem;
}

.header__utility-text--tel {
	font-size: 1.375rem;
	letter-spacing: 0.04em;
	line-height: 1.0909;
}

.header__utility-text--mail {
	font-size: 1rem;
	letter-spacing: 0.06em;
	line-height: 1.4375;
}

.is-scrolled.header {
	background-color: rgba(255, 255, 255, 0.8);
	-webkit-backdrop-filter: blur(0.25rem);
	backdrop-filter: blur(0.25rem);
}

/* TOPとRecruitページでは色を反転させる */

.is-actions-invert .is-scrolled.header {
	background-color: rgba(0, 0, 0, 0.2);
}

.is-actions-invert .header__logo-text {
	color: #fff;
}

.is-actions-invert .header__utility-list {
	border-color: #fff;
}

.is-actions-invert .header__utility-link {
	color: #fff;
}

.is-actions-invert .header__utility-item + .header__utility-item {
	border-left: 0.0625rem solid #fff;
}

.is-actions-invert .header__utility-icon-img--black {
	display: none;
}

.is-actions-invert .header__utility-icon-img--white {
	display: inline;
}

/* Recruitページ マスの背景色も変更する */

.is-utility-bg .header__utility-link {
	background-color: #666464;
}

/* Recruitページ 最初は黒（スクロールしたら白に変更） */

.is-logo-black .header__logo-text {
	color: #1d1d1d !important;
}

.is-logo-black .drawer__icon--bar {
	background-color: #1d1d1d !important;
}

.is-logo-black .drawer__text {
	color: #1d1d1d !important;
}

/*===================================================================
# Fotter
===================================================================*/

.footer {
	background-color: #232525;
	color: #fff;
	padding-block: 3.375rem 4.75rem;
}

.footer__inner {
	display: flex;
	justify-content: space-between;
}

.footer__logo {
	padding-block-start: 1.5625rem;
}

.footer__logo-link {
	display: flex;
	-moz-column-gap: 0.8125rem;
	column-gap: 0.8125rem;
}

.footer__logo-img {
	height: 4.375rem;
	width: auto;
}

.footer__logo-text {
	display: flex;
	flex-direction: column;
	margin-block-start: 0.3125rem;
	transition: color 0.4s ease;
}

.footer__logo-text--drawer {
	color: #fff;
}

.footer__logo-main {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.375;
}

.footer__logo-sub {
	font-size: 0.85rem;
	letter-spacing: 0.1em;
	line-height: 1.375;
}

.footer__info {
	margin-block-start: 2.375rem;
}

.footer__postcode,
.footer__address,
.footer__tel {
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	line-height: 1.71429;
}

.footer__nav {
	margin-block-start: 2rem;
}

.footer__nav-list {
	display: grid;
	gap: 1.6875rem 0.625rem;
	grid-template-columns: repeat(3, 1fr);
	justify-items: center;
}

.footer__nav-link {
	display: inline-block;
	letter-spacing: 0.1em;
	position: relative;
	text-decoration: none;
	white-space: nowrap;
}

.footer__nav-link::after {
	background-color: #fff;
	bottom: -0.25rem;
	content: "";
	height: 0.0625rem;
	left: -5%;
	position: absolute;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease, opacity 0s;
	width: 110%;
}

.footer__sub-content {
	display: flex;
	-moz-column-gap: 1.5625rem;
	column-gap: 1.5625rem;
	margin-block-start: 2.625rem;
}

.footer__logos {
	align-items: center;
	display: flex;
	justify-content: center;
	-moz-column-gap: 1.5625rem;
	background-color: #fff;
	column-gap: 1.5625rem;
	height: 3.4375rem;
	width: 13.75rem;
}

.footer__logos-img--ea {
	height: 2.5rem;
	width: 3.25rem;
}

.footer__logos-img--sdgs {
	height: 2.5rem;
	width: 4.75rem;
}

.footer__bottom {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.footer__policy-link {
	display: inline-block;
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	line-height: 1.71429;
	position: relative;
	text-decoration: none;
}

.footer__policy-link::after {
	background-color: #fff;
	bottom: -0.125rem;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease, opacity 0s;
	width: 100%;
}

.footer__copyright {
	color: #5a5a5a;
	display: block;
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 0.875rem;
	line-height: 1.71429;
	margin-block-start: 0.625rem;
}

/*===================================================================
# Common
===================================================================*/

.page-header {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}

.page-header--recruit {
	flex-direction: column;
	row-gap: 14.0625rem;
}

.page-header__title {
	position: relative;
}

.page-header__title-en {
	color: #ddd;
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 9.25rem;
	line-height: 1.2;
}

.page-header__title-en--recruit {
	color: #1d1d1d;
}

.page-header__title-jp {
	left: 7.0625rem;
	letter-spacing: 0.48em;
	position: absolute;
	top: 2.375rem;
	white-space: nowrap;
	writing-mode: vertical-rl;
}

.page-header__title-jp--works {
	left: 8rem;
}

.page-header__title-jp--recruit {
	display: block;
	left: auto;
	margin-block-start: -1.1875rem;
	position: static;
	top: auto;
	writing-mode: horizontal-tb;
}

.breadcrumb {
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	margin-block-start: 2.4375rem;
}

.breadcrumb__separator {
	margin-inline: 1em;
}

.pagination__lists {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	justify-content: center;
}

.pagination__link {
	align-items: center;
	background: #fff;
	border-radius: 50%;
	color: #1d1d1d;
	display: flex;
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 1rem;
	height: 2rem;
	justify-content: center;
	transition: color 0.3s ease, background-color 0.3s ease;
	width: 2rem;
}

.pagination__link--active {
	position: relative;
}

.pagination__link--active::after {
	background-color: #1d1d1d;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 1.5625rem;
}

.pagination__dot {
	font-size: 1rem;
	transform: translateY(0.3125rem);
}

.pagination__label {
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 1rem;
	position: relative;
}

.pagination__label--disabled {
	color: #757575;
	cursor: default;
	opacity: 0.7;
	pointer-events: none;
	text-decoration: none;
}

.pagination__label--disabled::before,
.pagination__label--disabled::after {
	background-color: #757575;
}

/* 出現アニメーション：左からめくれるように表示 */

.js-left {
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
	transition: -webkit-clip-path 0.8s ease;
	transition: clip-path 0.8s ease;
	transition: clip-path 0.8s ease, -webkit-clip-path 0.8s ease;
}

.js-left.is-visible {
	-webkit-clip-path: inset(0 0 0 0);
	clip-path: inset(0 0 0 0);
}

/* 出現アニメーション：右からめくれるように表示 */

.js-right {
	-webkit-clip-path: inset(0 0 0 100%);
	clip-path: inset(0 0 0 100%);
	transition: -webkit-clip-path 0.8s ease;
	transition: clip-path 0.8s ease;
	transition: clip-path 0.8s ease, -webkit-clip-path 0.8s ease;
}

.js-right.is-visible {
	-webkit-clip-path: inset(0 0 0 0);
	clip-path: inset(0 0 0 0);
}

/* 出現アニメーション：ふわっと表示 */

.js-fadein {
	opacity: 0;
	transform: translateY(0.625rem);
	transition: opacity 0.5s ease, transform 0.5s ease;
	will-change: opacity, transform;
}

.js-fadein.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.js-fadein-sp { /* SPのみ */
}

/*===================================================================
# ドロワー
===================================================================*/

.drawer {
	background: url(../../assets/img/drawer_bg.webp) center center/cover no-repeat;
	height: 100svh;
	overflow-y: auto;
	position: fixed;
	right: 0;
	top: 0;
	transition: translate 0.5s ease;
	translate: 101%;
	width: 100vw;
}

.drawer.js-show {
	translate: 0%;
}

.drawer__body {
	height: -moz-fit-content;
	height: fit-content;
	padding-block-start: 5.0625rem;
	width: 100%;
}

.drawer__actions {
	display: flex;
	justify-content: space-between;
	margin-block-start: 5.875rem;
}

.drawer__list {
	display: grid;
	gap: 1.25rem 4.375rem;
	grid-template-columns: repeat(2, 1fr);
}

.drawer__list li {
	padding-inline-start: 1.640625rem;
	position: relative;
}

.drawer__list li::before {
	background: url(../../assets/img/arrow_white.svg) center center/contain no-repeat;
	content: "";
	height: 0.9375rem;
	left: 0;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 0.703125rem;
}

.drawer__list li a {
	color: #fff;
	font-size: 1.25rem;
}

.drawer__insta-link {
	align-items: center;
	background-color: rgba(0, 0, 0, 0.3);
	border: 0.0625rem solid #fff;
	border-radius: 50%;
	display: flex;
	height: 3.125rem;
	justify-content: center;
	margin-block-start: 3.375rem;
	width: 3.125rem;
}

.drawer__insta-icon {
	height: 1.5625rem;
	width: 1.5625rem;
}

.drawer__contact-list {
	display: flex;
	flex-direction: column;
	height: 100%;
	row-gap: 1.25rem;
}

.drawer__contact-item {
	background-color: rgba(0, 0, 0, 0.3);
	border: 0.0625rem solid #fff;
	height: 6.5625rem;
	width: 23.75rem;
}

.drawer__contact-link {
	align-items: center;
	display: flex;
	height: 100%;
}

.drawer__contact-icon {
	display: flex;
	flex: 0 0 4.6875rem;
	justify-content: center;
	position: relative;
}

.drawer__contact-icon::after {
	background-color: #fff;
	content: "";
	height: 4.6875rem;
	position: absolute;
	right: 0;
	top: 50%;
	translate: 0 -50%;
	width: 0.0625rem;
}

.drawer__contact-icon-img--tel {
	height: 1.875rem;
	width: 1.875rem;
}

.drawer__contact-icon-img--mail {
	height: 1.75rem;
	width: 2rem;
}

.drawer__contact-texts {
	color: #fff;
	display: flex;
	flex-direction: column;
	padding-inline-start: 0.9375rem;
}

.drawer__contact-lead,
.drawer__contact-sub {
	font-size: 0.875rem;
	letter-spacing: 0.1em;
}

.drawer__contact-sub {
	margin-block-start: 0.0625rem;
}

.drawer__contact-main--tel {
	font-size: 2.25rem;
	line-height: 1.2;
}

.drawer__contact-main--mail {
	font-size: 1.625rem;
	letter-spacing: 0.04em;
}

.drawer__container {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding-block-start: 2.1875rem; /* メニューが開いている時 */
}

.drawer__container.js-show .drawer__icon--bar {
	background-color: #fff;
}

.drawer__container.js-show .drawer__icon--bar:nth-of-type(1) { /* 中央に移動してから45度回転 */
	transform: translateY(0.6875rem) rotate(45deg);
}

.drawer__container.js-show .drawer__icon--bar:nth-of-type(2) { /* 真ん中の棒は消す（透明にする） */
	opacity: 0;
}

.drawer__container.js-show .drawer__icon--bar:nth-of-type(3) { /* 中央に移動してから逆向きに45度回転 */
	transform: translateY(-0.6875rem) rotate(-45deg);
}

.drawer__container.js-show .drawer__text {
	opacity: 0;
	visibility: hidden;
}

.drawer__container.js-show .drawer__text--close {
	opacity: 1;
	visibility: visible;
}

.drawer__icon {
	display: flex;
	flex-direction: column;
	height: 1.4375rem;
	justify-content: space-between;
	z-index: 102;
}

.drawer__icon--bar {
	background-color: #150d07;
	height: 0.0625rem;
	transform-origin: center; /* 中央を軸に回転 */
	transition: transform 0.4s ease, opacity 0.4s ease;
	width: 2rem;
}

.drawer__text {
	color: #150d07;
	font-size: 0.75rem;
	line-height: 1.75;
	position: absolute;
	top: 3.625rem;
	transition: opacity 0.4s ease, visibility 0.4s ease;
}

.drawer__text--close {
	color: #fff;
	opacity: 0;
	visibility: hidden;
	z-index: 1;
}

/* TOPとRecruitページでは色を反転させる */

.is-actions-invert .drawer__icon--bar {
	background-color: #fff;
	transition: background-color 0.3s ease;
}

.is-actions-invert .drawer__text {
	color: #fff;
	transition: color 0.3s ease;
}

/*===================================================================
# ホバー
===================================================================*/

.button-layered {
	height: 3.75rem;
	margin: 5rem auto 0;
	position: relative;
	width: 16.25rem;
}

.button-layered__link {
	align-items: center;
	background-color: #fff;
	border: 0.0625rem solid #292929;
	border-radius: 0.625rem;
	display: flex;
	height: 100%;
	justify-content: center;
	left: 50%;
	letter-spacing: 0.1em;
	position: absolute;
	text-align: center;
	top: 0;
	transition: background-color 0.3s ease, color 0.3s ease, opacity 0s;
	translate: -50%;
	width: 100%;
	z-index: 1;
}

.button-layered__bg {
	background-color: #292929;
	height: 3.75rem;
	left: 50%;
	position: absolute;
	top: 0;
	translate: -50%;
	width: 16.25rem;
	z-index: 0;
}

.button-layered--white { /* セクションの背景が黒だった時は反転させる */
}

.button-layered--white .button-layered__link {
	background-color: #292929;
	border: 0.0625rem solid #fff;
	color: #fff;
}

.button-layered--white .button-layered__bg {
	background-color: #fff;
}

.button-layered--top-recruit .button-layered__link,
.button-layered--recruit-entry .button-layered__link {
	background-color: rgba(0, 0, 0, 0.6);
	border: 0.0625rem solid #fff;
	border-radius: 0.625rem;
	z-index: 2;
}

.button-layered--top-recruit .button-layered__bg,
.button-layered--recruit-entry .button-layered__bg {
	background-color: #fff;
	z-index: 1;
	-webkit-mask-image: url("../img/mask-recruit.svg");
	mask-image: url("../img/mask-recruit.svg");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.button-layered--recruit-entry {
	height: 5.3125rem;
	width: 23rem;
}

.button-layered--recruit-entry .button-layered__link {
	border-radius: 1.125rem;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}

.button-layered--recruit-entry .button-layered__bg {
	height: 5.3125rem;
	width: 23rem;
}

/*===================================================================
# インナー幅
===================================================================*/

.inner {
	margin-inline: auto;
	max-width: 62.5rem;
}

/*===================================================================
# セクション
===================================================================*/

.section__title {
	position: relative;
}

.section__title-en {
	color: #393b3b;
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 9.25rem;
	line-height: 1.2;
}

.section__title-en--white {
	color: #fff;
}

.section__title-en--green {
	color: #9cc4b1;
}

.section__title-en--gray {
	color: #ddd;
}

.section__title-jp {
	left: 7.8125rem;
	letter-spacing: 0.48em;
	position: absolute;
	top: 1.8125rem;
	white-space: nowrap;
	writing-mode: vertical-rl;
}

.section__title-jp--white {
	color: #fff;
}

.section__title-jp--top-topics {
	left: 7.0625rem;
	top: 2.375rem;
}

.section__title-jp--top-works {
	left: 8rem;
	top: 2.5rem;
}

.section__title-jp--top-profile {
	color: #fff;
	left: 8.0625rem;
	top: 2.375rem;
}

.section__title-jp--top-recruit {
	color: #fff;
	display: block;
	left: auto;
	margin-block-start: -1rem;
	position: static;
	top: auto;
	writing-mode: horizontal-tb;
}

.section__title-jp--recruit-job {
	left: 6.5rem;
	top: 2.375rem;
}

.section__title-jp--recruit-information {
	left: 7.625rem;
	top: 3.375rem;
}

/*===================================================================
# Top-Fv
===================================================================*/

.top-fv {
	aspect-ratio: 1366/720;
	background: url(../../assets/img/main_hero.webp) center center/cover no-repeat;
	position: relative;
}

.top-fv__inner {
	margin-inline: auto;
	max-width: 85.375rem;
	position: relative;
}

.top-fv__message-wrapper {
	display: flex;
	flex-direction: row-reverse;
	position: absolute;
	right: 6.5625rem;
	top: 8.9375rem;
}

.top-fv__message {
	color: #fff;
	font-size: 2rem;
	letter-spacing: 0.064em;
	line-height: 2;
	writing-mode: vertical-rl;
}

/*===================================================================
# Top-Concept
===================================================================*/

.top-concept {
	aspect-ratio: 1366/1093;
	background: url(../../assets/img/concept_bg.webp) center center/cover no-repeat;
	margin-block-end: -0.0625rem; /* セクション間のスキマをなくす措置 */
	padding-block-end: 0.0625rem;
	padding-block-start: 4.5rem;
}

.top-concept__title {
	color: #fff;
	font-family: "Yuji Syuku", serif;
	font-size: 5rem;
	font-weight: 400;
	letter-spacing: 0.32em;
	text-align: center;
}

.top-concept__text-wrapper {
	display: flex;
	justify-content: center;
	margin-block-start: 2.25rem;
}

.top-concept__text {
	color: #fff;
	font-family: "Yuji Syuku", serif;
	letter-spacing: 0.1em;
	line-height: 2.5;
	writing-mode: vertical-rl;
}

/*===================================================================
# Top-Topics
===================================================================*/

.top-topics {
	background-color: #232525;
	padding-block: 4.0625rem 6.25rem;
}

.top-topics__contents {
	margin-block-start: 2.375rem;
	position: relative;
}

.top-topics__nav {
	display: flex;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	position: absolute;
	right: 0;
	top: -3.6875rem;
}

.top-topics__nav .is-disabled {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.top-topics__prev,
.top-topics__next {
	align-items: center;
	background: transparent;
	border: 0.0625rem solid #afafaf;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	height: 2rem;
	justify-content: center;
	width: 2rem;
}

.top-topics__prev img,
.top-topics__next img {
	height: 0.5rem;
	width: 0.375rem;
}

.top-topics__next {
	background-color: #afafaf;
}

/*===================================================================
# Top-Works
===================================================================*/

.top-works {
	background-color: #f5f5f5;
	padding-block: 3.75rem 5rem;
	padding-block: 2rem 3.125rem;
}

.top-works__banners {
	display: grid;
	gap: 0.5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-block-start: 5rem;
}

.top-works__banner {
	display: block;
	overflow: hidden;
	transition: opacity 0.3s;
}

.top-works__banner:hover {
	opacity: 0.8;
}

.top-works__banner:hover .top-works__banner-img {
	transform: scale(1.02);
}

.top-works__banner-img {
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s;
	vertical-align: bottom;
}

/*===================================================================
# Top-strengths
===================================================================*/

.top-strengths {
	background-color: #232525;
	color: #fff;
	padding-block: 4.4375rem 6.25rem;
}

.top-strengths__content {
	margin: 2.5625rem 0 0 auto;
	width: 45.625rem;
}

.top-strengths__lead {
	font-size: 1.5rem;
	letter-spacing: 0.24em;
	line-height: 2;
}


.top-strengths__items {
	margin-block-start: 2.4375rem;
}

.top-strengths__item {
	border-bottom: 0.0625rem solid #fff;
	padding-block: 2.6875rem 3.125rem;
}

.top-strengths__item:first-child {
	border-top: 0.0625rem solid #fff;
}

.top-strengths__item-title {
	font-size: 1.25rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
}

.top-strengths__item-text {
	letter-spacing: 0.1em;
	line-height: 1.6875;
	margin-block-start: 0.875rem;
	text-align: justify;
}

.top-strengths__item-imgs {
	display: flex;
	-moz-column-gap: 0.3125rem;
	column-gap: 0.3125rem;
	margin-block-start: 1.3125rem;
}

.top-strengths__item-img {
	height: 12.25rem;
	width: auto;
	width: 33.33%;
}

.top-strengths__item-img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

/*===================================================================
# Top-Flow
===================================================================*/

.top-flow {
	background-color: #232525;
	padding-block-end: 6.25rem;
}

.top-flow__inner {
	background-color: #fff;
	padding-block: 4.5625rem 5rem;
}

.top-flow__title {
	font-size: 1.5rem;
	letter-spacing: 0.24em;
	text-align: center;
}

.top-flow__content {
	display: flex;
	flex-direction: column;
	margin-block-start: 2.75rem;
	row-gap: 3.9375rem;
}

.top-flow__items {
	border: 0.0625rem solid #afafaf;
	margin-inline: auto;
	padding-inline: 1.875rem;
	width: 52.5rem;
}

.top-flow__items:not(:last-child) {
	position: relative;
}

.top-flow__items:not(:last-child)::after {
	background-color: #4e9674;
	bottom: -3.9375rem;
	content: "";
	height: 3.9375rem;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 0.0625rem;
}

.top-flow__item {
	padding-block: 1.5625rem 1.75rem;
}

.top-flow__item + .top-flow__item {
	border-top: 0.0625rem solid #afafaf;
}

.top-flow__item-title {
	color: #4e9674;
	display: flex;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
	-moz-column-gap: 1.4375rem;
	align-items: center;
	column-gap: 1.4375rem;
}

.top-flow__item-title-num {
	font-size: 2rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.04em;
	line-height: 1;
	width: 2ch;
}

.top-flow__item-title-text {
	display: block;
	padding-block-start: 0.125rem;
}

.top-flow__item-text {
	letter-spacing: 0.1em;
	margin-block-start: 1.5625rem;
	padding-inline-start: 3.6875rem;
}

.top-flow__item-list {
	letter-spacing: 0.1em;
	line-height: 2;
	margin-block-start: 0.8125rem;
	padding-inline-start: 3.5625rem;
}

.top-flow__item-media {
	background-color: #f7f7f7;
	margin-block-start: 1.375rem;
	padding: 0.8125rem 1.875rem 1.875rem;
}

.top-flow__item-media-title {
	letter-spacing: 0.1em;
	line-height: 2;
	margin-block-end: 0.125rem;
}

.top-flow__item-media-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	-moz-column-gap: 0.3125rem;
	column-gap: 0.3125rem;
}

.top-flow__items-arrow {
	align-items: center;
	background-color: #4e9674;
	border-radius: 50%;
	bottom: -2.96875rem;
	display: flex;
	height: 2rem;
	justify-content: center;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 2rem;
	z-index: 1;
}

.top-flow__items-arrow img {
	height: 0.5rem;
	transform: rotate(90deg);
	width: 0.75rem;
}

.top-flow__item-arrow {
	align-items: center;
	background-color: #4e9674;
	border-radius: 50%;
	display: flex;
	height: 1.25rem;
	justify-content: center;
	margin: 1.0625rem 0 1.25rem 5.3125rem;
	transform: rotate(90deg);
	width: 1.25rem;
}

.top-flow__item-arrow img {
	height: 0.375rem;
	width: 0.5rem;
}

.top-flow__item-subtitle {
	color: #4e9674;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
	padding-inline-start: 3.6875rem;
}

/*===================================================================
# Top-Instagram
===================================================================*/

.top-instagram {
	padding-block: 4.9375rem 6.25rem;
}

.top-instagram__title {
	align-items: baseline;
	display: flex;
	-moz-column-gap: 0.8125rem;
	column-gap: 0.8125rem;
}

.top-instagram__title-en {
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 4.625rem;
	letter-spacing: 0.04em;
	line-height: 1.2;
}

.top-instagram__lead {
	font-size: 1.25rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
	margin-block-start: 1.5rem;
}

.top-instagram__content-head {
	display: flex;
	justify-content: space-between;
	margin-block-start: 2.6875rem;
}

.top-instagram__account {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.75rem;
	column-gap: 0.75rem;
}

.top-instagram__account img {
	height: 2.5rem;
	width: 2.5rem;
}

.top-instagram__account-name {
	font-size: 1.25rem;
	letter-spacing: 0.04em;
	line-height: 1.7;
}

.top-instagram__tag {
	letter-spacing: 0.1em;
}

.top-instagram__gallery-list {
	display: grid;
	gap: 0.3125rem;
	grid-template-columns: repeat(4, 1fr);
	margin-block-start: 0.625rem;
}

/*===================================================================
# Top-Profile
===================================================================*/

.top-profile {
	background-color: #adcebe;
	padding-block: 4.0625rem 6.25rem;
}

.top-profile__list {
	margin: 1.875rem 0 0 auto;
	width: 45.625rem;
}

.top-profile__row {
	align-items: flex-start;
	display: flex;
	padding: 1.625rem 2.375rem;
}

.top-profile__row:nth-child(odd) {
	background-color: #c2dbcf;
}

.top-profile__term,
.top-profile__description {
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.75;
}

.top-profile__term {
	flex-shrink: 0;
	width: 8.4375rem;
}

.top-profile__description {
	flex: 1;
}

/*===================================================================
# Top-Recruit
===================================================================*/

.top-recruit {
	aspect-ratio: 1366/580;
	background: url(../../assets/img/recruit-back.webp) center center/cover no-repeat;
	padding-block: 3.5rem 6.25rem;
}

.top-recruit__inner {
	display: flex;
	justify-content: space-between;
}

.top-recruit__message {
	color: #fff;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	margin-block-start: 4.375rem;
}

.top-recruit__img {
	height: 11.4375rem;
	width: 19.125rem;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.top-recruit__img--1 {
	margin: 2.8125rem 0 0 auto;
}

.top-recruit__img--2 {
	margin: 0.625rem 6.25rem 0 0;
}

/*===================================================================
# Works - 事例一覧
===================================================================*/

.works {
	padding-block: 8.5625rem 6.25rem;
}

.works__nav {
	margin-block: 1.5rem 4.6875rem;
}

.works__nav--top-works {
	margin-block: 2.125rem 3.4375rem;
}

.works__nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 2.875rem;
	justify-content: center;
	list-style: none;
}

.works__nav-list--top-works {
	gap: 2.5rem;
	justify-content: flex-start;
}

.works__nav-item {
	position: relative;
}

.works__nav-item.is-active::before {
	background-color: #1d1d1d;
	content: "";
	height: 0.125rem;
	left: 50%;
	position: absolute;
	top: -1.5rem;
	transform: translateX(-50%);
	width: 100%;
}
.archive-works .works__nav-item.is-active::before {
	top:inherit;
	bottom: -.5em;
}

.works__nav-item.is-active .works__nav-item__nav-link {
	font-weight: 700;
}

.works__nav-list--top-works .works__nav-item.is-active::before {
	bottom: -0.3125rem;
	top: auto;
}

.works__nav-link {
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	text-decoration: none;
}

.works__nav-link--top-works {
	align-items: center;
	display: flex;
	gap: 0.8125rem;
}

.works__nav-link-icon {
	height: 0.625rem;
	width: 0.4375rem;
	-o-object-fit: contain;
	object-fit: contain;
}

.works__items {
	display: grid;
	gap: 2.875rem 3.125rem;
	grid-template-columns: repeat(2, 1fr);
	margin-block-end: 4.1875rem;
}

.works__items--top-works {
	margin-block-end: -0.6875rem;
}

.works__item-img-inner {
	height: 17.8125rem;
	overflow: hidden;
	width: 29.6875rem;
}

.works__item-img-inner img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s;
}

.works__item-meta {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	margin-block-start: 0.625rem;
}

.works__item-date {
	font-size: 0.8125rem;
	letter-spacing: 0.02em;
}

.works__item-date--white {
	color: #fff;
}

.works__item-types {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.works__item-type {
	background-color: #eaeaea;
	font-size: 0.8125rem;
	letter-spacing: 0.02em;
	padding: 0.125rem 0.3125rem;
}

.works__item-type.is-type-commercial-cultural {
	background-color: #ffd9bb;
}

.works__item-type.is-type-public-works {
	background-color: #ccecd0;
}

.works__item-type.is-type-residential {
	background-color: #f3f5b9;
}

.works__item-title {
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	margin-block-start: 0.625rem;
}

.works__empty {
	font-size: 1.125rem;
	margin-block-start: 6.25rem;
	text-align: center;
}

/*===================================================================
# Works-single
===================================================================*/

.works-single {
	padding-block: 9.0625rem 6.25rem;
}

.works-single__header {
	display: flex;
	justify-content: space-between;
	margin-block-start: 3.625rem;
	position: relative;
}

.works-single__title {
	font-size: 2rem;
	line-height: 1.25;
	margin-block-start: 0.875rem;
}

.works-single__types {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.works-single__type {
	background-color: #eaeaea;
	display: inline-block;
	font-size: 0.8125rem;
	letter-spacing: 0.1em;
	padding: 0.125rem 0.3125rem;
}

.works-single__type.is-type-commercial-cultural {
	background-color: #ffd9bb;
}

.works-single__type.is-type-public-works {
	background-color: #ccecd0;
}

.works-single__type.is-type-residential {
	background-color: #f3f5b9;
}

.works-single__date {
	color: #999;
	font-size: 0.875rem;
	letter-spacing: 0.02em;
}

.works-single__header-bg {
	background-color: #f5f5f5;
	height: 22.8125rem;
	left: 50%; /* センター基準にして */
	position: absolute;
	top: -9.25rem;
	transform: translateX(-50%); /* 100vwを中央寄せ配置 */
	width: 100vw;
	z-index: -1;
}

.works-single__visual {
	align-items: flex-end;
	display: flex;
	-moz-column-gap: 3.75rem;
	column-gap: 3.75rem;
	margin-block-start: 1.75rem;
}

.works-single__main-image {
	height: 25rem;
	width: 37.5rem;
}

.works-single__main-image img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.works-single__gallery {
	width: 21.25rem;
}

.works-single__gallery-label {
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	margin-block-end: 0.6875rem;
}

.works-single__gallery-grid {
	display: grid;
	gap: 0.3125rem;
	grid-template-columns: repeat(3, 1fr);
}

.works-single__gallery-item {
	aspect-ratio: 1/1;
	background: transparent;
	border: 0;
	cursor: pointer;
	display: block;
	overflow: hidden;
	padding: 0;
	position: relative;
	width: 100%;
}

.works-single__gallery-item img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s;
}

.works-single__gallery-plus {
	background: #111;
	border-radius: 0 0 0 0.25rem;
	color: #fff;
	display: grid;
	font-size: 1.25rem;
	height: 1.5625rem;
	line-height: 1;
	place-items: center;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	width: 1.5625rem;
}

.works-single__overview {
	margin-block-start: 1.5rem;
}

.works-single__overview-title {
	align-items: baseline;
	display: flex;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	margin-block-end: 0.1875rem;
}

.works-single__overview-en {
	color: #ddd;
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 3rem;
}

.works-single__overview-jp {
	letter-spacing: 0.1em;
	line-height: 2.5;
}

.works-single__summary {
	border-bottom: 0.0625rem solid #ddd;
	border-top: 0.0625rem solid #ddd;
	display: flex;
	padding: 1.3125rem 0;
}

.works-single__summary-label {
	color: #4e9674;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.67;
	padding-inline-end: 1.25rem;
	width: 30%;
}

.works-single__summary-content {
	letter-spacing: 0.1em;
	line-height: 2;
	width: 70%;
}

.works-single__back-button {
	margin-block-start: 6.25rem;
}

.works-single__modal {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
	width: 100%;
	z-index: 1000;
}

.works-single__modal[aria-hidden=false] {
	opacity: 1;
	visibility: visible;
}

.works-single__modal-backdrop {
	background-color: rgba(0, 0, 0, 0.85);
	cursor: pointer;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.works-single__modal-dialog {
	max-height: 90%;
	max-width: 90%;
	position: relative;
	z-index: 1001;
}

.works-single__modal-close {
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
	font-size: 2.5rem;
	line-height: 1;
	padding: 0.625rem;
	position: absolute;
	right: -3.4375rem;
	top: -3.75rem;
}

.works-single__modal-figure {
	background: #000;
	margin: 0;
}

.works-single__modal-img {
	height: auto;
	max-height: 90vh;
	width: 100%;
	-o-object-fit: contain;
	display: block;
	object-fit: contain;
}

.works-single__main-image img,
.works-single__gallery-item img {
	cursor: pointer;
	transition: opacity 0.3s;
}

.works-single__main-image img:hover,
.works-single__gallery-item img:hover {
	opacity: 0.8;
}

/*===================================================================
# Topics（一覧）
===================================================================*/

.topics {
	padding-block: 8.625rem 6.25rem;
}


.topics__nav {
	margin-block: 1.5rem 4.6875rem;
}

.topics__nav--top-topics {
	margin-block: 2.125rem 3.4375rem;
}

.topics__nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 2.875rem;
	list-style: none;
}

.archive-topics .topics__nav-list {
	margin-top: 30px;
	justify-content: center;
}

.topics__nav-list--top-topics {
	gap: 2.5rem;
	justify-content: flex-start;
}

.topics__nav-item {
	position: relative;
	
}

.topics__nav-item.is-active::before {
	background-color: white;
	content: "";
	height: 0.125rem;
	left: 50%;
	position: absolute;
	bottom:  -0.3em;
	transform: translateX(-50%);
	width: 100%;
}
.archive-topics .topics__nav-item.is-active::before {
	background-color: black;
}


.topics__nav-item.is-active .topics__nav-item__nav-link {
	font-weight: 700;
}

.topics__nav-list--top-works .topics__nav-item.is-active::before {
	bottom: -0.3125rem;
	top: auto;
}

.topics__nav-link {
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	text-decoration: none;
	color: #AFAFAF;
	position: relative;
	display: flex;
	align-items: center;
}

.topics__nav-item.is-active .topics__nav-link {
	color: white;
}
.archive-topics .topics__nav-item.is-active .topics__nav-link {
	color: black;
}


.topics__nav-link::before {
	content: "";
	position: relative;
	display: block;
	height: 0.625rem;
	width: 0.4375rem;
	-webkit-mask: url("../img/arrow_black.svg") no-repeat center / contain;
	mask: url("../img/arrow_black.svg") no-repeat center / contain;
	transition: background .3s;
	background:#AFAFAF;
	margin-right: .7em;
}

.topics__nav-item.is-active .topics__nav-link::before {
	background: white;
}
.archive-topics .topics__nav-item.is-active .topics__nav-link::before {
	background: black;
	
}

.topics__nav-link--top-topics {
	align-items: center;
	display: flex;
	gap: 0.8125rem;
}

.topics__nav-link-icon {
	height: 0.625rem;
	width: 0.4375rem;
	-o-object-fit: contain;
	object-fit: contain;
	border: 1px solid red;
}




.topics__items {
	display: grid;
	gap: 1.5625rem 3.125rem;
	grid-template-columns: repeat(3, 1fr);
	margin-block: 3.3125rem 5.3125rem;
}

.topics__item-link {
	color: inherit;
	display: block;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.topics__item-img {
	height: 11.25rem;
	overflow: hidden;
	width: 18.75rem;
}

.topics__item-img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.button-layered__link{
	z-index: 10;	
}
.topics__item-meta {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	margin-block-start: 0.625rem;
}

.topics__item-date {
	font-size: 0.8125rem;
	letter-spacing: 0.02em;
}

.topics__item-date--white {
	color: #fff;
}

.topics__item-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.topics__item-category {
	background-color: #eaeaea;
	font-size: 0.8125rem;
	letter-spacing: 0.02em;
	padding: 0.125rem 0.3125rem;
}

.topics__item-category.is-category-news {
	background-color: #FED8BD;
}

.topics__item-category.is-category-feijoa-hill {
	background-color: #F3F5B7;
}

.topics__item-category.is-category-blog {
	background-color: #CDECD0;
}

.topics__item-title {
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	margin-block-start: 0.625rem;
}

.topics__item-title--white {
	color: #fff;
}

.topics__empty {
	font-size: 1.125rem;
	margin-block-start: 6.25rem;
	text-align: center;
}

.topics__empty--white {
	color: #fff;
}

/*===================================================================
# Topics-single
===================================================================*/

.topics-single {
	padding-block: 8.5625rem 6.25rem;
}

.topics-single__header {
	margin-block-start: 3.625rem;
	position: relative;
}

.topics-single__meta {
	align-items: center;
	display: flex;
	gap: 0.9375rem;
	margin-bottom: 0.625rem;
}

.topics-single__date {
	color: #999;
	font-size: 0.875rem;
	letter-spacing: 0.02em;
}

.topics-single__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.topics-single__category {
	background-color: #eaeaea;
	font-size: 0.8125rem;
	letter-spacing: 0.02em;
	padding: 0.125rem 0.3125rem;
}

.topics-single__category.is-category-news {
	background-color: #FED8BD;
}

.topics-single__category.is-category-feijoa-hill {
	background-color: #F3F5B7;
}

.topics-single__category.is-category-blog {
	background-color: #CDECD0;
}

.topics-single__title {
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 1.25;
	margin-block-start: 0.875rem;
}

.topics-single__separator {
	background-color: #1d1d1d;
	height: 0.0625rem;
	margin-block: 1.625rem 3.125rem;
	width: 100%;
}

.topics-single__header-bg {
	background-color: #f5f5f5;
	height: 22.8125rem;
	left: 50%; /* センター基準にして */
	position: absolute;
	top: -8.9375rem;
	transform: translateX(-50%); /* 100vwを中央寄せ配置 */
	width: 100vw;
	z-index: -1;
}

.topics-single__main-img {
	height: auto;
	margin-inline: auto;
	width: 40.625rem;
}

.topics-single__main-img img {
	height: auto;
	width: 100%;
}

.topics-single__content {
	margin-block-start: 2.625rem;
}

.topics-single__content h2 {
	border-bottom: 0.0625rem solid #ddd;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.6;
	margin: 2.1875rem 0 1.0625rem;
	padding-bottom: 0.375rem;
}

.topics-single__content h3 {
	background-color: #e4efea;
	font-size: 1.125rem;
	letter-spacing: 0.04em;
	line-height: 1.78;
	margin: 2.1875rem 0 1.0625rem;
	padding: 0.125rem 0.625rem;
}

.topics-single__content p {
	letter-spacing: 0.04em;
	line-height: 2;
	margin-block-start: 0.5625rem;
}

.topics-single__content ul,
.topics-single__content ol {
	margin-block-start: 0.75rem;
}

.topics-single__content ul li,
.topics-single__content ol li {
	letter-spacing: 0.04em;
	line-height: 2.5;
}

.topics-single__content ul li {
	padding-inline-start: 1.25rem;
	position: relative;
}

.topics-single__content ul li::before {
	background-color: #4e9674;
	border-radius: 50%;
	content: "";
	height: 0.625rem;
	left: 0;
	position: absolute;
	top: 0.9375rem;
	width: 0.625rem;
}

.topics-single__nav {
	align-items: center;
	border-top: 0.0625rem solid #ddd;
	display: flex;
	justify-content: space-between;
	margin-block-start: 5.375rem;
	padding-block-start: 6.25rem;
}

.topics-single__nav-link {
	align-items: center;
	color: #1d1d1d;
	display: flex;
	font-weight: 500;
	gap: 0.625rem;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.topics-single__nav-link--prev,
.topics-single__nav-link--next {
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	letter-spacing: 0.02em;
}

.topics-single__nav-link--prev .topics-single__nav-arrow img {
	rotate: 180deg;
}

.topics-single__nav-arrow {
	align-items: center;
	background-color: #4e9674;
	border-radius: 50%;
	display: flex;
	height: 2rem;
	justify-content: center;
	width: 2rem;
}

.topics-single__nav-arrow img {
	height: auto;
	width: 0.375rem;
}

.topics-single__back-btn {
	border-bottom: 0.0625rem solid #333;
	color: #1d1d1d;
	padding-bottom: 0.125rem;
	text-decoration: none;
}

/* 投稿編集画面のプロパティ「追加CSSクラス」に「topics-box」を設定した場合、囲み枠がつく */

.topics-single__content .topics-box {
	background-color: #fff;
	border: 0.0625rem solid #4e9674;
	border-radius: 0.25rem;
	margin-block: 2.625rem;
	padding: 0.8125rem 1.5625rem;
}

/*===================================================================
# Recruit - 採用情報
===================================================================*/

.recruit {
	padding-block-start: 8rem;
	position: relative;
}

.recruit__header-bg {
	background-color: #ddd;
	border-radius: 0 0 0 6.25rem;
	height: 37.5rem;
	position: absolute;
	right: 0;
	top: 0rem;
	width: 50rem;
	z-index: -1;
	background: url("../img/recruit/resruit_main.webp") no-repeat center / cover;
	
}

.recruit-message {
	margin-block: 5.5625rem 8.75rem;
	position: relative;
}

.recruit-message__inner {
	padding-inline-start: 11.5625rem;
}

.recruit-message__title {
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
}

.recruit-message__text-wrapper {
	margin-block-start: 2rem;
}

.recruit-message__text {
	letter-spacing: 0.1em;
	line-height: 2;
}

.recruit-message__text + .recruit-message__text {
	margin-block-start: 2.125rem;
}

.recruit-message__text:last-child {
	/*width: 10rem;*/
}

.recruit-message__bg {
	background-color: #ddd;
	position: absolute;
	z-index: -1;
}

.recruit-message__bg--1 {
	border-radius: 0 1.875rem 0 0;
	height: 12.5rem;
	left: 0;
	top: 0.8125rem;
	width: 16.875rem;
	background: url("../img/recruit/recruit_img01.webp") no-repeat center / cover;

}

.recruit-message__bg--2 {
	border-radius: 0 0 0 1.875rem;
	height: 12.5rem;
	left: 7.5rem;
	top: 15.125rem;
	width: 12.5rem;
	background: url("../img/recruit/recruit_img02.webp") no-repeat center / cover;
}

.recruit-message__bg--3 {
	border-radius: 1.875rem 0 0 0;
	height: 31.625rem;
	right: 0;
	top: 9.3125rem;
	width: 23.75rem;
	z-index: 1;
	background: url("../img/recruit/recruit_img03.webp") no-repeat center / cover;
}

.recruit-job {
	background-color: #adcebe;
	padding-block: 4.125rem 6.25rem;
}

.recruit-job__content {
	margin: -0.4375rem 0 0 auto;
	width: 45.625rem;
}

.recruit-job__item {
	border-bottom: 0.0625rem solid #7db197;
	display: flex;
	padding-block: 1.875rem;
	-moz-column-gap: 3.125rem;
	column-gap: 3.125rem;
}

.recruit-job__item:first-child {
	border-top: 0.0625rem solid #7db197;
}

.recruit-job__item-content {
	margin-block-start: 1.875rem;
}

.recruit-job__item-title {
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.417;
}

.recruit-job__item-text {
	letter-spacing: 0.06em;
	line-height: 1.6875;
	margin-block-start: 0.875rem;
}

.recruit-job__item-img {
	height: 11.75rem;
	width: 15.625rem;
}

.recruit-job__item-img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.recruit-merit-person {
	background-color: #adcebe;
}

.recruit-merit__body,
.recruit-person__body {
	background-color: #fff;
	border: 0.0625rem solid #adcebe;
	max-width: 62.5rem;
	padding: 2.25rem 3.125rem 3.125rem;
	width: 100%;
}

.recruit-merit__header,
.recruit-person__header {
	align-items: baseline;
	display: flex;
	-moz-column-gap: 1.5625rem;
	column-gap: 1.5625rem;
}

.recruit-merit__title-en,
.recruit-person__title-en {
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 4rem;
	line-height: 1.2;
}

.recruit-merit__title-jp,
.recruit-person__title-jp {
	letter-spacing: 0.1em;
}

.recruit-merit__container,
.recruit-person__container {
	display: flex;
	justify-content: space-between;
	margin-block-start: 1.6875rem;
}

.recruit-merit__item,
.recruit-person__item {
	align-items: center;
	background-color: #e4efea;
	display: flex;
	flex-direction: column;
	min-height: 22.8125rem;
	padding: 0.6875rem 1.25rem 1.6875rem;
	position: relative;
	text-align: center;
	width: 17.5rem;
}

.recruit-merit__step,
.recruit-person__step {
	color: #4e9674;
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 1.25rem;
}

.recruit-merit__step span,
.recruit-person__step span {
	display: inline-block;
	font-size: 2rem;
	font-style: italic;
	letter-spacing: 0.04em;
	margin-inline-start: 0.0625rem;
}

.recruit-merit__icon,
.recruit-person__icon {
	align-items: center;
	display: flex;
/*	height: 9.0625rem;*/
	justify-content: center;
	margin-block: 0.875rem 1.4375rem;
	/*width: 9.0625rem;*/
}

.recruit-merit__icon img,
.recruit-person__icon img {
	height: 100%;
	width: auto;
}

.recruit-merit__desc,
.recruit-person__desc {
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	line-height: 1.71429;
	margin-block-start: 0.4375rem;
	text-align: center;
}

.recruit-merit__arrow,
.recruit-person__arrow {
	align-items: center;
	background-color: #4e9674;
	border-radius: 50%;
	display: flex;
	flex-shrink: 0;
	height: 3.125rem;
	justify-content: center;
	position: absolute;
	right: -2.5rem;
	top: 50%;
	translate: 0 -50%;
	width: 3.125rem;
	z-index: 1;
}

.recruit-merit__arrow img,
.recruit-person__arrow img {
	height: 0.78125rem;
	width: 0.59375rem;
}

.recruit-person__body {
	margin-block-start: 1.875rem;
	position: relative;
	z-index: 3;
}

.recruit-information {
	background-color: #fff;
	margin-block-start: -12.5rem;
	padding-block: 16.5625rem 6.25rem;
}

.recruit-information__tabs {
	display: flex;
	-moz-column-gap: 3.125rem;
	column-gap: 3.125rem;
	margin-block: 3.125rem;
}

.recruit-information__tab {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-top: 0.125rem solid #ddd;
	border-top: 0.125rem solid #ddd;
	cursor: pointer;
	display: flex;
	justify-content: center;
	padding-block-start: 1.9375rem;
	transition: border-color 0.3s ease;
	width: 100%;
}

.recruit-information__tab p {
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	transition: all 0.3s ease;
}

.recruit-information__tab--1.is-active {
	border-top-color: #4e9674;
}

.recruit-information__tab--1.is-active p {
	color: #4e9674;
	font-size: 1.5rem;
	font-weight: 600;
}

.recruit-information__tab--2.is-active {
	border-top-color: #d9975d;
}

.recruit-information__tab--2.is-active p {
	color: #d9975d;
	font-size: 1.5rem;
	font-weight: 600;
}

.recruit-information__content {
	display: none;
	margin-block-start: 4.6875rem;
}

.recruit-information__content.is-active {
	display: block;
}

.recruit-information__content--1 .recruit-information__row:nth-child(odd) {
	background-color: #e4efea;
}

.recruit-information__content--2 .recruit-information__row:nth-child(odd) {
	background-color: #f7ede4;
}

.recruit-information__row {
	align-items: flex-start;
	display: flex;
	padding: 1.625rem 2.375rem;
}

.recruit-information__term,
.recruit-information__description {
	letter-spacing: 0.1em;
	line-height: 1.75;
}

.recruit-information__term {
	flex-shrink: 0;
	font-weight: 600;
	width: 8.4375rem;
}

.recruit-information__description {
	flex: 1;
	font-weight: 500;
}

.recruit-information__note {
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	line-height: 1.1923;
}

.recruit-entry {
	aspect-ratio: 1366/350;
	background: url(../../assets/img/recruit-back.webp) center center/cover no-repeat;
	padding-block: 1.75rem 4.0625rem;
}

.recruit-entry__body {
	display: flex;
	justify-content: space-between;
}

.recruit-entry__message {
	color: #fff;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
	margin-block-start: 0.3125rem;
}

.recruit-entry__btn-wrapper {
	margin-block-start: 1.5625rem;
}

/*===================================================================
# Entry
===================================================================*/

.entry {
	padding-block: 8.375rem 6.25rem; /* フォーカス時 */
}

.entry__inner {
	position: relative;
}

.entry__header-bg {
	background-color: #f5f5f5;
	height: 22.8125rem;
	left: 50%; /* センター基準にして */
	position: absolute;
	top: 4.5625rem;
	transform: translateX(-50%); /* 100vwを中央寄せ配置 */
	width: 100vw;
	z-index: -1;
}

.entry__message {
	margin-block: 3rem 3rem;
	position: relative;
}

.entry__message-title {
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 1.7188;
}

.entry__message-text {
	letter-spacing: 0.1em;
	line-height: 2;
	margin-block-start: 0.75rem;
}

.entry__flow {
	background-color: #fff;
	border: 0.0625rem solid #adcebe;
	padding: 2.25rem 3.125rem 3.125rem;
}

.entry__flow-header {
	align-items: baseline;
	display: flex;
	-moz-column-gap: 1.5625rem;
	column-gap: 1.5625rem;
}

.entry__flow-title-en {
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 4rem;
	line-height: 1.2;
}

.entry__flow-title-jp {
	letter-spacing: 0.1em;
}

.entry__flow-container {
	display: flex;
	justify-content: space-between;
	margin-block-start: 1.6875rem;
}

.entry__flow-item {
	align-items: center;
	background-color: #e4efea;
	display: flex;
	flex-direction: column;
	min-height: 22.8125rem;
	padding: 0.6875rem 1.25rem 1.6875rem;
	position: relative;
	text-align: center;
	width: 17.5rem;
}

.entry__flow-step {
	color: #4e9674;
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 1.25rem;
}

.entry__flow-step span {
	display: inline-block;
	font-size: 2rem;
	font-style: italic;
	letter-spacing: 0.04em;
	margin-inline-start: 0.3125rem;
}

.entry__flow-icon {
	align-items: center;
	display: flex;
	height: 9.0625rem;
	margin-block: 0.875rem 1.4375rem;
}

.entry__flow-icon img {
	height: 100%;
	width: auto;
}

.entry__flow-icon--1 img {
	height: auto;
	width: 6.9375rem;
}

.entry__flow-icon--2 img {
	height: auto;
	width: 8.9375rem;
}

.entry__flow-icon--3 img {
	height: auto;
	width: 10.1875rem;
}

.entry__flow-label {
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.2;
}

.entry__flow-desc {
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	line-height: 1.71429;
	margin-block-start: 0.4375rem;
	text-align: left;
}

.entry__flow-arrow {
	align-items: center;
	background-color: #4e9674;
	border-radius: 50%;
	display: flex;
	flex-shrink: 0;
	height: 3.125rem;
	justify-content: center;
	position: absolute;
	right: -2.5rem;
	top: 50%;
	translate: 0 -50%;
	width: 3.125rem;
	z-index: 1;
}

.entry__flow-arrow img {
	height: 0.78125rem;
	width: 0.59375rem;
}

.entry__content-wrapper.is-hidden {
	display: none;
}

.entry__form {
	margin: 6.25rem auto 0;
}

.entry__form.is-hidden {
	display: none;
}

.entry__form-must {
	color: #c1272d;
	font-size: 0.625rem;
	font-weight: 500;
	line-height: 2.8;
	margin-inline-start: 0.625rem;
}

.entry__form-inner {
	background-color: #e4efea;
}

.entry__row {
	align-items: center;
	border-bottom: 0.125rem solid #fff;
	display: flex;
	padding: 1.25rem 2.5rem;
}

.entry__row--address {
	align-items: flex-start;
	padding: 0.625rem;
}

.entry__row--message {
	display: block;
}

.entry__head {
	flex: 0 0 11.25rem; /* 項目名 */
	font-weight: 500;
	line-height: 1.75;
}

.entry__inputs {
	flex: 1;
}

.entry input[type=text],
.entry input[type=email],
.entry input[type=tel],
.entry textarea {
	background-color: #FFF;
	border: none;
	border-radius: 0;
	display: block;
	font-weight: 500;
	height: 2.5rem;
	letter-spacing: 0.1em;
	padding-inline: 1.25rem;
	width: 100%;
}

.entry input[type=text]::-moz-placeholder,
.entry input[type=email]::-moz-placeholder,
.entry input[type=tel]::-moz-placeholder,
.entry textarea::-moz-placeholder {
	color: #919292;
	font-family: inherit;
	font-size: 1rem;
}

.entry input[type=text]::placeholder,
.entry input[type=email]::placeholder,
.entry input[type=tel]::placeholder,
.entry textarea::placeholder {
	color: #919292;
	font-family: inherit;
	font-size: 1rem;
}

.entry__message-info {
	font-size: 0.8125rem;
	letter-spacing: 0.1em;
	margin-block-end: 1.0625rem;
}

.entry textarea {
	line-height: 1.8;
	min-height: 10rem;
	resize: vertical;
}

.entry input[type=text]:focus,
.entry input[type=email]:focus,
.entry textarea:focus {
	outline: 0.0625rem solid #4e9674;
}

.entry__zip-row {
	align-items: center;
	display: flex;
	margin-bottom: 0.3125rem;
}

.entry__zip-row input[type=tel].p-postal-code {
	width: 11.25rem;
}

.entry__zip-mark {
	flex-shrink: 0;
	font-weight: 500;
	line-height: 1.75;
	margin-inline-end: 0.625rem;
}

.entry__zip-btn {
	background-color: #4e9674;
	border: none;
	color: #fff;
	cursor: pointer;
	font-size: 0.875rem;
	height: 2.5rem;
	padding: 0.5rem 1.25rem;
	transition: opacity 0.3s;
}

.entry__zip-btn:hover {
	opacity: 0.8;
}

.entry__error {
	color: red;
}

.entry__privacy {
	padding: 1.5625rem 2.5rem;
}

.entry__privacy-title {
	font-weight: 500;
	line-height: 1.75;
}

.entry__privacy-text {
	font-size: 0.8125rem;
	line-height: 1.6923;
}

.entry__btn-wrapper .button-layered {
	margin-block-start: 0;
}

.entry__btn-wrapper .button-layered__link:disabled,
.entry__btn-wrapper .button-layered__link[disabled] {
	background-color: #c9c9c9 !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	opacity: 0.8;
	pointer-events: none;
}

.entry__btn-wrapper .button-layered__link:focus-visible {
	outline: 0.0625rem solid #4e9674;
}

.entry__confirm {
	margin-block-start: 3.375rem;
}

.entry__confirm .entry__row {
	padding-block: 1.5625rem;
}

.entry__confirm.is-hidden {
	display: none;
}

.entry__confirm-value {
	flex: 1;
	font-weight: 500;
	line-height: 1.75;
	word-break: break-all;
}

.entry__confirm-btn-wrapper {
	display: flex;
	-moz-column-gap: 3.125rem;
	column-gap: 3.125rem;
	justify-content: center;
	margin-block-start: 3.125rem;
}

.entry__thanks {
	margin-block-start: 3.6875rem;
}

.entry__thanks.is-hidden {
	display: none;
}

.entry__thanks-header-title {
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
}

.entry__thanks-header-text {
	letter-spacing: 0.1em;
	margin-block-start: 1.0625rem;
}

.entry__thanks-content {
	background-color: #e4efea;
	margin-block: 2.8125rem 3.125rem;
	padding: 2.9375rem 3.125rem 2.8125rem;
}

.entry__thanks-message {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
}

.entry__thanks-note-title {
	color: #4e9674;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.6875;
	margin-block-start: 1.3125rem;
}

.entry__thanks-note {
	letter-spacing: 0.04em;
	line-height: 1.6875;
}

.entry__acceptance {
	grid-template-columns: 1fr;
	padding-block: 2.9375rem 3.125rem;
	text-align: center;
}

.entry__underline-btn-link {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2.25;
}

input[type=checkbox] {
	height: 0.0625rem;
	position: absolute;
	width: 0.0625rem; /* デフォルトのものを消す */
	clip: rect(0, 0, 0, 0);
}

/* フォーカス時 */

input[type=checkbox]:focus-visible ~ span::before {
	border-color: #4e9674;
	border-width: 0.125rem;
	outline: transparent !important;
}

/* チェックされた時の挙動 */

input[type=checkbox]:checked + span::before {
	background-color: #333;
}

input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.entry__data-privacy {
	text-align: center;
}

.entry__data-privacy label {
	display: inline-block;
}

.entry__data-privacy span {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	font-size: 1rem;
	line-height: normal;
	padding-left: 1.75rem;
	position: relative;
}

.entry__data-privacy span::before {
	border: 0.0625rem solid #333;
	border-radius: 0.125rem;
	content: ""; /* ボックス */
	height: 1.125rem;
	left: 0;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 1.125rem;
}

.entry__data-privacy span::after {
	border-bottom: 0.15625rem solid #fff;
	border-right: 0.15625rem solid #fff;
	content: ""; /* チェックマーク */
	height: 0.75rem;
	left: 0.4375rem;
	opacity: 0;
	position: absolute;
	rotate: 45deg;
	top: 0.3125rem;
	transition: opacity 0.3s ease;
	width: 0.375rem;
}

/* 送信ボタンを指カーソルに */

.entry__confirm-btn,
#js-submit,
input[type=submit].wpcf7-submit {
	cursor: pointer;
}

/*デフォルトのサンクスメッセージを非表示*/

.wpcf7-response-output {
	display: none;
}

/*===================================================================
# Privacy-Policy
===================================================================*/

.policy {
	padding-block: 10.625rem 5.875rem;
}

.policy .page-header {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}

.policy .page-header__title {
	color: #ddd;
	font-family: "EB Garamond", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;
	font-size: 3rem;
	line-height: 1.5;
}

.policy .page-header__sub-title {
	letter-spacing: 0.1em;
	margin-block-start: 0.8125rem;
}

.policy__lead {
	line-height: 1.6875;
	margin-block: 6.4375rem 2.875rem;
}

.policy__clause + .policy__clause {
	margin-block-start: 2.6875rem;
}

.policy__clause-title {
	border-bottom: 0.0625rem solid #ddd;
	font-size: 1.25rem;
	letter-spacing: 0.1em;
	line-height: 1.35;
	padding-block-end: 1rem;
}

.policy__clause-text {
	line-height: 1.6875;
	margin-block-start: 0.875rem;
}

/*===================================================================
# ブレークポイントによる表示 / 非表示
===================================================================*/

.show__sp {
	display: none; /* spのみ表示 */
}

.show__tab {
	display: none; /* tabのみ表示 */
}

.show__tab-pc {
	display: block; /* tab～pc間で表示 */
}

.show__tab-pc--inline {
	display: inline-block;
}

.show__medium-pc {
	display: block; /* medium～pc間で表示 */
}

.show__sp-medium {
	display: none; /* sp～medium間で表示 */
}

@media (any-hover: hover) {

.footer__nav-link:hover {
	opacity: 1;
}

.footer__nav-link:hover::after {
	transform: scaleX(1);
}

.footer__policy-link:hover {
	opacity: 1;
}

.footer__policy-link:hover::after {
	transform: scaleX(1);
}

.breadcrumb span a:hover {
	text-decoration: underline;
}

.pagination__link:hover {
	background-color: #1d1d1d;
	color: #fff;
}

.button-layered__link:hover {
	background-color: #292929;
	color: #fff;
	opacity: 1;
}

.button-layered--white .button-layered__link:hover {
	background-color: #fff;
	color: #1d1d1d;
}

.works__item-img-inner img:hover {
	transform: scale(1.05);
}

.works-single__gallery-item img:hover {
	transform: scale(1.05);
}

.topics__item-link:hover {
	opacity: 1;
}

.topics__item-link:hover .topics__item-img img {
	transform: scale(1.05);
}

.topics__item-link:hover .topics__item-text-body {
	opacity: 0.7;
}

.recruit-information__tab--1:hover {
	border-top-color: #4e9674;
}

.recruit-information__tab--1:hover p {
	color: #4e9674;
	font-size: 1.5rem;
	font-weight: 600;
}

.recruit-information__tab--2:hover {
	border-top-color: #d9975d;
}

.recruit-information__tab--2:hover p {
	color: #d9975d;
	font-size: 1.5rem;
	font-weight: 600;
}

}

@media screen and (min-width: 768px) and (max-width: 1366px) {

html {
	font-size: calc(16 / 1366 * 100vw);
}

}

@media screen and (min-width: 768px) and (max-width: 1023px) {

.show__tab {
	display: block;
}

.show__medium-pc {
	display: none;
}

.show__sp-medium {
	display: block;
}

}

@media screen and (min-width: 1024px) and (max-width: 1239px) {

.show__sp-medium {
	display: block;
}

}

@media screen and (max-width: 767px) {

html {
	font-size: 4.1666666667vw;
}

.header {
	height: 68px;
}

.header__inner {
	padding-inline: 1.09375rem;
}

.header__logo {
	padding-block-start: 1.0625rem;
}

.header__logo-link {
	-moz-column-gap: 0.5625rem;
	column-gap: 0.5625rem;
}

.header__logo-img {
	height: 2.1875rem;
}

.header__logo-text {
	margin-block-start: 0;
}

.header__logo-main {
	font-size: 1.125rem;
}

.header__logo-sub {
	font-size: 0.65625rem;
}

.header__utility-list {
	display: none;
}

.footer {
	padding-block: 3.125rem 1.5625rem;
}

.footer__inner {
	flex-direction: column;
}

.footer__company {
	display: contents;
}

.footer__logo {
	order: 1;
	padding-block-start: 0;
}

.footer__logo-main {
	font-size: 1.125rem;
}

.footer__info {
	margin-block-start: 2.75rem;
	order: 3;
}

.footer__menu-wrap {
	display: contents;
}

.footer__nav {
	margin-block-start: 2.8125rem;
	order: 2;
}

.footer__nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.4375rem 1.1875rem;
}

.footer__sub-content {
	margin-block-start: 1.25rem;
	order: 4;
}

.footer__logos {
	width: 10.875rem;
}

.footer__policy-link {
	font-size: 0.75rem;
}

.page-header {
	display: block;
}

.page-header__title-en {
	font-size: 5.5rem;
	margin-block-start: -0.8125rem;
}

.page-header__title-en--single-works {
	margin-block-start: -0.3125rem;
}

.page-header__title-en--single-topics {
	margin-block-start: -0.3125rem;
}

.page-header__title-en--recruit {
	margin-block-start: 2.8125rem;
}

.page-header__title-en--entry {
	margin-block-start: -0.5rem;
}

.page-header__title-jp {
	font-size: 0.625rem;
}

.page-header__title-jp--archive-works {
	left: 4.6875rem;
	top: 1.375rem;
}

.page-header__title-jp--single-works {
	left: 4.6875rem;
	top: 1.375rem;
}

.page-header__title-jp--archive-topics {
	left: 4.25rem;
	top: 1.3125rem;
}

.page-header__title-jp--single-topics {
	left: 4.0625rem;
	top: 1.4375rem;
}

.page-header__title-jp--recruit {
	margin-block-start: -0.75rem;
}

.page-header__title-jp--entry {
	left: 4.25rem;
	top: 1.375rem;
}

.breadcrumb {
	font-size: 0.625rem;
	text-align: right;
}

.breadcrumb__separator {
	margin-inline: 0.5em;
}

.breadcrumb--recruit {
	margin-block-start: 6.5625rem;
	text-align: left;
}

.pagination__link {
	font-size: 1rem;
}

.pagination__label {
	font-size: 0.875rem;
}

.js-fadein-sp {
	opacity: 0;
	transform: translateY(0.625rem);
	transition: opacity 0.5s ease, transform 0.5s ease;
	will-change: opacity, transform;
}

.js-fadein-sp.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.drawer .header__logo {
	padding-block-start: 0;
}

.drawer__body {
	padding-block-start: 1.09375rem;
}

.drawer__actions {
	flex-direction: column;
	margin-block-start: 2.5rem;
	row-gap: 1.875rem;
}

.drawer__list {
	grid-template-columns: 1fr;
	padding-inline-start: 0.375rem;
}

.drawer__insta-link {
	margin-block-start: 2rem;
}

.drawer__contact-item {
	height: 5.1875rem;
	margin-inline: auto;
	width: 18.75rem;
}

.drawer__contact-icon {
	flex: 0 0 3.9375rem;
}

.drawer__contact-icon::after {
	height: 3.6875rem;
}

.drawer__contact-icon-img--tel {
	height: 1.5rem;
	width: 1.5rem;
}

.drawer__contact-icon-img--mail {
	height: 1.375rem;
	width: 1.5625rem;
}

.drawer__contact-lead,
.drawer__contact-sub {
	font-size: 0.625rem;
}

.drawer__contact-main--tel {
	font-size: 1.75rem;
}

.drawer__contact-main--mail {
	font-size: 1.25rem;
	margin-block-start: 0.1875rem;
}

.drawer__container {
	padding-block-start: 0.9375rem;
}

.drawer__text {
	top: 2.375rem;
}

.button-layered--top-topics {
	height: 3.125rem;
	margin-block-start: 2.875rem;
	width: 10.9375rem;
}

.button-layered--top-topics .button-layered__bg {
	height: 3.125rem;
	width: 10.9375rem;
}

.button-layered--recruit-entry {
	height: 3.75rem;
	width: 16.25rem;
	background: url(../../assets/img/recruit-back-sp.webp) center center/cover no-repeat;
	
}

.button-layered--recruit-entry .button-layered__link {
	border-radius: 0.625rem;
	font-size: 1.0625rem;
}

.button-layered--recruit-entry .button-layered__bg {
	height: 3.75rem;
	width: 16.25rem;
}

.inner {
	padding-inline: 1.09375rem;
}

.section__title-en--top-topics,
.section__title-en--top-works,
.section__title-en--top-profile,
.section__title-en--top-recruit {
	font-size: 5.5625rem;
}

.section__title-en--top-strengths {
	font-size: 5.5625rem;
	font-size: 5.125rem;
	letter-spacing: 0;
}


.top-strengths__lead{
	font-size: 5vw;
	line-height: 1.5em;
}
.top-strengths__item-title{
	font-size: 4vw;
}
.top-strengths__item-text{
	font-size: 3.4vw;
}

.top-recruit__message,
.top-instagram__lead,
.topics__item-title,
.works__item-title{
	font-size: 4vw !important;
}

.section__title-en--recruit-job {
	font-size: 5.5625rem;
	padding-inline-start: 0.5rem;
}

.section__title-en--recruit-information {
	font-size: 4.0625rem;
}

.section__title-en--recruit-entry {
	font-size: 5.5625rem;
	letter-spacing: 0.04em;
}

.section__title-jp {
	font-size: 0.625rem;
}

.section__title-jp--top-topics {
	font-size: 0.625rem;
}

.section__title-jp--top-works {
	left: 4.5625rem;
	top: 1.4375rem;
}

.section__title-jp--top-strengths {
	left: 4.125rem;
	top: 1.125rem;
}

.section__title-jp--top-profile {
	left: 4.75rem;
	top: 1.3125rem;
}

.section__title-jp--top-recruit {
	margin-block-start: -0.875rem;
}

.section__title-jp--recruit-job {
	font-size: 0.625rem;
	left: 4.3125rem;
	top: 1.25rem;
}

.section__title-jp--recruit-information {
	font-size: 0.625rem;
	left: 3.125rem;
	top: 0.75rem;
}

.top-fv {
	aspect-ratio: 384/683;
	background-image: url(../../assets/img/main_hero_sp.webp);
}

.top-fv__message-wrapper {
	left: 50%;
	right: auto;
	top: 14.0625rem;
	translate: -50%;
}

.top-concept {
	aspect-ratio: 384/546;
	background-color: #000;
	background-image: url(../../assets/img/concept_bg_sp.webp);
	background-position: center bottom;
	background-size: contain;
	padding-block: 2.125rem 21.625rem;
}

.top-concept__title {
	font-size: 3.75rem;
}

.top-concept__text-wrapper {
	margin-block-start: 0.75rem;
}

.top-concept__text {
	font-size: 0.9375rem;
	line-height: 2;
	text-align: center;
	writing-mode: horizontal-tb;
}

.top-topics {
	padding-block: 2rem 3.125rem;
}

.top-topics__contents {
	margin-block-start: 3.4375rem;
}

.top-topics__nav {
	bottom: 0.5rem;
	justify-content: space-between;
	left: 0;
	padding-inline: 1.4375rem;
	right: auto;
	top: auto;
	width: 100%;
	z-index: 10;
}

.top-topics .topics__item-link {
	margin-inline: auto;
	width: 18.75rem;
}

.top-topics .topics__item-img {
	height: 11.25rem;
}

.top-works__banners {
	gap: 0.9375rem;
	grid-template-columns: 1fr;
	margin-block-start: 3.125rem;
}

.top-works .button-layered--top-works {
	margin-block-start: 2.9375rem;
}

.top-strengths {
	padding-block: 2rem 3.125rem;
}

.top-strengths__content {
	margin-block-start: 3.1875rem;
	width: 100%;
}

.top-strengths__item-title {
	font-size: 1.1875rem;
	letter-spacing: 0.02em;
}

.top-strengths__item-imgs {
	flex-direction: column;
	row-gap: 0.3125rem;
}

.top-strengths__item-img {
	width: 100%;
}

.top-flow {
	padding-block-end: 3.125rem;
	padding-inline: 1.09375rem;
}

.top-flow__inner {
	padding-block: 1.8125rem 1.5625rem;
	padding-inline: 1.25rem;
}

.top-flow__content {
	margin-block-start: 1.8125rem;
}

.top-flow__title{
	font-size: 5vw;
}
.top-flow__items {
	padding-inline: 1.25rem;
	width: 100%;
}

.top-flow__item {
	padding-block: 1.25rem;
}

.top-flow__item-title {
	-moz-column-gap: 1.25rem;
	align-items: flex-start;
	column-gap: 1.25rem;
	letter-spacing: 0.02em;
	line-height: 1.67;
}

.top-flow__item-title-num {
	padding-block-start: 0.25rem;
}

.top-flow__item-title-num{
	font-size: 5vw !important;
}
.top-flow__item-title-text{
	font-size: 4vw !important;
}
.top-flow__item-text {
	margin-block-start: 0.8125rem;
	padding-inline-start: 0;
		font-size: 3.4vw;

}

.top-flow__item-list {
	padding-inline-start: 1em;
	text-indent: -1em;
	font-size: 3.4vw;
}

.top-flow__item-media {
	margin-block-start: 1.125rem;
	padding: 0.625rem 0.9375rem 0.9375rem;
}

.top-flow__item-media-list {
	grid-template-columns: 1fr;
	row-gap: 0.3125rem;
}

.top-flow__item-media-list img {
	height: 8.3125rem;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-flow__item-arrow {
	margin-inline: auto;
}

.top-flow__item-subtitle {
	padding-inline-start: 0;
	font-size: 4vw;
}

.top-instagram {
	padding-block: 2.4375rem 3.125rem;
}

.top-instagram__title {
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
}

.top-instagram__title-en {
	font-size: 2.78125rem;
}

.top-instagram__lead {
	margin-block-start: 1.3125rem;
}

.top-instagram__content-head {
	margin-block-start: 1.4375rem;
}

.top-instagram__tag {
	padding-block-start: 0.625rem;
}

.top-instagram__gallery-list {
	grid-template-columns: repeat(2, 1fr);
	margin-block-start: 0.9375rem;
}

.top-instagram .button-layered--top-recruit {
	margin-block-start: 1.5625rem;
}

.top-profile {
	padding-block: 1.875rem 3.125rem;
}

.top-profile__list {
	margin-block-start: 3.9375rem;
	width: 100%;
}

.top-profile__row {
	flex-direction: column;
	gap: 0.625rem;
	gap: 0.0625rem;
	padding: 0.5rem 0.9375rem;
}

.top-profile__term {
	font-size: 1.125rem;
}

.top-profile__description {
	font-size: 0.9375rem;
	letter-spacing: 0.02em;
}

.top-recruit {
	padding-block: 1.625rem 3.125rem;
	background: url(../../assets/img/recruit-back-sp.webp) center center/cover no-repeat;
	
}

.top-recruit__inner {
	flex-direction: column;
}

.top-recruit__message {
	letter-spacing: 0.07em;
	margin-block-start: 1.4375rem;
}

.top-recruit .button-layered--top-recruit {
	margin-block-start: 1.3125rem;
}

.top-recruit__img {
	height: 8.375rem;
	width: 14rem;
}

.top-recruit__img--1 {
	margin-block-start: 1.5625rem;
	margin-inline-end: 2.125rem;
}

.top-recruit__img--2 {
	margin-inline-start: 2.125rem;
}

.works {
	padding-block: 1.5rem 2.5rem;
}

.works__nav {
	margin-block: 1.875rem 3.0625rem;
}

.works__nav-list {
	flex-wrap: wrap;
	gap: 0.625rem;
	justify-content: flex-start;
}

.works__nav-item.is-active {
	background-color: #1d1d1d;
}

.works__nav-item.is-active .works__nav-link {
	color: #fff;
}

.works__nav-item.is-active .works__nav-link-icon {
	filter: brightness(0) invert(1);
}

.works__nav-item.is-active::before {
	display: none;
}

.works__nav-item {
	border: 0.0625rem solid #1d1d1d;
	padding: 0.125rem 0.5rem;
	transition: background-color 0.3s ease;
}

.works__nav-link {
	font-size: 1rem;
}

.works__items {
	grid-template-columns: 1fr;
	margin-block-end: 2.1875rem;
	row-gap: 1.375rem;
}

.works__item-img-inner {
	height: 13.0625rem;
	width: 100%;
}

.works-single {
	padding-block: 1.6875rem 3.125rem;
}

.works-single__header {
	margin-block-start: 1.875rem;
}

.works-single__title {
	margin-block-start: 0.625rem;
}

.works-single__visual {
	flex-direction: column;
	margin-block-start: 0.8125rem;
}

.works-single__main-image {
	height: 14.5rem;
	width: 100%;
}

.works-single__gallery-label {
	margin-block: 1.1875rem 0.625rem;
}

.works-single__gallery-plus {
	font-size: 1rem;
	height: 1.25rem;
	width: 1.25rem;
}

.works-single__overview {
	margin-block-start: 2.5625rem;
}

.works-single__overview-title {
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	margin-block-end: 0;
}

.works-single__overview-en {
	font-size: 1.5rem;
}

.works-single__summary {
	flex-direction: column;
	padding: 0.9375rem;
}

.works-single__summary-label {
	font-size: 1.5rem;
	width: 100%;
}

.works-single__summary-content {
	width: 100%;
}

.works-single__back-button {
	margin-block-start: 3.125rem;
}

.works-single__modal-close {
	right: 0;
	top: -3.125rem;
}

.topics {
	padding-block: 1.8125rem 2.5rem;
}

.topics__nav-list {
	flex-wrap: wrap;
	gap: 0.625rem;
	justify-content: flex-start;
}

.topics__nav-item.is-active {
	background-color: white;
	border: 0.0625rem solid white;

}

.archive-topics .topics__nav-item.is-active {
	background-color: black;
}

.topics__nav-item.is-active .topics__nav-link {
	color: black !important;

}

.archive-topics .topics__nav-item.is-active .topics__nav-link {
	color: white !important;

}


.topics__nav-link::before {
	background-color: #AFAFAF;
}
.topics__nav-item.is-active .topics__nav-link::before {
	background: black !important;
}
.archive-topics .topics__nav-item.is-active .topics__nav-link::before {
	background: white !important;
}

.topics__nav-item.is-active::before {
	display: none;
}

.topics__nav-item {
	border: 0.0625rem solid #AFAFAF;
	padding: 0.125rem 0.5rem;
	transition: background-color 0.3s ease;
}
.topics__nav-link {
	font-size: 1rem;
}





.topics__items {
	grid-template-columns: 1fr;
	margin-block: 1.9375rem 2.1875rem;
	row-gap: 1.375rem;
}

.topics__item-img {
	height: 13.0625rem;
	width: 100%;
}

.topics-single {
	padding-block: 1.8125rem 3.125rem;
}

.topics-single__header {
	margin-block-start: 2.0625rem;
}

.topics-single__title {
	margin-block-start: 0.6875rem;
}

.topics-single__separator {
	margin-block: 0.625rem 1.5625rem;
}

.topics-single__header-bg {
	top: -7rem;
}

.topics-single__main-img {
	width: 100%;
}

.topics-single__content {
	margin-block-start: 1.375rem;
}

.topics-single__content h2 {
	margin-block: 1.5625rem 0;
}

.topics-single__content h3 {
	margin-block-start: 1.3125rem;
}

.topics-single__content p {
	margin-block-start: 0.5625rem;
}

.topics-single__content ul,
.topics-single__content ol {
	margin-block-start: 1.25rem;
}

.topics-single__content ul li,
.topics-single__content ol li {
	line-height: 1.5;
}

.topics-single__content ul li:not(:first-child),
.topics-single__content ol li:not(:first-child) {
	margin-block-start: 0.75rem;
}

.topics-single__content ul li::before {
	top: 0.5rem;
}

.topics-single__nav {
	margin-block-start: 3.125rem;
	padding-block-start: 3.125rem;
}

.topics-single__content .topics-box {
	margin-block: 1.875rem;
}

.recruit {
	padding-block-start: 1.8125rem;
}

.recruit__header-bg {
	border-radius: 0 0 0 3.125rem;
	height: 18.75rem;
	width: 16.8125rem;
}

.recruit-message {
	margin-block-end: 2.5rem;
}

.recruit-message__inner {
	padding-block-start: 19rem;
	padding-inline: 1.09375rem;
}

.recruit-message__title {
	font-size: 1.8125rem;
	letter-spacing: 0.03em;
}

.recruit-message__text-wrapper {
	margin-block-start: 0.8125rem;
}

.recruit-message__bg--1 {
	border-radius: 0 2.1875rem 0 0;
	height: 14.4375rem;
	top: -2.5625rem;
	width: 19.5rem;
}

.recruit-message__bg--2 {
	background-color: #ccc;
	border-radius: 0 0 0 1.3125rem;
	height: 8.4375rem;
	left: auto;
	right: 0;
	top: 8.125rem;
	width: 8.4375rem;
}

.recruit-message__bg--3 {
	border-radius: 1.09375rem 0 0 0;
	height: 24.6875rem;
	top: 45.625rem;
	width: 11rem;
}

.recruit-job {
	padding-block: 1.875rem 3.125rem;
}

.recruit-job__content {
	margin-block-start: 2.875rem;
	width: 100%;
}

.recruit-job__item {
	flex-direction: column;
	padding-block: 1.5rem;
	row-gap: 1.1875rem;
}

.recruit-job__item-content {
	margin-block-start: -0.4375rem;
}

.recruit-job__item-title {
	font-size: 1.1875rem;
	line-height: 1.78947;
}

.recruit-job__item-text {
	font-size: 0.9375rem;
	line-height: 1.7;
	margin-block-start: 0.1875rem;
}

.recruit-job__item-img {
	height: 16.375rem;
	width: 100%;
}

.recruit-merit__body,
.recruit-person__body {
	padding: 1.25rem 1.5625rem;
}

.recruit-merit__header,
.recruit-person__header {
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
}

.recruit-merit__title-en,
.recruit-person__title-en {
	font-size: 2.25rem;
}

.recruit-merit__title-jp,
.recruit-person__title-jp {
	letter-spacing: 0.05em;
}

.recruit-merit__container,
.recruit-person__container {
	flex-direction: column;
	margin-block-start: 1.0625rem;
	row-gap: 0.625rem;
}

.recruit-merit__item,
.recruit-person__item {
	min-height: auto;
	padding-block-end: 1.3125rem;
	width: 100%;
}

.recruit-merit__icon,
.recruit-person__icon {
	margin-block: 0.5rem 0.1875rem;
}

.recruit-merit__arrow,
.recruit-person__arrow {
	margin-block: 0.625rem;
	transform: rotate(90deg);
}

.recruit-person__body {
	margin-block-start: 0.625rem;
}

.recruit-information {
	margin-block-start: -6.25rem;
	padding-block: 8.4375rem 3.125rem;
}

.recruit-information__tabs {
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	margin-block: 2.1875rem;
}

.recruit-information__tab {
	padding-block-start: 0.9375rem;
}

.recruit-information__tab p {
	font-size: 1rem;
}

.recruit-information__tab--1.is-active p {
	font-size: 1.125rem;
}

.recruit-information__tab--2.is-active p {
	font-size: 1.125rem;
}

.recruit-information__content {
	margin-block-start: 2.9375rem;
}

.recruit-information__row {
	flex-direction: column;
	gap: 0.625rem;
	padding: 1.25rem;
}

.recruit-entry {
	padding-block: 1.75rem 3.125rem;
}

.recruit-entry__body {
	flex-direction: column;
}

.recruit-entry__message {
	letter-spacing: 0.07em;
	margin-block-start: 1.1875rem;
}

.recruit-entry__btn-wrapper {
	margin-block-start: -2.375rem;
}

.entry {
	padding-block: 1.8125rem 3.125rem;
}

.entry__header-bg {
	height: 24.6875rem;
	top: 3.3125rem;
}

.entry__message {
	margin-block: 1.0625rem 2.625rem;
}

.entry__message-title {
	font-size: 1.75rem;
	letter-spacing: 0.06em;
	text-align: indent;
}

.entry__message-text {
	font-size: 0.9375rem;
	letter-spacing: 0.06em;
	margin-block-start: 0.25rem;
}

.entry__flow {
	padding: 1.4375rem 1.5625rem 1.5625rem;
}

.entry__flow-header {
	-moz-column-gap: 1.0625rem;
	column-gap: 1.0625rem;
}

.entry__flow-title-en {
	font-size: 2.25rem;
}

.entry__flow-container {
	flex-direction: column;
	row-gap: 1.875rem;
}

.entry__flow-item {
	padding: 0.8125rem 1.25rem 1.375rem;
}

.entry__flow-arrow {
	bottom: -2.5rem;
	left: 50%;
	right: auto;
	top: auto;
	transform: rotate(90deg);
	translate: -50% 0;
}

.entry__form {
	margin-block-start: 3.125rem;
}

.entry__row {
	padding: 0.625rem 0.625rem 0.9375rem;
}

.entry__row {
	align-items: flex-start;
	flex-direction: column;
}

.entry__head {
	flex: none;
}

.entry__message-info {
	font-size: 0.75rem;
	letter-spacing: 0.08em;
}

.entry__zip-row input[type=tel].p-postal-code {
	width: 9.625rem;
}

.entry__zip-btn {
	margin-inline-start: 0.3125rem;
	width: 100%;
}

.entry__privacy {
	padding: 0.9375rem 0.625rem;
}

.entry__privacy-inner {
	background-color: #fff;
	padding: 0.5625rem 0.9375rem 0.625rem;
}

.entry__confirm {
	margin-block-start: 1.875rem;
}

.entry__confirm .entry__row {
	padding: 0.625rem 0.625rem 0.9375rem;
}

.entry__confirm-btn-wrapper {
	flex-direction: column;
	row-gap: 1.875rem;
}

.entry__thanks {
	margin-block-start: 1rem;
}

.entry__thanks-content {
	margin-block-end: 1.5625rem;
	padding: 1.125rem 1.5625rem 1.25rem;
}

.entry__thanks-message {
	letter-spacing: 0.08em;
	text-align: justify;
}

.entry__acceptance {
	padding-block: 1.3125rem;
}

.entry__data-privacy span::before {
	top: 0.21875rem;
	translate: 0 0;
}

.policy {
	padding-block: 3.4375rem 2.9375rem;
}

.policy .page-header {
	display: block;
}

.policy .page-header__title-wrapper {
	margin-block-start: -0.0625rem;
}

.policy .page-header__title {
	font-size: 2rem;
}

.policy .page-header__sub-title {
	font-size: 0.625rem;
	margin-block-start: 0.3125rem;
}

.policy__lead {
	font-size: 0.9375rem;
	line-height: 1.7;
	margin-block: 2.875rem 2.3125rem;
}

.policy__clause + .policy__clause {
	margin-block-start: 1.625rem;
}

.policy__clause-title {
	font-size: 1.125rem;
	line-height: 1.5;
	padding-block-end: 0.75rem;
}

.policy__clause-text {
	font-size: 0.9375rem;
	margin-block-start: 0.5625rem;
}

.show__sp {
	display: block;
}

.show__tab-pc--inline {
	display: none;
}

.show__tab-pc {
	display: none;
}

.show__medium-pc {
	display: none;
}

}

@media screen and (any-hover: hover) and (max-width: 767px) {

.recruit-information__tab--1:hover p {
	font-size: 1.125rem;
}

.recruit-information__tab--2:hover p {
	font-size: 1.125rem;
}

}

