:root{--ink:#17343d;--muted:#596d72;--accent:#d45632;--teal:#126f70;--line:#dce5e5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;line-height:1.85}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;object-fit:cover}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #de603b;outline-offset:5px}[hidden]{display:none!important}.skip{position:absolute;top:-70px;z-index:100;background:white}.skip:focus{top:0}.topline{background:#17343d;color:white;text-align:center;font-size:10px;letter-spacing:.13em;padding:5px}header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:30px;padding:19px max(4vw,22px);background:#fffffff2;backdrop-filter:blur(16px);border-bottom:1px solid #e6eded;transition:box-shadow .3s}header.scrolled{box-shadow:0 6px 30px #17343d12}.brand{text-decoration:none;font-size:28px;font-weight:900;letter-spacing:.08em;line-height:1.25;white-space:nowrap}.brand span{display:block;font-size:8px;letter-spacing:.25em;margin-top:6px}header nav{display:flex;gap:27px;margin-left:auto;font-size:12px;font-weight:700}header nav a{text-decoration:none}.nav-cta{background:var(--teal);color:white;border-radius:30px;padding:12px 20px;font-size:11px;text-decoration:none}.disclosure{font-size:10px;color:var(--muted);margin:12px 4vw}.hero{height:650px;min-height:520px;position:relative;overflow:hidden;margin:0 18px;border-radius:8px 8px 26px 26px;color:white}.hero-background,.hero-shade{position:absolute;width:100%;height:100%;inset:0}.hero-background{object-position:center 42%}.hero-shade{background:linear-gradient(90deg,#07303ccb 0%,#092f3750 60%,#0d31321c),linear-gradient(0deg,#0b303a77,transparent 40%)}.hero-copy{position:relative;padding:75px 6vw;max-width:900px}.eyebrow{display:block;font-size:10px;letter-spacing:.2em;font-weight:700}.hero h1{font-size:clamp(38px,4.7vw,68px);letter-spacing:.02em;line-height:1.45;margin:22px 0;font-weight:900}.hero-copy p{font-size:15px;line-height:2.1;margin-bottom:27px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:18px 25px;background:var(--teal);color:white;border:0;border-radius:6px;text-decoration:none;font-size:14px;font-weight:700;transition:transform .25s,background .25s}.button:hover{background:#0a5557;transform:translateY(-3px)}.button.light{color:var(--ink);background:#fff}.hero-location{position:absolute;right:45px;bottom:85px;font-size:10px;letter-spacing:.12em}.scroll-cue{position:absolute;right:45px;top:48%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.22em;text-decoration:none;display:flex;gap:20px}.journey-dock{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);max-width:1110px;margin:-48px auto 90px;background:white;border-radius:12px;box-shadow:0 15px 55px #17343d14;padding:30px 12px}.journey-dock>a{display:flex;align-items:center;gap:14px;padding:2px 24px;text-decoration:none;border-right:1px solid var(--line)}.journey-dock>a:last-child{border:0}.dock-number{color:var(--accent);font-size:12px;font-weight:700}.journey-dock small{display:block;font-size:10px;color:var(--muted)}.journey-dock strong{font-size:16px}.circle-arrow{margin-left:auto;background:#f0f5f4;border-radius:50%;width:32px;height:32px;text-align:center;flex-shrink:0}.packing-feature{max-width:1120px;margin:0 auto 100px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.packing-visual{position:relative;padding:0 0 24px 24px}.packing-visual:before{content:'';position:absolute;inset:40px 35px 0 0;background:#edf0dc;border-radius:8px}.packing-visual img{position:relative;width:100%;height:510px;border-radius:8px;object-position:center 60%}.photo-stamp{position:absolute;bottom:5px;right:-20px;background:#e8643d;color:white;border-radius:50%;width:125px;height:125px;display:grid;place-content:center;text-align:center;transform:rotate(10deg);font-size:10px;letter-spacing:.12em;border:7px solid white}.section-label{font-size:10px;letter-spacing:.17em;font-weight:700;display:flex;align-items:center;gap:13px;color:var(--teal)}.section-label b{font-size:13px;border:1px solid #aac2c0;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}h2{font-size:clamp(25px,2.7vw,37px);line-height:1.65;letter-spacing:.02em}h3{line-height:1.65}.packing-copy p{font-size:14px;line-height:2.1;color:var(--muted)}.packing-tickets{display:flex;gap:7px;flex-wrap:wrap;margin:24px 0}.packing-tickets span{padding:4px 11px;border:1px solid #d2ddda;border-radius:3px;font-size:10px}.packing-copy>small{display:block;font-size:10px;color:var(--muted);margin-top:12px}.notes-section{background-color:#eef5f5;background-image:radial-gradient(#c2d8d8 1px,transparent 1px);background-size:22px 22px;padding:70px max(5vw,24px) 45px;overflow:hidden}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-head h2{margin:15px 0 0}.section-head>p{font-size:13px;color:var(--muted)}.rail-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:30px 0}.guide-filters{display:flex;gap:8px;flex-wrap:wrap}.guide-filters button{background:white;border:1px solid #d0dede;padding:8px 19px;border-radius:25px;font-size:11px;color:var(--ink)}.guide-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.rail-controls{display:flex;gap:9px}.rail-controls button{border:1px solid #becfcf;background:transparent;border-radius:50%;width:42px;height:42px;color:var(--ink)}.guide-rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 0 24px;scrollbar-color:#b0c8c7 transparent}.guide-card{flex:0 0 31%;min-width:280px;display:flex;flex-direction:column;background:white;border-radius:9px;overflow:hidden;text-decoration:none;scroll-snap-align:start;transition:transform .25s,box-shadow .25s}.guide-card:hover{transform:translateY(-5px);box-shadow:0 12px 20px #17343d10}.card-image{height:230px;position:relative;overflow:hidden}.card-image img{width:100%;height:100%;transition:transform .6s}.guide-card:hover img{transform:scale(1.04)}.card-image>span{position:absolute;bottom:13px;left:15px;background:white;padding:4px 10px;font-size:10px;border-radius:3px}.card-content{padding:20px 24px 24px;display:flex;flex-direction:column;flex:1}.card-content h3{font-size:18px;margin:0 0 12px}.card-content p{font-size:12px;color:var(--muted);margin-top:0}.arrow{font-size:11px;font-weight:700;margin-top:auto;padding-top:12px;color:var(--teal)}.rail-status{font-size:10px;color:var(--muted)}.departure-story{display:grid;grid-template-columns:1fr 1.35fr;align-items:center;gap:70px;padding:90px max(7vw,24px);background:#fcf0e8;position:relative;overflow:hidden}.departure-story:before{content:'';position:absolute;width:450px;height:450px;border:1px solid #e7d4c9;border-radius:50%;left:-260px;top:-200px;box-shadow:0 0 0 40px #fcf0e8,0 0 0 41px #e7d4c9,0 0 0 80px #fcf0e8,0 0 0 81px #e7d4c9}.story-copy, .departure-story figure{position:relative}.story-copy p{font-size:14px;color:var(--muted)}.departure-story figure{margin:0}.departure-story img{width:100%;height:380px;border-radius:8px}.departure-story figcaption{font-size:9px;letter-spacing:.18em;margin-top:13px}.text-link{display:inline-flex;gap:24px;font-size:13px;font-weight:700;margin-top:15px}.section{max-width:1120px;margin:auto;padding:80px 0}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.step-grid article{position:relative;border-top:1px dashed #b9cdcb;padding-top:24px}.step-num{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eef4e8;color:var(--teal);margin-bottom:17px}.step-grid small{font-size:10px;color:var(--teal)}.step-grid h3{font-size:20px;margin:9px 0}.step-grid p{font-size:12px;color:var(--muted)}.offer{max-width:1120px;margin:0 auto 65px;padding:42px 50px;background:#e8f1ed;border-radius:10px;border-left:5px solid var(--teal)}.offer h2{font-size:27px;margin:12px 0}.offer p{font-size:13px;max-width:800px}.offer>a{display:inline-flex;background:var(--teal);color:white;padding:16px 25px;border-radius:5px;text-decoration:none;font-weight:700;font-size:14px}.offer>img[width='1']{display:inline;width:1px;height:1px}.small{font-size:11px!important;color:var(--muted)}.editor-note{text-align:center;padding:15px 24px 85px}.editor-note h2{font-size:24px}.editor-note p,.editor-note a{font-size:12px;color:var(--muted)}footer{background:#17343d;color:#e7eeee;padding:55px max(6vw,24px) 35px}.foot-top{display:flex;justify-content:space-between;align-items:center}.foot-top p{font-size:13px}footer nav{display:flex;flex-wrap:wrap;gap:22px;margin:30px 0;font-size:11px}footer>small{font-size:10px;color:#b2c9cc}.inner-page main{max-width:1200px;padding:0 35px;margin:auto}.breadcrumb{font-size:11px;color:var(--muted);margin:24px 0}.tool-head{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;background:#edf4f2;padding:35px 45px;border-radius:12px;margin:25px 0 40px}.tool-head h1{font-size:34px;line-height:1.6;margin:15px 0}.tool-head p{font-size:12px}.tool-head>img{width:100%;height:230px;border-radius:7px}.check-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;align-items:start}.tool-settings{padding:25px;background:#f9f2e9;border-radius:8px;position:sticky;top:110px}.tool-settings h2{font-size:19px;margin:0 0 20px}.tool-settings>label{display:block;font-size:12px;font-weight:700;margin:17px 0}.tool-settings select{display:block;width:100%;margin-top:7px;background:white;padding:10px;border:1px solid #d7dedc;border-radius:4px;color:var(--ink)}.tool-settings .button{font-size:12px;width:100%;padding:13px}.tool-settings .save-choice{display:flex;align-items:start;gap:7px;font-size:11px}.progress-header{display:flex;align-items:center;justify-content:space-between}.progress-header h2{font-size:23px}.progress-header output{font-size:12px;color:var(--teal);font-weight:700}progress{width:100%;height:8px;border:none;border-radius:8px;accent-color:var(--teal);margin-bottom:20px}progress::-webkit-progress-bar{background:#e7eeeb;border-radius:8px}progress::-webkit-progress-value{background:var(--teal);border-radius:8px}.check-group{border:1px solid var(--line);padding:22px 27px;border-radius:8px;margin-bottom:20px;background:#fff}.check-group h3{font-size:16px;margin:0 0 12px;color:var(--teal)}.check-item{display:flex;gap:12px;padding:12px 0;border-top:1px solid #edf1ef;font-size:13px;align-items:start;cursor:pointer}.check-item input{width:18px;height:18px;accent-color:var(--teal);flex-shrink:0;margin-top:3px}.check-item:has(input:checked) span{color:#788984;text-decoration:line-through}.tool-actions{display:flex;gap:12px}.tool-actions button{border:1px solid #c6d6d3;background:white;border-radius:5px;padding:10px 15px;font-size:11px;color:var(--ink)}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.simple-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:24px;background:white;transition:transform .25s}.simple-card:hover{transform:translateY(-4px)}.simple-card img{width:calc(100% + 48px);max-width:none;height:170px;margin:-24px -24px 20px}.simple-card h3{font-size:17px}.simple-card p,.simple-card span,.simple-card small{font-size:12px;color:var(--muted)}.reading{max-width:780px;margin:55px auto 70px}.reading h1{font-size:36px;line-height:1.6}.reading .lead{font-size:17px;color:var(--muted)}.article-photo{width:100%;height:320px;border-radius:9px;margin:30px 0}.reading .meta{font-size:11px;color:var(--muted)}.reading .disclosure{margin:20px 0}.toc{background:#eff5f3;border-radius:8px;padding:28px;margin:35px 0}.toc a{display:block;font-size:12px;margin-top:12px}.reading section{margin:45px 0}.reading h2{font-size:25px}.reading p{font-size:15px;line-height:2.1}.reading .offer{padding:30px;margin:45px 0}.references{background:#f5f5ee;padding:25px;border-radius:8px}.references li,.references p{font-size:12px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:550px;font-size:12px}th,td{padding:15px;text-align:left;border:1px solid var(--line)}th{background:#ecf3f1}.reveal{transition:opacity .7s,transform .7s}.reveal.pending{opacity:.15;transform:translateY(28px)}
@media(max-width:1000px){header nav{gap:15px}.nav-cta{display:none}.journey-dock{margin:-35px 35px 70px}.journey-dock>a{padding:0 12px}.journey-dock strong{font-size:13px}.packing-feature{margin:0 35px 70px;gap:40px}.section{padding:60px 30px}.offer{margin:0 30px 55px}.guide-card{flex-basis:42%}.departure-story{gap:35px}.check-layout{grid-template-columns:250px minmax(0,1fr);gap:25px}.tool-head{padding:30px}.tool-head h1{font-size:27px}}
@media(max-width:800px){header{padding:15px 18px;gap:10px;flex-wrap:wrap}.brand{font-size:23px}header nav{gap:17px;font-size:10px;width:100%;justify-content:space-between;margin-top:7px}.topline{font-size:8px}.hero{margin:0 9px;height:560px;min-height:0;border-radius:6px 6px 18px 18px}.hero-copy{padding:55px 24px}.hero h1{font-size:38px;line-height:1.55}.hero-copy p{font-size:12px}.hero-location{right:22px;bottom:70px;font-size:8px}.scroll-cue{display:none}.button{font-size:12px;padding:16px 20px}.journey-dock{grid-template-columns:1fr;margin:-34px 24px 55px;padding:6px 20px;border-radius:8px}.journey-dock>a{padding:15px 0;border-right:0;border-bottom:1px solid var(--line)}.journey-dock strong{font-size:14px}.journey-dock small{font-size:9px}.packing-feature{grid-template-columns:1fr;margin:0 24px 60px;gap:27px}.packing-visual{padding:0 0 20px 18px}.packing-visual img{height:340px}.photo-stamp{width:100px;height:100px;right:-6px;font-size:8px}.packing-copy{padding:0 6px}.packing-copy h2{font-size:29px}.packing-copy p{font-size:12px}.notes-section{padding:45px 24px 25px}.section-head{display:block;margin-bottom:20px}.section-head h2{font-size:26px}.section-head>p{font-size:11px}.rail-toolbar{align-items:end;gap:5px}.guide-filters{gap:5px}.guide-filters button{font-size:10px;padding:6px 11px}.rail-controls{gap:5px}.rail-controls button{width:31px;height:31px;font-size:12px}.guide-card{flex-basis:86%;min-width:245px}.guide-rail{gap:16px}.card-image{height:200px}.card-content{padding:20px}.departure-story{grid-template-columns:1fr;padding:50px 30px;gap:25px}.story-copy h2{font-size:30px}.departure-story img{height:260px}.section{padding:50px 24px}.step-grid{grid-template-columns:1fr;gap:24px}.step-grid article{padding-top:18px}.step-grid p br{display:none}.step-num{float:left;margin-right:15px;margin-bottom:75px}.step-grid h3{font-size:18px}.offer{margin:0 24px 45px;padding:28px 23px}.offer h2{font-size:23px}.offer>a{font-size:12px;padding:14px 19px}.editor-note{padding-bottom:50px}.editor-note h2{font-size:22px}.foot-top{display:block}.foot-top p{margin-top:23px}footer nav{gap:15px}.inner-page main{padding:0 20px}.tool-head{grid-template-columns:1fr;gap:20px;padding:25px;margin-bottom:25px}.tool-head h1{font-size:27px}.tool-head>img{height:160px}.tool-head p br{display:none}.check-layout{grid-template-columns:1fr;gap:15px}.tool-settings{position:static;padding:22px}.tool-settings>label{margin:12px 0}.check-group{padding:20px}.check-item{font-size:12px}.progress-header h2{font-size:19px}.guide-grid{grid-template-columns:1fr}.inner-page .section{padding:40px 0}.simple-card img{height:190px}.reading{margin-top:30px}.reading h1{font-size:27px}.reading h2{font-size:22px}.reading p{font-size:14px}.article-photo{height:220px}.toc{padding:22px}.reading .offer{padding:25px}.reading .references{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,.reveal{transition:none!important;animation:none!important}.reveal.pending{opacity:1;transform:none}}@media print{header,footer,.topline,.breadcrumb,.tool-settings,.tool-head img,.tool-actions,.section,.offer{display:none!important}.check-layout{display:block}.tool-head{display:block;padding:0;background:white}.check-group{break-inside:avoid;padding:10px}.check-item{font-size:10px;padding:4px}.tool-head p{display:none}.check-group h3{font-size:13px}}
@media(max-width:800px){.hero h1{font-size:clamp(26px,7.6vw,32px);line-height:1.65;letter-spacing:0}.hero-copy{padding-top:60px}.tool-head h1{font-size:27px}}
/* 下部まで読みやすさを維持する文字階層 */
@media screen{
.home-page h2{font-size:clamp(30px,3vw,40px);line-height:1.6}
.home-page .section-head>p,.home-page .packing-copy p,.home-page .story-copy p,.home-page .editor-note p{font-size:16px;line-height:2}
.home-page .card-content h3{font-size:23px;line-height:1.65}
.home-page .card-content p,.home-page .step-grid p,.home-page .offer p{font-size:16px;line-height:1.9}
.home-page .card-content{padding:26px 27px 30px}
.home-page .card-image{height:250px}
.home-page .step-grid h3{font-size:25px}
.home-page .step-grid small,.home-page .arrow,.home-page .card-image>span,.home-page .text-link,.home-page .editor-note a{font-size:14px}
.home-page .section-label,.home-page .eyebrow,.home-page .rail-status,.home-page .packing-copy>small,.home-page .packing-tickets span{font-size:12px}
.home-page .guide-filters button{font-size:14px}
.home-page .journey-dock small{font-size:12px}.home-page .journey-dock strong{font-size:18px}
.home-page .offer .small{font-size:13px!important}
.home-page .button,.home-page .offer>a{font-size:16px}
.home-page .step-grid{gap:35px}.home-page .step-num{width:42px;height:42px;font-size:18px}
.home-page .editor-note{background:#f4f7f4;padding:60px 24px 75px;margin-top:10px}
footer nav{font-size:14px;gap:20px}footer .foot-top p{font-size:16px}footer>small{font-size:12px}
}
@media screen and (max-width:800px){
.home-page h2,.home-page .section-head h2,.home-page .packing-copy h2,.home-page .story-copy h2,.home-page .editor-note h2{font-size:29px}
.home-page .card-content h3{font-size:21px}.home-page .card-content{padding:23px}
.home-page .card-content p,.home-page .packing-copy p,.home-page .story-copy p,.home-page .section-head>p,.home-page .step-grid p,.home-page .offer p,.home-page .editor-note p{font-size:15px}
.home-page .guide-card{flex-basis:92%;min-width:260px}.home-page .card-image{height:220px}
.home-page .guide-filters button{font-size:12px;padding:8px 12px}.home-page .rail-toolbar{flex-wrap:wrap;align-items:center}.home-page .rail-controls{margin-left:auto}
.home-page .journey-dock strong{font-size:16px}.home-page .journey-dock small{font-size:11px}
.home-page .step-grid h3{font-size:22px}.home-page .step-num{float:none;margin-bottom:12px}
.home-page .button,.home-page .offer>a{font-size:14px}.home-page .offer h2{font-size:27px}
.home-page .editor-note p br,.home-page .story-copy p br,.home-page .section-head>p br{display:none}
footer nav{font-size:13px}footer .foot-top p{font-size:14px}
}

