/* えがおのめ 採用サイト 共通スタイル（色・余白・書体は :root に集約） */
@font-face{font-family:"EG Noto";src:url("../fonts/NotoSansJP-sub.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  --ink:#4a3a2e;        /* 本文・見出し */
  --ink-2:#6e5d50;      /* 補助文字 */
  --cta:#b9561f;        /* 丸いCTA・締めの帯 */
  --cta-hover:#9c4718;
  --accent:#ae4f1e;     /* 英字ラベル・番号 */
  --orange:#e2783a;     /* 下線・輪郭ボタン・三角 */
  --yellow:#f1c55e;     /* 菱形・下線 */
  --peach:#f6d7bd;      /* 飾りの輪・角丸四角 */
  --cream:#fff8ec;      /* 薄い背景の帯 */
  --card-line:#f1e3cf;  /* カード境界 */
  --rule:#eadcc8;       /* 表の罫線 */
  --icon-bg:#f7efe3;    /* アイコンの丸 */
  --stripe:#fcefd9;     /* 画像背後の斜線 */
  --head-line:#f2f1f0;  /* ヘッダー下線 */
  --cta-circle:#cc7c34;
  --font:"EG Noto","Noto Sans JP","Noto Sans CJK JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  --gutter:clamp(20px,5.56vw,80px);
  --wide:1280px;  /* ヘッダー・ヒーロー（1440幅で左右80px） */
  --wrap:1200px;  /* 各セクション（1440幅で左右120px） */
  --sec:clamp(72px,7.8vw,112px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:16.5px;line-height:2.1;letter-spacing:.04em;word-break:keep-all;overflow-wrap:anywhere;line-break:strict;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
ul,ol{margin:0;padding:0}
:focus-visible{outline:3px solid var(--cta);outline-offset:3px;border-radius:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nw{white-space:nowrap}
.skip{position:absolute;left:12px;top:-80px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:200;text-decoration:none;font-weight:700}
.skip:focus{top:12px}
.wide{width:min(100% - var(--gutter)*2,var(--wide));margin-inline:auto}
.wrap{width:min(100% - var(--gutter)*2,var(--wrap));margin-inline:auto}
.icon{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- ヘッダー ---------- */
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--head-line)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.brand{display:flex;align-items:center;gap:20px;text-decoration:none;flex:none}
.brand img{width:182px}
.pill{display:inline-flex;align-items:center;border:1.5px solid var(--accent);color:var(--accent);border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.08em;line-height:1;padding:8px 13px;white-space:nowrap}
.nav ul{list-style:none;display:flex;align-items:center;gap:clamp(18px,2.4vw,36px)}
.nav a{font-size:14.5px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:.06em;white-space:nowrap;padding:8px 0;display:inline-block;position:relative}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:not(.btn):hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav .btn{padding:13px 30px;font-size:14.5px;box-shadow:none}
.nav a.btn-primary,.nav a.btn-primary:hover{color:#fff}
.menu-btn{display:none}

/* ---------- ボタン ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:999px;font-weight:700;font-size:16px;line-height:1.4;letter-spacing:.06em;text-decoration:none;padding:17px 34px;border:2px solid transparent;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;text-align:center}
.btn .icon{width:16px;height:16px;stroke-width:2.4;transition:transform .2s}
.btn-primary{background:var(--cta);color:#fff;box-shadow:0 10px 24px rgba(185,86,31,.24)}
.btn-primary:hover{background:var(--cta-hover);color:#fff}
.btn-primary:hover .icon-right{transform:translateX(3px)}
.btn-outline{background:#fff;color:var(--cta);border-color:var(--orange)}
.btn-outline:hover{background:var(--cream)}
.btn-outline:hover .icon-down{transform:translateY(3px)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#2f241c;color:#fff}
.btn-white{background:#fff;color:var(--cta)}
.btn-white:hover{background:var(--cream)}
.btns{display:flex;flex-wrap:wrap;gap:16px}

/* ---------- 英字ラベル・見出し ---------- */
.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;font-size:13px;font-weight:700;line-height:1.5;color:var(--ink-2);letter-spacing:.1em}
.eyebrow::before{content:"";width:12px;height:12px;border-radius:2px;background:var(--yellow);transform:rotate(45deg);flex:none;margin-right:4px}
.eyebrow .en{color:var(--accent);font-weight:900;letter-spacing:.22em}
.eyebrow .sep{width:14px;height:1px;background:#e6d9c8;transform:rotate(-55deg)}
.sec-title{font-size:clamp(23px,1.2vw + 10px,27px);font-weight:900;line-height:1.63;letter-spacing:.05em;margin-top:26px}
.bar{display:block;width:64px;height:5px;border-radius:5px;background:linear-gradient(90deg,var(--orange) 0 60%,var(--yellow) 60% 100%);margin-top:28px}

/* ---------- ヒーロー ---------- */
.hero{padding:76px 0 112px;position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,60px);align-items:start}
.hero-copy{position:relative;padding-top:2px}
.hero h1{font-size:clamp(28px,2.2vw + 8px,40px);font-weight:900;line-height:1.6;letter-spacing:.03em;margin-top:28px}
.hero h1 .ln{display:block}
.hero .lead{margin-top:36px;line-height:2.1;letter-spacing:.01em}
.hero .btns{margin-top:56px}
.hero-art{position:relative;margin-top:0}
.hero-photo{position:relative;z-index:1;border-radius:24px;overflow:hidden;aspect-ratio:1672/941;background:var(--cream)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-art::before{content:"";position:absolute;inset:28px -28px -28px 28px;border-radius:24px;background:repeating-linear-gradient(-45deg,var(--stripe) 0 9px,#fff 9px 18px);z-index:0}
.caption{position:absolute;right:16px;bottom:14px;z-index:2;background:rgba(255,253,250,.95);color:var(--ink);font-size:12px;line-height:1;padding:8px 13px;border-radius:999px;letter-spacing:.06em}
.deco{position:absolute;pointer-events:none;z-index:0}
.d-circle{width:18px;height:18px;border-radius:50%;background:var(--yellow);right:-6%;top:-6px}
.d-tri{width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:22px solid var(--orange);right:4%;top:32px;transform:rotate(18deg)}
.d-sq{width:18px;height:18px;border-radius:4px;background:var(--peach);right:1%;bottom:-6px;transform:rotate(-14deg)}
.d-ring{width:46px;height:46px;border-radius:50%;border:6px solid var(--peach);right:-10%;bottom:-74px}

/* ---------- セクション（左見出し・右本文） ---------- */
.sec{padding:var(--sec) 0}
.sec.cream{background:var(--cream)}
.split{display:grid;grid-template-columns:444px minmax(0,1fr);align-items:start}
.split > .body{min-width:0}
.body-text{font-size:16.5px;line-height:2.15}
.body-text.lg{font-size:18px;line-height:2.35}
.body-text.md{font-size:18px;line-height:2.1}
.about-art{width:75%;margin:40px 0 0 auto}

/* POINT */
.points{list-style:none;display:grid;gap:16px}
.point{position:relative;display:grid;grid-template-columns:90px minmax(0,1fr);gap:32px;align-items:center;background:#fff;border:1.5px solid var(--card-line);border-radius:20px;padding:26px 64px 26px 27px;min-height:145px}
.point img{width:90px;height:90px}
.point h3{font-size:19px;font-weight:900;line-height:1.6;letter-spacing:.05em}
.point p{font-size:15.5px;line-height:1.95;margin-top:6px}
.point .num{position:absolute;top:22px;right:26px;font-size:13px;font-weight:900;color:var(--accent);letter-spacing:.08em;line-height:1}

/* WORK */
.work-cards{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px}
.work-card{background:#fff;border:1.5px solid var(--card-line);border-radius:20px;overflow:hidden;box-shadow:0 14px 28px -12px rgba(185,86,31,.16);display:flex;flex-direction:column;min-height:406px}
.work-card .ph{aspect-ratio:700/456;border-bottom:4px solid var(--yellow);background:#faf1e4}
.work-card:nth-child(2) .ph{border-bottom-color:var(--orange)}
.work-card:nth-child(3) .ph{border-bottom-color:var(--peach)}
.work-card .ph img{width:100%;height:100%;object-fit:cover}
.work-card .tx{padding:24px 24px 26px}
.work-card .no{font-size:12px;font-weight:900;color:var(--accent);letter-spacing:.18em;line-height:1.4}
.work-card h3{font-size:21px;font-weight:900;line-height:1.5;letter-spacing:.05em;margin-top:8px}
.work-card .note{background:var(--cream);border-radius:14px;padding:14px 15px;margin-top:18px;font-size:14.5px;line-height:2;color:var(--ink-2)}

/* RECRUIT */
.recruit-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,3.3vw,47px);align-items:center}
.recruit-aside{display:flex;flex-direction:column;align-items:center;gap:28px}
.recruit-aside img{width:148px}
.recruit-aside .btn{white-space:nowrap;padding:17px 30px}

/* OFFICE（表） */
.table{width:100%;border-collapse:collapse;border-top:1px solid var(--rule)}
.table th,.table td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:18px 6px;line-height:1.8}
.table th{width:150px;font-size:14.5px;font-weight:700;color:var(--ink-2);padding-right:16px}
.table td{font-size:15.5px}
.table td a{color:var(--ink);text-decoration:underline;text-decoration-color:#f0bb9c;text-underline-offset:6px;text-decoration-thickness:1.5px}
.table td a:hover{text-decoration-color:var(--cta)}
.table .sub{display:block;font-size:14px;color:var(--ink-2);margin-top:2px}
.table .group + .group{margin-top:14px}
.table strong{font-weight:700}
.after-table{margin-top:30px}

/* CONTACT */
.contact-cards{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px}
.c-card{display:flex;align-items:center;gap:22px;background:#fff;border:1.5px solid var(--card-line);border-radius:18px;padding:16px 24px;min-height:84px;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
a.c-card:hover{border-color:var(--orange);transform:translateY(-2px)}
.c-card .ic{width:46px;height:46px;border-radius:50%;background:var(--icon-bg);color:var(--cta);display:grid;place-items:center;flex:none}
.c-card .ic .icon{width:20px;height:20px}
.c-card .lb{display:block;font-size:12.5px;font-weight:700;color:var(--ink-2);line-height:1.5;letter-spacing:.06em}
.c-card .vl{display:block;font-size:17px;font-weight:700;line-height:1.5;letter-spacing:.03em;overflow-wrap:anywhere}

/* LINEバナー（お問い合わせページ） */
.line-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:40px;background:#fff;border:1.5px solid var(--card-line);border-radius:24px;padding:28px 32px;text-decoration:none;color:var(--ink);position:relative;overflow:hidden;transition:border-color .2s}
.line-banner:hover{border-color:var(--orange)}
.line-banner::before{content:"";position:absolute;right:-30px;top:-34px;width:120px;height:120px;border-radius:50%;background:var(--cream);z-index:0}
.line-banner > *{position:relative;z-index:1}
.line-banner .lb-ic{width:64px;height:64px;border-radius:50%;background:var(--icon-bg);color:var(--cta);display:grid;place-items:center}
.line-banner .lb-ic .icon{width:28px;height:28px}
.line-banner .lb-t{display:block;font-size:19px;font-weight:900;line-height:1.6}
.line-banner .lb-d{display:block;font-size:15px;color:var(--ink-2);line-height:1.9;margin-top:2px}
.line-banner .btn{padding:14px 26px}

/* 締めのCTA（濃オレンジの全面） */
.cta{background:var(--cta);color:#fff;text-align:center;position:relative;overflow:hidden;padding:clamp(80px,7.6vw,110px) 0}
.cta h2{font-size:clamp(25px,1.7vw + 11px,36px);font-weight:900;line-height:1.6;letter-spacing:.06em}
.cta h2 .ln{display:block}
.cta p{font-size:17px;line-height:2;margin-top:26px}
.cta .btns{justify-content:center;margin-top:34px;gap:14px}
.cta .btn{min-width:260px;padding:15px 30px}
.cta .btn .icon{width:18px;height:18px;stroke-width:2}
.cta .c1{position:absolute;width:120px;height:120px;border-radius:50%;background:var(--cta-circle);left:max(24px,8%);top:-30px}
.cta .c2{position:absolute;width:27px;height:27px;border-radius:5px;background:var(--yellow);right:max(24px,16.5%);top:24%;transform:rotate(22deg)}
.cta .c3{position:absolute;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-right:40px solid #eaccbc;right:max(24px,10%);bottom:15%;transform:rotate(-14deg)}

/* ---------- 下層ページ見出し ---------- */
.page-head{padding:44px 0 var(--sec)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;font-size:13px;color:var(--ink-2);line-height:1.6;margin-bottom:52px}
.crumbs li:not(:last-child)::after{content:"";display:inline-block;width:6px;height:6px;border-top:1.5px solid #cbbdad;border-right:1.5px solid #cbbdad;transform:rotate(45deg);margin:0 14px 2px 10px}
.crumbs a{color:var(--ink-2);text-underline-offset:4px}
.page-head h1{font-size:clamp(27px,1.5vw + 12px,34px);font-weight:900;line-height:1.55;letter-spacing:.06em;margin-top:26px}
.page-head .lead{font-size:17px;line-height:2.25;padding-top:30px}

/* 空状態（ブログ・お知らせ） */
.empty{background:#fff;border:1.5px solid var(--card-line);border-radius:20px;padding:40px 36px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center}
.empty .ic{width:72px;height:72px;border-radius:50%;background:var(--icon-bg);color:var(--cta);display:grid;place-items:center}
.empty .ic .icon{width:30px;height:30px}
.empty h2{font-size:19px;font-weight:900;line-height:1.6}
.empty p{font-size:15.5px;line-height:2;color:var(--ink-2);margin-top:4px}

/* 文章ページ */
.prose h2{font-size:19px;font-weight:900;line-height:1.6;margin-top:44px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{font-size:16px;line-height:2.1}
.prose p{margin-top:14px}
.prose ul{padding-left:1.3em;margin-top:10px}
.prose a{color:var(--cta);text-underline-offset:4px}

/* サイトマップ */
.sitemap{list-style:none;border-top:1px solid var(--rule)}
.sitemap li{border-bottom:1px solid var(--rule)}
.sitemap a{display:grid;grid-template-columns:minmax(0,15em) minmax(0,1fr) auto;gap:8px 24px;align-items:center;padding:20px 6px;text-decoration:none;color:var(--ink)}
.sitemap a:hover .t{color:var(--cta)}
.sitemap .t{font-weight:700;font-size:16px;line-height:1.7}
.sitemap .d{font-size:14.5px;color:var(--ink-2);line-height:1.8}
.sitemap .icon{color:var(--orange);width:16px;height:16px}

/* ---------- フッター ---------- */
.site-footer{background:#fff;padding:52px 0 40px}
.foot{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px clamp(28px,3.6vw,52px)}
.foot-logo img{width:200px}
.foot-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px clamp(18px,2vw,30px)}
.foot-nav a{font-size:14px;font-weight:700;text-decoration:none;color:var(--ink);letter-spacing:.06em;line-height:2}
.foot-nav a:hover{color:var(--cta);text-decoration:underline;text-underline-offset:5px}
.foot-sub{margin-top:4px}
.foot-sub a{font-size:12.5px;font-weight:400;color:var(--ink-2)}
.foot-meta{text-align:right}
.foot-sns{display:flex;justify-content:flex-end;gap:10px;margin-bottom:12px}
.foot-sns a{width:40px;height:40px;border-radius:10px;background:var(--cream);color:var(--accent);display:grid;place-items:center;transition:background-color .2s}
.foot-sns a:hover{background:var(--icon-bg)}
.foot-sns .icon{width:19px;height:19px}
.foot-meta p{font-size:13px;line-height:1.9;letter-spacing:.04em}
.foot-meta .note{font-size:11.5px;color:var(--ink-2)}

/* ---------- 動き（読み込み時に一度だけ。OSの設定で停止） ---------- */
@keyframes up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero-copy > *{animation:up .7s cubic-bezier(.2,.7,.2,1) both}
.hero-copy > :nth-child(2){animation-delay:.08s}
.hero-copy > :nth-child(3){animation-delay:.16s}
.hero-copy > :nth-child(4){animation-delay:.24s}
.hero-art{animation:up .9s .2s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ---------- レスポンシブ ---------- */
@media (max-width:1366px){
  .foot{column-gap:28px}
  .foot-logo img{width:160px}
}
@media (max-width:1180px){
  .split{grid-template-columns:minmax(0,34%) minmax(0,1fr);gap:0 32px}
}
@media (max-width:1023px){
  .header-in{min-height:72px}
  .brand{gap:12px}
  .brand img{width:150px}
  .pill{font-size:12px;padding:6px 10px}
  .menu-btn{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--ink);color:var(--ink);border-radius:999px;padding:9px 16px;font:inherit;font-size:14px;font-weight:700;line-height:1;cursor:pointer;white-space:nowrap;flex:none}
  .menu-btn .bars{width:16px;height:10px;position:relative}
  .menu-btn .bars::before,.menu-btn .bars::after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .25s}
  .menu-btn .bars::before{top:0}.menu-btn .bars::after{bottom:0}
  .menu-btn[aria-expanded="true"] .bars::before{transform:translateY(4px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] .bars::after{transform:translateY(-4px) rotate(-45deg)}
  .nav{position:fixed;left:0;right:0;top:73px;bottom:0;background:#fff;padding:12px var(--gutter) 48px;overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .2s,visibility 0s .2s}
  .nav.is-open{visibility:visible;opacity:1;transition:opacity .2s}
  .nav ul{flex-direction:column;align-items:stretch;gap:0}
  .nav li{border-bottom:1px solid var(--head-line)}
  .nav li:last-child{border:0;padding-top:28px}
  .nav a{display:block;padding:18px 4px;font-size:16px}
  .nav a:not(.btn)::after{bottom:12px;right:auto;width:2.5em}
  .nav .btn{display:flex;padding:16px;font-size:16px}
  body.menu-open{overflow:hidden}
}
@media (max-width:900px){
  .hero{padding:40px 0 80px}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero .lead{margin-top:24px}
  .hero .btns{margin-top:36px}
  .hero-art{margin:0 18px 18px 0}
  .hero-art::before{inset:18px -18px -18px 18px}
  .d-circle{right:4%;top:-2px}.d-tri{right:14%;top:4px}.d-sq,.d-ring{display:none}
  .split{grid-template-columns:1fr;gap:0}
  .split > .body{margin-top:36px}
  .about-art{width:100%;max-width:520px;margin:28px auto 0}
  .work-cards{grid-template-columns:1fr;gap:20px;margin-top:32px}
  .work-card{min-height:0}
  .work-card .ph{aspect-ratio:700/360}
  .recruit-body{grid-template-columns:1fr;gap:32px}
  .contact-cards{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr;gap:24px}
  .foot-meta{text-align:left}
  .foot-sns{justify-content:flex-start}
  .page-head{padding-top:28px}
  .crumbs ol{margin-bottom:32px}
  .page-head .lead{padding-top:24px}
  .line-banner{grid-template-columns:auto minmax(0,1fr)}
  .line-banner .btn{grid-column:1 / -1}
  .split > .spacer{display:none}
  .split > .spacer + .body{margin-top:0}
  .sitemap a{grid-template-columns:minmax(0,1fr) auto}
  .sitemap .d{grid-column:1;grid-row:2}
  .sitemap .icon{grid-row:1 / span 2;grid-column:2}
}
@media (max-width:600px){
  body{font-size:15.5px}
  .hero .btns .btn{flex:1 1 100%}
  .body-text,.body-text.lg,.page-head .lead{font-size:16px;line-height:2.1}
  .point{grid-template-columns:64px minmax(0,1fr);gap:18px;padding:22px 48px 22px 18px;min-height:0}
  .point img{width:64px;height:64px}
  .point h3{font-size:17px}
  .point p{font-size:15px}
  .point .num{top:18px;right:18px}
  .c-card{padding:14px 18px;gap:16px}
  .c-card .vl{font-size:15.5px}
  .cta .btn{min-width:0;width:100%}
  .cta .btns{flex-direction:column;align-items:stretch;max-width:340px;margin-inline:auto}
  .cta p{font-size:15.5px}
  .cta .c1{width:84px;height:84px;top:-30px}
  .line-banner{grid-template-columns:1fr;gap:16px;padding:24px 22px}
  .line-banner .lb-ic{width:52px;height:52px}
  .line-banner::before{width:90px;height:90px;right:-36px;top:-40px}
  .cta .c2{top:22px;right:22px;width:20px;height:20px}
  .cta .c3{bottom:20px;right:20px;transform:rotate(-14deg) scale(.7)}
  .d-circle,.d-tri{display:none}
  .table th,.table td{display:block;width:100%;padding:0 4px;border:0}
  .table th{padding-top:16px}
  .table td{padding-bottom:16px;border-bottom:1px solid var(--rule)}
  .table tr:first-child th{padding-top:16px}
  .empty{grid-template-columns:1fr;padding:32px 22px;text-align:center}
  .empty .ic{margin-inline:auto}
  .foot-logo img{width:170px}
}
@media (max-width:600px){
  .header-in{gap:10px;min-height:68px}
  .nav{top:69px}
  .brand{gap:8px}
  .brand img{width:124px}
  .pill{font-size:11.5px;padding:5px 8px;letter-spacing:.04em}
  .menu-btn{padding:8px 12px;gap:8px;font-size:13px}
}
@media (max-width:374px){
  .brand img{width:112px}
}
@media print{.site-header{position:static}.nav,.menu-btn{display:none!important}}

/* 全ページ共通の公式LINEバナー */
.cta .line-banner-shared{background:var(--cream);text-align:left;border-color:var(--peach);margin-top:40px}
.cta .line-banner-shared::before{background:var(--peach)}
.cta .line-banner-shared .lb-t{color:var(--ink)}
.cta .line-banner-shared .btn{min-width:0;white-space:normal;text-align:center}
.cta .line-banner-shared:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}
@media (max-width:600px){.cta .line-banner-shared .lb-t{font-size:18px}.cta .line-banner-shared .lb-d{font-size:14.5px}}
