/**
 * 採用情報ページ ブロック用スタイル
 * フロント（:is(.recruit-wp__inner, .editor-styles-wrapper)）とエディタ（.editor-styles-wrapper）の両方に適用
 */

/* 採用ページ内で使う共通パーツ（summary-sec-head / btn-blue） */
:is(.recruit-wp__inner, .editor-styles-wrapper) .summary-sec-head {
	position: relative;
	min-height: clamp(24px, 1.71vw, 24px);
}

.recruit-wp__inner .summary-sec-head__en {
	position: absolute;
	top: calc(-38em / 60);
	left: 0;
	z-index: 0;
	margin: 0;
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-size: clamp(3.6rem, 4.29vw, 6rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	color: rgba(48, 126, 234, 0.18);
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}

@media screen and (max-width: 400px) {
	.recruit-wp__inner .summary-sec-head__en {
		font-size: 2.8rem;
	}
}

/* エディタ：英字は編集可能（装飾用 absolute / pointer-events:none はフロントのみ） */
.editor-styles-wrapper .summary-sec-head__en {
	position: relative;
	top: auto;
	left: auto;
	z-index: auto;
	pointer-events: auto;
	user-select: text;
	cursor: text;
	margin-bottom: 8px;
	font-size: clamp(2.4rem, 3vw, 3.6rem);
	white-space: normal;
	color: rgba(48, 126, 234, 0.18);
}

.editor-styles-wrapper .summary-sec-head__en .block-editor-rich-text__editable {
	cursor: text;
}

/* 英字が長い見出し（REQUIREMENTS など）SP向け */
@media screen and (max-width: 768px) {
	.recruit-wp__inner .summary-sec-head__en--long {
		font-size: clamp(2.4rem, 7.2vw, 3.2rem);
		letter-spacing: 0.03em;
	}
}

.editor-styles-wrapper .summary-sec-head__en--long {
	font-size: clamp(2.2rem, 6.5vw, 3rem);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .summary-sec-head__ttl {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(2rem, 1.71vw, 2.4rem);
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #0f1020;
}

/* ブロック版（spanなし）の黄ドット */
:is(.recruit-wp__inner, .editor-styles-wrapper) .summary-sec-head__ttl:not(:has(.summary-sec-head__dot))::before {
	content: "";
	flex-shrink: 0;
	width: 12px;
	height: 12px;
	margin-top: calc((1em - 12px) / 2);
	border-radius: 50%;
	background: #fde74c;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .summary-sec-head__dot {
	flex-shrink: 0;
	width: 12px;
	height: 12px;
	margin-top: calc((1em - 12px) / 2);
	border-radius: 50%;
	background: #fde74c;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .summary-sec-head__ttl-txt {
	flex: 1 1 auto;
	min-width: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: inherit;
	font-weight: 900;
	line-height: inherit;
	letter-spacing: 0.05em;
	color: #0f1020;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .btn-blue {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 53px;
	padding: 16px 30px;
	border-radius: 100px;
	box-shadow: 1px 2px 10px rgba(47, 72, 105, 0.08), -1px -2px 10px rgba(237, 237, 237, 0.12);
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.125;
	color: #fff;
	text-decoration: none;
	box-sizing: border-box;
	isolation: isolate;
	overflow: hidden;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .btn-blue::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
	background: linear-gradient(164deg, #307eea 0%, #5c9cf6 28%, #69e1ff 56%);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .btn-blue__txt,
:is(.recruit-wp__inner, .editor-styles-wrapper) .btn-blue__icon {
	position: relative;
	z-index: 1;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .btn-blue__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .btn-blue__icon img {
	display: block;
	width: 100%;
	height: 100%;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) > .wp-block-group,
:is(.recruit-wp__inner, .editor-styles-wrapper) > .wp-block-html,
:is(.recruit-wp__inner, .editor-styles-wrapper) > .recruit-sec {
	margin-bottom: clamp(80px, 8.57vw, 120px);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) > .wp-block-group:first-child,
:is(.recruit-wp__inner, .editor-styles-wrapper) > .recruit-sec:first-child {
	margin-top: clamp(48px, 6vw, 80px);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) > .wp-block-group:last-child,
:is(.recruit-wp__inner, .editor-styles-wrapper) > .recruit-sec:last-child {
	margin-bottom: 0;
}

/* リード文 */
.recruit-lead {
	margin: 0 0 clamp(32px, 4vw, 48px);
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(1.6rem, 1.43vw, 1.8rem);
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.05em;
	color: #0f1020;
	text-align: center;
}

/* セクション */
.recruit-sec__head,
.recruit-sec__head.wp-block-group {
	margin-bottom: clamp(24px, 3vw, 40px);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .summary-sec-head.wp-block-group {
	display: block;
	gap: 0;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .summary-sec-head .wp-block-paragraph,
:is(.recruit-wp__inner, .editor-styles-wrapper) .summary-sec-head .wp-block-heading {
	margin: 0;
}

.recruit-sec__lead {
	margin: 0 0 clamp(24px, 3vw, 32px);
	font-size: clamp(1.4rem, 1.29vw, 1.6rem);
	line-height: 1.9;
	letter-spacing: 0.05em;
	color: #0f1020;
}

/* 募集要項テーブル（dl） */
.recruit-dl {
	margin: 0;
	border-top: 1px solid #d9d9d9;
}

.recruit-dl__row {
	display: grid;
	grid-template-columns: minmax(140px, 220px) 1fr;
	border-bottom: 1px solid #d9d9d9;
}

.recruit-dl__term,
.recruit-dl__desc {
	margin: 0;
	padding: clamp(16px, 2vw, 24px) clamp(16px, 2vw, 24px);
	font-size: clamp(1.4rem, 1.29vw, 1.6rem);
	line-height: 1.8;
	letter-spacing: 0.05em;
}

.recruit-dl__term {
	background: #f5f5f5;
	font-weight: 700;
	color: #0f1020;
}

.recruit-dl__desc {
	background: #fff;
	color: #0f1020;
}

.recruit-dl__desc ul {
	margin: 0;
	padding-left: 1.2em;
}

.recruit-dl__desc li + li {
	margin-top: 0.4em;
}

/* 選考フロー */
.recruit-flow {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(12px, 1.5vw, 20px);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: recruit-flow;
}

.recruit-flow__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: clamp(20px, 2vw, 28px) clamp(12px, 1.5vw, 16px);
	border-radius: 12px;
	background: #f5f5f5;
	text-align: center;
}

.recruit-flow__item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: calc(-1 * clamp(6px, 0.75vw, 10px));
	width: clamp(12px, 1.5vw, 20px);
	height: 2px;
	background: #307eea;
	transform: translate(100%, -50%);
}

.recruit-flow__step {
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-size: clamp(1.2rem, 1.07vw, 1.4rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #307eea;
}

.recruit-flow__txt {
	margin: 0;
	font-size: clamp(1.4rem, 1.29vw, 1.6rem);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #0f1020;
}

/* エントリーボタン */
.recruit-entry {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(20px, 2.5vw, 32px);
	padding: clamp(32px, 4vw, 48px);
	border-radius: 16px;
	background: linear-gradient(164deg, rgba(48, 126, 234, 0.08) 0%, rgba(105, 225, 255, 0.12) 100%);
	text-align: center;
}

.recruit-entry.wp-block-group {
	margin: 0;
}

.recruit-entry__lead {
	margin: 0;
	font-size: clamp(1.6rem, 1.43vw, 1.8rem);
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.05em;
	color: #0f1020;
}

.recruit-entry__note {
	margin: 0;
	font-size: clamp(1.2rem, 1.07vw, 1.4rem);
	line-height: 1.7;
	color: #0f1020;
}

/* 補足・注意書き */
.recruit-note {
	margin: clamp(16px, 2vw, 24px) 0 0;
	padding: clamp(16px, 2vw, 20px);
	border-radius: 8px;
	background: #f5f5f5;
	font-size: clamp(1.2rem, 1.07vw, 1.4rem);
	line-height: 1.8;
	color: #0f1020;
}

.recruit-note p {
	margin: 0;
}

/* お問い合わせ */
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-contact {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	padding: clamp(32px, 4vw, 40px) clamp(20px, 5vw, 190px);
	border-radius: 10px;
	background: #f5f5f5;
	text-align: center;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-contact.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-contact__ttl {
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(1.8rem, 1.43vw, 2rem);
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #0f1020;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-contact__lead {
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(1.4rem, 1.07vw, 1.6rem);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #0f1020;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-contact__box {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	max-width: 653px;
	padding: 20px;
	border-radius: 5px;
	background: #fff;
	text-align: left;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-contact__box.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-contact__address,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-contact__info {
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(1.4rem, 1.07vw, 1.6rem);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #0f1020;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-contact__info a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* エントリーボタン（Figma: 800×107） */
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-entry-btn-wrap {
	display: flex;
	justify-content: center;
	width: 100%;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-entry-btn-wrap.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-entry-btn {
	width: 100%;
	max-width: 800px;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-entry-btn .wp-block-button {
	width: 100%;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-entry-btn .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	min-height: clamp(80px, 7.5vw, 107px);
	padding: 16px 30px;
	border: 0;
	border-radius: 100px;
	background: linear-gradient(122deg, #307eea 0%, #5c9cf6 50%, #69e1ff 100%);
	box-shadow: 1px 2px 10px rgba(47, 72, 105, 0.08), -1px -2px 10px rgba(237, 237, 237, 0.12);
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(2rem, 2.14vw, 3rem);
	font-weight: 700;
	line-height: 1;
	color: #fff;
	text-decoration: none;
	box-sizing: border-box;
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-entry-btn .wp-block-button__link::after {
	content: "";
	flex-shrink: 0;
	display: block;
	width: 51px;
	height: 35px;
	background: url("../img/entry_btn.svg") no-repeat center / contain;
}

@media (hover: hover) and (pointer: fine) {
	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-entry-btn .wp-block-button__link:hover {
		transform: translateY(4px);
		box-shadow: none;
		color: #fff;
	}
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-entry .recruit-entry-btn-wrap {
	width: 100%;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-entry .recruit-entry-btn {
	max-width: 100%;
}

/* 募集要項アコーディオン */
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc {
	display: flex;
	flex-direction: column;
	gap: clamp(16px, 1.43vw, 20px);
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__item {
	margin-bottom: clamp(16px, 1.43vw, 20px);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__trigger,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	min-height: clamp(56px, 5vw, 70px);
	padding: clamp(12px, 1.07vw, 15px) clamp(16px, 1.43vw, 20px);
	border: 2px solid #307eea;
	border-radius: 10px;
	background: #f5f5f5;
	cursor: pointer;
	font: inherit;
	text-align: left;
	box-sizing: border-box;
	transition: box-shadow 0.25s ease;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__head.wp-block-group {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__head .wp-block-heading.recruit-acc__title {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

@media (hover: hover) and (pointer: fine) {
	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__trigger:hover,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__head:hover {
		box-shadow: 2px 3px 10px rgba(47, 72, 105, 0.15);
	}
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__title {
	flex: 1 1 auto;
	min-width: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(2rem, 2.14vw, 3rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
	color: #307eea;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__mark {
	position: relative;
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: clamp(32px, 2.86vw, 40px);
	height: clamp(32px, 2.86vw, 40px);
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__mark.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__mark .wp-block-image {
	position: absolute;
	width: clamp(32px, 2.86vw, 40px);
	height: clamp(32px, 2.86vw, 40px);
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__mark .wp-block-image img,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__icon {
	display: block;
	width: 100%;
	height: 100%;
	filter: drop-shadow(1px 2px 10px rgba(47, 72, 105, 0.12)) drop-shadow(-1px -2px 10px rgba(237, 237, 237, 0.18));
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__mark .wp-block-image {
	transition: opacity 0.25s ease, transform 0.25s ease;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__icon--minus,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__mark .recruit-acc__icon--minus {
	opacity: 0;
	transform: scale(0.88);
	pointer-events: none;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__icon--plus,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__mark .recruit-acc__icon--plus {
	opacity: 1;
	transform: scale(1);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__item.is-open .recruit-acc__icon--plus,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__item.is-open .recruit-acc__mark .recruit-acc__icon--plus {
	opacity: 0;
	transform: scale(0.88);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__item.is-open .recruit-acc__icon--minus,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__item.is-open .recruit-acc__mark .recruit-acc__icon--minus {
	opacity: 1;
	transform: scale(1);
}

/* パネル開閉アニメーション（grid 0fr → 1fr） */
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__panel {
	display: grid;
	grid-template-rows: 0fr;
	margin-top: 0;
	overflow: hidden;
	transition:
		grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1),
		margin-top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__item.is-open .recruit-acc__panel {
	grid-template-rows: 1fr;
	margin-top: clamp(12px, 1.07vw, 15px);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__item:not(.is-open) .recruit-acc__panel {
	pointer-events: none;
}

/* panel-inner がない旧マークアップ向けフォールバック */
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__panel:not(:has(> .recruit-acc__panel-inner)) {
	display: block;
	max-height: 0;
	transition:
		max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
		margin-top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__item.is-open .recruit-acc__panel:not(:has(> .recruit-acc__panel-inner)) {
	max-height: var(--recruit-acc-panel-max, 6000px);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__panel-inner {
	overflow: hidden;
	min-height: 0;
	opacity: 0;
	transition: opacity 0.3s ease;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__item.is-open .recruit-acc__panel-inner {
	opacity: 1;
	transition-delay: 0.08s;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__item.is-open .recruit-acc__panel,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__item.is-open .recruit-acc__panel-inner {
	pointer-events: auto;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__panel.wp-block-group {
	margin: 0;
}

/* エディタ：inner-blocks ラッパーがあっても max-height で開閉する */
.editor-styles-wrapper .recruit-acc__item .recruit-acc__panel,
.editor-styles-wrapper .recruit-acc__item .recruit-acc__panel.wp-block-group {
	display: block;
	grid-template-rows: none;
	max-height: 0;
}

.editor-styles-wrapper .recruit-acc__item.is-open .recruit-acc__panel,
.editor-styles-wrapper .recruit-acc__item.is-open .recruit-acc__panel.wp-block-group {
	display: block !important;
	max-height: none !important;
	height: auto !important;
	overflow: visible !important;
	pointer-events: auto !important;
	grid-template-rows: none !important;
	margin-top: clamp(12px, 1.07vw, 15px);
}

.editor-styles-wrapper .recruit-acc__item.is-open .recruit-acc__panel-inner {
	opacity: 1 !important;
	overflow: visible !important;
	max-height: none !important;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row.wp-block-columns,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row.wp-block-group {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: clamp(24px, 7.14vw, 100px);
	margin: 0;
	padding: clamp(24px, 2.86vw, 40px);
	border-bottom: 1px solid #307eea;
	background: #f5f5f5;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__panel-inner.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__panel > .recruit-acc__row:first-child,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__panel-inner > .recruit-acc__row:first-child {
	border-top: 1px solid #307eea;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row .wp-block-column {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row .wp-block-paragraph {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__term-col,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row > .recruit-acc__term {
	flex: 0 0 140px !important;
	width: 140px !important;
	max-width: 140px !important;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__desc-col,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row > .recruit-acc__desc {
	flex: 1 1 auto;
	min-width: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__term,
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__desc {
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
	color: #000;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__term {
	font-size: clamp(1.6rem, 1.43vw, 2rem);
	font-weight: 700;
	line-height: 1.5;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__desc {
	font-size: clamp(1.4rem, 1.07vw, 1.6rem);
	font-weight: 500;
	line-height: 1.5;
}

/* 中途採用：表の上の紹介エリア */
:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__intro {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(24px, 5vw, 50px);
	margin: 0 0 clamp(12px, 1.07vw, 15px);
	padding: clamp(24px, 2.86vw, 40px);
	background: #fff;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__intro.wp-block-group {
	margin: 0 0 clamp(12px, 1.07vw, 15px);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__intro-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: clamp(16px, 1.43vw, 20px);
	min-width: 0;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__intro-body.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__intro-ttl {
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(2rem, 2.14vw, 3rem);
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #0f1020;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__intro-lead {
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(1.4rem, 1.07vw, 1.6rem);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #000;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__intro-media {
	flex: 0 0 clamp(240px, 35vw, 350px);
	width: clamp(240px, 35vw, 350px);
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__intro-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 350 / 207;
	border-radius: 10px;
	object-fit: cover;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__panel-inner > .recruit-acc__intro + .recruit-acc__row {
	border-top: 1px solid #307eea;
}

@media screen and (max-width: 768px) {
	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__intro {
		flex-direction: column;
		align-items: stretch;
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__intro-media {
		flex: none;
		width: 100%;
		max-width: 100%;
	}
}

@media screen and (max-width: 768px) {
	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row.wp-block-columns,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row.wp-block-group {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		gap: 12px;
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__term-col,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row > .recruit-acc__term {
		flex-basis: 100% !important;
		width: auto !important;
		max-width: none !important;
	}
}

@media screen and (min-width: 769px) {
	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row.is-stacked-on-mobile > .wp-block-column,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__row.is-stacked-on-mobile > .wp-block-column {
		flex-basis: auto !important;
		width: auto !important;
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row.is-stacked-on-mobile > .recruit-acc__term-col,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__row.is-stacked-on-mobile > .intern-req__term-col {
		flex: 0 0 140px !important;
		width: 140px !important;
		max-width: 140px !important;
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row.wp-block-columns,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row.wp-block-group,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__row.wp-block-columns {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__term-col,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row > .recruit-acc__term,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__term-col {
		flex: 0 0 140px !important;
		width: 140px !important;
		max-width: 140px !important;
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__desc-col,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .recruit-acc__row > .recruit-acc__desc,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__desc-col {
		flex: 1 1 auto !important;
		min-width: 0;
	}
}

/* よくある質問アコーディオン */
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc {
	display: flex;
	flex-direction: column;
	gap: clamp(16px, 1.43vw, 20px);
	margin: 0;
	padding: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item {
	margin: 0 0 clamp(16px, 1.43vw, 20px) !important;
	margin-block-start: 0 !important;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc > .faq-acc__item,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item:last-child {
	margin-bottom: 0 !important;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item + .faq-acc__item {
	margin-block-start: 0 !important;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.wp-block-group,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.is-layout-flow {
	gap: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item > .faq-acc__head,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item > .faq-acc__panel,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.is-layout-flow > .faq-acc__head,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.is-layout-flow > .faq-acc__panel {
	margin-block-start: 0;
	margin-top: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: clamp(12px, 1.07vw, 15px) clamp(16px, 1.43vw, 20px);
	border: 2px solid #307eea;
	border-radius: 10px;
	background: #f5f5f5;
	cursor: pointer;
	box-sizing: border-box;
	transition: box-shadow 0.25s ease;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__head.wp-block-group,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__head-main.wp-block-group {
	display: flex;
	align-items: center;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__head-main {
	flex: 1 1 auto;
	min-width: 0;
	gap: clamp(12px, 1.07vw, 15px);
}

@media (hover: hover) and (pointer: fine) {
	:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__head:hover {
		box-shadow: 2px 3px 10px rgba(47, 72, 105, 0.15);
	}
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__label--q,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__label--a,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__label {
	flex-shrink: 0;
	margin: 0;
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-size: clamp(3rem, 2.86vw, 4rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #fe5f55;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__question {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(1.6rem, 1.43vw, 2rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
	color: #0f1020;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__mark {
	position: relative;
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: clamp(32px, 2.86vw, 40px);
	height: clamp(32px, 2.86vw, 40px);
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__mark.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__mark .wp-block-image {
	position: absolute;
	width: clamp(32px, 2.86vw, 40px);
	height: clamp(32px, 2.86vw, 40px);
	margin: 0;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__mark .wp-block-image img,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__icon {
	display: block;
	width: 100%;
	height: 100%;
	filter: drop-shadow(1px 2px 10px rgba(47, 72, 105, 0.12)) drop-shadow(-1px -2px 10px rgba(237, 237, 237, 0.18));
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__icon--minus,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__mark .faq-acc__icon--minus {
	opacity: 0;
	transform: scale(0.88);
	pointer-events: none;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__icon--plus,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__mark .faq-acc__icon--plus {
	opacity: 1;
	transform: scale(1);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.is-open .faq-acc__icon--plus,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.is-open .faq-acc__mark .faq-acc__icon--plus {
	opacity: 0;
	transform: scale(0.88);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.is-open .faq-acc__icon--minus,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.is-open .faq-acc__mark .faq-acc__icon--minus {
	opacity: 1;
	transform: scale(1);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__panel {
	display: grid;
	grid-template-rows: 0fr;
	margin-top: 0;
	overflow: hidden;
	transition:
		grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1),
		margin-top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.is-open .faq-acc__panel {
	grid-template-rows: 1fr;
	margin-top: clamp(12px, 1.07vw, 15px);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item:not(.is-open) .faq-acc__panel {
	pointer-events: none;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.is-open .faq-acc__panel,
:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.is-open .faq-acc__panel-inner {
	pointer-events: auto;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__panel.wp-block-group {
	display: grid;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__panel-inner {
	overflow: hidden;
	min-height: 0;
	opacity: 0;
	transition: opacity 0.3s ease;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__item.is-open .faq-acc__panel-inner {
	opacity: 1;
	transition-delay: 0.08s;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__panel-inner.wp-block-group {
	margin: 0;
}

/* エディタ：inner-blocks ラッパーがあっても max-height で開閉する */
.editor-styles-wrapper .faq-acc__item .faq-acc__panel,
.editor-styles-wrapper .faq-acc__item .faq-acc__panel.wp-block-group {
	display: block;
	grid-template-rows: none;
	max-height: 0;
}

.editor-styles-wrapper .faq-acc__item.is-open .faq-acc__panel,
.editor-styles-wrapper .faq-acc__item.is-open .faq-acc__panel.wp-block-group {
	display: block !important;
	max-height: none !important;
	height: auto !important;
	overflow: visible !important;
	pointer-events: auto !important;
	grid-template-rows: none !important;
	margin-top: clamp(12px, 1.07vw, 15px);
}

.editor-styles-wrapper .faq-acc__item.is-open .faq-acc__panel-inner {
	opacity: 1 !important;
	overflow: visible !important;
	max-height: none !important;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__body {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: clamp(12px, 1.07vw, 15px);
	padding: clamp(24px, 2.86vw, 40px) clamp(16px, 1.43vw, 20px);
	background: #f5f5f5;
	box-sizing: border-box;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__body.wp-block-group {
	display: grid;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__label--a {
	margin-top: 0.05em;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__answer {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(1.4rem, 1.07vw, 1.6rem);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #000;
}

@media screen and (max-width: 768px) {
	:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__head-main {
		align-items: flex-start;
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__label--q,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__label--a,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .faq-acc__label {
		font-size: clamp(2.4rem, 6vw, 3rem);
	}
}

@media screen and (max-width: 768px) {
	.recruit-dl__row {
		grid-template-columns: 1fr;
	}

	.recruit-dl__term {
		padding-bottom: 8px;
		border-bottom: 1px solid #e8e8e8;
	}

	.recruit-flow {
		grid-template-columns: 1fr;
	}

	.recruit-flow__item:not(:last-child)::after {
		top: auto;
		right: 50%;
		bottom: calc(-1 * clamp(6px, 0.75vw, 10px));
		width: 2px;
		height: clamp(12px, 1.5vw, 20px);
		transform: translate(50%, 100%);
	}
}

/* 新卒インターン：画像＋テキスト */
:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-points {
	display: flex;
	flex-direction: column;
	gap: clamp(40px, 5vw, 50px);
	margin: 0 0 50px;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-points.wp-block-group {
	margin: 0 0 50px;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point {
	display: flex;
	align-items: flex-start;
	gap: clamp(24px, 3.4vw, 34px);
	margin: 0 0 50px;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point.intern-point--reverse {
	flex-direction: row-reverse;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point.wp-block-group {
	margin: 0 0 50px;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-points .intern-point,
:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-points .intern-point.wp-block-group {
	margin-bottom: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__media {
	flex: 0 0 clamp(280px, 38.9vw, 389px);
	width: clamp(280px, 38.9vw, 389px);
	margin: 0;
	overflow: hidden;
	border-radius: 5px;
	aspect-ratio: 389 / 258;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__media.wp-block-image {
	display: block;
	position: relative;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__media img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: clamp(16px, 1.43vw, 20px);
	min-width: 0;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__body.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__head.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__head .wp-block-paragraph {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__num {
	flex-shrink: 0;
	margin: 0;
	font-family: "Zen Maru Gothic", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(2.8rem, 2.86vw, 4rem);
	font-weight: 900;
	font-style: italic;
	line-height: 1;
	letter-spacing: 0.02em;
	color: #fff;
	text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);
	-webkit-text-stroke: 1px #0f1020;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__ttl {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(2rem, 2.14vw, 3rem);
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0.05em;
	color: #0f1020;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__txt {
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(1.6rem, 1.29vw, 1.8rem);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #0f1020;
}

/* 新卒インターン：終了アナウンス */
:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-end-announce {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 30px 20px;
	background: #f5f5f5;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-end-announce.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-end-announce__txt {
	max-width: 840px;
	margin: 0 auto;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(1.6rem, 2.14vw, 2.5rem);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #000;
	text-align: center;
}

/* 新卒インターン：過去のインターン */
:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	margin: 0;
	padding-top: 60px;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news.wp-block-group {
	margin: 0;
	padding-top: 60px;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__ttl {
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(2rem, 1.71vw, 2.4rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #307eea;
	text-align: center;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 313px));
	gap: 30px;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__empty {
	width: 100%;
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(1.6rem, 1.29vw, 1.8rem);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #0f1020;
	text-align: center;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__item {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	color: inherit;
	text-decoration: none;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__thumb {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
	aspect-ratio: 313 / 185;
	background: #d9d9d9;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__thumb img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__thumb--placeholder {
	background: #f5f5f5;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__card-ttl {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	font-size: clamp(1.6rem, 1.29vw, 1.8rem);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #0f1020;
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__arrow {
	flex-shrink: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__more-wrap {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__more {
	justify-content: space-between;
	width: min(100%, 320px);
}

@media (hover: hover) and (pointer: fine) {
	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__card:hover {
		opacity: 0.85;
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__card:hover .round-btn {
		transform: translateY(4px);
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__card:hover .intern-past-news__thumb img {
		transform: scale(1.06);
	}
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__thumb img {
	transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__arrow.round-btn {
	transition: transform 0.25s ease;
}

@media screen and (max-width: 768px) {
	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-past-news__cards {
		grid-template-columns: minmax(0, 1fr);
		max-width: 313px;
		margin-inline: auto;
	}
}

@media screen and (max-width: 768px) {
	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point,
	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point.intern-point--reverse {
		flex-direction: column;
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__body {
		order: 1;
		width: 100%;
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-point__media {
		order: 2;
		flex: none;
		align-self: center;
		width: min(100%, 389px);
		max-width: 389px;
		margin-inline: auto;
	}
}

/* 新卒インターン：募集要項 */
:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__head {
	margin: 0 0 clamp(40px, 4.57vw, 64px);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__head.wp-block-group {
	margin: 0 0 clamp(40px, 4.57vw, 64px);
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__body.wp-block-group {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__row.wp-block-columns {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: clamp(24px, 7.14vw, 100px);
	margin: 0;
	padding: clamp(24px, 2.86vw, 40px);
	border-bottom: 1px solid #307eea;
	background: #f5f5f5;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__body > .intern-req__row.wp-block-columns:first-child {
	border-top: 1px solid #307eea;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__row .wp-block-column {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__row .wp-block-paragraph {
	margin: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__term-col {
	flex: 0 0 140px !important;
	width: 140px !important;
	max-width: 140px !important;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__desc-col {
	flex: 1 1 auto;
	min-width: 0;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__term,
:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__desc {
	margin: 0;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
	color: #000;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__term {
	font-size: clamp(1.6rem, 1.43vw, 2rem);
	font-weight: 700;
	line-height: 1.5;
}

:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__desc {
	font-size: clamp(1.4rem, 1.07vw, 1.6rem);
	font-weight: 500;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__row.wp-block-columns {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		gap: 12px;
	}

	:is(.recruit-wp__inner, .editor-styles-wrapper) .intern-req__term-col {
		flex-basis: 100% !important;
		max-width: none;
	}
}
