/* =========================================================
   住まいあんしん俱楽部 採用サイト 共通スタイル
   デザインの正：試作HTML/ v5 のトークンを厳守して継承
   ========================================================= */
:root{
  --ink:#221C17;
  --espresso:#16110D;
  --paper:#F6F1E8;
  --paper-2:#EEE7D8;
  --amber:#E0922B;
  --amber-deep:#BE6F16;
  --cool:#3E5A63;
  --cool-deep:#27393F;
  --sky:#5C8AA6;
  --line:rgba(34,28,23,.14);
  --line-light:rgba(246,241,232,.18);
  --disp:"Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  --body:"Noto Sans JP", sans-serif;
  --mono:"Space Grotesk", sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
[id]{scroll-margin-top:86px}

/* アクセシビリティ：キーボードフォーカスの可視化 */
:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:2px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--amber);color:#fff;padding:10px 16px;z-index:1000;border-radius:0 0 8px 0;font-weight:700}
.skip-link:focus{left:0}

.eyebrow{font-family:var(--mono);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber-deep);display:inline-flex;align-items:center;gap:10px;margin-bottom:22px}
.eyebrow::before{content:"";width:34px;height:2px;background:linear-gradient(90deg,var(--cool),var(--amber))}
.eyebrow.on-dark{color:var(--amber)}
.eyebrow.sky{color:var(--sky)}
.eyebrow.sky::before{background:linear-gradient(90deg,#2C434B,var(--sky))}
h2.sec-title{font-family:var(--disp);font-weight:900;font-size:clamp(1.7rem,4.6vw,2.7rem);line-height:1.32;letter-spacing:.01em;margin-bottom:26px}
.lead{font-size:1.02rem;color:#4A4138;max-width:60ch}
.on-dark .lead,.lead.on-dark{color:#D8CFC0}

/* header */
header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(246,241,232,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:transform .35s ease}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:900;font-size:1.02rem;letter-spacing:.02em;cursor:pointer}
.brand .mark{width:30px;height:30px;border-radius:7px;flex:0 0 auto;background:radial-gradient(circle at 30% 30%, var(--amber), var(--amber-deep) 70%);position:relative}
.brand .mark::after{content:"";position:absolute;inset:0;border-radius:7px;background:linear-gradient(160deg,transparent 55%,var(--cool-deep) 56%);opacity:.55}
.nav-links{display:flex;align-items:center;gap:24px}
.nav-links a{font-size:.9rem;font-weight:500;color:#4A4138;transition:color .2s;cursor:pointer;white-space:nowrap}
.nav-links a:hover{color:var(--amber-deep)}
.btn-entry{font-family:var(--disp);font-weight:700;font-size:.9rem;background:var(--amber);color:#fff;padding:11px 24px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;box-shadow:0 6px 18px rgba(224,146,43,.32);transition:transform .2s,box-shadow .2s,background .2s}
.btn-entry:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(224,146,43,.42);background:var(--amber-deep)}
.btn-entry .arr{font-family:var(--mono)}
.hamburger{display:none}

/* hero */
.hero{background:var(--espresso);color:var(--paper);padding:140px 0 90px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;top:-20%;right:-10%;width:60vw;height:90vh;background:radial-gradient(circle, rgba(224,146,43,.20), transparent 62%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:48px;align-items:center;position:relative}
.hero h1{font-family:var(--disp);font-weight:900;font-size:clamp(2.5rem,7.2vw,4.7rem);line-height:1.18;letter-spacing:.005em;margin-bottom:28px}
.hero h1 .warm{color:var(--amber)}
.hero-sub{font-size:1.06rem;color:#D8CFC0;max-width:46ch;margin-bottom:38px;line-height:2}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.btn-ghost{font-family:var(--disp);font-weight:700;font-size:.92rem;border:1.5px solid rgba(246,241,232,.4);color:var(--paper);padding:13px 26px;border-radius:999px;background:transparent;cursor:pointer;transition:border-color .2s,background .2s}
.btn-ghost:hover{border-color:var(--amber);background:rgba(224,146,43,.1)}
.tscale{position:relative;height:340px;border-left:2px solid var(--line-light);margin-left:30px}
.tscale .tick{position:absolute;left:-2px;display:flex;align-items:center;gap:12px;transform:translateY(50%)}
.tscale .tick{transform:translateY(-50%)}
.tscale .tick .bar{width:18px;height:2px;background:rgba(246,241,232,.4)}
.tscale .tick .lbl{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;white-space:nowrap}
.tscale .tick.warm .bar{width:34px;background:var(--amber);height:3px}
.tscale .tick.warm .lbl{color:var(--amber);font-weight:700}
.tscale .tick.cold .bar{width:34px;background:#7FA3AD;height:3px}
.tscale .tick.cold .lbl{color:#7FA3AD;font-weight:700}
.tscale .fill{position:absolute;left:-2px;bottom:0;width:4px;border-radius:4px;background:linear-gradient(#7FA3AD,var(--amber))}

/* crisis */
.crisis{background:var(--cool-deep);color:var(--paper);padding:64px 0}
.crisis-grid{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center}
.bignum{font-family:var(--mono);font-weight:700;line-height:.9}
.bignum .n{font-size:clamp(3.6rem,11vw,6.4rem);color:var(--amber)}
.bignum .u{font-size:1.1rem;color:#C9D6DA;letter-spacing:.1em;margin-top:6px}
.crisis p{color:#CBD7DB;max-width:54ch;font-size:1.02rem}
.crisis strong{color:#fff;font-weight:700}

/* hero philosophy signature 物/心 */
.philo{display:flex;flex-direction:column;gap:8px;padding-left:14px}
.philo-item{display:flex;align-items:center;gap:24px}
.philo-item .kanji{font-family:var(--disp);font-weight:900;font-size:clamp(4rem,12vw,6.8rem);line-height:.86}
.philo-item.material .kanji{color:var(--amber)}
.philo-item.spirit .kanji{color:#86B0C2}
.philo-item .pl{display:flex;flex-direction:column;gap:3px}
.philo-item .pl .en{font-family:var(--mono);font-weight:700;font-size:.72rem;letter-spacing:.18em;color:#9A8F7E}
.philo-item .pl .jp{font-family:var(--disp);font-weight:700;font-size:1.08rem;color:var(--paper)}
.ryomen{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:.78rem;letter-spacing:.16em;color:var(--amber);padding-left:24px}
.ryomen .vr{display:inline-block;width:2px;height:26px;background:linear-gradient(var(--amber),#86B0C2)}

/* promise 物の約束/心の約束 */
.promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
.promise-card{border-radius:18px;padding:38px 34px;position:relative;overflow:hidden;border:1px solid var(--line)}
.promise-card .pk{position:absolute;top:-18px;right:8px;font-family:var(--disp);font-weight:900;font-size:8.5rem;line-height:1;opacity:.07;pointer-events:none}
.promise-card .ph-label{font-family:var(--mono);font-weight:700;font-size:.72rem;letter-spacing:.12em}
.promise-card h3{font-family:var(--disp);font-weight:900;font-size:1.7rem;margin:8px 0 8px}
.promise-card .def{font-size:.95rem;color:#5C5346;margin-bottom:22px}
.promise-card ul{list-style:none;display:flex;flex-direction:column;gap:14px}
.promise-card li{display:flex;gap:12px;font-size:.93rem;color:#4A4138;line-height:1.7}
.promise-card li b{color:var(--ink)}
.promise-card li .mk{font-weight:700;flex:0 0 auto}
.promise-card.material{background:linear-gradient(180deg,#FBF3E4,var(--paper));border-color:rgba(224,146,43,.4)}
.promise-card.material .pk{color:var(--amber)}
.promise-card.material .ph-label,.promise-card.material li .mk{color:var(--amber-deep)}
.promise-card.spirit{background:linear-gradient(180deg,#E9F1F4,var(--paper));border-color:rgba(92,138,166,.4)}
.promise-card.spirit .pk{color:var(--sky)}
.promise-card.spirit .ph-label,.promise-card.spirit li .mk{color:var(--cool)}

/* reform mission band */
.reform-mission{background:var(--espresso);color:var(--paper)}
.rm-grid{display:grid;grid-template-columns:.5fr 1fr;gap:48px;align-items:center;margin-top:18px}
.rm-stat .n{font-family:var(--mono);font-weight:700;font-size:clamp(3rem,9vw,5rem);color:var(--amber);line-height:.9}
.rm-stat .u{font-family:var(--mono);font-size:.82rem;color:#C9D6DA;letter-spacing:.04em;margin-top:10px;max-width:34ch}
.reform-mission p{color:#D8CFC0;max-width:56ch}

section.block{padding:96px 0}
section.block.tight{padding:72px 0}

.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}

/* 写真ボックス（.ph）── 画像入り／プレースホルダ（.ph-empty）両対応 */
.ph{position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,var(--paper-2),#E3D8C4);display:flex;align-items:flex-end;aspect-ratio:4/3;border:1px solid var(--line)}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.ph picture{position:absolute;inset:0;display:block}
.ph .ph-note{font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;color:#8B7E68;padding:14px 16px;position:relative;z-index:1}
.ph.ph-empty::after{content:"▲ 写真は後日追加";position:absolute;top:14px;left:16px;font-family:var(--mono);font-size:.72rem;color:#A2937A;letter-spacing:.05em}
.ph:not(.ph-empty) .ph-note{display:none}
.ph.sky-ph{background:linear-gradient(135deg,#D5E0E6,#AFC4CF)}
.ph.sky-ph .ph-note{color:#5A7180}
.ph.sky-ph.ph-empty::after{color:#6E8895}

/* numbers / 実績 */
.numbers{background:var(--paper-2)}
.num-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.num-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:30px 26px}
.num-card .k{font-family:var(--mono);font-weight:700;font-size:clamp(1.9rem,5vw,2.6rem);color:var(--amber-deep);line-height:1}
.num-card .k small{font-size:1rem;color:var(--ink)}
.num-card .k .star{color:#B9A98C;font-size:1.1rem}
.num-card .d{margin-top:12px;font-size:.9rem;color:#5C5346;font-weight:500}

/* business */
.biz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.biz-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper);transition:transform .25s,box-shadow .25s}
.biz-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(34,28,23,.1)}
.biz-card .ph{border-radius:0;border:none;border-bottom:1px solid var(--line);aspect-ratio:16/10}
.biz-card .body{padding:24px 24px 28px}
.biz-card .tag{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.12em;color:var(--cool);text-transform:uppercase}
.biz-card h3{font-family:var(--disp);font-weight:700;font-size:1.28rem;margin:8px 0 12px}
.biz-card p{font-size:.92rem;color:#5C5346}
.biz-card .blink{font-family:var(--disp);font-weight:700;font-size:.84rem;color:var(--amber-deep);margin-top:14px;display:inline-block}
.biz-card a.blink:hover{text-decoration:underline}
.biz-note{margin-top:30px;padding:22px 26px;border-left:3px solid var(--amber);background:var(--paper);border-radius:0 12px 12px 0;font-size:.95rem;color:#4A4138}
.biz-note b{color:var(--ink)}

/* culture */
.culture{background:var(--espresso);color:var(--paper)}
.role-engine{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}
.engine-card{border:1px solid var(--line-light);border-radius:14px;padding:26px;background:rgba(255,255,255,.02)}
.engine-card .no{font-family:var(--mono);font-weight:700;color:var(--amber);font-size:.85rem;letter-spacing:.1em}
.engine-card h4{font-family:var(--disp);font-weight:700;font-size:1.15rem;margin:8px 0 8px}
.engine-card p{font-size:.9rem;color:#C9BFB0}
.culture-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.pillar h4{font-family:var(--disp);font-weight:700;font-size:1.1rem;color:var(--amber);margin-bottom:10px;display:flex;gap:10px;align-items:baseline}
.pillar h4 .pn{font-family:var(--mono);font-size:.8rem;color:#7FA3AD}
.pillar p{font-size:.92rem;color:#C9BFB0}

/* interview */
.intv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.intv-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column}
.intv-card .ph{border-radius:0;border:none;border-bottom:1px solid var(--line);aspect-ratio:4/3}
.intv-card .ibody{padding:24px 24px 28px;display:flex;flex-direction:column;gap:12px}
.intv-card .role{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--cool);text-transform:uppercase}
.intv-card .pull{font-family:var(--disp);font-weight:700;font-size:1.18rem;line-height:1.5;color:var(--ink)}
.intv-card .pull .hl{color:var(--amber-deep)}
.intv-card .qa{font-size:.88rem;color:#5C5346;border-top:1px solid var(--line);padding-top:12px}
.intv-card .qa .q{font-weight:700;color:var(--ink)}
.intv-card .who{font-size:.82rem;color:#8B7E68;margin-top:auto}

/* program / 制度教育 */
.program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px}
.prog-card{border:1px solid var(--line);border-radius:14px;padding:28px;background:var(--paper)}
.prog-card .pi{font-family:var(--mono);font-weight:700;font-size:.74rem;letter-spacing:.1em;color:var(--cool)}
.prog-card h4{font-family:var(--disp);font-weight:700;font-size:1.2rem;margin:8px 0 10px}
.prog-card p{font-size:.92rem;color:#5C5346}

/* awards */
.awards{background:var(--espresso);color:var(--paper)}
.award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.award-card{border:1px solid var(--line-light);border-radius:14px;padding:28px 26px;background:rgba(255,255,255,.03);position:relative}
.award-card .yr{font-family:var(--mono);font-weight:700;color:var(--amber);font-size:.9rem;letter-spacing:.08em}
.award-card h4{font-family:var(--disp);font-weight:700;font-size:1.18rem;margin:10px 0 14px;line-height:1.5}
.award-card .rank{display:flex;flex-direction:column;gap:8px}
.award-card .rank span{font-size:.9rem;color:#D8CFC0;display:flex;align-items:baseline;gap:8px}
.award-card .rank span b{font-family:var(--disp);color:var(--amber);font-size:1.05rem}
.award-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.award-photos .ph{aspect-ratio:16/10}

/* jobs */
.jobs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:10px}
.job-card{border:1px solid var(--line);border-radius:16px;padding:30px;background:var(--paper);display:flex;flex-direction:column;gap:14px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative}
.job-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(34,28,23,.1);border-color:var(--amber)}
.job-card .jtop{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.job-card .emp{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.1em;color:#fff;background:var(--cool);padding:4px 10px;border-radius:999px;white-space:nowrap}
.job-card h3{font-family:var(--disp);font-weight:700;font-size:1.3rem;line-height:1.4}
.job-card .hook{font-size:.94rem;color:#5C5346}
.job-card .pay{font-family:var(--mono);font-weight:700;font-size:1.05rem;color:var(--amber-deep)}
.job-card .pay small{font-family:var(--body);font-size:.78rem;color:#8B7E68;font-weight:400}
.job-card .more{font-family:var(--disp);font-weight:700;font-size:.86rem;color:var(--amber-deep);margin-top:auto}
.job-card.feature{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber) inset;background:linear-gradient(180deg,#FCF4E6,var(--paper))}
.job-card.feature .ribbon{position:absolute;top:0;right:24px;transform:translateY(-50%);font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.08em;background:var(--amber);color:#fff;padding:5px 12px;border-radius:999px}

/* ceo */
.ceo{background:var(--paper-2)}
.ceo-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
.ceo blockquote{font-family:var(--disp);font-weight:700;font-size:clamp(1.3rem,3.4vw,1.9rem);line-height:1.6;margin-bottom:24px;letter-spacing:.01em}
.ceo blockquote .hl{color:var(--amber-deep)}
.ceo .sig{font-size:.92rem;color:#5C5346}
.ceo .sig b{font-family:var(--disp);font-size:1.05rem;color:var(--ink)}

/* flow */
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:10px}
.flow-step{border:1px solid var(--line);border-radius:14px;padding:26px;background:var(--paper)}
.flow-step .fn{font-family:var(--mono);font-weight:700;color:var(--amber);font-size:.85rem;letter-spacing:.1em}
.flow-step h4{font-family:var(--disp);font-weight:700;font-size:1.1rem;margin:10px 0 6px}
.flow-step p{font-size:.86rem;color:#5C5346}

.info-table{width:100%;border-collapse:collapse;margin-top:10px}
.info-table th,.info-table td{text-align:left;padding:18px 6px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.95rem}
.info-table th{width:200px;font-family:var(--disp);font-weight:700;color:var(--ink)}
.info-table td{color:#4A4138}

/* entry */
.entry{background:var(--espresso);color:var(--paper);position:relative;overflow:hidden}
.entry::before{content:"";position:absolute;bottom:-30%;left:-5%;width:50vw;height:80vh;background:radial-gradient(circle,rgba(224,146,43,.16),transparent 60%)}
.entry .wrap{position:relative}
.entry h1,.entry h2{font-family:var(--disp);font-weight:900;font-size:clamp(1.9rem,5vw,3rem);line-height:1.3;margin-bottom:20px}
.entry h1 .warm,.entry h2 .warm{color:var(--amber)}
.entry-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px;max-width:720px}
.entry-form .full{grid-column:1/-1}
.entry-form label{display:block;font-size:.82rem;color:#C9BFB0;margin-bottom:8px;font-weight:500}
.entry-form label .req{color:var(--amber);margin-left:6px;font-weight:700}
.entry-form input,.entry-form select,.entry-form textarea{width:100%;padding:13px 16px;border-radius:10px;border:1px solid rgba(246,241,232,.22);background:rgba(255,255,255,.04);color:var(--paper);font-family:var(--body);font-size:1rem}
.entry-form input::placeholder,.entry-form textarea::placeholder{color:#8C8170}
.entry-form input:focus,.entry-form select:focus,.entry-form textarea:focus{outline:2px solid var(--amber);border-color:transparent}
.entry-form select option{color:#221C17}
/* ハニーポット（人間には不可視） */
.hp-field{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px;height:1px;overflow:hidden}
.submit-row{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.submit-row .btn-entry{font-size:1rem;padding:15px 36px}
.form-note{font-size:.8rem;color:#A99E8C;letter-spacing:.02em}
.consent{grid-column:1/-1;font-size:.82rem;color:#C9BFB0;display:flex;gap:10px;align-items:flex-start;line-height:1.6}
.consent input{width:auto;margin-top:4px}
.consent a{color:var(--amber);text-decoration:underline}

/* フォーム送信結果（form.php / thanks） */
.result-section{background:var(--espresso);color:var(--paper);min-height:62vh;display:flex;align-items:center;padding:130px 0 90px;position:relative;overflow:hidden}
.result-section::before{content:"";position:absolute;top:-20%;right:-10%;width:55vw;height:80vh;background:radial-gradient(circle,rgba(224,146,43,.16),transparent 62%);pointer-events:none}
.result-card{max-width:640px;margin:0 auto;text-align:center;position:relative}
.result-card .eyebrow{justify-content:center}
.result-card h1{font-family:var(--disp);font-weight:900;font-size:clamp(1.7rem,4.4vw,2.5rem);margin-bottom:18px;line-height:1.35}
.result-card.ok h1{color:var(--amber)}
.result-card.err h1{color:#E8A06B}
.result-card p{color:#D8CFC0;margin-bottom:12px}
.result-card .errlist{text-align:left;display:inline-block;margin:6px auto 24px;color:#F0C9BC;list-style:none}
.result-card .errlist li{margin:8px 0;padding-left:22px;position:relative}
.result-card .errlist li::before{content:"!";position:absolute;left:0;top:0;color:#E8A06B;font-weight:700}
.result-card .actions{margin-top:30px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

footer{background:#0E0A07;color:#9A8F7E;padding:54px 0 40px;font-size:.85rem}
.foot-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-end}
.foot-logo{width:170px;height:auto;margin-bottom:14px}
.foot-brand{font-family:var(--disp);font-weight:900;color:var(--paper);font-size:1.1rem;letter-spacing:.02em}
.foot-grid a:hover{color:var(--amber)}

.mobile-entry{display:none}

@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}
}

/* craftsman page */
.craft-hero{background:#14100C;color:var(--paper);padding:130px 0 90px;position:relative;overflow:hidden}
.craft-hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(224,146,43,.04) 0 2px,transparent 2px 22px)}
.back-link{font-family:var(--mono);font-size:.8rem;color:#9A8F7E;margin-bottom:30px;display:inline-flex;gap:8px;align-items:center;cursor:pointer;position:relative}
.back-link:hover{color:var(--amber)}
.craft-hero h1{font-family:var(--disp);font-weight:900;font-size:clamp(2.2rem,6.2vw,4rem);line-height:1.28;margin-bottom:26px;position:relative}
.craft-hero h1 .warm{color:var(--amber)}
.craft-hero .csub{color:#D8CFC0;font-size:1.05rem;max-width:48ch;line-height:2;position:relative}
.craft-why{padding:90px 0}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.why-points{display:flex;flex-direction:column;gap:22px;margin-top:8px}
.why-point{display:flex;gap:18px;align-items:flex-start}
.why-point .pn{font-family:var(--mono);font-weight:700;color:var(--amber-deep);font-size:1.1rem;flex:0 0 auto;padding-top:2px}
.why-point h4{font-family:var(--disp);font-weight:700;font-size:1.12rem;margin-bottom:6px}
.why-point p{font-size:.93rem;color:#5C5346}
.future{background:var(--cool-deep);color:var(--paper);padding:90px 0}
.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.future-card{border:1px solid var(--line-light);border-radius:14px;padding:28px;background:rgba(255,255,255,.03)}
.future-card .fi{font-family:var(--mono);font-weight:700;color:var(--amber);letter-spacing:.08em;font-size:.8rem}
.future-card h4{font-family:var(--disp);font-weight:700;font-size:1.18rem;margin:12px 0 10px}
.future-card p{font-size:.92rem;color:#CBD7DB}
.family{padding:90px 0;background:var(--paper-2)}
.family-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.family-list{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:14px}
.family-list li{display:flex;gap:14px;align-items:flex-start;font-size:.96rem;color:#4A4138}
.family-list li .ck{color:var(--amber-deep);font-weight:700;flex:0 0 auto}

/* craft: audiences & roadmap */
.aud-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
.aud-card{border-radius:16px;padding:34px;border:1px solid var(--line)}
.aud-card.a1{background:linear-gradient(180deg,#FBF3E4,var(--paper))}
.aud-card.a2{background:linear-gradient(180deg,#E9F1F4,var(--paper))}
.aud-card .at{font-family:var(--mono);font-weight:700;font-size:.74rem;letter-spacing:.1em;color:var(--amber-deep)}
.aud-card.a2 .at{color:var(--cool)}
.aud-card h4{font-family:var(--disp);font-weight:900;font-size:1.32rem;margin:10px 0 12px;line-height:1.5}
.aud-card p{font-size:.94rem;color:#4A4138}
.road-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px}
.road-card{border:1px solid var(--line-light);border-radius:12px;padding:22px 16px;background:rgba(255,255,255,.03);text-align:center}
.road-card .yr{font-family:var(--mono);font-weight:700;color:var(--amber);font-size:.78rem;letter-spacing:.06em}
.road-card .num{font-family:var(--disp);font-weight:900;font-size:1.9rem;color:var(--paper);line-height:1;margin:4px 0 8px}
.road-card h5{font-family:var(--disp);font-weight:700;font-size:.9rem;margin-bottom:8px;line-height:1.45}
.road-card p{font-size:.76rem;color:#C9BFB0}
.road-foot{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}
.road-foot .rf{flex:1;min-width:200px;border-left:3px solid var(--amber);padding:6px 0 6px 16px;font-size:.92rem;color:#D8CFC0}

/* drone page */
.drone-hero{background:#101E24;color:var(--paper);padding:130px 0 90px;position:relative;overflow:hidden}
.drone-hero::before{content:"";position:absolute;top:-10%;right:-8%;width:55vw;height:80vh;background:radial-gradient(circle,rgba(92,138,166,.28),transparent 62%);pointer-events:none}
.drone-hero h1{font-family:var(--disp);font-weight:900;font-size:clamp(2.2rem,6.2vw,4rem);line-height:1.26;margin-bottom:26px;position:relative}
.drone-hero h1 .sky{color:#8FBCD4}
.drone-hero .dsub{color:#CBD9E0;font-size:1.05rem;max-width:50ch;line-height:2;position:relative}
.drone-hero .back-link{color:#8DA6B2}
.drone-hero .back-link:hover{color:#8FBCD4}
.drone-feat{padding:90px 0}
.dfeat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.dfeat-card{border:1px solid var(--line);border-radius:14px;padding:28px;background:var(--paper)}
.dfeat-card .di{font-family:var(--mono);font-weight:700;color:var(--sky);font-size:.78rem;letter-spacing:.08em}
.dfeat-card h4{font-family:var(--disp);font-weight:700;font-size:1.16rem;margin:10px 0 10px}
.dfeat-card p{font-size:.92rem;color:#5C5346}
.drone-stats{background:#1B2E36;color:var(--paper);padding:64px 0}
.dstat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.dstat .k{font-family:var(--mono);font-weight:700;font-size:clamp(1.8rem,4.6vw,2.5rem);color:#8FBCD4;line-height:1}
.dstat .d{font-size:.88rem;color:#BCCDD5;margin-top:8px}
.drone-roles{padding:90px 0;background:var(--paper-2)}
.drole-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
.drole-card{border:1px solid var(--line);border-radius:16px;padding:30px;background:var(--paper)}
.drole-card h4{font-family:var(--disp);font-weight:700;font-size:1.25rem;margin-bottom:10px}
.drole-card p{font-size:.92rem;color:#5C5346}
.drone-cta-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:700;color:var(--sky);margin-top:14px;font-size:.9rem}
.drone-cta-link:hover{text-decoration:underline}
.drone-logos{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.drone-logos img{height:50px;width:auto}

/* responsive */
@media (max-width:900px){
  .hero-grid,.mission-grid,.biz-grid,.num-grid,.jobs-grid,.flow-grid,.ceo-grid,.role-engine,.culture-pillars,.crisis-grid,.future-grid,.why-grid,.family-grid,.entry-form,.intv-grid,.program-grid,.dfeat-grid,.dstat-grid,.drole-grid,.promise-grid,.rm-grid,.award-grid,.aud-grid,.road-grid,.award-photos{grid-template-columns:1fr}
  .tscale{display:none}
  .nav-links{display:none}
  .hamburger{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
  .hamburger span{width:24px;height:2px;background:var(--ink);display:block;border-radius:2px}
  .nav .btn-entry{display:none}
  .num-grid,.dstat-grid{grid-template-columns:1fr 1fr}
  .info-table th{width:130px}
  .mobile-entry{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:120;background:rgba(22,17,13,.95);backdrop-filter:blur(8px);padding:12px 16px;gap:12px;border-top:1px solid var(--line-light)}
  .mobile-entry .btn-entry{flex:1;justify-content:center}
  body{padding-bottom:66px}
  .mobile-menu.open{display:flex}
}
@media (max-width:560px){
  .num-grid,.dstat-grid{grid-template-columns:1fr}
  section.block{padding:64px 0}
  .hero{padding:118px 0 64px}
}
.mobile-menu{display:none;position:fixed;inset:68px 0 0;z-index:99;background:var(--paper);flex-direction:column;padding:30px 24px;gap:4px;overflow-y:auto}
.mobile-menu a{padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--disp);font-weight:700;font-size:1.1rem;cursor:pointer}
.mobile-menu .btn-entry{margin-top:20px;justify-content:center;font-size:1rem;padding:15px}


/* ===== 社員インタビュー：もっと読むボタン & モーダル ===== */
.intv-more{align-self:flex-start;margin-top:2px;background:none;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-family:var(--body);font-size:.84rem;font-weight:700;color:var(--cool-deep);cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.intv-more:hover{background:var(--cool);color:#fff;border-color:var(--cool)}
.intv-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.intv-modal[hidden]{display:none}
.intv-modal__overlay{position:absolute;inset:0;background:rgba(22,17,13,.55)}
.intv-modal__panel{position:relative;background:var(--paper);border-radius:18px;max-width:680px;width:100%;max-height:88vh;overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.32)}
.intv-modal__close{position:absolute;top:12px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:none;background:rgba(255,255,255,.9);font-size:1.5rem;line-height:1;cursor:pointer;color:var(--ink)}
.intv-modal__close:hover{background:#fff}
.intv-modal__head{display:flex;gap:18px;align-items:flex-end;padding:26px 28px 18px;border-bottom:1px solid var(--line)}
.intv-modal__ph{flex:0 0 134px;width:134px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.intv-modal__ph img{width:100%;height:100%;object-fit:cover;display:block}
.intv-modal__role{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--cool);text-transform:uppercase}
.intv-modal__name{font-family:var(--disp);font-weight:700;font-size:1.18rem;color:var(--ink);margin-top:5px}
.intv-modal__pull{font-family:var(--disp);font-weight:700;font-size:1.05rem;line-height:1.5;color:var(--ink);margin-top:8px}
.intv-modal__pull .hl{color:var(--amber-deep)}
.intv-modal__body{padding:6px 28px 4px}
.intv-qa{padding:18px 0;border-bottom:1px solid var(--line)}
.intv-qa:last-child{border-bottom:none}
.intv-qa h4{font-family:var(--disp);font-size:.98rem;font-weight:700;color:var(--amber-deep);margin:0 0 6px}
.intv-qa p{font-size:.92rem;line-height:1.85;color:#4a4239;margin:0}
.intv-modal__foot{padding:18px 28px 26px}
.intv-cta{display:inline-block;background:var(--amber);color:#fff;font-weight:700;text-decoration:none;padding:12px 24px;border-radius:999px;font-size:.9rem;transition:background .18s}
.intv-cta:hover{background:var(--amber-deep)}
@media(max-width:560px){
  .intv-modal{padding:10px}
  .intv-modal__head{flex-direction:column;align-items:flex-start;gap:12px;padding:22px 20px 16px}
  .intv-modal__ph{width:118px;flex-basis:118px}
  .intv-modal__body{padding-left:20px;padding-right:20px}
  .intv-modal__foot{padding:16px 20px 24px}
}
