.access,.columnhalf{background:transparent}
.sec__label .dot,.sec__label--c::before{
  background:radial-gradient(circle at 50% 38%,var(--gold),var(--terra))}
.sectionblock__image,
.sectionblock__subimg,
.about_img{ will-change:clip-path; }
.index__concept__block{ overflow-x:clip; }
.more-gate{
  background:var(--white);
  text-align:center;
  padding:clamp(40px,7vh,96px) 20px;
}
.more-gate__btn{
  display:inline-flex; align-items:center; gap:14px;
  padding:18px 34px;
  background:transparent;
  border:1px solid rgba(62,113,80,.28);
  border-radius:999px;
  color:var(--green-deep);
  cursor:pointer;
  transition:background .45s ease, color .45s ease, border-color .45s ease;
}
.more-gate__btn:hover{
  background:var(--green-deep);
  border-color:var(--green-deep);
  color:#fff;
}
.more-gate__lbl{
  font-family:var(--f-cormo); font-size:1.28125rem; letter-spacing:.06em;
}
.more-gate__ja{
  font-family:var(--f-ja); font-size:.8125rem; letter-spacing:.14em;
  color:var(--terra);
  transition:color .45s ease;
}
.more-gate__btn:hover .more-gate__ja{ color:rgba(255,255,255,.86); }
.more-gate__ico{
  position:relative; width:14px; height:14px; flex:0 0 14px;
}
.more-gate__ico::before,
.more-gate__ico::after{
  content:""; position:absolute; inset:50% 0 auto 0;
  height:1.5px; background:currentColor;
  transform:translateY(-50%);
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}
.more-gate__ico::after{ transform:translateY(-50%) rotate(90deg); }
.more-gate.is-open .more-gate__ico::after{ transform:translateY(-50%) rotate(90deg) scaleX(0); }
#business{ display:none; }
#business.is-revealed{
  display:block;
  animation:gateReveal .9s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes gateReveal{
  from{ opacity:0; transform:translateY(28px); }
  to{ opacity:1; transform:none; }
}
@media (min-width:1000px){
main[data-page=index] #business{padding-top:40px}
main[data-page=index] #business .row{display:flex; align-items:flex-start; column-gap:clamp(28px,3vw,56px); padding-right:0}
main[data-page=index] #business .row .col_r{order:1; flex:1 1 auto; width:auto; min-width:0; padding-top:35px; padding-bottom:110px; position:relative; z-index:2}
main[data-page=index] #business .row .col_l{order:2; flex:0 0 auto; width:clamp(420px,43vw,660px); align-self:flex-start; position:sticky; top:clamp(64px,7vh,88px); z-index:1}
main[data-page=index] #business [data-index-card-wrapper] [data-index-card-inner]{
    height:clamp(300px,29vw,412px); padding:0 !important; column-gap:0 !important; align-items:stretch !important;
  }
main[data-page=index] #business .slider{
    flex:0 0 clamp(280px,27.5vw,396px); width:auto !important; align-self:stretch; height:auto !important;
  }
main[data-page=index] #business .slider > a,
  main[data-page=index] #business .slider .slider__viewport,
  main[data-page=index] #business .slider .slider__container,
  main[data-page=index] #business .slider .i{height:100% !important}
main[data-page=index] #business .slider .slider__slide{
    width:100% !important; height:100% !important; border-radius:0 !important; box-shadow:none !important;
  }
main[data-page=index] #business .slider .dots{display:none}
main[data-page=index] #business [data-index-card-wrapper] .column{
    align-self:stretch; padding:clamp(22px,2.3vw,33px) clamp(28px,2.7vw,40px);
    border-left:1px solid rgba(200,162,78,.20);
  }
main[data-page=index] #business [data-index-card-wrapper] [data-column-inner]{
    padding:0; min-height:0; height:100%; gap:clamp(8px,0.9vw,12px);
  }
