:root{--sea:#092b3b;--deep:#05212f;--sky:#caeaf2;--sand:#f4f1e9;--white:#fffdfa;--gold:#c4a376;--line:rgba(15,58,71,.25);--sans:ui-sans-serif,system-ui,-apple-system,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;--serif:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--sea);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}::selection{background:#83c8d7;color:#03202e}.demo-banner{position:relative;z-index:110;background:#062432;color:#d5e7e8;text-align:center;padding:8px 20px;font-size:12px;line-height:1.45}.demo-banner a{text-decoration:underline;text-underline-offset:3px}.skip{position:absolute;left:10px;top:-90px;z-index:200;background:white;color:var(--deep);padding:10px}.skip:focus{top:10px}.progress{position:fixed;top:0;left:0;width:0;height:3px;background:#d5bf94;z-index:150;box-shadow:0 0 10px #d5bf94}.header{position:relative;z-index:100;padding:0 clamp(22px,4vw,70px);height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--sand)}.header.overlay{position:absolute;top:36px;left:0;right:0;background:transparent;color:#fff}.logo{font-family:var(--serif);font-size:25px;letter-spacing:.15em;white-space:nowrap;font-weight:400}.logo span{display:block;font:9px var(--sans);letter-spacing:.31em;margin-top:4px}.nav{display:flex;align-items:center;gap:clamp(12px,1.5vw,26px);font-size:11px;letter-spacing:.1em;white-space:nowrap}.nav a{border-bottom:1px solid transparent;padding:8px 0;transition:border-color .25s,opacity .25s}.nav a:hover,.nav a.current{border-color:currentColor}.nav .outline{border:1px solid currentColor;padding:11px 15px;margin-left:3px}.nav .outline:hover{background:#fff;color:var(--deep)}.menu-toggle{display:none;align-items:center;justify-content:center;position:relative;width:44px;height:44px;background:transparent;color:inherit;border:1px solid currentColor}.menu-toggle:after{content:'☰';font-size:20px}.mobile-menu{display:none}.home-hero{height:calc(100svh - 36px);min-height:680px;max-height:1200px;position:relative;overflow:hidden;color:white;background:#0b4564}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);animation:slide 21s infinite}.hero-slide.one{background-image:url('/images/seto-hero.webp');animation-delay:0s}.hero-slide.two{background-image:url('/images/seto-terrace.webp');animation-delay:7s}.hero-slide.three{background-image:url('/images/seto-dusk.webp');animation-delay:14s}.home-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09202b99,transparent 75%),linear-gradient(0deg,#08253099,transparent 35%);pointer-events:none}.hero-content{position:absolute;z-index:2;left:clamp(25px,7vw,110px);right:25px;top:50%;transform:translateY(-37%)}.hero-kicker{font:12px var(--sans);letter-spacing:.38em;text-transform:uppercase}.hero-content h1{font-family:var(--serif);font-size:clamp(64px,8.6vw,136px);line-height:1.25;letter-spacing:-.09em;font-weight:400;margin:22px 0 32px;animation:up 1.2s .2s both}.hero-content h1 em{font-style:normal;letter-spacing:-.08em}.hero-content p{font-size:clamp(17px,1.5vw,21px);line-height:2;letter-spacing:.05em;animation:up 1.2s .5s both}.hero-content a{display:inline-flex;gap:40px;align-items:center;border-bottom:1px solid #fff;padding:15px 0;font-size:13px;letter-spacing:.1em;margin-top:30px;transition:gap .25s}.hero-content a:hover{gap:54px}.scrollhint{position:absolute;z-index:2;bottom:40px;right:clamp(20px,5vw,90px);font-size:10px;letter-spacing:.24em;writing-mode:vertical-rl;display:flex;align-items:center;gap:18px}.scrollhint:after{content:'';width:1px;height:70px;background:#fff}.hero-count{position:absolute;bottom:50px;left:clamp(25px,7vw,110px);z-index:2;display:flex;gap:12px}.hero-count i{display:block;width:28px;height:1px;background:#fff8;animation:line 21s infinite}.hero-count i:nth-child(2){animation-delay:7s}.hero-count i:nth-child(3){animation-delay:14s}.marquee{overflow:hidden;background:#d5e9e9;color:#1f5460;white-space:nowrap;font-family:var(--serif);font-size:clamp(23px,3vw,42px);padding:21px 0;letter-spacing:.06em}.marquee span{display:inline-block;min-width:200%;animation:move 32s linear infinite}.shell{width:min(100%,1520px);margin:auto;padding:0 clamp(24px,6vw,100px)}.section{padding:clamp(100px,12vw,180px) 0}.kicker{font-size:11px;letter-spacing:.28em;font-weight:700;text-transform:uppercase;color:#56828a}.section h2,.display{font-family:var(--serif);font-size:clamp(44px,5.8vw,90px);line-height:1.35;letter-spacing:-.08em;font-weight:400;margin:26px 0}.section h2 em,.display em{color:#497d8b;font-style:normal}.lead{font-size:clamp(16px,1.5vw,20px);line-height:2.1;letter-spacing:.025em;color:#3c606c;max-width:680px}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.split.reverse .visual{order:-1}.visual{position:relative;overflow:hidden}.visual img{width:100%;height:min(51vw,680px);min-height:380px;object-fit:cover;transition:transform 1.3s}.visual:hover img{transform:scale(1.055)}.visual .caption{position:absolute;bottom:25px;left:25px;color:white;font:11px var(--sans);letter-spacing:.18em;text-shadow:0 2px 9px #000}.body{font-size:16px;line-height:2.3;color:#365662;max-width:620px}.linkline{display:inline-flex;align-items:center;gap:38px;border-bottom:1px solid currentColor;padding-bottom:10px;margin-top:25px;font-size:13px;font-weight:700;letter-spacing:.07em;transition:gap .25s}.linkline:hover{gap:48px}.ink{background:var(--deep);color:var(--white)}.ink .kicker{color:#89bbc6}.ink .body,.ink .lead{color:#b7d4d6}.ink .section h2 em{color:#8cbdc9}.image-break{height:clamp(420px,66vw,810px);position:relative;overflow:hidden}.image-break img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.2s}.image-break.in img{transform:scale(1)}.image-break:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#082b4099,transparent 78%)}.image-break .over{position:absolute;z-index:2;left:clamp(25px,8vw,120px);top:50%;transform:translateY(-50%);color:#fff}.image-break .over h2{font:400 clamp(48px,7vw,108px)/1.4 var(--serif);letter-spacing:-.08em;margin:10px 0}.image-break .over p{line-height:2}.triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:65px}.triptych a{position:relative;overflow:hidden;height:490px;display:block;background:#4a8894}.triptych img{height:100%;width:100%;object-fit:cover;transition:transform .8s}.triptych a:hover img{transform:scale(1.08)}.triptych a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#08222baa,transparent 65%)}.triptych .label{position:absolute;bottom:30px;left:26px;right:26px;z-index:2;color:#fff;font:24px var(--serif);letter-spacing:-.04em}.triptych .label small{display:block;font:11px var(--sans);letter-spacing:.15em;margin-bottom:12px}.cta{padding:clamp(105px,12vw,175px) 0;background:#dce9e7;text-align:center}.cta h2{font:400 clamp(43px,6vw,88px)/1.45 var(--serif);letter-spacing:-.07em;margin:20px 0}.cta p{line-height:2;color:#4c6c72}.cta a{display:inline-flex;background:var(--sea);color:white;padding:20px 28px;gap:75px;margin-top:30px;font-size:13px;letter-spacing:.12em;transition:transform .3s,box-shadow .3s}.cta a:hover{transform:translateY(-5px);box-shadow:0 18px 30px #103d4d33}.footer{background:#062632;color:#dbe7e7;padding:70px 0 30px}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer h2{font:400 30px var(--serif);letter-spacing:.15em;margin:0}.footer p{font-size:12px;line-height:2.1;color:#a9c6ca}.footer nav a{display:block;font-size:12px;letter-spacing:.08em;margin-bottom:16px}.footer nav a:hover{text-decoration:underline}.footnote{margin-top:65px;border-top:1px solid #466570;padding-top:25px;font-size:11px;color:#b6cbd0;display:flex;justify-content:space-between;gap:20px}.page-hero{min-height:460px;height:clamp(510px,68vh,740px);position:relative;display:flex;align-items:flex-end;color:#fff;background:#174758;overflow:hidden}.page-hero img{position:absolute;width:100%;height:100%;object-fit:cover;animation:arrival 1.5s ease both}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#052632bd,transparent 75%)}.page-hero .titlebox{position:relative;z-index:2;width:100%;padding-bottom:clamp(55px,8vw,115px)}.page-hero .titlebox .kicker{color:#deebed}.page-hero h1{font:400 clamp(67px,9vw,140px)/1.15 var(--serif);letter-spacing:-.07em;margin:20px 0 12px}.page-hero .titlebox p{font-size:17px;letter-spacing:.07em}.intro{padding:clamp(90px,10vw,140px) 0}.intro .lead{max-width:900px}.number-list{counter-reset:item}.number-row{display:grid;grid-template-columns:75px 1fr;gap:15px;border-top:1px solid var(--line);padding:38px 0}.number-row:last-child{border-bottom:1px solid var(--line)}.number-row>span{color:#69959d;font-size:13px}.number-row h3{font:400 clamp(27px,3vw,44px) var(--serif);margin:0 0 14px}.number-row p{font-size:15px;line-height:2;color:#496873;margin:0}.image-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.image-grid img{width:100%;height:520px;object-fit:cover}.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:60px}.info-card{border:1px solid #a9c4c7;padding:36px;min-height:250px}.info-card b{font:400 27px var(--serif)}.info-card p{font-size:15px;line-height:1.9;color:#496873}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:13px}.gallery-grid button{padding:0;border:0;display:block;overflow:hidden;background:#0d4055;grid-column:span 4;position:relative}.gallery-grid button:nth-child(1),.gallery-grid button:nth-child(6){grid-column:span 8}.gallery-grid button img{width:100%;height:400px;object-fit:cover;transition:transform .7s}.gallery-grid button:hover img{transform:scale(1.06)}.gallery-grid button span{position:absolute;bottom:18px;left:18px;background:#0b3340be;color:white;font-size:12px;padding:9px 13px}.lightbox{display:none;position:fixed;z-index:210;inset:0;background:#031923f3;align-items:center;justify-content:center;padding:65px 18px 25px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:80vh;object-fit:contain}.lightbox button{position:absolute;right:24px;top:18px;color:#fff;background:transparent;border:0;font-size:36px}.lightbox p{color:#e5eff0;text-align:center;font-size:13px}.access-panel{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding:40px 0}.access-panel b{font:400 30px var(--serif)}.access-panel p{font-size:16px;line-height:2;color:#43636d}.contact-box{background:#0d394b;color:#fff;padding:clamp(35px,6vw,80px);margin:45px 0}.contact-box .kicker{color:#acd7db}.contact-box h2{font:400 clamp(34px,5vw,70px)/1.35 var(--serif);margin:20px 0}.contact-box p{font-size:16px;line-height:2;color:#ccdee2}.sample-note{border:1px solid var(--line);padding:26px 30px;line-height:1.9;color:#4c6b75;font-size:14px}.reveal{opacity:0;transform:translateY(38px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}.line-wipe{overflow:hidden}.line-wipe img{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.2,.8,.2,1)}.line-wipe.in img{clip-path:inset(0 0 0 0)}
@keyframes slide{0%{opacity:0;transform:scale(1.08)}5%,31%{opacity:1}36%,100%{opacity:0;transform:scale(1)}}@keyframes line{0%,35%{background:#fff;width:50px}36%,100%{background:#fff8;width:28px}}@keyframes up{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes move{to{transform:translateX(-50%)}}@keyframes arrival{from{transform:scale(1.07);opacity:.6}to{transform:scale(1);opacity:1}}
@media(max-width:1050px){.nav{gap:10px;font-size:10px}.nav .outline{padding:9px}.logo{font-size:21px}.hero-content h1{font-size:clamp(64px,9vw,100px)}}@media(max-width:1200px){.nav{display:none}.menu-toggle{display:flex}.mobile-menu{display:none;position:fixed;z-index:120;inset:36px 0 0;background:#062632;color:white;padding:100px 8vw 45px;overflow:auto}.mobile-menu.open{display:block}.mobile-menu a{display:block;font:400 clamp(32px,7vw,58px)/1.5 var(--serif);border-bottom:1px solid #71949a66}.mobile-menu .close{position:absolute;top:25px;right:8vw;background:transparent;color:#fff;border:1px solid #fff;width:45px;height:45px;font-size:27px}.split,.footer-main,.access-panel{grid-template-columns:1fr;gap:40px}.split.reverse .visual{order:0}.visual img{height:500px}.triptych{grid-template-columns:1fr 1fr}.triptych a:last-child{grid-column:1/-1}.info-cards{grid-template-columns:1fr 1fr}}@media(max-width:600px){.header{height:72px}.header.overlay{top:36px}.logo{font-size:20px}.home-hero{height:calc(100svh - 36px);min-height:680px;max-height:920px}.hero-slide{background-position:65% center}.hero-content{top:53%;transform:translateY(-40%);left:24px}.hero-content h1{font-size:clamp(60px,13vw,84px);margin:25px 0}.hero-content p{font-size:16px}.hero-count{left:25px;bottom:45px}.scrollhint{display:none}.section{padding:90px 0}.section h2{font-size:clamp(44px,10vw,67px)}.visual img{height:400px;min-height:0}.triptych,.info-cards,.image-grid{grid-template-columns:1fr}.triptych a,.triptych a:last-child{grid-column:auto;height:370px}.image-grid img{height:340px}.gallery-grid button,.gallery-grid button:nth-child(1),.gallery-grid button:nth-child(6){grid-column:span 12}.gallery-grid button img{height:290px}.page-hero{height:550px}.page-hero h1{font-size:clamp(65px,13vw,88px)}.page-hero img{object-position:62% center}.footer-main{gap:20px}.footnote{display:block}.footnote span{display:block;margin-bottom:12px}.number-row{grid-template-columns:45px 1fr}.info-card{min-height:0}.cta a{gap:35px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.line-wipe img{clip-path:none}.hero-slide{opacity:0;transform:none}.hero-slide.one{opacity:1}}

@media(max-width:600px){.mobile-menu{padding-top:76px}.mobile-menu a{font-size:clamp(24px,6vw,34px);line-height:1.35;padding:5px 0}.mobile-menu .close{top:18px}.footer-main nav a{margin-bottom:13px}}

.sea-day{display:grid;grid-template-columns:1.16fr .84fr;background:#dce7e7;color:#153f4c;min-height:730px}.sea-day-stage{position:relative;min-height:730px;overflow:hidden;background:#164a60}.sea-day-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.07);transition:opacity 1s ease,transform 2s cubic-bezier(.2,.8,.2,1)}.sea-day-photo.active{opacity:1;transform:scale(1)}.sea-day-photo.morning{background-image:url('/images/seto-hero.webp')}.sea-day-photo.midday{background-image:url('/images/seto-terrace.webp')}.sea-day-photo.sunset{background-image:url('/images/seto-dusk.webp')}.sea-day-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#112c4380,transparent 40%)}.sea-day-caption{position:absolute;z-index:1;bottom:33px;left:6%;color:#fff;font:12px/1.4 system-ui,sans-serif;letter-spacing:.18em}.sea-day-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(45px,6vw,100px)}.sea-day-copy h2{font-size:clamp(42px,5.3vw,78px);line-height:1.25;letter-spacing:-.06em;margin:23px 0}.sea-day-copy h2 em{font-weight:400}.sea-day-copy>p{line-height:1.8;font-size:17px}.sea-day-controls{display:flex;gap:clamp(5px,1vw,15px);border-bottom:1px solid #799ca3;margin:20px 0 10px}.sea-day-controls button{cursor:pointer;flex:1;border:0;border-bottom:2px solid transparent;background:transparent;color:#48646b;font:16px/1.3 system-ui,sans-serif;padding:11px 3px 16px;text-align:left}.sea-day-controls button span{display:block;font-size:12px;letter-spacing:.12em;margin-bottom:6px}.sea-day-controls button.active,.sea-day-controls button:hover,.sea-day-controls button:focus-visible{color:#0b3f58;border-bottom-color:#0b627a}.sea-day-story{min-height:155px;padding:21px 0}.sea-day-story strong{font-size:clamp(20px,2vw,27px);font-weight:400}.sea-day-story p{font-size:16px;line-height:1.8}.sea-day-copy .linkline{align-self:flex-start}@media(max-width:880px){.sea-day{grid-template-columns:1fr}.sea-day-stage{min-height:440px}.sea-day-copy{padding:55px 6vw 80px}}@media(max-width:540px){.sea-day-stage{min-height:340px}.sea-day-copy{padding:42px 25px 65px}.sea-day-copy h2{font-size:clamp(39px,10vw,58px)}.sea-day-controls button{font-size:14px}}@media(prefers-reduced-motion:reduce){.sea-day-photo{transition:none!important;transform:none!important}.sea-day-photo.active{transform:none!important}}
@view-transition{navigation:auto}::view-transition-old(root){animation:nagi-out .36s ease both}::view-transition-new(root){animation:nagi-in .65s cubic-bezier(.16,.82,.24,1) both}@keyframes nagi-out{to{opacity:0;filter:blur(7px)}}@keyframes nagi-in{from{opacity:0;filter:blur(9px);transform:scale(1.015)}to{opacity:1;filter:blur(0);transform:scale(1)}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* The enlarged image caption remains reachable on compact screens. */
.lightbox{overflow-y:auto}.lightbox img{max-height:65svh;height:auto;width:auto}button:focus-visible,a:focus-visible{outline:3px solid #c4a376;outline-offset:4px}
