:root{--navy:#173b58;--blue:#197ba5;--coral:#e86553;--cream:#fffaf2;--ink:#27343d;--muted:#687680}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Meiryo",sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}img{max-width:100%}.site-header{position:sticky;top:0;z-index:30;background:#fffffff2;border-bottom:1px solid #e6eef1;box-shadow:0 3px 15px #193e550d}.header-inner{max-width:1220px;margin:auto;padding:10px 22px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand img{display:block;width:245px;max-height:64px;object-fit:contain}.nav{display:flex;align-items:center;gap:20px;font-size:13px;font-weight:800}.nav a{white-space:nowrap}.nav a:hover{color:var(--coral)}.nav-cta{padding:10px 17px;border-radius:999px;background:var(--coral);color:#fff!important}.menu-button{display:none;border:0;background:var(--navy);color:#fff;border-radius:50%;width:42px;height:42px;font-size:23px}.hero{max-width:1220px;min-height:565px;margin:24px auto 0;border-radius:30px;overflow:hidden;display:grid;grid-template-columns:.9fr 1.25fr;background:linear-gradient(135deg,#fffdf7,#fff5e5);box-shadow:0 20px 55px #18435b24}.hero-copy{padding:74px 34px 64px 64px;align-self:center}.eyebrow{margin:0 0 10px;color:var(--coral);font-size:12px;letter-spacing:.2em;font-weight:900}.hero h1,.section h2,.contact h2,.guide-box h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}.hero h1{margin:0 0 20px;color:var(--navy);font-size:50px;line-height:1.35}.hero h1 strong{color:var(--coral)}.lead{font-size:16px;color:#53636d}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{padding:13px 23px;border-radius:999px;font-weight:800}.btn.primary{background:var(--coral);color:#fff}.btn.secondary{background:#fff;border:1px solid #d9e2e6;color:var(--navy)}.journey{position:relative;overflow:hidden;min-height:565px;background:linear-gradient(#a9ddf0 0 47%,#53aec8 47% 64%,#197ba5 64%)}.sun{position:absolute;right:62px;top:55px;width:92px;height:92px;border-radius:50%;background:#ffe094;box-shadow:0 0 0 20px #ffe09438}.cloud,.cloud:before,.cloud:after{position:absolute;border-radius:50px;background:#ffffffd9}.cloud{width:98px;height:25px}.cloud:before,.cloud:after{content:"";width:42px;height:42px;top:-20px}.cloud:before{left:16px}.cloud:after{right:12px}.c1{left:70px;top:80px}.c2{right:175px;top:165px;transform:scale(.65)}.island{position:absolute;bottom:201px;width:420px;height:95px;border-radius:50% 50% 0 0;background:#6fa66a}.i1{left:-120px;transform:rotate(4deg)}.i2{right:-140px;background:#5b9364;transform:rotate(-4deg)}.ferry{position:absolute;left:50%;bottom:84px;transform:translateX(-50%);color:#fff;text-align:center;text-shadow:0 2px 6px #0003}.ferry span{display:block;font-size:122px;line-height:1}.ferry small{font-weight:900;letter-spacing:.12em}.people{position:absolute;padding:8px 12px;border-radius:18px;background:#ffffffe0;font-size:32px;box-shadow:0 5px 16px #0002}.p1{left:55px;top:192px}.p2{right:60px;top:235px}.journey-note{position:absolute;right:28px;bottom:15px;color:#fff;font-size:13px}.travel-menu{position:relative;z-index:4;max-width:1120px;margin:-42px auto 58px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.menu-card{min-height:230px;padding:27px 26px 24px;border-radius:22px;color:#fff;box-shadow:0 13px 30px #1d3e5029;transition:.2s}.menu-card:hover,.plan-card:hover{transform:translateY(-5px)}.menu-card.sea{background:linear-gradient(135deg,#177ca8,#145777)}.menu-card.japan{background:linear-gradient(135deg,#ed8b43,#df5d45)}.menu-card.season{background:linear-gradient(135deg,#68aa6d,#39785e)}.menu-icon{float:right;font-size:48px}.menu-card small{letter-spacing:.14em;font-weight:800;opacity:.8}.menu-card h2{font-family:"Yu Mincho",serif;font-size:28px;margin:7px 0 3px}.menu-card p{margin:0 0 15px;font-size:14px}.section{padding:80px 24px}.pale{background:#f0f8fb}.section-title{text-align:center;max-width:760px;margin:0 auto 36px}.section-title h2{margin:0;font-size:38px;color:var(--navy)}.section-title>p:last-child{margin:8px 0;color:var(--muted)}.route-line{max-width:700px;margin:-5px auto 30px;display:flex;align-items:center;justify-content:center;gap:24px;color:var(--navy);font-weight:900}.route-line span{padding:7px 18px;border-radius:999px;background:#fff;box-shadow:0 4px 12px #1e50691a}.route-line i{font-style:normal;color:var(--blue)}.plan-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.plan-card{padding:0 23px 25px;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 9px 25px #204b5f17;transition:.2s}.plan-emoji{display:grid;place-items:center;height:115px;margin:0 -23px 22px;font-size:52px}.hot{background:linear-gradient(135deg,#fee4cf,#f7ba85)}.meal{background:linear-gradient(135deg,#fff0bd,#e8cc74)}.hotel{background:linear-gradient(135deg,#dceef6,#8cc5dd)}.weekend{background:linear-gradient(135deg,#bde8ee,#55b2c8)}.plan-card small{color:var(--coral);font-weight:900}.plan-card h3{margin:5px 0 17px;font-size:21px;line-height:1.45;color:var(--navy)}.plan-card b{font-size:12px;color:var(--blue)}.placeholder-note{text-align:center;margin:23px auto 0;color:#7a878e;font-size:12px}.collection{background:var(--cream)}.collection-copy{max-width:1120px;margin:0 auto 30px}.collection-copy h2{margin:0;color:var(--navy);font-size:38px}.collection-copy .catch{margin:4px 0 10px;color:var(--coral);font-size:23px;font-weight:900}.collection-copy>p:last-child{max-width:760px;color:var(--muted)}.catalog-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.catalog{min-height:235px;padding:27px;border-radius:20px;background:linear-gradient(145deg,#146da0,#18446b);color:#fff;display:flex;flex-direction:column}.catalog.red{background:linear-gradient(145deg,#da4c48,#a72f39)}.catalog.green{background:linear-gradient(145deg,#55a56a,#33705d)}.catalog span{font-size:28px;font-weight:900}.catalog small{opacity:.75}.catalog b{margin:auto 0 15px}.catalog em{font-style:normal;font-size:13px;font-weight:900}.seasonal{background:linear-gradient(135deg,#194562,#1a6c7b);color:#fff}.section-title.light h2{color:#fff}.section-title.light>p:last-child{color:#d5edf2}.season-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.season-card{min-height:155px;padding:24px;border-radius:20px;display:flex;align-items:center;gap:22px;background:#ffffff1a;border:1px solid #ffffff33}.season-card>span{display:grid;place-items:center;flex:0 0 70px;height:70px;border-radius:50%;font-family:"Yu Mincho",serif;font-size:24px;font-weight:900;background:#f39aa7}.season-card.summer>span{background:#56b7d4}.season-card.autumn>span{background:#e49446}.season-card.winter>span{background:#8ab9d4}.season-card small{letter-spacing:.16em;opacity:.7}.season-card h3{margin:1px 0}.season-card p{margin:0;font-size:13px;color:#d9edf2}.on-dark{color:#c7e2e8}.news-wrap{max-width:930px;margin:auto}.news-list{border-top:2px solid var(--navy)}.news-list a,.news-list .plain{display:grid;grid-template-columns:110px 90px 1fr 38px;align-items:center;gap:12px;padding:18px 10px;border-bottom:1px solid #e1e7e9}.news-list time{color:#75838b;font-size:13px}.tag{padding:3px 8px;border-radius:999px;background:#dceff5;color:#23708d;text-align:center;font-size:11px;font-weight:900}.tag.orange{background:#fff0d8;color:#ad6715}.news-list b{font-size:14px}.news-list em{font-style:normal;color:var(--coral);font-size:11px;font-weight:900}.guide{background:#eef6f5}.guide-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}.guide-box{padding:32px;border-radius:22px;background:#fff;box-shadow:0 8px 24px #21495212}.guide-box h2{margin:0;color:var(--navy);font-size:29px}.calendar-demo,.map-demo{height:255px;margin-top:20px;border-radius:16px;display:grid;place-content:center;text-align:center;color:#55707d}.calendar-demo{background:repeating-linear-gradient(0deg,#f7fafb,#f7fafb 34px,#e7eef1 35px);border:1px solid #d5e1e5}.map-demo{background:linear-gradient(30deg,transparent 40%,#d7e8df 41% 57%,transparent 58%),linear-gradient(-35deg,#eef4e9 20%,#dae9f2 21% 38%,#f7f4e9 39%)}.calendar-demo span,.map-demo span{font-size:24px;font-weight:900;color:var(--navy)}.calendar-demo small,.map-demo small{display:block}.contact{padding:76px max(24px,calc((100% - 1120px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;background:linear-gradient(135deg,#dd654f,#a93d3b);color:#fff}.eyebrow.light{color:#ffe5c7}.contact h2{margin:0 0 17px;font-size:36px;line-height:1.5}.phone{display:inline-flex;flex-direction:column;margin-top:14px;padding:11px 22px;border-radius:14px;background:#fff;color:#a43b39;font-size:23px;font-weight:900}.phone small{font-size:11px}.contact form{padding:31px;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 12px 30px #581b1833}.contact form h3{margin:0 0 18px;color:var(--navy)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact label{display:block;font-size:12px;font-weight:800}.contact input,.contact textarea{width:100%;margin-top:4px;padding:12px;border:1px solid #d6dfe2;border-radius:9px;font:inherit}.contact textarea{height:105px}.contact button{width:100%;margin-top:12px;padding:14px;border:0;border-radius:9px;background:var(--coral);color:#fff;font-size:15px;font-weight:900}.contact form>small{color:#7b858a}.company{padding:48px 24px}.company>div{max-width:900px;margin:auto;display:flex;align-items:center;justify-content:center;gap:60px}.company img{width:280px}.company b{font-size:20px;color:var(--navy)}.partner-links{padding:32px 24px 38px;background:#f3f5f5;text-align:center}.banner-row{max-width:1120px;margin:0 auto 13px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.banner-row a{min-height:68px;padding:10px;border:1px solid #d0d9dc;background:#fff;display:grid;place-content:center;color:var(--navy);line-height:1.3}.banner-row small{font-size:10px;color:#7b898e}.partner-links>small{color:#8b969b;font-size:11px}footer{padding:38px 24px 15px;background:#142f42;color:#fff}.footer-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:230px 1fr 150px;align-items:center;gap:35px}.footer-logo{width:220px;padding:7px;background:#fff}.kcs{width:130px;justify-self:end}.prototype{text-align:center;margin-top:25px;color:#91a8b6;font-size:11px}
@media(max-width:980px){.nav{display:none;position:absolute;left:18px;right:18px;top:75px;padding:14px;border-radius:16px;background:#fff;box-shadow:0 12px 30px #1130432e;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:10px 14px}.menu-button{display:block}.hero{margin:14px;grid-template-columns:1fr}.hero-copy{padding:48px 36px}.journey{min-height:410px}.travel-menu{margin:-25px 20px 45px}.plan-grid{grid-template-columns:1fr 1fr}.catalog-grid{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.banner-row{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.brand img{width:205px}.hero{border-radius:20px}.hero-copy{padding:37px 25px}.hero h1{font-size:37px}.lead br{display:none}.journey{min-height:335px}.ferry span{font-size:91px}.people{font-size:24px}.p1{left:24px;top:150px}.p2{right:25px;top:185px}.travel-menu{grid-template-columns:1fr;margin:-12px 14px 35px}.menu-card{min-height:190px}.section{padding:60px 17px}.section-title h2,.collection-copy h2{font-size:31px}.route-line{gap:8px;font-size:12px}.plan-grid,.season-grid,.guide-grid,.form-grid{grid-template-columns:1fr}.news-list a,.news-list .plain{grid-template-columns:88px 76px 1fr;gap:7px}.news-list b{grid-column:1/-1}.news-list em{display:none}.company>div{flex-direction:column;gap:16px;text-align:center}.banner-row,.footer-inner{grid-template-columns:1fr}.footer-inner{text-align:center}.footer-logo,.kcs{justify-self:center}.contact{padding:60px 18px}.contact h2{font-size:29px}}

/* v3 category additions */
.nav{gap:16px;font-size:12px}.travel-menu{grid-template-columns:repeat(6,1fr)}.travel-menu .menu-card{grid-column:span 2}.travel-menu .menu-card:nth-child(4){grid-column:2/span 2}.travel-menu .menu-card:nth-child(5){grid-column:4/span 2}.menu-card.rail{background:linear-gradient(135deg,#6557b7,#384889)}.menu-card.bus{background:linear-gradient(135deg,#e2a72e,#c87823)}
@media(max-width:980px){.travel-menu{grid-template-columns:1fr 1fr}.travel-menu .menu-card,.travel-menu .menu-card:nth-child(4),.travel-menu .menu-card:nth-child(5){grid-column:auto}.travel-menu .menu-card:last-child{grid-column:1/-1}}
@media(max-width:680px){.travel-menu{grid-template-columns:1fr}.travel-menu .menu-card:last-child{grid-column:auto}}

/* v3 list pages */
.sub-nav{display:flex;align-items:center;gap:20px;font-size:13px;font-weight:800}.sub-hero{max-width:1120px;min-height:300px;margin:28px auto 0;padding:55px 65px;border-radius:28px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;color:#fff}.sub-hero h1{margin:0;font-family:"Yu Mincho",serif;font-size:45px}.sub-hero p:last-child{margin-bottom:0}.sub-hero>span{font-size:100px}.ship-sub{background:linear-gradient(135deg,#176f96,#1e9cbb)}.rail-sub{background:linear-gradient(135deg,#574bad,#33457f)}.sub-hero .eyebrow{color:#ffe09a}.pamphlet-section{background:#f5f9fa}.pamphlet-grid{max-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}.pamphlet-card{border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 28px #1d485c1a;transition:.2s}.pamphlet-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px #1d485c29}.pamphlet-cover{height:430px;padding:15px;background:#e7eff2;display:flex;align-items:flex-start;justify-content:center;overflow:hidden}.pamphlet-cover img{width:100%;height:100%;object-fit:cover;object-position:top;box-shadow:0 4px 12px #0002}.pamphlet-info{padding:23px}.pamphlet-info small{color:var(--coral);font-weight:900}.pamphlet-info h3{margin:5px 0 8px;color:var(--navy);font-size:21px;line-height:1.5}.pamphlet-info p{min-height:48px;color:var(--muted);font-size:13px}.pamphlet-info b{color:var(--blue);font-size:13px}.coming{box-shadow:none;border:2px dashed #bdcbd1}.coming:hover{transform:none;box-shadow:none}.coming-cover{height:430px;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#edf4f6,#dde9ed);color:#9aabb2;font-size:45px;font-weight:900}.coming-cover span{font-size:14px}.list-cta{padding:48px max(24px,calc((100% - 1000px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff3e6}.list-cta h2{margin:0;color:var(--navy);font-family:"Yu Mincho",serif}.list-cta p{margin:5px 0}.list-cta a{padding:13px 22px;border-radius:999px;background:var(--coral);color:#fff;font-weight:900;white-space:nowrap}.empty-plans{max-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.empty-plans>div{padding:35px 25px;border-radius:20px;background:#fff;text-align:center;font-size:48px;box-shadow:0 8px 24px #1d485c12}.empty-plans h3{margin:8px 0 0;color:var(--navy);font-size:20px}.empty-plans p{margin:5px 0;color:var(--muted);font-size:13px}
@media(max-width:900px){.sub-hero{margin:15px;min-height:260px;padding:40px}.pamphlet-grid{grid-template-columns:1fr 1fr}.sub-nav{gap:9px}.sub-nav a:first-child{display:none}.list-cta{align-items:flex-start;flex-direction:column}.empty-plans{grid-template-columns:1fr}}
@media(max-width:620px){.sub-hero{padding:34px 25px}.sub-hero h1{font-size:34px}.sub-hero>span{font-size:55px}.pamphlet-grid{grid-template-columns:1fr}.pamphlet-cover,.coming-cover{height:470px}.sub-nav .nav-cta{font-size:12px}.list-cta a{width:100%;text-align:center}}

/* v4: keep the category buttons fully below the hero illustration */
.travel-menu{margin:32px auto 58px}.collection-sub{background:linear-gradient(135deg,#ed8b43,#cf4f43)}.season-sub{background:linear-gradient(135deg,#5aa36c,#2d725d)}
@media(max-width:980px){.travel-menu{margin:26px 20px 45px}}
.collection-grid{grid-template-columns:repeat(4,1fr);max-width:1180px}.collection-grid .pamphlet-cover{height:350px}.collection-grid .pamphlet-info h3{min-height:64px;font-size:18px}.collection-grid .pamphlet-info p{min-height:70px}
@media(max-width:1050px){.collection-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.travel-menu{margin:22px 14px 35px}.collection-grid{grid-template-columns:1fr}.collection-grid .pamphlet-cover{height:500px}.collection-grid .pamphlet-info h3,.collection-grid .pamphlet-info p{min-height:0}}

/* v8: travel collection subtitle, four-season selector and official link banners */
.calendar-frame,.map-frame{display:block;width:100%;height:481px;margin-top:20px;border:1px solid #d5e1e5;border-radius:16px;background:#fff}
.sub-title-en{margin:0 0 22px!important;color:#fff6d5;font-size:18px;font-weight:800;letter-spacing:.12em}
.empty-plans{max-width:1180px;grid-template-columns:repeat(4,1fr)}
.banner-row a{height:82px}
.banner-row img{display:block;width:100%;height:58px;object-fit:contain}
@media(max-width:980px){.empty-plans{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.banner-row{grid-template-columns:repeat(2,1fr)}}

/* v9: brochure management */
.news-status{margin:0;padding:24px 10px;text-align:center;color:var(--muted);border-bottom:1px solid #e1e7e9}
.bus-sub{background:linear-gradient(135deg,#d99d29,#b9651d)}
.dynamic-plan-grid{max-width:1180px;grid-template-columns:repeat(4,1fr)}
.dynamic-plan-grid .pamphlet-cover{height:360px}
.no-plan{max-width:620px;margin:auto;padding:55px 25px;border:2px dashed #bdcbd1;border-radius:20px;background:#fff;text-align:center;color:var(--muted)}
.no-plan span{font-size:58px}.no-plan h3{margin:8px 0;color:var(--navy)}
@media(max-width:1050px){.dynamic-plan-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.dynamic-plan-grid{grid-template-columns:1fr}.dynamic-plan-grid .pamphlet-cover{height:470px}}

/* v6 hero illustration */
.journey.hero-photo{background-image:linear-gradient(0deg,#0d426159 0%,transparent 38%),url("hero-travel-v6.jpg");background-size:cover;background-position:center center}.hero-photo .journey-note{right:28px;bottom:18px;margin:0;padding:7px 13px;border-radius:999px;background:#173b58c9;font-weight:800;letter-spacing:.05em}
@media(max-width:980px){.journey.hero-photo{min-height:520px;background-position:center 45%}}
@media(max-width:680px){.journey.hero-photo{min-height:360px;background-position:center center}.hero-photo .journey-note{right:14px;bottom:12px}}

/* v7 plan updates */
.menu-card.golf{background:linear-gradient(135deg,#3f9658,#236840)}.menu-subtitle{font-size:.62em;font-family:"Yu Gothic","Meiryo",sans-serif;letter-spacing:.04em}.golf-sub{background:linear-gradient(135deg,#347c4b,#175838)}.ship-grid{max-width:1180px;grid-template-columns:repeat(4,1fr)}.ship-grid .pamphlet-cover{height:360px}.single-plan{grid-template-columns:minmax(280px,360px);justify-content:center}
@media(max-width:1050px){.ship-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.ship-grid{grid-template-columns:1fr}.ship-grid .pamphlet-cover{height:470px}}

/* v11: company information and terms links */
.company-links{padding:58px 24px 64px;background:#fffaf2;text-align:center}.company-links-inner{max-width:1120px;margin:auto}.company-links h2{margin:0;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:34px}.company-links-lead{margin:8px 0 28px;color:var(--muted)}.company-link-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.company-link-grid a{min-height:82px;padding:18px 16px;border:1px solid #d9e2e6;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--navy);font-size:14px;font-weight:800;text-align:left;box-shadow:0 6px 18px #1d485c0d;transition:.2s}.company-link-grid a:hover{border-color:var(--coral);color:var(--coral);transform:translateY(-3px);box-shadow:0 10px 24px #1d485c1c}.company-link-grid b{flex:none;color:var(--coral);font-size:12px;white-space:nowrap}
@media(max-width:980px){.company-link-grid{grid-template-columns:repeat(2,1fr)}.company-link-grid a:last-child{grid-column:1/-1}}
@media(max-width:680px){.company-links{padding:48px 17px}.company-links h2{font-size:29px}.company-link-grid{grid-template-columns:1fr}.company-link-grid a:last-child{grid-column:auto}}

.news-list .plain{cursor:default;color:inherit}
