@charset "UTF-8";
/* =========================================================
   AUG:BASE — common
   全ページで読み込む。LP専用のスタイルは lp.css へ。
   ========================================================= */

:root{
  --ink:#1A1D21;
  --indigo:#21456B;
  --indigo-lt:#3D6A96;
  --paper:#FAF9F7;
  --band:#EFEDE8;
  --card:#FFFFFF;
  --muted:#6B6F76;
  --rule:#DCD8D1;

  --jp: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN",
        "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic",
        "Noto Sans JP", Meiryo, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --pad: 96px;
  --gut: 32px;
  --wrap: 1080px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--jp);
  font-size:16px;
  line-height:1.85;
  letter-spacing:.02em;
  color:var(--ink);
  background:var(--paper);
  font-feature-settings:"palt" 1;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
img,svg,video{max-width:100%;height:auto}
a{color:inherit}
table{border-collapse:collapse}

:where(a,button,summary,input,textarea):focus-visible{
  outline:2px solid var(--indigo-lt);
  outline-offset:3px;
}

.sr{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}
.skip{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--ink);color:#fff;padding:12px 20px;text-decoration:none;
}
.skip:focus{left:0}

/* ---------- layout ---------- */
.wrap{max-width:var(--wrap);margin-inline:auto}
.wrap--narrow{max-width:860px}
.sec{padding:var(--pad) var(--gut)}
.sec--band{background:var(--band)}
.sec--ink{background:var(--ink);color:#F3F1ED}
.main{display:block}

.ta-c{text-align:center}
.lp-mt{margin-top:28px}
.lp-mb{margin-bottom:34px}

/* ---------- type ---------- */
.eyebrow{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;
  color:var(--indigo);text-transform:uppercase;margin-bottom:22px;
}
h1{font-size:clamp(30px,4.6vw,52px);line-height:1.42;letter-spacing:-.01em;font-weight:700}
h2{font-size:clamp(23px,3vw,34px);line-height:1.5;font-weight:700;margin-bottom:26px}
h3{font-size:17.5px;line-height:1.6;font-weight:700;margin-bottom:9px}

.lead{font-size:clamp(15px,1.5vw,17.5px);color:#3E434A;line-height:1.95}
.sec--ink .lead{color:#C3C8CE}
.lead + .lead{margin-top:1.1em}
.sm{font-size:13.5px;color:var(--muted);line-height:1.8}

/* ---------- buttons ---------- */
.btns{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}
.btn{
  display:inline-block;padding:16px 30px;border-radius:3px;
  font-size:15px;font-weight:700;text-decoration:none;letter-spacing:.03em;
  border:1.5px solid transparent;transition:opacity .15s;text-align:center;
}
.btn:hover{opacity:.85}
.btn--pri{background:var(--indigo);color:#fff}
.btn--sec{background:transparent;color:var(--ink);border-color:#C6C1B8}
.btn--sm{padding:10px 18px;font-size:13px}
.btn--block{display:block;width:100%}
.sec--ink .btn--pri{background:#fff;color:var(--ink)}
.sec--ink .btn--sec{color:#F3F1ED;border-color:#4A4F57}

/* ---------- header ---------- */
.hdr{
  background:var(--paper);
  border-bottom:1px solid var(--rule);
  padding:16px var(--gut);
  position:sticky;top:0;z-index:40;
}
.hdr__in{
  max-width:var(--wrap);margin-inline:auto;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
}
.hdr__brand{display:flex;align-items:baseline;gap:10px;min-width:0}
.hdr__site{font-size:18px;font-weight:700;line-height:1.4}
.hdr__site a{text-decoration:none}
.hdr__product{font-size:18px;font-weight:700;text-decoration:none;letter-spacing:.01em}
.hdr__parent{font-size:11.5px;color:var(--muted);text-decoration:none;font-family:var(--mono)}
.hdr__nav{display:flex;align-items:center;gap:24px}
.hdr__menu{display:flex;gap:22px;font-size:13.5px}
.hdr__menu a{text-decoration:none;color:#4A4F57}
.hdr__menu a:hover{color:var(--ink)}

/* ---------- breadcrumb ---------- */
.crumb{
  border-bottom:1px solid var(--rule);
  padding:11px var(--gut);
  font-size:12.5px;color:var(--muted);
  background:var(--paper);
}
.crumb__in{max-width:var(--wrap);margin-inline:auto;display:flex;flex-wrap:wrap;gap:8px}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--ink);text-decoration:underline}
.crumb__sep{color:#B9B4AC}
.crumb__cur{color:var(--ink)}

/* ---------- cards / grid (共通で使う) ---------- */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g5{grid-template-columns:repeat(5,1fr)}
.card{
  background:var(--card);border:1px solid var(--rule);
  border-radius:3px;padding:26px 24px;
}
.sec--band .card{border-color:#DFDAD2}

/* ---------- placeholder（画像・スクショ未確定の枠） ---------- */
.ph{
  border:1px dashed #BDB8AE;background:#F4F2EE;color:#8C8880;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;padding:28px;border-radius:2px;
  font-size:13px;line-height:1.75;min-height:300px;
}
.ph span{font-size:12px;opacity:.85;margin-top:4px}

/* ---------- footer ---------- */
.ftr{border-top:1px solid var(--rule);background:var(--paper);font-size:13.5px}
.ftr__in{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.ftr > .ftr__in{
  padding-block:48px;
  display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;
}
.ftr__name{font-weight:700;font-size:16px}
.ftr__by{color:var(--muted);font-size:12.5px}
.ftr__cols{display:flex;gap:56px;flex-wrap:wrap}
.ftr__h{font-size:12px;font-family:var(--mono);letter-spacing:.1em;color:var(--muted);margin-bottom:12px}
.ftr__col li{margin-bottom:8px}
.ftr__col a{color:#4A4F57;text-decoration:none}
.ftr__col a:hover{text-decoration:underline}
.ftr__copy{border-top:1px solid var(--rule);color:var(--muted);font-size:12px}
.ftr__copy .ftr__in{padding-block:18px}

/* ---------- 記事本文（single / page 汎用） ---------- */
.entry{max-width:760px;margin-inline:auto}
.entry__title{margin-bottom:14px}
.entry__meta{font-size:12.5px;color:var(--muted);margin-bottom:40px}
.entry__body{font-size:16.5px;line-height:2.05}
.entry__body > * + *{margin-top:1.5em}
.entry__body h2{
  font-size:24px;margin-top:2.4em;margin-bottom:.8em;
  padding-bottom:.4em;border-bottom:2px solid var(--ink);
}
.entry__body h3{font-size:19px;margin-top:2em}
.entry__body ul{list-style:disc;padding-left:1.4em}
.entry__body ol{list-style:decimal;padding-left:1.4em}
.entry__body li{margin-top:.5em}
.entry__body a{color:var(--indigo)}
.entry__body img{border-radius:2px}
.entry__body blockquote{
  border-left:3px solid var(--rule);padding-left:20px;color:#3E434A;
}

/* ---------- 一覧 ---------- */
.list{display:grid;gap:0;max-width:820px;margin-inline:auto}
.list__item{border-bottom:1px solid var(--rule);padding:26px 0}
.list__cat{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--indigo)}
.list__title{font-size:19px;font-weight:700;line-height:1.6;margin:6px 0 8px}
.list__title a{text-decoration:none}
.list__title a:hover{text-decoration:underline}

.pager{display:flex;gap:10px;justify-content:center;margin-top:48px;font-size:14px}
.pager .page-numbers{
  padding:9px 15px;border:1px solid var(--rule);border-radius:3px;
  text-decoration:none;background:var(--card);
}
.pager .current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  :root{--pad:64px;--gut:24px}
  .g4,.g5{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:1fr}
  .hdr__menu{display:none}
  .ph{min-height:220px}
}
@media (max-width:520px){
  :root{--pad:52px;--gut:20px}
  .g2,.g4,.g5{grid-template-columns:1fr}
  .ftr__cols{gap:32px}
  .btn{padding:15px 22px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none !important;animation:none !important}
}
