:root{--ink:#0b2931;--paper:#f1f3f0;--silver:#d7e3e4;--muted:#52696b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0;font-weight:400}a{color:inherit;text-decoration:none;touch-action:manipulation}img{display:block;max-width:100%;height:auto}a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}.lp-shell{overflow:clip;width:100%}h2{font-size:clamp(42px,5.2vw,82px);line-height:1.05;letter-spacing:-.052em;text-wrap:balance}p{font-size:15px;line-height:1.85}.logo{width:205px;height:auto}.hero{position:relative;min-height:850px;height:100svh;max-height:1150px;color:#f5f7f3;background:var(--paper);isolation:isolate}.hero-scene{position:absolute;inset:0;overflow:hidden;clip-path:inset(var(--hero-inset,0px));background:var(--ink)}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:67% 50%;transform:scale(var(--hero-scale,1.035));will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#04202c66,transparent 85%),linear-gradient(0deg,#031d29ba,transparent 85%)}.header{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:36px 5.5%;gap:24px}.header nav{display:flex;align-items:center;gap:32px;font-size:12px}.header nav a{min-height:44px;display:inline-flex;align-items:center;position:relative}.header nav a:not(.nav-paper):after{content:"";position:absolute;bottom:5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}.header .nav-paper{border:1px solid #d7e3e488;border-radius:40px;padding:0 23px;transition:background .3s}.hero-content{position:relative;z-index:2;padding:clamp(125px,16vh,210px) 7% 110px}.hero h1{font-size:clamp(70px,8.6vw,144px);line-height:.98;letter-spacing:-.065em}.hero h1 span{display:block}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-top:70px}.hero-bottom p{font-size:14px;max-width:360px}.horizon-rule{position:absolute;bottom:55px;left:7%;width:86%;height:1px;background:#e0edef40}.horizon-rule:before{content:"";display:block;background:#e0edefb3;height:1px;width:12%}.button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-width:230px;min-height:56px;padding:18px 30px;border:1px solid #b8cacd;border-radius:40px;font-size:12px;letter-spacing:.015em;transition:transform .2s,border-color .35s;background:transparent;flex:none}.button span{position:relative;z-index:1}.button:before{content:"";position:absolute;inset:0;background:#f8faf7;transform:translateX(-102%);transition:transform .5s cubic-bezier(.2,.7,.2,1)}.silver{background:linear-gradient(110deg,#f3f6f3,#c9d8da);color:var(--ink)}.outline{color:#ecf1ed;border-color:#adc4c477}.outline:before{background:#294b53}.button:active{transform:translateY(2px)}.text-link{position:relative;display:inline-flex;align-items:center;min-height:44px;font-size:12px;letter-spacing:.02em}.text-link:after{content:"";position:absolute;height:1px;left:0;right:0;bottom:7px;background:currentColor;transform-origin:left;transition:transform .35s}.arrival{position:relative;padding:125px 7% 70px;isolation:isolate}.coast-wash{position:absolute;inset:0 0 -180px;z-index:-1;background:linear-gradient(0deg,var(--paper) 3%,#f1f3f0a8 40%,#f1f3f0e8 93%),url('imagery/mrt-coast-hero.webp') center 62%/cover;opacity:.54}.arrival-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:start}.copy{max-width:410px}.copy .text-link{margin-top:20px}.arrival-composition{position:relative;max-width:1450px;margin:75px auto 0;padding-bottom:145px}.lp-media{position:relative;overflow:hidden}.lp-media>img{width:100%;height:100%;object-fit:cover}.arrival-main{margin-left:18%;width:82%;aspect-ratio:1.58}.arrival-main>img{object-position:63% 50%}.arrival-detail{position:absolute;width:25%;height:57%;left:0;bottom:25px;overflow:hidden;border:10px solid var(--paper);border-left:0;box-shadow:0 25px 70px #0b293112;transform:translateY(var(--detail-shift,0px))}.arrival-detail img{width:100%;height:100%;object-fit:cover;object-position:6% 65%;transform:scale(1.6)}.arrival-line{position:absolute;right:0;bottom:64px;font-size:12px;letter-spacing:.025em}.lp-boundary-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.is-painted>img{opacity:0}.journey{padding:80px 7% 145px;position:relative}.journey-head{display:flex;align-items:end;justify-content:space-between;gap:12%;margin-bottom:80px}.journey-head>p{max-width:330px}.journey-layout{display:grid;grid-template-columns:1.12fr .75fr;gap:13%;align-items:start}.journey-visual{position:sticky;top:80px}.journey-picture{position:relative;aspect-ratio:.98;overflow:hidden;background:#d9e3df}.journey-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:67% 50%;opacity:0;transform:scale(1.045);transition:opacity .65s,transform 1.3s cubic-bezier(.2,.6,.2,1)}.journey-image.active{opacity:1;transform:scale(1)}.journey-image.construction-detail{object-position:95% 28%;transform:scale(2.1)}.journey-image.construction-detail.active{transform:scale(1.95)}.journey-track{height:1px;background:#a7bab7;margin-top:24px}.journey-track span{display:block;width:100%;height:1px;background:var(--ink);transform-origin:left;transform:scaleX(var(--journey-progress,.125));transition:transform .45s}.image-note{font-size:10px;letter-spacing:.025em;margin-top:14px;color:var(--muted)}.journey-steps{list-style:none;padding:0;margin:0}.journey-step{display:grid;grid-template-columns:30px 1fr;gap:20px;min-height:310px;padding:48px 0;border-top:1px solid #aebfbb;color:#627574;transition:color .4s}.journey-step.active{color:var(--ink)}.step-number{font-size:11px;padding-top:9px}.journey-step h3{font-size:29px;line-height:1.2;letter-spacing:-.035em;margin-bottom:24px}.journey-step p{font-size:14px}.participation{position:relative;isolation:isolate;color:#f1f5f1;background:#092830;padding:95px 7% 55px}.sea-layer{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#09283088,#092830cc),url('imagery/mrt-coast-hero.webp') center 78%/cover;opacity:.36}.participation-inner{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.coin-stage{position:relative;width:100%;aspect-ratio:1;max-width:590px;margin:auto}.coin-fallback{width:100%;height:100%;object-fit:contain}.coin-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}.coin-stage.ready .coin-canvas{opacity:1}.coin-stage.ready .coin-fallback{opacity:0}.participation-copy>p{color:#ccd9d8;max-width:375px;margin:30px 0}.participation-copy h2{font-size:clamp(42px,5.1vw,80px)}.participation-foot{display:flex;justify-content:space-between;gap:35px;margin-top:55px;padding-top:30px;border-top:1px solid #acc4c33b}.participation-foot p:first-child{font-size:19px;line-height:1.4}.participation-foot p:last-child{font-size:12px;color:#c2d1d2;max-width:330px}.destination{background:#e7eeea;position:relative}.destination-photo{width:100%;aspect-ratio:1.9;background:linear-gradient(#092830 0 50%,#e7eeea 50% 100%)}.destination-photo>img{object-position:55% 54%}.destination-copy{display:grid;grid-template-columns:1.3fr .8fr;gap:12%;padding:75px 7% 120px}.destination-copy h2{font-size:clamp(42px,4.8vw,76px)}.destination-copy p{font-size:14px;max-width:350px}.clarity{padding:135px 7% 145px;display:grid;grid-template-columns:1fr 1fr;gap:14%;position:relative;isolation:isolate}.clarity:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#f1f3f0ee,#f1f3f0da),url('imagery/mrt-stay-terrace.webp') center 40%/cover;opacity:.6}.clarity-title .text-link{margin-top:32px}.report-list>a{display:grid;grid-template-columns:27px 1fr;gap:24px;padding:30px 0 35px;border-top:1px solid #aebfbb;position:relative}.report-list>a:after{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .5s}.report-list>a>span{font-size:10px;padding-top:7px}.report-list h3{font-size:26px;letter-spacing:-.03em;margin-bottom:16px}.report-list p{font-size:13px;max-width:340px}.closing{min-height:650px;position:relative;isolation:isolate;color:#f5f7f3;background:var(--ink);display:flex;align-items:center;overflow:hidden}.closing-photo{position:absolute;z-index:-1;inset:-5% 0;background:linear-gradient(0deg,#0b2931 0%,#0b293177 65%,#0b293155),url('imagery/mrt-coast-hero.webp') center 67%/cover;transform:translateY(var(--closing-shift,0px))}.closing-inner{width:100%;padding:120px 7%;display:flex;align-items:end;justify-content:space-between;gap:60px}.closing h2{font-size:clamp(48px,6.4vw,100px)}.closing .button{margin-bottom:8px}.framework{background:var(--ink);color:#c6d7d7;padding:0 7% 55px}.framework details{border-top:1px solid #acc4c344}.framework summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;min-height:75px;font-size:12px}.framework summary::-webkit-details-marker{display:none}.framework summary span{font-size:22px;transition:transform .3s}.framework details[open] summary span{transform:rotate(45deg)}.framework details>div{padding:10px 0 30px;max-width:850px}.framework p{font-size:12px}.framework .text-link{margin-right:30px;margin-top:15px}footer{padding:35px 7% 45px;background:var(--ink);color:#c6d7d7;display:flex;justify-content:space-between;align-items:center;gap:70px}footer p{font-size:10px;line-height:1.8;max-width:460px}footer .logo{width:185px}
@media(hover:hover){.button:hover:before,.button:focus-visible:before{transform:translateX(0)}.header nav a:hover:after{transform:scaleX(1)}.header .nav-paper:hover{background:#d7e3e422}.text-link:hover:after{transform:scaleX(.65)}.report-list>a:hover:after{transform:scaleX(1)}}
@media(min-width:1700px){.arrival,.journey,.participation,.clarity{padding-left:max(7%,calc((100% - 1500px)/2));padding-right:max(7%,calc((100% - 1500px)/2))}}
@media(max-width:1000px){.hero{min-height:760px}.hero h1{font-size:10vw}.hero-content{padding-top:165px}.arrival-intro{gap:7%}.journey-layout{gap:8%}.journey-step{min-height:275px}.journey-step h3{font-size:25px}.journey-visual{top:45px}.participation-inner{gap:6%}.clarity{gap:8%}.destination-copy{gap:7%}}
@media(max-width:700px){html{scroll-padding-top:15px}.logo{width:155px}.header{padding:24px 6%;gap:15px}.header nav{gap:0}.header nav>a:not(:last-child){display:none}.header .nav-paper{padding:0 15px;font-size:10px;min-height:43px}.hero{height:92svh;min-height:710px;max-height:900px}.hero-photo{object-position:64% 50%}.hero-shade{background:linear-gradient(0deg,#031d29dd,#04202c33 90%)}.hero-content{padding:145px 6% 80px}.hero h1{font-size:clamp(43px,11.3vw,78px);letter-spacing:-.058em;line-height:1.04}.hero-bottom{display:block;margin-top:42px}.hero-bottom p{font-size:12px;max-width:265px}.hero-bottom .button{margin-top:27px}.horizon-rule{bottom:35px;left:6%;width:88%}.button{min-width:210px;min-height:53px;font-size:11px;padding:17px 25px}h2{font-size:clamp(36px,9.8vw,62px);line-height:1.08}.arrival{padding:70px 6% 25px}.arrival-intro{display:block}.copy{margin-top:30px;max-width:320px}.copy p{font-size:13px}.copy .text-link{margin-top:13px}.arrival-composition{margin-top:42px;padding-bottom:105px}.arrival-main{width:91%;margin-left:9%;aspect-ratio:.92}.arrival-main>img{object-position:63% 50%}.arrival-detail{width:38%;height:43%;bottom:40px;border-width:6px}.arrival-line{font-size:9px;bottom:10px;right:0}.journey{padding:65px 6% 75px}.journey-head{display:block;margin-bottom:36px}.journey-head>p{font-size:13px;margin-top:25px;max-width:310px}.journey-layout{display:block}.journey-visual{position:relative;top:auto}.journey-picture{aspect-ratio:1.2}.journey-steps{margin-top:32px}.journey-step{min-height:0;padding:26px 0;gap:16px;color:var(--ink)}.journey-step h3{font-size:25px;margin-bottom:14px}.journey-step p{font-size:12px;max-width:310px}.step-number{font-size:10px}.image-note{font-size:9px}.participation{padding:35px 6% 45px}.participation-inner{display:flex;flex-direction:column;gap:20px}.coin-stage{max-width:360px}.participation-copy{width:100%}.participation-copy h2{font-size:clamp(37px,10vw,62px)}.participation-copy>p{font-size:13px;margin:25px 0}.participation-foot{margin-top:40px;gap:25px}.participation-foot p:first-child{font-size:15px;flex:0 0 40%}.participation-foot p:last-child{font-size:10px}.destination-photo{aspect-ratio:1.01}.destination-photo>img{object-position:65% 50%}.destination-copy{display:block;padding:48px 6% 65px}.destination-copy h2{font-size:clamp(36px,9.2vw,58px)}.destination-copy p{margin-top:28px;font-size:12px;max-width:320px}.clarity{display:block;padding:75px 6% 65px}.clarity h2 br:nth-child(2){display:none}.clarity-title .text-link{margin-top:20px}.report-list{margin-top:32px}.report-list>a{gap:16px;padding:25px 0}.report-list h3{font-size:24px}.report-list p{font-size:12px}.closing{min-height:540px}.closing-inner{display:block;padding:85px 6%}.closing h2{font-size:clamp(42px,11.5vw,68px)}.closing .button{margin-top:35px}.closing-photo{background-position:66% 65%}.framework{padding:0 6% 25px}.framework summary{min-height:70px}.framework p{font-size:11px}footer{display:block;padding:25px 6% 40px}footer .logo{width:170px}footer p{font-size:9px;max-width:320px;margin-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-photo,.arrival-detail,.closing-photo{transform:none!important}.hero-scene{clip-path:none!important}.journey-image{transform:none!important}.journey-image.construction-detail{transform:scale(1.95)!important}}

/* Rev.13。冒頭の海岸は共通の一枚。縮小せず、ラウンジ・霧・文字と連動する。 */
.opening{position:relative;isolation:isolate;--scene-height:clamp(850px,100svh,1150px)}
.opening-backdrop{position:absolute;top:0;left:0;width:100%;height:var(--scene-height);z-index:0;pointer-events:none;overflow:hidden}
.opening .hero{background:transparent;z-index:1}.opening .arrival{z-index:2}
.hero-scene{clip-path:none!important}.hero-photo{transform:none!important;will-change:auto}
.sea-mist{position:absolute;inset:0;background:var(--paper);opacity:0}
.scene-motion .opening-backdrop{position:sticky;top:0;height:var(--scene-height);margin-bottom:calc(-1 * var(--scene-height))}
.scene-motion .sea-mist{opacity:var(--sea-mist,0)}
.scene-motion .hero-content{transform:translateY(var(--hero-leave-y,0px));opacity:var(--hero-leave-opacity,1)}
.scene-motion .horizon-rule{opacity:var(--hero-leave-opacity,1)}
.scene-motion .arrival{background:transparent}.scene-motion .coast-wash{opacity:0}
.scene-motion .arrival-composition{transform:translateY(var(--lounge-lift,0px))}
.scene-motion .arrival-intro .copy{opacity:var(--arrival-copy-opacity,1);transform:translateY(var(--arrival-copy-y,0px))}
.line-mask{display:block;overflow:clip;padding-block:.13em;margin-block:-.13em}
.line-ink{display:block;transform:translateY(0);opacity:1}
.scene-motion .arrival-intro h2 .line-ink{transform:translateY(var(--line-y,0%));opacity:var(--line-opacity,1)}
.reading-word{opacity:var(--word-opacity,1)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.journey-caption{display:grid;grid-template-columns:30px 1fr;gap:16px;align-items:center;margin-top:24px}
.caption-number{font-size:10px;letter-spacing:.02em}.caption-window{position:relative;overflow:clip;min-height:1.4em;font-size:clamp(20px,2vw,29px);line-height:1.4;letter-spacing:-.035em}
.caption-in{display:block}.caption-out{position:absolute;inset:0;pointer-events:none}
.button .button-label{position:relative;display:block;overflow:clip;line-height:1.5}
.button .label-current{position:relative;display:block;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.button .label-next{position:absolute;inset:0;display:block;transform:translateY(125%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.button:focus-visible .label-current{transform:translateY(-125%)}.button:focus-visible .label-next{transform:translateY(0)}
.button:focus-visible:before{transform:translateX(0)}
@media(hover:hover) and (pointer:fine){.button:hover .label-current{transform:translateY(-125%)}.button:hover .label-next{transform:translateY(0)}}
@media(max-width:700px){.opening{--scene-height:clamp(710px,92svh,900px)}.journey-caption{margin-top:18px;gap:10px;grid-template-columns:25px 1fr}.caption-window{font-size:20px}}
@media(prefers-reduced-motion:reduce){.opening-backdrop{position:absolute!important;margin-bottom:0!important}.sea-mist{opacity:0!important}.hero-content,.arrival-composition,.arrival-intro .copy,.line-ink{transform:none!important;opacity:1!important}.reading-word{opacity:1!important}.button .label-next{display:none}.button .label-current{transform:none!important}}

@media(min-width:701px){.arrival-intro .copy{padding-top:8px}.arrival-intro .copy p{text-wrap:balance}}

/* 追従ヘッダー。冒頭の構図を保ち、本文上では明るい面と濃色に切り替える。 */
html{scroll-padding-top:96px}
.header{position:fixed;inset:0 0 auto;z-index:1000;width:100%;padding:16px 5.5%;color:#0b2931;background:#f1f3f0f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 #b8cacd55;transition:padding .3s,background-color .3s,color .3s,box-shadow .3s}
.header-brand{position:relative;display:block;flex:none;width:205px}
.header .logo{width:100%;height:auto;transition:opacity .25s}
.header .logo-light{opacity:0}.header .logo-dark{position:absolute;inset:0;opacity:1}
.header .nav-paper{border-color:#93aead;background:transparent}
.header.is-over-hero{padding:36px 5.5%;color:#f5f7f3;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.header.is-over-hero .logo-light{opacity:1}.header.is-over-hero .logo-dark{opacity:0}
.header.is-over-hero .nav-paper{border-color:#d7e3e488}
.hero{padding-top:116px}.journey-visual{top:100px}
@media(hover:hover){.header .nav-paper:hover{background:#0b29310a}.header.is-over-hero .nav-paper:hover{background:#d7e3e422}}
@media(max-width:700px){html{scroll-padding-top:92px}.header{padding:16px 6%;gap:15px}.header.is-over-hero{padding:24px 6%}.header-brand{width:155px}.hero{padding-top:91px}.journey-visual{top:auto}}
@media(prefers-reduced-motion:reduce){.header,.header .logo{transition:none}}
