/* /company/（会社案内）only. v0.37.0：参考画像の構成（FV → 会社について → 3つの特長 → 会社概要 → アクセス → 濃紺 CTA）を、
   /flow/・/area/・/faq/ と同じ値（docs/20-共通デザインルール.md）で組んだもの。新しい色は足していない。
   共通ヘッダー・フッター・他ページは変更しない（このファイルは inc/setup.php で /company/ のときだけ読み込む）。 */
.sp-page-company { --c-navy:#0b2e48; --c-gold:#af8a50; --c-badge:#b99a69; --c-line:#e6dfd1; --c-rule:#c4a57c; --c-muted:#566877; --c-paper:#fffdf8; --c-tint:#f5f2e9; --c-serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif; }
.sp-page-company #sp-main.sp-main { background:var(--c-paper); color:var(--c-navy); font-size:14px; }
.sp-page-company #sp-main.sp-main .sp-wrap { max-width:1320px; }
.sp-page-company #sp-main.sp-main h1,.sp-page-company #sp-main.sp-main h2,.sp-page-company #sp-main.sp-main h3 { background:none; border:0; padding:0; color:var(--c-navy); font-family:var(--c-serif); font-weight:600; }
.sp-page-company #sp-main.sp-main h2 { font-size:30px; line-height:1.65; letter-spacing:.03em; margin:0; }
.sp-page-company #sp-main.sp-main h2::before,.sp-page-company #sp-main.sp-main h2::after,.sp-page-company #sp-main.sp-main h3::before,.sp-page-company #sp-main.sp-main h3::after { content:none; }
.sp-page-company #sp-main.sp-main p { line-height:1.9; margin:12px 0; }
.sp-page-company #sp-main.sp-main figure { margin:0; }
.sp-page-company #sp-main.sp-main figure img { display:block; width:100%; height:100%; object-fit:cover; }
.sp-page-company #sp-main.sp-main a:focus-visible { outline:3px solid #d59a43; outline-offset:4px; }
.sp-page-company #sp-main.sp-main .c37-eye { font:italic 12px/1.8 Georgia,serif; letter-spacing:.18em; color:var(--c-gold); margin:0 0 10px; }
.sp-page-company #sp-main.sp-main .c37-section { padding:56px 0; }
.sp-page-company #sp-main.sp-main .c37-heading { text-align:center; margin-bottom:34px; }

/* FV：/flow/・/area/ と同じ 2 列グリッド・高さ・背景。ボタンは置かない。 */
.sp-page-company #sp-main.sp-main .c37-hero { background:linear-gradient(110deg,#f5f1e6,#fffef9); }
.sp-page-company #sp-main.sp-main .c37-hero__grid { display:grid; grid-template-columns:1.08fr 1fr; max-width:1600px; margin:auto; min-height:430px; }
.sp-page-company #sp-main.sp-main .c37-hero:not(.has-photo) .c37-hero__grid { grid-template-columns:1fr; min-height:300px; }
.sp-page-company #sp-main.sp-main .c37-hero__copy { display:flex; flex-direction:column; justify-content:center; padding:44px 42px 44px max(28px,calc((100vw - 1260px) / 2)); }
.sp-page-company #sp-main.sp-main .c37-hero h1 { font-size:clamp(31px,3vw,43px); line-height:1.5; letter-spacing:.08em; margin:4px 0 18px; }
.sp-page-company #sp-main.sp-main .c37-hero__catch { font:600 clamp(20px,1.75vw,25px)/1.75 var(--c-serif); letter-spacing:.06em; margin:0 0 18px; }
.sp-page-company #sp-main.sp-main .c37-hero__lead { max-width:520px; font-size:14px; line-height:1.95; color:var(--c-muted); margin:0; }
.sp-page-company #sp-main.sp-main .c37-hero__photo { position:relative; min-width:0; overflow:hidden; }
.sp-page-company #sp-main.sp-main .c37-hero__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fffdf8c0,transparent 35%); pointer-events:none; }
.sp-page-company #sp-main.sp-main .c37-hero__photo img { position:absolute; inset:0; object-position:24% 50%; }

/* 会社について：中央寄せの短い紹介文 */
.sp-page-company #sp-main.sp-main .c37-about { background:#fff; }
.sp-page-company #sp-main.sp-main .c37-about__text { max-width:780px; margin:0 auto; text-align:center; }
.sp-page-company #sp-main.sp-main .c37-about__text p { font-size:15px; line-height:2.15; letter-spacing:.03em; margin:0 0 14px; }
.sp-page-company #sp-main.sp-main .c37-about__text p:last-child { margin-bottom:0; }

/* 3つの特長：白・細罫線・角なし。番号は /area/ の事前情報と同じ小さな真鍮の丸（34px）。 */
.sp-page-company #sp-main.sp-main .c37-features { background:var(--c-tint); }
.sp-page-company #sp-main.sp-main .c37-features__list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; margin:0; padding:17px 0 0; }
.sp-page-company #sp-main.sp-main .c37-feature { position:relative; margin:0; padding:40px 30px 32px; background:#fff; border:1px solid var(--c-line); text-align:center; }
.sp-page-company #sp-main.sp-main .c37-feature__no { position:absolute; top:-17px; left:24px; display:flex; width:34px; height:34px; align-items:center; justify-content:center; border-radius:50%; background:var(--c-badge); color:#fff; font:15px/1 Georgia,serif; letter-spacing:.02em; }
.sp-page-company #sp-main.sp-main .c37-feature__icon { display:block; width:52px; height:52px; margin:0 auto 14px; fill:none; stroke:var(--c-gold); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.sp-page-company #sp-main.sp-main .c37-feature h3 { font-size:19px; line-height:1.6; letter-spacing:.03em; margin:0 0 12px; }
.sp-page-company #sp-main.sp-main .c37-feature p { font-size:13px; line-height:2; color:var(--c-muted); margin:0; text-align:left; }

/* 会社概要：表だけを共通幅の中で中央に広めに置く（v0.41.2 で左の写真を廃止） */
.sp-page-company #sp-main.sp-main .c37-info { background:#fff; }
.sp-page-company #sp-main.sp-main .c37-info__grid { display:grid; grid-template-columns:minmax(0,1fr); max-width:980px; margin:0 auto; }
.sp-page-company #sp-main.sp-main .c37-table { width:100%; margin:0; border-collapse:collapse; border-top:1px solid var(--c-line); background:#fff; font-size:14px; }
.sp-page-company #sp-main.sp-main .c37-table th,.sp-page-company #sp-main.sp-main .c37-table td { padding:15px 20px; border:0; border-bottom:1px solid var(--c-line); text-align:left; vertical-align:top; line-height:1.85; }
.sp-page-company #sp-main.sp-main .c37-table th { width:8.5em; background:var(--c-tint); color:var(--c-navy); font-size:13px; font-weight:600; letter-spacing:.04em; white-space:nowrap; }
.sp-page-company #sp-main.sp-main .c37-table td { color:var(--c-navy); background:#fff; }
.sp-page-company #sp-main.sp-main .c37-table a { color:var(--c-navy); text-decoration:none; border-bottom:1px solid var(--c-rule); }
.sp-page-company #sp-main.sp-main .c37-table a:hover { border-bottom-color:var(--c-navy); }
.sp-page-company #sp-main.sp-main .c37-biz { list-style:none; margin:0; padding:0; }
.sp-page-company #sp-main.sp-main .c37-biz li { margin:0 0 6px; padding:0; }
.sp-page-company #sp-main.sp-main .c37-biz li:last-child { margin-bottom:0; }
.sp-page-company #sp-main.sp-main .c37-biz small { display:block; font-size:12px; line-height:1.8; color:var(--c-muted); }

/* アクセス・所在地：左に地図、右に所在地・電話・営業時間 */
.sp-page-company #sp-main.sp-main .c37-access__grid { display:grid; grid-template-columns:minmax(0,1fr); max-width:640px; margin:0 auto; }
.sp-page-company #sp-main.sp-main .c37-access__grid.has-map { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:48px; max-width:none; align-items:center; }
.sp-page-company #sp-main.sp-main .c37-access__map .sp-map { aspect-ratio:16 / 10; border-color:var(--c-line); }
.sp-page-company #sp-main.sp-main .c37-access__info dl { margin:0; }
.sp-page-company #sp-main.sp-main .c37-access__info dl > div { padding:0 0 18px; margin:0 0 18px; border-bottom:1px solid var(--c-line); }
.sp-page-company #sp-main.sp-main .c37-access__info dt { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:600; letter-spacing:.06em; color:var(--c-muted); margin:0 0 6px; }
.sp-page-company #sp-main.sp-main .c37-access__info dt svg { width:18px; height:18px; flex:none; fill:none; stroke:var(--c-gold); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.sp-page-company #sp-main.sp-main .c37-access__info dd { margin:0 0 0 26px; font-size:15px; line-height:1.85; }
.sp-page-company #sp-main.sp-main .c37-access__tel { font:600 27px/1.4 var(--c-serif); letter-spacing:.04em; color:var(--c-navy); text-decoration:none; white-space:nowrap; font-variant-numeric:lining-nums; }
.sp-page-company #sp-main.sp-main .c37-access__holiday { display:inline-block; font-size:13px; color:var(--c-muted); }
.sp-page-company #sp-main.sp-main .c37-access__note { font-size:13px; line-height:1.9; color:var(--c-muted); margin:4px 0 14px; }
.sp-page-company #sp-main.sp-main .c37-link { display:inline-block; color:#8c5826; text-decoration:none; border-bottom:1px solid var(--c-rule); padding:0 0 4px; font-size:13px; font-weight:600; }
.sp-page-company #sp-main.sp-main .c37-link span[aria-hidden] { margin-left:6px; }
.sp-page-company #sp-main.sp-main .c37-link:hover { color:var(--c-navy); }

/* 採用情報・Instagram：/area/ の関連カードと同じ形（白・細罫線・角なし・右下の矢印） */
.sp-page-company #sp-main.sp-main .c37-more { padding-top:0; }
.sp-page-company #sp-main.sp-main .c37-more__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:960px; margin:0 auto; }
.sp-page-company #sp-main.sp-main .c37-more__list:has(> a:only-child) { grid-template-columns:minmax(0,1fr); max-width:480px; }
.sp-page-company #sp-main.sp-main .c37-more__list > a { display:flex; flex-direction:column; border:1px solid var(--c-line); padding:22px; text-decoration:none; color:inherit; background:#fff; }
.sp-page-company #sp-main.sp-main .c37-more__list > a:hover { border-color:var(--c-gold); }
.sp-page-company #sp-main.sp-main .c37-more__en { font:italic 11px/1.6 Georgia,serif; letter-spacing:.18em; color:var(--c-gold); margin:0 0 4px; }
.sp-page-company #sp-main.sp-main .c37-more h3 { font-size:17px; line-height:1.7; margin:0 0 8px; }
.sp-page-company #sp-main.sp-main .c37-more__list p:not(.c37-more__en) { font-size:12px; line-height:1.9; color:#586b78; margin:0 0 10px; }
.sp-page-company #sp-main.sp-main .c37-more__list span[aria-hidden] { color:#ad571d; align-self:flex-end; margin-top:auto; }

/* CTA：/flow/・/faq/ と同じ濃紺の面と大きなオレンジボタン */
.sp-page-company #sp-main.sp-main .c37-cta { padding:48px 0; background:radial-gradient(ellipse at 50% 0,#174863,#06273f); color:#fff; text-align:center; }
.sp-page-company #sp-main.sp-main .c37-cta h2 { color:#fff; font-size:33px; margin:10px 0 16px; }
.sp-page-company #sp-main.sp-main .c37-nw { display:inline-block; }
.sp-page-company #sp-main.sp-main .c37-cta .sp-wrap > p:not(.c37-eye):not(.c37-cta__sub) { color:#dfe8ed; font-size:14px; line-height:1.9; margin:0 0 24px; }
.sp-page-company #sp-main.sp-main .c37-main-cta { display:flex; align-items:center; justify-content:center; gap:24px; max-width:740px; min-height:74px; margin:0 auto 24px; padding:15px 24px; background:linear-gradient(110deg,#dc741a,#bc4e06); border:1px solid #e9bb7f; border-radius:5px; color:#fff; text-decoration:none; font-size:22px; font-weight:700; line-height:1.6; box-shadow:0 5px 14px #7c3f1115; }
.sp-page-company #sp-main.sp-main .c37-main-cta:hover { background:#a94607; color:#fff; }
.sp-page-company #sp-main.sp-main .c37-tel { display:flex; align-items:center; justify-content:center; gap:16px; color:#fff; text-decoration:none; }
.sp-page-company #sp-main.sp-main .c37-tel span { font-size:12px; }
.sp-page-company #sp-main.sp-main .c37-tel b { font-size:34px; letter-spacing:.03em; white-space:nowrap; }
.sp-page-company #sp-main.sp-main .c37-phone p { font-size:11px; color:#d8e4eb; margin:6px 0 0; }
.sp-page-company #sp-main.sp-main .c37-cta .c37-cta__sub { font-size:13px; margin:18px 0 0; }
.sp-page-company #sp-main.sp-main .c37-cta__sub a { color:#fff; text-decoration:none; border-bottom:1px solid #ffffff66; padding-bottom:1px; }
.sp-page-company #sp-main.sp-main .c37-cta__sub a:hover { border-bottom-color:#fff; }
.sp-page-company #sp-main.sp-main .c37-cta__sub span { margin-left:8px; color:#e9bb7f; }

@media (max-width:1100px) {
 .sp-page-company #sp-main.sp-main .c37-hero__copy { padding:32px 26px; }
 .sp-page-company #sp-main.sp-main .c37-hero__photo img { object-position:6% 50%; }
 .sp-page-company #sp-main.sp-main .c37-feature { padding:38px 22px 28px; }
 .sp-page-company #sp-main.sp-main .c37-access__grid.has-map { gap:34px; }
}
@media (max-width:899px) {
 .sp-page-company #sp-main.sp-main .c37-features__list { grid-template-columns:minmax(0,1fr); gap:30px; max-width:600px; margin:0 auto; }
 .sp-page-company #sp-main.sp-main .c37-access__grid.has-map { grid-template-columns:minmax(0,1fr); gap:28px; }
}
@media (max-width:800px) {
 .sp-page-company #sp-main.sp-main .c37-hero__grid { grid-template-columns:1.2fr 1fr; }
 .sp-page-company #sp-main.sp-main .c37-hero__copy { padding:28px 22px; }
 .sp-page-company #sp-main.sp-main h2 { font-size:26px; }
}
@media (max-width:767px) {
 .sp-page-company #sp-main.sp-main .c37-pc { display:none; }
 .sp-page-company #sp-main.sp-main .c37-about__text { text-align:left; }
 .sp-page-company #sp-main.sp-main .c37-more__list { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:600px) {
 .sp-page-company #sp-main.sp-main .c37-section { padding:38px 0; }
 .sp-page-company #sp-main.sp-main .c37-more { padding-top:0; }
 .sp-page-company #sp-main.sp-main .c37-heading { margin-bottom:26px; }
 .sp-page-company #sp-main.sp-main .c37-hero__grid { grid-template-columns:1fr; min-height:0; }
 .sp-page-company #sp-main.sp-main .c37-hero__copy { padding:28px 20px; }
 .sp-page-company #sp-main.sp-main .c37-hero h1 { font-size:30px; }
 .sp-page-company #sp-main.sp-main .c37-hero__catch { font-size:20px; }
 .sp-page-company #sp-main.sp-main .c37-hero__photo { height:220px; }
 .sp-page-company #sp-main.sp-main .c37-hero__photo::after { display:none; }
 .sp-page-company #sp-main.sp-main h2 { font-size:23px; }
 .sp-page-company #sp-main.sp-main .c37-about__text p { font-size:14px; line-height:2; }
 .sp-page-company #sp-main.sp-main .c37-feature { padding:34px 20px 24px; }
 .sp-page-company #sp-main.sp-main .c37-feature h3 { font-size:18px; }
 .sp-page-company #sp-main.sp-main .c37-table { font-size:13px; }
 .sp-page-company #sp-main.sp-main .c37-table th,.sp-page-company #sp-main.sp-main .c37-table td { padding:12px 12px; }
 .sp-page-company #sp-main.sp-main .c37-table th { width:5.6em; font-size:12px; letter-spacing:0; }
 .sp-page-company #sp-main.sp-main .c37-table td { word-break:break-all; }
 .sp-page-company #sp-main.sp-main .c37-access__tel { font-size:25px; }
 .sp-page-company #sp-main.sp-main .c37-more__list > a { padding:20px; position:relative; }
 .sp-page-company #sp-main.sp-main .c37-more__list span[aria-hidden] { position:absolute; right:20px; top:22px; }
 .sp-page-company #sp-main.sp-main .c37-more__list p:not(.c37-more__en) { padding-right:15px; margin-bottom:0; }
 .sp-page-company #sp-main.sp-main .c37-cta { padding:36px 0; }
 .sp-page-company #sp-main.sp-main .c37-cta h2 { font-size:24px; letter-spacing:0; }
 .sp-page-company #sp-main.sp-main .c37-main-cta { min-height:68px; font-size:20px; gap:20px; }
 .sp-page-company #sp-main.sp-main .c37-tel { flex-direction:column; gap:4px; }
 .sp-page-company #sp-main.sp-main .c37-tel b { font-size:30px; }
}
