@charset "UTF-8";
/* ============================================================
   祇をん 玄松 ― アクセス /access/
   MV（背景＋縦書きアクセス）＋ 各セクション見出しを縦書き左端揃え
   ※ lp-hero 等は stay.css を継承
   ============================================================ */

body.lower{ background:#fff; color:#3a3530; }

/* MVタイトル：仮名も中央に揃う書体で縦書き（A1明朝は仮名が左寄りのため） */
.access-page .lp-hero__ttl{ font-family:"Zen Old Mincho","游明朝","Yu Mincho",serif; }

/* ---- セクション共通：縦書き見出し（左端揃え）＋ 内容（右・幅小さめ） ---- */
.ac-sec{ padding:clamp(60px,9vh,110px) var(--gutter); }
/* MV直後（所在地）はスナップで最上部に来るためヘッダー分の余白を確保 */
.lp-hero + .ac-sec{ padding-top:calc(var(--header-h) + clamp(28px,5vh,60px)); }
.ac-sec--beige{ background:#ede7df; }
.ac-sec__inner{
  max-width:1040px; margin-inline:auto;
  display:flex; align-items:flex-start; gap:clamp(28px,5vw,76px);
}
.ac-sec__ttl{
  flex:0 0 auto;
  writing-mode:vertical-rl; text-orientation:upright;
  font-family:"Zen Old Mincho","游明朝","Yu Mincho",serif; font-weight:700;
  font-size:clamp(20px,2vw,28px); letter-spacing:.14em; line-height:1.5; color:#1d1b1a;
}
.ac-sec__content{ flex:1; min-width:0; max-width:820px; }

/* ---- 地図（白黒）---- */
.ac-map{
  position:relative; aspect-ratio:16/9;
  overflow:hidden; background:#e9e4da; border:1px solid #ddd6c8;
}
.ac-map iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0;
  filter:grayscale(1) contrast(.9) brightness(1.06);   /* 白黒マップ */
}
.ac-addr{ margin-top:clamp(26px,4vh,40px); display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:24px; }
.ac-addr__name{ font-family:var(--font-mincho); font-weight:700; font-size:clamp(18px,1.6vw,22px); letter-spacing:.1em; color:#1d1b1a; }
.ac-addr__lines{ margin-top:12px; font-family:var(--font-body); font-size:clamp(13.5px,1vw,15px); line-height:1.95; letter-spacing:.04em; color:#3a3530; }
.ac-addr__btn{
  display:inline-flex; align-items:center; gap:10px; flex:0 0 auto;
  padding:15px 34px; background:#262329; color:#f3efe6;
  font-family:var(--font-mincho); font-size:14px; letter-spacing:.14em;
  transition:background .35s var(--ease);
}
.ac-addr__btn:hover{ background:var(--matsu); }
.ac-addr__btn::after{ content:"↗"; font-size:13px; }

/* ---- 交通アクセス（行き方）---- */
.ac-routes{ border-top:1px solid #d4cdbf; }
.ac-route{ display:flex; gap:clamp(20px,4vw,56px); padding:clamp(22px,3vh,32px) 2px; border-bottom:1px solid #d4cdbf; }
.ac-route__head{ flex:0 0 clamp(130px,17vw,200px); margin:0; font-family:var(--font-mincho); font-weight:700; font-size:clamp(18px,1.8vw,24px); letter-spacing:.08em; line-height:1.5; color:#1d1b1a; }
.ac-route__body{ flex:1; }
.ac-route__body p{ font-family:var(--font-body); font-size:clamp(13.5px,1vw,15px); line-height:2.05; letter-spacing:.03em; color:#3a3530; }
.ac-route__body p + p{ margin-top:8px; }
.ac-route__note{ color:#8a8475; font-size:12.5px !important; }

/* ---- チェックイン・周辺 ---- */
.ac-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,60px); }
.ac-card__ttl{ font-family:var(--font-mincho); font-weight:700; font-size:clamp(16px,1.4vw,20px); letter-spacing:.08em; color:#1d1b1a; padding-bottom:12px; border-bottom:1px solid #d4cdbf; }
.ac-card__body{ margin-top:16px; font-family:var(--font-body); font-size:clamp(13.5px,1vw,15px); line-height:2.05; letter-spacing:.03em; color:#3a3530; }
.ac-ci{ display:flex; gap:36px; }
.ac-ci dt{ font-family:var(--font-body); font-size:12px; letter-spacing:.12em; color:var(--matsu); }
.ac-ci dd{ margin:6px 0 0; font-family:var(--font-mincho); font-size:clamp(22px,2.2vw,30px); letter-spacing:.06em; color:#1d1b1a; }

.ac-note{ margin-top:clamp(22px,3vh,32px); font-size:12.5px; color:#8a8475; line-height:1.9; }

/* ---- SP：見出しは横書きへ ---- */
@media (max-width:820px){
  /* 2026-07-29 SP FB「他が横組みなので横組みでこの位置に移動」対応。
     見出しを縦書き（右側）から横組み（コンテンツ上）に変更し、他ページのSPと揃える。 */
  .ac-sec__inner{
    display:grid !important; grid-template-columns:1fr;
    grid-template-areas:"title" "content"; align-items:start;
    row-gap:clamp(14px,4vw,22px);
  }
  .ac-sec__ttl{
    grid-area:title; align-self:start;
    writing-mode:horizontal-tb !important; text-orientation:mixed;
    font-size:clamp(20px,5.4vw,24px); letter-spacing:.16em;
  }
  .ac-sec__content{ grid-area:content; max-width:none; width:auto; }

  /* 所在地：見出し→住所→地図（全幅）→ボタン の縦積み */
  .ac-sec--loc .ac-sec__inner{ grid-template-areas:"title" "addr" "map" "btn"; }
  .ac-sec--loc .ac-sec__content{ display:contents; }
  .ac-sec--loc .ac-addr{ display:contents; }
  .ac-sec--loc .ac-addr > div{ grid-area:addr; }
  .ac-sec--loc .ac-addr__btn{ grid-area:btn; }
  .ac-sec--loc .ac-map{ grid-area:map; aspect-ratio:4/3; margin-inline:calc(-1 * var(--gutter)); width:calc(100% + var(--gutter) * 2); }   /* 地図は横幅100% */

  .ac-addr{ flex-direction:column; align-items:flex-start; }
  .ac-addr__btn{ width:100%; justify-content:center; }
  .ac-route{ flex-direction:column; gap:6px; padding:16px 2px; }
  .ac-route__head{ flex:0 0 auto !important; }
  .ac-grid{ grid-template-columns:1fr; gap:30px; }
}
