/*
Theme Name: JCBO Blog Portal v9
Theme URI: https://www.kotani.me/
Author: JCBO
Description: JCBO不動産ブログ用フルワイド・ジャンル選択型ポータルテーマ。画像付き記事、タイトル一覧、スライダー、スマホ対応。
Version: 9.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: jcbo-blog-portal
*/
:root{--navy:#061b2d;--navy2:#0b3150;--blue:#087dbb;--sky:#51c9ed;--ink:#142235;--muted:#68788a;--line:#e1e8ef;--bg:#f4f7fa;--white:#fff;--radius:20px;--shadow:0 18px 50px rgba(9,38,65,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.72;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.screen-reader-text{position:absolute;left:-9999px}.jcbo-wrap{width:100%;max-width:none;margin:0 auto;padding-left:clamp(18px,2.2vw,42px);padding-right:clamp(18px,2.2vw,42px)}
.jcbo-network{background:linear-gradient(90deg,#041525,#0b3555);position:relative;z-index:100}.jcbo-network-scroll{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.jcbo-network-scroll::-webkit-scrollbar{display:none}.jcbo-network-item{flex:1 0 128px;min-height:80px;color:#fff;border-right:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 10px;transition:.25s;scroll-snap-align:start}.jcbo-network-item:hover,.jcbo-network-item.is-current{background:linear-gradient(145deg,#0878b4,#44bee8);box-shadow:inset 0 -3px #ffd86c}.jcbo-network-icon{font-size:22px}.jcbo-network-label{font-weight:900;font-size:12px;white-space:nowrap}.jcbo-network-en{font-size:9px;letter-spacing:.08em;opacity:.78}
.jcbo-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(6,27,45,.08)}.jcbo-header-in{height:70px;display:flex;align-items:center;gap:18px}.jcbo-brand{display:flex;align-items:center;gap:11px;margin-right:auto}.jcbo-logo{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:950;background:linear-gradient(145deg,#06223a,#1487c2);box-shadow:0 8px 24px rgba(4,65,105,.2)}.jcbo-brand-title{font-size:16px;font-weight:950}.jcbo-brand-sub{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted)}.jcbo-lang{display:flex;gap:7px}.jcbo-lang a{padding:7px 10px;border-radius:999px;background:#eef4f8;font-weight:900;font-size:11px}.jcbo-lang a:hover{background:var(--navy);color:#fff}.jcbo-write{display:inline-flex;align-items:center;gap:7px;padding:11px 16px;border-radius:999px;background:linear-gradient(145deg,#087dbb,#056391);color:#fff;font-weight:900;font-size:12px;box-shadow:0 9px 25px rgba(8,125,187,.22)}
.jcbo-hero{position:relative;min-height:520px;background:var(--navy);overflow:hidden;color:#fff}.jcbo-slide{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .8s,transform 6s}.jcbo-slide.is-active{opacity:1;transform:scale(1)}.jcbo-slide img{width:100%;height:100%;object-fit:cover}.jcbo-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,15,27,.93),rgba(2,17,31,.62) 52%,rgba(2,17,31,.14)),linear-gradient(0deg,rgba(2,14,25,.5),transparent 65%)}.jcbo-hero-content{position:relative;z-index:3;min-height:520px;display:flex;align-items:center}.jcbo-hero-copy{max-width:790px;padding:62px 0}.jcbo-kicker{font-size:12px;font-weight:950;letter-spacing:.18em;color:#62d1f2}.jcbo-hero h1{font-size:clamp(39px,5.4vw,74px);line-height:1.05;margin:12px 0 18px;letter-spacing:-.04em}.jcbo-hero p{font-size:clamp(15px,1.5vw,20px);color:#dceaf3;max-width:720px}.jcbo-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.jcbo-btn{display:inline-flex;padding:12px 21px;border-radius:10px;background:#fff;color:var(--navy);font-weight:900}.jcbo-btn.alt{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.45);color:#fff}.jcbo-slider-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(3,20,35,.42);color:#fff;font-size:24px;cursor:pointer}.jcbo-slider-prev{left:18px}.jcbo-slider-next{right:18px}.jcbo-slider-dots{position:absolute;z-index:5;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.jcbo-dot{width:34px;height:4px;border:0;border-radius:9px;background:rgba(255,255,255,.4);cursor:pointer}.jcbo-dot.is-active{background:#fff}
.jcbo-section{padding:64px 0}.jcbo-section.alt{background:var(--bg)}.jcbo-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.jcbo-heading h2{font-size:clamp(27px,3.2vw,42px);line-height:1.15;margin:0}.jcbo-heading small{display:block;color:var(--blue);font-weight:950;letter-spacing:.15em;margin-bottom:6px}.jcbo-heading p{margin:9px 0 0;color:var(--muted)}.jcbo-viewall{font-weight:900;color:var(--blue);white-space:nowrap}
.jcbo-feature-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.jcbo-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 9px 32px rgba(9,38,65,.07);transition:.28s}.jcbo-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.jcbo-thumb{aspect-ratio:16/10;overflow:hidden;background:#dce6ec;position:relative}.jcbo-thumb img{width:100%;height:100%;object-fit:cover;transition:.55s}.jcbo-card:hover .jcbo-thumb img{transform:scale(1.055)}.jcbo-card-body{padding:16px}.jcbo-meta{display:flex;gap:9px;align-items:center;font-size:10px;color:var(--muted);margin-bottom:7px}.jcbo-cat{padding:3px 8px;border-radius:999px;background:#e7f5fc;color:#0678b0;font-weight:900}.jcbo-card h3{font-size:16px;line-height:1.42;margin:0 0 8px}.jcbo-excerpt{font-size:12px;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.jcbo-compact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:18px}.jcbo-mini{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:10px;transition:.2s}.jcbo-mini:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(9,38,65,.09)}.jcbo-mini-thumb{width:92px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#dfe7ec}.jcbo-mini-thumb img{width:100%;height:100%;object-fit:cover}.jcbo-mini h4{font-size:13px;line-height:1.4;margin:0 0 5px}.jcbo-mini time{font-size:10px;color:var(--muted)}
.jcbo-title-list{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 20px;columns:3;column-gap:40px}.jcbo-title-link{display:flex;gap:9px;align-items:baseline;padding:9px 0;border-bottom:1px dotted #d8e1e8;break-inside:avoid;font-size:13px}.jcbo-title-link:before{content:"›";font-weight:950;color:var(--blue)}.jcbo-title-link time{margin-left:auto;font-size:10px;color:var(--muted);white-space:nowrap}.jcbo-title-link:hover{color:var(--blue)}
.jcbo-genre-tabs{display:flex;gap:9px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}.jcbo-genre-tabs::-webkit-scrollbar{display:none}.jcbo-genre-tabs a{flex:0 0 auto;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:900}.jcbo-genre-tabs a:hover{background:var(--navy);color:#fff}
.jcbo-footer{background:#051725;color:#dce7ee;padding:54px 0 23px}.jcbo-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}.jcbo-footer-box{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);border-radius:18px;padding:22px}.jcbo-footer h3{color:#fff;margin-top:0}.jcbo-footer a{color:#dce7ee}.jcbo-footer-links a{display:block;margin:7px 0}.jcbo-copy{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;font-size:12px;color:#9db0be}.jcbo-content{padding:58px 0}.jcbo-content-narrow{max-width:900px;margin:auto}.jcbo-entry{font-size:17px}.jcbo-entry img{border-radius:18px}.jcbo-archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.nav-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.page-numbers{padding:8px 13px;border:1px solid var(--line);border-radius:8px}.page-numbers.current{background:var(--navy);color:#fff}
@media(max-width:1500px){.jcbo-feature-grid{grid-template-columns:repeat(4,1fr)}.jcbo-compact-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.jcbo-feature-grid{grid-template-columns:repeat(3,1fr)}.jcbo-compact-grid{grid-template-columns:repeat(2,1fr)}.jcbo-title-list{columns:2}.jcbo-archive-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.jcbo-network-item{flex:0 0 112px;min-height:69px}.jcbo-header-in{height:62px}.jcbo-brand-title{font-size:13px}.jcbo-brand-sub{display:none}.jcbo-lang{display:none}.jcbo-write{padding:9px 12px}.jcbo-hero,.jcbo-hero-content{min-height:500px}.jcbo-hero h1{font-size:42px}.jcbo-heading{display:block}.jcbo-viewall{display:inline-block;margin-top:12px}.jcbo-feature-grid{display:grid;grid-auto-flow:column;grid-auto-columns:82vw;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.jcbo-feature-grid .jcbo-card{scroll-snap-align:start}.jcbo-compact-grid{grid-template-columns:1fr}.jcbo-title-list{columns:1;padding:8px 14px}.jcbo-footer-grid{grid-template-columns:1fr}.jcbo-archive-grid{grid-template-columns:1fr}.jcbo-slider-arrow{width:39px;height:39px}.jcbo-slider-prev{left:8px}.jcbo-slider-next{right:8px}}
/* v8 stability/full-width additions */
.jcbo-wide{width:100%;padding:0 22px;box-sizing:border-box}.jcbo-section{padding:44px 0}.jcbo-section.alt{background:#f3f7fa}.jcbo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.jcbo-grid .jcbo-card>a{display:block;height:100%;color:inherit;text-decoration:none}.jcbo-grid .jcbo-card img{width:100%;height:190px;object-fit:cover;display:block}.jcbo-grid .jcbo-card-body{padding:16px}.jcbo-grid .jcbo-card h3{font-size:18px;line-height:1.45;margin:7px 0}.jcbo-grid .jcbo-card p{font-size:14px;line-height:1.7;color:#536577;margin:0}.jcbo-grid .jcbo-card time{font-size:12px;color:#728497}@media(max-width:1450px){.jcbo-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:980px){.jcbo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.jcbo-wide{padding:0 12px}.jcbo-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.jcbo-grid .jcbo-card{flex:0 0 84%;scroll-snap-align:start}}
