/* リキッドレイアウト対応 */

/* インナー幅・左右余白 */

:root {
	--inner-value: 1440;
	--inner: 1280px;
	--padding-pc: 80px;
	--padding-sp: 27.5px; /* SPカンプは375基準。PC→SP切替直後（767px付近）で無制限に間延びしないよう
     コンテンツ列の上限をここで一元管理する（body・l-inner・固定配置要素が参照） */
	--inner-sp: 600px;
}

:root {
	--rem: 1rem / 16;
	--em: 1em / 16;
	--vw: 1440 * 100vw;
	--cqi: 1440 / 100cqi;
	--inner-percent: var(--inner-value) * 100%; /* fixrem() の下限スイッチ。PCは 1px（＝カンプのpxを下限にする）、
     SPは 0px にして下限を無効化し、従来どおり rem で縮ませる */
	--fixed-px: 1px;
}

/* フォント */

:root {
	--base-font: "Noto Sans JP", sans-serif;
	--en-font: "Figtree", sans-serif;
	--num-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-bold: 700;
	--leading-trim: calc((1em - 1lh) / 2);
}

/* 色 */

:root {
	--white: #fff;
	--black: #222;
	--grad-blue: #0080b6;
	--grad-orange: #e65420;
	--grad: linear-gradient(262deg, var(--grad-blue) 0%, var(--grad-orange) 100%);
	--grad02: linear-gradient(180deg, var(--grad-blue) 0%, var(--grad-orange) 100%);
	--mv-blue: #6cb1ce;
	--mv-orange: #e16b41;
	--gray-d9: #d9d9d9;
	--gray-ec: #ececec;
	--gray-f3: #f3f3f3;
	--gray-f7: #f7f7f7;
	--gray-89: #898989; /* 黒地の上で「まだ拭われていない文字」を出す色。地(#222)との差をMVの f3→d9 と揃えている */
	--gray-3c: #3c3c3c;
	--text-33: #333;
	--overlay-33: rgba(51, 51, 51, 0.3);
	--shadow-08: rgba(0, 0, 0, 0.16);
}

/* スクロールリビールのイージング（参考サイト踏襲: 短い距離をふわっと減速させる） */

