      @import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700&family=DM+Sans:wght@400;500;600&display=swap');
      :root { --ink:#2c2825; --wine:#991624; --rose:#e7bdc2; --cream:#fffaf4; --paper:#f8eeee; --gold:#c39a55; }
      * { box-sizing:border-box; }
      html { scroll-behavior:smooth; }
      body { margin:0; background:var(--wine); color:var(--ink); font-family:"DM Sans","Hiragino Sans","Yu Gothic",sans-serif; line-height:1.75; }
      .wrap { width:min(1120px,calc(100% - 48px)); margin:auto; }
      header { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
      .brand img { width:152px; height:auto; display:block; }
      .status { background:var(--wine); color:#fff; padding:7px 11px; font-size:.72rem; letter-spacing:.15em; font-weight:600; white-space:nowrap; }
      .hero { padding:18px 0 92px; }
      .hero-grid { display:grid; grid-template-columns:1.12fr .88fr; background:#fff; min-height:475px; box-shadow:0 17px 44px rgba(70,38,26,.18); }
      .hero-copy { padding:74px clamp(32px,6vw,84px); display:flex; flex-direction:column; justify-content:center; color:var(--ink); }
      .hero-copy .eyebrow { color:var(--ink); }
      h1,h2,h3 { font-family:"Shippori Mincho","Yu Mincho",serif; font-weight:600; letter-spacing:.04em; }
      h1 { margin:0; font-size:clamp(2.15rem,4.7vw,4.25rem); line-height:1.35; }
      .lead { margin:26px 0 0; font-family:"Shippori Mincho",serif; font-size:1.06rem; }
      .line { width:58px; height:2px; background:var(--ink); margin:27px 0; }
      .hero-copy small { color:var(--ink); font-size:.82rem; }
      .hero-photo { min-height:360px; overflow:hidden; position:relative; }
      .hero-photo img { width:100%; height:100%; object-fit:cover; display:block; }
      .hero-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(68,31,18,.06),transparent 45%); }
      .notice { padding:0 0 92px; color:#fff; }
      .notice-inner { text-align:center; max-width:700px; margin:auto; }
      .notice .eyebrow { color:#f5d9bd; }
      h2 { font-size:clamp(1.7rem,3vw,2.4rem); line-height:1.5; margin:0; }
      .notice p { margin:22px 0 0; }
      .contents { background:var(--paper); padding:94px 0; }
      .section-kicker { color:var(--wine); font-size:.7rem; letter-spacing:.2em; margin:0 0 8px; font-weight:600; }
      .section-title { margin:0; font-size:clamp(1.8rem,3vw,2.6rem); }
      .info-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(32px,7vw,90px); align-items:start; margin-top:42px; }
      .info-photo { position:relative; padding:0 25px 25px 0; }
      .info-photo::after { content:""; position:absolute; width:72%; height:72%; right:0; bottom:0; z-index:0; border:1px solid var(--gold); }
      .info-photo img { width:100%; position:relative; z-index:1; display:block; }
      dl { margin:0; border-top:1px solid #d9cec4; }
      .row { display:grid; grid-template-columns:132px 1fr; border-bottom:1px solid #d9cec4; padding:18px 0; font-size:.96rem; }
      dt { color:var(--wine); font-weight:600; }
      dd { margin:0; }
      a { color:inherit; }
      .access { padding:96px 0; color:#fff; }
      .access .section-kicker, .access .card h3 { color:#f5d9bd; }
      .access .card { border-color:#f5d9bd; }
      .access .map-link { color:#fff; }
      .access-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:38px; }
      .card { border-top:3px solid var(--wine); padding:25px 0 0; }
      .card h3 { margin:0 0 10px; font-size:1.3rem; }
      .card p { margin:0; }
      .map { margin-top:50px; aspect-ratio:16/7; min-height:280px; background:#e9e1d8; }
      .map iframe { width:100%; height:100%; border:0; display:block; }
      .map-link { display:inline-flex; align-items:center; gap:10px; margin-top:22px; color:var(--wine); font-size:.88rem; font-weight:600; text-underline-offset:5px; }
      .map-link span { font-size:1.1rem; }
      footer { background:#302722; color:#faf5ef; padding:53px 0 28px; }
      .footer-main { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; }
      .footer-logo { width:154px; filter:brightness(0) invert(1); opacity:.9; }
      .footer-info { font-size:.87rem; color:#e7dcd2; }
      .footer-info p { margin:0; }
      .copyright { margin:35px 0 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.18); font-size:.72rem; color:#bdb0a6; }
      @media (max-width:720px) { .wrap { width:min(100% - 32px,1120px); } header { min-height:78px; } .brand img { width:125px; } .hero { padding:0 0 65px; } .hero-grid,.info-grid,.access-grid { grid-template-columns:1fr; } .hero-copy { padding:53px 28px 46px; } .hero-photo { min-height:310px; grid-row:1; } .contents,.access { padding:65px 0; } .row { grid-template-columns:104px 1fr; gap:10px; font-size:.89rem; } .map { aspect-ratio:1/1; min-height:300px; } .footer-main { display:block; } .footer-info { margin-top:22px; } }
