/* =========================================================
   プライベートエステサロン LUMIERE — style.css
   「隠れ家サロン」テイスト：深いダークトーン × ゴールド
   ========================================================= */
:root{
  --color-bg:#15110e;            /* 深い黒茶：ページ背景 */
  --color-bg-alt:#1b1612;        /* ちょい明るい黒茶：交互セクション */
  --color-card:#221c17;          /* カード背景 */
  --color-card-alt:#2a2219;      /* ホバー時カード背景 */
  --color-ink:#0b0806;           /* 最も暗い黒：フッター・ローダー */
  --color-primary:#cda45e;       /* シャンパンゴールド */
  --color-primary-dark:#a9803d;
  --color-accent:#d3ae6c;        /* 明るめゴールド（アクセント文字用） */
  --color-on-accent:#211a10;     /* ゴールド背景の上に乗る文字色（濃茶） */
  --color-heading:#f1e8d8;       /* 見出し用クリーム色 */
  --color-text:#cdc0ab;          /* 本文：暖かみのあるグレージュ */
  --color-text-light:#9a8d79;    /* 補助テキスト */
  --color-border:#3a3127;        /* 枠線（ダーク地用） */
  --font-serif-jp:'Shippori Mincho','Noto Serif JP',serif;
  --font-serif-en:'Cormorant Garamond',serif;
  --shadow-soft:0 16px 50px rgba(0,0,0,.6);
  --transition:all .35s ease;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-serif-jp);
  color:var(--color-text);
  background:var(--color-bg);
  line-height:1.9;
  letter-spacing:.02em;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.pc-only{display:inline;}
.sp-only{display:none;}

/* 画像の色味を統一する落ち着いたフィルター（隠れ家の陰影を演出） */
.hero-bg,
.concept-image img,
.director-image img,
.menu-card-img img,
.gallery-item img{
  filter:brightness(.72) contrast(1.08) saturate(.82) sepia(.06);
}

/* ---------- Loader ---------- */
#loader{
  position:fixed;inset:0;background:var(--color-ink);z-index:9999;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .6s ease, visibility .6s ease;
}
#loader.loaded{opacity:0;visibility:hidden;}
.loader-inner span{
  font-family:var(--font-serif-en);
  font-size:2.2rem;color:var(--color-accent);
  display:inline-block;
  opacity:0;
  animation:loaderFade 1.4s ease forwards infinite;
  letter-spacing:.3em;
}
.loader-inner span:nth-child(1){animation-delay:.0s;}
.loader-inner span:nth-child(2){animation-delay:.15s;}
.loader-inner span:nth-child(3){animation-delay:.3s;}
.loader-inner span:nth-child(4){animation-delay:.45s;}
@keyframes loaderFade{0%{opacity:0;transform:translateY(6px);}40%{opacity:1;transform:translateY(0);}80%{opacity:1;}100%{opacity:0;}}

/* ---------- Header ---------- */
#site-header{
  position:fixed;top:0;left:0;width:100%;z-index:1000;
  background:rgba(11,8,6,0);
  transition:var(--transition);
  padding:20px 0;
  border-bottom:1px solid transparent;
}
#site-header.scrolled{
  background:rgba(11,8,6,.92);
  box-shadow:0 2px 24px rgba(0,0,0,.5);
  padding:12px 0;
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--color-border);
}
.header-inner{
  max-width:1240px;margin:0 auto;padding:0 30px;
  display:flex;align-items:center;justify-content:space-between;
}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{
  font-family:var(--font-serif-en);font-size:1.6rem;color:var(--color-accent);
  border:1px solid var(--color-accent);width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
}
.logo-text{
  font-size:.78rem;line-height:1.3;color:var(--color-heading);
  letter-spacing:.08em;
}
.logo-text em{
  font-family:var(--font-serif-en);font-style:normal;font-size:1.05rem;
  color:var(--color-accent);letter-spacing:.25em;
}
#main-nav{display:flex;align-items:center;gap:36px;}
#main-nav ul{display:flex;gap:30px;}
#main-nav a{font-size:.85rem;position:relative;padding-bottom:4px;color:var(--color-text);}
#main-nav ul a::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--color-accent);transition:var(--transition);
}
#main-nav ul a:hover::after{width:100%;}
#main-nav ul a:hover{color:var(--color-heading);}
.btn-reserve{
  font-size:.8rem;padding:11px 26px;border:1px solid var(--color-primary);
  border-radius:30px;transition:var(--transition);white-space:nowrap;
  color:var(--color-accent);
}
.btn-reserve:hover{background:var(--color-primary);color:var(--color-on-accent);}
#nav-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:32px;height:32px;background:none;border:none;cursor:pointer;z-index:1100;
}
#nav-toggle span{width:100%;height:1px;background:var(--color-heading);transition:var(--transition);}
#nav-toggle.active span:nth-child(1){transform:translateY(6px) rotate(45deg);}
#nav-toggle.active span:nth-child(2){opacity:0;}
#nav-toggle.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

