:root{--ink:#231815;--orange:#DD6A08;--deep:#B65305;--ivory:#FFF9F4;--cream:#FCEBDD;--line:#E8D6C8;--muted:#6B5D55;--max:1320px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;background:#FFFFFF;color:var(--ink);font-family:'Noto Sans JP',system-ui,sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:var(--deep)}a:focus-visible,button:focus-visible{outline:3px solid #F28A2E;outline-offset:4px}button{font:inherit}img{max-width:100%}
.blog-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;padding:10px clamp(18px,4vw,54px);background:rgba(255,255,255,.94);border-bottom:1px solid #F0E4DB;backdrop-filter:blur(12px)}
.blog-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:900}.blog-brand img{width:92px;height:auto}.blog-brand span{padding-left:10px;border-left:1px solid var(--line);font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.15em}
.blog-header__links{display:flex;align-items:center;gap:20px}.blog-header__links a{color:#493E38;text-decoration:none;font-size:12px;font-weight:800}.blog-header__links .blog-cta{padding:8px 15px;border-radius:999px;background:var(--ink);color:#FFFFFF}
.blog-hero{position:relative;overflow:hidden;padding:clamp(64px,9vw,122px) clamp(20px,5vw,64px);background:radial-gradient(circle at 78% 26%,rgba(221,106,8,.15),transparent 29%),linear-gradient(145deg,#FFF9F4,#FFFFFF 70%)}.blog-hero::after{content:"INSIGHTS";position:absolute;right:-.02em;bottom:-.38em;color:rgba(221,106,8,.045);font-family:Montserrat,sans-serif;font-size:clamp(130px,21vw,300px);font-weight:700;line-height:1;letter-spacing:-.07em;pointer-events:none}
.blog-hero__inner,.featured__inner,.blog-main{position:relative;z-index:1;width:min(var(--max),100%);margin:0 auto}.eyebrow{font-family:Montserrat,sans-serif;color:var(--deep);font-size:10.5px;font-weight:700;letter-spacing:.22em}.blog-hero h1{margin:7px 0 0;font-family:Montserrat,sans-serif;font-size:clamp(58px,10vw,124px);line-height:1;letter-spacing:-.065em}.blog-hero__lead{margin:22px 0 0!important;color:var(--ink)!important;font-size:clamp(22px,3vw,38px)!important;font-weight:900}.blog-hero p{max-width:760px;margin:12px 0 0;color:var(--muted);font-size:clamp(13px,1.4vw,16px)}
.featured{padding:clamp(46px,6vw,80px) 20px;background:#231815;color:#FFFFFF}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-heading h2{margin:7px 0 0;font-size:clamp(24px,3vw,38px);line-height:1.4}.featured .eyebrow{color:#F4B36F}.featured-controls{display:flex;gap:8px}.featured-controls button{min-width:68px;height:36px;border:1px solid #6B4A3F;border-radius:999px;background:transparent;color:#FFFFFF;font-family:Montserrat,sans-serif;font-size:9px;font-weight:700;letter-spacing:.1em;cursor:pointer}.featured-controls button:hover{background:#4A3028}
.featured-viewport{overflow:hidden;margin-top:24px}.featured-track{display:flex;gap:20px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.featured-track::-webkit-scrollbar{display:none}.featured-card{flex:0 0 min(620px,82vw);overflow:hidden;border:1px solid #5C4036;border-radius:22px;background:#34231E;scroll-snap-align:start}.featured-card>a{display:grid;grid-template-columns:minmax(190px,.86fr) minmax(0,1.14fr);height:100%;color:#FFFFFF;text-decoration:none}.featured-card img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover}.featured-card__body{padding:clamp(22px,3vw,34px)}.featured-card h3{margin:10px 0 0;font-size:clamp(18px,2.2vw,27px);line-height:1.55}.featured-card p{margin:10px 0 0;color:#DCCBC4;font-size:12px}.article-card__meta{font-family:Montserrat,sans-serif;color:var(--deep);font-size:9.5px;font-weight:700;letter-spacing:.13em}.featured-card .article-card__meta{color:#F4B36F}
.blog-main{padding:clamp(52px,7vw,92px) 20px}.blog-main__layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:clamp(38px,5vw,76px);align-items:start}.section-heading--list{border-bottom:2px solid var(--ink);padding-bottom:18px}.section-heading--list p{margin:0;color:#8A7A71;font-family:Montserrat,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.13em}
.filter-row{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 30px}.filter-row button{min-height:38px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:#FFFFFF;color:#65564E;font-size:11px;font-weight:800;cursor:pointer}.filter-row button.is-active{border-color:var(--ink);background:var(--ink);color:#FFFFFF}
.article-list{display:grid}.article-row{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr);gap:clamp(22px,3vw,38px);padding:28px 0;border-bottom:1px solid var(--line)}.article-row[hidden]{display:none}.article-row:first-child{padding-top:0}.article-row__image{overflow:hidden;border-radius:16px}.article-row__image img{display:block;width:100%;height:100%;min-height:205px;object-fit:cover;transition:transform .45s ease}.article-row:hover .article-row__image img{transform:scale(1.025)}.article-row h3{margin:8px 0 0;font-size:clamp(18px,2vw,25px);line-height:1.55}.article-row h3 a{color:var(--ink);text-decoration:none}.article-row p{margin:10px 0 0;color:var(--muted);font-size:12.5px}.read-more{display:inline-flex;margin-top:15px;text-decoration:none;font-size:11.5px;font-weight:900}.read-more::after{content:"";width:24px;height:1px;margin:1em 0 0 8px;background:currentColor}
.blog-sidebar{position:sticky;top:96px;display:grid;gap:20px}.sidebar-block{padding:23px;border:1px solid var(--line);border-radius:18px;background:#FFFFFF}.sidebar-block h2{margin:6px 0 15px;font-size:18px}.sidebar-categories{display:grid}.sidebar-categories button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border:0;border-bottom:1px solid #F0E4DB;background:transparent;color:#4A403B;text-align:left;font-size:12px;font-weight:700;cursor:pointer}.sidebar-categories button:last-child{border-bottom:0}.sidebar-categories button.is-active,.sidebar-categories button:hover{color:var(--deep)}.sidebar-categories b{font-family:Montserrat,sans-serif;font-size:9px;color:#B9A399}.ranking{margin:0;padding:0;list-style:none}.ranking li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid #F0E4DB}.ranking li:last-child{border:0}.ranking span{font-family:Montserrat,sans-serif;color:#D7B49A;font-size:16px;font-weight:700}.ranking a{color:#493E38;text-decoration:none;font-size:11.5px;font-weight:800;line-height:1.6}.ranking a:hover{color:var(--deep)}
.sidebar-cta{padding:25px;border-radius:20px;background:linear-gradient(145deg,#231815,#513126);color:#FFFFFF}.sidebar-cta>span{font-family:Montserrat,sans-serif;color:#F4B36F;font-size:9px;font-weight:700;letter-spacing:.16em}.sidebar-cta h2{margin:8px 0 0;font-size:19px;line-height:1.55}.sidebar-cta a{display:flex;justify-content:center;margin-top:18px;padding:11px 15px;border-radius:999px;background:#DD6A08;color:#FFFFFF;text-decoration:none;font-size:11.5px;font-weight:900}.sidebar-cta .sidebar-cta__sub{margin-top:8px;border:1px solid #76584D;background:transparent;color:#F2E2DB}
.article-shell{width:min(1160px,100%);margin:0 auto;padding:28px 20px 84px}.breadcrumb{font-size:11px;color:#8A7A71}.breadcrumb a{color:#8A7A71;text-decoration:none}.article-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:clamp(28px,5vw,70px);align-items:center;padding:clamp(42px,7vw,80px) 0;border-bottom:1px solid var(--line)}.article-hero h1{margin:13px 0 0;padding-bottom:18px;border-bottom:4px solid var(--orange);font-size:clamp(31px,5vw,56px);line-height:1.35;letter-spacing:-.035em}.article-hero p{margin:17px 0 0;color:var(--muted);font-size:14px}.article-hero img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;box-shadow:0 24px 54px rgba(35,24,21,.12)}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(34px,5vw,70px);align-items:start;padding-top:46px}.article-body{font-size:15px}.article-body h2{margin:2.8em 0 .7em;padding-top:.35em;font-size:clamp(24px,3vw,34px);line-height:1.5}.article-body h3{margin:2.1em 0 .55em;font-size:20px;line-height:1.6}.article-body p{margin:1em 0;color:#413834}.article-body ul{padding-left:1.25em}.article-body li+li{margin-top:.55em}.article-body .note{margin:30px 0;padding:20px 22px;border-left:4px solid var(--orange);border-radius:0 14px 14px 0;background:var(--ivory);font-size:13px}.article-body .source-list{margin:28px 0;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:#FFFFFF;font-size:12px}.article-body .source-list h2{margin:0 0 8px;padding:0;font-size:16px}.article-body .source-list li+li{margin-top:7px}.toc{position:sticky;top:92px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--ivory);font-size:11px}.toc strong{display:block;margin-bottom:8px}.toc a{display:block;padding:6px 0;color:#6B5D55;text-decoration:none}.article-cta{margin-top:52px;padding:clamp(28px,5vw,48px);border-radius:24px;background:linear-gradient(135deg,var(--ink),#573021);color:#FFFFFF}.article-cta h2{margin:0;font-size:clamp(23px,3vw,34px)}.article-cta p{color:#EADDD6}.article-cta a{display:inline-flex;margin-top:8px;padding:12px 20px;border-radius:999px;background:var(--orange);color:#FFFFFF;text-decoration:none;font-size:13px;font-weight:900}
.blog-footer{padding:30px 20px 100px;border-top:1px solid #F0E4DB;color:#75665E;text-align:center;font-size:11px}.blog-floating-cta{position:fixed;right:22px;bottom:20px;z-index:30;animation:floatCta 3.2s ease-in-out infinite}.blog-floating-cta a{display:flex;align-items:center;gap:12px;padding:11px 18px;border:1px solid #4D3028;border-radius:999px;background:#231815;color:#FFFFFF;text-decoration:none;box-shadow:0 14px 32px rgba(35,24,21,.23)}.blog-floating-cta strong{font-size:12px}.blog-floating-cta span{color:#EAD7CC;font-size:9.5px}@keyframes floatCta{50%{transform:translateY(-6px)}}
@media(max-width:940px){.blog-main__layout{grid-template-columns:1fr}.blog-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-cta{grid-column:1/-1}.featured-card>a{grid-template-columns:1fr}.featured-card img{min-height:230px;aspect-ratio:16/9}.article-layout{grid-template-columns:1fr}.toc{position:static;order:-1}}
@media(max-width:700px){.blog-header__links a:not(.blog-cta){display:none}.blog-brand span{display:none}.article-row{grid-template-columns:1fr}.article-row__image img{min-height:0;aspect-ratio:16/9}.blog-sidebar{grid-template-columns:1fr}.sidebar-cta{grid-column:auto}.featured-card{flex-basis:88vw}.featured-card>a{display:block}.featured-card img{min-height:0}.blog-floating-cta{left:14px;right:14px;bottom:12px}.blog-floating-cta a{justify-content:space-between}.article-hero{grid-template-columns:1fr}.article-hero img{order:-1}}
@media(max-width:520px){.blog-header{min-height:60px}.blog-brand img{width:82px}.blog-hero{padding-top:54px}.blog-hero h1{font-size:58px}.article-shell{padding-top:20px}.article-body{font-size:14px}.featured-controls button{min-width:58px}.section-heading{align-items:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* 記事一覧は文章と操作を十分な大きさで見せる。 */
.blog-hero__lead{text-wrap:balance;line-height:1.6}.blog-header__links .blog-cta,.read-more,.sidebar-cta a{font-size:14px}.article-row p,.featured-card p{font-size:15px}.blog-floating-cta strong{font-size:16px}.blog-floating-cta span{font-size:13px}
@media(max-width:520px){.blog-hero__lead{font-size:21px!important}.blog-floating-cta a{justify-content:center}.blog-floating-cta span{display:none}.featured-card{flex:0 0 88vw}.featured-card__body{padding:24px}.featured-card h3{font-size:22px}}
