:root{--navy:#031426;--deep:#05213b;--blue:#0079c8;--cyan:#27d4e8;--white:#f7fbff;--ink:#071827;--muted:#607180;--line:#cbd8df;--pad:clamp(24px,6vw,92px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;background:#f7fbff}a{color:inherit;text-decoration:none}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:96px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid #ffffff38}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:2px solid var(--cyan);border-radius:50%;font:600 30px/1 Oswald;color:var(--cyan)}.brand b{display:block;font:600 25px/1 Oswald;letter-spacing:.04em}.brand small{display:block;margin-top:5px;font:500 8px/1 Oswald;letter-spacing:.25em}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);font-size:13px;font-weight:600}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--cyan);transition:.25s}.site-header nav a:hover:after{width:100%}.menu-button{display:none;background:none;color:#fff;border:1px solid #ffffff66;padding:9px 12px}.hero{position:relative;min-height:760px;height:100svh;color:white;overflow:hidden}.hero-media{position:absolute;inset:0;background:url(hero-underwater.png) center/cover no-repeat;animation:heroZoom 18s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,12,27,.86) 0%,rgba(2,20,40,.48) 47%,rgba(2,15,30,.05) 78%),linear-gradient(0deg,rgba(1,13,26,.58),transparent 45%)}.hero-copy{position:relative;z-index:2;padding:clamp(190px,24vh,260px) var(--pad) 100px;max-width:1000px}.eyebrow{margin:0 0 25px;color:var(--cyan);font:600 12px/1 Oswald;letter-spacing:.3em}.eyebrow.dark{color:#0076a7}.hero h1{margin:0;font-size:clamp(42px,6.4vw,92px);font-weight:900;line-height:1.16;letter-spacing:.02em;text-shadow:0 4px 30px #00152a}.hero h1 em{color:transparent;font-style:normal;-webkit-text-stroke:1px #b8f7ff}.lead{margin:30px 0 38px;font-size:clamp(15px,1.4vw,19px);line-height:2}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:57px;padding:0 28px;font-weight:700;font-size:14px;transition:.25s}.button.primary{background:var(--cyan);color:#021b2d}.button.primary:hover{background:#fff;transform:translateY(-2px)}.button.ghost{border:1px solid #ffffff8f}.button.ghost:hover{background:#fff;color:var(--navy)}.hero-note{position:absolute;z-index:2;right:var(--pad);bottom:34px;display:flex;align-items:center;gap:14px;font:500 9px Oswald;letter-spacing:.3em;writing-mode:vertical-rl}.hero-note i{height:60px;border-left:1px solid var(--cyan)}.section{padding:clamp(80px,10vw,150px) var(--pad)}.intro{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,8vw,120px);background:#fff}.section-number{position:absolute;right:var(--pad);top:45px;color:#e5edf1;font:600 90px Oswald}.intro h2,.section-heading h2,.points h2,.pro-gateway h2,.staff h2,.contact h2,.access h2{margin:0;font-size:clamp(34px,4vw,60px);line-height:1.35;letter-spacing:.02em}.intro-copy{padding-top:45px}.intro-copy p{margin:0 0 30px;color:#425461;font-size:16px;line-height:2.1}.text-link{display:inline-flex;gap:26px;border-bottom:1px solid var(--ink);padding-bottom:8px;font-weight:700}.text-link span{color:var(--blue)}.services{color:#fff;background:var(--navy)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-heading>p{color:#a9bcc9;line-height:1.9}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff25;border-left:1px solid #ffffff25}.service-card{min-height:245px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #ffffff25;border-bottom:1px solid #ffffff25;transition:.3s;background:#06192b}.service-card:hover{background:#083c60;transform:translateY(-4px)}.service-card.feature{background:#006ea5}.service-card>span{color:#5d829d;font:500 13px Oswald}.service-card.feature>span{color:#a9eaf5}.service-card small{color:var(--cyan);font:500 10px Oswald;letter-spacing:.18em}.service-card h3{margin:8px 0;font-size:20px}.service-card p{margin:0;color:#9eb2c0;font-size:12px}.service-card.feature p{color:#d6f5f8}.service-card>b{align-self:end;color:var(--cyan);font-size:20px}.points{position:relative;color:#fff;background:linear-gradient(100deg,#063b61,#007caa);padding:140px var(--pad);overflow:hidden}.points:before{content:"DANJO";position:absolute;right:-20px;top:15px;color:#ffffff0d;font:600 clamp(110px,22vw,330px) Oswald;letter-spacing:-.04em}.points-inner{position:relative;max-width:960px}.points-inner>p:not(.eyebrow){max-width:680px;line-height:2;color:#d9f1f6}.place-list{display:flex;gap:34px;flex-wrap:wrap;margin-top:55px}.place-list span{padding-left:15px;border-left:2px solid var(--cyan);font-size:18px;font-weight:700}.place-list small{display:block;color:#93d6e5;font:500 9px Oswald;letter-spacing:.2em;margin-top:6px}.pro-gateway{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;color:#fff;background:#071a26}.pro-copy>p:not(.eyebrow){max-width:600px;color:#a8bbc6;line-height:2;margin:30px 0}.button.light{background:#fff;color:var(--ink);gap:30px}.pro-name{border-left:1px solid #2c586f;padding:60px 0 60px 70px}.pro-name small,.pro-name span{display:block;color:#31d5e4;font:500 10px Oswald;letter-spacing:.22em}.pro-name strong{display:block;margin:18px 0;font-size:clamp(28px,3.5vw,48px);line-height:1.45}.staff{display:grid;grid-template-columns:1fr .8fr;gap:100px;align-items:end;background:#fff}.staff p:not(.eyebrow){color:var(--muted);line-height:2}.staff blockquote{margin:0;padding:45px;border-left:4px solid var(--cyan);background:#eef6f8;font-size:clamp(22px,2.7vw,40px);font-weight:700}.contact{color:#fff;background:#006fa0;display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-head>p:not(.eyebrow){color:#d4f1f6;line-height:2}.contact-panel{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center;background:#fff;color:var(--ink);padding:35px}.qr{text-align:center}.qr img{width:100%;display:block}.qr span{font-size:12px;font-weight:700}.contact-list{display:grid;gap:16px}.contact-list a,.contact-list p{margin:0;padding-bottom:12px;border-bottom:1px solid var(--line)}.contact-list small{display:block;color:#43809b;font:500 9px Oswald;letter-spacing:.18em}.contact-list b{display:block;margin-top:5px;font-size:16px;word-break:break-all}.access{background:#eef4f5}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:45px}.access-grid article{background:#fff;padding:35px;border-top:4px solid var(--blue)}.access-grid small{color:var(--blue);font:600 10px Oswald;letter-spacing:.2em}.access-grid h3{font-size:24px;margin:12px 0}.access-grid p{color:var(--muted);line-height:1.8}footer{padding:45px var(--pad);display:flex;align-items:center;justify-content:space-between;color:#b4c4ce;background:#020d16;font-size:11px}.footer-brand{color:#fff}.footer-brand .brand-mark{width:32px;height:32px;font-size:22px}@keyframes heroZoom{from{transform:scale(1.05)}to{transform:scale(1)}}@media(max-width:900px){.site-header{height:76px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;padding:22px var(--pad);flex-direction:column;align-items:flex-start;background:#031426ee}.site-header nav.open{display:flex}.hero{min-height:680px}.hero-copy{padding-top:175px}.intro,.pro-gateway,.staff,.contact{grid-template-columns:1fr}.intro-copy{padding-top:0}.card-grid{grid-template-columns:repeat(2,1fr)}.pro-name{padding:35px 0;border-left:0;border-top:1px solid #2c586f}.contact-panel{max-width:650px}.section-heading{align-items:start;flex-direction:column;gap:18px}}@media(max-width:560px){.hero h1{font-size:40px}.hero h1 em{-webkit-text-stroke:0;color:#b8f7ff}.lead br{display:none}.button{width:100%}.card-grid{grid-template-columns:1fr}.service-card{min-height:200px}.place-list{flex-direction:column}.contact-panel{grid-template-columns:1fr}.qr{max-width:180px;margin:auto}.access-grid{grid-template-columns:1fr}.section-number{font-size:60px}.contact{gap:35px}footer{gap:24px;flex-direction:column;align-items:flex-start}}