#mobile-nav{
  position:fixed;top:0;right:-100%;width:78%;max-width:340px;height:100vh;
  background:var(--color-card);z-index:1050;padding:100px 40px;
  transition:right .4s ease;box-shadow:-10px 0 30px rgba(0,0,0,.5);
  border-left:1px solid var(--color-border);
}
#mobile-nav.open{right:0;}
#mobile-nav-close{
  position:absolute;top:28px;right:28px;width:40px;height:40px;
  border-radius:50%;border:1px solid var(--color-border);background:none;
  color:var(--color-heading);font-size:1.1rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:var(--transition);
}
#mobile-nav-close:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-accent);}
#mobile-nav ul{display:flex;flex-direction:column;gap:26px;}
#mobile-nav a{font-size:1rem;color:var(--color-text);}
#mobile-nav .btn-reserve{
  display:inline-block;margin-top:10px;text-align:center;
}

/* ---------- Hero ---------- */
#hero{
  position:relative;height:100vh;min-height:640px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.05);
  animation:heroZoom 16s ease-in-out infinite alternate;
}
@keyframes heroZoom{0%{transform:scale(1.05);}100%{transform:scale(1.15);}}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at center, rgba(11,8,6,.25) 0%, rgba(11,8,6,.65) 75%),
    linear-gradient(180deg,rgba(11,8,6,.55) 0%,rgba(11,8,6,.45) 45%,rgba(11,8,6,.82) 100%);
}
.hero-content{
  position:relative;z-index:2;text-align:center;color:var(--color-heading);padding:0 24px;
  max-width:900px;
}
.hero-eyebrow{
  font-family:var(--font-serif-en);letter-spacing:.4em;font-size:.85rem;
  color:var(--color-accent);margin-bottom:22px;
}
#hero h1{
  font-size:clamp(1.8rem,4.5vw,3.1rem);font-weight:500;line-height:1.7;
  margin-bottom:26px;text-shadow:0 2px 24px rgba(0,0,0,.6);
  color:var(--color-heading);
}
.hero-lead{font-size:.95rem;color:#dcd0ba;margin-bottom:40px;}
.hero-actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 38px;font-size:.85rem;letter-spacing:.05em;border-radius:40px;
  transition:var(--transition);cursor:pointer;border:1px solid transparent;
}
.btn-primary{background:var(--color-primary);color:var(--color-on-accent);border-color:var(--color-primary);}
.btn-primary:hover{background:var(--color-primary-dark);}
.btn-outline{border-color:var(--color-accent);color:var(--color-heading);}
.btn-outline:hover{background:var(--color-accent);color:var(--color-on-accent);}
.btn-block{width:100%;}
.hero-scroll{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
  color:#cfc3ae;font-size:.7rem;letter-spacing:.2em;display:flex;flex-direction:column;
  align-items:center;gap:10px;z-index:2;
}
.hero-scroll span{
  width:1px;height:36px;background:rgba(211,174,108,.4);position:relative;overflow:hidden;
}
.hero-scroll span::after{
  content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;
  background:var(--color-accent);animation:scrollLine 1.8s ease-in-out infinite;
}
@keyframes scrollLine{0%{top:-100%;}100%{top:100%;}}

/* ---------- Info bar ---------- */
.info-bar{
  background:var(--color-ink);color:var(--color-heading);
  display:flex;flex-wrap:wrap;justify-content:center;gap:40px;
  padding:16px 24px;font-size:.8rem;letter-spacing:.03em;
  border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);
}
.info-item{display:flex;align-items:center;gap:8px;}
.info-item i{color:var(--color-accent);}

/* ---------- Section common ---------- */
.section{padding:110px 24px;max-width:1240px;margin:0 auto;}
.section-alt{background:var(--color-bg-alt);max-width:100%;padding:110px 24px;}
.section-alt > *{max-width:1240px;margin-left:auto;margin-right:auto;}
.section-head{text-align:center;margin-bottom:64px;}
.section-eyebrow{
  font-family:var(--font-serif-en);letter-spacing:.4em;font-size:.8rem;
  color:var(--color-accent);margin-bottom:16px;
}
.section-head h2{
  font-size:clamp(1.5rem,3vw,2.2rem);font-weight:600;color:var(--color-heading);
  line-height:1.5;
}
.section-desc{margin-top:20px;color:var(--color-text-light);font-size:.9rem;}

