/* ====== スコープ: すべて .hks- で囲みテーマ干渉を防止 ====== */
.hks{
  --indigo:#14334e;      /* 藍 */
  --indigo-deep:#0d2336;
  --washi:#f6f2ea;       /* 和紙 */
  --washi-2:#efe8da;
  --ink:#2b2b2b;
  --line:#d9cfbe;
  --gold:#9c7c4a;        /* 差し色(控えめに) */
  --serif:'Shippori Mincho B1', 'Yu Mincho', 'Hiragino Mincho ProN', serif;
  --sans:'Zen Kaku Gothic New', 'Hiragino Sans', sans-serif;

  font-family:var(--sans);
  color:var(--ink);
  background:var(--washi);
  line-height:1.9;
  font-weight:300;
  letter-spacing:.04em;
  margin:0;
  width:100%;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
.hks *{box-sizing:border-box;}
.hks img{max-width:100%;display:block;}
.hks .wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
.hks h1,.hks h2,.hks h3{font-family:var(--serif);font-weight:500;letter-spacing:.06em;line-height:1.5;margin:0;}
.hks .en{font-family:var(--serif);letter-spacing:.34em;text-transform:uppercase;font-size:11px;color:var(--gold);font-weight:600;}
.hks section{padding:104px 0;}
.hks .lead{font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);line-height:2.2;color:var(--indigo);}

/* ===== 青海波 区切り線 ===== */
.hks .seigaiha{height:26px;width:100%;
  background:
   radial-gradient(circle at 50% 100%, transparent 9px, var(--gold) 10px 11px, transparent 12px) 0 0/26px 26px;
  opacity:.5;}

/* ===== HERO ===== */
.hks .hero{
  position:relative;min-height:96vh;display:flex;align-items:center;justify-content:flex-end;
  color:#fff;text-align:center;overflow:hidden;background:var(--indigo-deep);
}
/* ① ホテル画像レイヤー（最下層）— 夜の入口写真 */
.hks .hero-bg{position:absolute;inset:0;z-index:0;
  background-image:var(--hks-hero-image);
  background-size:cover;background-position:center;transform:scale(1.05);
  animation:hksZoom 20s ease-in-out infinite alternate;}
@keyframes hksZoom{from{transform:scale(1.05)}to{transform:scale(1.13)}}
/* ② 紺色ティント（軽め .05/.03、下部のみ白波帯となじませ） */
.hks .hero-tint{position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg, rgba(13,35,54,.05) 0%, rgba(13,35,54,.03) 40%, rgba(13,35,54,.20) 78%, rgba(13,35,54,.64) 100%),
    radial-gradient(120% 80% at 50% 46%, rgba(13,35,54,0) 0%, rgba(13,35,54,.08) 70%);}
/* ③ 北斎の波（描画レイヤー：白波） */
.hks .hero-wave{position:absolute;left:0;right:0;bottom:-1px;z-index:2;line-height:0;pointer-events:none;}
.hks .hero-wave svg{width:100%;height:auto;display:block;}
.hks .hero-wave .foam{animation:hksFoam 5s ease-in-out infinite;transform-origin:center;}
@keyframes hksFoam{0%,100%{opacity:.85}50%{opacity:1}}
/* ③-b 北斎の波（ライン画像：左下・白波と馴染ませ境界を消す） */
.hks .hero-wave-img{position:absolute;left:0;bottom:-80px;z-index:2;width:min(660px,52%);height:auto;
  pointer-events:none;opacity:1;animation:hksWave 7s ease-in-out infinite;}