main[data-page=index] #business [data-index-card-wrapper] .hc-no{right:clamp(6px,1vw,14px)}
}
@media (max-width:999px){
main[data-page=index] #business .col_l{display:none}
main[data-page=index] #business .col_r{margin-top:0}
}
.rei-map{
  --rm-base:var(--cream);          /* BASEMENT CLOUD 県の面 */
  --rm-line:var(--green-deep);     /* FOREST GREEN 県境 */
  --rm-glow:var(--gold);           /* REI GOLD 灯る県 */
  position:relative; box-sizing:border-box;
  display:flex; flex-direction:column; gap:clamp(10px,1vw,16px);
  /* 箱に入れない。列島は大きく自由に、スクロールでダイナミックに寄り引きする。
     ラベルだけは読める“不可侵ヘッダー”として最上部に薄く置き、巨大な地図はその下で
     カラム内いっぱいに躍動する（左のカードへは overflow-x:clip で不可侵、上下は自由）。 */
  background:none; border:0; border-radius:0; box-shadow:none; padding:0;
  overflow:visible;                 /* 列島は自由にはみ出し、左の不透明カード背後へそのまま潜り込む（ぼかし・見切れ無し） */
  opacity:0; transform:translateY(14px);
  transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1);
}
.rei-map.is-ready{opacity:1; transform:none}
.rei-map__head{
  position:relative; z-index:2; align-self:flex-start;
  display:flex; flex-direction:column; gap:clamp(12px,1.1vw,18px);
  padding:clamp(48px,5.6vw,92px) 0 clamp(16px,1.5vw,22px);
  border-bottom:1px solid color-mix(in srgb, var(--gold) 30%, transparent);
}
.rei-map__kicker{display:flex; align-items:center; font-family:var(--f-cormo,serif); font-size:13px; font-weight:600; letter-spacing:.4em; text-transform:uppercase; color:var(--green-deep)}
.rei-map__kicker::before{content:""; width:30px; height:1px; margin-right:14px; background:var(--gold)}
.rei-map__count{font-family:var(--f-ja,serif); font-weight:500; font-size:clamp(19px,1.5vw,23px); letter-spacing:.08em; color:var(--ink); display:flex; align-items:baseline; gap:.28em; line-height:1}
.rei-map__count b{font-family:var(--f-cormo,serif); font-weight:600; font-size:clamp(52px,5.6vw,88px); line-height:.82; letter-spacing:.005em; color:var(--gold); padding:0 .06em; transform:translateY(.06em)}
.rei-map__cur{display:inline-block; transform-origin:center bottom}
.rei-map__cur.is-tick{animation:reiTick .5s cubic-bezier(.2,.7,.2,1)}
.rei-map__tot{font-family:var(--f-cormo,serif); font-style:normal; font-weight:600; font-size:clamp(15px,1.2vw,19px); letter-spacing:.1em; color:var(--gold); opacity:.5; align-self:baseline; margin-left:-.05em}
.rei-map__stage{
  position:relative; z-index:1; overflow:visible;
  /* ぼかしフェード（白いにじみ）は廃止。列島は溶かさず“くっきり”そのまま置く。
     はみ出しは切らず／ぼかさず、奥（z-index:1）に置いて手前の不透明パネル背後へ潜らせる。 */
}
.rei-map__svg{display:block; width:100%; height:auto; margin-inline:auto; overflow:visible}
.rei-map__world{transform-box:view-box; transform-origin:0 0; transition:transform 1.05s cubic-bezier(.62,0,.18,1); will-change:transform}
.rei-map__land .rei-pref{fill:var(--rm-base); stroke:var(--rm-line); stroke-width:1; stroke-linejoin:round; stroke-linecap:round; vector-effect:non-scaling-stroke}
.rei-map__land{filter:drop-shadow(0 1px 2px rgba(40,70,50,.16))}
.rei-map__glow{fill:var(--rm-glow); stroke:var(--rm-glow); stroke-width:1; stroke-linejoin:round; pointer-events:none; vector-effect:non-scaling-stroke;
  transform-box:fill-box; transform-origin:center;
  filter:drop-shadow(0 0 6px rgba(170,133,52,.85)) drop-shadow(0 0 18px rgba(170,133,52,.5))}