/* fade-in on scroll */
[data-aos]{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s ease;}
[data-aos].aos-in{opacity:1;transform:translateY(0);}

/* ---------- Concept ---------- */
.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.concept-image{position:relative;border-radius:6px;overflow:hidden;box-shadow:var(--shadow-soft);}
.concept-image::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,8,6,0) 50%,rgba(11,8,6,.5) 100%);
  pointer-events:none;
}
.concept-image img{border-radius:6px;}
.concept-lead{font-size:1.02rem;color:var(--color-accent);margin-bottom:20px;font-weight:500;}
.concept-text p{margin-bottom:18px;font-size:.92rem;color:var(--color-text);}
.concept-points{margin-top:26px;display:flex;flex-direction:column;gap:12px;}
.concept-points li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;}
.concept-points i{color:var(--color-accent);margin-top:4px;}

/* ---------- About / 選ばれる理由 ---------- */
.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:20px;}
.about-card{
  background:var(--color-card);padding:44px 30px;text-align:center;border-radius:8px;
  box-shadow:var(--shadow-soft);border:1px solid var(--color-border);
  transition:var(--transition);
}
.about-card:hover{border-color:var(--color-primary);transform:translateY(-4px);}
.about-icon{
  width:66px;height:66px;border-radius:50%;background:var(--color-bg-alt);
  display:flex;align-items:center;justify-content:center;margin:0 auto 22px;
  color:var(--color-accent);font-size:1.5rem;border:1px solid var(--color-border);
}
.about-card h3{font-size:1rem;margin-bottom:14px;color:var(--color-heading);}
.about-card p{font-size:.85rem;color:var(--color-text-light);}
.about-note{
  margin-top:40px;text-align:center;font-size:.75rem;color:var(--color-text-light);
}

/* ---------- Menu ---------- */
.menu-tabs{display:flex;justify-content:center;gap:14px;margin-bottom:50px;flex-wrap:wrap;}
.menu-tab{
  font-family:var(--font-serif-jp);
  padding:12px 30px;border:1px solid var(--color-border);background:var(--color-card);
  border-radius:30px;font-size:.85rem;cursor:pointer;transition:var(--transition);color:var(--color-text);
}
.menu-tab.active,.menu-tab:hover{background:var(--color-primary);color:var(--color-on-accent);border-color:var(--color-primary);}
.menu-panel{display:none;grid-template-columns:repeat(3,1fr);gap:30px;}
.menu-panel.active{display:grid;}
.menu-card{
  background:var(--color-card);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-soft);
  transition:transform .35s ease, border-color .35s ease;border:1px solid var(--color-border);
}
.menu-card:hover{transform:translateY(-6px);border-color:var(--color-primary);}
.menu-card-img{height:210px;overflow:hidden;position:relative;}
.menu-card-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,8,6,0) 55%,rgba(11,8,6,.55) 100%);
}
.menu-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.menu-card:hover .menu-card-img img{transform:scale(1.08);}
.menu-card-body{padding:26px 24px;}
.menu-card-body h3{
  font-size:1.02rem;margin-bottom:12px;color:var(--color-heading);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.badge{
  font-size:.65rem;background:var(--color-accent);color:var(--color-on-accent);padding:3px 10px;
  border-radius:20px;letter-spacing:.05em;
}
.menu-card-body p{font-size:.85rem;color:var(--color-text-light);margin-bottom:18px;min-height:60px;}
.menu-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--color-border);padding-top:16px;}
.menu-meta span{font-size:.8rem;color:var(--color-text-light);}
.menu-meta .price{font-family:var(--font-serif-en);font-size:1.15rem;color:var(--color-accent);font-weight:600;}
.menu-note{text-align:center;margin-top:40px;font-size:.75rem;color:var(--color-text-light);}

/* ---------- Gallery ---------- */
.gallery-grid{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px;
}
.gallery-item{overflow:hidden;border-radius:6px;position:relative;border:1px solid var(--color-border);}
.gallery-item::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,8,6,0) 60%,rgba(11,8,6,.45) 100%);
  pointer-events:none;
}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gallery-item:hover img{transform:scale(1.1);}
.gallery-item.large{grid-column:span 2;grid-row:span 2;}

