/*!
 * Koedoジャーナル — TOP・記事ページ デザイン (2026-10 最終モック準拠)
 * 読み込み先: フロントページ / 投稿詳細のみ (body.kj)。他ページ・管理画面には読み込まれません。
 * 1) モック style.css をセレクタ .kj 配下へスコープした部分
 * 2) 末尾: SWELL との干渉対策・WordPress 実データ向けの補正
 */
body.kj{--paper:#faf8f3;--ink:#342f2a;--accent:#485363;--muted:#7a746c;--line:#ddd6cb;--soft:#f1ece4;--round:14px;--heading:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--sans:'M PLUS Rounded 1c','Hiragino Maru Gothic ProN','Yu Gothic',sans-serif}.kj *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body.kj{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}.kj a{color:inherit;text-decoration:none}.kj a,.kj button{-webkit-tap-highlight-color:transparent}.kj button{font:inherit;cursor:pointer}.kj button,.kj a{touch-action:manipulation}.kj button:focus-visible,.kj a:focus-visible,.kj summary:focus-visible{outline:3px solid #6c7b91;outline-offset:6px}.kj img{max-width:100%;display:block}.kj svg{display:block;width:24px;height:24px;flex:none}.kj h1,.kj h2,.kj h3,.kj p{margin:0}.kj h1,.kj h2,.kj h3{font-family:var(--heading);font-weight:450;overflow-wrap:anywhere}.kj button{color:inherit}.kj [hidden]{display:none!important}.kj .skip{position:absolute;top:-90px;left:20px;background:white;padding:10px;z-index:10}.kj .skip:focus{top:10px}.kj .wrap{max-width:1120px;margin:0 auto;width:calc(100% - 112px)}.kj .site-header{border-bottom:1px solid var(--line)}.kj .header-inner{max-width:1280px;width:calc(100% - 112px);margin:auto;min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px}.kj .brand{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;line-height:1.3;color:var(--ink);font-weight:500}.kj .brand-en{font-size:35px;letter-spacing:-1.7px}.kj .brand-ja{font-size:20px;letter-spacing:-.03em}.kj .header-inner nav{display:flex;gap:38px;font-size:14px}.kj .header-inner nav a{position:relative;padding:15px 0}.kj .header-inner nav a:after{content:'';position:absolute;bottom:9px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transition:transform .2s}.kj .header-inner nav a:hover:after{transform:scaleX(1)}.kj .home-intro{padding-top:66px}.kj .intro-title{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:44px}.kj .intro-title h1{font-size:38px;font-weight:400;line-height:1.65;letter-spacing:.025em;color:var(--ink)}.kj .intro-title p{font-size:14px;line-height:2.15;max-width:470px}.kj .mobile-only{display:none}.kj .featured{display:grid;grid-template-columns:1.12fr 1fr;background:var(--soft);border-radius:var(--round);overflow:hidden;align-items:center}.kj .featured-photo{height:100%;display:flex;align-items:center;background:#e9e2d8}.kj .featured-photo img{width:100%;height:auto}.kj .featured-copy{padding:35px 38px}.kj .small-label{display:block;font-size:12px;color:var(--accent);letter-spacing:.08em;font-weight:500}.kj .featured-copy>.small-label{margin-bottom:21px;display:flex;align-items:center;gap:9px}.kj .featured-copy>.small-label:before{display:none}.kj .meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;line-height:1.5;color:var(--muted)}.kj .meta .tag{padding:3px 10px;border:1px solid #d2c8ba;border-radius:7px;color:var(--accent)}.kj .meta time{margin-left:3px;font-size:11px;letter-spacing:.03em}.kj .featured h2{font-size:24px;line-height:1.75;margin:15px 0;letter-spacing:.02em}.kj .excerpt{font-size:13px;line-height:1.95;color:#686158;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kj .featured .excerpt{-webkit-line-clamp:2}.kj .read-link{display:inline-flex;align-items:center;gap:19px;font-size:12px;color:var(--accent);font-weight:500;margin-top:24px}.kj .read-link svg{width:21px;height:21px;transition:transform .2s}.kj .read-link:hover svg{transform:translateX(5px)}.kj .featured h2 a:hover,.kj .story-card h3 a:hover{color:#69758a}.kj .stories{padding:76px 0 90px}.kj .section-heading{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #cfc5b7;padding-bottom:20px;margin-bottom:34px}.kj .section-heading h2{font-size:25px;letter-spacing:.08em}.kj .count{font-size:11px;color:var(--muted);letter-spacing:.1em}.kj .story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 38px}.kj .story-card{min-width:0;display:flex;flex-direction:column}.kj .story-image{height:288px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#eee8de;border-radius:8px}.kj .story-image img{width:100%;height:100%;object-fit:contain;transition:filter .25s}.kj .story-image:hover img{filter:brightness(1.04)}.kj .story-copy{padding:20px 5px 0;display:flex;flex-direction:column;flex:1}.kj .story-card h3{font-size:20px;line-height:1.85;margin:12px 0 9px;letter-spacing:.015em}.kj .story-card .read-link{margin-top:16px;align-self:flex-start}.kj .more-wrap{text-align:center;margin-top:48px}.kj .more-button{border:1px solid #bdb09e;background:transparent;border-radius:7px;display:inline-flex;align-items:center;gap:50px;justify-content:space-between;min-width:320px;padding:15px 25px;color:var(--accent);font-size:14px;transition:background .2s}.kj .more-button:hover{background:#eee7dc}.kj .shown-count{color:var(--muted);font-size:11px;margin-top:13px}.kj .about-section{background:#f0eae1;border-top:1px solid #e0d7ca;padding:65px 0}.kj .about-inner{width:calc(100% - 112px);max-width:1030px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.3fr;gap:90px}.kj .about-heading .small-label{margin-bottom:12px}.kj .about-heading h2{font-size:28px;letter-spacing:.03em}.kj .about-copy p{font-size:14px;line-height:2.15}.kj .about-copy p+p{margin-top:8px}.kj .site-footer{padding:48px 0 27px}.kj .footer-inner{max-width:1280px;width:calc(100% - 112px);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:28px}.kj .site-footer .brand-en{font-size:27px}.kj .site-footer .brand-ja{font-size:16px}.kj .footer-links{display:flex;gap:26px;font-size:11px}.kj .footer-links a:hover{text-decoration:underline}.kj .footer-inner small{width:100%;font-size:10px;color:var(--muted);margin-top:10px}.kj .back-top{position:fixed;right:24px;bottom:24px;width:44px;height:44px;border:1px solid #d6ccbe;background:#faf8f3ed;border-radius:50%;font-size:21px;z-index:5;box-shadow:0 2px 12px #342f2a07}.kj .article-main{padding:25px 0 80px}.kj .breadcrumb{max-width:1080px;width:calc(100% - 112px);margin:auto;display:flex;gap:14px;font-size:11px;color:var(--muted)}.kj .article-header{max-width:850px;width:calc(100% - 112px);margin:48px auto 32px}.kj .article-header .meta{font-size:12px}.kj .article-header h1{font-size:35px;line-height:1.75;letter-spacing:.025em;margin:21px 0 22px;color:var(--ink)}.kj .byline{display:flex;gap:17px;align-items:center;font-size:11px;color:#766c60}.kj .byline span:first-child{color:var(--muted)}.kj .article-hero{max-width:1040px;width:calc(100% - 112px);margin:0 auto 48px;border-radius:14px;overflow:hidden;background:#f0ebe3}.kj .article-hero img{width:100%;height:auto;max-height:740px;object-fit:contain}.kj .reading-column{width:calc(100% - 112px);max-width:730px;margin:0 auto}.kj .toc{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 50px;padding:0 18px}.kj .toc summary{list-style:none;cursor:pointer;font-size:14px;padding:18px 0;display:flex;align-items:center;justify-content:space-between}.kj .toc summary::-webkit-details-marker{display:none}.kj .toc summary span{font-size:19px;font-weight:400;transition:transform .2s}.kj .toc[open] summary span{transform:rotate(45deg)}.kj .toc ol{margin:0 0 24px;padding-left:24px;font-size:13px;line-height:1.95}.kj .toc li+li{margin-top:10px}.kj .toc a:hover{text-decoration:underline}.kj .article-body{font-family:var(--sans);font-size:17px;line-height:1.95;overflow-wrap:anywhere}.kj .article-body p{margin:0 0 1.65em}.kj .article-body h2{font-family:var(--heading);font-size:26px;line-height:1.8;letter-spacing:.02em;margin:65px 0 28px;padding:0 0 21px;border-bottom:1px solid #cfc4b5;color:var(--ink);background:none}.kj .article-body>h2:first-child{margin-top:0}.kj .article-body h3{font-family:var(--heading);font-size:23px;line-height:1.8;margin:55px 0 24px;color:var(--ink)}.kj .article-body h4{font-family:var(--heading);font-weight:450;font-size:20px;margin:40px 0 20px}.kj .article-body figure{margin:32px 0!important;max-width:100%}.kj .article-body img{max-width:100%!important;width:100%!important;height:auto!important;border-radius:8px}.kj .article-body .wp-element-caption,.kj .article-body figcaption{font-size:11px!important;color:var(--muted);line-height:1.9;margin:9px 2px 0;text-align:left}.kj .article-body a{color:var(--accent);text-decoration:underline;text-decoration-color:#b3a99c;text-underline-offset:4px}.kj .article-body ul,.kj .article-body ol{padding-left:1.6em;margin:1.5em 0}.kj .article-body blockquote{margin:30px 0;padding:6px 0 6px 25px;border-left:2px solid #c3b6a3;color:#706657}.kj .article-body table{border-collapse:collapse;width:100%;font-size:15px}.kj .article-body td,.kj .article-body th{padding:15px;border:1px solid var(--line);text-align:left}.kj .article-body iframe{max-width:100%}.kj .article-body .wp-block-columns{display:flex;gap:24px}.kj .article-body .wp-block-column{flex:1;min-width:0}.kj .article-body .wp-block-gallery{display:flex;flex-wrap:wrap;gap:18px}.kj .article-body .wp-block-gallery figure{flex:1 1 40%}.kj .article-author{margin-top:56px;border-top:1px solid var(--line);padding:25px 0;display:flex;align-items:center;gap:30px}.kj .article-author strong{font-size:15px;font-weight:400}.kj .article-navigation{display:grid;grid-template-columns:1fr 1fr;gap:26px;border-top:1px solid var(--line);padding:28px 0 35px}.kj .article-navigation a{position:relative;padding-right:20px;display:block}.kj .article-navigation span{font-size:11px;color:var(--muted);display:block;margin-bottom:10px}.kj .article-navigation strong{font-size:14px;font-weight:400;line-height:1.85;display:block}.kj .article-navigation svg{width:19px;height:19px;margin-top:10px;color:var(--accent)}.kj .article-navigation a:hover strong{text-decoration:underline}.kj .back-stories{display:block;text-align:center;padding:16px;border:1px solid #c6baa8;border-radius:7px;color:var(--accent);font-size:13px;margin:10px auto 0;max-width:290px}@media(min-width:1500px){.kj .wrap{max-width:1180px}.kj .featured h2{font-size:26px}.kj .story-image{height:310px}.kj .intro-title h1{font-size:40px}}
@media(max-width:1000px){.kj .wrap,.kj .header-inner,.kj .footer-inner,.kj .about-inner{width:calc(100% - 64px)}.kj .intro-title{display:block}.kj .intro-title p{margin-top:22px;max-width:none}.kj .intro-title p br:not(.mobile-only){display:none}.kj .featured-copy{padding:25px}.kj .featured h2{font-size:20px}.kj .featured-copy>.small-label{margin-bottom:17px}.kj .featured .excerpt{display:none}.kj .story-image{height:230px}.kj .story-card h3{font-size:18px}.kj .about-inner{gap:45px}.kj .footer-links{gap:18px}.kj .article-header,.kj .article-hero,.kj .breadcrumb{width:calc(100% - 64px)}.kj .article-header h1{font-size:31px}.kj .reading-column{width:calc(100% - 90px)}}
@media(max-width:640px){body.kj{font-size:15px}.kj .wrap,.kj .header-inner,.kj .footer-inner,.kj .about-inner{width:calc(100% - 40px)}.kj .header-inner{min-height:79px;gap:12px}.kj .brand{gap:3px}.kj .brand-en{font-size:27px;letter-spacing:-1px}.kj .brand-ja{font-size:15px}.kj .header-inner nav{gap:16px;font-size:11px}.kj .header-inner nav a{padding:12px 0}.kj .header-inner nav a:last-child{max-width:47px;line-height:1.5}.kj .home-intro{padding-top:34px}.kj .intro-title{margin-bottom:28px}.kj .intro-title h1{font-size:27px;line-height:1.75;letter-spacing:.035em}.kj .intro-title p{font-size:12px;line-height:2.1;margin-top:18px}.kj .intro-title p br:not(.mobile-only){display:block}.kj .intro-title p .mobile-only{display:none}.kj .featured{display:flex;flex-direction:column;border-radius:8px}.kj .featured-photo{width:100%;height:auto}.kj .featured-photo img{width:100%;height:auto}.kj .featured-copy{width:100%;padding:24px 23px 25px}.kj .featured h2{font-size:20px;line-height:1.85;margin:13px 0}.kj .featured-copy>.small-label{margin-bottom:18px}.kj .featured .excerpt{display:-webkit-box;font-size:12px;-webkit-line-clamp:2}.kj .read-link{margin-top:18px}.kj .stories{padding:43px 0 54px}.kj .section-heading{padding-bottom:17px;margin-bottom:24px}.kj .section-heading h2{font-size:22px}.kj .count{font-size:10px}.kj .story-grid{grid-template-columns:1fr;gap:33px}.kj .story-image{height:auto;aspect-ratio:1.64;border-radius:9px}.kj .story-copy{padding:17px 2px 0}.kj .story-card h3{font-size:18px;line-height:1.9;margin:12px 0 8px}.kj .story-card .excerpt{font-size:12px}.kj .story-card .read-link{margin-top:12px}.kj .more-wrap{margin-top:34px}.kj .more-button{min-width:0;width:100%;font-size:13px;padding:14px 22px;gap:18px}.kj .about-section{padding:39px 0}.kj .about-inner{grid-template-columns:1fr;gap:20px}.kj .about-heading h2{font-size:25px}.kj .about-copy p{font-size:13px}.kj .about-copy .read-link{margin-top:20px}.kj .site-footer{padding:30px 0 24px}.kj .footer-inner{gap:24px}.kj .footer-links{font-size:10px;gap:17px;flex-wrap:wrap}.kj .footer-inner small{margin-top:0}.kj .back-top{right:16px;bottom:16px;width:40px;height:40px}.kj .article-main{padding:19px 0 52px}.kj .breadcrumb,.kj .article-header{width:calc(100% - 40px)}.kj .breadcrumb{font-size:10px}.kj .article-header{margin-top:30px;margin-bottom:25px}.kj .article-header h1{font-size:25px;line-height:1.85;margin:18px 0 19px;letter-spacing:.015em}.kj .article-header .meta{gap:7px}.kj .byline{font-size:10px;gap:13px}.kj .article-hero{width:calc(100% - 28px);border-radius:14px;margin-bottom:30px}.kj .article-hero img{max-height:520px}.kj .reading-column{width:calc(100% - 44px)}.kj .toc{padding:0 9px;margin-bottom:34px}.kj .toc summary{font-size:13px;padding:15px 0}.kj .toc ol{font-size:12px}.kj .article-body{font-size:16px;line-height:1.95}.kj .article-body h2{font-size:21px;line-height:1.85;padding-bottom:20px;margin:45px 0 25px}.kj .article-body h3{font-size:20px;line-height:1.85;margin:40px 0 22px}.kj .article-body p{margin-bottom:1.5em}.kj .article-body figure{margin:25px 0!important}.kj .article-body img{border-radius:8px}.kj .article-body .wp-element-caption,.kj .article-body figcaption{font-size:10px!important}.kj .article-body .wp-block-columns{flex-direction:column}.kj .article-body .wp-block-gallery figure{flex-basis:100%}.kj .article-author{margin-top:40px;gap:20px}.kj .article-author .small-label{font-size:11px}.kj .article-navigation{gap:20px}.kj .article-navigation strong{font-size:12px}.kj .article-navigation span{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kj *,.kj *:before,.kj *:after{transition:none!important}}
/* Logo artwork includes transparent vertical safe space; object-fit keeps a compact wordmark. */
.kj .brand{align-items:center;gap:0;line-height:1;flex-shrink:0}.kj .brand-logo{display:block;width:320px;height:46px;object-fit:cover;object-position:50% 48%;max-width:none}.kj .site-footer .brand-logo{width:268px;height:40px}@media(max-width:640px){.kj .header-inner .brand-logo{width:clamp(145px,48vw,210px);height:32px}.kj .site-footer .brand-logo{width:240px;height:36px}.kj .header-inner nav{flex-shrink:0}}


/* ===== 2) SWELL 干渉対策・実データ向け補正 ===================================== */
/* SWELL 自動目次・目次ボタン・固定UI はこのテンプレートでは使わない（独自目次と重複させない） */
body.kj .p-toc,body.kj .p-indexModal,body.kj .p-fixBtnWrap,body.kj #fix_bottom_menu,body.kj .l-fixHeader,body.kj .p-spMenu,body.kj .p-searchModal,body.kj #pagetop{display:none!important}

body.kj .kj-page{min-height:60vh}
/* 本文見出し: 色帯・装飾をリセットし、文字と細い罫線のみ */
body.kj .article-body h2,body.kj .article-body h3,body.kj .article-body h4{background:none!important;box-shadow:none!important;border-left:none;border-right:none;border-top:none;border-radius:0;color:var(--ink);padding-left:0;padding-right:0;position:static;font-weight:450;text-align:left}
body.kj .article-body h2::before,body.kj .article-body h2::after,body.kj .article-body h3::before,body.kj .article-body h3::after,body.kj .article-body h4::before,body.kj .article-body h4::after{content:none!important;display:none!important}
body.kj .article-body h2{border-bottom:1px solid #cfc4b5;padding-top:0}
body.kj .article-body h3,body.kj .article-body h4{border-bottom:none;padding:0}
body.kj .article-body>*:first-child{margin-top:0}
/* 画像: 縦横比維持・回り込み解除（スマホで横スクロールを出さない） */
body.kj .article-body .wp-block-image{margin:32px 0;max-width:100%}
body.kj .article-body .wp-block-image>figure{margin:0!important}
body.kj .article-body .alignleft,body.kj .article-body .alignright{float:none!important;margin-left:0!important;margin-right:0!important;max-width:100%!important;display:block}
body.kj .article-body .aligncenter{float:none!important;margin-left:auto!important;margin-right:auto!important;max-width:100%!important}
body.kj .article-body figure.aligncenter{display:block}
body.kj .article-body figure img{object-fit:contain}
body.kj .article-body ol.wp-block-list{margin:1.5em 0 1em}
body.kj .article-body li{margin:0}
body.kj .article-body strong{font-weight:700}
/* SWELL の枠線ブロック（店舗情報など）: 色の強い枠をやめ、細い罫線と薄い背景面で落ち着かせる */
body.kj .article-body .has-border{overflow-wrap:anywhere;border:1px solid var(--line)!important;border-radius:8px;background:var(--soft);box-shadow:none;padding:22px 24px;font-size:15px;line-height:1.95;color:var(--ink)}
body.kj .article-body .has-border::before,body.kj .article-body .has-border::after{content:none!important}
body.kj .article-body pre,body.kj .article-body .wp-block-table,body.kj .article-body .wp-block-embed{max-width:100%;overflow-x:auto}
body.kj .article-body iframe,body.kj .article-body video{max-width:100%}
body.kj .article-body table{display:table}
@media(max-width:640px){body.kj .article-body .wp-block-table table{min-width:0}body.kj .article-body .has-border{font-size:14px}}
/* 見出しアンカーがヘッダーに隠れないように */
body.kj .article-body [id]{scroll-margin-top:24px}
/* アイキャッチ: 元画像より大きく引き伸ばさない */
body.kj .article-hero img{margin:0 auto}
body.kj .article-hero.is-small{background:var(--soft)}
body.kj .article-hero.is-small img{width:auto;max-width:100%}
/* アイキャッチ未設定時の受け皿 */
body.kj .kj-noimage{width:100%;height:100%;min-height:200px;background:#eee8de;display:flex;align-items:center;justify-content:center}
body.kj .kj-noimage img{width:72px!important;height:72px!important;opacity:.35;object-fit:contain}
/* ロゴ: <img srcset> 用 */
body.kj .brand-logo{flex:none}
/* もっと見る: 読み込み中 */
body.kj .more-button[aria-busy="true"]{opacity:.6;cursor:progress}
body.kj .more-fallback{display:inline-block;margin-top:10px;font-size:13px;color:var(--accent);text-decoration:underline}
/* 前後記事: 次の記事は右寄せ */
body.kj .article-navigation .is-next{text-align:right;padding-right:0;padding-left:20px;grid-column:2}
body.kj .article-navigation .is-next svg{margin-left:auto}
body.kj .article-author .small-label{color:var(--muted)}
/* 管理バー表示時 */
body.kj.admin-bar .back-top{bottom:24px}
/* 前後記事: 長いタイトルでもはみ出さない */
body.kj .article-navigation{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body.kj .article-navigation strong,body.kj .breadcrumb,body.kj .byline,body.kj .toc a{overflow-wrap:anywhere;min-width:0}
