:root{--navy:#102f4c;--blue:#1765d1;--ink:#142c44;--muted:#52697f;--line:#dbe5f0;--bg:#f4f7fc}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--bg);color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f09b20;outline-offset:4px}a{color:#155bb0}header{background:white;color:var(--navy);border-bottom:1px solid var(--line);padding-top:18px;padding-bottom:18px}header strong{font-size:22px}header span{font-size:13px;color:var(--muted)}header nav a{color:var(--navy);font-size:15px;text-decoration:none;padding:8px}main{margin-top:28px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;border:0;padding:28px 0 40px}.hero h1{font-size:clamp(30px,3.5vw,44px);margin:12px 0 20px;letter-spacing:-.02em}.hero p{max-width:560px}.hero figure{margin:0}.hero img{display:block;width:100%;aspect-ratio:1.65;object-fit:cover;border-radius:18px}.hero figcaption{font-size:12px;color:var(--muted);margin-top:8px}.eyebrow{color:#1765d1;font-weight:700}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.button,button{background:var(--blue);border-radius:8px;font-weight:650;padding:12px 20px;min-height:48px}.button.secondary{background:white;color:var(--blue);border:1px solid #bed0e6}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.step{display:flex;gap:14px;align-items:center;background:#fff;padding:18px;border:1px solid var(--line);border-radius:12px}.step b{display:grid;place-items:center;width:34px;height:34px;background:#eaf2ff;color:var(--blue);border-radius:50%;flex-shrink:0}.step span{font-size:15px}.wide{max-width:100%;margin:28px 0}.panel,article{border-radius:16px;padding:32px;box-shadow:0 5px 22px #17385305}.panel h2{margin-top:0}#finder{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}#finder label{font-weight:600;font-size:15px;margin:10px 0}#finder select{display:block;width:100%;margin-top:8px;background:#f9fbff;min-height:48px}#finder button{grid-column:1/-1;width:fit-content;margin-top:16px}.result{margin-top:24px;background:#edf5ff;border-left-color:var(--blue);border-radius:0 8px 8px 0;font-size:16px}.result ul{padding-left:22px;margin:0}.result li{margin:10px 0}.card{border-radius:12px;transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #102f4c0d}.card h2 a{text-decoration:none;color:var(--navy)}.card .tag{color:#155bb0}.card img{width:100%;height:120px;object-fit:cover;border-radius:8px;margin-bottom:16px}.card:nth-child(2) img{object-position:25% center}.card:nth-child(3) img{object-position:75% center}#guides .grid{margin-top:20px}article h1{font-size:28px;max-width:760px}article p,article li{max-width:800px}article ol,article ul{padding-left:26px}article li{margin:10px 0}table{font-size:15px}thead{background:#edf4fd}.table-wrap{overflow-x:auto}fieldset{background:#f9fbff;margin-top:12px}legend{font-weight:700;padding:0 8px}.cost-row{font-size:14px;font-weight:500}.cost-row input{background:white}#calculate{margin-top:18px}.toc{background:white;border:1px solid var(--line);border-radius:12px;padding:20px 24px;display:flex;gap:20px;flex-wrap:wrap;margin-top:24px}.toc strong{font-size:15px}.toc a{font-size:14px}.note-small{color:var(--muted);font-size:14px}footer{line-height:1.8}.skip{position:absolute;top:-80px;left:12px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}@media(max-width:800px){.hero{grid-template-columns:1fr;gap:20px;padding-top:8px}.hero figure{order:2}.hero img{aspect-ratio:2}.steps{grid-template-columns:1fr;gap:8px}.step{padding:12px 16px}#finder{grid-template-columns:1fr}.panel,article{padding:22px}header{gap:10px}header nav{width:100%;gap:10px}header nav a{padding:4px 0;font-size:14px}.toc{gap:12px}.hero h1{font-size:32px}main{padding:0 18px}.cost-row{grid-template-columns:1fr 120px}.cost-row input{width:120px}article h1{font-size:26px}}@media(max-width:360px){.cost-row{grid-template-columns:1fr}}

.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.guide-number{font-size:36px;font-weight:750;line-height:1;color:#1765d1}.guide-topic{font-size:14px;color:var(--muted)}#guides .card:nth-child(2) .guide-number{color:#087664}#guides .card:nth-child(3) .guide-number{color:#956214}

/* 結果は装飾ボックスにせず、本文として表示する */
.result{background:transparent;border:0;border-radius:0;padding:20px 0 0;margin-top:24px;border-top:1px solid #dbe5f0;color:var(--ink)}

.article-lead{font-size:19px;line-height:1.8;font-weight:600;margin:24px 0 32px}.article-next{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}.article-next .button{font-size:15px}.related{display:flex;flex-wrap:wrap;gap:24px;margin:28px 0}.related a{font-size:15px}

.hero img{height:auto}

.ad-disclosure{font-size:14px;margin:16px 0;color:#52697f}.affiliate-link{padding:16px 0}.affiliate-link a{display:inline-block;padding:12px 20px;background:#1765d1;color:white;border-radius:6px;font-weight:600;text-decoration:none}.affiliate-link img{max-width:100%}

header strong a{color:var(--navy)}
.table-wrap table{border-collapse:collapse;width:100%;min-width:540px;margin:20px 0}
.table-wrap th,.table-wrap td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.table-wrap th{background:#edf4fd;font-weight:700}
blockquote{margin:20px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);line-height:1.9}
.related{margin-left:0}

/* Service-specific affiliate CTA: clear hierarchy and touch targets */
.affiliate-link{background:#fff;border:1px solid #d7dce2;border-radius:10px;padding:24px;margin:28px 0;max-width:760px;box-sizing:border-box}
.affiliate-link .affiliate-cta-label{font-size:12px;color:#59636f;letter-spacing:.06em;margin-bottom:6px}
.affiliate-link .affiliate-cta-title{font-size:22px;font-weight:750;line-height:1.4;color:#17232d;margin:0 0 18px}
.affiliate-link a{display:flex;justify-content:center;align-items:center;gap:14px;min-height:56px;box-sizing:border-box;width:100%;padding:16px 22px;background:#a43a0b;color:#fff;border:1px solid #8e3007;border-radius:6px;text-align:center;font-size:17px;font-weight:700;line-height:1.5;text-decoration:none;box-shadow:0 3px 0 #742909;transition:background .15s}
.affiliate-link a:hover{background:#842d07}.affiliate-link a:focus-visible{outline:3px solid #1765d1;outline-offset:5px}
.affiliate-link .affiliate-cta-note{font-size:13px;line-height:1.7;color:#59636f;margin:14px 0 0}
.affiliate-link img[width="1"]{width:1px;height:1px}
@media(max-width:600px){.affiliate-link{padding:20px 16px;margin:24px 0}.affiliate-link .affiliate-cta-title{font-size:20px}.affiliate-link a{font-size:16px;padding:16px 12px}}

.banner-cta{max-width:800px;padding:28px;background:#fff}.banner-cta .destination-lead{font-size:14px;color:#59636f;margin:8px 0}.destination-items{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0!important;margin:12px 0 22px}.destination-items li{padding:8px 12px;background:#f1f3f4;border-radius:4px;margin:0;font-size:14px;color:#17232d}.banner-cta a.official-banner{display:block;padding:0;width:fit-content;max-width:100%;min-height:0;border:0;background:transparent;box-shadow:none;border-radius:0;margin:0 auto}.official-banner img{display:block;max-width:100%;height:auto;object-fit:contain}.banner-cta .banner-instruction{font-weight:700;font-size:15px;text-align:center;color:#17232d;margin:16px 0}.official-banner:hover{outline:2px solid #8a3a19;outline-offset:5px}
.article-route{margin:24px 0 32px;padding:24px 0;border-top:1px solid #d7dce2;border-bottom:1px solid #d7dce2}.article-route>p{font-size:14px;font-weight:700;margin:0 0 14px}.article-route ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0}.article-route li{display:flex;gap:12px;margin:0;line-height:1.6;font-size:15px}.article-route b{font-size:26px;color:#a43a0b;font-weight:700;line-height:1.2}article h2{margin-top:40px;padding-bottom:12px;border-bottom:1px solid #dbe0e4}article>ol{counter-reset:step;list-style:none;padding-left:0}article>ol>li{position:relative;padding:14px 16px 14px 50px;background:#f5f6f7;margin:10px 0}article>ol>li:before{counter-increment:step;content:counter(step);position:absolute;left:18px;top:14px;font-weight:700;color:#a43a0b}
@media(max-width:600px){.banner-cta{padding:20px 16px}.article-route ol{grid-template-columns:1fr;gap:16px}.destination-items{display:grid;grid-template-columns:1fr}.destination-items li{padding:8px 10px}.article-route{padding:20px 0}.official-banner img{max-width:100%}}