/* ---------- Director ---------- */
.director-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:70px;align-items:center;}
.director-image{position:relative;border-radius:6px;overflow:hidden;box-shadow:var(--shadow-soft);}
.director-image::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,8,6,0) 55%,rgba(11,8,6,.5) 100%);
  pointer-events:none;
}
.director-image img{border-radius:6px;}
.director-text p{font-size:.92rem;margin-bottom:16px;}
.director-sign{margin-top:26px;font-size:.85rem;color:var(--color-accent);line-height:1.7;}

/* ---------- Voice ---------- */
.voice-slider{overflow:hidden;}
.voice-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;}
.voice-track::-webkit-scrollbar{height:5px;}
.voice-track::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:10px;}
.voice-card{
  flex:0 0 320px;scroll-snap-align:start;background:var(--color-card);border-radius:8px;
  padding:34px 28px;box-shadow:var(--shadow-soft);border:1px solid var(--color-border);
}
.voice-stars{color:var(--color-accent);margin-bottom:16px;font-size:.85rem;}
.voice-card p{font-size:.88rem;color:var(--color-text);margin-bottom:18px;}
.voice-name{font-size:.78rem;color:var(--color-text-light);text-align:right;margin-bottom:0;}

/* ---------- Reserve ---------- */
.reserve-grid{display:grid;grid-template-columns:0.85fr 1.4fr;gap:50px;}
.reserve-info{display:flex;flex-direction:column;gap:22px;}
.reserve-info-card{
  background:var(--color-bg-alt);padding:28px 26px;border-radius:8px;
  border:1px solid var(--color-border);
}
.reserve-info-card h3{font-size:.95rem;margin-bottom:12px;color:var(--color-heading);display:flex;gap:8px;align-items:center;}
.reserve-info-card h3 i{color:var(--color-accent);}
.reserve-info-card p{font-size:.85rem;color:var(--color-text-light);margin-bottom:4px;}
.tel-number{font-family:var(--font-serif-en);font-size:1.5rem;color:var(--color-accent);font-weight:600;}