@keyframes hksWave{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
/* ③-c 富士の墨絵（右下・波画像と同じ高さ／同じレイヤー）— 黒→白へ反転し夜景上で視認可 */
.hks .hero-mountain-img{position:absolute;right:0;bottom:-80px;z-index:2;width:min(620px,50%);height:auto;
  pointer-events:none;opacity:.95;animation:hksWave 8s ease-in-out infinite;}
/* ④ テキスト（最前面）— 縦書き和風パネル（右） */
.hks .hero .inner{position:relative;z-index:3;width:auto;padding:0 5vw 0 0;}
.hks .hero .tate{position:relative;display:flex;flex-direction:row-reverse;align-items:center;gap:16px;max-height:86vh;}
.hks .hero .tate .title{display:flex;flex-direction:row-reverse;align-items:center;gap:14px;margin:0;}
/* 各要素それぞれに独立した和風背景（字の部分だけ） */
.hks .hero .tate .col,
.hks .hero .tate .sub{
  background:
    radial-gradient(circle at 50% 100%, transparent 9px, rgba(155,124,74,.07) 10px 11px, transparent 12px) 0 0/24px 24px,
    linear-gradient(158deg, rgba(248,244,237,.96) 0%, rgba(238,230,216,.96) 100%);
  border:1px solid rgba(155,124,74,.42);
  box-shadow:0 12px 34px rgba(13,35,54,.34);}
.hks .hero .tate .col{writing-mode:vertical-rl;font-size:clamp(28px,4vw,48px);color:var(--indigo);
  letter-spacing:.16em;line-height:1.55;font-weight:500;padding:30px 12px;}
/* 池袋西：朱色の烙印（朱文）風 — 外枠と文字のみ朱色 */
.hks .hero .tate .seal-mark{display:inline-block;background:transparent;color:#b23a2e;
  border:2px solid #b23a2e;
  font-size:.6em;letter-spacing:.08em;line-height:1.3;padding:12px 9px;margin-top:22px;border-radius:3px;
  box-shadow:inset 0 0 0 1px rgba(178,58,46,.35);}
.hks .hero .tate .sub{writing-mode:vertical-rl;font-family:var(--serif);font-size:clamp(15px,1.7vw,19px);
  color:#5a5248;letter-spacing:.22em;margin:0;line-height:1.9;text-shadow:none;padding:26px 18px;}
/* スティッキー ナビ（左：ロゴ／右：予約CTA） */
.hks .hks-nav{position:fixed;top:0;left:0;right:0;z-index:9000;
  display:flex;align-items:center;justify-content:space-between;padding:0 30px 20px 10px;
  background:linear-gradient(180deg, rgba(13,35,54,.62) 0%, rgba(13,35,54,0) 100%);}
.hks .hks-nav .nav-logo{height:100px;width:auto;display:block;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));}
.hks .hks-nav .nav-cta{display:inline-flex;align-items:center;gap:8px;font-family:var(--serif);
  font-size:14px;letter-spacing:.12em;padding:12px 26px;background:var(--gold);color:#fff;
  text-decoration:none;border-radius:2px;box-shadow:0 6px 22px rgba(13,35,54,.35);transition:.3s ease;}
