/* reason block. Page-specific declaration differences are scoped with data-page. */
.page[data-page="main"] [data-section="06-section-2"]{position:relative; isolation:isolate; padding-bottom:180px;}
.page[data-page="main"] [data-section="06-section-2"]::before{content:""; position:absolute; z-index:0; inset:0 auto 0 50%; width:1440px; transform:translateX(-50%); pointer-events:none; background:#fff;}
@media (min-width:769px){
  .page[data-page="main"] [data-section="06-section-2"]::before{width:calc(100vw - 100px);}
}
.page[data-page="main"] [data-section="06-section-2"] > *{position:relative; z-index:1;}
.page[data-page="main"] .room-band{margin-top:0;}
.page[data-page="main"] .room-band + [data-section="08-section-3"]{isolation:isolate; background-color:#fffdf9;
  background-image:
    radial-gradient(circle at 88% 18%,rgba(244,205,214,.26) 0,rgba(251,235,239,.13) 11%,rgba(255,253,249,0) 28%),
    radial-gradient(circle at 12% 76%,rgba(224,218,207,.25) 0,rgba(243,239,232,.12) 13%,rgba(255,253,249,0) 31%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");
  background-blend-mode:normal,normal,soft-light;}
.page[data-page="main"] .heading-phrase{display:inline-block; white-space:nowrap;}
.reason{display:grid; grid-template-columns:110px minmax(0,1fr) 250px; gap:36px; align-items:center; padding:40px 0; border-top:1px solid var(--line);}
.reason:last-of-type{border-bottom:1px solid var(--line);}
.reason__num{font-family:var(--serif); font-size:62px; line-height:1; letter-spacing:-0.08em; color:var(--accent);}
.reason h3{margin-bottom:14px; font-family:var(--display); font-size:22px; font-weight:500; letter-spacing:0.03em; line-height:1.6;}
.reason p{color:var(--ink-soft); font-size:17px; font-weight:400; letter-spacing:0.05em; line-height:2;}
.reason__illust{width:240px; height:240px; object-fit:contain;}
