/* ==========================================================================
   久幸財務株式会社 — アクセス（路線図）ページ
   Palette : Deep Navy × Champagne Gold （トップサイト共通）
   ========================================================================== */

.access{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  color:var(--cream);
  background:
    radial-gradient(120% 90% at 50% -12%, rgba(30,78,133,.42), transparent 60%),
    radial-gradient(80% 60% at 88% 112%, rgba(201,162,39,.16), transparent 55%),
    linear-gradient(162deg, var(--navy-900) 0%, var(--navy-800) 55%, var(--navy-700) 100%);
}

.access .logo__jp{ color:var(--white); }
.access .logo__sub{ color:rgba(232,213,160,.75); }
.access .logo__mark{ filter:drop-shadow(0 2px 6px rgba(0,0,0,.35)); }

.access__top{
  position:relative; z-index:2;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:22px clamp(20px,5vw,48px);
}

.access__main{
  position:relative; z-index:2;
  flex:1;
  padding:14px clamp(20px,5vw,48px) 56px;
}

/* ---- 見出し ---- */
.access__head{ max-width:740px; margin:0 auto; text-align:center; }
.access__label{
  font-family:var(--font-en);
  font-size:11px; letter-spacing:.5em; text-transform:uppercase;
  color:rgba(232,213,160,.6);
  margin-bottom:14px; padding-left:.5em;
}
.access__title{
  font-family:var(--font-serif);
  font-weight:600;
  font-size:clamp(22px,3.4vw,32px);
  letter-spacing:.08em;
  color:var(--white);
  margin-bottom:16px;
}
.access__lead{
  font-size:14px; line-height:2.1; letter-spacing:.04em;
  color:rgba(247,245,240,.72);
}

/* ---- 路線図（ページ画像） ---- */
.access__pages{
  display:flex; flex-direction:column; gap:clamp(20px,3vw,34px);
  max-width:760px;
  margin:clamp(28px,4vw,48px) auto 0;
}
.access__page{
  position:relative;
  background:#fff;
  border:1px solid var(--gold-400);
  box-shadow:0 18px 44px rgba(3,10,22,.45);
}
.access__page img{ display:block; width:100%; height:auto; }
.access__page figcaption{
  padding:11px 16px;
  font-size:11.5px; letter-spacing:.16em;
  color:var(--navy-700);
  background:var(--cream);
  border-top:1px solid var(--cream-2);
  text-align:center;
}

/* ---- 日本語ページ用の案内 ---- */
.access__notice{
  max-width:660px;
  margin:clamp(28px,4vw,46px) auto 0;
  padding:28px 24px;
  text-align:center;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(217,182,92,.35);
}
.access__notice p{
  font-size:13.5px; line-height:2.05; letter-spacing:.04em;
  color:rgba(247,245,240,.82);
  margin-bottom:20px;
}

/* ---- アクション ---- */
.access__actions{
  display:flex; gap:16px; justify-content:center; flex-wrap:wrap;
  margin-top:clamp(26px,3.4vw,42px);
}
.access .btn--ghost{
  color:var(--white);
  border-color:rgba(217,182,92,.5);
  background:transparent;
}
.access .btn--ghost:hover{
  border-color:var(--gold-400);
  color:var(--gold-300);
  background:rgba(217,182,92,.12);
}

.access__foot{
  position:relative; z-index:2;
  text-align:center;
  padding:24px 20px 30px;
  font-size:11px; letter-spacing:.12em;
  color:rgba(168,176,188,.6);
}
.access__foot-link{
  display:inline-block; margin-left:16px;
  color:rgba(217,182,92,.85);
  text-decoration:none;
  border-bottom:1px solid rgba(217,182,92,.38);
  padding-bottom:1px;
  transition:color .3s ease, border-color .3s ease;
}
.access__foot-link:hover{color:#E8D5A0;border-color:#E8D5A0;}
@media (max-width:640px){
  .access__foot-link{display:block;margin:10px 0 0;}
}

@media (max-width:640px){
  .access__top{ padding:18px 20px; }
  .access__actions .btn{ width:100%; }
  .access__notice{ padding:24px 18px; }
}

@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; animation:none !important; }
}
