/*
Theme Name: 児玉設備
Theme URI:
Author: 株式会社I am.
Description: 児玉設備（KODAMA-SETSUBI）コーポレートサイト用オリジナルテーマ。Figmaデザイン（PC 1440px / SP 375px）準拠。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: kodama-setsubi
*/

/* ==========================================================================
   0. 設計メモ
   --------------------------------------------------------------------------
   --u : デザイン上の 1px。
         PC … 画面幅 1440px で 1px、それ未満は比例縮小（1440px超は 1px で固定）
         SP … 画面幅 375px で 1px、比例拡大（上限 1.6px）
   寸法は calc(N * var(--u)) で Figma の数値をそのまま書いている。
   ブレークポイント … 900px（899px以下がSPレイアウト）
   ========================================================================== */

:root {
  --u: min(1px, calc(100vw / 1440));
  --main: #1955AF;
  --base: #EBEBEB;
  --navy: #133260;
  --footer: #1F395C;
  --cta: #1A3FA9;
  --gray: #C2C7CB;
  --line: #D6D6D6;
  --pale: #D2DAEE;
  --peach: #FFDEB8;
  --text: #1E1E1E;
  --sub: #5D5D5D;
  --serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --en: "Marcellus", "Times New Roman", serif;
  --fs: max(13px, calc(15 * var(--u)));
}
body.is-recruit { --main: #F6921D; }

@media (max-width: 899px) {
  :root { --u: min(1.6px, calc(100vw / 375)); --fs: calc(14 * var(--u)); }
}

/* ==========================================================================
   1. Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html.is-drawer-open { overflow: hidden; }
body {
  margin: 0;
  background: var(--base);
  color: var(--text);
  font-family: var(--serif);
  font-size: var(--fs);
  line-height: 0; /* body直下にプラグイン等が挿入するインライン要素で余白が出ないよう 0。実際の行間は下の各ラッパーで指定 */
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
.band, .l-top, .l-main, .cta, .ftr, .drawer { line-height: 1.7; }
html, body { padding: 0 !important; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, address { margin: 0; padding: 0; }
ul, ol { list-style: none; }
address { font-style: normal; }
img { max-width: 100%; height: auto; vertical-align: bottom; }
a { color: inherit; text-decoration: none; transition: opacity .25s; }
a:hover { opacity: .75; }
table { border-collapse: collapse; border-spacing: 0; }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--main); outline-offset: 2px; }
[hidden] { display: none !important; }
[id] { scroll-margin-top: 20px; }
.u-sp { display: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ==========================================================================
   2. 共通パーツ
   ========================================================================== */
.band { position: relative; z-index: 5; height: 6px; background: var(--main); }
.band--after, .band--sp { display: none; }
.band--after.is-show { display: block; }

.l-top { position: relative; margin-top: -6px; }
.l-main { display: block; overflow: hidden; }

/* ボタン */
.btn {
  display: flex; align-items: center; justify-content: center; gap: calc(22 * var(--u));
  width: calc(390 * var(--u)); height: calc(84 * var(--u)); max-width: 100%;
  background: var(--main); color: #fff;
  font: 700 calc(18 * var(--u))/1 var(--sans); letter-spacing: .04em;
}
.btn i { font-style: normal; font-weight: 400; }
.btn--center { margin-inline: auto; }

/* 小ラベル・見出し・本文 */
.c-label { font: 700 calc(12 * var(--u))/1.4 var(--sans); letter-spacing: .15em; color: var(--main); }
.c-title { font: 400 calc(38 * var(--u))/1.4 var(--serif); letter-spacing: .02em; }
.c-text { font-size: var(--fs); line-height: 1.55; }

.c-check li { position: relative; padding-left: 1.6em; font-weight: 700; line-height: 2; }
.c-check li::before { content: "✓"; position: absolute; left: 0; color: var(--main); font-family: var(--sans); }
.c-check--thin li { font-weight: 500; line-height: 2.1; }
.c-check--thin li::before { content: "✓"; color: #D2553F; font-weight: 400; }

/* セクション見出し（背面欧文 + 和文） */
.sec-head { position: relative; padding-top: calc(225 * var(--u)); }
.sec-head__en {
  position: absolute; top: 0; z-index: 0;
  font: 400 calc(300 * var(--u))/1 var(--en); letter-spacing: .03em; white-space: nowrap;
  color: var(--line); pointer-events: none; user-select: none;
}
.sec-head--l .sec-head__en { left: calc(-8 * var(--u)); }
.sec-head--c .sec-head__en { left: 50%; transform: translateX(-50%); }
.sec-head--r .sec-head__en { right: calc(-14 * var(--u)); }
.sec-head--inset .sec-head__en { left: calc(60 * var(--u)); }
.sec-head__ja {
  position: relative; z-index: 1;
  margin-left: var(--tx, 0);
  font: 900 calc(58 * var(--u))/1.3 var(--serif); letter-spacing: .1em; color: var(--text);
}
.sec-head--thin .sec-head__ja { font-weight: 500; font-size: calc(50 * var(--u)); }
.sec-head--lead .sec-head__ja { font-weight: 700; font-size: calc(30 * var(--u)); line-height: 1.45; letter-spacing: .08em; }
.sec-head--two .sec-head__ja { line-height: 1.5; }
.sec-head--dark .sec-head__en { color: rgba(255, 255, 255, .22); }
.sec-head--dark .sec-head__ja { color: #fff; }
.sec-head--onGray .sec-head__en { color: rgba(0, 0, 0, .07); }
.sec-head--onPhoto .sec-head__en { color: rgba(90, 100, 110, .28); }
.sec-head--onPeach .sec-head__en { color: rgba(255, 255, 255, .45); }

.sec-lead { margin-top: calc(26 * var(--u)); text-align: center; font-size: calc(14 * var(--u)); color: var(--sub); }
.sec-lead--dark { color: var(--text); font-size: calc(15 * var(--u)); }

/* ==========================================================================
   3. ヘッダー / ドロワー
   ========================================================================== */
.hdr__nav a { font: 400 max(11px, calc(14 * var(--u)))/1 var(--sans); letter-spacing: 0; color: #5D5D5D; }
.hdr__toggle { display: none; }

.drawer {
  position: fixed; inset: 0; z-index: 20; overflow-y: auto;
  background: var(--base); padding: calc(96 * var(--u)) calc(32 * var(--u)) calc(48 * var(--u));
}
.drawer__list li { border-bottom: 1px solid var(--line); }
.drawer__list a { display: block; padding: calc(15 * var(--u)) calc(4 * var(--u)); font-size: calc(16 * var(--u)); font-weight: 500; }
.drawer__cta { margin-top: calc(28 * var(--u)); display: grid; gap: calc(12 * var(--u)); }
.drawer__cta a {
  display: flex; align-items: center; justify-content: center; gap: calc(10 * var(--u));
  height: calc(56 * var(--u)); border: 1px solid var(--line); border-radius: 5px; font-weight: 700; font-size: calc(17 * var(--u));
}

/* ==========================================================================
   4. FV
   ========================================================================== */
.fv__img, .fv__img img { display: block; }
/* 下層FV：画像下端と帯のあいだに隙間が出ないよう、わずかに拡大して下端をトリミング */
.fv--sub .fv__img { overflow: hidden; }
.fv--sub .fv__img img { transform: scale(1.02); transform-origin: center top; }
.fv__logo img, .fv__logo-pc img { width: 100%; display: block; }
.fv__pill {
  width: fit-content; border-radius: 999px;
  background: var(--main); color: #fff; text-align: center; white-space: nowrap;
  font-family: var(--sans); font-weight: 700;
}
.is-recruit .fv__pill { color: #3C3C3C; }
.fv__title { font-family: var(--serif); font-weight: 400; color: #3C3C3C; letter-spacing: .04em; }
.fv__title em { font-style: normal; color: var(--main); }

.fv-cta a { display: flex; align-items: center; justify-content: center; color: var(--text); }
.fv-cta small, .fv-cta b, .cta__list small, .cta__list b { display: block; text-align: center; font-weight: 700; }

.fv-apply { background: #fff; }
.fv-apply__salary { background: var(--peach); color: var(--main); }
.fv-apply__salary small, .fv-apply__salary b, .fv-apply__salary i { font-weight: 700; font-style: normal; }
.fv-apply__salary span { color: var(--sub); }
.fv-apply__btn { background: var(--main); color: #fff; display: flex; align-items: center; justify-content: center; }
.fv-apply__btn b, .fv-apply__btn small { display: block; }

/* ==========================================================================
   5. フッター前CTA / フッター
   ========================================================================== */
.cta { background: var(--cta); color: #fff; }
.cta__lead { text-align: center; }
.cta__list a {
  display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(255, 255, 255, .7); border-radius: 5px; color: #fff;
}
.cta__list .is-line a { background: var(--line); border-color: var(--line); color: var(--text); }

.ftr { background: var(--footer); color: #fff; }
.ftr__logo { display: block; }
.ftr__logo img { width: 100%; }
.ftr__catch { font-weight: 700; }
.ftr__icons { display: flex; }
.ftr__icons a { display: flex; align-items: center; justify-content: center; border: 1px solid #fff; border-radius: 4px; }
/* LINEアイコンは黒版SVGしか無いため、ここだけ白反転して使用 */
.ftr__icons .is-line img { filter: invert(1); }
.ftr__nav a { font-weight: 700; }
.ftr__copy { font-family: var(--sans); font-weight: 700; color: #8E9AAB; }
.ftr__copy small { font-size: inherit; }

/* ==========================================================================
   6. 各ページ（色・装飾など幅に依存しない指定）
   ========================================================================== */
/* --- TOP --- */
.top-service__img, .top-split__img, .rc-job__img { border-radius: 5px; display: block; }
.top-service__body { display: flex; flex-direction: column; }
.top-banner { position: relative; overflow: hidden; isolation: isolate; }
.top-banner__bg, .top-banner__veil { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.top-banner__bg { z-index: -2; }
.top-banner__veil { z-index: -1; }
.top-banner__half { position: relative; }
.top-banner__half h2 { font-weight: 900; letter-spacing: .1em; line-height: 1.3; }
.top-banner__half--bk h2 { color: #fff; }
.top-faq { background: var(--gray); }
.top-faq__head { position: relative; }
.top-faq__head span { font-family: var(--en); line-height: 1; color: rgba(0, 0, 0, .07); }
.top-faq__head h2 { font-weight: 900; letter-spacing: .1em; white-space: nowrap; }
.top-faq__list li { position: relative; font-weight: 700; }
.top-faq__list li::before, .faq__item dt::before {
  content: "Q"; position: absolute; left: 0; display: block; width: var(--q); height: var(--q); line-height: var(--q); text-align: center; text-indent: 0; letter-spacing: 0;
  border-radius: 50%; background: var(--main); color: #fff; font-family: var(--en); font-weight: 400;
}
.top-faq__list span { font-weight: 400; }
.top-faq__text { text-align: center; color: var(--sub); }
.top-promise { background: var(--navy); color: #fff; text-align: center; }
.top-promise .sec-head { text-align: left; }
.top-promise__catch { font-weight: 400; letter-spacing: .08em; line-height: 1.2; }
.top-split__body h3 { font-weight: 700; letter-spacing: .1em; line-height: 1.8; }
.top-partner { background: var(--gray); }

/* --- SERVICE --- */
.svc--white { background: #fff; }
.svc__gallery img { width: 100%; border-radius: 5px; display: block; }
.svc__lead { width: fit-content; background: var(--pale); color: #374778; line-height: 1.45; }
.svc__menu-title { font-weight: 400; }
.svc__menu { background: var(--pale); }
.svc__menu li::before { content: "・"; }
.work { background: var(--navy); }
.work__sub { text-align: center; color: #fff; }
.work__list li { background: #fff; border-radius: 5px; }
.work__tags { display: flex; flex-wrap: wrap; gap: .5em; }
.work__tags span { border-radius: 3px; font-weight: 700; background: #DAE5FF; color: var(--main); }
.work__tags span:first-child { background: var(--main); color: #fff; }
.work__list h3 { font-weight: 700; }
.work__list li > p:last-child { color: var(--sub); }

/* --- PRICE --- */
.price__card { background: #fff; }
.price__intro { text-align: center; font-family: var(--sans); color: var(--sub); }
.price__cat { font-weight: 700; }
.price-table { width: 100%; table-layout: fixed; }
.price-table th { background: var(--main); color: #fff; font-family: var(--sans); font-weight: 400; }
.price-table td { border: 2px solid var(--base); }
.price-table .is-price { text-align: right; font-weight: 700; }
.price-table .is-time { text-align: center; }
.price-table th:nth-child(1) { width: 57.7%; }
.price-table th:nth-child(2) { width: 23.2%; }
.price-table--4 th:nth-child(1) { width: 40%; }
.price-table--4 th:nth-child(2) { width: 23.4%; }
.price-table--4 th:nth-child(3) { width: 20%; }

/* --- AREA --- */
.area__map { border-radius: 4px; display: block; }
.area__cards li { background: #fff; }
.area__cards h3 { font-weight: 700; display: flex; align-items: center; flex-wrap: wrap; }
.area__cards h3::before { content: "◐"; margin-right: .3em; font-family: var(--sans); }
.area__cards h3 span { border-radius: 999px; background: var(--peach); color: var(--main); font-family: var(--sans); font-weight: 500; }
.area__en { letter-spacing: .12em; color: var(--sub); }
.area__cities { color: var(--sub); line-height: 1.8; }
.area__note { background: var(--gray); border-radius: 6px; text-align: center; color: var(--sub); }
.area--recruit .area__note { background: var(--main); color: #fff; font-weight: 700; }

/* --- COMPANY --- */
.co-message { position: relative; isolation: isolate; overflow: hidden; }
.co-message__bg { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; }
.co-message__body h3 { font-weight: 700; line-height: 1.6; }
.co-message__body p { color: var(--text); font-weight: 700; }
.co-message__sign { font-weight: 700; color: var(--text) !important; }
.co-about { background: var(--gray); }
.co-table { background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .12); }
.co-table tr + tr { border-top: 1px solid var(--base); }
.co-table th { background: #F5F5F5; text-align: left; font-weight: 700; white-space: nowrap; }
.co-about__permit { display: block; }

/* --- BLOG --- */
.post-card { display: block; height: 100%; background: #fff; overflow: hidden; }
.post-card__thumb { aspect-ratio: 413 / 260; background: #B5C1D7; }
.post-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card__cat { display: inline-block; border-radius: 3px; background: var(--main); color: #fff; font-family: var(--sans); font-weight: 700; line-height: 1.6; }
.post-card h3 { font-weight: 700; }
.post-card time, .entry__head time { color: var(--sub); }
.blog__empty { text-align: center; }
.pager .nav-links { display: flex; justify-content: center; flex-wrap: wrap; }
.pager .page-numbers { display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--sub); font-family: var(--sans); }
.pager .page-numbers.current { background: var(--main); color: #fff; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* 記事詳細・汎用ページ */
.entry__head h1 { font-weight: 700; line-height: 1.5; }
.entry__thumb img { width: 100%; border-radius: 5px; }
.entry__content { line-height: 2; }
.entry__content > * + * { margin-top: 1.6em; }
.entry__content h2 { padding: .5em .8em; background: var(--pale); font-weight: 700; line-height: 1.5; }
.entry__content h3 { padding-bottom: .4em; border-bottom: 2px solid var(--main); font-weight: 700; }
.entry__content a { color: var(--main); text-decoration: underline; }
.entry__content ul { list-style: disc; padding-left: 1.4em; }
.entry__content ol { list-style: decimal; padding-left: 1.4em; }
.entry__content img { border-radius: 5px; }
.entry__nav { display: flex; justify-content: space-between; gap: 1em; border-top: 1px solid var(--line); }
.entry--center { text-align: center; }

/* --- FAQ --- */
.faq__item { border-top: 1px solid #C8CCDD; }
.faq__item:last-child { border-bottom: 1px solid #C8CCDD; }
.faq__item dt { position: relative; font-weight: 700; }
.faq__item dd { color: var(--sub); }
.faq__note { text-align: center; color: var(--sub); }

/* --- CONTACT / フォーム --- */
.contact__ways a { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; border-radius: 8px; }
.contact__ways small { letter-spacing: .1em; }
.contact__ways b { font-weight: 500; }
.contact__ways .is-tel a { background: var(--pale); color: #1955AF; }
.contact__ways .is-line a { background: #D2EED5; }
.contact__ways .is-line b { color: #1DB954; }
.contact__ways .is-mail a { background: #D2D2D2; color: #3C3C3C; }
.contact__ways small { color: #3C3C3C; }
.contact__guide { font-family: var(--sans); line-height: 1.5; }

.f-label { display: flex; align-items: center; font-family: var(--sans); font-weight: 700; }
.f-tag { border-radius: 3px; background: var(--pale); color: #374778; font-weight: 500; line-height: 1.6; }
.f-tag--req { background: var(--main); color: #fff; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7 input[type="text"], .wpcf7 input[type="tel"], .wpcf7 input[type="email"], .wpcf7 textarea {
  display: block; width: 100%; border: 1px solid transparent; border-radius: 4px;
  background: #FBFCFE; color: var(--text); font-family: var(--sans); appearance: none;
}
.wpcf7 textarea { resize: vertical; line-height: 1.6; }
.wpcf7 ::placeholder { color: #A9B0BC; }
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: none; border-color: var(--main); }
.wpcf7-not-valid-tip { margin-top: 4px; font-family: var(--sans); font-size: 12px; color: #C8102E; }
.wpcf7 form .wpcf7-response-output { margin: 20px 0 0; padding: 12px 16px; font-family: var(--sans); font-size: 13px; }
.f-policy { font-family: var(--sans); font-weight: 500; line-height: 1.7; }
.f-policy a { text-decoration: underline; text-underline-offset: 3px; }
.f-submit { text-align: center; }
.wpcf7 input[type="submit"] {
  display: block; margin-inline: auto; border: 0; border-radius: 0; cursor: pointer;
  background: var(--main); color: #fff; font-family: var(--sans); font-weight: 700; letter-spacing: .04em;
  appearance: none; transition: opacity .25s;
}
.wpcf7 input[type="submit"]:hover { opacity: .75; }
.wpcf7-spinner { display: block; margin: 8px auto 0; }

/* エントリーフォーム（採用） */
.rc-entry__card { background: #fff; }
.rc-entry__card .f-label { font-family: var(--serif); }
.rc-entry__card .f-tag { border-radius: 999px; }
.rc-entry__card input[type="text"], .rc-entry__card input[type="tel"], .rc-entry__card input[type="email"], .rc-entry__card textarea { background: #F5F5F5; border-color: #E3E3E3; }

/* --- PRIVACY POLICY --- */
.policy__box { background: var(--line); box-shadow: 0 4px 14px rgba(0, 0, 0, .08); }
.policy h2 { font-weight: 700; }
.policy__body p { color: #3C3C3C; }
.policy p { line-height: 2; }
.policy a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* --- COWORK --- */
.cw-hero__photos img { border-radius: 5px; display: block; }
.cw-feat { background: #fff; }
.cw-feat__list li { background: var(--base); border-radius: 5px; overflow: hidden; }
.cw-feat__list img { width: 100%; display: block; }
.cw-feat__body h3 { display: flex; align-items: center; font-weight: 700; }
.cw-feat__body h3 span { display: grid; place-items: center; flex: none; background: #fff; border-radius: 4px; color: var(--main); font-weight: 400; }
.cw-feat__body p { color: #3C3C3C; }

/* --- RECRUIT --- */
.rc-line { border-top: 4px solid var(--main); }
.rc-job__note { background: var(--main); color: #fff; font-weight: 700; line-height: 1.5; }
.rc-banner { display: block; width: 100%; }
.rc-qa, .rc-voice, .rc-spec { background: #fff; }
.rc-qa__list > div { background: var(--peach); box-shadow: 0 2px 6px rgba(0, 0, 0, .12); }
.rc-qa__list dt { color: var(--main); font-weight: 700; }
.rc-qa__list dd { color: var(--sub); line-height: 1.6; }
.rc-day__list li { box-shadow: 0 2px 8px rgba(0, 0, 0, .14); background: #FFFDF9; }
.rc-day__list li:nth-child(2) { background: #FFF5EA; }
.rc-day__list li:nth-child(3) { background: #FFEFDD; }
.rc-day__list li:nth-child(4) { background: #FFEAD2; }
.rc-day__list li:nth-child(5) { background: #FFE5C7; }
.rc-day__list li:nth-child(6) { background: #FFE1BF; }
.rc-day__list li:nth-child(7) { background: var(--peach); }
.rc-day__list time { display: block; color: var(--main); font-weight: 700; line-height: 1.3; }
.rc-day__list b, .rc-day__list span { display: block; }
.rc-day__list span { color: var(--sub); line-height: 1.5; }
.rc-day__photos img { display: block; }
.rc-salary { background: #9E6901; }
.rc-salary__list li { background: #FFFBE7; }
.rc-salary__list li:nth-child(2) { background: #FEF7C9; }
.rc-salary__list li:nth-child(3) { background: #FFEEA8; }
.rc-salary__list h3 { font-weight: 500; }
.rc-salary__day, .rc-salary__cond { font-weight: 700; }
.rc-salary__month { text-align: center; color: var(--main); font-family: var(--sans); font-weight: 700; }
.rc-salary__cond { text-align: right; }
.rc-salary__note { color: #fff; font-weight: 700; }
.rc-fits { position: relative; isolation: isolate; overflow: hidden; }
.rc-fits__bg { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; }
.rc-fits__cols h3 { font-weight: 700; }
.rc-fits__note { background: var(--peach); border-radius: 4px; text-align: center; font-weight: 700; line-height: 1.5; }
.rc-voice__list li { background: #E7E7E7; }
.rc-voice__list h3 { font-weight: 700; }
.rc-voice__from { color: #8A8A8A; }
.rc-voice__text { color: #3C3C3C; line-height: 1.55; }
.rc-voice__text::before { content: "“"; display: block; color: var(--main); font-family: Georgia, serif; font-weight: 700; line-height: 1; }
.rc-message { background: var(--peach); border-top: 4px solid var(--main); border-bottom: 4px solid var(--main); }
.rc-message__body p { font-weight: 700; }
.rc-message__from { color: var(--main); font-weight: 500 !important; }
.rc-message__sign { text-align: right; font-weight: 400 !important; }
.rc-spec__table { width: 100%; }
.rc-spec__table tr { border-bottom: 1px solid #E5E5E5; }
.rc-spec__table tr:nth-child(even) { background: #F5F5F5; }
.rc-spec__table th { text-align: left; font-weight: 700; vertical-align: top; white-space: nowrap; }
.rc-flow__list li { position: relative; background: #F7F7F7; border-radius: 4px; box-shadow: 0 2px 8px rgba(0, 0, 0, .18); }
.rc-flow__list li + li::before { content: "→"; position: absolute; color: var(--main); font-family: var(--sans); line-height: 1; }
.rc-flow__step { color: var(--main); font-weight: 700; letter-spacing: .05em; }
.rc-flow__list h3 { font-weight: 500; }
.rc-flow__list li > p:last-child { color: var(--sub); line-height: 1.55; }
.rc-cta { background: var(--main); color: #fff; text-align: center; }
.rc-cta h2 { font-weight: 500; letter-spacing: .06em; }
.rc-cta a { display: inline-flex; align-items: center; justify-content: center; background: #fff; color: var(--main); font-weight: 700; border-radius: 4px; }

/* ==========================================================================
   7. PC レイアウト（900px〜 / Figma 1440px）
   ========================================================================== */
@media (min-width: 900px) {

  /* ヘッダー：右 800×124、下に 2px 線 */
  .hdr {
    position: absolute; top: 6px; right: 0; z-index: 4;
    width: 55.5556%; height: calc(124 * var(--u));
    display: flex; align-items: center; justify-content: center;
    border-bottom: 2px solid var(--line);
  }
  .hdr__nav ul { display: flex; gap: calc(28 * var(--u)); }
  .drawer { display: none !important; }

  /* FV */
  .fv { display: grid; grid-template-columns: 44.4444% 55.5556%; }
  .fv__img { grid-column: 1; grid-row: 1; }
  .fv__img img { width: 100%; height: 100%; object-fit: cover; }
  .fv__body { grid-column: 2; grid-row: 1; }

  .fv--large .fv__body { padding-top: calc(184 * var(--u)); }
  .fv--large .fv__logo { width: calc(452 * var(--u)); margin-left: calc(160 * var(--u)); }
  .fv--large .fv__pill { margin: calc(48 * var(--u)) 0 0 calc(61 * var(--u)); min-width: calc(185 * var(--u)); padding: 0 calc(26 * var(--u)); height: calc(24 * var(--u)); line-height: calc(23 * var(--u)); font-size: calc(16 * var(--u)); }
  .fv--large .fv__title { margin: calc(22 * var(--u)) 0 0 calc(66 * var(--u)); font-size: calc(36 * var(--u)); line-height: 1.55; }
  .fv__text { margin: calc(18 * var(--u)) 0 0 calc(66 * var(--u)); font-size: max(12px, calc(15 * var(--u))); line-height: 1.55; }

  .fv--sub .fv__logo-pc { position: absolute; left: calc(56 * var(--u)); top: calc(39 * var(--u)); z-index: 3; width: calc(222 * var(--u)); }
  .fv--sub .fv__logo { display: none; }
  .fv--sub .fv__body { display: flex; flex-direction: column; justify-content: center; padding: calc(124 * var(--u)) 0 0 calc(61 * var(--u)); }
  .fv--sub .fv__pill { padding: 0 calc(28 * var(--u)); height: calc(24 * var(--u)); line-height: calc(23 * var(--u)); font-size: calc(16 * var(--u)); }
  .fv--sub .fv__title { margin: calc(8 * var(--u)) 0 0 calc(5 * var(--u)); font-size: calc(36 * var(--u)); line-height: 1.5; }

  /* トップ：FV下の連絡3ボタン */
  .fv-cta { display: flex; justify-content: center; gap: calc(50 * var(--u)); padding: calc(24 * var(--u)) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .fv-cta--sp { display: none; }
  .fv-cta a { width: calc(308 * var(--u)); height: calc(82 * var(--u)); gap: calc(16 * var(--u)); border: 1px solid var(--line); border-radius: 5px; }
  .fv-cta .is-mail a { background: var(--line); }
  .fv-cta img, .cta__list img { width: calc(40 * var(--u)); height: calc(40 * var(--u)); }
  .fv-cta small, .cta__list small { font-size: calc(14 * var(--u)); line-height: 1.3; }
  .fv-cta b, .cta__list b { font-size: calc(25 * var(--u)); line-height: 1.25; }

  /* 採用：FV下の月収例・応募ボタン */
  .fv-apply { display: flex; justify-content: center; gap: calc(50 * var(--u)); padding: calc(24 * var(--u)) 0; }
  .fv-apply__salary, .fv-apply__btn { width: calc(435 * var(--u)); height: calc(82 * var(--u)); border-radius: calc(8 * var(--u)); }
  .fv-apply__salary { display: flex; flex-wrap: wrap; align-items: baseline; align-content: center; column-gap: calc(10 * var(--u)); padding: 0 calc(18 * var(--u)); }
  .fv-apply__salary small { width: 100%; font-size: calc(11 * var(--u)); line-height: 1; }
  .fv-apply__salary b { font-size: calc(34 * var(--u)); line-height: 1.1; }
  .fv-apply__salary i { font-size: calc(22 * var(--u)); }
  .fv-apply__salary span { font-size: calc(13 * var(--u)); }
  .fv-apply__btn { gap: calc(10 * var(--u)); }
  .fv-apply__btn img { width: calc(40 * var(--u)); height: calc(40 * var(--u)); }
  .fv-apply__btn b { font-size: calc(20 * var(--u)); line-height: 1.2; letter-spacing: .06em; }
  .fv-apply__btn small { font-size: calc(12 * var(--u)); font-weight: 700; }

  /* CTA帯 */
  .cta { padding: calc(24 * var(--u)) 0; }
  .cta__lead { margin: calc(30 * var(--u)) 0 calc(26 * var(--u)); font-size: calc(15 * var(--u)); }
  .cta__lead + .cta__list { margin-bottom: calc(52 * var(--u)); }
  .cta__list { display: flex; justify-content: center; gap: calc(50 * var(--u)); }
  .cta__list a { width: calc(308 * var(--u)); height: calc(82 * var(--u)); gap: calc(16 * var(--u)); }

  /* フッター */
  .ftr { padding: calc(75 * var(--u)) 0 calc(48 * var(--u)); }
  .ftr__inner { display: grid; grid-template-columns: calc(380 * var(--u)) calc(618 * var(--u)) auto; justify-content: start; padding-left: calc(118 * var(--u)); }
  .ftr__info { padding-top: calc(55 * var(--u)); }
  .ftr__logo { width: calc(262 * var(--u)); }
  .ftr address { margin-top: calc(26 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.6; }
  .ftr__lead { padding-top: calc(76 * var(--u)); }
  .ftr__catch { font-size: calc(22 * var(--u)); line-height: 1.4; }
  .ftr__text { margin-top: calc(22 * var(--u)); max-width: calc(548 * var(--u)); font-size: calc(13 * var(--u)); line-height: 1.55; }
  .ftr__icons { gap: calc(20 * var(--u)); margin: calc(58 * var(--u)) 0 0 calc(145 * var(--u)); }
  .ftr__icons a { width: calc(60 * var(--u)); height: calc(60 * var(--u)); }
  .ftr__icons img { width: calc(34 * var(--u)); height: calc(34 * var(--u)); }
  .ftr__nav { border-left: 1px solid rgba(255, 255, 255, .6); padding: calc(4 * var(--u)) 0 calc(4 * var(--u)) calc(50 * var(--u)); }
  .ftr__nav a { font-size: calc(16 * var(--u)); line-height: 2; }
  .ftr__copy { margin-top: calc(26 * var(--u)); padding-right: calc(113 * var(--u)); text-align: right; font-size: calc(13 * var(--u)); }

  /* --- TOP --- */
  .top-service { padding-bottom: calc(125 * var(--u)); }
  .top-service .sec-head { margin-top: calc(-13 * var(--u)); padding-top: calc(203 * var(--u)); }
  .top-service__list { display: grid; row-gap: calc(82 * var(--u)); margin-top: calc(76 * var(--u)); padding: 0 calc(59 * var(--u)); }
  .top-service__item { display: grid; grid-template-columns: calc(750 * var(--u)) 1fr; column-gap: calc(50 * var(--u)); }
  .top-service__img { width: 100%; }
  .top-service__body { max-width: calc(450 * var(--u)); padding: calc(26 * var(--u)) 0 calc(48 * var(--u)); }
  .top-service__body .c-text { margin-top: calc(28 * var(--u)); }
  .top-service__body .btn { margin-top: auto; }

  .top-banner { display: grid; grid-template-columns: 1fr 1fr; height: calc(410 * var(--u)); }
  .top-banner__half { padding: calc(96 * var(--u)) 0 0 calc(90 * var(--u)); }
  .top-banner__half--wh { padding-left: calc(125 * var(--u)); }
  .top-banner__half h2 { font-size: calc(54 * var(--u)); }
  .top-banner__half .btn { position: absolute; right: calc(40 * var(--u)); bottom: calc(40 * var(--u)); }

  .top-faq { padding: calc(40 * var(--u)) 0 calc(38 * var(--u)); }
  .top-faq__row { display: flex; justify-content: center; align-items: center; gap: calc(96 * var(--u)); }
  .top-faq__head span { display: block; font-size: calc(130 * var(--u)); margin-left: calc(-150 * var(--u)); }
  .top-faq__head h2 { margin-top: calc(-86 * var(--u)); font-size: calc(38 * var(--u)); }
  .top-faq__list li { padding-left: calc(36 * var(--u)); font-size: calc(15 * var(--u)); line-height: calc(44 * var(--u)); }
  .top-faq__list li::before { --q: calc(22 * var(--u)); top: calc(11 * var(--u)); font-size: calc(12 * var(--u)); }
  .top-faq__list span { margin-left: calc(80 * var(--u)); }
  .top-faq__text { margin: calc(34 * var(--u)) 0 calc(34 * var(--u)); font-size: calc(15 * var(--u)); line-height: 1.5; }

  .top-promise { padding: calc(13 * var(--u)) 0 calc(92 * var(--u)); }
  .top-promise__catch { margin-top: calc(28 * var(--u)); font-size: calc(110 * var(--u)); }
  .top-promise__text { margin: calc(42 * var(--u)) 0 calc(80 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.6; }

  .top-recruit { padding: calc(70 * var(--u)) 0 calc(105 * var(--u)); }
  .top-partner { padding: calc(73 * var(--u)) 0 calc(95 * var(--u)); }
  .top-split { display: flex; justify-content: space-between; margin-top: calc(45 * var(--u)); padding: 0 calc(134 * var(--u)) 0 calc(118 * var(--u)); }
  .top-split__body { width: calc(450 * var(--u)); padding-top: calc(72 * var(--u)); }
  .top-split__body h3 { font-size: calc(24 * var(--u)); }
  .top-split__body .c-text { margin-top: calc(30 * var(--u)); }
  .top-split__body .btn { margin-top: calc(112 * var(--u)); }
  .top-split__img { width: calc(700 * var(--u)); align-self: flex-start; }
  .top-split--rev { flex-direction: row-reverse; justify-content: flex-end; gap: calc(86 * var(--u)); padding: 0 calc(60 * var(--u)) 0 calc(118 * var(--u)); margin-top: calc(36 * var(--u)); }
  .top-split--rev .top-split__img { width: calc(660 * var(--u)); }
  .top-split--rev .top-split__body { width: calc(540 * var(--u)); padding-top: calc(14 * var(--u)); }
  .top-split--rev .top-split__body .c-text { max-width: calc(450 * var(--u)); }
  .top-split--rev .top-split__body .btn { margin-top: calc(176 * var(--u)); }

  /* --- SERVICE --- */
  .page-head { padding: calc(7 * var(--u)) 0 calc(40 * var(--u)); }
  .page-head .sec-head { padding-top: calc(222 * var(--u)); }
  .svc { padding: calc(50 * var(--u)) 0 calc(82 * var(--u)); }
  .svc__inner { display: grid; grid-template-columns: calc(616 * var(--u)) calc(616 * var(--u)); gap: calc(48 * var(--u)); width: calc(1280 * var(--u)); margin-inline: auto; }
  .svc--rev .svc__gallery { order: 2; }
  .svc__gallery { display: grid; grid-template-columns: 1fr 1fr; gap: calc(12 * var(--u)); align-content: start; }
  .svc__gallery img:first-child { grid-column: 1 / -1; }
  .svc__body .c-title { font-size: calc(36 * var(--u)); }
  .svc__lead { margin-top: calc(8 * var(--u)); padding: calc(5 * var(--u)) calc(14 * var(--u)); font-size: calc(20 * var(--u)); }
  .svc__body .c-text { margin-top: calc(16 * var(--u)); }
  .svc__lead + .c-text { margin-top: calc(14 * var(--u)); }
  .svc__menu-title { margin-top: calc(22 * var(--u)); font-size: calc(15 * var(--u)); }
  .svc__menu { margin-top: calc(6 * var(--u)); padding: calc(8 * var(--u)) calc(10 * var(--u)); }
  .svc__menu li { font-size: calc(15 * var(--u)); line-height: 1.8; }
  .svc__body .btn { margin-top: calc(30 * var(--u)); }

  .work { padding: calc(50 * var(--u)) 0 calc(60 * var(--u)); }
  .work__sub { margin-top: calc(20 * var(--u)); font-size: calc(15 * var(--u)); }
  .work__list { display: grid; grid-template-columns: 1fr 1fr; gap: calc(14 * var(--u)) calc(16 * var(--u)); width: calc(1280 * var(--u)); margin: calc(50 * var(--u)) auto 0; }
  .work__list li { padding: calc(10 * var(--u)) calc(14 * var(--u)) calc(12 * var(--u)); }
  .work__tags span { padding: calc(1 * var(--u)) calc(8 * var(--u)); font-size: calc(12 * var(--u)); }
  .work__list h3 { margin-top: calc(4 * var(--u)); font-size: calc(17 * var(--u)); }
  .work__list li > p:last-child { font-size: calc(14 * var(--u)); }

  /* --- PRICE --- */
  .price { padding: calc(7 * var(--u)) 0 calc(98 * var(--u)); }
  .price__card { width: calc(1080 * var(--u)); margin: calc(44 * var(--u)) auto calc(88 * var(--u)); padding: calc(64 * var(--u)) calc(80 * var(--u)) calc(62 * var(--u)); border-radius: calc(8 * var(--u)); }
  .price__intro { font-size: calc(14 * var(--u)); line-height: 1.7; }
  .price__cat { margin: calc(36 * var(--u)) 0 calc(12 * var(--u)); font-size: calc(15 * var(--u)); }
  .price-table th { height: calc(46 * var(--u)); font-size: calc(13 * var(--u)); }
  .price-table td { height: calc(47 * var(--u)); padding: 0 calc(14 * var(--u)); font-size: calc(14 * var(--u)); }

  /* --- AREA --- */
  .area { padding: calc(7 * var(--u)) 0 calc(115 * var(--u)); }
  .area--recruit { padding: calc(30 * var(--u)) 0 calc(108 * var(--u)); }
  .area__grid { display: flex; justify-content: center; align-items: flex-start; gap: calc(26 * var(--u)); margin: calc(36 * var(--u)) 0 calc(70 * var(--u)); }
  .area--recruit .area__grid { margin-bottom: 0; }
  .area__map { width: calc(374 * var(--u)); }
  .area__main { width: calc(700 * var(--u)); }
  .area__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(18 * var(--u)); }
  .area__cards li { padding: calc(26 * var(--u)) calc(22 * var(--u)) calc(24 * var(--u)); border-radius: calc(8 * var(--u)); }
  .area__cards h3 { font-size: calc(18 * var(--u)); }
  .area__cards h3 span { margin-left: calc(8 * var(--u)); padding: calc(2 * var(--u)) calc(10 * var(--u)); font-size: calc(11 * var(--u)); }
  .area__en { margin-top: calc(8 * var(--u)); font-size: calc(12 * var(--u)); }
  .area__cities { margin-top: calc(6 * var(--u)); font-size: calc(14 * var(--u)); }
  .area__note { margin-top: calc(28 * var(--u)); padding: calc(18 * var(--u)); font-size: calc(13 * var(--u)); line-height: 1.5; }
  .area--recruit .area__note { padding: calc(28 * var(--u)) calc(18 * var(--u)); font-size: calc(14 * var(--u)); }

  /* --- COMPANY --- */
  .co-message { min-height: calc(720 * var(--u)); padding: calc(7 * var(--u)) 0 calc(100 * var(--u)); }
  .co-message__body { width: calc(920 * var(--u)); margin: calc(62 * var(--u)) 0 0 calc(258 * var(--u)); }
  .co-message__body h3 { font-size: calc(28 * var(--u)); }
  .co-message__body p { margin-top: calc(12 * var(--u)); font-size: calc(15 * var(--u)); }
  .co-about { padding: calc(55 * var(--u)) 0 calc(112 * var(--u)); }
  .co-about__grid { display: flex; justify-content: center; align-items: flex-start; gap: calc(50 * var(--u)); margin-top: calc(44 * var(--u)); }
  .co-table { width: calc(475 * var(--u)); }
  .co-table th, .co-table td { padding: calc(14 * var(--u)) calc(16 * var(--u)); font-size: calc(13 * var(--u)); }
  .co-table th { width: calc(126 * var(--u)); }
  .co-about__permit { width: calc(475 * var(--u)); }

  /* --- BLOG --- */
  .blog-sec { padding: calc(7 * var(--u)) 0 calc(26 * var(--u)); }
  .blog-sec .sec-lead { margin: calc(56 * var(--u)) 0 calc(20 * var(--u)); }
  .blog__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(20 * var(--u)); width: calc(1280 * var(--u)); margin-inline: auto; }
  .post-card { border-radius: calc(8 * var(--u)); }
  .post-card__body { padding: calc(16 * var(--u)) calc(18 * var(--u)) calc(14 * var(--u)); }
  .post-card__cat { padding: 0 calc(10 * var(--u)); font-size: calc(12 * var(--u)); }
  .post-card h3 { margin: calc(10 * var(--u)) 0 calc(6 * var(--u)); font-size: calc(14 * var(--u)); }
  .post-card time, .entry__head time { font-size: calc(13 * var(--u)); }
  .pager { margin: calc(40 * var(--u)) 0 0; }
  .pager .nav-links { gap: calc(12 * var(--u)); }
  .pager .page-numbers { width: calc(46 * var(--u)); height: calc(46 * var(--u)); font-size: calc(22 * var(--u)); }

  .entry { width: calc(880 * var(--u)); margin: calc(80 * var(--u)) auto calc(100 * var(--u)); font-size: calc(16 * var(--u)); }
  .entry__head h1 { margin: calc(14 * var(--u)) 0 calc(8 * var(--u)); font-size: calc(32 * var(--u)); }
  .entry__thumb { margin-top: calc(30 * var(--u)); }
  .entry__content { margin-top: calc(40 * var(--u)); }
  .entry__content h2 { font-size: calc(24 * var(--u)); }
  .entry__content h3 { font-size: calc(20 * var(--u)); }
  .entry__nav { margin: calc(60 * var(--u)) 0 calc(40 * var(--u)); padding-top: calc(24 * var(--u)); font-size: calc(14 * var(--u)); }
  .entry--center .btn { margin-top: calc(40 * var(--u)); }

  /* --- FAQ --- */
  .faq { padding: calc(7 * var(--u)) 0 calc(92 * var(--u)); }
  .faq__list { width: calc(920 * var(--u)); margin: calc(18 * var(--u)) auto 0; }
  .faq__item { padding: calc(22 * var(--u)) calc(8 * var(--u)); }
  .faq__item dt { padding-left: calc(36 * var(--u)); font-size: calc(15 * var(--u)); }
  .faq__item dt::before { --q: calc(24 * var(--u)); top: calc(1 * var(--u)); font-size: calc(13 * var(--u)); }
  .faq__item dd { margin-top: calc(10 * var(--u)); padding-left: calc(36 * var(--u)); font-size: calc(13 * var(--u)); }
  .faq__note { margin-top: calc(16 * var(--u)); font-size: calc(14 * var(--u)); }

  /* --- CONTACT --- */
  .contact { padding: calc(7 * var(--u)) 0 calc(135 * var(--u)); }
  .contact__ways { display: flex; justify-content: center; gap: calc(24 * var(--u)); margin: calc(26 * var(--u)) 0 calc(30 * var(--u)); }
  .contact__ways li { width: calc(290 * var(--u)); height: calc(138 * var(--u)); }
  .contact__ways small { font-size: calc(13 * var(--u)); }
  .contact__ways b { margin-top: calc(10 * var(--u)); font-size: calc(25 * var(--u)); }
  .contact__form { width: calc(680 * var(--u)); margin-inline: auto; }
  .contact__guide { padding-left: calc(42 * var(--u)); font-size: calc(13 * var(--u)); }
  .f-row { margin-top: calc(28 * var(--u)); }
  .f-label { font-size: calc(13 * var(--u)); }
  .f-tag { margin-left: calc(8 * var(--u)); padding: 0 calc(10 * var(--u)); font-size: calc(10 * var(--u)); }
  .wpcf7 input[type="text"], .wpcf7 input[type="tel"], .wpcf7 input[type="email"] { height: calc(44 * var(--u)); margin-top: calc(8 * var(--u)); padding: 0 calc(14 * var(--u)); font-size: max(13px, calc(14 * var(--u))); }
  .wpcf7 textarea { height: calc(98 * var(--u)); margin-top: calc(8 * var(--u)); padding: calc(12 * var(--u)) calc(14 * var(--u)); font-size: max(13px, calc(14 * var(--u))); }
  .f-policy { margin-top: calc(22 * var(--u)); font-size: calc(13 * var(--u)); }
  .wpcf7 input[type="submit"] { width: calc(390 * var(--u)); height: calc(84 * var(--u)); margin-top: calc(18 * var(--u)); font-size: calc(18 * var(--u)); }

  /* --- PRIVACY --- */
  .policy { width: calc(1120 * var(--u)); margin: calc(56 * var(--u)) auto calc(74 * var(--u)); }
  .policy__box { padding: calc(22 * var(--u)) calc(60 * var(--u)); }
  .policy h2 { font-size: calc(15 * var(--u)); }
  .policy p { font-size: calc(13 * var(--u)); }
  .policy__body { padding: calc(28 * var(--u)) calc(60 * var(--u)) calc(22 * var(--u)); }
  .policy__body h2 { margin: calc(34 * var(--u)) 0 calc(18 * var(--u)); }

  /* --- COWORK --- */
  .cw-hero { padding: calc(7 * var(--u)) 0 calc(44 * var(--u)); }
  .cw-hero .sec-head { padding-top: calc(222 * var(--u)); }
  .cw-hero__photos { position: relative; height: calc(805 * var(--u)); margin-top: calc(22 * var(--u)); }
  .cw-hero__photos img { position: absolute; }
  .cw-hero__main { top: 0; right: calc(80 * var(--u)); width: calc(906 * var(--u)); }
  .cw-hero__sub1 { top: calc(475 * var(--u)); left: calc(137 * var(--u)); width: calc(540 * var(--u)); }
  .cw-hero__sub2 { top: calc(410 * var(--u)); left: calc(728 * var(--u)); width: calc(540 * var(--u)); }
  .cw-feat { padding: calc(66 * var(--u)) 0 calc(64 * var(--u)); }
  .cw-feat__lead { width: calc(1280 * var(--u)); margin: 0 auto calc(20 * var(--u)); font-size: calc(15 * var(--u)); line-height: 1.6; }
  .cw-feat__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(16 * var(--u)); width: calc(1280 * var(--u)); margin-inline: auto; }
  .cw-feat__body { padding: calc(20 * var(--u)) calc(20 * var(--u)) calc(22 * var(--u)); }
  .cw-feat__body h3 { gap: calc(14 * var(--u)); font-size: calc(16 * var(--u)); }
  .cw-feat__body h3 span { width: calc(44 * var(--u)); height: calc(44 * var(--u)); font-size: calc(20 * var(--u)); }
  .cw-feat__body p { margin-top: calc(12 * var(--u)); font-size: calc(14 * var(--u)); }

  /* --- RECRUIT --- */
  .rc-job { padding: calc(20 * var(--u)) 0 calc(108 * var(--u)); }
  .rc-job__grid { display: flex; justify-content: space-between; align-items: flex-start; margin-top: calc(22 * var(--u)); padding: 0 calc(60 * var(--u)); }
  .rc-job__body { width: calc(520 * var(--u)); padding-top: calc(80 * var(--u)); }
  .rc-job__lead { font-size: calc(22 * var(--u)); line-height: 1.45; }
  .rc-job .c-check { margin-top: calc(22 * var(--u)); font-size: calc(15 * var(--u)); }
  .rc-job__note { width: calc(500 * var(--u)); margin-top: calc(62 * var(--u)); padding: calc(20 * var(--u)) calc(32 * var(--u)); font-size: calc(14 * var(--u)); }
  .rc-job__img { width: calc(750 * var(--u)); }

  .rc-qa { padding: calc(13 * var(--u)) 0 calc(120 * var(--u)); }
  .rc-qa__list { display: grid; grid-template-columns: 1fr 1fr; gap: calc(16 * var(--u)) calc(20 * var(--u)); width: calc(1000 * var(--u)); margin: calc(56 * var(--u)) auto 0; }
  .rc-qa__list > div { padding: calc(20 * var(--u)); border-radius: calc(8 * var(--u)); }
  .rc-qa__list dt { font-size: calc(18 * var(--u)); }
  .rc-qa__list dd { margin-top: calc(8 * var(--u)); font-size: calc(14 * var(--u)); }

  .rc-day { padding: calc(20 * var(--u)) 0 calc(160 * var(--u)); }
  .rc-day__list { display: grid; grid-template-columns: repeat(7, 1fr); gap: calc(10 * var(--u)); width: calc(980 * var(--u)); margin: calc(36 * var(--u)) auto 0; }
  .rc-day__list li { padding: calc(14 * var(--u)) calc(12 * var(--u)) calc(16 * var(--u)); border-radius: calc(6 * var(--u)); }
  .rc-day__list time { font-size: calc(18 * var(--u)); }
  .rc-day__list b { font-size: calc(14 * var(--u)); }
  .rc-day__list span { margin-top: calc(10 * var(--u)); font-size: calc(12 * var(--u)); }
  .rc-day__photos { display: flex; justify-content: flex-end; gap: calc(20 * var(--u)); margin-top: calc(52 * var(--u)); }
  .rc-day__photos img { width: calc(490 * var(--u)); }

  .rc-salary { padding: calc(28 * var(--u)) 0 calc(85 * var(--u)); }
  .rc-salary__list { display: flex; gap: calc(20 * var(--u)); margin: calc(22 * var(--u)) 0 0 calc(245 * var(--u)); }
  .rc-salary__list li { width: calc(290 * var(--u)); padding: calc(22 * var(--u)) calc(20 * var(--u)) calc(28 * var(--u)); border-radius: calc(8 * var(--u)); }
  .rc-salary__list h3 { font-size: calc(18 * var(--u)); }
  .rc-salary__day { font-size: calc(14 * var(--u)); }
  .rc-salary__month { margin-top: calc(6 * var(--u)); font-size: calc(18 * var(--u)); }
  .rc-salary__month b { font-size: calc(40 * var(--u)); line-height: 1.2; }
  .rc-salary__cond { font-size: calc(13 * var(--u)); }
  .rc-salary__note { margin: calc(40 * var(--u)) 0 0 calc(352 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.6; }

  .rc-fits { padding: calc(28 * var(--u)) 0 calc(122 * var(--u)); }
  .rc-fits__cols { display: flex; width: calc(1000 * var(--u)); margin: calc(62 * var(--u)) auto 0; }
  .rc-fits__cols > div { flex: 1; }
  .rc-fits__cols > div + div { padding-left: calc(40 * var(--u)); border-left: 1px solid #9A9A9A; }
  .rc-fits__cols h3 { font-size: calc(18 * var(--u)); }
  .rc-fits__cols ul { margin-top: calc(22 * var(--u)); font-size: calc(15 * var(--u)); }
  .rc-fits__note { width: calc(1000 * var(--u)); margin: calc(50 * var(--u)) auto 0; padding: calc(12 * var(--u)); font-size: calc(14 * var(--u)); }

  .rc-voice { padding: calc(20 * var(--u)) 0 calc(92 * var(--u)); }
  .rc-voice__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(20 * var(--u)); width: calc(940 * var(--u)); margin: calc(30 * var(--u)) auto 0; }
  .rc-voice__list li { padding: calc(24 * var(--u)) calc(20 * var(--u)) calc(40 * var(--u)); border-radius: calc(8 * var(--u)); }
  .rc-voice__list h3 { font-size: calc(16 * var(--u)); }
  .rc-voice__from { font-size: calc(14 * var(--u)); }
  .rc-voice__text { margin-top: calc(22 * var(--u)); font-size: calc(15 * var(--u)); }
  .rc-voice__text::before { height: calc(24 * var(--u)); font-size: calc(44 * var(--u)); }

  .rc-message { padding: calc(30 * var(--u)) 0 calc(122 * var(--u)); }
  .rc-message__body { width: calc(545 * var(--u)); margin: calc(44 * var(--u)) 0 0 calc(448 * var(--u)); }
  .rc-message__body p { font-size: calc(15 * var(--u)); line-height: 1.6; }
  .rc-message__body p + p { margin-top: 1.5em; }
  .rc-message__from { font-size: calc(14 * var(--u)) !important; }
  .rc-message__from + p { margin-top: .6em !important; }
  .rc-message__sign { margin-top: 0 !important; }

  .rc-spec { padding: calc(30 * var(--u)) 0 calc(105 * var(--u)); }
  .rc-spec__table { width: calc(1000 * var(--u)); margin: calc(50 * var(--u)) auto 0; }
  .rc-spec__table th, .rc-spec__table td { padding: calc(17 * var(--u)) calc(16 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.6; }
  .rc-spec__table th { width: calc(180 * var(--u)); }

  .rc-flow { padding: calc(30 * var(--u)) 0 calc(80 * var(--u)); }
  .rc-flow__list { display: flex; gap: calc(68 * var(--u)); margin: calc(52 * var(--u)) 0 0 calc(185 * var(--u)); }
  .rc-flow__list li { width: calc(300 * var(--u)); padding: calc(18 * var(--u)) calc(20 * var(--u)) calc(24 * var(--u)); border-top: calc(6 * var(--u)) solid var(--main); border-bottom: calc(6 * var(--u)) solid var(--main); }
  .rc-flow__list li + li::before { left: calc(-56 * var(--u)); top: 50%; transform: translateY(-50%); font-size: calc(44 * var(--u)); }
  .rc-flow__step { font-size: calc(13 * var(--u)); }
  .rc-flow__list h3 { font-size: calc(22 * var(--u)); }
  .rc-flow__list li > p:last-child { font-size: calc(15 * var(--u)); }

  .rc-cta { padding: calc(48 * var(--u)) 0 calc(46 * var(--u)); }
  .rc-cta h2 { font-size: calc(24 * var(--u)); }
  .rc-cta p { margin-top: calc(2 * var(--u)); font-size: calc(13 * var(--u)); }
  .rc-cta a { width: calc(220 * var(--u)); height: calc(52 * var(--u)); margin-top: calc(16 * var(--u)); font-size: calc(13 * var(--u)); }

  .rc-entry { padding: calc(40 * var(--u)) 0 calc(76 * var(--u)); }
  .rc-entry__card { width: calc(1000 * var(--u)); margin: calc(62 * var(--u)) auto 0; padding: 0 calc(32 * var(--u)) calc(40 * var(--u)); border-radius: calc(8 * var(--u)); }
  .f-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: calc(24 * var(--u)); }
  .f-row--full { grid-column: 1 / -1; }
  .rc-entry__card .f-row { margin-top: calc(22 * var(--u)); }
  .rc-entry__card textarea { height: calc(118 * var(--u)); }
  .rc-entry__card .f-policy { width: fit-content; margin-inline: auto; }
}

/* ==========================================================================
   8. SP レイアウト（〜899px / Figma 375px）
   ========================================================================== */
@media (max-width: 899px) {
  .u-sp { display: inline; }
  .u-pc { display: none; }

  .band--after, .band--sp { display: block; }

  /* ヘッダー：ハンバーガーのみ */
  .hdr { position: absolute; top: 6px; right: 0; z-index: 30; }
  .hdr__nav { display: none; }
  .hdr__toggle { display: block; position: relative; width: calc(44 * var(--u)); height: calc(40 * var(--u)); padding: 0; border: 0; background: none; cursor: pointer; }
  .is-drawer-open .hdr { position: fixed; }
  .hdr__toggle span { position: absolute; left: calc(16 * var(--u)); width: calc(20 * var(--u)); height: 1px; background: #5D5D5D; transition: transform .25s, opacity .25s; }
  .hdr__toggle span:nth-child(1) { top: calc(10 * var(--u)); }
  .hdr__toggle span:nth-child(2) { top: calc(17 * var(--u)); }
  .hdr__toggle span:nth-child(3) { top: calc(24 * var(--u)); }
  .hdr__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(calc(7 * var(--u))) rotate(45deg); }
  .hdr__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .hdr__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(calc(-7 * var(--u))) rotate(-45deg); }

  /* FV */
  .fv { display: flex; flex-direction: column; }
  .fv__img img { width: 100%; height: auto; }
  .fv__logo-pc { display: none; }
  .fv__logo { width: calc(262 * var(--u)); margin-inline: auto; }
  .fv--large .fv__body { padding: calc(28 * var(--u)) 0 calc(9 * var(--u)); }
  .fv--sub .fv__body { padding: calc(63 * var(--u)) 0 calc(15 * var(--u)); }
  .fv__pill { margin: calc(11 * var(--u)) auto 0; min-width: calc(187 * var(--u)); padding: 0 calc(30 * var(--u)); height: calc(22 * var(--u)); line-height: calc(21 * var(--u)); font-size: calc(16 * var(--u)); }
  .fv__title { width: fit-content; margin: calc(9 * var(--u)) auto 0; font-size: calc(28 * var(--u)); line-height: 1.36; }
  .fv__text { width: fit-content; margin: calc(2 * var(--u)) auto 0; font-size: calc(16 * var(--u)); line-height: calc(23 * var(--u)); }

  /* FV下：アイコン3連 */
  .fv-cta { display: grid; grid-template-columns: repeat(3, 1fr); }
  .fv-cta li + li { border-left: 1px solid #F7F7F7; }
  .fv-cta a { height: calc(80 * var(--u)); }
  .fv-cta .is-mail { background: #DADADA; }
  .fv-cta img { width: calc(34 * var(--u)); height: calc(34 * var(--u)); }
  .fv-cta li:nth-child(2) img, .fv-cta .is-mail img { width: calc(40 * var(--u)); height: calc(40 * var(--u)); }
  .fv-cta span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

  /* 採用：月収例・応募ボタン */
  .fv-apply { display: grid; gap: calc(10 * var(--u)); padding: calc(20 * var(--u)) calc(33 * var(--u)) calc(20 * var(--u)); }
  .fv-apply__salary, .fv-apply__btn { height: calc(102 * var(--u)); border-radius: calc(8 * var(--u)); }
  .fv-apply__salary { display: flex; flex-direction: column; justify-content: center; padding-left: calc(45 * var(--u)); }
  .fv-apply__salary small { font-size: calc(12 * var(--u)); line-height: 1.2; }
  .fv-apply__salary b { font-size: calc(38 * var(--u)); line-height: 1.05; }
  .fv-apply__salary i { font-size: calc(22 * var(--u)); }
  .fv-apply__salary span { font-size: calc(14 * var(--u)); line-height: 1.4; }
  .fv-apply__btn { gap: calc(8 * var(--u)); }
  .fv-apply__btn img { width: calc(40 * var(--u)); height: calc(40 * var(--u)); }
  .fv-apply__btn b { font-size: calc(20 * var(--u)); line-height: 1.4; letter-spacing: .06em; }
  .fv-apply__btn small { font-size: calc(12 * var(--u)); font-weight: 700; line-height: 1.45; }

  /* 共通 */
  .btn { width: calc(300 * var(--u)); height: calc(60 * var(--u)); margin-inline: auto; gap: calc(16 * var(--u)); font-size: calc(16 * var(--u)); }
  .c-label { font-size: calc(11 * var(--u)); }
  .c-title { font-size: calc(26 * var(--u)); }
  .sec-head { padding-top: calc(54 * var(--u)); }
  .sec-head__en { font-size: calc(80 * var(--u)); }
  .sec-head--l .sec-head__en, .sec-head--inset .sec-head__en { left: calc(-3 * var(--u)); }
  .sec-head--r .sec-head__en { right: calc(-4 * var(--u)); }
  .sec-head__ja { margin-left: calc(20 * var(--u)); margin-right: calc(20 * var(--u)); font-size: calc(26 * var(--u)); letter-spacing: .06em; line-height: 1.4; }
  .sec-head--c .sec-head__ja { margin-inline: calc(20 * var(--u)); text-align: center; }
  .sec-head--thin .sec-head__ja { font-size: calc(26 * var(--u)); }
  .sec-head--lead .sec-head__ja { font-size: calc(16 * var(--u)); letter-spacing: .04em; line-height: 1.6; }
  .sec-head--two .sec-head__ja { font-size: calc(23 * var(--u)); }
  .sec-lead, .sec-lead--dark { margin: calc(16 * var(--u)) calc(20 * var(--u)) 0; font-size: calc(13 * var(--u)); text-align: left; }

  /* CTA帯 */
  .cta { padding: calc(24 * var(--u)) calc(20 * var(--u)); }
  .cta__lead { margin-bottom: calc(16 * var(--u)); font-size: calc(13 * var(--u)); }
  .cta__list { display: grid; gap: calc(10 * var(--u)); }
  .cta__list a { height: calc(64 * var(--u)); gap: calc(14 * var(--u)); }
  .cta__list img { width: calc(32 * var(--u)); height: calc(32 * var(--u)); }
  .cta__list small { font-size: calc(12 * var(--u)); line-height: 1.3; }
  .cta__list b { font-size: calc(20 * var(--u)); line-height: 1.3; }
  .cta__list span { min-width: calc(170 * var(--u)); }

  /* フッター */
  .ftr { padding: calc(44 * var(--u)) calc(20 * var(--u)) calc(28 * var(--u)); }
  .ftr__logo { width: calc(262 * var(--u)); margin-inline: auto; }
  .ftr address { margin-top: calc(20 * var(--u)); font-size: calc(13 * var(--u)); line-height: 1.7; text-align: center; }
  .ftr__lead, .ftr__nav { display: none; }
  .ftr__catch { font-size: calc(14 * var(--u)); text-align: center; white-space: nowrap; }
  .ftr__text { margin-top: calc(12 * var(--u)); font-size: calc(13 * var(--u)); line-height: 1.7; }
  .ftr__icons { justify-content: center; gap: calc(16 * var(--u)); margin-top: calc(24 * var(--u)); }
  .ftr__icons a { width: calc(56 * var(--u)); height: calc(56 * var(--u)); }
  .ftr__icons img { width: calc(30 * var(--u)); height: calc(30 * var(--u)); }
  .ftr__nav { margin-top: calc(32 * var(--u)); padding-top: calc(24 * var(--u)); border-top: 1px solid rgba(255, 255, 255, .35); }
  .ftr__nav ul { display: grid; grid-template-columns: 1fr 1fr; gap: calc(4 * var(--u)) calc(16 * var(--u)); }
  .ftr__nav a { display: block; padding: calc(6 * var(--u)) 0; font-size: calc(14 * var(--u)); }
  .ftr__copy { margin-top: calc(24 * var(--u)); text-align: center; font-size: calc(12 * var(--u)); }

  /* --- TOP --- */
  .top-service { padding: calc(16 * var(--u)) 0 calc(56 * var(--u)); }
  .top-service__list { display: grid; gap: calc(44 * var(--u)); margin-top: calc(28 * var(--u)); padding: 0 calc(20 * var(--u)); }
  .top-service__img { width: 100%; }
  .top-service__body { padding-top: calc(16 * var(--u)); }
  .top-service__body .c-text { margin: calc(10 * var(--u)) 0 calc(20 * var(--u)); }

  .top-banner { display: grid; }
  .top-banner__half { padding: calc(44 * var(--u)) calc(20 * var(--u)) calc(40 * var(--u)); text-align: center; }
  .top-banner__half h2 { margin-bottom: calc(22 * var(--u)); font-size: calc(28 * var(--u)); }

  .top-faq { padding: calc(32 * var(--u)) calc(20 * var(--u)) calc(44 * var(--u)); }
  .top-faq__head { text-align: center; }
  .top-faq__head span { display: block; font-size: calc(80 * var(--u)); }
  .top-faq__head h2 { margin-top: calc(-46 * var(--u)); font-size: calc(26 * var(--u)); }
  .top-faq__list { margin-top: calc(26 * var(--u)); }
  .top-faq__list li { padding: calc(6 * var(--u)) 0 calc(6 * var(--u)) calc(32 * var(--u)); font-size: calc(14 * var(--u)); }
  .top-faq__list li::before { --q: calc(22 * var(--u)); top: calc(8 * var(--u)); font-size: calc(12 * var(--u)); }
  .top-faq__list span { display: block; text-align: right; }
  .top-faq__text { margin: calc(16 * var(--u)) 0 calc(24 * var(--u)); font-size: calc(13 * var(--u)); text-align: left; }
  .top-faq__text br { display: none; }

  .top-promise { padding: calc(16 * var(--u)) 0 calc(56 * var(--u)); }
  .top-promise__catch { margin-top: calc(24 * var(--u)); font-size: calc(56 * var(--u)); }
  .top-promise__text { margin: calc(20 * var(--u)) calc(20 * var(--u)) calc(32 * var(--u)); font-size: calc(13 * var(--u)); text-align: left; }
  .top-promise__text br { display: none; }

  .top-recruit, .top-partner { padding: calc(20 * var(--u)) 0 calc(56 * var(--u)); }
  .top-split { display: flex; flex-direction: column-reverse; gap: calc(24 * var(--u)); margin-top: calc(24 * var(--u)); padding: 0 calc(20 * var(--u)); }
  .top-split__img { width: 100%; }
  .top-split__body h3 { font-size: calc(18 * var(--u)); letter-spacing: .06em; }
  .top-split__body .c-text { margin: calc(12 * var(--u)) 0 calc(24 * var(--u)); }

  /* --- SERVICE --- */
  .page-head { padding: calc(12 * var(--u)) 0 calc(28 * var(--u)); }
  .svc { padding: calc(36 * var(--u)) calc(20 * var(--u)) calc(44 * var(--u)); }
  .svc__gallery { display: grid; grid-template-columns: 1fr 1fr; gap: calc(8 * var(--u)); }
  .svc__gallery img:first-child { grid-column: 1 / -1; }
  .svc__body { margin-top: calc(20 * var(--u)); }
  .svc__lead { margin-top: calc(8 * var(--u)); padding: calc(5 * var(--u)) calc(10 * var(--u)); font-size: calc(15 * var(--u)); }
  .svc__body .c-text { margin-top: calc(12 * var(--u)); }
  .svc__menu-title { margin-top: calc(18 * var(--u)); font-size: calc(14 * var(--u)); }
  .svc__menu { margin-top: calc(6 * var(--u)); padding: calc(8 * var(--u)); }
  .svc__menu li { line-height: 1.8; }
  .svc__body .btn { margin-top: calc(24 * var(--u)); }
  .work { padding: calc(16 * var(--u)) 0 calc(44 * var(--u)); }
  .work__sub { margin-top: calc(10 * var(--u)); font-size: calc(13 * var(--u)); }
  .work__list { display: grid; gap: calc(10 * var(--u)); margin-top: calc(24 * var(--u)); padding: 0 calc(20 * var(--u)); }
  .work__list li { padding: calc(10 * var(--u)) calc(12 * var(--u)) calc(12 * var(--u)); }
  .work__tags span { padding: calc(1 * var(--u)) calc(8 * var(--u)); font-size: calc(11 * var(--u)); }
  .work__list h3 { margin-top: calc(4 * var(--u)); font-size: calc(15 * var(--u)); }
  .work__list li > p:last-child { font-size: calc(13 * var(--u)); }

  /* --- PRICE --- */
  .price { padding: calc(12 * var(--u)) 0 calc(56 * var(--u)); }
  .price__card { margin: calc(24 * var(--u)) calc(12 * var(--u)) calc(36 * var(--u)); padding: calc(24 * var(--u)) calc(12 * var(--u)) calc(28 * var(--u)); border-radius: calc(8 * var(--u)); }
  .price__intro { font-size: calc(13 * var(--u)); text-align: left; }
  .price__intro br { display: none; }
  .price__cat { margin: calc(26 * var(--u)) 0 calc(10 * var(--u)); font-size: calc(15 * var(--u)); }
  .price-table th { height: calc(38 * var(--u)); font-size: calc(11 * var(--u)); }
  .price-table td { height: calc(44 * var(--u)); padding: calc(6 * var(--u)) calc(6 * var(--u)); font-size: calc(12 * var(--u)); line-height: 1.4; }
  .price-table th:nth-child(1) { width: 48%; }
  .price-table th:nth-child(2) { width: 28%; }
  .price-table--4 th:nth-child(1) { width: 32%; }
  .price-table--4 th:nth-child(2) { width: 24%; }
  .price-table--4 th:nth-child(3) { width: 24%; }

  /* --- AREA --- */
  .area, .area--recruit { padding: calc(12 * var(--u)) 0 calc(56 * var(--u)); }
  .area__grid { margin: calc(20 * var(--u)) calc(20 * var(--u)) calc(36 * var(--u)); }
  .area--recruit .area__grid { margin-bottom: 0; }
  .area__map { width: calc(260 * var(--u)); margin: 0 auto calc(20 * var(--u)); }
  .area__cards { display: grid; gap: calc(10 * var(--u)); }
  .area__cards li { padding: calc(16 * var(--u)) calc(18 * var(--u)); border-radius: calc(8 * var(--u)); }
  .area__cards h3 { font-size: calc(17 * var(--u)); }
  .area__cards h3 span { margin-left: calc(8 * var(--u)); padding: calc(1 * var(--u)) calc(10 * var(--u)); font-size: calc(11 * var(--u)); }
  .area__en { margin-top: calc(2 * var(--u)); font-size: calc(11 * var(--u)); }
  .area__cities { margin-top: calc(4 * var(--u)); font-size: calc(13 * var(--u)); }
  .area__note { margin-top: calc(14 * var(--u)); padding: calc(14 * var(--u)); font-size: calc(12 * var(--u)); line-height: 1.6; }

  /* --- COMPANY --- */
  .co-message { padding: calc(12 * var(--u)) 0 calc(56 * var(--u)); }
  .co-message__body { margin: calc(28 * var(--u)) calc(20 * var(--u)) 0; }
  .co-message__body h3 { font-size: calc(19 * var(--u)); }
  .co-message__body p { margin-top: calc(12 * var(--u)); }
  .co-about { padding: calc(12 * var(--u)) 0 calc(56 * var(--u)); }
  .co-about__grid { display: grid; gap: calc(24 * var(--u)); margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; }
  .co-table { width: 100%; }
  .co-table th, .co-table td { padding: calc(12 * var(--u)); font-size: calc(13 * var(--u)); }
  .co-about__permit { width: 100%; }

  /* --- BLOG --- */
  .blog-sec { padding: calc(12 * var(--u)) 0 calc(40 * var(--u)); }
  .blog__list { display: grid; gap: calc(16 * var(--u)); margin: calc(20 * var(--u)) calc(20 * var(--u)) 0; }
  .post-card { border-radius: calc(8 * var(--u)); }
  .post-card__body { padding: calc(14 * var(--u)) calc(16 * var(--u)); }
  .post-card__cat { padding: 0 calc(10 * var(--u)); font-size: calc(11 * var(--u)); }
  .post-card h3 { margin: calc(8 * var(--u)) 0 calc(4 * var(--u)); font-size: calc(14 * var(--u)); }
  .post-card time, .entry__head time { font-size: calc(12 * var(--u)); }
  .pager { margin-top: calc(28 * var(--u)); }
  .pager .nav-links { gap: calc(10 * var(--u)); }
  .pager .page-numbers { width: calc(42 * var(--u)); height: calc(42 * var(--u)); font-size: calc(18 * var(--u)); }
  .entry { margin: calc(36 * var(--u)) calc(20 * var(--u)) calc(56 * var(--u)); font-size: calc(15 * var(--u)); }
  .entry__head h1 { margin: calc(10 * var(--u)) 0 calc(6 * var(--u)); font-size: calc(22 * var(--u)); }
  .entry__thumb { margin-top: calc(20 * var(--u)); }
  .entry__content { margin-top: calc(24 * var(--u)); }
  .entry__content h2 { font-size: calc(19 * var(--u)); }
  .entry__content h3 { font-size: calc(17 * var(--u)); }
  .entry__nav { flex-direction: column; margin: calc(40 * var(--u)) 0 calc(28 * var(--u)); padding-top: calc(18 * var(--u)); font-size: calc(13 * var(--u)); }
  .entry--center .btn { margin-top: calc(28 * var(--u)); }

  /* --- FAQ --- */
  .faq { padding: calc(12 * var(--u)) 0 calc(48 * var(--u)); }
  .faq__list { margin: calc(18 * var(--u)) calc(20 * var(--u)) 0; }
  .faq__item { padding: calc(16 * var(--u)) 0; }
  .faq__item dt { padding-left: calc(32 * var(--u)); font-size: calc(15 * var(--u)); line-height: 1.55; }
  .faq__item dt::before { --q: calc(22 * var(--u)); top: calc(1 * var(--u)); font-size: calc(12 * var(--u)); }
  .faq__item dd { margin-top: calc(8 * var(--u)); padding-left: calc(32 * var(--u)); font-size: calc(13 * var(--u)); }
  .faq__note { margin: calc(20 * var(--u)) calc(20 * var(--u)) 0; font-size: calc(13 * var(--u)); text-align: left; }

  /* --- CONTACT --- */
  .contact { padding: calc(12 * var(--u)) 0 calc(60 * var(--u)); }
  .contact__ways { display: grid; gap: calc(10 * var(--u)); margin: calc(20 * var(--u)) calc(20 * var(--u)) calc(28 * var(--u)); }
  .contact__ways li { height: calc(84 * var(--u)); }
  .contact__ways small { font-size: calc(12 * var(--u)); }
  .contact__ways b { margin-top: calc(2 * var(--u)); font-size: calc(21 * var(--u)); }
  .contact__form { margin-inline: calc(20 * var(--u)); }
  .contact__guide { font-size: calc(12 * var(--u)); line-height: 1.7; }
  .f-row { margin-top: calc(20 * var(--u)); }
  .f-label { font-size: calc(13 * var(--u)); }
  .f-tag { margin-left: calc(8 * var(--u)); padding: 0 calc(10 * var(--u)); font-size: calc(10 * var(--u)); }
  /* 16px未満だとiOS Safariがフォーカス時に自動ズームするため 16px 固定 */
  .wpcf7 input[type="text"], .wpcf7 input[type="tel"], .wpcf7 input[type="email"] { height: 48px; margin-top: 8px; padding: 0 12px; font-size: 16px; }
  .wpcf7 textarea { height: 130px; margin-top: 8px; padding: 12px; font-size: 16px; }
  .f-policy { margin-top: calc(20 * var(--u)); font-size: calc(11 * var(--u)); }
  .wpcf7 input[type="submit"] { width: calc(300 * var(--u)); height: calc(60 * var(--u)); margin-top: calc(20 * var(--u)); font-size: calc(16 * var(--u)); }

  /* --- PRIVACY --- */
  .policy { margin: calc(28 * var(--u)) calc(16 * var(--u)) calc(48 * var(--u)); }
  .policy__box { padding: calc(16 * var(--u)) calc(18 * var(--u)); }
  .policy h2 { font-size: calc(15 * var(--u)); }
  .policy p { font-size: calc(13 * var(--u)); line-height: 1.9; }
  .policy__body { padding: calc(8 * var(--u)) calc(4 * var(--u)) calc(20 * var(--u)); }
  .policy__body h2 { margin: calc(26 * var(--u)) 0 calc(8 * var(--u)); }

  /* --- COWORK --- */
  .cw-hero { padding: calc(12 * var(--u)) 0 calc(36 * var(--u)); }
  .cw-hero__photos { display: grid; grid-template-columns: 1fr 1fr; gap: calc(8 * var(--u)); margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; }
  .cw-hero__main { grid-column: 1 / -1; width: 100%; }
  .cw-feat { padding: calc(36 * var(--u)) calc(20 * var(--u)) calc(44 * var(--u)); }
  .cw-feat__lead { font-size: calc(14 * var(--u)); }
  .cw-feat__lead br { display: none; }
  .cw-feat__list { display: grid; gap: calc(14 * var(--u)); margin-top: calc(20 * var(--u)); }
  .cw-feat__body { padding: calc(16 * var(--u)); }
  .cw-feat__body h3 { gap: calc(12 * var(--u)); font-size: calc(16 * var(--u)); }
  .cw-feat__body h3 span { width: calc(40 * var(--u)); height: calc(40 * var(--u)); font-size: calc(18 * var(--u)); }
  .cw-feat__body p { margin-top: calc(10 * var(--u)); font-size: calc(13 * var(--u)); }

  /* --- RECRUIT --- */
  .rc-job { padding: calc(12 * var(--u)) 0 calc(48 * var(--u)); }
  .rc-job__grid { display: flex; flex-direction: column-reverse; gap: calc(22 * var(--u)); margin-top: calc(22 * var(--u)); padding: 0 calc(20 * var(--u)); }
  .rc-job__img { width: 100%; }
  .rc-job__lead { font-size: calc(16 * var(--u)); line-height: 1.6; }
  .rc-job__lead br { display: none; }
  .rc-job .c-check { margin-top: calc(14 * var(--u)); }
  .rc-job__note { margin-top: calc(20 * var(--u)); padding: calc(14 * var(--u)) calc(16 * var(--u)); font-size: calc(13 * var(--u)); }
  .rc-job__note br { display: none; }

  .rc-banner { height: calc(180 * var(--u)); object-fit: cover; object-position: 62% center; }

  .rc-qa { padding: calc(12 * var(--u)) 0 calc(48 * var(--u)); }
  .rc-qa__list { display: grid; gap: calc(12 * var(--u)); margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; }
  .rc-qa__list > div { padding: calc(16 * var(--u)); border-radius: calc(8 * var(--u)); }
  .rc-qa__list dt { font-size: calc(16 * var(--u)); }
  .rc-qa__list dd { margin-top: calc(6 * var(--u)); font-size: calc(13 * var(--u)); }

  .rc-day { padding: calc(12 * var(--u)) 0 calc(48 * var(--u)); }
  .rc-day__list { display: grid; gap: calc(8 * var(--u)); margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; }
  .rc-day__list li { display: grid; grid-template-columns: calc(62 * var(--u)) 1fr; align-items: center; column-gap: calc(12 * var(--u)); padding: calc(12 * var(--u)) calc(16 * var(--u)); border-radius: calc(6 * var(--u)); }
  .rc-day__list time { grid-row: 1 / 3; font-size: calc(18 * var(--u)); }
  .rc-day__list b { font-size: calc(15 * var(--u)); line-height: 1.4; }
  .rc-day__list span { font-size: calc(12 * var(--u)); }
  .rc-day__list span br { display: none; }
  .rc-day__photos { display: grid; grid-template-columns: 1fr 1fr; gap: calc(8 * var(--u)); margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; }

  .rc-salary { padding: calc(12 * var(--u)) 0 calc(44 * var(--u)); }
  .rc-salary__list { display: grid; gap: calc(12 * var(--u)); margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; }
  .rc-salary__list li { padding: calc(16 * var(--u)) calc(18 * var(--u)) calc(18 * var(--u)); border-radius: calc(8 * var(--u)); }
  .rc-salary__list h3 { font-size: calc(17 * var(--u)); }
  .rc-salary__day { font-size: calc(13 * var(--u)); }
  .rc-salary__month { font-size: calc(16 * var(--u)); }
  .rc-salary__month b { font-size: calc(38 * var(--u)); line-height: 1.2; }
  .rc-salary__cond { font-size: calc(12 * var(--u)); }
  .rc-salary__note { margin: calc(18 * var(--u)) calc(20 * var(--u)) 0; font-size: calc(12 * var(--u)); line-height: 1.7; }
  .rc-salary__note br { display: none; }

  .rc-fits { padding: calc(12 * var(--u)) 0 calc(48 * var(--u)); }
  .rc-fits__cols { display: grid; gap: calc(26 * var(--u)); margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; }
  .rc-fits__cols h3 { font-size: calc(17 * var(--u)); }
  .rc-fits__cols ul { margin-top: calc(8 * var(--u)); }
  .c-check--thin li { line-height: 1.9; }
  .rc-fits__note { margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; padding: calc(12 * var(--u)); font-size: calc(12 * var(--u)); }

  .rc-voice { padding: calc(12 * var(--u)) 0 calc(48 * var(--u)); }
  .rc-voice__list { display: grid; gap: calc(12 * var(--u)); margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; }
  .rc-voice__list li { padding: calc(18 * var(--u)); border-radius: calc(8 * var(--u)); }
  .rc-voice__list h3 { font-size: calc(16 * var(--u)); }
  .rc-voice__from { font-size: calc(13 * var(--u)); }
  .rc-voice__text { margin-top: calc(12 * var(--u)); }
  .rc-voice__text::before { height: calc(22 * var(--u)); font-size: calc(40 * var(--u)); }

  .rc-message { padding: calc(12 * var(--u)) 0 calc(48 * var(--u)); }
  .rc-message__body { margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; }
  .rc-message__body p + p { margin-top: 1.3em; }
  .rc-message__body br { display: none; }
  .rc-message__from + p { margin-top: .5em !important; }

  .rc-spec { padding: calc(12 * var(--u)) 0 calc(48 * var(--u)); }
  .rc-spec__table { display: block; margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; width: auto; }
  .rc-spec__table tbody, .rc-spec__table tr, .rc-spec__table th, .rc-spec__table td { display: block; }
  .rc-spec__table tr { padding: calc(12 * var(--u)) calc(12 * var(--u)); }
  .rc-spec__table th { font-size: calc(13 * var(--u)); }
  .rc-spec__table td { margin-top: calc(2 * var(--u)); font-size: calc(13 * var(--u)); line-height: 1.7; }

  .rc-flow { padding: calc(12 * var(--u)) 0 calc(48 * var(--u)); }
  .rc-flow__list { display: grid; gap: calc(40 * var(--u)); margin: calc(24 * var(--u)) calc(20 * var(--u)) 0; }
  .rc-flow__list li { padding: calc(14 * var(--u)) calc(18 * var(--u)) calc(18 * var(--u)); border-top: calc(5 * var(--u)) solid var(--main); border-bottom: calc(5 * var(--u)) solid var(--main); }
  .rc-flow__list li + li::before { left: 50%; top: calc(-34 * var(--u)); transform: translateX(-50%) rotate(90deg); font-size: calc(28 * var(--u)); }
  .rc-flow__step { font-size: calc(12 * var(--u)); }
  .rc-flow__list h3 { font-size: calc(19 * var(--u)); }

  .rc-cta { padding: calc(32 * var(--u)) calc(20 * var(--u)); }
  .rc-cta h2 { font-size: calc(16 * var(--u)); letter-spacing: 0; }
  .rc-cta p { margin-top: calc(6 * var(--u)); font-size: calc(12 * var(--u)); }
  .rc-cta a { width: calc(240 * var(--u)); height: calc(52 * var(--u)); margin-top: calc(16 * var(--u)); font-size: calc(14 * var(--u)); }

  .rc-entry { padding: calc(12 * var(--u)) 0 calc(48 * var(--u)); }
  .rc-entry__card { margin: calc(24 * var(--u)) calc(12 * var(--u)) 0; padding: calc(4 * var(--u)) calc(16 * var(--u)) calc(28 * var(--u)); border-radius: calc(8 * var(--u)); }
}

/* ==========================================================================
   9. reCAPTCHA バッジを非表示
   （非表示にする条件として、フォーム内に Google のプライバシーポリシー・利用規約へのリンク文言を表示済み）
   ========================================================================== */
.grecaptcha-badge { visibility: hidden; }