:root {
	--ease-inview: cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* ヘッダー高さ */

:root {
	--header-height: 96px;
	--header-height-sp: 51px;
}

/* z-index は必ずここで一元管理（直値禁止） */

:root {
	--z-index-loader: 1000;
	--z-index-cursor: 300;
	--z-index-hamburger: 150;
	--z-index-header: 100;
	--z-index-drawer: 99;
	--z-index-entry-float: 90;
}

/* スクロールロック（モーダル・ローダー用。
   ドロワーは js-rules の position:fixed 方式が既定 — こちらは使わない） */

:root {
	--scrollbar-width: 0;
}

@property --scrollbar {
	syntax: "<length>";
	initial-value: 0;
	inherits: true;
}

:root:has(:modal[open],
.is-scroll-lock,
.loader) {
	overflow: hidden;
	scrollbar-gutter: stable;
}

body {
	container-type: inline-size;
	font-family: var(--base-font);
	font-weight: var(--fw-regular);
	line-height: 1.5;
	color: var(--black);
	font-feature-settings: "palt" 1;
}

/* カンプの粒状のあしらい。message_bg.svg の Figma ノイズ定義がベース。
   ただし Figma の baseFrequency="1 1" は周波数が画素間隔と一致して標本化が破綻し、
   ブラウザでは完全な単色になって粒が出ない（message_bg.svg も同様に出ていない）ため 0.9 に変更。
   また「どのピクセルを粒として残すか」は色と独立させる必要がある（Figma準拠）。
   色由来で選ぶと暗い粒だけになり黒地で見えなくなるため、選別には別シードの
   ノイズを使い、粒の明暗が混在するようにしている（明るい粒が暗地で、暗い粒が明地で見える）。
   粒は原寸1pxが正なので、タイルは rem ではなく固定pxで敷く。
   置き先の要素（ホスト）に position があること。
   重なり順は「背景の直上・コンテンツの下」が既定。z-index は敷く場所ごとに
   呼び出し側で指定する（負値で敷く場合は親に isolation: isolate が必要） */

/* grain-fine の背景画像だけを返す。ブレークポイントごとに粒の濃さを変えたいとき、
   ミックスインを丸ごと入れ直さずに background-image だけ差し替えられるようにするため */

/* 写真に焼き込まれた粒に合わせる細粒タイプ。grain が「まばらに濃い斑点」なのに対し、
   こちらは全画素に薄く乗るフィルムグレイン。写真と地色の境目でテクスチャが揃う。
   $alpha は粒の濃さ（feFuncA の上限）。既定 0.14 は写真に馴染ませる用の薄さで、
   カンプの地色ノイズ（Figma の NOISE エフェクト）に合わせたいときは呼び出し側で上げる。
   $size は feTurbulence の baseFrequency。小さいほど粒が大きく（粗く）なる
   （0.85 で約1px、0.30 で約2.5px） */

/* カンプから書き出した「地色＋粒」の背景画像を要素の背景に敷く。
   粒を CSS で作る grain 系と違い、地色ごと画像に含まれる（地色は読み込み前の保険で残す）。
   粒は高周波で avif が jpg より重くなる実測だったため、avif には切り替えない */

/* スクロールリビールの初期状態。ブロックに .js-inview を付け、
   is-visible が付いたときに opacity:1 / translate:0 へ戻す前提で使う。
   移動量は 4〜8px 程度に留めるのが参考サイトの質感 */

/* スクロールするホスト用: スクロール量をタイル周期(200px)で折り返した分だけ
   逆方向へ動かし、粒を画面固定に見せる（--grain-shift はJSが更新）。
   attachment: fixed や fixed配置＋clip はコンポジタスクロールを壊して
   毎フレーム再描画になる実測があったため、transform補償方式にしている。
   sticky・固定系のホスト（INTERVIEW写真・SERVICEパネル・drawer）は表示中
   ホスト自体が静止しているので素の grain でよい */

html {
	font-size: 16px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

html {
	scroll-padding-top: 3.75rem;
}

/* Set core body defaults */

body {
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	text-rendering: optimizeLegibility;
	line-height: 1.5;
	line-break: strict;
	overflow-wrap: anywhere; /* 100vw 全幅要素(事業内容の marquee 等)が、 縦スクロールバー幅を含む分だけ横にはみ出して
     横スクロールバーが出るのを抑止 (Firefox/Windows の classic scrollbar で発生)。
     overflow:hidden と違い clip は scroll コンテナを作らないので position:sticky を壊さない。 */
	overflow-x: clip;
}

main {
	flex: 1;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	max-width: 100%;
	width: 100%;
	height: auto;
	display: block;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* picture*/

picture {
	display: block;
	width: 100%;
	height: 100%;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

:where(dialog) {
	width: unset;
	max-width: unset;
	height: unset;
	max-height: unset;
	padding: unset;
	color: unset;
	background-color: unset;
	border: unset;
	overflow: unset;
}

:where(dialog:focus-visible) {
	outline: none;
}

/* フォームリセット */

input,
button,
select,
textarea {
	margin: 0;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

a {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: opacity 0.3s;
}

a[href^="tel:"] {
	pointer-events: none;
}

.l-inner {
	max-width: calc(var(--inner) + var(--padding-pc) * 2);
	margin-inline: auto;
	padding-inline: var(--padding-pc);
	width: 100%;
}

.l-page {
	position: relative;
	isolation: isolate;
	padding-block-start: var(--header-height);
	font-feature-settings: normal;
	text-spacing-trim: space-all;
	background-color: var(--gray-f3);
}

/* 地色＋粒はローディング画面(.loader)と同じ書き出し画像を敷く。
   ホストと同じく fixed / inset:0 なので、loader とまったく同じ見え方になる。
   CSS生成のノイズと違って不透明な画像なので、z-index は
   ページ見出しのぼかし装飾(.c-page-head__bg = -2)より奥に置く */

.l-page::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -3;
	pointer-events: none;
	background-image: url("../images/common/grain_mv.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.l-section {
	padding-block: 7.5rem;
}

.l-section--small {
	padding-block: 3.75rem;
}

.l-section--large {
	padding-block: 10rem;
}

.l-section--bg-dark {
	background-color: var(--black);
	color: var(--white);
}

.c-breadcrumb__list {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--en-font);
	font-size: max(0.875rem, 10px);
	font-weight: var(--fw-bold);
	line-height: 1.2;
}

.c-breadcrumb__item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--black);
	white-space: nowrap;
}

.c-breadcrumb__item[aria-current=page] {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.c-breadcrumb__item[aria-current=page] {
	color: var(--gray-89);
}

.c-breadcrumb__item + .c-breadcrumb__item::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 1.625rem;
	height: 0.0625rem;
	background-color: currentcolor;
}

.c-breadcrumb__link {
	color: inherit;
	transition: opacity 0.3s ease;
}

.c-btn-fill {
	position: relative;
	isolation: isolate;
	display: grid;
	place-items: center;
	width: 100%; /* 高さは height ではなく padding で作る。文字が fixrem（PCは固定px）なので、
     height を rem で置くと縮小時に箱だけ縮んでアンバランスになる */
	padding-block: max(0.93125rem, 14.9 * var(--fixed-px));
	border-radius: max(1.71875rem, 27.5 * var(--fixed-px));
	font-size: max(1.125rem, 18 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--white);
	background-color: var(--black);
}

.c-btn-fill::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background-image: var(--grad);
	opacity: 0;
	transition: opacity 0.4s ease;
}

.c-btn-fill__arrow {
	position: absolute;
	top: 50%;
	right: max(2rem, 32 * var(--fixed-px));
	width: max(0.5625rem, 9 * var(--fixed-px));
	height: max(1.0625rem, 17 * var(--fixed-px));
	translate: 0 -50%;
	background-color: currentcolor;
	-webkit-mask-image: url(../images/common/arrow_chevron.svg);
	mask-image: url(../images/common/arrow_chevron.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

input.c-btn-fill {
	border: 0;
	cursor: pointer;
	background-color: transparent;
	background-image: url(../images/common/arrow_chevron.svg);
	background-repeat: no-repeat;
	background-position: right max(2rem, 32 * var(--fixed-px)) center;
	background-size: max(0.5625rem, 9 * var(--fixed-px)) max(1.0625rem, 17 * var(--fixed-px));
}

.c-btn {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	width: -moz-fit-content;
	width: fit-content;
}

.c-btn__text {
	font-family: var(--en-font);
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -0.03em;
	white-space: nowrap;
}

.c-btn__arrow {
	position: relative;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 2.625rem;
	height: 2.625rem;
	border-radius: 50%;
}

.c-btn__arrow::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	transition: opacity 0.3s ease;
}

.c-btn__arrow::after {
	content: "";
	width: 0.75rem;
	height: 0.75rem;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color 0.3s ease;
}

.c-btn--black .c-btn__text {
	color: var(--black);
}

.c-btn--black .c-btn__arrow {
	background-image: var(--grad);
}

.c-btn--black .c-btn__arrow::before {
	background-color: var(--black);
}

.c-btn--black .c-btn__arrow::after {
	background-color: var(--white);
	-webkit-mask-image: url(../images/common/arrow_black.svg);
	mask-image: url(../images/common/arrow_black.svg);
}

.c-btn--white .c-btn__text {
	color: var(--white);
}

.c-btn--white .c-btn__arrow {
	background-image: var(--grad02);
}

.c-btn--white .c-btn__arrow::before {
	background-color: var(--white);
}

.c-btn--white .c-btn__arrow::after {
	background-color: var(--black);
	-webkit-mask-image: url(../images/common/arrow_white.svg);
	mask-image: url(../images/common/arrow_white.svg);
}

.c-cursor {
	position: fixed;
	top: 0;
	left: 0;
	z-index: var(--z-index-cursor);
	width: 7.5rem;
	height: 7.5rem;
	margin: -3.75rem;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0;
	scale: 0.6;
	transition: opacity 0.3s ease, scale 0.3s ease;
	transform-origin: center;
	pointer-events: none;
	will-change: translate;
}

.c-cursor.is-shown {
	opacity: 1;
	scale: 1;
}

.c-cursor.is-interview,
.c-cursor.is-entry {
	animation: cursor-spin 8s linear infinite;
}

.c-cursor.is-interview {
	background-image: url(../images/common/cursor_interview.svg);
}

.c-cursor.is-entry {
	background-image: url(../images/common/cursor_entry.svg);
}

.c-entry-bar {
	display: flex;
	align-items: center;
	gap: 2rem;
	width: 100%;
	height: 5rem;
	padding: 1rem 2rem;
	border-radius: 0.25rem;
	background-image: var(--grad);
	background-size: 100% 100%;
	color: var(--white);
	white-space: nowrap;
	filter: drop-shadow(0 0 0.25rem var(--shadow-08));
	transition: background-size 0.4s ease;
}

.c-entry-bar__en {
	font-family: var(--en-font);
	font-size: 2.5rem;
	font-weight: var(--fw-bold);
	line-height: 1;
}

.c-entry-bar__ja {
	font-size: max(1rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.c-entry-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 25rem;
	height: 4.5rem;
	border-radius: 2.25rem;
	background-color: var(--white);
	box-shadow: 0 0 0.5rem 0 var(--shadow-08);
	transition: box-shadow 0.3s ease;
}

.c-entry-btn__text {
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	line-height: 1.6;
	letter-spacing: -0.04em;
	color: var(--black);
	white-space: nowrap;
	background-image: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	transition: color 0.3s ease;
}

.c-entry-btn__arrow {
	position: absolute;
	top: 50%;
	right: 0.9375rem;
	display: grid;
	place-items: center;
	width: 2.625rem;
	height: 2.625rem;
	border-radius: 50%;
	background-image: var(--grad02);
	translate: 0 -50%;
}

.c-entry-btn__arrow::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background-color: var(--black);
	transition: opacity 0.3s ease;
}

.c-entry-btn__arrow::after {
	content: "";
	width: 0.75rem;
	height: 0.75rem;
	background-color: var(--white);
	-webkit-mask-image: url(../images/common/arrow_black.svg);
	mask-image: url(../images/common/arrow_black.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.c-entry-float {
	position: fixed;
	right: 3rem;
	bottom: 2.375rem;
	z-index: var(--z-index-entry-float);
	display: grid;
	place-items: center;
	width: 9.375rem;
	height: 9.375rem;
	opacity: 0;
	transition: opacity 0.6s ease, translate 0.6s ease;
	translate: 0 1.25rem;
	pointer-events: none;
}

.c-entry-float.is-shown {
	opacity: 1;
	translate: 0 0;
	pointer-events: auto;
}

.c-entry-float__ring,
.c-entry-float__circle {
	position: absolute;
	inset: 0;
	background-repeat: no-repeat;
	background-size: contain;
}

.c-entry-float__ring {
	background-image: url(../images/mv/entry_ring.svg);
	animation: entry-ring-spin 16s linear infinite;
}

.c-entry-float__circle {
	inset: 10%;
	border-radius: 50%;
	background-image: linear-gradient(50deg, var(--grad-orange) 30%, var(--grad-blue) 90%);
	background-size: 100% 100%;
	filter: drop-shadow(0 0 0.5rem var(--shadow-08));
	transition: background-size 0.4s ease;
}

.c-entry-float__label {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 5rem;
	color: var(--white);
	text-align: center;
}

.c-entry-float__en {
	font-family: var(--en-font);
	font-size: max(1rem, 10px);
	font-weight: var(--fw-bold);
	line-height: 1.2;
}

.c-entry-float__ja {
	font-size: max(0.875rem, 10px);
	font-weight: var(--fw-bold);
	line-height: 1.4;
}

body:has(.p-entry) .c-entry-float {
	display: none;
}

.c-menu-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 0 1.5rem 0.75rem;
	border-bottom: 1px solid var(--white);
	color: var(--white);
}

.c-menu-item__head {
	display: flex;
	align-items: center;
	gap: 2rem;
	white-space: nowrap; /* SPは「INTERVIEW 01 社員インタビュー01」のように英字＋和文が長い項目があり、
     1行では矢印にぶつかって右が見切れる。英字・和文それぞれは折らずに次の行へ送る */
}

/* 450px を下回ると「INTERVIEW 01 社員インタビュー01」等が1行に収まらない。
   対象の項目（--stack）だけ、この幅から和文を段落ちさせる */

.c-menu-item__en {
	font-family: var(--en-font);
	font-size: 2.5rem;
	font-weight: var(--fw-bold);
	line-height: 1.2;
	transition: opacity 0.3s ease;
}

.c-menu-item__ja {
	font-size: max(1rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.c-menu-item__arrow {
	position: relative;
	display: grid;
	place-items: center;
	width: 2.625rem;
	height: 2.625rem;
	border-radius: 50%;
	background-image: var(--grad02);
}

.c-menu-item__arrow::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background-color: var(--white);
	transition: opacity 0.3s ease;
}

.c-menu-item__arrow::after {
	content: "";
	width: 0.75rem;
	height: 0.75rem;
	background-color: var(--black);
	-webkit-mask-image: url(../images/common/arrow_menu.svg);
	mask-image: url(../images/common/arrow_menu.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color 0.3s ease;
}

.c-menu-link {
	display: flex;
	align-items: center;
	gap: 1rem;
	color: var(--white);
}

.c-menu-link__icon {
	position: relative;
	flex-shrink: 0;
	width: 1.625rem;
	height: 1.5rem;
}

.c-menu-link__icon::before,
.c-menu-link__icon::after {
	content: "";
	position: absolute;
	transition: translate 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.c-menu-link__icon::before {
	bottom: 0;
	left: 0;
	width: 1.125rem;
	height: 1.125rem;
	background-color: var(--gray-d9);
}

.c-menu-link__icon::after {
	top: 0;
	right: 0;
	width: 0.875rem;
	height: 0.875rem;
	background-color: var(--white);
}

.c-menu-link__text {
	font-size: max(0.875rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	white-space: nowrap;
}

.c-page-head {
	position: relative;
}

.c-page-head__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
}

.c-page-head__blob {
	position: absolute;
	top: calc(-1 * var(--header-height) - 5.7428125rem);
	right: -13.1696875rem;
	display: block;
	width: 41.27375rem;
	will-change: transform;
}

.c-page-head__blob--about {
	top: calc(-1 * var(--header-height) - 4.78503125rem);
}

.c-page-head__blob img {
	display: block;
	width: 100%;
	height: auto;
}

.c-page-head__blob::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22200%22%20height=%22200%22%3E%3Cfilter%20id=%22g%22%20x=%220%22%20y=%220%22%20width=%22200%22%20height=%22200%22%20filterUnits=%22userSpaceOnUse%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.85%22%20stitchTiles=%22stitch%22%20numOctaves=%221%22%20seed=%224021%22/%3E%3CfeColorMatrix%20type=%22saturate%22%20values=%220%22/%3E%3CfeComponentTransfer%3E%3CfeFuncR%20type=%22linear%22%20slope=%224%22%20intercept=%22-1.5%22/%3E%3CfeFuncG%20type=%22linear%22%20slope=%224%22%20intercept=%22-1.5%22/%3E%3CfeFuncB%20type=%22linear%22%20slope=%224%22%20intercept=%22-1.5%22/%3E%3CfeFuncA%20type=%22table%22%20tableValues=%220%200.14%22/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect%20width=%22200%22%20height=%22200%22%20filter=%22url%28%23g%29%22/%3E%3C/svg%3E");
	background-size: 200px 200px;
	opacity: 0.75;
	pointer-events: none;
	-webkit-mask-image: url(../images/common/blob_head.png);
	mask-image: url(../images/common/blob_head.png);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}

.c-page-head__inner {
	position: relative;
	padding-block: 1.25rem 6rem;
}

.c-page-head .c-breadcrumb {
	margin-inline-start: -2.25rem;
}

.c-page-head__title {
	display: flex;
	flex-direction: column;
	margin-block-start: 2.75rem;
}

.c-page-head__en {
	width: -moz-fit-content;
	width: fit-content;
	font-family: var(--en-font);
	font-size: 7.75rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -0.06em;
	background-image: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.p-entry:not(.p-form-page) .c-page-head__en {
	width: 33.4375rem;
	max-width: 100%;
}

.c-page-head__ja {
	display: block;
	font-size: max(1.5rem, 24 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.6;
	letter-spacing: -0.03em;
}

.c-page-head__ja-line + .c-page-head__ja-line::before {
	content: "　";
}

.c-page-head--slim .c-page-head__inner {
	padding-block: 1.25rem 5rem;
}

.c-page-head.js-inview .c-breadcrumb {
	opacity: 0;
	translate: 0 0.375rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.c-page-head.js-inview .c-page-head__en {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0.08s, translate 0.8s var(--ease-inview) 0.08s;
}

.c-page-head.js-inview .c-page-head__ja {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0.14s, translate 0.8s var(--ease-inview) 0.14s;
}

.c-page-head.js-inview.is-visible .c-breadcrumb,
.c-page-head.js-inview.is-visible .c-page-head__en,
.c-page-head.js-inview.is-visible .c-page-head__ja {
	opacity: 1;
	translate: 0 0;
}

.c-page-section-title {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	color: var(--black);
	text-align: center;
}

.c-page-section-title__en {
	font-family: var(--en-font);
	font-size: 3rem;
	font-weight: var(--fw-bold);
	line-height: 1.2;
	letter-spacing: -0.04em;
	white-space: nowrap;
	translate: 0 0.125rem;
}

.c-page-section-title__ja {
	font-size: max(1.125rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.c-radio-pill {
	position: relative;
	display: flex;
	align-items: center; /* ラベルが fixrem（PCは固定px）なので、箱側も揃えないと
     PC最小幅付近で文字がピルからはみ出す */
	gap: max(0.75rem, 12 * var(--fixed-px));
	width: max(9.75rem, 156 * var(--fixed-px));
	padding: max(0.375rem, 6 * var(--fixed-px)) max(1.9375rem, 31 * var(--fixed-px)) max(0.4375rem, 7 * var(--fixed-px)) max(1.4375rem, 23 * var(--fixed-px));
	border: max(0.0625rem, 1 * var(--fixed-px)) solid var(--gray-89);
	border-radius: max(1.78125rem, 28.5 * var(--fixed-px));
	color: var(--gray-89);
	cursor: pointer;
	transition: border-color 0.3s ease, color 0.3s ease;
}

.c-radio-pill__input {
	position: absolute;
	width: 0.0625rem;
	height: 0.0625rem;
	clip-path: inset(50%);
	opacity: 0;
}

.c-radio-pill__dot {
	flex-shrink: 0;
	width: max(0.875rem, 14 * var(--fixed-px));
	aspect-ratio: 1;
	border: 0.0625rem solid currentcolor;
	border-radius: 50%;
	transition: background-color 0.3s ease;
}

.c-radio-pill__text {
	font-size: max(1.125rem, 18 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
	white-space: nowrap;
}

.c-radio-pill:has(.c-radio-pill__input:checked) {
	border-color: var(--grad-orange);
	color: var(--grad-orange);
}

.c-radio-pill:has(.c-radio-pill__input:checked) .c-radio-pill__dot {
	background-color: currentcolor;
}

.c-radio-pill:has(.c-radio-pill__input:focus-visible) {
	outline: 0.125rem solid var(--grad-blue);
	outline-offset: 0.125rem;
}

.c-recruit-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: max(0.75rem, 12 * var(--fixed-px)) max(2rem, 32 * var(--fixed-px));
}

.c-recruit-meta__row {
	display: flex;
	align-items: center;
	gap: max(0.75rem, 12 * var(--fixed-px));
}

.c-recruit-meta__label {
	display: grid;
	place-items: center;
	flex-shrink: 0; /* 高さは height ではなく padding で作る。文字が fixrem（PCは固定px）なので、
     箱を rem で置くと縮小時にラベルがはみ出す */
	min-width: max(6.1875rem, 99 * var(--fixed-px));
	padding: max(0.2rem, 3.2 * var(--fixed-px)) max(0.875rem, 14 * var(--fixed-px));
	border: max(0.0625rem, 1 * var(--fixed-px)) solid var(--black);
	border-radius: max(0.875rem, 14 * var(--fixed-px));
	font-size: max(0.875rem, 14 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.c-recruit-meta__value {
	font-size: max(0.9375rem, 15 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.c-section-title {
	display: flex;
	flex-direction: column;
	color: var(--white);
}

.c-section-title__ja {
	font-size: max(1.125rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.c-section-title__en {
	font-family: var(--en-font);
	font-size: 3rem;
	font-weight: var(--fw-bold);
	line-height: 1.2;
	letter-spacing: -0.04em;
	white-space: nowrap;
}

.c-section-title--row {
	flex-direction: row;
	align-items: center;
	gap: 1.5rem;
	color: var(--black);
}

.c-section-title--row .c-section-title__en {
	line-height: 1.2;
}

.c-section-title--grad .c-section-title__en {
	background-image: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.c-select {
	position: relative;
	display: flex;
	align-items: center;
	border-block-end: 0.0625rem solid var(--black);
}

.c-select__field {
	width: 100%;
	padding: 0 2rem 1.1rem 0.9375rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 0;
	border-radius: 0;
	font-family: inherit;
	font-size: max(1rem, 16 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--black);
	background-color: transparent;
	cursor: pointer;
}

.c-select__field:focus-visible {
	outline: 0.125rem solid var(--grad-blue);
	outline-offset: 0.125rem;
}

.c-select__arrow {
	position: absolute;
	right: 0.5625rem;
	bottom: 0.875rem;
	width: 0.875rem;
	height: 0.4375rem;
	pointer-events: none;
}

.c-select__arrow::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 0.61875rem;
	aspect-ratio: 1;
	border-right: 0.0625rem solid var(--black);
	border-bottom: 0.0625rem solid var(--black);
	translate: -50% -50%;
	rotate: 45deg;
}

.c-sns {
	display: flex;
	align-items: center;
	gap: 1.3125rem;
}

.c-sns__link {
	display: block;
	width: 3rem;
	transition: translate 0.3s ease, filter 0.3s ease;
}

.c-sns__link img {
	width: 100%;
	height: auto;
	border-radius: 0.1875rem;
}

.drawer {
	position: fixed;
	inset: 0;
	z-index: var(--z-index-drawer);
	display: block;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0.4s ease;
}

.drawer.is-open {
	opacity: 1;
	visibility: visible;
}

.drawer__overlay {
	position: absolute;
	inset: 0;
	background-color: var(--black);
	opacity: 0.5;
}

.drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	width: 51.6875rem;
	height: 100%;
	padding: 7.3125rem 5.875rem 0; /* メニューが増えて画面の高さに収まらない時に下（サブリンク・SNS）へ届かなくなるため、
     SPと同じく中でスクロールさせる */
	overflow-y: auto;
}

.drawer__panel {
	background-color: var(--black);
	translate: 100% 0;
	transition: translate 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}

.drawer.is-open .drawer__panel {
	translate: 0 0;
}

.drawer__body {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	width: 40rem;
}

.drawer__list {
	display: flex;
	flex-direction: column;
	gap: 1.4375rem;
}

.drawer__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 40rem;
	margin-top: 5rem;
}

.drawer__links {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

.drawer__links-line {
	width: 1px;
	height: 2rem;
	background-color: var(--gray-d9);
}

.drawer__panel::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22200%22%20height=%22200%22%3E%3Cfilter%20id=%22g%22%20x=%220%22%20y=%220%22%20width=%22200%22%20height=%22200%22%20filterUnits=%22userSpaceOnUse%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%225010%22%20result=%22colorsrc%22/%3E%3CfeComponentTransfer%20in=%22colorsrc%22%20result=%22colors%22%3E%3CfeFuncR%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncG%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncB%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3C/feComponentTransfer%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%227013%22%20result=%22selsrc%22/%3E%3CfeColorMatrix%20in=%22selsrc%22%20type=%22matrix%22%20values=%221%200%200%200%200%200%201%200%200%200%200%200%201%200%200%200.3333%200.3333%200.3333%200%200%22%20result=%22sel%22/%3E%3CfeComponentTransfer%20in=%22sel%22%20result=%22m%22%3E%3CfeFuncA%20type=%22discrete%22%20tableValues=%221%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%22/%3E%3C/feComponentTransfer%3E%3CfeComposite%20operator=%22in%22%20in=%22colors%22%20in2=%22m%22%20result=%22cl%22/%3E%3CfeComponentTransfer%20in=%22cl%22%3E%3CfeFuncA%20type=%22table%22%20tableValues=%220%200.25%22/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect%20width=%22200%22%20height=%22200%22%20filter=%22url%28%23g%29%22/%3E%3C/svg%3E");
	background-size: 200px 200px;
	opacity: 1;
	pointer-events: none;
	z-index: -1;
}

.footer {
	position: relative;
	margin-top: -1.5rem;
	border-radius: 1.5rem 1.5rem 0 0;
	background-color: var(--black);
	background-image: url("../images/common/grain_black.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.footer {
	overflow: hidden;
}

.footer__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-block: 5.5625rem 4.9375rem;
}

.footer__info {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	width: 20.125rem;
}

.footer__logo {
	width: 12.625rem;
}

.footer__logo img {
	width: 100%;
	height: auto;
}

.footer__sns {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.footer__sns-text {
	font-size: max(1rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--white);
}

.footer__sns .c-sns__item:first-child .c-sns__link {
	width: 2.9375rem;
}

.footer__sns .c-sns__item:last-child .c-sns__link {
	width: 3.3125rem;
}

.footer__company {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	color: var(--white);
}

.footer__company-name {
	font-size: max(1rem, 10px);
	font-weight: var(--fw-bold);
	line-height: 1.4;
}

.footer__address {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.footer__address-item {
	font-size: max(1rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.footer__nav {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	width: 40rem;
	padding-top: 0.625rem;
}

.footer__list {
	display: flex;
	flex-direction: column;
	gap: 1.4375rem;
}

.footer__bar {
	width: 100%;
	background-color: var(--gray-89);
	background-image: url("../images/common/grain_bar.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.footer__bar-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer__copyright {
	font-size: max(0.875rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--white);
	white-space: nowrap;
}

.footer__links {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2rem;
}

.c-menu-link + .footer__links-line {
	margin-left: 2rem;
}

.footer__links .c-menu-link {
	gap: 1.5rem;
}

.footer__links .c-menu-link__text {
	width: 10rem;
}

.footer__links-line {
	width: 1px;
	height: 5rem;
	background-color: var(--white);
}

.header {
	position: fixed;
	top: 1.75rem;
	right: 2.75rem;
	left: 2.75rem;
	z-index: var(--z-index-header);
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 2.5rem;
	opacity: 0;
}

.header {
	translate: 0 -5rem;
	transition: opacity 0.7s ease-out, translate 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.header.is-shown {
	opacity: 1;
	translate: 0 0;
}

.header__logo {
	width: auto;
}

.header__logo-link {
	display: flex;
	align-items: flex-start;
	gap: 1.125rem;
}

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

.header__logo-text {
	font-size: max(0.75rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--black);
	white-space: nowrap;
	transition: color 0.3s ease;
}

.header__toggle {
	--toggle-height: 2rem;
	--toggle-bar: 0.25rem;
	position: relative;
	z-index: var(--z-index-hamburger);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 4.0625rem;
	height: var(--toggle-height);
	padding: 0;
	border: 0;
	background-color: transparent;
	cursor: pointer;
}

.header__toggle-bar {
	width: 100%;
	height: var(--toggle-bar);
	background-color: var(--black);
	transition: transform 0.4s ease, opacity 0.3s ease, background-color 0.3s ease;
}

.header.is-dark .header__logo-img {
	filter: invert(1) brightness(2);
}

.header.is-dark .header__logo-text {
	color: var(--white);
}

.header.is-dark .header__toggle-bar {
	background-color: var(--white);
}

.header__toggle.is-open .header__toggle-bar {
	background-color: var(--white);
}

.header__toggle.is-open .header__toggle-bar:nth-child(1) {
	transform: translateY(calc((var(--toggle-height) - var(--toggle-bar)) / 2)) rotate(23.6deg);
}

.header__toggle.is-open .header__toggle-bar:nth-child(2) {
	opacity: 0;
}

.header__toggle.is-open .header__toggle-bar:nth-child(3) {
	transform: translateY(calc((var(--toggle-height) - var(--toggle-bar)) / -2)) rotate(-23.6deg);
}

body:has(.l-page) .header::after {
	content: "";
	position: absolute;
	top: 3.875rem;
	right: -2.75rem;
	left: -2.75rem;
	height: 0.125rem;
	background-color: var(--gray-d9);
	transition: opacity 0.4s ease;
}

body:has(.l-page) .header.is-scrolled::after {
	opacity: 0;
}

body:has(.drawer.is-open) .header::after {
	opacity: 0;
}

.loader {
	position: fixed;
	inset: 0;
	z-index: var(--z-index-loader);
	display: grid;
	place-items: center;
	background-color: var(--gray-f3);
	background-image: url("../images/common/grain_mv.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	transition: opacity 0.7s ease-out;
}

.loader.is-loaded {
	opacity: 0;
	pointer-events: none;
}

.loader__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	width: 10rem;
}

.loader__logo {
	width: 100%;
	height: auto;
}

.loader__count {
	display: flex;
	align-items: flex-start;
	gap: 0.375rem;
	font-family: var(--en-font);
	font-size: max(1.25rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--black);
}

.loader__unit {
	padding-top: 0.25rem;
	font-size: max(1rem, 10px);
}

.p-about-mission {
	position: relative;
	padding-block-start: 1.25rem;
}

.p-about-mission__inner {
	position: relative;
}

.p-about-mission__watermark {
	position: absolute;
	top: 32.625rem;
	left: -1.5625rem;
	z-index: -1;
	font-family: var(--en-font);
	font-size: 7.75rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -0.06em;
	white-space: nowrap;
	background-image: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	opacity: 0.2;
}

.p-about-mission__body {
	position: relative;
	z-index: 1;
}

.p-about-mission__title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}

.p-about-mission__band {
	display: flex;
	align-items: center;
	height: 4.75rem;
	padding-inline: 0.1875rem;
	background-image: var(--grad);
}

.p-about-mission__scale {
	display: block;
	font-size: 4rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -0.09em;
	white-space: nowrap;
	color: var(--white);
	translate: 0 -0.1875rem;
	transform: scaleX(1.2);
	transform-origin: left center;
}

.p-about-mission__band--a {
	width: 29.625rem;
}

.p-about-mission__band--b {
	width: 59.9375rem;
}

.p-about-mission__band--c,
.p-about-mission__band--d {
	display: none;
}

.p-about-mission__lead {
	display: flex;
	flex-direction: column;
	gap: 1.1875rem;
	margin-block-start: 3rem;
	font-size: max(1.5rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.8;
}

.p-about-mission__photos {
	position: absolute;
	top: 13.125rem;
	right: 5rem;
	width: 17.3125rem;
}

.p-about-mission__photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0.25rem;
}

.p-about-mission__photo--02 {
	position: absolute;
	top: 12.875rem;
	right: 20.0625rem;
	width: 10.75rem;
}

.p-about-vision {
	margin-block-start: 16.75rem;
	padding-block-start: 7rem;
	border-radius: 1rem 1rem 0 0;
	background-color: var(--white);
}

.p-about-vision__inner {
	display: flex;
	align-items: center;
	gap: 4.3125rem;
}

.p-about-vision__head {
	display: flex;
	flex-direction: column;
	gap: 0.8125rem;
	flex-shrink: 0;
	width: 33.3125rem;
}

.p-about-vision__title {
	font-size: 3rem;
	font-weight: var(--fw-bold);
	line-height: 1.4;
}

.p-about-vision__lead {
	width: 42.375rem;
	font-size: max(1.125rem, 18 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.8;
}

.p-about-vision__photo {
	margin-block-start: 5rem;
}

.p-about-vision__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.p-about-service {
	scroll-margin-block-start: calc(var(--header-height) / 2);
}

.p-about-service__intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-block-start: 7rem;
}

.p-about-service__text {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	width: 42.375rem;
}

.p-about-service__head {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.p-about-service__title {
	font-size: 3rem;
	font-weight: var(--fw-bold);
	line-height: 1.4;
}

.p-about-service__lead {
	font-size: max(1.125rem, 18 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.8;
}

.p-about-service__diagram {
	--dg: 28.820625rem;
	position: relative;
	flex-shrink: 0;
	width: var(--dg);
	aspect-ratio: 461.13/460;
}

.p-about-service__ring {
	position: absolute;
	top: 10.924%;
	left: 10.537%;
	width: 78.937%;
	height: 79.241%;
	border: 2px solid var(--black);
	border-radius: 50%;
}

.p-about-service__core,
.p-about-service__satellite-inner {
	border-radius: 50%;
	background-color: var(--black);
	color: var(--white);
	text-align: center;
}

.p-about-service__core {
	position: absolute;
	top: 27.267%;
	left: 26.786%;
	width: 46.44%;
	aspect-ratio: 1;
}

.p-about-service__logo,
.p-about-service__of,
.p-about-service__value {
	position: absolute;
}

.p-about-service__logo {
	top: 36.446%;
	left: 13.556%;
	width: 59.552%;
	aspect-ratio: 127.531/39.84;
	background-color: currentcolor;
	-webkit-mask-image: url(../images/common/logo_header.svg);
	mask-image: url(../images/common/logo_header.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.p-about-service__of,
.p-about-service__value {
	font-family: var(--en-font);
	font-size: calc(var(--dg) * 0.03904);
	font-weight: var(--fw-bold);
	line-height: 1.22;
}

.p-about-service__of {
	top: 41.583%;
	left: 75.681%;
}

.p-about-service__value {
	top: 57.951%;
	left: 33.187%;
}

.p-about-service__satellite {
	position: absolute;
	width: 28.645%;
	aspect-ratio: 1;
}

.p-about-service__satellite-inner {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
}

.p-about-service__satellite--hr {
	top: 0;
	left: 15.161%;
}

.p-about-service__satellite--ai {
	top: 15.448%;
	left: 71.353%;
}

.p-about-service__satellite--dm {
	top: 56.45%;
	left: 0;
	width: 29.183%;
}

.p-about-service__satellite--web {
	top: 71.285%;
	left: 56.145%;
}

.p-about-service__satellite-label {
	display: flex;
	flex-direction: column;
	font-family: var(--en-font);
	font-size: calc(var(--dg) * 0.0347);
	font-weight: var(--fw-bold);
	line-height: 1.2;
}

.p-about-service__panel {
	position: relative;
	isolation: isolate;
	margin-block-start: 3rem;
	padding-block: 6rem 5.125rem;
	border-radius: 1rem 1rem 0 0;
	background-color: var(--black);
}

.p-about-service__list {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-about-card {
	display: flex;
	align-items: center;
	gap: 4rem;
	padding: 4rem 3.8125rem;
	border-radius: 0.5rem;
	background-color: var(--gray-f3);
}

.p-about-card--white {
	background-color: var(--white);
}

.p-about-card__photo {
	flex-shrink: 0;
	width: 23.5rem;
}

.p-about-card__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3/2;
	object-fit: cover;
	border-radius: 0.5rem;
	box-shadow: 0 0 1rem rgba(0, 0, 0, 0.08);
}

.p-about-card__body {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 44.875rem;
}

.p-about-card__head {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-about-card__category {
	font-family: var(--en-font);
	font-size: max(1rem, 10px);
	font-weight: var(--fw-bold);
	line-height: 1.2;
	background-image: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.p-about-card__title {
	font-size: 2rem;
	font-weight: var(--fw-bold);
	line-height: 1.4;
}

.p-about-card__text {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	translate: 0 0.125rem;
	font-size: max(1rem, 16 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.6;
}

.p-about-card__services {
	padding-inline-start: 1.5rem;
	list-style: disc;
}

.p-about-service__wide img {
	display: block;
	width: 100%;
	height: auto;
}

.p-about-introduction {
	position: relative;
	isolation: isolate;
	padding-block-start: 8rem;
}

.p-about-introduction__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.5rem;
}

.p-about-introduction__embed {
	width: 55rem;
	aspect-ratio: 16/9;
}

.p-about-introduction__embed iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.p-about-profile {
	position: relative;
	isolation: isolate;
	padding-block: 8rem 8rem;
}

.p-about-profile__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.5rem;
}

.p-about-profile__card {
	width: 55rem;
	padding: 5rem 8.75rem;
	background-color: rgba(255, 255, 255, 0.4);
	box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.16);
}

.p-about-profile__table {
	display: flex;
	flex-direction: column;
	gap: 1.4375rem;
	font-size: max(1rem, 16 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.p-about-profile__row {
	display: grid;
	grid-template-columns: 14.25rem 22.5rem;
	align-items: start;
}

.p-about-profile__row {
	padding-block-end: 1.4375rem;
	border-block-end: 1px solid var(--gray-d9);
}

.p-about-profile__label {
	color: var(--gray-89);
}

.p-about-profile__value {
	color: var(--black);
}

.p-about-profile__offices {
	padding-inline-start: 1.5rem;
	list-style: disc;
}

.p-about-profile__office-name,
.p-about-profile__office-address {
	display: block;
}

.p-about-deco {
	position: absolute;
	z-index: 0;
	display: block;
	pointer-events: none;
}

.p-about-deco img {
	display: block;
	width: 100%;
	height: auto;
}

.p-about-deco--panel {
	top: 77.611875rem;
	left: calc(58.179375rem + max(0px, 50% - 720px));
	width: 48.484125rem;
}

.p-about-deco--intro {
	top: 25.34rem;
	left: calc(-16.525rem + max(0px, 50% - 720px));
	width: 47.2394375rem;
}

.p-about-deco--intro img {
	transform: rotate(180deg);
}

.p-about-deco--profile {
	bottom: -10.0625rem;
	left: calc(58.679375rem + max(0px, 50% - 720px));
	width: 48.484125rem;
}

.p-about-mission__title.js-slide-text .p-about-mission__scale {
	clip-path: inset(0 100% 0 0);
	transition: clip-path 1s cubic-bezier(0.65, 0, 0.35, 1);
}

.p-about-mission__title.js-slide-text.is-visible .p-about-mission__scale {
	clip-path: inset(0 0 0 0);
}

.p-about-mission__body.js-inview .p-about-mission__lead {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0.2s, translate 0.8s var(--ease-inview) 0.2s;
}

.p-about-mission__body.js-inview.is-visible .p-about-mission__lead {
	opacity: 1;
	translate: 0 0;
}

.p-about-mission__photos.js-inview .p-about-mission__photo--01 {
	opacity: 0;
	translate: 0 0.75rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.p-about-mission__photos.js-inview .p-about-mission__photo--02 {
	opacity: 0;
	translate: 0 0.75rem;
	transition: opacity 0.8s var(--ease-inview) 0.12s, translate 0.8s var(--ease-inview) 0.12s;
}

.p-about-vision__inner.js-inview .p-about-vision__head {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.p-about-vision__inner.js-inview .p-about-vision__lead {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0.12s, translate 0.8s var(--ease-inview) 0.12s;
}

.p-about-service__text.js-inview .p-about-service__head {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.p-about-service__text.js-inview .p-about-service__lead {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0.12s, translate 0.8s var(--ease-inview) 0.12s;
}

.p-about-introduction__inner.js-inview .p-about-introduction__head {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.p-about-introduction__inner.js-inview .p-about-introduction__embed {
	opacity: 0;
	translate: 0 0.75rem;
	transition: opacity 0.8s var(--ease-inview) 0.12s, translate 0.8s var(--ease-inview) 0.12s;
}

.p-about-profile__inner.js-inview .p-about-profile__head {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.p-about-profile__inner.js-inview .p-about-profile__card {
	opacity: 0;
	translate: 0 0.75rem;
	transition: opacity 0.8s var(--ease-inview) 0.12s, translate 0.8s var(--ease-inview) 0.12s;
}

.p-about-mission__photos.js-inview.is-visible .p-about-mission__photo--01,
.p-about-mission__photos.js-inview.is-visible .p-about-mission__photo--02,
.p-about-vision__inner.js-inview.is-visible .p-about-vision__head,
.p-about-vision__inner.js-inview.is-visible .p-about-vision__lead,
.p-about-service__text.js-inview.is-visible .p-about-service__head,
.p-about-service__text.js-inview.is-visible .p-about-service__lead,
.p-about-introduction__inner.js-inview.is-visible .p-about-introduction__head,
.p-about-introduction__inner.js-inview.is-visible .p-about-introduction__embed,
.p-about-profile__inner.js-inview.is-visible .p-about-profile__head,
.p-about-profile__inner.js-inview.is-visible .p-about-profile__card {
	opacity: 1;
	translate: 0 0;
}

.p-about-vision__photo.js-inview,
.p-about-service__wide.js-inview {
	overflow: hidden;
}

.p-about-vision__photo.js-inview img,
.p-about-service__wide.js-inview img {
	scale: 1.06;
	transition: scale 1.2s var(--ease-inview);
}

.p-about-vision__photo.js-inview.is-visible img,
.p-about-service__wide.js-inview.is-visible img {
	scale: 1;
}

.p-about-card.js-inview {
	opacity: 0;
	translate: 0 0.75rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.p-about-card.js-inview.is-visible {
	opacity: 1;
	translate: 0 0;
}

.p-entry-list__inner {
	padding-block-end: 9.5rem;
}

.p-entry-list__body {
	display: grid; /* 左の絞り込みは中身（ピル・セレクト）が fixrem で固定サイズなので、
     列幅も fixrem にして PC最小幅でも中身が収まるようにする */
	grid-template-columns: max(14.5rem, 232 * var(--fixed-px)) 1fr;
	gap: 5.5rem;
	margin-block-start: 4rem;
}

.p-entry-list__items {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	perspective: 187.5rem;
	perspective-origin: 50% 50%;
}

.p-entry-list__item[hidden] {
	display: none;
}

.p-entry-list__item.is-filter-leaving {
	position: absolute;
	left: 0;
	width: 100%;
	pointer-events: none;
}

.p-entry-list__empty {
	font-size: max(1rem, 16 * var(--fixed-px));
	line-height: 1.75;
}

.p-entry-filter {
	align-self: start;
}

.p-entry-filter__types {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-entry-filter__selects {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-block-start: 2.5rem;
}

.p-entry-filter__label {
	display: block;
	margin-block-end: 1.5rem;
	font-size: max(1.125rem, 18 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.p-entry-filter__reset {
	display: block;
	margin-inline-start: auto;
	font-size: max(0.9375rem, 15 * var(--fixed-px));
	line-height: 1.4;
	text-decoration: underline;
	color: var(--gray-89);
	transition: opacity 0.3s ease;
}

.p-entry-card {
	padding: 2.5rem 3.8125rem 3rem 3.875rem;
	border-radius: 0.625rem;
	background-color: var(--white);
}

.p-entry-card__title {
	padding-block-end: 1.125rem;
	border-block-end: 0.0625rem solid var(--gray-89);
	font-size: max(1.5rem, 24 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.p-entry-card .c-recruit-meta {
	margin-block-start: 1.5rem;
}

.p-entry-card__text {
	margin-block-start: 1.5rem;
	font-size: max(1rem, 16 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.p-entry-card__link {
	margin-block-start: 2rem;
}

.p-form-page .c-page-head__inner {
	padding-block-end: 4rem;
}

.p-form__inner {
	padding-block-end: 9.5rem;
}

.p-form__card {
	margin-inline: auto;
	padding: 1.8125rem 3.75rem 5.1875rem;
	border-radius: 0.5rem;
	background-color: var(--white);
}

.p-form__missing {
	font-size: max(1rem, 16 * var(--fixed-px));
	line-height: 1.6;
	color: var(--grad-orange);
}

.p-form__row {
	position: relative;
	display: grid; /* 項目名は fixrem（PCは固定px）なので、列幅とアキも固定にする。
     rem のままだと縮小時に列だけ詰まって項目名が入力欄にくっつく */
	grid-template-columns: max(13.25rem, 212 * var(--fixed-px)) 1fr;
	-moz-column-gap: max(1rem, 16 * var(--fixed-px));
	column-gap: max(1rem, 16 * var(--fixed-px));
	align-items: center;
	padding: 2rem 1.3125rem;
}

.p-form__row::after {
	content: "";
	position: absolute;
	inset: auto 0 -0.0625rem;
	height: 0.0625rem;
	background-color: var(--gray-d9);
}

.p-form__row:has(.c-textarea) {
	align-items: start;
}

.p-form__row--first {
	padding-block: 2rem 2.5rem;
}

.p-form__label {
	font-size: max(1rem, 16 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.p-form__label-br {
	display: block;
}

.p-form__req {
	font-size: max(0.875rem, 14 * var(--fixed-px));
	color: var(--grad-orange);
}

.p-form__field .wpcf7-form-control-wrap {
	display: block;
}

.c-input,
.c-textarea {
	display: block;
	width: 31.5625rem;
	padding-inline: max(1.25rem, 20 * var(--fixed-px));
	border: 0;
	border-radius: max(0.25rem, 4 * var(--fixed-px));
	font-family: inherit;
	font-size: max(1rem, 16 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--black);
	background-color: var(--gray-f3);
}

/* 高さは height ではなく padding で作る（文字が fixrem で固定のため） */

.c-input {
	padding-block: max(0.8rem, 12.8 * var(--fixed-px));
}

.c-textarea {
	width: 36.5625rem;
	padding-block: max(0.8125rem, 13 * var(--fixed-px));
	height: max(12.375rem, 198 * var(--fixed-px));
	resize: none;
}

.c-input::-moz-placeholder,
.c-textarea::-moz-placeholder {
	color: var(--gray-89);
}

.c-input::placeholder,
.c-textarea::placeholder {
	color: var(--gray-89);
}

.c-input:focus-visible,
.c-textarea:focus-visible {
	outline: 0.125rem solid var(--grad-blue);
	outline-offset: 0.125rem;
}

.wpcf7-radio,
.wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
}

.p-form__row--checkbox .wpcf7-checkbox {
	max-width: 36.625rem;
}

.wpcf7-list-item {
	margin: 0;
}

.wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: max(0.875rem, 14 * var(--fixed-px));
	font-size: max(1rem, 16 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
	cursor: pointer;
}

/* iOS Safari は aspect-ratio だけだと高さを 0 と解釈して四角が潰れるので、
   幅と同じ height を必ず併記する（align-items:center の flex 内で縮まない保険も兼ねる） */

.wpcf7-list-item input[type=radio],
.wpcf7-list-item input[type=checkbox] {
	flex-shrink: 0;
	align-self: center;
	-moz-appearance: none;
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	border: max(0.09375rem, 1.5 * var(--fixed-px)) solid var(--grad-orange);
	background-color: var(--white);
	cursor: pointer;
}

.wpcf7-list-item input[type=radio] {
	display: grid;
	place-items: center;
	width: max(1.5625rem, 25 * var(--fixed-px));
	height: max(1.5625rem, 25 * var(--fixed-px));
	aspect-ratio: 1;
	border-radius: 50%;
}

.wpcf7-list-item input[type=radio]::before {
	content: "";
	width: max(0.8125rem, 13 * var(--fixed-px));
	height: max(0.8125rem, 13 * var(--fixed-px));
	aspect-ratio: 1;
	border-radius: 50%;
	scale: 0;
	background-color: var(--grad-orange);
	transition: scale 0.2s ease;
}

.wpcf7-list-item input[type=radio]:checked::before {
	scale: 1;
}

.wpcf7-list-item input[type=checkbox] {
	display: block;
	width: max(1.5rem, 24 * var(--fixed-px));
	height: max(1.5rem, 24 * var(--fixed-px));
	aspect-ratio: 1;
}

.wpcf7-list-item input[type=checkbox]:checked {
	background-color: var(--grad-orange);
}

.wpcf7-list-item input[type=checkbox]:checked::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--white);
	clip-path: polygon(20% 48%, 42% 68%, 80% 26%, 88% 34%, 42% 84%, 12% 56%);
}

.wpcf7-list-item input:focus-visible {
	outline: 0.125rem solid var(--grad-blue);
	outline-offset: 0.125rem;
}

.p-form__note {
	display: block;
	margin-block-end: 0.5rem;
	font-size: max(0.875rem, 14 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.p-form__note-strong {
	color: var(--grad-orange);
}

.p-form__file {
	display: flex;
	align-items: center;
	gap: 1rem;
}

/* ボタンの中身はフォントサイズ固定（fixrem）なので、箱の幅・余白も同じ扱いにしないと
   PCの縮小時にラベルがボタンからはみ出す */

.wpcf7-file {
	width: max(9.8125rem, 157 * var(--fixed-px));
	font-family: inherit;
	font-size: max(0.875rem, 14 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: transparent;
}

.wpcf7-file::file-selector-button {
	width: 100%;
	padding-block: max(0.29375rem, 4.7 * var(--fixed-px));
	border: max(0.0625rem, 1 * var(--fixed-px)) solid var(--gray-d9);
	border-radius: max(0.25rem, 4 * var(--fixed-px));
	font-family: inherit;
	font-size: max(0.875rem, 14 * var(--fixed-px));
	font-weight: var(--fw-medium);
	color: var(--black);
	background-color: var(--gray-f3);
	cursor: pointer;
}

.p-form__file-status {
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	font-size: max(0.875rem, 14 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--gray-89);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.p-form__consent {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-block-start: 3rem;
}

.p-form__consent .wpcf7-form-control-wrap,
.p-form__consent .wpcf7-acceptance,
.p-form__consent .wpcf7-list-item {
	display: block;
}

.p-form__consent .wpcf7-list-item-label a {
	font-weight: var(--fw-bold);
	color: var(--grad-orange);
	text-decoration: underline;
}

.p-form__btn {
	position: relative;
	isolation: isolate;
	display: block;
	width: 100%;
	border-radius: max(1.71875rem, 27.5 * var(--fixed-px));
	background-color: var(--black);
}

.p-form__btn::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background-image: var(--grad);
	opacity: 0;
	transition: opacity 0.4s ease;
}

.p-form__btn:has(.wpcf7c-force-hide) {
	display: none;
}

.p-form__btn--outline {
	background-color: transparent;
}

.p-form__btn--outline::before {
	content: none;
}

.p-form__btn--outline::after {
	content: "";
	position: absolute;
	top: 50%;
	left: max(2rem, 32 * var(--fixed-px));
	width: max(0.5625rem, 9 * var(--fixed-px));
	height: max(1.0625rem, 17 * var(--fixed-px));
	translate: 0 -50%;
	scale: -1 1;
	background-color: var(--black);
	-webkit-mask-image: url(../images/common/arrow_chevron.svg);
	mask-image: url(../images/common/arrow_chevron.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.p-form__actions {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	margin-block-start: 3rem;
}

.c-btn-outline {
	display: grid;
	place-items: center;
	width: 100%;
	padding-block: max(0.86875rem, 13.9 * var(--fixed-px));
	border: max(0.0625rem, 1 * var(--fixed-px)) solid var(--black);
	border-radius: max(1.71875rem, 27.5 * var(--fixed-px));
	font-family: inherit;
	font-size: max(1.125rem, 18 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--black);
	background-color: transparent;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.wpcf7c-conf {
	padding-inline: 0;
	background-color: transparent;
}

.wpcf7c-conf::-moz-placeholder {
	color: transparent;
}

.wpcf7c-conf::placeholder {
	color: transparent;
}

textarea.wpcf7c-conf {
	height: auto;
	min-height: 1.5rem;
	padding-block: 0;
	resize: none;
}

.wpcf7-list-item:has(.wpcf7c-conf:not(:checked)) {
	display: none;
}

input.wpcf7c-conf-hidden[type=text] {
	width: 100%;
	padding: 0;
	font-size: max(1rem, 16 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--black);
	background-color: transparent;
}

.wpcf7-not-valid-tip {
	display: block;
	margin-block-start: 0.25rem;
	font-size: max(0.875rem, 14 * var(--fixed-px));
	line-height: 1.4;
	color: var(--grad-orange);
}

.wpcf7-response-output {
	margin: 1.5rem 0 0;
	padding: 1rem;
	border: 0.0625rem solid var(--grad-orange);
	border-radius: 0.25rem;
	font-size: max(0.9375rem, 15 * var(--fixed-px));
	line-height: 1.6;
}

.p-form__actions .wpcf7-spinner {
	position: absolute;
	bottom: -2rem;
	left: 50%;
	margin: 0;
	translate: -50% 0;
}

.p-form__card--message {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: 6rem;
}

.p-form__thanks-text {
	font-size: max(1.125rem, 18 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 2;
	text-align: center;
}

.p-form__thanks-btn {
	width: 33.5rem;
	margin-block-start: 3rem;
}

.p-interview-mv {
	position: relative;
	width: 100%;
	height: 35.75rem;
	font-feature-settings: normal;
	background-color: var(--gray-d9);
	overflow: hidden;
	isolation: isolate;
}

.p-interview-mv__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.p-interview-mv__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22200%22%20height=%22200%22%3E%3Cfilter%20id=%22g%22%20x=%220%22%20y=%220%22%20width=%22200%22%20height=%22200%22%20filterUnits=%22userSpaceOnUse%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.85%22%20stitchTiles=%22stitch%22%20numOctaves=%221%22%20seed=%224021%22/%3E%3CfeColorMatrix%20type=%22saturate%22%20values=%220%22/%3E%3CfeComponentTransfer%3E%3CfeFuncR%20type=%22linear%22%20slope=%224%22%20intercept=%22-1.5%22/%3E%3CfeFuncG%20type=%22linear%22%20slope=%224%22%20intercept=%22-1.5%22/%3E%3CfeFuncB%20type=%22linear%22%20slope=%224%22%20intercept=%22-1.5%22/%3E%3CfeFuncA%20type=%22table%22%20tableValues=%220%200.14%22/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect%20width=%22200%22%20height=%22200%22%20filter=%22url%28%23g%29%22/%3E%3C/svg%3E");
	background-size: 200px 200px;
	opacity: 1;
	pointer-events: none;
}

.p-interview-mv--cutout .p-interview-mv__bg::before {
	content: "";
	position: absolute;
	top: -15.915625rem;
	left: 57.5408125rem;
	width: 48.365125rem;
	height: 48.365125rem;
	background-image: url("../images/interview/detail/nomiyama_mv_blob.png");
	background-size: 100% 100%;
}

.p-interview-mv__photo {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	width: var(--mv-width, auto);
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 1.5rem);
	mask-image: linear-gradient(to right, transparent 0, #000 1.5rem);
}

.p-interview-mv__photo--cutout {
	top: var(--mv-top, 0);
	right: auto;
	bottom: auto;
	left: 50%;
	height: var(--mv-height, auto);
	margin-inline-start: var(--mv-offset, 0);
	-webkit-mask-image: none;
	mask-image: none;
}

.p-interview-mv__photo--cutout img {
	object-fit: fill;
}

.p-interview-mv__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-interview-mv__inner {
	position: relative;
	height: 100%;
	padding-block-start: 7.3125rem;
}

.p-interview-mv__body {
	margin-block-start: 6.8125rem;
}

.p-interview-mv__title {
	display: flex;
	font-feature-settings: "palt" 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.3125rem;
	font-size: 3.5rem;
	font-weight: var(--fw-bold);
	line-height: 1.043;
	letter-spacing: -0.02em;
	color: var(--white);
}

.p-interview-mv__title-row {
	position: relative;
	display: inline;
	padding: 0 0.875rem 0.375rem;
	background-image: var(--grad);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.p-interview-mv__title-row::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22200%22%20height=%22200%22%3E%3Cfilter%20id=%22g%22%20x=%220%22%20y=%220%22%20width=%22200%22%20height=%22200%22%20filterUnits=%22userSpaceOnUse%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%225010%22%20result=%22colorsrc%22/%3E%3CfeComponentTransfer%20in=%22colorsrc%22%20result=%22colors%22%3E%3CfeFuncR%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncG%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncB%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3C/feComponentTransfer%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%227013%22%20result=%22selsrc%22/%3E%3CfeColorMatrix%20in=%22selsrc%22%20type=%22matrix%22%20values=%221%200%200%200%200%200%201%200%200%200%200%200%201%200%200%200.3333%200.3333%200.3333%200%200%22%20result=%22sel%22/%3E%3CfeComponentTransfer%20in=%22sel%22%20result=%22m%22%3E%3CfeFuncA%20type=%22discrete%22%20tableValues=%221%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%22/%3E%3C/feComponentTransfer%3E%3CfeComposite%20operator=%22in%22%20in=%22colors%22%20in2=%22m%22%20result=%22cl%22/%3E%3CfeComponentTransfer%20in=%22cl%22%3E%3CfeFuncA%20type=%22table%22%20tableValues=%220%200.25%22/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect%20width=%22200%22%20height=%22200%22%20filter=%22url%28%23g%29%22/%3E%3C/svg%3E");
	background-size: 200px 200px;
	opacity: 1;
	pointer-events: none;
	z-index: 1;
}

.p-interview-mv__name {
	margin-block-start: 2.3125rem;
	margin-inline-start: 1rem;
	font-family: var(--en-font);
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	line-height: 1.2;
	letter-spacing: 0.02em;
}

.p-interview-mv__meta {
	margin-block-start: 0.5625rem;
	margin-inline-start: 1rem;
	font-size: max(1rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.375;
}

.p-interview-mv .c-breadcrumb {
	margin-inline-start: -2.25rem;
}

.p-interview-mv.js-inview .c-breadcrumb {
	opacity: 0;
	translate: 0 0.375rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.p-interview-mv.js-inview .p-interview-mv__photo {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0.1s, translate 0.8s var(--ease-inview) 0.1s;
}

.p-interview-mv.js-inview .p-interview-mv__title-row {
	opacity: 0;
	translate: 0 0.375rem;
	transition: opacity 0.8s var(--ease-inview) 0.06s, translate 0.8s var(--ease-inview) 0.06s;
}

.p-interview-mv.js-inview .p-interview-mv__title-row ~ .p-interview-mv__title-row {
	opacity: 0;
	translate: 0 0.375rem;
	transition: opacity 0.8s var(--ease-inview) 0.12s, translate 0.8s var(--ease-inview) 0.12s;
}

.p-interview-mv.js-inview .p-interview-mv__name {
	opacity: 0;
	translate: 0 0.375rem;
	transition: opacity 0.8s var(--ease-inview) 0.2s, translate 0.8s var(--ease-inview) 0.2s;
}

.p-interview-mv.js-inview .p-interview-mv__meta {
	opacity: 0;
	translate: 0 0.375rem;
	transition: opacity 0.8s var(--ease-inview) 0.25s, translate 0.8s var(--ease-inview) 0.25s;
}

.p-interview-mv.js-inview.is-visible .c-breadcrumb,
.p-interview-mv.js-inview.is-visible .p-interview-mv__photo,
.p-interview-mv.js-inview.is-visible .p-interview-mv__title-row,
.p-interview-mv.js-inview.is-visible .p-interview-mv__name,
.p-interview-mv.js-inview.is-visible .p-interview-mv__meta {
	opacity: 1;
	translate: 0 0;
}

.p-interview-other {
	position: relative;
	width: 100%;
	padding-block: 5.0625rem 7.5rem;
	background-color: var(--gray-f3);
}

.p-interview-other::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22200%22%20height=%22200%22%3E%3Cfilter%20id=%22g%22%20x=%220%22%20y=%220%22%20width=%22200%22%20height=%22200%22%20filterUnits=%22userSpaceOnUse%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%225010%22%20result=%22colorsrc%22/%3E%3CfeComponentTransfer%20in=%22colorsrc%22%20result=%22colors%22%3E%3CfeFuncR%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncG%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncB%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3C/feComponentTransfer%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%227013%22%20result=%22selsrc%22/%3E%3CfeColorMatrix%20in=%22selsrc%22%20type=%22matrix%22%20values=%221%200%200%200%200%200%201%200%200%200%200%200%201%200%200%200.3333%200.3333%200.3333%200%200%22%20result=%22sel%22/%3E%3CfeComponentTransfer%20in=%22sel%22%20result=%22m%22%3E%3CfeFuncA%20type=%22discrete%22%20tableValues=%221%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%22/%3E%3C/feComponentTransfer%3E%3CfeComposite%20operator=%22in%22%20in=%22colors%22%20in2=%22m%22%20result=%22cl%22/%3E%3CfeComponentTransfer%20in=%22cl%22%3E%3CfeFuncA%20type=%22table%22%20tableValues=%220%200.25%22/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect%20width=%22200%22%20height=%22200%22%20filter=%22url%28%23g%29%22/%3E%3C/svg%3E");
	background-size: 200px 200px;
	opacity: 1;
	pointer-events: none;
	z-index: 2;
}

.p-interview-other__panel {
	position: relative;
	z-index: 3;
	width: 71.1111111111%;
	max-width: 64rem;
	margin-inline: auto;
	background-color: var(--white);
}

.p-interview-other__inner {
	padding: 4rem 2.875rem 4.125rem;
}

.p-interview-other__title {
	font-family: var(--en-font);
	font-size: 2.5rem;
	font-weight: var(--fw-bold);
	line-height: 1.2;
	letter-spacing: 0;
}

.p-interview-other__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
	margin-block-start: 1.5rem;
}

.p-interview-other__link {
	display: block;
	color: inherit;
}

.p-interview-other__thumb {
	position: relative;
	overflow: hidden;
}

.p-interview-other__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
	transition: scale 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.p-interview-other__catch {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.1875rem;
	font-size: 1.875rem;
	font-weight: var(--fw-bold);
	line-height: 1.03;
	letter-spacing: -0.02em;
	color: var(--white);
}

.p-interview-other__catch-row {
	display: inline;
	padding: 0 0.25rem 0.3125rem;
	background-image: var(--grad);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.p-interview-other__profile {
	display: flex;
	align-items: baseline;
	gap: 1.125rem;
	margin-block-start: 0.3125rem;
}

.p-interview-other__name {
	flex-shrink: 0;
	font-family: var(--en-font);
	font-size: 1rem;
	font-weight: var(--fw-bold);
	line-height: 1.2;
	letter-spacing: 0.02em;
}

.p-interview-other__meta {
	font-size: max(0.8125rem, 10px);
	line-height: 1.4;
}

.p-interview-other__inner.js-inview .p-interview-other__title {
	opacity: 0;
	translate: 0 0.375rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.p-interview-other__inner.js-inview .p-interview-other__item:nth-child(1) {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0.1s, translate 0.8s var(--ease-inview) 0.1s;
}

.p-interview-other__inner.js-inview .p-interview-other__item:nth-child(2) {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0.15s, translate 0.8s var(--ease-inview) 0.15s;
}

.p-interview-other__inner.js-inview.is-visible .p-interview-other__title,
.p-interview-other__inner.js-inview.is-visible .p-interview-other__item {
	opacity: 1;
	translate: 0 0;
}

.p-interview-section {
	position: relative;
	width: 100%;
	font-feature-settings: normal;
	text-spacing-trim: space-all;
	background-color: var(--gray-f3);
}

.p-interview-section::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22200%22%20height=%22200%22%3E%3Cfilter%20id=%22g%22%20x=%220%22%20y=%220%22%20width=%22200%22%20height=%22200%22%20filterUnits=%22userSpaceOnUse%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%225010%22%20result=%22colorsrc%22/%3E%3CfeComponentTransfer%20in=%22colorsrc%22%20result=%22colors%22%3E%3CfeFuncR%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncG%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncB%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3C/feComponentTransfer%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%227013%22%20result=%22selsrc%22/%3E%3CfeColorMatrix%20in=%22selsrc%22%20type=%22matrix%22%20values=%221%200%200%200%200%200%201%200%200%200%200%200%201%200%200%200.3333%200.3333%200.3333%200%200%22%20result=%22sel%22/%3E%3CfeComponentTransfer%20in=%22sel%22%20result=%22m%22%3E%3CfeFuncA%20type=%22discrete%22%20tableValues=%221%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%22/%3E%3C/feComponentTransfer%3E%3CfeComposite%20operator=%22in%22%20in=%22colors%22%20in2=%22m%22%20result=%22cl%22/%3E%3CfeComponentTransfer%20in=%22cl%22%3E%3CfeFuncA%20type=%22table%22%20tableValues=%220%200.25%22/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect%20width=%22200%22%20height=%22200%22%20filter=%22url%28%23g%29%22/%3E%3C/svg%3E");
	background-size: 200px 200px;
	opacity: 1;
	pointer-events: none;
	z-index: 2;
}

.p-interview-section__inner {
	--inner-pb: 4.9375rem;
	position: relative;
	padding-block: 5rem var(--inner-pb);
}

.p-interview-section__title {
	font-size: 2rem;
	font-weight: var(--fw-bold);
	line-height: 1.4;
}

.p-interview-section__body {
	display: flex;
	flex-direction: column;
	gap: 2.0625rem;
	max-width: 47.9375rem;
	margin-block-start: 2.125rem;
}

.p-interview-qa__question {
	display: flex;
	align-items: baseline;
	gap: 0.3125rem;
	font-size: max(0.9375rem, 15 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.5;
	color: var(--gray-89);
}

.p-interview-qa__question::before {
	content: "";
	flex-shrink: 0;
	width: 0.875rem;
	height: 0.0625rem;
	translate: 0 -0.3125rem;
	background-color: currentcolor;
}

.p-interview-qa__answer {
	margin-block-start: 0.5625rem;
	font-size: max(0.9375rem, 15 * var(--fixed-px));
	line-height: 1.6;
	text-align: justify;
}

.p-interview-section__cutout {
	position: absolute;
	top: 0;
	right: var(--cutout-right-pc, 10.8125rem);
	bottom: 0;
	width: var(--cutout-width-pc, 14.6875rem);
	pointer-events: none;
}

.p-interview-section__cutout picture {
	position: sticky;
	top: calc(100vh - var(--cutout-h-pc, 11.5625rem));
	display: block;
	height: auto;
	translate: 0 100%;
	transition: translate 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.p-interview-section.is-enter .p-interview-section__cutout picture {
	translate: 0 0;
}

.p-interview-section__cutout img {
	display: block;
	width: 100%;
	height: auto;
}

.p-interview-photos {
	display: flex;
	width: 100%;
}

.p-interview-photos--split {
	gap: 1.4375rem;
}

.p-interview-photos--split .p-interview-photos__item:first-child {
	flex: 0 0 56.3888888889%;
}

.p-interview-photos--split .p-interview-photos__item:last-child {
	flex: 1 1 auto;
}

.p-interview-photos--full .p-interview-photos__item {
	width: 100%;
}

.p-interview-photos__item img {
	display: block;
	width: 100%;
	height: auto;
}

.p-interview-schedule {
	position: relative;
	z-index: 3;
	max-width: 47.9375rem;
	margin-block-start: 2.875rem;
	padding: 3rem 2.5rem 4.5rem;
	background-color: var(--white);
}

.p-interview-schedule__head {
	display: flex;
	align-items: baseline;
	gap: 1.25rem;
}

.p-interview-schedule__en {
	font-family: var(--en-font);
	font-size: 0.9375rem;
	font-weight: var(--fw-bold);
	line-height: 1.2;
	letter-spacing: 0.04em;
	background-image: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.p-interview-schedule__title {
	font-size: 0.9375rem;
	font-weight: var(--fw-bold);
	line-height: 1.2;
}

.p-interview-schedule__lead {
	margin-block-start: 1.25rem;
	font-size: max(0.9375rem, 10px);
	line-height: 1.6;
}

.p-interview-schedule__list {
	--schedule-gap: 1.375rem;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--schedule-gap);
	margin-block-start: 1.875rem;
	padding-inline-start: 2.625rem;
}

.p-interview-schedule__item {
	position: relative;
	display: flex;
	align-items: baseline;
	gap: 0.875rem;
}

.p-interview-schedule__item::before {
	content: "";
	position: absolute;
	top: 0.75rem;
	left: -2.125rem;
	width: 0.5625rem;
	height: 0.5625rem;
	border-radius: 50%;
	background-color: var(--black);
}

.p-interview-schedule__list::before {
	content: "";
	position: absolute;
	top: 0.75rem;
	bottom: -1.5rem;
	left: 0.75rem;
	width: 0.0625rem;
	background-color: var(--black);
}

.p-interview-schedule__time {
	flex-shrink: 0;
	width: 3.875rem;
	font-family: var(--num-font);
	font-size: 1.25rem;
	font-weight: var(--fw-medium);
	line-height: 1.5;
}

.p-interview-schedule__text {
	font-size: max(0.9375rem, 10px);
	line-height: 1.5;
}

.p-interview-section__inner.js-inview .p-interview-section__title {
	opacity: 0;
	translate: 0 0.375rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.p-interview-section__inner.js-inview .p-interview-qa:nth-child(1) {
	opacity: 0;
	translate: 0 0.375rem;
	transition: opacity 0.8s var(--ease-inview) 0.08s, translate 0.8s var(--ease-inview) 0.08s;
}

.p-interview-section__inner.js-inview .p-interview-qa:nth-child(2) {
	opacity: 0;
	translate: 0 0.375rem;
	transition: opacity 0.8s var(--ease-inview) 0.14s, translate 0.8s var(--ease-inview) 0.14s;
}

.p-interview-section__inner.js-inview.is-visible .p-interview-section__title,
.p-interview-section__inner.js-inview.is-visible .p-interview-qa {
	opacity: 1;
	translate: 0 0;
}

.p-interview-schedule.js-inview {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.p-interview-schedule.js-inview .p-interview-schedule__item {
	opacity: 0;
	translate: 0 0.375rem;
}

.p-interview-schedule.js-inview .p-interview-schedule__item:nth-child(1) {
	transition: opacity 0.6s var(--ease-inview) 0.15s, translate 0.6s var(--ease-inview) 0.15s;
}

.p-interview-schedule.js-inview .p-interview-schedule__item:nth-child(2) {
	transition: opacity 0.6s var(--ease-inview) 0.2s, translate 0.6s var(--ease-inview) 0.2s;
}

.p-interview-schedule.js-inview .p-interview-schedule__item:nth-child(3) {
	transition: opacity 0.6s var(--ease-inview) 0.25s, translate 0.6s var(--ease-inview) 0.25s;
}

.p-interview-schedule.js-inview .p-interview-schedule__item:nth-child(4) {
	transition: opacity 0.6s var(--ease-inview) 0.3s, translate 0.6s var(--ease-inview) 0.3s;
}

.p-interview-schedule.js-inview .p-interview-schedule__item:nth-child(5) {
	transition: opacity 0.6s var(--ease-inview) 0.35s, translate 0.6s var(--ease-inview) 0.35s;
}

.p-interview-schedule.js-inview .p-interview-schedule__item:nth-child(6) {
	transition: opacity 0.6s var(--ease-inview) 0.4s, translate 0.6s var(--ease-inview) 0.4s;
}

.p-interview-schedule.js-inview .p-interview-schedule__item:nth-child(7) {
	transition: opacity 0.6s var(--ease-inview) 0.45s, translate 0.6s var(--ease-inview) 0.45s;
}

.p-interview-schedule.js-inview .p-interview-schedule__item:nth-child(8) {
	transition: opacity 0.6s var(--ease-inview) 0.5s, translate 0.6s var(--ease-inview) 0.5s;
}

.p-interview-schedule.js-inview .p-interview-schedule__item:nth-child(9) {
	transition: opacity 0.6s var(--ease-inview) 0.55s, translate 0.6s var(--ease-inview) 0.55s;
}

.p-interview-schedule.js-inview .p-interview-schedule__item:nth-child(10) {
	transition: opacity 0.6s var(--ease-inview) 0.6s, translate 0.6s var(--ease-inview) 0.6s;
}

.p-interview-schedule.js-inview.is-visible,
.p-interview-schedule.js-inview.is-visible .p-interview-schedule__item {
	opacity: 1;
	translate: 0 0;
}

.p-interview-photos.js-inview .p-interview-photos__item:nth-child(1) {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0s, translate 0.8s var(--ease-inview) 0s;
}

.p-interview-photos.js-inview .p-interview-photos__item:nth-child(2) {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 0.8s var(--ease-inview) 0.08s, translate 0.8s var(--ease-inview) 0.08s;
}

.p-interview-photos.js-inview.is-visible .p-interview-photos__item {
	opacity: 1;
	translate: 0 0;
}

.p-recruit-detail__inner {
	padding-block-end: 6.5rem;
}

.p-recruit-card {
	padding: 4rem 5rem 5rem;
	border-radius: 0.625rem;
	background-color: var(--white);
}

.p-recruit-card__title {
	padding-block-end: 1.125rem;
	border-block-end: 0.0625rem solid var(--gray-89);
	font-size: max(1.5rem, 24 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.p-recruit-card__head .c-recruit-meta {
	margin-block-start: 1.5rem;
}

.p-recruit-card__lead {
	margin-block-start: 1.5rem;
	font-size: max(1rem, 16 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.625;
}

.p-recruit-card__photo {
	margin-block-start: 3.5rem;
}

.p-recruit-card__photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0.25rem;
}

.p-recruit-body {
	margin-block-start: 3.5rem;
}

.p-recruit-body > * + * {
	margin-block-start: 1rem;
}

.p-recruit-body h2 {
	display: flex;
	align-items: center;
	gap: max(1rem, 16 * var(--fixed-px));
	font-size: max(1.25rem, 20 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
}

.p-recruit-body h2::before {
	content: "";
	flex-shrink: 0;
	width: max(0.25rem, 4 * var(--fixed-px));
	height: max(1.75rem, 28 * var(--fixed-px));
	background-image: var(--grad02);
}

.p-recruit-body h2:not(:first-child) {
	margin-block-start: 2.5rem;
}

.p-recruit-body p,
.p-recruit-body li {
	font-size: max(1rem, 16 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.625;
}

.p-recruit-body ul {
	padding-inline-start: 1.5rem;
	list-style: disc;
}

.p-recruit-card__actions {
	display: flex;
	gap: 3rem;
	margin-block-start: 3.5rem;
}

.p-recruit-card__actions:has(.p-recruit-card__btn:only-child) {
	justify-content: center;
}

/* 高さは height ではなく padding で作る（.c-btn-fill と同じ方針）。
   PCは 18px/1.4 の行 + 上下19.4px でカンプの64px、SPは既定の55pxに戻す */

.p-recruit-card__btn {
	width: 33.5rem;
	padding-block: max(1.2125rem, 19.4 * var(--fixed-px));
	border-radius: max(2rem, 32 * var(--fixed-px));
}

.p-recruit-card__btn .c-btn-fill__arrow {
	right: max(1.6875rem, 27 * var(--fixed-px));
}

.p-recruit-detail__back {
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	margin-block-start: 2rem;
	font-size: max(0.9375rem, 15 * var(--fixed-px));
	font-weight: var(--fw-medium);
	line-height: 1.4;
	text-decoration: underline;
	color: var(--gray-89);
	transition: opacity 0.3s ease;
}

.p-top-entry {
	position: relative;
	width: 100%;
}

.p-top-entry__marquee {
	position: absolute;
	top: -8rem;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 12.25rem;
	overflow: hidden;
}

.p-top-entry__band {
	position: absolute;
	left: 50%;
	display: flex;
	align-items: center;
	width: 130%;
	height: 4.5070625rem;
	background-color: var(--gray-f7);
	overflow: hidden;
	box-shadow: 0 0 0.5rem 0 var(--shadow-08);
	translate: -50% 0;
}

.p-top-entry__band--01 {
	top: 2.125rem;
	rotate: 2.6deg;
}

.p-top-entry__band--02 {
	top: 7.1875rem;
	rotate: 0.62deg;
}

.p-top-entry__track {
	display: flex;
	width: -moz-max-content;
	width: max-content;
}

.p-top-entry__word {
	flex-shrink: 0;
	padding-inline: 0.5rem;
	background-image: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	font-size: 3.8745625rem;
	font-weight: var(--fw-bold);
	line-height: 1.1;
	letter-spacing: -0.07em;
	color: transparent;
	white-space: nowrap;
	transform: scaleY(0.8333);
}

.p-top-entry__main {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.5rem;
	width: 100%;
	padding-block: 9.25rem 7.5rem;
	background-image: var(--grad);
}

.p-top-entry__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: var(--white);
	text-align: center;
}

.p-top-entry__en {
	font-family: var(--en-font);
	font-size: 7rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -0.04em;
}

.p-top-entry__ja {
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	line-height: 1.6;
	letter-spacing: -0.08em;
}

.p-top-entry__list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
}

.p-top-field {
	position: relative;
	margin-top: 0.75rem;
	background-color: var(--gray-d9);
	isolation: isolate;
}

.p-top-field::before {
	content: "";
	position: sticky;
	top: 0;
	z-index: -1;
	display: block;
	height: 100vh;
	margin-bottom: -100vh;
	background-image: url("../images/common/grain_gray.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	pointer-events: none;
}

.p-top-interview {
	height: calc(150vh * var(--interview-count, 3));
	margin-top: 0.75rem;
}

.p-top-interview__item {
	position: sticky;
	top: 0;
	display: block;
	width: 100%;
	height: 100vh;
	background-color: var(--white);
	cursor: none;
}

.p-top-interview__item + .p-top-interview__item {
	--card-gap: 0.75rem;
	margin-top: 50vh;
	padding-top: var(--card-gap);
}

.p-top-interview__card {
	position: relative;
	height: 100%;
	overflow: hidden;
}

.p-top-interview__photo {
	position: absolute;
	inset: 0;
}

.p-top-interview__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to right, rgba(51, 51, 51, 0) 0%, var(--overlay-33) 100%);
}

.p-top-interview__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom;
	transition: scale 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.p-top-interview__number {
	position: absolute;
	top: 0;
	left: 0.75rem;
	font-family: var(--en-font);
	font-size: 7.75rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -0.06em;
	color: var(--black);
	white-space: nowrap;
	opacity: 0.4;
	mix-blend-mode: overlay;
}

.p-top-interview__info::after,
.p-top-interview__title::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22200%22%20height=%22200%22%3E%3Cfilter%20id=%22g%22%20x=%220%22%20y=%220%22%20width=%22200%22%20height=%22200%22%20filterUnits=%22userSpaceOnUse%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%225010%22%20result=%22colorsrc%22/%3E%3CfeComponentTransfer%20in=%22colorsrc%22%20result=%22colors%22%3E%3CfeFuncR%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncG%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncB%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3C/feComponentTransfer%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%227013%22%20result=%22selsrc%22/%3E%3CfeColorMatrix%20in=%22selsrc%22%20type=%22matrix%22%20values=%221%200%200%200%200%200%201%200%200%200%200%200%201%200%200%200.3333%200.3333%200.3333%200%200%22%20result=%22sel%22/%3E%3CfeComponentTransfer%20in=%22sel%22%20result=%22m%22%3E%3CfeFuncA%20type=%22discrete%22%20tableValues=%221%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%22/%3E%3C/feComponentTransfer%3E%3CfeComposite%20operator=%22in%22%20in=%22colors%22%20in2=%22m%22%20result=%22cl%22/%3E%3CfeComponentTransfer%20in=%22cl%22%3E%3CfeFuncA%20type=%22table%22%20tableValues=%220%200.25%22/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect%20width=%22200%22%20height=%22200%22%20filter=%22url%28%23g%29%22/%3E%3C/svg%3E");
	background-size: 200px 200px;
	opacity: 1;
	pointer-events: none;
	z-index: 1;
}

.p-top-interview__info {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.5rem;
}

.p-top-interview__catch {
	font-size: 3.5rem;
	font-weight: var(--fw-bold);
	line-height: 1.1;
	letter-spacing: -0.12em;
	color: var(--white);
}

.p-top-interview__catch-inner {
	display: inline-block;
	transform: scaleX(1.2);
	transform-origin: left center;
}

.p-top-interview__profile {
	display: flex;
	align-items: flex-end;
	gap: 2rem;
	color: var(--white);
}

.p-top-interview__profile-text {
	display: flex;
	flex-direction: column;
}

.p-top-interview__meta {
	font-size: 1.75rem;
	font-weight: var(--fw-bold);
	line-height: 1.46;
	letter-spacing: -0.09em;
}

.p-top-interview__name {
	font-family: var(--en-font);
	font-size: 3rem;
	font-weight: var(--fw-bold);
	line-height: 1.21;
	letter-spacing: -0.03em;
	white-space: nowrap;
}

.p-top-interview__arrow {
	flex-shrink: 0;
	margin-bottom: 0.25rem;
	width: 2.75rem;
	height: 2.75rem;
	background-image: url(../images/common/arrow_interview01.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transition: translate 0.3s ease;
}

.p-top-interview__title {
	position: absolute;
	inset: 0;
	color: var(--white);
	pointer-events: none;
}

.p-top-interview__rows--sp {
	display: none;
}

.p-top-interview__title-row {
	position: absolute;
	display: block;
	font-size: 7.5rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -0.13em;
	white-space: nowrap;
	transform: scaleX(1.2);
	transform-origin: left center;
}

.p-top-interview__char {
	display: inline-block;
}

.p-top-interview__title-row--vertical {
	width: 1em;
	line-height: 0.91;
	white-space: normal;
}

.p-top-interview__rows--pc .p-top-interview__title-row--01a {
	bottom: 8.625rem;
	left: 0;
}

.p-top-interview__rows--pc .p-top-interview__title-row--01b {
	bottom: 0.75rem;
	left: 0.5625rem;
}

.p-top-interview__rows--pc .p-top-interview__title-row--02a {
	bottom: 1.9125rem;
	left: 0.75rem;
	font-size: 7rem;
	font-size: min(7rem, 14vh);
}

.p-top-interview__rows--pc .p-top-interview__title-row--02b {
	bottom: 1.5rem;
	left: 8.5625rem;
}

.p-top-interview__rows--pc .p-top-interview__title-row--03a {
	bottom: 5.39375rem;
	left: calc(100% - 9.375rem);
	font-size: 7rem;
	font-size: min(7rem, 14.8vh);
	line-height: 0.95;
}

.p-top-interview__rows--pc .p-top-interview__title-row--03b {
	bottom: 1.9375rem;
	left: calc(100% - 17.5rem);
	font-size: 7rem;
	font-size: min(7rem, 14.1vh);
	line-height: 0.9;
}

.p-top-interview__rows--pc .p-top-interview__title-row--03c {
	bottom: 0.25rem;
	left: calc(100% - 11.75rem);
	font-size: 7rem;
}

.p-top-interview__item--01 .p-top-interview__info {
	top: 2rem;
	right: 0;
	width: 26.4rem;
}

.p-top-interview__item--02 .p-top-interview__info {
	right: 2rem;
	bottom: 2rem;
	width: 27.42125rem;
}

.p-top-interview__item--02 .p-top-interview__number {
	right: 0.96875rem;
	left: auto;
}

.p-top-interview__item--02 .p-top-interview__arrow,
.p-top-interview__item--03 .p-top-interview__arrow {
	width: 3.125rem;
	height: 3.1875rem;
	background-image: url(../images/common/arrow_interview02.svg);
}

.p-top-interview__item--03 .p-top-interview__photo {
	height: 104.7619047619%;
}

.p-top-interview__item--03 .p-top-interview__info {
	bottom: 2rem;
	left: 2rem;
	width: 37.5rem;
}

.p-top-interview__photo::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22200%22%20height=%22200%22%3E%3Cfilter%20id=%22g%22%20x=%220%22%20y=%220%22%20width=%22200%22%20height=%22200%22%20filterUnits=%22userSpaceOnUse%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%225010%22%20result=%22colorsrc%22/%3E%3CfeComponentTransfer%20in=%22colorsrc%22%20result=%22colors%22%3E%3CfeFuncR%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncG%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncB%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3C/feComponentTransfer%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%227013%22%20result=%22selsrc%22/%3E%3CfeColorMatrix%20in=%22selsrc%22%20type=%22matrix%22%20values=%221%200%200%200%200%200%201%200%200%200%200%200%201%200%200%200.3333%200.3333%200.3333%200%200%22%20result=%22sel%22/%3E%3CfeComponentTransfer%20in=%22sel%22%20result=%22m%22%3E%3CfeFuncA%20type=%22discrete%22%20tableValues=%221%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%22/%3E%3C/feComponentTransfer%3E%3CfeComposite%20operator=%22in%22%20in=%22colors%22%20in2=%22m%22%20result=%22cl%22/%3E%3CfeComponentTransfer%20in=%22cl%22%3E%3CfeFuncA%20type=%22table%22%20tableValues=%220%200.25%22/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect%20width=%22200%22%20height=%22200%22%20filter=%22url%28%23g%29%22/%3E%3C/svg%3E");
	background-size: 200px 200px;
	opacity: 1;
	pointer-events: none;
}

.p-top-message {
	position: relative;
	width: 100%;
	height: 51rem;
	background-color: var(--black);
	background-image: url("../images/common/grain_black.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	overflow: hidden;
}

.p-top-message::before {
	content: "";
	position: absolute;
	top: 0;
	left: calc(0rem + max(0px, 50% - 720px));
	width: min(90rem, 1440px);
	height: 100%;
	background-image: url(../images/message/message_bg.svg?v=2);
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.p-top-message__photo {
	position: absolute;
}

.p-top-message__photo img {
	width: 100%;
	height: 100%;
	object-position: bottom;
}

.p-top-message__photo--01 {
	top: 5.8125rem;
	left: calc(72.5625rem + max(0px, 50% - 720px));
	width: 17.4375rem;
	height: 9.5625rem;
	transition-delay: 0.3s;
}

.p-top-message__photo--02 {
	top: 17.125rem;
	left: calc(0rem + max(0px, 50% - 720px));
	width: 15.5rem;
	height: 9.5625rem;
	transition-delay: 0.5s;
}

.p-top-message__photo--03 {
	top: 24rem;
	left: calc(64.9375rem + max(0px, 50% - 720px));
	width: 20.0625rem;
	height: 15.125rem;
	transition-delay: 0.7s;
}

.p-top-message__photo--04 {
	top: 37.5rem;
	left: calc(5rem + max(0px, 50% - 720px));
	width: 19.5rem;
	height: 9.5625rem;
	transition-delay: 0.9s;
}

.p-top-message__body {
	position: absolute;
	top: 5rem;
	left: calc(23.25rem + max(0px, 50% - 720px));
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3rem;
	width: 43.5rem;
}

.p-top-message__title::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22200%22%20height=%22200%22%3E%3Cfilter%20id=%22g%22%20x=%220%22%20y=%220%22%20width=%22200%22%20height=%22200%22%20filterUnits=%22userSpaceOnUse%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%225010%22%20result=%22colorsrc%22/%3E%3CfeComponentTransfer%20in=%22colorsrc%22%20result=%22colors%22%3E%3CfeFuncR%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncG%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncB%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3C/feComponentTransfer%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%227013%22%20result=%22selsrc%22/%3E%3CfeColorMatrix%20in=%22selsrc%22%20type=%22matrix%22%20values=%221%200%200%200%200%200%201%200%200%200%200%200%201%200%200%200.3333%200.3333%200.3333%200%200%22%20result=%22sel%22/%3E%3CfeComponentTransfer%20in=%22sel%22%20result=%22m%22%3E%3CfeFuncA%20type=%22discrete%22%20tableValues=%221%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%22/%3E%3C/feComponentTransfer%3E%3CfeComposite%20operator=%22in%22%20in=%22colors%22%20in2=%22m%22%20result=%22cl%22/%3E%3CfeComponentTransfer%20in=%22cl%22%3E%3CfeFuncA%20type=%22table%22%20tableValues=%220%200.25%22/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect%20width=%22200%22%20height=%22200%22%20filter=%22url%28%23g%29%22/%3E%3C/svg%3E");
	background-size: 200px 200px;
	opacity: 1;
	pointer-events: none;
	z-index: 1;
}

.p-top-message__title {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 7.922125rem;
}

.p-top-message__title-inner {
	display: block;
	font-size: 5rem;
	font-weight: var(--fw-bold);
	line-height: 1.6;
	letter-spacing: -0.1em;
	text-align: center;
	white-space: nowrap;
	transform: skewX(-8deg) scaleY(0.99); /* MVの見出しと同じ、左から右へ文字色が拭われる出方。
     background-clip: text で切るので、はみ出す字面のぶんだけ上下に逃がす */
	margin-block: -0.625rem;
	padding-block: 0.625rem;
	background-image: linear-gradient(to right, var(--white) 50%, var(--gray-3c) 50%);
	background-position: 100% 0;
	background-size: 200% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	transition: background-position 0.9s cubic-bezier(0.65, 0, 0.35, 1);
}

.p-top-message__text {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	width: 35.4375rem;
}

.p-top-message__lead {
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	line-height: 1.6;
	letter-spacing: -0.05em;
	color: var(--white);
	text-align: center;
}

.p-top-message__mark {
	margin-inline: 0.5rem 0.375rem;
	padding-inline: 0.1875rem 0.375rem;
	background-image: var(--grad);
	line-height: 1;
}

.p-top-message__title.is-visible .p-top-message__title-inner {
	background-position: 0 0;
}

.p-top-mission {
	position: relative;
	width: 100%;
	height: 37.75rem;
}

.p-top-mission__en {
	position: absolute;
	top: 0;
	right: calc(0.54375rem + max(0px, 50% - 720px));
	font-family: var(--en-font);
	font-size: 7.75rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -0.06em;
	color: var(--white);
	white-space: nowrap;
	opacity: 0.4;
}

.p-top-mission__inner {
	position: absolute;
	top: 6rem;
	left: calc(5rem + max(0px, 50% - 720px));
	display: flex;
	flex-direction: column;
	gap: 3rem;
	width: 85rem;
}

.p-top-mission__title {
	display: flex;
	align-items: center;
	width: 45.9375rem;
	height: 4.75rem;
	background-image: var(--grad);
}

.p-top-mission__title-inner {
	display: block;
	margin-left: 0.375rem;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 1s cubic-bezier(0.65, 0, 0.35, 1);
	font-size: 4rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -0.09em;
	color: var(--white);
	white-space: nowrap;
	transform: scaleX(1.2);
	transform-origin: left center;
}

.p-top-mission__title.is-visible .p-top-mission__title-inner {
	clip-path: inset(0 0 0 0);
}

.p-top-mission__cont {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.p-top-mission__body {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	width: 32.75rem;
}

.p-top-mission__text {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	color: var(--text-33);
}

.p-top-mission__lead {
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	line-height: 1.6;
	letter-spacing: -0.05em;
}

.p-top-mission__desc {
	font-size: 1.25rem;
	font-weight: var(--fw-medium);
	line-height: 1.6;
	letter-spacing: -0.05em;
}

.p-top-mission__images {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.p-top-mission__images img {
	width: 100%;
	height: 100%;
	object-position: bottom;
}

.p-top-mission__image {
	height: 17.625rem;
}

.p-top-mission__image--01 {
	width: 13.75rem;
}

.p-top-mission__image--02 {
	width: 32.25rem;
}

.p-top-mv {
	position: relative;
	width: 100%;
	height: 100vh;
	height: 100svh;
	background-color: var(--white);
	overflow: hidden;
}

.p-top-mv__bg {
	position: absolute;
	inset: 0.75rem;
	container-type: size;
	background-color: var(--gray-f3);
	background-image: url("../images/common/grain_mv.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	overflow: hidden;
	isolation: isolate;
}

.p-top-mv__bg::after {
	--u: max(calc(100cqw / 1416), calc(100cqh / 776));
	--origin-x: calc(50% - 708 * var(--u));
	--origin-y: calc(50% - 388 * var(--u));
	content: "";
	position: absolute;
	inset: 0;
	clip-path: inset(100% 0 0 0);
	background-image: linear-gradient(351deg, var(--mv-blue) -6%, var(--mv-orange) 60%);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1416' height='776' viewBox='0 0 1416 776'%3E%3Cmask id='m'%3E%3Ccircle cx='-982.9' cy='-1455.2' r='3094.5' fill='white'/%3E%3Cellipse cx='236.7' cy='-1690.6' rx='1368.8' ry='2521.4' fill='black'/%3E%3C/mask%3E%3Crect width='1416' height='776' fill='black' mask='url(%23m)'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1416' height='776' viewBox='0 0 1416 776'%3E%3Cmask id='m'%3E%3Ccircle cx='-982.9' cy='-1455.2' r='3094.5' fill='white'/%3E%3Cellipse cx='236.7' cy='-1690.6' rx='1368.8' ry='2521.4' fill='black'/%3E%3C/mask%3E%3Crect width='1416' height='776' fill='black' mask='url(%23m)'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: cover;
	mask-size: cover;
	transition: clip-path 1.1s cubic-bezier(0.34, 1.4, 0.64, 1);
}

.p-top-mv.is-step2 .p-top-mv__bg::after {
	clip-path: inset(0 0 0 0);
}

.p-top-mv__photo {
	position: absolute;
	inset: 0.75rem;
	z-index: 4;
	container-type: size;
}

.p-top-mv__photo-item { /* 横位置の基準はカンプ幅(1416)。人物の左端はここで固定する */
	--uw: calc(100cqw / 1416); /* 大きさは高さ基準。画面が縦に伸びても写真の上に余白ができないようにする。
     カンプは写真と見出しが接する詰まった構図なので、右へ伸ばして逃がし、
     はみ出したぶんは枠でトリミングする（左へ伸ばすと見出しに被る）。
     伸ばしすぎると人物が切れるので幅基準の1.5倍で頭打ちにする */
	--u: min(100cqh / 776, 1.5 * var(--uw));
	position: absolute;
	left: calc(var(--l) * var(--uw));
	bottom: 0;
	width: calc(var(--w) * var(--u));
	height: calc(705 * var(--u));
}

.p-top-mv__photo-item--01 {
	--l: 736;
	--r: 2.01;
	--w: 678;
	--iw: 1238.2;
	--ih: 825.1;
	--ix: -276.4;
	--iy: -60.3;
}

.p-top-mv__photo-item--02 {
	--l: 814;
	--w: 602;
	--iw: 807;
	--ih: 960;
	--ix: -85.8;
	--iy: -43;
	--flip: -1;
}

.p-top-mv__photo-item--03 {
	--l: 746;
	--w: 670;
	--iw: 841.7;
	--ih: 874.3;
	--ix: 0;
	--iy: -32.1;
	--flip: -1;
}

.p-top-mv__photo-clip {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, #000 40%, transparent 60%);
	mask-image: linear-gradient(to right, #000 40%, transparent 60%);
	-webkit-mask-size: 250% 100%;
	mask-size: 250% 100%;
	-webkit-mask-position: 100% 0;
	mask-position: 100% 0;
	transition: -webkit-mask-position 1.2s ease;
	transition: mask-position 1.2s ease;
	transition: mask-position 1.2s ease, -webkit-mask-position 1.2s ease;
}

.p-top-mv__photo-item.is-current .p-top-mv__photo-clip {
	-webkit-mask-position: 0 0;
	mask-position: 0 0;
}

.p-top-mv__photo-clip--overlay {
	mix-blend-mode: overlay;
}

.p-top-mv__photo-clip--ghost {
	translate: calc(var(--ghost-shift, -10) * var(--u)) 0;
	opacity: 0.3;
}

.p-top-mv__photo-img {
	position: absolute;
	top: calc(var(--iy) * var(--u));
	left: calc(var(--ix) * var(--u));
	width: calc(var(--iw) * var(--u));
	max-width: none;
	height: calc(var(--ih) * var(--u));
	scale: var(--flip, 1) 1;
}

.p-top-mv__title {
	position: absolute;
	top: 32.1575%;
	left: calc(1.75rem + max(0px, 50% - 720px));
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 64.929875rem;
	height: 14.1113125rem;
}

.p-top-mv__title-inner {
	display: block;
	font-size: 7.261rem;
	font-weight: var(--fw-bold);
	line-height: 0.95;
	letter-spacing: -0.1em;
	color: var(--black);
	white-space: nowrap;
	transform: skewX(-9.57deg) scale(1.2, 0.99);
	transform-origin: left center;
}

.p-top-mv__title-row {
	display: block;
	margin-block: -0.625rem;
	padding-block: 0.625rem;
	background-image: linear-gradient(to right, var(--black) 50%, var(--gray-d9) 50%);
	background-position: 100% 0;
	background-size: 200% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	transition: background-position 0.9s cubic-bezier(0.65, 0, 0.35, 1);
}

.p-top-mv__title-row + .p-top-mv__title-row {
	padding-left: 1.75rem;
	transition-delay: 0.18s;
}

/* 見出しの黒塗りは、右の曲線グラデーション（.p-top-mv__bg::after）と同じ is-step2 で始める。
   step3 に置くと700ms遅れて出るため、グラデと足並みが揃わない */

.p-top-mv.is-step2 .p-top-mv__title-row {
	background-position: 0 0;
}

.p-top-mv__title-inner .u-comma {
	margin-left: 0.08em;
}

.p-top-mv__title-num {
	font-family: var(--num-font);
	font-size: 8.2983125rem;
	letter-spacing: -0.11em;
}

.p-top-mv__en {
	position: absolute;
	top: calc(32.1575% + 16.25375rem);
	left: calc(4.105625rem + max(0px, 50% - 720px));
	font-family: var(--en-font);
	font-size: 2.0745625rem;
	font-weight: var(--fw-bold);
	letter-spacing: -0.03em;
	background-image: linear-gradient(to right, var(--black) 50%, var(--gray-d9) 50%);
	background-position: 100% 0;
	background-size: 200% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	white-space: nowrap;
	transition: background-position 0.9s cubic-bezier(0.65, 0, 0.35, 1) 0.36s;
}

.p-top-mv.is-step3 .p-top-mv__en {
	background-position: 0 0;
}

.p-top-mv::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22200%22%20height=%22200%22%3E%3Cfilter%20id=%22g%22%20x=%220%22%20y=%220%22%20width=%22200%22%20height=%22200%22%20filterUnits=%22userSpaceOnUse%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%225010%22%20result=%22colorsrc%22/%3E%3CfeComponentTransfer%20in=%22colorsrc%22%20result=%22colors%22%3E%3CfeFuncR%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncG%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3CfeFuncB%20type=%22linear%22%20slope=%222%22%20intercept=%22-0.5%22/%3E%3C/feComponentTransfer%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20stitchTiles=%22stitch%22%20numOctaves=%223%22%20seed=%227013%22%20result=%22selsrc%22/%3E%3CfeColorMatrix%20in=%22selsrc%22%20type=%22matrix%22%20values=%221%200%200%200%200%200%201%200%200%200%200%200%201%200%200%200.3333%200.3333%200.3333%200%200%22%20result=%22sel%22/%3E%3CfeComponentTransfer%20in=%22sel%22%20result=%22m%22%3E%3CfeFuncA%20type=%22discrete%22%20tableValues=%221%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%22/%3E%3C/feComponentTransfer%3E%3CfeComposite%20operator=%22in%22%20in=%22colors%22%20in2=%22m%22%20result=%22cl%22/%3E%3CfeComponentTransfer%20in=%22cl%22%3E%3CfeFuncA%20type=%22table%22%20tableValues=%220%200.25%22/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect%20width=%22200%22%20height=%22200%22%20filter=%22url%28%23g%29%22/%3E%3C/svg%3E");
	background-size: 200px 200px;
	opacity: 1;
	pointer-events: none;
	inset: 0.75rem;
	z-index: 3;
}

.p-top-service {
	position: relative;
	width: 100%;
	height: 54.125rem;
}

.p-top-service__panel {
	position: absolute;
	top: 0;
	right: 0;
	left: calc(5rem + max(0px, 50% - 720px));
	width: auto;
	height: 39.125rem;
	border-radius: 1rem 0 0 1rem;
	background-color: var(--black);
	background-image: url("../images/common/grain_black.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.p-top-service__panel {
	overflow: hidden;
}

.p-top-service__inner {
	position: absolute;
	top: 4rem;
	right: 0;
	left: 4.875rem;
	display: flex;
	flex-direction: column;
	gap: 3.5rem;
	width: auto;
}

.p-top-service__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 74.8125rem;
}

.p-top-service__slider {
	width: calc(100% + 4.875rem);
	margin-left: -4.875rem;
	padding-left: 4.875rem;
	overflow: hidden;
}

.p-top-service__list {
	display: flex;
	width: -moz-max-content;
	width: max-content;
}

.p-top-service__item {
	display: flex;
	align-items: flex-start;
	gap: 1.75rem;
	flex-shrink: 0;
}

.p-top-service__num {
	font-family: var(--en-font);
	font-size: 6rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -0.04em;
	color: transparent;
	-webkit-text-stroke: 1px var(--white);
}

.p-top-service__visual {
	position: relative;
	flex-shrink: 0;
	width: 23.5rem;
	height: 15.625rem;
	border-radius: 0.5rem;
	overflow: hidden;
}

.p-top-service__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-top-service__detail {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
	flex-shrink: 0;
	width: 19.5rem;
}

.p-top-service__thumb {
	width: 12rem;
	height: 6.75rem;
	border-radius: 0.375rem;
	overflow: hidden;
}

.p-top-service__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-top-service__desc {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-top-service__name {
	width: -moz-fit-content;
	width: fit-content;
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -0.05em;
	color: var(--white);
	white-space: nowrap;
}

/* インラインのままだと帯の高さがフォントのアセント＋ディセントで決まり、
   カンプ(30px)より11pxほど高くなる。PCは white-space: nowrap で必ず1行なので
   inline-block にして行の高さ（line-height: 1 → 24px）で帯を作り、
   上下 padding 3px を足してカンプの30pxに合わせる。
   SPは折り返した各行に帯を出す必要があるためインラインのまま */

.p-top-service__name-inner {
	display: inline-block;
	padding: 0.1875rem 0.375rem 0.1875rem 0.125rem;
	background-image: var(--grad);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.p-top-service__text {
	font-size: max(1rem, 10px);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--white);
	text-align: justify;
}

.p-top-service__status {
	display: flex;
	gap: 0.5rem;
}

.p-top-service__status-btn {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 3rem;
	padding: 0;
	border: 0;
	background-color: transparent;
	opacity: 0.5;
	transition: opacity 0.3s ease;
	cursor: pointer;
}

.p-top-service__status-btn.is-current {
	opacity: 1;
}

.p-top-service__status-btn::before {
	content: "";
	width: 100%;
	height: 0.125rem;
	background-color: var(--white);
}

.p-top-service__status-num {
	font-family: var(--en-font);
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	line-height: 1.2;
	letter-spacing: -0.04em;
	color: var(--white);
	text-align: center;
}

.p-top-service__slider.is-static {
	overflow-x: auto;
}

a {
	transition: opacity 0.3s ease;
}

.js-fadeup {
	opacity: 0;
	translate: 0 2.5rem;
	transition: opacity 0.8s ease-out, translate 0.8s ease-out;
}

.js-fadeup.is-visible {
	opacity: 1;
	translate: 0 0;
}

.pc-only {
	display: block;
}

br.pc-only {
	display: inline;
}

picture {
	display: contents;
}

.sp-only {
	display: none;
}

br.sp-only {
	display: none;
}

.u-anchor-flush {
	scroll-margin-block-start: -8.75rem;
}

.u-comma {
	letter-spacing: 0.08em;
}

.u-nowrap {
	display: inline-block;
	white-space: nowrap;
}

.u-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

@media (hover: hover) {

.c-breadcrumb__link:hover {
	opacity: 0.6;
}

.p-interview-other__link:hover .p-interview-other__thumb img {
	scale: 1.05;
}

}

@media (any-hover: hover) {

.c-btn-fill:hover::before {
	opacity: 1;
}

.c-btn:hover .c-btn__arrow::before {
	opacity: 0;
}

.c-btn--white:hover .c-btn__arrow::after {
	background-color: var(--white);
}

.c-entry-bar:hover {
	background-size: 160% 100%;
}

.c-entry-btn:hover {
	box-shadow: none;
}

.c-entry-btn:hover .c-entry-btn__text {
	color: transparent;
}

.c-entry-btn:hover .c-entry-btn__arrow::before {
	opacity: 0;
}

.c-entry-float:hover .c-entry-float__circle {
	background-size: 160% 100%;
}

.c-menu-item:hover .c-menu-item__arrow::before {
	opacity: 0;
}

.c-menu-item:hover .c-menu-item__arrow::after {
	background-color: var(--white);
}

.c-menu-link:hover .c-menu-link__icon::before {
	translate: 15% -15%;
}

.c-menu-link:hover .c-menu-link__icon::after {
	translate: -15% 15%;
}

.c-radio-pill:hover {
	border-color: var(--black);
	color: var(--black);
}

.c-sns__link:hover {
	translate: 0 -0.25rem;
	filter: drop-shadow(0 0.5rem 0.625rem rgba(0, 0, 0, 0.45));
}

.p-entry-filter__reset:hover {
	opacity: 0.6;
}

.p-form__btn:hover::before {
	opacity: 1;
}

.p-form__btn--outline:hover .c-btn-outline,
.p-form__btn--outline:hover::after {
	opacity: 0.6;
}

.p-recruit-detail__back:hover {
	opacity: 0.6;
}

.p-top-interview__item:hover .p-top-interview__photo img {
	scale: 1.05;
}

.p-top-interview__item:hover .p-top-interview__arrow {
	translate: 0.375rem -0.375rem;
}

.p-top-service__status-btn:hover {
	opacity: 1;
}

a:not(.c-btn,
.c-entry-btn,
.c-entry-bar,
.c-entry-float,
.c-menu-item,
.p-top-interview__item,
.c-menu-link,
.c-sns__link,
.p-interview-other__link,
.c-btn-fill,
.p-recruit-detail__back):hover {
	opacity: 0.7;
}

}

@media (any-hover: none) {

.c-cursor {
	display: none;
}

}

@media (prefers-reduced-motion: reduce) {

.c-cursor.is-interview,
.c-cursor.is-entry {
	animation: none;
}

.c-entry-float__ring {
	animation: none;
}

.loader {
	transition: none;
}

.p-about-mission__scale {
	clip-path: none !important;
	transition: none;
}

.p-top-interview__photo img {
	transition: none;
}

.p-top-message__title .p-top-message__title-inner {
	background-position: 0 0;
	transition: none;
}

.p-top-mission__title-inner,
.p-top-mission__title-text {
	clip-path: none !important;
	transition: none;
}

.p-top-mv__bg::after {
	clip-path: none;
}

.p-top-mv__photo-clip {
	-webkit-mask-position: 0 0;
	mask-position: 0 0;
	transition: none;
}

.p-top-mv__title-row,
.p-top-mv__en {
	background-position: 0 0;
}

.p-top-service__slider {
	overflow-x: auto;
}

*,
*::before,
*::after {
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.01ms !important;
	scroll-behavior: auto !important;
}

}

@media (prefers-reduced-motion: no-preference) {

.c-page-head__blob {
	animation: page-head-blob-drift 13s ease-in-out infinite alternate, page-head-blob-breathe 9s ease-in-out infinite alternate, page-head-blob-sway 19s ease-in-out infinite alternate;
}

.p-about-service__ring {
	transform: scale(0);
	transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.p-about-service__core {
	clip-path: circle(0%);
	transition: clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1) 0.1s;
}

.p-about-service__logo,
.p-about-service__of,
.p-about-service__value {
	translate: 0 100%;
	transition: translate 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.75s;
}

.p-about-service__of,
.p-about-service__value {
	transition-delay: 0.9s;
}

.p-about-service__satellite {
	rotate: -30deg;
	transition: rotate 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 0.19s;
}

.p-about-service__satellite-inner {
	scale: 0;
	transition: scale 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 0.19s;
}

.p-about-service__satellite-label {
	opacity: 0;
	translate: 0 40%;
	transition: opacity 0.4s ease 0.67s, translate 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0.67s;
}

.p-about-service__satellite--hr {
	transform-origin: 121.6% 176%;
}

.p-about-service__satellite--ai {
	transform-origin: -74.5% 122.2%;
}

.p-about-service__satellite--dm {
	transform-origin: 171.3% -20.2%;
}

.p-about-service__satellite--web {
	transform-origin: -21.4% -72.2%;
}

.p-about-service__diagram.is-visible .p-about-service__ring {
	transform: scale(1);
}

.p-about-service__diagram.is-visible .p-about-service__core {
	clip-path: circle(50%);
}

.p-about-service__diagram.is-visible .p-about-service__logo,
.p-about-service__diagram.is-visible .p-about-service__of,
.p-about-service__diagram.is-visible .p-about-service__value {
	translate: 0 0;
}

.p-about-service__diagram.is-visible .p-about-service__satellite {
	rotate: 0deg;
}

.p-about-service__diagram.is-visible .p-about-service__satellite-inner {
	scale: 1;
}

.p-about-service__diagram.is-visible .p-about-service__satellite-label {
	opacity: 1;
	translate: 0 0;
}

.p-about-deco {
	will-change: transform;
}

.p-about-deco--panel {
	animation: page-head-blob-drift 15s ease-in-out infinite alternate, page-head-blob-breathe 11s ease-in-out infinite alternate, page-head-blob-sway 23s ease-in-out infinite alternate;
}

.p-about-deco--intro {
	animation: page-head-blob-drift 17s ease-in-out infinite alternate -6s, page-head-blob-breathe 10s ease-in-out infinite alternate -3s, page-head-blob-sway 21s ease-in-out infinite alternate -9s;
}

.p-about-deco--profile {
	animation: page-head-blob-drift 13s ease-in-out infinite alternate -4s, page-head-blob-breathe 9s ease-in-out infinite alternate -5s, page-head-blob-sway 19s ease-in-out infinite alternate -2s;
}

}

@media (min-width: 768px) {

html {
	scroll-padding-top: 8.75rem;
}

.p-entry-filter {
	position: sticky;
	top: calc(var(--header-height) + 2rem);
}

}

@media (max-width: 1440px) {

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

}

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

:root {
	--vw: 375 * 100vw;
	--cqi: 375 / 100cqi;
	--fixed-px: 0px;
}

body {
	font-feature-settings: normal;
}

html {
	font-size: 16px;
}

.l-inner {
	max-width: 500px;
	padding-inline: var(--padding-sp);
}

.l-page {
	padding-block-start: var(--header-height-sp);
}

.l-section {
	padding-block: 3.75rem;
}

.l-section--small {
	padding-block: 2.5rem;
}

.l-section--large {
	padding-block: 5rem;
}

.c-btn-fill {
	padding-inline-end: 1.0625rem;
}

.c-entry-bar {
	flex-direction: column;
	justify-content: center;
	gap: 0;
	height: 8.125rem;
	text-align: center;
}

.c-entry-bar__ja {
	white-space: normal;
}

.c-entry-btn {
	width: 100%;
	height: 3.6rem;
	box-shadow: 0 0 0.4rem 0 var(--shadow-08);
}

.c-entry-btn__text {
	font-size: 1.2rem;
}

.c-entry-btn__arrow {
	right: 0.75rem;
	width: 2.1rem;
	height: 2.1rem;
}

.c-entry-btn__arrow::after {
	width: 0.6rem;
	height: 0.6rem;
}

.c-entry-float {
	right: calc(50% - min(var(--inner-sp), 100%) / 2 + 1rem);
	bottom: 1.0625rem;
	width: 7.125rem;
	height: 7.125rem;
}

.c-menu-item {
	padding: 0 0.25rem 0.6875rem;
}

.c-menu-item__head {
	flex-wrap: wrap;
	gap: 0.25rem 0.5rem;
	min-width: 0;
}

.c-menu-item__en {
	font-size: 1.75rem;
}

.c-menu-item__ja {
	font-size: max(0.875rem, 10px);
}

.c-menu-item__arrow {
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
}

.c-menu-item__arrow::after {
	width: 0.5375rem;
	height: 0.525rem;
}

.c-menu-link {
	gap: 0.75rem;
}

.c-menu-link__icon {
	width: 1.40625rem;
	height: 1.1875rem;
}

.c-menu-link__icon::before {
	width: 0.96875rem;
	height: 0.96875rem;
}

.c-menu-link__icon::after {
	width: 0.75rem;
	height: 0.75rem;
}

.c-page-head__blob {
	top: calc(-1 * var(--header-height-sp) - 2.9403125rem);
	right: -6.7428125rem;
	width: 21.132125rem;
}

.c-page-head__blob--about {
	top: calc(-1 * var(--header-height-sp) - 2.9403125rem);
}

.c-page-head__blob::after {
	-webkit-mask-image: url(../images/common/blob_head-sp.png);
	mask-image: url(../images/common/blob_head-sp.png);
}

.c-page-head__inner {
	padding-block: 2.5rem 4rem;
}

.c-page-head .c-breadcrumb {
	margin-inline-start: 0.09375rem;
}

.c-page-head__title {
	margin-block-start: 4rem;
}

.c-page-head__en {
	width: 100%;
	font-size: 5rem;
	letter-spacing: -0.06em;
}

.p-entry:not(.p-form-page) .c-page-head__en {
	width: 100%;
}

.c-page-head__ja {
	font-size: max(1.125rem, 18 * var(--fixed-px));
	line-height: 1.5;
}

.c-page-head__ja-line + .c-page-head__ja-line::before {
	content: none;
}

.c-page-head__ja-line {
	display: block;
}

.c-page-head--slim .c-page-head__inner {
	padding-block: 2.5rem 3rem;
}

.c-page-section-title__en {
	font-size: 2rem;
	translate: 0 0.0625rem;
}

.c-page-section-title__ja {
	font-size: max(1rem, 10px);
}

.c-radio-pill {
	width: auto;
	flex: 1 1 0;
	justify-content: center;
}

.c-recruit-meta {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
}

.c-section-title--row {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
}

.c-section-title--row .c-section-title__en {
	font-size: 2.5rem;
}

.c-section-title--grad {
	flex-direction: row;
	align-items: center;
	gap: 0.75rem;
}

.c-section-title--grad .c-section-title__ja {
	font-size: max(1rem, 10px);
}

.c-select__field {
	padding: 0 1.5rem 1.025rem 0.3125rem;
	font-size: max(0.875rem, 14 * var(--fixed-px));
}

.c-select__arrow {
	right: 0.5rem;
	bottom: 1.25rem;
}

.drawer__panel {
	left: 0;
	width: 100%;
	padding-block: 6rem 2.5rem;
	padding-inline: max(var(--padding-sp), (100% - var(--inner-sp)) / 2 + var(--padding-sp));
	overflow-y: auto;
}

.drawer__body {
	gap: 2rem;
	width: 100%;
}

.drawer__list {
	gap: 1.25rem;
}

.drawer__foot {
	flex-direction: column;
	align-items: stretch;
	gap: 1.5rem;
	width: 100%;
	margin-top: 1.875rem;
}

.drawer__sns {
	justify-content: center;
}

.drawer__links {
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
}

.drawer__links .c-menu-link {
	gap: 0.75rem;
}

.footer {
	background-image: url("../images/common/grain_black-sp.jpg");
}

.footer__inner {
	flex-direction: column;
	gap: 3rem;
	padding-block: 5rem 5.125rem;
}

.footer {
	margin-top: -1.6875rem;
}

.footer__info {
	width: 100%;
}

.footer__nav {
	gap: 2rem;
	width: 100%;
	padding-top: 0;
}

.footer__list {
	gap: 1.25rem;
}

.footer__bar {
	padding-block: 1.875rem;
}

.footer__bar-inner {
	flex-direction: column-reverse;
	justify-content: center;
	gap: 1rem;
}

.footer__links {
	gap: 0.75rem;
	width: 100%;
}

.c-menu-link + .footer__links-line {
	margin-left: 0;
}

.footer__links .c-menu-link {
	gap: 0.75rem;
}

.footer__links .c-menu-link__text {
	width: auto;
}

.footer__links-line {
	height: 2rem;
	background-color: var(--gray-d9);
}

.footer__links-line:first-child {
	display: none;
}

.header {
	top: 1.5rem;
	right: 0;
	left: 0;
	height: 2rem;
	padding-inline: var(--padding-sp);
}

.header__logo-link {
	gap: 0.5625rem;
}

.header__logo-img {
	width: 6.375rem;
}

.header__logo-text {
	font-size: max(0.625rem, 10px);
}

.header__toggle {
	--toggle-height: 1.6875rem;
	--toggle-bar: 0.1875rem;
	width: 3rem;
}

body:has(.l-page) .header::after {
	top: 3.125rem;
	right: 0;
	left: 0;
	height: 0.0625rem;
}

.loader__inner {
	width: 7.5rem;
}

.p-about-mission {
	padding-block-start: 1rem;
}

.p-about-mission__watermark {
	position: static;
	z-index: auto;
	direction: rtl;
	margin-block-start: 0.875rem;
	margin-right: calc(-1 * (var(--padding-sp) + 0.5rem));
	font-size: min(4rem, (100vw - 1.25rem) / 5.922);
}

.p-about-mission__title {
	gap: 0.3125rem;
}

.p-about-mission__band {
	height: 2.5625rem;
}

.p-about-mission__scale {
	font-size: 2rem;
	translate: 0 -0.09375rem;
}

.p-about-mission__band--a {
	width: 14.5rem;
}

.p-about-mission__band--b {
	display: none;
}

.p-about-mission__band--c,
.p-about-mission__band--d {
	display: flex;
}

.p-about-mission__band--c {
	width: 15.6875rem;
}

.p-about-mission__band--d {
	width: 14.5rem;
}

.p-about-mission__lead {
	gap: 0.75rem;
	margin-block-start: 2rem;
	font-size: max(1.125rem, 10px);
	line-height: 1.6;
}

.p-about-mission__photos {
	position: static;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	width: auto;
	margin-block-start: 1rem;
}

.p-about-mission__photo--02 {
	position: static;
	width: auto;
}

.p-about-vision {
	margin-block-start: 6rem;
	padding-block-start: 5rem;
}

.p-about-vision__inner {
	flex-direction: column;
	align-items: flex-start;
	gap: 2rem;
}

.p-about-vision__head {
	width: 100%;
}

.p-about-vision__title {
	font-size: 1.75rem;
}

.p-about-vision__lead {
	width: 100%;
	font-size: max(1.0625rem, 17 * var(--fixed-px));
	line-height: 1.6;
}

.p-about-vision__photo {
	margin-block-start: 4.875rem;
	border-radius: 0.5rem 0.5rem 0 0;
	overflow: hidden;
}

.p-about-service {
	scroll-margin-block-start: var(--header-height-sp);
}

.p-about-service__intro {
	flex-direction: column;
	align-items: flex-start;
	gap: 2.9375rem;
	padding-block-start: 7.125rem;
}

.p-about-service__text {
	width: 100%;
}

.p-about-service__head {
	gap: 0.8125rem;
}

.p-about-service__title {
	font-size: 1.75rem;
}

.p-about-service__lead {
	font-size: max(1.0625rem, 17 * var(--fixed-px));
	line-height: 1.6;
}

.p-about-service__diagram {
	--dg: 19.9375rem;
	align-self: center;
}

.p-about-service__panel {
	margin-block-start: 4rem;
	padding-block: 4rem 4.9375rem;
}

.p-about-card {
	flex-direction: column;
	align-items: flex-start;
	gap: 1.5rem;
	padding: 2.5rem 1rem;
}

.p-about-card__photo {
	width: 100%;
}

.p-about-card__body {
	gap: 1rem;
	width: 100%;
}

.p-about-card__title {
	font-size: 1.5rem;
}

.p-about-card__text {
	font-size: max(0.9375rem, 15 * var(--fixed-px));
}

.p-about-introduction {
	padding-block-start: 5rem;
}

.p-about-introduction__embed {
	width: 100%;
}

.p-about-profile {
	padding-block: 4.875rem 7rem;
}

.p-about-profile__card {
	width: 100%;
	padding: 5rem 1.5625rem;
}

.p-about-profile__table {
	gap: 1.25rem;
	font-size: max(0.9375rem, 15 * var(--fixed-px));
}

.p-about-profile__row {
	grid-template-columns: 1fr;
	row-gap: 0.5625rem;
}

.p-about-profile__row {
	padding-block-end: 1.25rem;
}

.p-about-deco--panel {
	top: 163.79375rem;
	left: 5.744375rem;
	width: 26.999rem;
}

.p-about-deco--intro {
	display: none;
}

.p-about-deco--profile {
	display: none;
}

.p-entry-list__inner {
	padding-block-end: 7rem;
}

.p-entry-list__body {
	grid-template-columns: 1fr;
	gap: 4rem;
	margin-block-start: 2rem;
}

.p-entry-filter {
	position: static;
}

.p-entry-filter__types {
	flex-direction: row;
	gap: 0.5rem;
}

.p-entry-filter__type {
	flex: 1 1 0;
	min-width: 0;
}

.p-entry-filter__selects {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem 1.125rem;
	margin-block-start: 1.5rem;
}

.p-entry-filter__label {
	margin-block-end: 0.75rem;
	font-size: max(1rem, 16 * var(--fixed-px));
}

.p-entry-filter__reset {
	grid-column: 1/-1;
}

.p-entry-card {
	padding: 2.5rem 1.5rem 3rem;
}

.p-entry-card__text {
	line-height: 1.6;
}

.p-entry-card__link {
	margin-block-start: 1.5rem;
}

.p-entry-card__link .c-btn-fill__arrow {
	right: 1.5rem;
}

.p-form-page .c-page-head__inner {
	padding-block-end: 3rem;
}

.p-form__inner {
	padding-block-end: 6.5rem;
}

.p-form__card {
	padding: 3rem 0.875rem 5rem;
}

.p-form__row {
	display: block;
	padding: 1.5rem 0.75rem;
}

.p-form__row--first {
	padding-block: 0 1.5rem;
}

.p-form__label {
	margin-block-end: 0.75rem;
}

.p-form__label-br {
	display: none;
}

.p-form__row--radio .p-form__label {
	margin-block-end: 1rem;
}

.c-input,
.c-textarea {
	width: 100%;
}

.c-textarea {
	width: 100%;
	height: 12.5rem;
	padding: 0.375rem 0.5rem;
}

.wpcf7-radio {
	row-gap: 0.25rem;
}

.p-form__row--checkbox .wpcf7-checkbox {
	flex-direction: column;
	gap: 0.5rem;
}

.p-form__row--last {
	padding-block-end: 0;
}

.p-form__row--last::after {
	content: none;
}

.wpcf7-list-item label {
	font-size: max(0.875rem, 14 * var(--fixed-px));
}

.wpcf7-radio .wpcf7-list-item label {
	font-size: max(1rem, 16 * var(--fixed-px));
}

.p-form__file {
	gap: 0.625rem;
}

.wpcf7-file {
	width: 8.1875rem;
}

.p-form__consent {
	display: grid;
	grid-template-columns: minmax(0, max-content);
	justify-content: center;
	row-gap: 0.1875rem;
	margin-block-start: 1.9375rem;
}

.p-form__consent .p-form__req {
	padding-inline-start: 2.375rem;
	text-align: start;
}

.p-form__actions {
	margin-block-start: 3.5rem;
}

.p-form__actions .p-form__btn {
	width: 16.875rem;
}

.p-form__card--message {
	padding-block: 3.5rem;
}

.p-form__thanks-text {
	font-size: max(1rem, 16 * var(--fixed-px));
	text-align: start;
}

.p-form__thanks-btn {
	width: 100%;
	margin-block-start: 2rem;
}

.p-interview-mv {
	height: 27.1875rem;
}

.p-interview-mv__bg {
	background-image: url("../images/interview/detail/mv_bg-sp.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.p-interview-mv--cutout .p-interview-mv__bg::before {
	display: none;
}

.p-interview-mv__photo {
	top: var(--mv-sp-top, 0);
	right: 0;
	left: 0;
	width: var(--mv-sp-width, 100%);
	margin-inline: auto;
	-webkit-mask-image: none;
	mask-image: none;
}

.p-interview-mv__photo--cutout {
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	height: auto;
	margin-inline: auto;
}

.p-interview-mv__inner {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-block: 0 1.4375rem;
}

.p-interview-mv__body {
	margin-block-start: 0;
}

.p-interview-mv__title {
	gap: 0.125rem;
	font-size: 2rem;
	line-height: 1.06;
}

.p-interview-mv__title-row {
	padding: 0 0.3125rem 0.1875rem;
}

.p-interview-mv__name {
	margin-block-start: 0.5625rem;
	margin-inline-start: 0.625rem;
	font-size: 1rem;
	color: var(--white);
}

.p-interview-mv__meta {
	margin-block-start: 0;
	margin-inline-start: 0.625rem;
	font-size: max(0.875rem, 10px);
	line-height: 1.6;
	color: var(--white);
}

.p-interview-mv--no-photo .p-interview-mv__name,
.p-interview-mv--no-photo .p-interview-mv__meta {
	color: var(--black);
}

.p-interview-mv .c-breadcrumb {
	margin-inline-start: 0;
	display: none;
}

.p-interview-other {
	padding-block: 4.5rem 6.625rem;
}

.p-interview-other__panel {
	width: 100%;
	max-width: calc(min(500px, 100%) - var(--padding-sp) * 2);
}

.p-interview-other__inner {
	padding: 2.0625rem 1.25rem 1.875rem;
}

.p-interview-other__title {
	font-size: 1.75rem;
}

.p-interview-other__list {
	grid-template-columns: 1fr;
	gap: 1.375rem;
	margin-block-start: 1.5625rem;
}

.p-interview-other__catch {
	bottom: 0.75rem;
	left: 0.75rem;
	font-size: 1.125rem;
}

.p-interview-other__catch-row {
	padding-block-end: 0.1875rem;
}

.p-interview-other__profile {
	flex-direction: column;
	gap: 0.25rem;
	margin-block-start: 0.5rem;
}

.p-interview-section__inner {
	--inner-pb: 2.5rem;
	padding-block: 4rem var(--inner-pb);
}

.p-interview-section__title {
	font-size: 1.5rem;
	line-height: 1.44;
}

.p-interview-section__body {
	gap: 1.625rem;
	max-width: none;
	margin-block-start: 1.625rem;
}

.p-interview-qa__answer {
	margin-block-start: 0.4375rem;
}

.p-interview-section__cutout {
	position: static;
	width: var(--cutout-width-sp, calc(var(--cutout-width-pc, 14.6875rem) * 0.5));
	margin-block: 0.3125rem calc(var(--inner-pb) * -1);
	margin-inline: auto var(--cutout-right-sp, calc(var(--cutout-right-pc, 0rem) * 0.25));
}

.p-interview-section__cutout picture {
	position: static;
	translate: 0 0;
	transition: none;
}

.p-interview-photos--split {
	flex-direction: column;
	gap: 0.4375rem;
}

.p-interview-photos--split .p-interview-photos__item:first-child {
	flex: initial;
}

.p-interview-schedule {
	max-width: none;
	margin-block-start: 2.5rem;
	padding: 1.75rem 1.25rem;
}

.p-interview-schedule__head {
	gap: 0.875rem;
}

.p-interview-schedule__en {
	font-size: 0.9375rem;
}

.p-interview-schedule__title {
	font-size: 0.9375rem;
}

.p-interview-schedule__lead {
	margin-block-start: 0.875rem;
}

.p-interview-schedule__list {
	--schedule-gap: 1.125rem;
	margin-block-start: 1.5rem;
	padding-inline-start: 1.375rem;
}

.p-interview-schedule__item {
	flex-direction: column;
	gap: 0.25rem;
}

.p-interview-schedule__item::before {
	top: 0.375rem;
	left: -1.375rem;
}

.p-interview-schedule__list::before {
	top: 0.375rem;
	bottom: -1rem;
	left: 0.25rem;
}

.p-interview-schedule__time {
	font-size: max(1rem, 10px);
}

.p-interview-schedule__text {
	line-height: 1.6;
}

.p-interview-section__cutout.js-inview {
	overflow: hidden;
}

.p-interview-section__cutout.js-inview img {
	translate: 0 100%;
	transition: translate 0.9s var(--ease-inview) 0.05s;
}

.p-interview-section__cutout.js-inview.is-visible img {
	translate: 0 0;
}

.p-recruit-card {
	padding: 2.5rem 1.5rem 3rem;
}

.p-recruit-card__photo {
	margin-block-start: 1.5rem;
}

.p-recruit-body {
	margin-block-start: 3rem;
}

.p-recruit-card__actions {
	flex-direction: column;
	gap: 1rem;
}

.p-recruit-card__btn {
	width: 100%;
	padding-block: 0.93125rem;
}

.p-recruit-card__btn .c-btn-fill__arrow {
	right: 1.5rem;
}

.p-top-entry__marquee {
	top: -4.75rem;
	height: 7.5rem;
}

.p-top-entry__band {
	width: 200%;
	height: 2.895rem;
	box-shadow: 0 0 0.3214375rem 0 var(--shadow-08);
}

.p-top-entry__band--01 {
	top: 1.34375rem;
}

.p-top-entry__band--02 {
	top: 4.61875rem;
}

.p-top-entry__word {
	padding-inline: 0;
	font-size: 2.5125rem;
}

.p-top-entry__main {
	gap: 2rem;
	padding-block: 6.125rem 6.6875rem;
}

.p-top-entry__en {
	font-size: 5rem;
}

.p-top-entry__ja {
	font-size: 1.25rem;
}

.p-top-entry__list {
	flex-direction: column;
	gap: 1rem;
	width: 85.3333333333%;
	max-width: min(0.8533333333 * var(--inner-sp), 100% - var(--padding-sp) * 2);
}

.p-top-entry__item {
	width: 100%;
}

.p-top-field {
	margin-top: 0.5rem;
}

.p-top-interview {
	margin-top: 0.5rem;
}

.p-top-interview__item {
	font-feature-settings: "palt" 1;
}

.p-top-interview__item + .p-top-interview__item {
	--card-gap: 0.5rem;
}

.p-top-interview__photo::after {
	background-image: linear-gradient(to bottom, rgba(51, 51, 51, 0) 0%, var(--overlay-33) 100%);
}

.p-top-interview__number {
	top: 78.125%;
	left: 0;
	font-size: 4.5rem;
	rotate: -90deg;
	transform-origin: left top;
}

.p-top-interview__info {
	gap: 0.5rem;
}

.p-top-interview__catch {
	font-size: 2rem;
}

.p-top-interview__profile {
	gap: 1rem;
}

.p-top-interview__meta {
	font-size: 1.125rem;
}

.p-top-interview__name {
	font-size: 2rem;
	line-height: 0.9;
}

.p-top-interview__arrow {
	width: 1.875rem;
	height: 1.875rem;
}

.p-top-interview__rows--pc {
	display: none;
}

.p-top-interview__rows--sp {
	display: block;
}

.p-top-interview__rows--sp .p-top-interview__title-row {
	font-size: 3.875rem;
	letter-spacing: -0.128em;
}

.p-top-interview__rows--sp .p-top-interview__title-row--vertical {
	line-height: 0.93;
}

.p-top-interview__rows--sp .p-top-interview__title-row--01a {
	top: 0.0921875%;
	right: 0;
	left: auto;
	transform-origin: right center;
}

.p-top-interview__rows--sp .p-top-interview__title-row--vertical .p-top-interview__char--period {
	position: relative;
	top: -0.6em;
	left: 0.62em;
}

.p-top-interview__rows--sp .p-top-interview__title-row--01b {
	top: 3.75rem;
	right: -0.1rem;
	left: auto;
	font-size: 4rem;
	font-size: min(4rem, 10.7vh);
	transform-origin: right center;
}

.p-top-interview__rows--sp .p-top-interview__title-row--02a {
	top: 0.9375%;
	left: 0.0625rem;
	font-size: 4.375rem;
	font-size: min(4.375rem, 9.8vh);
	line-height: 0.91;
}

.p-top-interview__rows--sp .p-top-interview__title-row--03a {
	top: 1.09375%;
	right: 5.9375rem;
	left: auto;
	font-size: 4.25rem;
	transform-origin: right center;
}

.p-top-interview__rows--sp .p-top-interview__title-row--03b {
	top: 1.09375%;
	right: 0.3125rem;
	left: auto;
	font-size: 4.25rem;
	font-size: min(4.25rem, 10.7vh);
	line-height: 0.92;
	transform-origin: right center;
}

.p-top-interview__item--03 .p-top-interview__photo {
	height: 100%;
}

.p-top-interview__item--01 .p-top-interview__info {
	top: 71.71875%;
	right: auto;
	bottom: auto;
	left: 0.6875rem;
	width: auto;
}

.p-top-interview__item--02 .p-top-interview__info {
	right: 0.5rem;
	bottom: 0.5625rem;
	width: auto;
}

.p-top-interview__item--02 .p-top-interview__number {
	top: 70.625%;
	right: auto;
	left: calc(100% - 4.4375rem);
}

.p-top-interview__item--03 .p-top-interview__info {
	bottom: 0.4375rem;
	left: 0.8125rem;
	width: auto;
}

.p-top-interview__item--03 .p-top-interview__number {
	top: 70.78125%;
	left: -0.3125rem;
}

.p-top-message {
	height: 80.9375rem;
	margin-top: 0.5rem;
	font-feature-settings: "palt" 1;
}

.p-top-message::before {
	width: 100%;
	background-image: url(../images/message/message_bg-sp.svg?v=2);
}

.p-top-message__photo--01 {
	top: 52.9375rem;
	right: max(0px, 50% - var(--inner-sp) / 2);
	left: auto;
	width: 12.4375rem;
	height: 6.8125rem;
}

.p-top-message__photo--02 {
	top: 41.75rem;
	left: max(0px, 50% - var(--inner-sp) / 2);
	width: 15.625rem;
	height: 9.6875rem;
}

.p-top-message__photo--03 {
	top: 64.125rem;
	right: max(0px, 50% - var(--inner-sp) / 2);
	left: auto;
	width: 15.6875rem;
	height: 11.8125rem;
}

.p-top-message__photo--04 {
	top: 57.75rem;
	left: max(0px, 50% - var(--inner-sp) / 2);
	width: 9.875rem;
	height: 4.875rem;
}

.p-top-message__body {
	top: 4rem;
	left: 0;
	gap: 2rem;
	width: 100%;
}

.p-top-message__title {
	height: 4.7656875rem;
}

.p-top-message__title-inner {
	font-size: 3rem;
	letter-spacing: -0.15em;
}

.p-top-message__text {
	width: 18.625rem;
}

.p-top-message__lead {
	font-size: 1.25rem;
}

.p-top-mission {
	height: auto;
	padding-block: 8.5rem 5.3125rem;
}

.p-top-mission__en {
	top: 1rem;
	right: auto;
	left: 8%;
	font-size: 5.75rem;
	line-height: 0.8;
}

.p-top-mission__inner {
	position: static;
	gap: 1.375rem;
	width: min(var(--inner-sp), 100%);
	margin-inline: auto;
	padding-right: 1.6875rem;
	padding-left: 1.75rem;
}

.p-top-mission__title {
	align-items: flex-start;
	width: 18.1875rem;
	height: 6.9375rem;
	background-image: none;
}

.p-top-mission__title-inner {
	margin-left: 0.25rem;
	clip-path: none;
	font-size: 2.5rem;
	line-height: 1.2;
	white-space: normal;
}

.p-top-mission__title-text {
	display: block;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 1s cubic-bezier(0.65, 0, 0.35, 1);
}

.p-top-mission__title.is-visible .p-top-mission__title-text {
	clip-path: inset(0 0 0 0);
}

.p-top-mission__title-line {
	display: table;
	background-image: var(--grad);
}

.p-top-mission__title-line:first-child {
	padding-inline: 0.25rem 0.375rem;
}

.p-top-mission__title-line:last-child {
	padding-inline: 0.25rem 0;
}

.p-top-mission__title-line + .p-top-mission__title-line {
	margin-top: 0.25rem;
}

.p-top-mission__cont {
	flex-direction: column;
	align-items: flex-start;
	gap: 3rem;
}

.p-top-mission__body {
	gap: 2rem;
	width: 100%;
}

.p-top-mission__lead {
	font-feature-settings: normal;
}

.p-top-mission__desc {
	font-size: 1rem;
	font-feature-settings: normal;
}

.p-top-mission__images {
	align-self: stretch;
	gap: 0.57375rem;
	margin-right: -1.6875rem;
}

.p-top-mission__images img {
	object-fit: cover;
}

.p-top-mission__image {
	height: 11.9375rem;
}

.p-top-mission__image--01 {
	flex: 101;
	width: auto;
}

.p-top-mission__image--02 {
	flex: 237;
	width: auto;
}

.p-top-mv {
	min-height: 41.25rem;
}

.p-top-mv__bg {
	inset: 0;
}

.p-top-mv__bg::after {
	--u: max(calc(100cqw / 375), calc(100cqh / 640));
	--origin-x: calc(50% - 187.5 * var(--u));
	--origin-y: calc(50% - 320 * var(--u));
	background-image: linear-gradient(331deg, var(--mv-blue) 28%, var(--mv-orange) 65%);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='375' height='640' viewBox='0 0 375 640'%3E%3Cmask id='m'%3E%3Cellipse cx='-683.9' cy='45.4' rx='1134.6' ry='846.3' fill='white'/%3E%3Cellipse cx='-122.7' cy='-80.5' rx='416.9' ry='630.8' fill='black'/%3E%3C/mask%3E%3Crect width='375' height='640' fill='black' mask='url(%23m)'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='375' height='640' viewBox='0 0 375 640'%3E%3Cmask id='m'%3E%3Cellipse cx='-683.9' cy='45.4' rx='1134.6' ry='846.3' fill='white'/%3E%3Cellipse cx='-122.7' cy='-80.5' rx='416.9' ry='630.8' fill='black'/%3E%3C/mask%3E%3Crect width='375' height='640' fill='black' mask='url(%23m)'/%3E%3C/svg%3E");
}

.p-top-mv__photo {
	inset: 0;
}

.p-top-mv__photo-item {
	--u: calc(448 / 705 * 100cqh / 640);
	left: 50%;
	translate: -50% 0;
}

.p-top-mv__title {
	top: 12.5%;
	left: 50%;
	justify-content: center;
	width: 27.7229375rem;
	height: 6.065375rem;
	translate: calc(-50% + 1.0175rem) 0;
}

.p-top-mv__title-inner {
	font-size: 3.097625rem;
	letter-spacing: -0.15em;
	text-align: center;
	transform-origin: center;
}

.p-top-mv__title-row {
	margin-block: -0.25em;
	padding-block: 0.25em;
}

.p-top-mv__title-row + .p-top-mv__title-row {
	padding-left: 0.75rem;
}

.p-top-mv__title-num {
	font-size: 3.540125rem;
}

.p-top-mv__en {
	top: calc(12.5% + 6.9375rem);
	left: 15.4666666667%;
	font-size: 1.125rem;
}

.p-top-mv::after {
	inset: 0;
}

.p-top-service {
	height: auto;
	background-image: linear-gradient(to bottom, var(--gray-d9) 0 86.1875rem, var(--white) 86.1875rem);
}

.p-top-service__panel {
	background-image: url("../images/common/grain_black-sp.jpg");
}

.p-top-service__panel {
	position: relative;
	left: 0;
	height: auto;
	padding-bottom: 6.4375rem;
	border-radius: 1rem 1rem 0 0;
}

.p-top-service__inner {
	position: static;
	gap: 3.4375rem;
	width: min(var(--inner-sp), 100%);
	margin-inline: auto;
	padding-block: 5rem 0;
	padding-inline: var(--padding-sp);
}

.p-top-service__head {
	display: contents;
}

.p-top-service__slider {
	width: 100%;
	margin-left: 0;
	padding-left: 0;
	overflow: visible;
}

.p-top-service__list {
	flex-direction: column;
	gap: 2.3125rem;
	width: 100%;
}

.p-top-service__item {
	display: grid;
	grid-template-columns: auto 15.5rem;
	justify-content: space-between;
	align-items: start;
	gap: 1.25rem 0;
	width: 100%;
	max-width: 25rem;
	margin-inline: auto;
}

.p-top-service__num {
	grid-column: 1;
	font-size: 3rem;
}

.p-top-service__visual {
	grid-column: 2;
	width: 15.5rem;
	height: 10.3125rem;
}

.p-top-service__detail {
	grid-column: 2;
	gap: 0.5rem;
	width: 15.5rem;
}

.p-top-service__thumb {
	display: none;
}

.p-top-service__desc {
	gap: 0.5rem;
}

.p-top-service__name {
	width: 100%;
	font-size: 1.25rem;
	line-height: 1.95;
	white-space: normal;
}

.p-top-service__name-inner {
	display: inline;
	padding: 0 0.375rem 0 0.125rem;
}

.p-top-service__status {
	display: none;
}

.p-top-service__btn {
	order: 1;
	flex-shrink: 0;
	align-self: flex-end;
}

.pc-only {
	display: none;
}

br.pc-only {
	display: none;
}

.sp-only {
	display: block;
}

br.sp-only {
	display: inline;
}

.u-anchor-flush {
	scroll-margin-block-start: -3.75rem;
}

}

@media (max-width: 767px) {

a[href^="tel:"] {
	pointer-events: auto;
}

}

@media (max-width: 450px) {

.c-menu-item--stack .c-menu-item__ja {
	flex-basis: 100%;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes cursor-spin {

from {
	rotate: 0deg;
}

to {
	rotate: 360deg;
}

}

@keyframes entry-ring-spin {

from {
	rotate: 0deg;
}

to {
	rotate: 360deg;
}

}

@keyframes page-head-blob-drift {

0% {
	translate: -5.375rem -4rem;
}

14% {
	translate: 2.75rem 4.875rem;
}

27% {
	translate: -3.75rem 7.5rem;
}

41% {
	translate: 7rem 1rem;
}

55% {
	translate: -2rem -5.25rem;
}

68% {
	translate: 6rem 6.5rem;
}

82% {
	translate: -4.75rem 1.875rem;
}

100% {
	translate: 3.625rem -3.375rem;
}

}

@keyframes page-head-blob-breathe {

0% {
	scale: 0.84;
}

50% {
	scale: 1.34;
}

100% {
	scale: 1.08;
}

}

@keyframes page-head-blob-sway {

0% {
	rotate: -30deg;
}

100% {
	rotate: 24deg;
}

}