.rei-map__glow.is-flare{animation:reiFlare .9s cubic-bezier(.2,.7,.2,1)}
.rei-map__ping{fill:none; stroke:var(--rm-glow); stroke-width:1.4; pointer-events:none; vector-effect:non-scaling-stroke;
  transform-box:fill-box; transform-origin:center; opacity:0}
.rei-map__ping.is-flare{animation:reiPing 1.05s cubic-bezier(.22,.61,.36,1)}
.rei-map__now{
  position:relative; margin:0; margin-top:clamp(11px,1.1vw,15px);
  padding-top:clamp(10px,1vw,14px);
  display:flex; flex-direction:row; align-items:center; justify-content:space-between;
  gap:clamp(10px,1.4vw,20px);
  border-top:1px solid color-mix(in srgb, var(--gold) 35%, transparent);
  opacity:0;
}
.rei-map__txt{display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0}
.rei-map__now.is-on{animation:reiNow .55s cubic-bezier(.2,.7,.2,1) forwards}
.rei-map__area{font-family:var(--f-ja,serif); font-weight:600; font-size:clamp(11px,0.95vw,13px); line-height:1.3; letter-spacing:.12em; color:var(--ink-soft,#6b6357)}
.rei-map__name{font-family:var(--f-ja,serif); font-weight:600; font-size:clamp(16px,1.45vw,21px); letter-spacing:.03em; line-height:1.35; color:var(--ink)}
.rei-map__now .rei-map__logo{
  flex:none; width:clamp(80px,9vw,128px); height:clamp(34px,3.4vw,46px);
  background:var(--seal-img) right center/contain no-repeat; opacity:.96;
}
.rei-map__now .rei-map__logo:not([data-logo]),
.rei-map__now .rei-map__logo[data-logo=""]{display:none}
@media (min-width:1000px){
.rei-map__kicker{letter-spacing:.42em}
.rei-map__kicker::before{width:32px; margin-right:15px}
.rei-map__land .rei-pref{stroke-width:1.1}
.rei-map__glow{stroke-width:1.1}
.rei-map__stage{flex:1 1 auto; min-height:0}
.rei-map__svg{width:auto; max-width:100%; height:clamp(440px,60vh,660px)}
}
@media (prefers-reduced-motion:reduce){
.rei-map{transition:none}
.rei-map__world{transition:none}
.rei-pref{transition:none}
.rei-map__glow.is-flare,.rei-map__ping.is-flare{animation:none}
.rei-map__ping{opacity:0}
.rei-map__now.is-on{animation:none; opacity:1}
}
main[data-page=index] #business{
  --hc-gold:#C8A24E;          /* 暗地で映える金 */
  --hc-gold-soft:rgba(200,162,78,.16);
  --hc-paper:#F1E9D8;         /* ホテル名＝温かい生成り */
  --hc-area:#E4D8C0;          /* 地域名 */
  --hc-cta:#D9CAA4;           /* CTA 既定 */
}
main[data-page=index] #business [data-index-card-wrapper]{
  --hc-tone:var(--business-card-color,#584B3A);
  /* 濃色面のテキストトークン */
  --hc-ink:#F5EDDC;           /* ホテル名 */
  --hc-sub:#E4D8C0;           /* 地域・スペック */
  --hc-accent:#DDC38C;        /* 系列/ピル/菱形/髪罫＝シャンパン金（赤面でも浮く） */
  --hc-ghost:rgba(245,237,220,.10);   /* ゴースト番号 */
  --hc-line:rgba(221,195,140,.42);     /* 内枠罫 */
  --hc-cta-bg:linear-gradient(135deg,#E4C579 0%,#D5B063 46%,#C39A3C 100%);
  --hc-cta-fg:#2E2718;
  --hc-pill-bd:rgba(221,195,140,.42);
  background:linear-gradient(158deg,
    color-mix(in srgb, var(--hc-tone) 90%, #ffffff) 0%,
    var(--hc-tone) 48%,
    color-mix(in srgb, var(--hc-tone) 84%, #000000) 100%) !important;
  box-shadow:0 22px 48px -26px rgba(20,15,8,.55),
    inset 0 0 0 1px var(--hc-line);
}
main[data-page=index] #business [data-tone=light] [data-index-card-wrapper]{
  --hc-ink:#2A2318;
  --hc-sub:#5A4E3A;
  --hc-accent:#8A6A2C;        /* ブロンズ金 */
  --hc-ghost:rgba(42,35,24,.10);
  --hc-line:rgba(42,35,24,.16);
  --hc-cta-bg:linear-gradient(135deg,#3A3122 0%,#2E2718 100%);
  --hc-cta-fg:#F3ECDB;
  --hc-pill-bd:rgba(42,35,24,.30);
}
main[data-page=index] #business [data-index-card-wrapper] .tagline{display:none}
main[data-page=index] #business [data-index-card-wrapper] h3:before{display:none}
main[data-page=index] #business [data-index-card-wrapper] [data-component=btn_detail]{display:none}
main[data-page=index] #business [data-index-card-wrapper] [data-index-card-inner]{align-items:center}
main[data-page=index] #business [data-index-card-wrapper] .column{display:flex;align-items:center;flex:1 1 auto;min-width:0}
main[data-page=index] #business [data-index-card-wrapper] [data-column-inner]{
  position:relative; box-sizing:border-box; width:100%;
  display:flex; flex-direction:column; justify-content:center;
  gap:13px; padding:4px 44px 4px 2px; min-height:274px;
}
main[data-page=index] #business [data-index-card-wrapper] .hc-no{
  position:absolute; top:-6px; right:30px; z-index:0; pointer-events:none;
  font-family:var(--f-cormo,serif); font-weight:500; font-size:66px; line-height:1;
  letter-spacing:.01em; color:var(--hc-ghost);
}
main[data-page=index] #business [data-index-card-wrapper] .hc-series{
  position:relative; z-index:1; display:inline-flex; align-items:center; gap:12px;
  font-family:var(--f-ja,serif); font-weight:500; font-size:11.5px; letter-spacing:.26em;
  color:var(--hc-accent);
}
main[data-page=index] #business [data-index-card-wrapper] .hc-series::before{
  content:""; width:24px; height:1px; background:currentColor; opacity:.75;
}
main[data-page=index] #business [data-index-card-wrapper] .hc-area{
  position:relative; z-index:1; display:flex; align-items:center; gap:9px; margin:0;
  font-family:var(--f-ja,serif); font-weight:500; font-size:13.5px; letter-spacing:.18em;
  color:var(--hc-sub);
}
main[data-page=index] #business [data-index-card-wrapper] .hc-area .hc-mark{
  flex:none; width:5px; height:5px; background:var(--hc-accent); transform:rotate(45deg);
}
main[data-page=index] #business [data-index-card-wrapper] h3.hc-name{
  position:relative; z-index:1; margin:0; white-space:normal;
  font-family:var(--f-ja,serif); font-weight:500;
  font-size:clamp(17px,1.62vw,24px); line-height:1.4; letter-spacing:.03em;
  color:var(--hc-ink);
}
main[data-page=index] #business [data-index-card-wrapper] h3.hc-name::after{
  content:""; display:block; width:34px; height:1px; margin-top:15px;
  background:linear-gradient(90deg,var(--hc-accent),transparent);
}
main[data-page=index] #business [data-index-card-wrapper] .hc-spec{
  position:relative; z-index:1; margin:0; display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  font-family:var(--f-ja,serif); font-weight:500; font-size:12px; letter-spacing:.06em; line-height:1.5;
  color:var(--hc-sub);
}
main[data-page=index] #business [data-index-card-wrapper] .hc-spec .hc-sep{
  width:1px; height:11px; background:currentColor; opacity:.38;
}
main[data-page=index] #business [data-index-card-wrapper] .hc-pills{
  position:relative; z-index:1; list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px;
}
main[data-page=index] #business [data-index-card-wrapper] .hc-pill{
  font-family:var(--f-ja,serif); font-weight:500; font-size:11px; letter-spacing:.05em; line-height:1;
  color:var(--hc-accent); padding:6px 10px; border:1px solid var(--hc-pill-bd); border-radius:100px; white-space:nowrap;
}
main[data-page=index] #business [data-index-card-wrapper] .hc-cta{
  position:relative; z-index:1; margin:2px 0 0; align-self:stretch;
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:clamp(9px,0.95vw,13px) 18px; border-radius:6px;
  background:var(--hc-cta-bg);
  color:var(--hc-cta-fg); font-family:var(--f-ja,serif); font-weight:600; font-size:12.5px; letter-spacing:.2em;
  box-shadow:0 6px 16px -8px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.30);
  transition:filter .3s cubic-bezier(.23,1,.32,1), box-shadow .3s cubic-bezier(.23,1,.32,1);
}
main[data-page=index] #business [data-index-card-wrapper] .hc-cta .hc-arw{
  width:7px; height:12px; fill:none; stroke:var(--hc-cta-fg); stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round;
  transition:transform .3s cubic-bezier(.23,1,.32,1);
}
main[data-page=index] #business [data-column-inner]{position:relative}
main[data-page=index] #business [data-index-business-card][data-logo] [data-column-inner]::after{content:none}
main[data-page=index] #business [data-logo=capitol]{--seal-img:url(../assets/img/hotels/logos/brand-capitol.svg); --seal-w:150px; --seal-h:26px}
main[data-page=index] #business [data-logo=hotel]  {--seal-img:url(../assets/img/hotels/logos/brand-hotel.svg);  --seal-w:56px;  --seal-h:56px}
main[data-page=index] #business [data-logo=resort] {--seal-img:url(../assets/img/hotels/logos/brand-resort.svg); --seal-w:54px;  --seal-h:54px}
main[data-page=index] #business [data-logo=excel]  {--seal-img:url(../assets/img/hotels/logos/brand-excel.svg);  --seal-w:52px;  --seal-h:52px}
main[data-page=index] #business [data-logo=rei]    {--seal-img:url(../assets/img/hotels/logos/brand-rei.svg);    --seal-w:52px;  --seal-h:52px}
main[data-page=index] #business [data-logo=vac]    {--seal-img:url(../assets/img/hotels/logos/vacations.svg);    --seal-w:112px; --seal-h:24px; --seal-op:.9}
main[data-page=index] #business [data-logo=bell]   {--seal-img:url(../assets/img/hotels/logos/brand-bell.png);   --seal-w:132px; --seal-h:44px}
main[data-page=index] #business [data-logo=groove] {--seal-img:url(../assets/img/hotels/logos/brand-groove.png); --seal-w:104px; --seal-h:48px}
main[data-page=index] #business [data-logo=higashiyama]{--seal-img:url(../assets/img/hotels/logos/brand-higashiyama-lt.svg); --seal-w:58px; --seal-h:58px; --seal-op:.9}
main[data-page=index] #business [data-index-card-wrapper] .slider .slider__slide{
  box-shadow:inset 0 0 0 1px rgba(200,162,78,.22);
}
main[data-page=index] #business .dots .dot,
main[data-page=index] #business .dots .dot:before{background-color:rgba(241,233,216,.45)}
main[data-page=index] #business .dots .dot._active{background-color:var(--hc-gold); border-color:var(--hc-gold)}
@media (hover:hover){
main[data-page=index] #business [data-index-card-wrapper]:hover .hc-cta{filter:brightness(1.06); box-shadow:0 11px 24px -8px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.38)}
main[data-page=index] #business [data-index-card-wrapper]:hover .hc-cta .hc-arw{transform:translateX(4px)}
main[data-page=index] #business [data-index-card-wrapper]:hover .slider .i img{transform:scale(1.05)}
}