.hks .hks-nav .nav-cta:hover{background:#876738;transform:translateY(-1px);}
.hks .hks-nav .nav-actions{display:flex;align-items:center;gap:12px;}
.hks .hks-nav .nav-contact{font-family:var(--serif);font-size:14px;letter-spacing:.12em;cursor:pointer;
  padding:12px 24px;background:#f4efe3;color:#14334e;border:1px solid #e7dcc6;
  border-radius:2px;transition:.3s ease;box-shadow:0 6px 22px rgba(13,35,54,.25);}
.hks .hks-nav .nav-contact:hover{background:#ece3d2;transform:translateY(-1px);}

/* ===== お問い合わせ モーダル ===== */
.hks-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;
  background:rgba(13,35,54,.78);backdrop-filter:blur(5px);padding:20px;
  font-family:'Zen Kaku Gothic New','Hiragino Sans',sans-serif;}
.hks-modal.open{display:flex;animation:hksMdIn .3s ease;}
@keyframes hksMdIn{from{opacity:0}to{opacity:1}}
.hks-modal .md-box{background:#f6f2ea;max-width:520px;width:100%;max-height:92vh;overflow:auto;
  position:relative;padding:46px 42px;box-shadow:0 30px 80px rgba(0,0,0,.4);animation:hksMdUp .4s ease;}
@keyframes hksMdUp{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.hks-modal .md-close{position:absolute;top:16px;right:20px;width:34px;height:34px;border:none;cursor:pointer;
  background:none;font-size:26px;line-height:1;color:#14334e;}
.hks-modal .md-en{font-family:'Shippori Mincho B1',serif;letter-spacing:.3em;font-size:11px;color:#9c7c4a;font-weight:600;text-transform:uppercase;}
.hks-modal h3{font-family:'Shippori Mincho B1',serif;font-size:24px;color:#14334e;margin:8px 0 4px;letter-spacing:.06em;}
.hks-modal .md-desc{font-size:13px;color:#6b6455;margin:0 0 22px;line-height:1.8;}
.hks-modal label{display:block;font-size:12.5px;color:#14334e;letter-spacing:.06em;margin:16px 0 6px;}
.hks-modal label .req{color:#b23a2e;margin-left:4px;}
.hks-modal input,.hks-modal textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #d9cfbe;
  background:#fff;font-family:inherit;font-size:14px;color:#2b2b2b;border-radius:0;}
.hks-modal input:focus,.hks-modal textarea:focus{outline:none;border-color:#9c7c4a;box-shadow:0 0 0 2px rgba(155,124,74,.15);}
.hks-modal textarea{resize:vertical;min-height:104px;}
.hks-modal .form-submit{margin-top:24px;width:100%;padding:15px;border:none;cursor:pointer;
  font-family:'Shippori Mincho B1',serif;font-size:15px;letter-spacing:.14em;background:#9c7c4a;color:#fff;transition:.3s;}
.hks-modal .form-submit:hover{background:#876738;}
.hks-modal .form-submit:disabled{opacity:.6;cursor:default;}
.hks-modal .md-thanks{display:none;text-align:center;padding:24px 0;}
.hks-modal .md-thanks.show{display:block;}
.hks-modal .md-thanks h3{margin-bottom:10px;}
.hks-modal .md-err{display:none;color:#b23a2e;font-size:13px;margin-top:12px;text-align:center;}
.hks .hero .scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:4;
  writing-mode:vertical-rl;font-size:10px;letter-spacing:.4em;color:rgba(255,255,255,.7);}
.hks .hero .scroll::after{content:'';display:block;width:1px;height:40px;margin:10px auto 0;
  background:linear-gradient(rgba(255,255,255,.7),transparent);}

/* ===== ボタン ===== */
.hks .btns{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.hks .btn{display:inline-flex;align-items:center;gap:10px;cursor:pointer;border:none;
  font-family:var(--serif);font-size:15px;letter-spacing:.14em;padding:17px 38px;
  transition:.35s ease;text-decoration:none;}
.hks .btn-primary{background:var(--gold);color:#fff;}
.hks .btn-primary:hover{background:#876738;transform:translateY(-2px);}
.hks .btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);}
.hks .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;}
.hks .btn-dark{background:var(--indigo);color:#fff;}
.hks .btn-dark:hover{background:var(--indigo-deep);transform:translateY(-2px);}
.hks .btn-outline{background:transparent;color:var(--indigo);border:1px solid var(--indigo);}
.hks .btn-outline:hover{background:var(--indigo);color:#fff;}

/* ===== コンセプト ===== */
.hks .concept{text-align:center;position:relative;background:#faf8f3;}
.hks .vline{width:1px;height:64px;background:var(--line);margin:0 auto 40px;}
/* コンセプト：縦書き短冊（1行ごとに色付き背景） */
.hks .concept .tate-block{position:relative;display:flex;justify-content:center;}
.hks .concept .tate-text{position:relative;display:flex;flex-direction:row-reverse;align-items:flex-start;gap:16px;}
.hks .concept .col-lead,
.hks .concept .col-body{writing-mode:vertical-rl;margin:0;white-space:nowrap;
  background:none;border:none;box-shadow:none;}
.hks .concept .col-lead{align-self:center;font-size:clamp(21px,2.6vw,30px);color:var(--indigo);letter-spacing:.14em;
  line-height:1.65;font-weight:500;padding:34px 22px;margin-left:30px;}
.hks .concept .col-body{font-family:var(--serif);font-size:clamp(15px,1.7vw,19px);color:#5a5248;
  letter-spacing:.16em;line-height:1.95;padding:30px 18px;margin-top:76px;}
/* コンセプト挿絵：まんまる切り抜き・小さめ・左下・背景色になじませる */
.hks .concept .concept-art{position:absolute;left:4vw;bottom:44px;
  width:clamp(170px,19vw,260px);height:clamp(170px,19vw,260px);
  border-radius:50%;object-fit:cover;mix-blend-mode:multiply;pointer-events:none;}
@media(max-width:700px){.hks .concept .concept-art{display:none;}}

/* ===== 特徴3カラム ===== */
.hks .feat{background:#fff;}
.hks .feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);}
.hks .feat-grid .cell{padding:54px 34px;text-align:center;border-right:1px solid var(--line);}
.hks .feat-grid .cell:last-child{border-right:none;}
.hks .feat-grid .ico{font-family:var(--serif);font-size:30px;color:var(--gold);margin-bottom:18px;}
.hks .feat-grid h3{font-size:19px;color:var(--indigo);margin-bottom:12px;}
.hks .feat-grid p{font-size:14px;color:#555;}

/* ===== ギャラリー ===== */
.hks .gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:10px;}
.hks .gallery .ph{position:relative;overflow:hidden;background:var(--washi-2);
  display:flex;align-items:center;justify-content:center;}
.hks .gallery .ph img{width:100%;height:100%;object-fit:cover;transition:.6s;}
.hks .gallery .ph:hover img{transform:scale(1.06);}
.hks .gallery .ph.big{grid-column:span 2;grid-row:span 2;}
.hks .gallery .label{position:absolute;font-family:var(--serif);color:#a99;font-size:12px;
  letter-spacing:.2em;padding:6px 10px;border:1px dashed #c9bda6;color:#9a8a6a;background:rgba(255,255,255,.5);}
.hks .sec-head{text-align:center;margin-bottom:54px;}
.hks .sec-head h2{font-size:clamp(24px,3vw,36px);color:var(--indigo);margin:14px 0 0;}

/* ===== 客室 ===== */
.hks .rooms{background:var(--indigo);color:#fff;}
.hks .rooms .sec-head h2{color:#fff;}
.hks .rooms .en{color:rgba(255,255,255,.7);}
.hks .rooms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;}
.hks .room{}
.hks .room .img{aspect-ratio:4/3;background:rgba(255,255,255,.07);margin-bottom:22px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hks .room .img img{width:100%;height:100%;object-fit:cover;}
.hks .room h3{font-size:21px;margin-bottom:12px;}
.hks .room p{font-size:14px;color:rgba(255,255,255,.78);}

/* ===== 設備リスト ===== */
.hks .amen{background:#fff;}
.hks .amen-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:46px;}
.hks .amen-cols h3{font-size:15px;color:var(--gold);letter-spacing:.18em;
  border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px;}
.hks .amen-cols ul{list-style:none;padding:0;margin:0;}
.hks .amen-cols li{font-size:13.5px;color:#444;padding:7px 0 7px 18px;position:relative;}
.hks .amen-cols li::before{content:'';position:absolute;left:0;top:15px;width:6px;height:6px;
  background:var(--indigo);border-radius:50%;opacity:.6;}

/* ===== アクセス ===== */
.hks .access{background:var(--washi-2);}
.hks .access-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.hks .access dl{margin:0;}
.hks .access dt{font-family:var(--serif);color:var(--gold);font-size:13px;letter-spacing:.16em;margin-top:22px;}
.hks .access dd{margin:6px 0 0;font-size:15px;color:var(--ink);}
.hks .access .spots{margin-top:28px;border-top:1px solid var(--line);padding-top:24px;}
.hks .access .spots span{display:inline-block;font-size:13px;color:#555;margin:0 16px 8px 0;}
.hks .access .map{aspect-ratio:1/1;background:#fff;border:1px solid var(--line);overflow:hidden;}
.hks .access .map iframe{width:100%;height:100%;border:0;filter:grayscale(.3) sepia(.1);}

/* ===== CTA ===== */
.hks .cta{background:linear-gradient(180deg,var(--indigo) 0%,var(--indigo-deep) 100%);
  color:#fff;text-align:center;}
.hks .cta h2{font-size:clamp(24px,3.2vw,38px);margin-bottom:18px;}
.hks .cta p{color:rgba(255,255,255,.8);font-family:var(--serif);margin-bottom:38px;letter-spacing:.1em;}

/* ===== フッター ===== */
.hks .foot{background:var(--indigo-deep);color:rgba(255,255,255,.7);text-align:center;padding:60px 0 50px;}
.hks .foot .name{font-family:var(--serif);font-size:22px;color:#fff;letter-spacing:.2em;margin-bottom:18px;}
.hks .foot p{font-size:12.5px;margin:4px 0;}
.hks .foot .copy{margin-top:30px;font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.1em;}

/* ===== レスポンシブ ===== */
@media (max-width: 860px) {
  .hks section { padding: 72px 0; }
  .hks .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; }
  .hks .amen-cols { grid-template-columns: 1fr; gap: 34px; }
  .hks .access-grid { grid-template-columns: 1fr; gap: 36px; }
}

@media (max-width: 768px) {
  /* Header: keep both actions on one line without changing the desktop design. */
  .hks .hks-nav {
    gap: 8px;
    padding: 10px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));
  }
  .hks .hks-nav .nav-logo-link { flex: 0 1 auto; min-width: 0; }
  .hks .hks-nav .nav-logo { width: auto; height: 54px; max-width: 100%; }
  .hks .hks-nav .nav-actions { flex: 0 0 auto; gap: 8px; min-width: 0; flex-wrap: nowrap; }
  .hks .hks-nav .nav-cta,
  .hks .hks-nav .nav-contact {
    flex: 0 0 auto;
    white-space: nowrap;
    line-height: 1.2;
    font-size: 12px;
    letter-spacing: .04em;
    padding: 9px 14px;
  }

  .hks .hero { min-height: 88vh; }
  .hks .hero .inner { padding: 0 4vw 0 0; }
  .hks .hero .tate { gap: 10px; max-height: 78vh; }
  .hks .hero .tate .col { padding: 22px 9px; letter-spacing: .1em; }
  .hks .hero .tate .sub { padding: 18px 12px; letter-spacing: .14em; }

  .hks .concept .tate-text { gap: 8px; align-items: flex-start; }
  .hks .concept .col-lead { align-self: flex-start; font-size: 19px; padding: 0 7px; margin-left: 8px; }
  .hks .concept .col-body { font-size: 14px; padding: 0 5px; margin-top: 0; letter-spacing: .08em; line-height: 1.8; }
}

@media (max-width: 600px) {
  .hks { --hks-mobile-gutter: 18px; }
  .hks section { padding: 56px 0; }

  /* Use one consistent gutter across every content section. */
  .hks .wrap {
    width: 100%;
    max-width: 100%;
    padding-left: max(var(--hks-mobile-gutter), env(safe-area-inset-left));
    padding-right: max(var(--hks-mobile-gutter), env(safe-area-inset-right));
  }

  /* Prevent grid children and long content from widening the viewport. */
  .hks .feat-grid,
  .hks .gallery,
  .hks .rooms-grid,
  .hks .amen-cols,
  .hks .access-grid,
  .hks .feat-grid > *,
  .hks .gallery > *,
  .hks .rooms-grid > *,
  .hks .amen-cols > *,
  .hks .access-grid > * {
    min-width: 0;
    max-width: 100%;
  }
  .hks p,
  .hks dd,
  .hks li,
  .hks h1,
  .hks h2,
  .hks h3,
  .hks iframe { overflow-wrap: anywhere; }

  .hks .concept .tate-block { width: 100%; max-width: 100%; overflow: hidden; }
  .hks .concept .tate-text { max-width: 100%; }

  .hks .hks-nav {
    gap: 6px;
    padding: 8px max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));
  }
  .hks .hks-nav .nav-logo { height: clamp(38px, 12vw, 46px); }
  .hks .hks-nav .nav-actions { gap: clamp(4px, 1.5vw, 7px); }
  .hks .hks-nav .nav-cta,
  .hks .hks-nav .nav-contact {
    font-size: clamp(9.5px, 2.8vw, 11px);
    letter-spacing: 0;
    padding: 8px clamp(8px, 2.5vw, 11px);
  }

  .hks .hero-wave-img,
  .hks .hero-mountain-img { bottom: -50px; }

  .hks .feat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hks .feat-grid .cell { padding: 26px 8px; }
  .hks .feat-grid .ico { font-size: 22px; margin-bottom: 10px; }
  .hks .feat-grid h3 { font-size: 13px; margin-bottom: 7px; letter-spacing: 0; line-height: 1.5; }
  .hks .feat-grid p { font-size: 11px; line-height: 1.65; letter-spacing: 0; }

  .hks .rooms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .hks .room .img { margin-bottom: 12px; }
  .hks .room h3 { font-size: 15px; margin-bottom: 7px; }
  .hks .room p { font-size: 12px; line-height: 1.7; }

  .hks-modal {
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }
  .hks-modal .md-box { padding: 38px 24px; }
}

@media (max-width: 480px) {
  .hks .hero .tate .col { font-size: 24px; padding: 16px 7px; }
  .hks .hero .tate .sub { font-size: 14px; padding: 14px 10px; }

  .hks .concept .tate-text { gap: 6px; }
  .hks .concept .col-lead { font-size: 17px; padding: 0 5px; margin-left: 6px; }
  .hks .concept .col-body { font-size: 13px; padding: 0 4px; line-height: 1.75; }

  .hks .gallery { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .hks .gallery .ph.big { grid-column: span 1; grid-row: span 1; }
}

@media (max-width: 360px) {
  .hks { --hks-mobile-gutter: 14px; }
  .hks .hks-nav { padding-left: max(8px, env(safe-area-inset-left)); padding-right: max(8px, env(safe-area-inset-right)); }
  .hks .hks-nav .nav-logo { height: 36px; }
  .hks .hks-nav .nav-cta,
  .hks .hks-nav .nav-contact { font-size: 9px; padding: 7px 7px; }
}

/* WordPress integration */
html, body { margin: 0; padding: 0; }
body.hokusai-hotel-theme { background: #f6f2ea; }
.admin-bar .hks .hks-nav { top: 32px; }
.hks .screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0;
  position: absolute !important; width: 1px; word-wrap: normal !important;
}
.hks-modal .md-notice { display:none; margin: 12px 0 0; font-size: 13px; text-align:center; }
.hks-modal .md-notice.is-error { display:block; color:#b23a2e; }
.hks-modal .md-notice.is-success { display:block; color:#2e6b45; }
.hks .hks-nav button { font: inherit; }
.hks .hks-nav .nav-logo-link { display:block; line-height:0; }
.hks .footer-admin-link { color:rgba(255,255,255,.7); text-decoration:underline; }
@media (max-width: 782px) { .admin-bar .hks .hks-nav { top: 46px; } }

.hokusai-content { max-width:1080px; margin:0 auto; padding:80px 28px; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.hokusai-not-found { min-height:70vh; display:grid; place-items:center; text-align:center; }
