:root{--primary-color:rgba(13,27,42,.97);--navy:#0d1b2a;--orange:#ff5a1f;--aqua:#46b8ce;--cream:#f5f1e5;--soft:#f2f6f8;--text:#172536;--muted:#637181;--line:#dce5ea;--shadow:0 20px 55px rgba(13,27,42,.12);--radius:24px;--container:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fff;font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.7}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:999;top:10px;left:10px;padding:10px 14px;color:#fff;background:var(--navy);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.announcement{color:#fff;background:var(--primary-color)}.announcement__inner{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:20px}.announcement p{margin:0;font-size:13px}.language-switcher{position:relative;align-self:stretch;display:flex}.language-switcher__button{min-width:145px;display:flex;align-items:center;justify-content:center;gap:9px;padding:0 16px;border:0;border-inline:1px solid rgba(255,255,255,.18);color:#fff;background:transparent;cursor:pointer}.language-switcher__chevron{margin-left:auto}.language-switcher__button[aria-expanded=true] .language-switcher__chevron{transform:rotate(180deg)}.language-switcher__menu{position:absolute;z-index:80;top:100%;right:0;width:175px;padding:7px;border:1px solid var(--line);border-radius:0 0 12px 12px;background:#fff;box-shadow:var(--shadow)}.language-switcher__menu a{display:block;padding:9px 11px;border-radius:7px;color:var(--text);text-decoration:none}.language-switcher__menu a:hover{background:var(--soft)}.language-switcher__menu .is-current{color:#0f6e92;font-weight:800}
.site-header{position:relative;z-index:40}.nav-shell{border-bottom:1px solid rgba(13,27,42,.09);background:rgba(255,255,255,.97)}.nav-shell__inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{width:194px;height:58px;display:block;overflow:hidden}.brand__crop{position:relative;width:100%;height:100%;display:block;overflow:hidden}.brand__crop img{position:absolute;width:205px;max-width:none;height:auto;top:50%;left:50%;transform:translate(-50%,-50%)}.main-nav{display:flex;align-items:center;gap:clamp(13px,1.6vw,25px)}.main-nav>a{font-size:13px;font-weight:750;text-decoration:none;white-space:nowrap}.main-nav>a:not(.button):hover{color:#0f789f}.menu-button{display:none;width:46px;height:46px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.menu-button__line{display:block;height:2px;margin:5px 0;background:var(--navy)}
.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:12px 25px;border:1px solid var(--orange);border-radius:999px;color:#fff;background:var(--orange);box-shadow:0 9px 24px rgba(255,90,31,.22);font-weight:800;text-decoration:none;transition:.2s}.button:hover{transform:translateY(-2px);background:#d9400a}.button--small{min-height:42px;padding:8px 17px}.button--outline-light{border-color:rgba(255,255,255,.7);background:transparent;box-shadow:none}.button--outline-dark{border-color:var(--navy);color:var(--navy);background:transparent;box-shadow:none}
.hero{padding:80px 0 64px;overflow:hidden;color:#fff;background:radial-gradient(circle at 80% 10%,#1a4963 0,var(--navy) 38%,#081523 100%)}.hero__intro{max-width:970px;margin-bottom:44px;text-align:center}.eyebrow,.section-kicker{margin:0 0 12px;color:var(--aqua);font-size:12px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.hero h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(50px,7vw,88px);font-weight:500;line-height:1.01;letter-spacing:-.04em}.hero__lead{max-width:800px;margin:24px auto 28px;color:rgba(255,255,255,.86);font-size:clamp(17px,2vw,20px)}.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.hero__visual img{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:24px;box-shadow:0 26px 70px rgba(0,0,0,.35)}
.proof-strip{border-bottom:1px solid var(--line)}.proof-strip__grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-strip p{margin:0;padding:28px 22px;border-right:1px solid var(--line)}.proof-strip p:last-child{border-right:0}.proof-strip strong,.proof-strip span{display:block}.proof-strip strong{font-size:14px}.proof-strip span{margin-top:3px;color:var(--muted);font-size:12px}
.section{padding:102px 0}.section--soft{background:var(--soft)}.intro{background:var(--cream)}.intro__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.section h2,.final-cta h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,62px);font-weight:500;line-height:1.12;letter-spacing:-.03em}.intro__copy{padding-top:25px;border-top:1px solid rgba(13,27,42,.22)}.intro__copy p{margin:0 0 18px;color:#465565;font-size:17px}.text-link{color:#0c718f;font-weight:800;text-decoration:none}.section-heading{max-width:820px;margin:0 auto 54px;text-align:center}.section-heading--left{max-width:760px;margin-inline:0;text-align:left}.section-heading>p:last-child{max-width:700px;margin:17px auto 0;color:var(--muted);font-size:17px}.section-heading--left>p:last-child{margin-left:0}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-card{position:relative;min-height:400px;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.service-card--featured{grid-row:span 2;min-height:824px}.service-card img{width:100%;height:100%;object-fit:cover;transition:.5s}.service-card:hover img{transform:scale(1.035)}.service-card:after{content:"";position:absolute;inset:26% 0 0;background:linear-gradient(transparent,rgba(4,17,29,.95))}.service-card__body{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:31px;color:#fff}.service-card__body>span{color:#8fdae8;font-size:12px;font-weight:850}.service-card h3{margin:6px 0 9px;font:500 30px/1.15 Georgia,serif}.service-card p{margin:0;color:rgba(255,255,255,.83)}
.destination-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.destination-grid article{padding:36px;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 34px rgba(13,27,42,.07)}.destination-grid span{color:var(--orange);font-size:11px;font-weight:850;text-transform:uppercase}.destination-grid h3{margin:7px 0 8px;font:500 29px Georgia,serif}.destination-grid p{margin:0 0 16px;color:var(--muted)}.destination-grid a{color:#08718f;font-weight:800;text-decoration:none}
.confidence{color:#fff;background:var(--primary-color)}.confidence__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center}.confidence__grid>div:first-child>p:last-child{color:rgba(255,255,255,.7)}.benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid rgba(255,255,255,.18)}.benefit-grid article{padding:28px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.benefit-grid article:nth-child(2n){border-right:0}.benefit-grid article:nth-last-child(-n+2){border-bottom:0}.benefit-grid strong{color:#83d5e5;font-size:11px;text-transform:uppercase}.benefit-grid h3{margin:9px 0 6px;font-size:18px}.benefit-grid p{margin:0;color:rgba(255,255,255,.68);font-size:14px}
.steps{max-width:930px;margin:0 auto;padding:0;list-style:none;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:90px 1fr;gap:25px;padding:34px 0;border-bottom:1px solid var(--line)}.steps>li>span{color:#117696;font:29px Georgia,serif}.steps h3{margin:0 0 5px;font-size:21px}.steps p{margin:0;color:var(--muted)}.centered-action{margin-top:44px;text-align:center}.centered-action p{margin:10px 0 0;color:var(--muted);font-size:13px}
.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.faq-layout__intro{max-width:390px;color:var(--muted)}.faq-list{border-top:1px solid #cad6dc}.faq-list details{border-bottom:1px solid #cad6dc}.faq-list summary{position:relative;padding:23px 44px 23px 0;font-weight:780;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;top:18px;right:7px;color:#107597;font-size:25px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin:-3px 42px 22px 0;color:var(--muted)}
.final-cta{padding:100px 0;text-align:center;background:var(--cream)}.final-cta__inner{max-width:880px}.final-cta__inner>p:not(.section-kicker){max-width:720px;margin:20px auto 29px;color:var(--muted);font-size:17px}.final-cta__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.site-footer{padding:70px 0 24px;color:rgba(255,255,255,.72);background:#081421}.site-footer__grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:52px}.footer-brand{width:175px;height:60px;display:block;overflow:hidden;margin-bottom:16px;border-radius:6px;background:#fff}.footer-brand img{width:185px;max-width:none;height:auto;margin-left:-5px;transform:translateY(-17px)}.site-footer__grid p{max-width:330px;margin:0;font-size:14px}.site-footer h2{margin:0 0 15px;color:#fff;font-family:inherit;font-size:14px;font-weight:700}.site-footer__grid a{display:block;margin:8px 0;font-size:13px;text-decoration:none}.site-footer__grid a:hover{color:#fff}.site-footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:52px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13);font-size:12px}.site-footer__bottom p{margin:0}.site-footer__bottom a{text-decoration:none}
@media(max-width:1040px){.main-nav{position:absolute;top:100%;right:0;left:0;display:none;padding:18px 20px 25px;border-top:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.main-nav.is-open{display:grid}.main-nav>a{padding:7px 0}.menu-button{display:block}.proof-strip__grid{grid-template-columns:repeat(2,1fr)}.proof-strip p:nth-child(2){border-right:0}.proof-strip p:nth-child(-n+2){border-bottom:1px solid var(--line)}.confidence__grid{grid-template-columns:1fr}.site-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.container{width:min(calc(100% - 28px),var(--container))}.announcement p{display:none}.language-switcher{margin-left:auto}.nav-shell__inner{min-height:72px}.brand{width:157px;height:50px}.brand__crop img{width:166px}.hero{padding:62px 0 45px}.hero h1{font-size:clamp(43px,13vw,63px)}.hero__lead{font-size:16px}.hero__actions .button{width:100%}.hero__visual img{border-radius:13px}.proof-strip__grid,.intro__grid,.faq-layout,.service-grid,.destination-grid,.benefit-grid,.site-footer__grid{grid-template-columns:1fr}.proof-strip p{border-right:0;border-bottom:1px solid var(--line)}.section{padding:75px 0}.intro__grid,.faq-layout{gap:28px}.section-heading{text-align:left}.service-card,.service-card--featured{min-height:490px;grid-row:auto}.benefit-grid article,.benefit-grid article:nth-child(2n),.benefit-grid article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.benefit-grid article:last-child{border-bottom:0}.steps li{grid-template-columns:55px 1fr;gap:13px}.site-footer__bottom{display:grid}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Multilingual selector: keep all nine choices accessible on short screens. */
.language-switcher__menu {
  width: 210px;
  max-height: min(70vh, 480px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

@media (max-width: 720px) {
  .language-switcher__menu {
    width: min(240px, calc(100vw - 28px));
    right: 0;
  }
}

/* Main visual: preserve the original 1320 x 859 aspect ratio on mobile. */
.hero__visual img {
  width: 100%;
  height: auto !important;
  max-height: none;
  aspect-ratio: 1320 / 859;
  object-fit: contain;
}
:root {
  --primary-color: rgba(13, 27, 42, 0.97); /* テンプレートのメインまたはアクセントとなる色 */
}
