:root{--ink:#17222d;--muted:#59636c;--gold:#dac293;--line:#dfe2e4;--paper:#f6f6f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;font-size:17px;line-height:1.9}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #af843b;outline-offset:4px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:10}header{min-height:100px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{text-decoration:none;font-family:Georgia,serif;font-size:29px;letter-spacing:3px;line-height:1.3;display:block;white-space:nowrap}.brand span{font-family:sans-serif;font-size:12px;letter-spacing:1px;display:block;margin-top:6px}nav{display:flex;align-items:center;gap:28px}nav a{font-size:14px;text-decoration:none}nav a[aria-current]{border-bottom:1px solid}nav .nav-cta{background:var(--ink);color:white;padding:11px 20px;border-radius:3px}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:665px}.hero-copy{padding:66px 6vw 62px}.eyebrow{font-size:13px;font-weight:600;letter-spacing:2px}.opening{font-size:17px;line-height:1.8;margin-top:35px}.hero h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(36px,3.5vw,60px);line-height:1.55;letter-spacing:1px;font-weight:500;margin:20px 0}.hero h1 span{border-bottom:2px solid var(--gold)}.hero-copy>p:not(.eyebrow){color:#4e5861}.button{display:inline-block;background:var(--ink);color:white;text-decoration:none;padding:16px 23px;border:0;border-radius:3px;font-size:16px;font-weight:600;margin:18px 0}.button.gold{background:var(--gold);color:var(--ink)}.hero-copy>small{display:block;font-size:13px}.hero-image{position:relative;overflow:hidden;background:#273444}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:58% center;filter:brightness(.72)}.image-caption{position:absolute;bottom:52px;left:42px;right:25px;color:white}.image-caption span,.image-caption small{display:block;letter-spacing:3px;font-size:12px}.image-caption strong{font-family:serif;display:block;font-size:30px;font-weight:400;line-height:1.7;margin:20px 0}.intro{text-align:center;padding:95px 20px 80px;background:var(--paper)}h2{font-family:'Yu Mincho',serif;font-weight:500;font-size:30px;line-height:1.6}h3{font-family:'Yu Mincho',serif;font-size:25px;line-height:1.6}.intro p{margin:28px 0}.muted,.fine,small{color:var(--muted)}.muted{font-size:14px}.reading{padding:75px 6% 90px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-title>span{font-size:13px;color:var(--muted);margin-bottom:28px}.reading-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.reading-grid>a{padding:30px 32px 36px;text-decoration:none;border:1px solid var(--line);background:var(--paper);position:relative;transition:transform .2s}.reading-grid>a:hover{transform:translateY(-4px)}.reading-grid small{font-size:14px}.reading-grid p{font-size:15px}.reading-grid b{font-size:14px}.index{position:absolute;right:25px;top:20px;font-family:Georgia;font-size:40px;opacity:.3}.reading-grid .dark-card{background:var(--ink);color:#fff}.dark-card small{color:var(--gold)}.story-banner{padding:70px 8%;background:#e9ebeb;border-left:8px solid var(--gold)}.story-banner p{font-size:16px}.story-banner a{display:inline-block;margin:15px 0}.promise{padding:75px 8%;text-align:center}.promise p{font-size:16px}footer{padding:55px 6% 24px;background:var(--ink);color:#e3e7ea;display:grid;grid-template-columns:1fr 1.4fr;gap:40px}footer p{font-size:14px}footer .brand span{color:#c4ccd1}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px}.footer-links a{font-size:13px;text-decoration:none}.fine{grid-column:1/-1;color:#bcc3c8;border-top:1px solid #42505a;padding-top:20px;font-size:12px}.article-head{padding:48px max(24px,calc((100vw - 960px)/2));background:var(--paper)}.article-head>a,.article-head>span{font-size:13px}.article-head h1{font-family:'Yu Mincho',serif;font-weight:500;font-size:clamp(30px,3.4vw,47px);line-height:1.65;margin:15px 0}.article-head .deck{font-size:18px}.article-head small{font-size:12px}.article-head .eyebrow{margin-top:32px}article{max-width:780px;padding:40px 24px 70px;margin:auto}article h2{margin-top:48px;font-size:27px}article p{margin:22px 0}article li{margin:13px 0}blockquote{font-family:'Yu Mincho',serif;font-size:25px;margin:40px 0;padding:25px;border-left:3px solid var(--gold);background:var(--paper)}.notice{font-size:14px;padding:14px 20px;background:var(--paper)}.flow{padding:28px;background:var(--paper);text-align:center;display:grid;gap:12px}.flow span{border:1px solid var(--line);padding:14px;background:#fff}.flow b{font-size:14px;color:var(--muted)}.ticket{padding:26px 32px;background:var(--ink);color:#fff;border-left:7px solid var(--gold);margin:32px 0}.ticket strong{display:block;font-family:Georgia;font-size:36px;letter-spacing:4px}.ticket strong span{font-size:22px;color:var(--gold)}.ticket small,.ticket .rule-box{color:#e4e7eb}.rule-box{border:1px solid var(--line);padding:20px;font-size:14px;line-height:1.9;margin:20px 0}.rule-box strong{font-family:inherit;font-size:20px;letter-spacing:0}.rule-box a{display:block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;min-width:100px}th{background:var(--paper)}.next{display:block;text-decoration:none;border-top:1px solid var(--line);padding:26px 0;margin-top:55px}.next small{display:block}.next strong{font-size:20px;font-weight:500}.choices{display:flex;flex-wrap:wrap;gap:10px}.choices button{border:1px solid #c6cdd2;background:#fff;border-radius:3px;padding:12px 16px;font-size:15px}.choices button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.result{padding:24px;background:var(--paper);margin:25px 0}.result h2,.result h3{margin:10px 0}.ad{border:1px dashed #b4bdc5;padding:20px;margin:25px 0;font-size:14px}.ad p{margin:10px 0}.ad small{font-size:14px}.ad a{display:inline-block;padding:12px;background:var(--ink);color:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:15px;font-weight:600}input,select{display:block;width:100%;min-height:52px;border:1px solid #a4aeb6;border-radius:3px;padding:10px 12px;background:#fff;color:var(--ink);margin:8px 0 0}label small{display:block;font-size:13px;font-weight:400;line-height:1.7;margin-top:8px}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:25px 0}details label{margin:18px 0}details p{font-size:14px}summary{cursor:pointer;font-size:15px}.amount{font-family:Georgia,serif;font-size:42px;line-height:1.4;display:block}.amount small{font-family:sans-serif;font-size:17px}.levels section{border-left:2px solid var(--gold);padding:15px 0 20px 28px;margin-top:12px}.levels section h2{margin:8px 0}.levels section small{letter-spacing:2px}.final-ticket{padding:40px 20px;text-align:center;color:#f5e5c6;background:var(--ink);margin:40px 0}.final-ticket strong{display:block;font-family:Georgia;font-size:24px;letter-spacing:2px}.final-ticket span{display:block;font-family:Georgia;font-size:43px;letter-spacing:12px}.final-ticket small{color:#d9c8a6}.shorts-layout{max-width:1120px;margin:0 auto;padding:45px 24px 65px;display:grid;grid-template-columns:370px 1fr;gap:55px}.phone{aspect-ratio:9/16;width:100%;background:#15202e;color:white;position:relative;overflow:hidden;border-radius:24px;border:7px solid #26323f;box-shadow:0 20px 55px #15202e25}.phone-bg{position:absolute;inset:0;background:linear-gradient(180deg,#12203344,#0e162bea),url('/travel-hero.jpg') center/cover;transition:opacity .6s}.phone-brand{position:absolute;top:28px;left:26px;font-family:Georgia;letter-spacing:3px;font-size:15px}.phone-text{position:absolute;inset:110px 25px 95px;display:flex;flex-direction:column;justify-content:center}.phone-text small{color:#e5ca96;font-size:13px;letter-spacing:2px}.phone-text strong{display:block;white-space:pre-line;font-size:32px;line-height:1.75;font-family:'Yu Mincho',serif;animation:appear .7s}.phone-note{position:absolute;bottom:24px;left:25px;right:25px;font-size:12px;color:#dbe0e6;line-height:1.5}.player-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px}.player-controls button{padding:8px 13px;border:1px solid var(--line);background:#fff;font-size:14px}.player-controls output{font-size:14px}progress{width:100%;height:6px;accent-color:#b79354}.short-list{display:grid;gap:8px}.short-list button{text-align:left;padding:12px 16px;border:1px solid var(--line);background:white;font-size:15px}.short-list button[aria-pressed=true]{background:var(--ink);color:white}.short-info p{font-size:15px}.short-info h2{font-size:24px}.short-info table{font-size:14px}.short-info th,.short-info td{padding:10px;min-width:50px}.short-info td:last-child{min-width:150px}.short-info video{width:180px;max-width:100%;border-radius:10px;background:var(--ink)}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}[hidden]{display:none!important}@media(max-width:950px){header{align-items:flex-start;gap:20px}nav{gap:16px;flex-wrap:wrap;justify-content:flex-end}.hero-copy{padding:40px 28px}.hero{min-height:620px}.hero h1{font-size:38px}.hero-copy .button{font-size:14px;padding:14px}.section-title{display:block}.reading-grid{gap:12px}.reading-grid>a{padding:24px 20px}.shorts-layout{gap:30px;grid-template-columns:320px 1fr}}@media(max-width:650px){body{font-size:17px}header{padding:18px 20px;display:block}.brand{font-size:25px}.brand span{font-size:12px}nav{margin-top:22px;justify-content:flex-start;gap:12px 19px}nav a{font-size:14px}nav .nav-cta{padding:8px 12px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:35px 24px 40px}.hero h1{font-size:38px;letter-spacing:0}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-copy .button{font-size:15px;padding:15px 16px;width:100%;text-align:center}.hero-image{min-height:310px}.image-caption{bottom:25px;left:25px}.image-caption strong{font-size:25px;margin:12px 0}.intro{padding:55px 24px}.intro h2{font-size:27px}.intro p{font-size:16px}.intro .muted{font-size:13px}.reading{padding:40px 24px 50px}.reading h2{font-size:26px}.reading-grid{grid-template-columns:1fr;gap:18px}.reading-grid>a{padding:26px}.reading-grid h3{margin:15px 0;font-size:26px}.reading-grid p br{display:none}.section-title>span{display:block}.story-banner,.promise{padding:40px 24px}.story-banner h2{font-size:27px}.promise p br{display:none}footer{display:block;padding:40px 24px 20px}.footer-links{grid-template-columns:1fr;margin:28px 0;gap:12px}.footer-links a{font-size:14px}.article-head{padding:30px 24px}.article-head h1{font-size:31px}.article-head .deck{font-size:16px}article{padding-top:22px}article h2{font-size:25px}blockquote{font-size:22px;padding:20px}.form-grid{grid-template-columns:1fr}.ticket{padding:22px 18px}.ticket strong{font-size:27px}.rule-box strong{font-size:18px}.shorts-layout{display:flex;flex-direction:column;padding:30px 24px}.player{max-width:350px;width:100%;margin:auto}.phone-text strong{font-size:29px}.phone{border-radius:20px}.short-info{min-width:0}.table-wrap{max-width:100%}.final-ticket strong{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.habit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.habit-grid b{display:block;font-family:Georgia;font-size:34px;color:#756044}.airline-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.airline-grid section{padding:15px;background:#fff}.airline-grid h3{margin:0;font-family:Georgia}.airline-grid strong{font-size:20px}.next-reads{border-top:1px solid var(--line);padding-top:24px;margin-top:40px}.next-reads>a{display:block;border-bottom:1px solid var(--line);text-decoration:none;padding:19px 0}.next-reads small{display:block;font-size:13px}.next-reads strong{font-size:18px;font-weight:500}.plan-surface{max-width:1200px;margin:auto;padding:32px 24px}.plan-surface table{font-size:14px}.plan-surface th:nth-child(4){min-width:260px}.source-note{font-size:14px}.result-panel{border-top:1px solid var(--line);padding:20px 0}.result-panel h3{font-size:22px;margin:10px 0}.result .soft-lead{font-family:'Yu Mincho',serif;font-size:25px}.source-note a{overflow-wrap:anywhere}label small{font-size:14px}input,select{font-size:17px}footer nav{margin:0;justify-content:start}.short-list button[aria-pressed=true] small{color:#d4dce2}.phone-note{font-size:12px}.sources p{font-size:14px}h1,h2,h3,p,a,button{overflow-wrap:break-word}.rule-box p{margin:12px 0}.hero-copy .eyebrow{line-height:1.8}.intro blockquote{max-width:650px;margin:30px auto}button{min-height:44px}@media(max-width:650px){.habit-grid,.airline-grid{grid-template-columns:1fr}.habit-grid{gap:0}.habit-grid p{margin:12px 0}.hero h1{font-size:clamp(30px,9vw,38px)}.hero-copy .button{font-size:15px}.result{padding:22px 17px}.result .soft-lead{font-size:23px}.plan-surface{padding:22px 15px}header nav{gap:12px 17px}.footer-links{display:grid}article ul,article ol{padding-left:25px}}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.choice-grid section{min-width:0;padding:1rem;border:1px solid #cbd0d3;border-radius:.6rem}.choice-grid h3,.choice-grid h4{margin-top:0}.trip-tool{margin:2rem 0}.trip-tool summary{font-size:1.1rem;cursor:pointer;padding:1rem 0}.trip-tool fieldset{border:1px solid #cbd0d3;padding:1rem;min-width:0}.trip-tool input[type=checkbox]{width:auto;min-height:1.2rem}.trip-tool button{margin:1rem .5rem 0 0}.trip-tool .form-grid{margin:1rem 0}.trip-tool input{min-width:0;width:100%;box-sizing:border-box}#compare{scroll-margin-top:6rem}.persona-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.persona-grid details{border:1px solid #cbd0d3;padding:1rem}.persona-grid summary{cursor:pointer;font-weight:bold}@media(max-width:750px){.choice-grid,.persona-grid{grid-template-columns:1fr}}