.reserve-form{background:var(--color-card);padding:44px;border-radius:8px;box-shadow:var(--shadow-soft);border:1px solid var(--color-border);}
.form-row{margin-bottom:22px;}
.form-row-half{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-row label{display:block;font-size:.82rem;margin-bottom:8px;color:var(--color-heading);}
.req{font-size:.65rem;background:#8a4a38;color:#f6e9e1;padding:2px 8px;border-radius:10px;margin-left:6px;}
.reserve-form input,.reserve-form select,.reserve-form textarea{
  width:100%;padding:13px 16px;border:1px solid var(--color-border);border-radius:6px;
  font-family:inherit;font-size:.88rem;background:var(--color-bg);color:var(--color-text);
  transition:var(--transition);
}
.reserve-form select option{background:var(--color-card);color:var(--color-text);}
.reserve-form input::placeholder,.reserve-form textarea::placeholder{color:var(--color-text-light);}
.reserve-form input:focus,.reserve-form select:focus,.reserve-form textarea:focus{
  outline:none;border-color:var(--color-accent);background:var(--color-card-alt);
}
.form-status{margin-top:16px;font-size:.85rem;text-align:center;min-height:20px;}
.form-status.success{color:#8fbf8f;}
.form-status.error{color:#e08f78;}

/* ---------- Access ---------- */
.access-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:stretch;}
.access-map{border-radius:8px;overflow:hidden;box-shadow:var(--shadow-soft);min-height:400px;border:1px solid var(--color-border);filter:grayscale(.3) invert(.92) contrast(.92);}
.access-map iframe{width:100%;height:100%;min-height:400px;border:0;}
.access-info{background:var(--color-card);padding:40px;border-radius:8px;box-shadow:var(--shadow-soft);border:1px solid var(--color-border);}
.access-info h3{font-size:1.15rem;margin-bottom:24px;color:var(--color-heading);}
.access-info dl{display:grid;grid-template-columns:auto;row-gap:16px;}
.access-info dt{font-size:.78rem;color:var(--color-accent);margin-top:14px;display:flex;gap:8px;align-items:center;}
.access-info dd{font-size:.9rem;margin-top:6px;color:var(--color-text);}
.access-info dd .note{font-size:.72rem;color:var(--color-text-light);}

/* ---------- Footer ---------- */
#site-footer{background:var(--color-ink);color:#cfc3ae;padding:70px 24px 0;border-top:1px solid var(--color-border);}
.footer-inner{
  max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;
  gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-logo{font-size:1.1rem;letter-spacing:.05em;color:var(--color-heading);}
.footer-logo em{font-family:var(--font-serif-en);color:var(--color-accent);font-style:normal;letter-spacing:.2em;}
.footer-tagline{font-size:.78rem;color:#8a7f6c;margin-top:10px;}
.footer-nav{display:flex;flex-wrap:wrap;gap:20px;font-size:.82rem;align-items:center;}
.footer-nav a:hover{color:var(--color-accent);}
.footer-sns{display:flex;gap:16px;font-size:1.1rem;}
.footer-sns a{
  width:38px;height:38px;border:1px solid rgba(255,255,255,.15);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:var(--transition);
}
.footer-sns a:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);}
.footer-bottom{
  max-width:1240px;margin:0 auto;padding:22px 0;text-align:center;
  font-size:.72rem;color:#6e6455;
}

/* ---------- To top ---------- */
#to-top{
  position:fixed;right:26px;bottom:26px;width:48px;height:48px;border-radius:50%;
  background:var(--color-primary);color:var(--color-on-accent);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:1rem;
  opacity:0;pointer-events:none;transition:var(--transition);z-index:900;
  box-shadow:0 6px 24px rgba(0,0,0,.5);
}
#to-top.show{opacity:1;pointer-events:auto;}
#to-top:hover{background:var(--color-primary-dark);}

/* ---------- Bottom fixed bar (mobile quick action) ---------- */
#bottom-bar{
  display:none;
  position:fixed;left:0;bottom:0;width:100%;z-index:950;
  background:var(--color-ink);border-top:1px solid var(--color-border);
  box-shadow:0 -6px 24px rgba(0,0,0,.5);
}
.bottom-bar-btn{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;padding:12px 6px;font-size:.72rem;letter-spacing:.03em;
  transition:var(--transition);
}
.bottom-bar-btn i{font-size:1.05rem;}
.bottom-bar-tel{color:var(--color-heading);background:var(--color-card);}
.bottom-bar-tel:hover{background:var(--color-card-alt);}
.bottom-bar-web{color:var(--color-on-accent);background:var(--color-primary);}
.bottom-bar-web:hover{background:var(--color-primary-dark);}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1024px){
  .concept-grid,.director-grid{grid-template-columns:1fr;gap:40px;}
  .director-image{max-width:360px;margin:0 auto;}
  .about-grid{grid-template-columns:1fr 1fr;}
  .menu-panel{grid-template-columns:1fr 1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px;}
  .gallery-item.large{grid-column:span 2;grid-row:span 1;}
  .gallery-grid .gallery-item:last-child{grid-column:span 2;}
  .reserve-grid,.access-grid{grid-template-columns:1fr;}
}

@media (max-width: 768px){
  .pc-only{display:none;}
  .sp-only{display:inline;}
  #main-nav{display:none;}
  #nav-toggle{display:flex;}
  .header-inner{padding:0 20px;}
  .logo-text{font-size:.68rem;}
  #hero h1{font-size:1.7rem;}
  .hero-lead{font-size:.85rem;}
  .hero-actions{flex-direction:column;width:100%;padding:0 20px;}
  .btn{width:100%;}
  .info-bar{flex-direction:column;gap:10px;text-align:center;}
  .section{padding:80px 20px;}
  .section-alt{padding:80px 20px;}
  .about-grid{grid-template-columns:1fr;}
  .menu-tabs{gap:10px;}
  .menu-tab{padding:10px 18px;font-size:.78rem;}
  .menu-panel{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px;}
  .gallery-item.large{grid-column:span 2;grid-row:span 1;}
  .gallery-grid .gallery-item:last-child{grid-column:span 2;}
  .form-row-half{grid-template-columns:1fr;gap:0;}
  .reserve-form{padding:30px 24px;}
  .access-info{padding:28px;}
  .footer-inner{flex-direction:column;text-align:center;}
  .footer-nav{justify-content:center;}

  /* \u4e0b\u90e8\u56fa\u5b9a\u30af\u30a4\u30c3\u30af\u30a2\u30af\u30b7\u30e7\u30f3\u30d0\u30fc\u3092\u8868\u793a\u3057\u3001\u91cd\u306a\u308a\u3092\u56de\u907f */
  #bottom-bar{display:flex;}
  body{padding-bottom:62px;}
  #site-footer{padding-bottom:62px;}
  #to-top{bottom:78px;right:16px;width:44px;height:44px;}
}
