/*
Theme Name: JCBO Global Japan Support
Theme URI: https://jp.jcbo-m.com/
Author: HONG KONG JCBO LIMITED
Description: 外国人の日本留学・就職・起業・生活を支援するJCBO GLOBAL専用3言語テーマ。
Version: 1.3.1
Text Domain: jcbo-global
*/
:root{--bg:#07111f;--card:#0e1c2d;--ink:#0d1726;--muted:#607086;--line:#dce4ee;--white:#fff;--soft:#f3f6fa;--accent:#c7a969;--accent2:#e8d7a9;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Noto Sans SC",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.75}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(7,17,31,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:800;letter-spacing:.08em;text-decoration:none}.brand small{display:block;font-size:10px;font-weight:500;opacity:.75;letter-spacing:.12em}.nav{display:flex;gap:18px;align-items:center;font-size:14px}.nav a{text-decoration:none;opacity:.92}.langs{display:flex;gap:6px}.langs a{border:1px solid rgba(255,255,255,.25);padding:5px 8px;border-radius:999px;font-size:12px}.hero{min-height:660px;color:#fff;background:linear-gradient(90deg,rgba(3,11,22,.93),rgba(3,11,22,.62),rgba(3,11,22,.25)),url('assets/hero.png') center/cover;display:flex;align-items:center}.hero-inner{padding:80px 0;max-width:760px}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:700;color:var(--accent2)}h1{font-size:clamp(42px,6vw,76px);line-height:1.08;margin:16px 0 22px;letter-spacing:-.03em}.hero p{font-size:19px;max-width:700px;color:#e9eef5}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:8px;text-decoration:none;font-weight:700}.btn-primary{background:var(--accent);color:#07111f}.btn-ghost{border:1px solid rgba(255,255,255,.4);color:#fff}.section{padding:78px 0}.section.soft{background:var(--soft)}.section.dark{background:var(--bg);color:#fff}.section-head{max-width:760px;margin-bottom:34px}.section-head h2{font-size:clamp(30px,4vw,48px);line-height:1.2;margin:8px 0 12px}.section-head p{color:var(--muted)}.dark .section-head p{color:#bdc8d6}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.route-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:16px;padding:30px;background:#fff;min-height:260px;transition:.2s}.route-card:hover{transform:translateY(-3px);box-shadow:0 14px 38px rgba(8,18,32,.09)}.route-card .num{font-size:12px;color:#8b7040;letter-spacing:.18em}.route-card h3{font-size:28px;margin:12px 0 8px}.route-card p{color:var(--muted)}.route-card b{display:inline-block;margin-top:12px}.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.journey div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.journey b{font-size:12px;color:#8b7040}.topics{display:flex;gap:10px;flex-wrap:wrap}.topics a{text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff}.support-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.support-panel{border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:28px;background:rgba(255,255,255,.05)}.support-panel ul{padding-left:20px}.latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article-card{border:1px solid var(--line);border-radius:14px;padding:22px;text-decoration:none;background:#fff}.article-card small{color:#8b7040;font-weight:700}.article-card h3{font-size:20px;line-height:1.45}.article-card p{color:var(--muted);font-size:14px}.site-footer{background:#050c15;color:#b8c4d3;padding:44px 0}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px}.guide-shell{padding:56px 0 88px}.guide-head{max-width:860px}.guide-head h1{font-size:clamp(34px,5vw,58px);color:var(--ink)}.guide-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.stepbar{display:flex;gap:6px;margin:25px 0}.stepbar span{height:6px;flex:1;background:#dfe6ef;border-radius:9px}.stepbar span.on{background:#8f743f}.guide-content{max-width:860px;font-size:17px}.guide-content h2{font-size:30px;margin-top:44px}.guide-content h3{font-size:22px;margin-top:32px}.guide-content table{width:100%;border-collapse:collapse}.guide-content th,.guide-content td{border:1px solid var(--line);padding:10px;text-align:left}.guide-box{margin:30px 0;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.consult-box{margin-top:48px;padding:30px;background:var(--bg);color:#fff;border-radius:16px}.consult-box a{color:var(--accent2)}@media(max-width:850px){.nav{display:none}.route-grid,.latest-grid{grid-template-columns:1fr}.journey{grid-template-columns:1fr 1fr}.support-grid,.footer-grid{grid-template-columns:1fr}.hero{min-height:560px}}@media(max-width:520px){.journey{grid-template-columns:1fr}.wrap{width:min(100% - 24px,var(--max))}.hero p{font-size:16px}}

.guide-library{background:#fff}.genre-block{margin:44px 0 58px}.genre-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:12px}.genre-head small{font-size:11px;letter-spacing:.2em;color:#8b7040;font-weight:800}.genre-head h3{font-size:28px;margin:3px 0}.genre-head a{text-decoration:none;font-size:13px;font-weight:800}.guide-tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guide-tile{display:block;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;background:#fff;transition:.2s}.guide-tile:hover{transform:translateY(-3px);box-shadow:0 14px 38px rgba(8,18,32,.09)}.tile-visual{display:block;height:150px;background-size:cover;background-position:center}.tile-visual.route-common{background-image:url('assets/common.svg')}.tile-visual.route-study{background-image:url('assets/study.svg')}.tile-visual.route-work{background-image:url('assets/work.svg')}.tile-visual.route-business{background-image:url('assets/business.svg')}.tile-visual.route-life{background-image:url('assets/life.svg')}.tile-copy{display:block;padding:18px}.tile-copy small{color:#8b7040;font-weight:800}.tile-copy h3{font-size:19px;line-height:1.45;margin:7px 0}.tile-copy p{font-size:13px;color:var(--muted);margin:0}@media(max-width:850px){.guide-tile-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.guide-tile-grid{grid-template-columns:1fr}.genre-head{align-items:start;flex-direction:column}.tile-visual{height:180px}}

/* v1.2.1 roadmap improvements */
.genre-block{scroll-margin-top:100px}.guide-tile-grid{grid-template-columns:repeat(4,1fr)}
.guide-tile{position:relative}.guide-tile::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#c7a969;opacity:.75}
.tile-copy small{display:inline-block;padding:4px 8px;border-radius:999px;background:#f2ead8;color:#745b2e;letter-spacing:.06em}
.tile-copy h3{min-height:54px}.guide-tile-grid .guide-tile{min-height:310px}
.route-card{position:relative;overflow:hidden}.route-card::after{content:'→';position:absolute;right:24px;bottom:20px;font-size:28px;color:#c7a969}
@media(max-width:1100px){.guide-tile-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.guide-tile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.guide-tile-grid{grid-template-columns:1fr}.guide-tile-grid .guide-tile{min-height:0}.tile-copy h3{min-height:0}}


/* v1.3.0 life roadmap landing pages */
.journey-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-decoration:none;transition:.2s;position:relative}.journey-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(8,18,32,.09)}.journey-card b{font-size:12px;color:#8b7040}.journey-card span{display:inline-block;margin-top:12px;font-size:12px;font-weight:800;color:#8b7040}.life-landing-hero{padding:86px 0 62px;background:linear-gradient(135deg,#07111f 0%,#10223a 100%);color:#fff}.life-landing-hero h1{font-size:clamp(38px,5vw,64px);max-width:980px;margin:14px 0 20px}.life-landing-hero p{max-width:850px;color:#dce5ef;font-size:18px}.life-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:54px;align-items:start}.life-copy{max-width:880px}.life-step-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:44px}.life-step-nav a{display:flex;flex-direction:column;gap:5px;text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:11px;line-height:1.35;background:#fff}.life-step-nav a span{color:#8b7040;font-weight:800}.life-step-nav a.active{background:#07111f;color:#fff;border-color:#07111f}.life-copy-section{padding:28px 0;border-bottom:1px solid var(--line)}.life-copy-section:first-of-type{padding-top:0}.life-copy-section h2{font-size:28px;line-height:1.35;margin:0 0 12px}.life-copy-section p{font-size:17px;color:#35455b;margin:0;line-height:2}.life-next{margin-top:36px;padding:26px;border-radius:16px;background:#f2ead8;border:1px solid #e2d2aa}.life-next small{font-weight:800;color:#7a6030;letter-spacing:.14em}.life-next p{font-size:18px;margin:8px 0 0}.life-aside{position:sticky;top:100px}.life-check{border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--soft)}.life-check ul{padding-left:20px;margin-bottom:0}.life-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.life-related-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff;transition:.2s}.life-related-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(8,18,32,.08)}.life-related-card small{color:#8b7040;font-weight:800}.life-related-card h3{font-size:20px;line-height:1.45;margin:8px 0}.life-related-card p{font-size:14px;color:var(--muted)}.life-related-card b{font-size:12px;color:#8b7040}.life-topic-intro{max-width:860px}.life-topic-intro h2{font-size:34px;margin:0 0 10px}.life-topic-intro p{font-size:17px;color:#40516a;line-height:1.9}.life-topic-links{padding-top:10px}.life-topic-links h2{font-size:28px}
@media(max-width:980px){.life-article-layout{grid-template-columns:1fr}.life-aside{position:static}.life-related-grid{grid-template-columns:1fr 1fr}.life-step-nav{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.life-related-grid{grid-template-columns:1fr}.life-step-nav{grid-template-columns:1fr}.life-landing-hero{padding:58px 0 42px}.life-copy-section h2{font-size:24px}}
