/* =========================================================
   KUJIRIDE ブロックデザイン（固定ページをブロックエディターで組むための部品）
   - 標準ブロック（グループ・見出し・段落・画像・カラム）に kj-◯◯ のクラスを付けて使う
   - 公開ページと編集画面の両方で読み込む（編集中もほぼ同じ見た目になる）
   - 部品の一覧と使い方：テーマの patterns/ （ブロック追加 →「パターン」→ KUJIRIDE）
   ========================================================= */

/* 編集画面：WordPress が古いテーマ向けに入れる「全ブロック上下28px・幅840px」（classic.css）を、ブロックで組んだページでは公開ページと同じ初期値に戻す。
   kj-◯◯ の指定より弱い強さにしてあるので、部品ごとの余白はそのまま効く */
:where(.is-root-container:has(.kj-sec,.kj-intro)) .wp-block{margin-top:0;margin-bottom:revert;max-width:none}

/* 古いテーマ向けに WordPress が足す内側の箱を、レイアウト上は無いものとして扱う */
[class*="kj-"]>.wp-block-group__inner-container{display:contents}

.kj-page{--kj-wrap:min(1180px,calc(100% - 64px))}
:is(.kj-page,.kj-page>.block-editor-block-list__layout)>*,.kj-page .kj-sec{margin-top:0;margin-bottom:0}
.kj-sec{width:var(--kj-wrap,min(1180px,calc(100% - 64px)));margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
.kj-full{width:100%;max-width:none}
:where(.kj-page) :where(p,h1,h2,h3){margin-top:0}
.kj-page a{color:inherit;text-decoration:none}
.kj-page .wp-block-image{margin:0}
.kj-page .wp-block-image img{display:block;max-width:100%;height:auto}

/* ---------- 文字の部品 ---------- */
.kj-kicker{margin:0;font:800 12px var(--font-en);letter-spacing:.2em}
.kj-display{margin:42px 0;font:800 clamp(78px,13vw,174px)/.9 var(--font-en);letter-spacing:-.06em}
.kj-title{margin:20px 0 34px;font-size:clamp(42px,6vw,78px);font-weight:800;line-height:1.15;letter-spacing:-.04em}
.kj-title-en{margin:14px 0 55px;font:800 clamp(46px,6vw,80px)/1 var(--font-en);letter-spacing:-.03em}
.kj-lead{margin:0;font-size:18px;line-height:2;color:#555}
.kj-lead strong{color:var(--ink);font-weight:800}
.kj-text{font-size:15px;line-height:2.1;color:#555}
.kj-small{font-size:13px;line-height:1.9;color:#666}
.kj-link a,a.kj-link{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:13px;font-weight:800}
.kj-num{margin:0;font:12px var(--font-en);color:#777}

/* ---------- 補助 ---------- */
.kj-sub{margin:-10px 0 36px;font-size:clamp(26px,3.6vw,52px);font-weight:800;letter-spacing:.08em}
.kj-gray img{filter:grayscale(100%)}
.kj-intro-copy{position:relative;z-index:2}

/* ---------- ページ上部の大見出し ---------- */
.kj-hero{padding:clamp(56px,10vh,110px) 0;border-bottom:1px solid var(--ink)}
.kj-hero .kj-lead{max-width:680px}

/* ---------- 区切られたセクション ---------- */
.kj-block{padding-top:110px;padding-bottom:110px;border-bottom:1px solid var(--ink)}
.kj-block.is-plain{border-bottom:0}
.kj-head{display:grid;grid-template-columns:180px 1fr;gap:50px;align-items:start;margin-bottom:70px}
.kj-head .kj-title{margin:0}

/* ---------- 2つ並び（カラム） ---------- */
.kj-split{display:grid!important;grid-template-columns:1fr .8fr;gap:10%!important;align-items:center;margin-top:0!important;margin-bottom:0!important}
:is(.kj-split,.kj-split>.block-editor-block-list__layout)>.wp-block-column{min-width:0;flex:none!important;width:auto!important}
.kj-split.is-reverse{grid-template-columns:.9fr 1.1fr}
.kj-split .wp-block-image{text-align:center}
.kj-split .wp-block-image img{margin:0 auto;max-height:460px;width:auto}

/* ---------- 番号付きの行（ストーリー・Q&A・メニュー・注意書き） ---------- */
.kj-rows{border-top:1px solid var(--ink)}
.kj-row{position:relative;display:grid;align-items:center;column-gap:30px;padding:38px 0;border-bottom:1px solid var(--line)}
:is(.kj-row,.kj-row>.block-editor-block-list__layout)>*{margin:0!important;min-width:0}
.kj-row p{margin:0}
/* ストーリー：番号｜本文｜画像 */
.kj-rows.is-chapter .kj-row{grid-template-columns:90px 1fr 300px;column-gap:60px;padding:52px 0}
.kj-rows.is-chapter .kj-num{align-self:start;padding-top:10px}
.kj-rows.is-chapter h3{margin:0 0 22px!important;font-size:25px;line-height:1.5}
.kj-rows.is-chapter p{font-size:15px;line-height:2.05;color:#555;word-break:auto-phrase}
.kj-rows.is-chapter .wp-block-image img{width:100%;height:210px;object-fit:contain}
/* Q&A：番号｜質問｜答え */
.kj-rows.is-qa .kj-row{grid-template-columns:70px .8fr 1.2fr;align-items:start}
.kj-rows.is-qa h3,.kj-rows.is-qa p{font-size:14px;line-height:1.9}
.kj-rows.is-qa p:not(.kj-num){color:#555}
/* メニュー：番号｜大きい英字（リンク）｜説明 */
.kj-rows.is-menu .kj-row{grid-template-columns:110px 1fr auto;column-gap:24px;min-height:190px;padding:0;border-bottom-color:var(--ink);transition:.2s}
.kj-rows.is-menu .kj-row:hover{padding-left:18px;background:var(--soft,#f6f6f6)}
.kj-rows.is-menu h2,.kj-rows.is-menu h3{margin:0!important;font:800 clamp(44px,6vw,82px)/1.1 var(--font-en);letter-spacing:-.02em}
.kj-rows.is-menu h2 a::after,.kj-rows.is-menu h3 a::after{content:"";position:absolute;inset:0}
.kj-rows.is-menu :is(.kj-row,.kj-row>.block-editor-block-list__layout)>p:last-child{font-size:14px}
/* 注意書き：番号｜文 */
.kj-rows.is-notes .kj-row{grid-template-columns:42px 1fr;column-gap:12px;padding:20px 0;font-size:13px;line-height:1.7}
.kj-rows.is-notes .kj-num{font-size:10px}

/* ---------- カード並び ---------- */
.kj-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px!important;margin:0!important}
.kj-cards.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
:is(.kj-cards,.kj-cards>.block-editor-block-list__layout)>.wp-block-column{min-width:0;flex:none!important;width:auto!important;margin:0!important}
.kj-card{position:relative}
:is(.kj-card,.kj-card>.block-editor-block-list__layout)>*{margin-bottom:0}
.kj-card h3{margin:22px 0 0;font-size:clamp(22px,2.4vw,32px);line-height:1.4}
.kj-card p{margin:13px 0 0;font-size:13px;line-height:1.8;color:#666}
.kj-card .wp-block-image{aspect-ratio:1.55;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fafafa;border:1px solid #e2e2e2}
.kj-card .wp-block-image img{width:94%;height:94%;object-fit:contain;filter:grayscale(100%);transition:.35s}
.kj-card:hover .wp-block-image img{filter:none;transform:scale(1.015)}
.kj-card .kj-link a::after{content:"";position:absolute;inset:0}
/* 枠で区切るカード（活動・キャラクター） */
.kj-cards.is-boxed{gap:0!important;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.kj-cards.is-boxed .kj-card{padding:38px 34px 40px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.kj-cards.is-boxed .kj-card .wp-block-image{aspect-ratio:auto;height:280px;border:0;background:none;margin-top:12px}
.kj-cards.is-boxed .kj-card .wp-block-image img{width:100%;height:100%}
.kj-cards.is-boxed .kj-card h3{font-size:25px;margin-top:24px}
.kj-cards.is-boxed .kj-card p{font-size:14px;line-height:1.9;color:#555}
.kj-cards.is-boxed.is-open{border-left:0}
.kj-cards.is-boxed.is-open .kj-card:last-child{border-right:0}

/* ---------- 作品のグループ（WORKS） ---------- */
.kj-work{display:grid;grid-template-columns:72px minmax(260px,.9fr) minmax(320px,1.1fr);gap:26px 32px;padding-top:105px;padding-bottom:110px;border-bottom:1px solid var(--ink)}
:is(.kj-work,.kj-work>.block-editor-block-list__layout)>.kj-num{padding-top:10px}
.kj-work .kj-title{margin:18px 0 0;font-size:clamp(42px,5vw,70px);line-height:1.1}
:is(.kj-work,.kj-work>.block-editor-block-list__layout)>.kj-text{max-width:520px;margin:30px 0 0}
:is(.kj-work,.kj-work>.block-editor-block-list__layout)>.kj-cards{grid-column:2/4}
.kj-work-head{margin:0}

/* ---------- 下のひとこと＋リンク ---------- */
.kj-cta{display:flex!important;align-items:center;justify-content:space-between;gap:30px;padding-top:70px;padding-bottom:70px;border-bottom:1px solid var(--ink)}
:is(.kj-cta,.kj-cta>.block-editor-block-list__layout)>*{margin:0!important}
:is(.kj-cta,.kj-cta>.block-editor-block-list__layout)>p:first-child{font-size:clamp(27px,4vw,48px);font-weight:800}

/* ---------- 白黒反転の帯 ---------- */
.kj-dark{background:var(--ink);color:#fff}
.kj-dark .kj-cards{width:var(--kj-wrap,min(1180px,calc(100% - 64px)));margin:0 auto!important;gap:0!important}
.kj-dark .kj-card{display:flex;flex-direction:column;min-height:620px;padding:80px 9%;border-right:1px solid #555}
.kj-dark .kj-card:last-child{border-right:0}
.kj-dark .kj-card h2{max-width:470px;min-height:2.6em;margin:30px 0 38px;font-size:clamp(35px,5vw,64px);line-height:1.25;letter-spacing:-.04em}
.kj-dark .kj-card .wp-block-image{height:240px;aspect-ratio:auto;border:0;background:#fff}
.kj-dark .kj-card .wp-block-image img{width:100%;height:100%;object-fit:contain}
.kj-dark .kj-card .kj-link{margin-top:auto;padding-top:38px}
.kj-dark .kj-link a{border-color:#fff}

/* ---------- 大きな引用（くじランドの宣言） ---------- */
.kj-quote{display:grid;grid-template-columns:180px 1fr;gap:70px;padding-top:120px;padding-bottom:120px;border-bottom:1px solid var(--ink)}
:is(.kj-quote,.kj-quote>.block-editor-block-list__layout)>p:last-child{margin:0;font-size:clamp(34px,5vw,66px);font-weight:800;line-height:1.45;letter-spacing:-.04em;text-indent:0;padding-left:0}

/* ---------- トップの導入 ---------- */
.kj-intro{position:relative;display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:0 2.5%;height:min(calc(100svh - 96px),900px);min-height:560px;padding:5vh max(38px,5vw) 30px;overflow:hidden}
.kj-intro-title{margin:0;font-size:clamp(64px,7.4vw,118px);font-weight:800;line-height:1.02;letter-spacing:-.05em;padding-left:7vw;text-indent:-7vw}
.kj-intro .kj-intro-figure{align-self:end;justify-self:center;width:min(100%,500px);height:min(calc(100svh - 220px),780px);min-height:0;display:flex;align-items:flex-end;justify-content:center}
.kj-intro .kj-intro-figure img{width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center bottom}
.kj-intro-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0;border-top:1px solid var(--ink);padding-top:18px;font:800 10px var(--font-en);letter-spacing:.16em}
.kj-intro-bar::before{content:"";width:42px;height:1px;background:var(--ink);margin-right:-16px}
.kj-intro-bar a{margin-left:auto}

/* ---------- 締めのブロック（トップ下部） ---------- */
.kj-closing{padding-top:76px;padding-bottom:76px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.kj-closing .kj-split{grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);gap:8%!important}
.kj-closing .wp-block-image img{max-height:none;width:min(100%,430px)}
.kj-closing h2{margin:0;font-size:clamp(36px,3.5vw,50px);font-weight:800;line-height:1.3;letter-spacing:-.04em}
.kj-closing .kj-kicker{margin-bottom:28px;font:800 13px var(--font-ja);letter-spacing:.12em}
.kj-closing p.kj-text{margin:32px 0 28px;font-size:16px;font-weight:700;color:var(--ink)}
.kj-kujiland-promo{border-top:0}
.kj-kujiland-promo .kj-split{grid-template-columns:minmax(360px,1.1fr) minmax(300px,.9fr)}
.kj-kujiland-promo .wp-block-image img{width:min(100%,470px);filter:grayscale(100%)}

/* ---------- お問い合わせ ---------- */
.kj-contact{padding-top:100px;padding-bottom:130px}
.kj-contact.kj-split{grid-template-columns:minmax(240px,.65fr) minmax(480px,1.35fr);align-items:start}
.kj-contact h2{margin:0 0 30px;font-size:23px;line-height:1.6}
.kj-contact .kj-rows{margin-top:48px}
.kj-form{border-top:1px solid var(--ink)}

/* ---------- 日本語の大きなページ見出し（プライバシーポリシーなど） ---------- */
.kj-page-title{margin:42px 0 0;font-size:clamp(42px,6.4vw,88px);font-weight:800;line-height:1.22;letter-spacing:-.055em}
.kj-hero.is-policy{padding-bottom:clamp(50px,9vh,100px)}

/* ---------- プライバシーポリシーなど、番号付きの区画の本文 ---------- */
.kj-policy{padding-top:100px;padding-bottom:130px}
.kj-policy-intro{max-width:920px;margin-bottom:50px}
.kj-policy-intro p,.kj-rows.is-policy :is(p:not(.kj-num),li){font-size:15px;line-height:2.15;color:#444}
.kj-policy-intro p{margin:0 0 18px}
.kj-rows.is-policy .kj-row{grid-template-columns:90px minmax(0,1fr);align-items:start;padding:48px 0;border-bottom-color:var(--ink)}
.kj-rows.is-policy .kj-num{padding-top:8px;font-size:11px}
.kj-rows.is-policy .kj-row-body{max-width:920px}
.kj-rows.is-policy .kj-row-body p{margin:0}
.kj-rows.is-policy .kj-row-body p+p{margin-top:18px}
.kj-rows.is-policy .kj-row-body :is(ul,ol){margin:0;padding-left:1.4em}
.kj-rows.is-policy a{border-bottom:1px solid var(--ink)}
.kj-policy-ttl{margin:0 0 25px!important;font-size:clamp(23px,3vw,34px);line-height:1.55;letter-spacing:-.025em}
.kj-policy .kj-title-en{margin:105px 0 40px}

/* ---------- プライバシーポリシーの切り替えタブ ---------- */
.kj-policynav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border-bottom:1px solid var(--ink)}
.kj-policynav a{min-height:92px;padding:18px;display:flex;align-items:center;justify-content:center;text-align:center;border-right:1px solid var(--line);font-size:11px;font-weight:800;line-height:1.5;text-decoration:none}
.kj-policynav a:last-child{border-right:0}
.kj-policynav a:hover,.kj-policynav a[aria-current="page"]{background:var(--ink);color:#fff}

/* =========================================================
   動くブロック（記事一覧など。中身は投稿データから自動）
   ========================================================= */
/* 最新記事のリンク */
.kj-latest{display:grid;grid-template-columns:auto minmax(0,390px) auto;align-items:center;width:max-content;max-width:100%;gap:16px;margin-top:38px;padding:12px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-size:12px;line-height:1.5;text-decoration:none}
.kj-latest-label{font:800 10px var(--font-en);letter-spacing:.15em}
.kj-latest-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kj-latest-arrow{font-size:15px;transition:transform .2s}.kj-latest:hover .kj-latest-arrow{transform:translateX(5px)}

/* NEW / POPULAR の横に流れる一覧 */
.kj-postflow{padding:130px 0 120px;overflow:hidden}
.kj-postflow .section-head{width:var(--kj-wrap,min(1180px,calc(100% - 64px)));margin:0 auto 42px;display:flex;align-items:end;justify-content:space-between}
.kj-postflow .section-head h2{font:800 clamp(42px,6vw,78px)/1 var(--font-en);margin:12px 0 0}
.kj-postflow .section-title-jp{display:block;margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.12em;color:#666}
.kj-postflow .section-head>a{font-size:13px;border-bottom:1px solid;padding-bottom:5px}
.kj-postflow .post-tabs{display:flex;gap:22px;margin-top:24px}
.kj-postflow .post-tab{appearance:none;border:0;border-bottom:1px solid transparent;padding:0 0 7px;background:transparent;color:#777;font:800 12px var(--font-en);letter-spacing:.1em;cursor:pointer}
.kj-postflow .post-tab:hover,.kj-postflow .post-tab[aria-selected="true"]{color:var(--ink);border-color:var(--ink)}
.kj-postflow [role="tabpanel"][hidden]{display:none}
.kj-postflow .marquee{display:flex;width:max-content;animation:kj-flow 52s linear infinite;cursor:grab;user-select:none;touch-action:pan-y}
.kj-postflow .marquee:hover,.kj-postflow .marquee:focus-within,.kj-postflow .marquee.is-dragging{animation-play-state:paused}
.kj-postflow .marquee.is-dragging{cursor:grabbing}
.kj-postflow .track{display:flex;gap:26px;padding-right:26px}
.kj-postflow .post{width:340px;display:block}
.kj-postflow .thumb{aspect-ratio:1.62;border:1px solid #bbb;overflow:hidden;background:#f3f3f3}
.kj-postflow .thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:.25s}
.kj-postflow .post:hover img{filter:none;transform:scale(1.02)}
.kj-postflow .meta{font-size:11px;color:#777;margin:14px 0 8px}
.kj-postflow .post h3{font-size:15px;line-height:1.65;margin:0;font-weight:700}
@keyframes kj-flow{to{transform:translateX(-50%)}}

/* カテゴリの行 */
.kj-catrows{padding-top:110px;padding-bottom:110px;border-top:1px solid var(--ink)}
.kj-catrows h2{margin:12px 0 55px;font:800 clamp(42px,6vw,78px)/1 var(--font-en)}
.kj-catrows .cat-grid{border-top:1px solid var(--ink)}
.kj-catrows .cat{min-height:125px;border-bottom:1px solid var(--ink);display:grid;grid-template-columns:80px 1fr auto;align-items:center;transition:.2s}
.kj-catrows .cat:hover{padding-left:16px;background:var(--soft,#f6f6f6)}
.kj-catrows .num{font-size:13px}
.kj-catrows .cat-name{font-size:clamp(26px,4vw,48px);font-weight:800}
.kj-catrows .cat-count{font-size:12px;color:#666}

/* 編集画面：WordPress が古いテーマ向けにすべてのブロックへ当てる「幅840px・中央寄せ」を、KUJIRIDE のブロックの中では打ち消す（公開ページと同じ並びにする） */
.editor-styles-wrapper .is-root-container:has(.kj-sec) .wp-block,.editor-styles-wrapper .is-root-container:has(.kj-intro) .wp-block{max-width:none}
.editor-styles-wrapper [class*="kj-"] .wp-block:not(.kj-sec){margin-left:0;margin-right:0}
.editor-styles-wrapper .is-root-container>.wp-block.kj-sec{width:var(--kj-wrap,min(1180px,calc(100% - 64px)));margin-left:auto;margin-right:auto}
/* 編集画面：ブロックで組んだページでは、ページ名（公開ページには出ない）を小さく灰色にする */
.editor-styles-wrapper:has(.kj-sec) .wp-block-post-title,.editor-styles-wrapper:has(.kj-intro) .wp-block-post-title{max-width:var(--kj-wrap,1180px);margin:24px auto 0;font-size:13px!important;font-weight:700;line-height:1.6;letter-spacing:0;color:#999}
.editor-styles-wrapper:has(.kj-sec) .wp-block-post-title::before,.editor-styles-wrapper:has(.kj-intro) .wp-block-post-title::before{content:"ページ名（ページには表示されません）：";font-weight:400}

/* 編集画面では、行全体のリンクの上書き（クリックで文字を選べなくなる）を切る */
.editor-styles-wrapper .kj-rows.is-menu a::after,.editor-styles-wrapper .kj-card .kj-link a::after{display:none}
.editor-styles-wrapper .kj-postflow .marquee{animation:none}
.editor-styles-wrapper .is-root-container:has(.kj-sec),.editor-styles-wrapper .is-root-container:has(.kj-intro){max-width:none}

@media(max-width:720px){
	.kj-page{--kj-wrap:calc(100% - 32px)}
	.kj-sec{width:calc(100% - 32px)}
	.kj-display{font-size:20vw;margin:30px 0}
	.kj-lead{font-size:14px}
	.kj-hero{padding:clamp(48px,8vh,80px) 0}
	.kj-block{padding-top:75px;padding-bottom:75px}
	.kj-head{grid-template-columns:1fr;gap:18px;margin-bottom:45px}
	.kj-split,.kj-split.is-reverse,.kj-closing .kj-split,.kj-contact.kj-split{grid-template-columns:1fr;gap:45px!important}
	.kj-rows.is-chapter .kj-row{grid-template-columns:38px 1fr;gap:18px;padding:36px 0}
	.kj-rows.is-chapter :is(.kj-row,.kj-row>.block-editor-block-list__layout)>:not(.kj-num){grid-column:2}
	.kj-rows.is-chapter .wp-block-image img{height:160px;object-position:left center}
	.kj-rows.is-qa .kj-row{grid-template-columns:35px 1fr;column-gap:15px;row-gap:8px}
	.kj-rows.is-qa :is(.kj-row,.kj-row>.block-editor-block-list__layout)>p:last-child{grid-column:2}
	.kj-rows.is-menu .kj-row{grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:18px;row-gap:9px;align-content:center;min-height:145px}
	.kj-rows.is-menu .kj-num{grid-row:1/3;align-self:start;margin-top:11px!important}
	.kj-rows.is-menu h2,.kj-rows.is-menu h3{font-size:42px;line-height:1}
	.kj-rows.is-menu :is(.kj-row,.kj-row>.block-editor-block-list__layout)>p:last-child{grid-column:2;font-size:11px;color:#666}
	.kj-cards,.kj-cards.is-3{grid-template-columns:1fr;gap:48px!important}
	.kj-cards.is-boxed{gap:0!important}
	.kj-cards.is-boxed .kj-card{padding:30px 25px 35px}
	.kj-cards.is-boxed.is-open .kj-card{border-right:0}
	.kj-cards.is-boxed .kj-card .wp-block-image{height:220px}
	.kj-card .wp-block-image img{filter:none}
	.kj-work{grid-template-columns:30px 1fr;gap:15px;padding-top:68px;padding-bottom:72px}
	:is(.kj-work,.kj-work>.block-editor-block-list__layout)>.kj-num{grid-row:1/3}
	:is(.kj-work,.kj-work>.block-editor-block-list__layout)>.kj-text,:is(.kj-work,.kj-work>.block-editor-block-list__layout)>.kj-cards{grid-column:2}
	.kj-cta{display:block!important}
	:is(.kj-cta,.kj-cta>.block-editor-block-list__layout)>*+*{margin-top:30px!important}
	.kj-dark .kj-cards{width:100%}
	.kj-dark .kj-card{min-height:0;padding:60px 8%;border-right:0;border-bottom:1px solid #555}
	.kj-dark .kj-card .wp-block-image{height:190px}
	.kj-quote{grid-template-columns:1fr;gap:25px;padding-top:75px;padding-bottom:80px}
	:is(.kj-quote,.kj-quote>.block-editor-block-list__layout)>p:last-child{font-size:31px}
	.kj-intro{height:calc(100svh - 72px);min-height:520px;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;align-items:start;padding:4vh 16px 20px}
	.kj-intro-copy{display:contents}
	.kj-intro-title{font-size:clamp(46px,14vw,64px);line-height:1.08;margin-top:16px;padding-left:0;text-indent:0}
	.kj-intro .kj-intro-figure{grid-row:2;width:min(68vw,310px);height:100%;max-height:37vh;justify-self:end;margin-right:-4vw}
	.kj-latest{grid-template-columns:auto minmax(0,1fr) auto;width:100%;gap:10px;margin:8px 0 18px;font-size:11px}
	.kj-closing p.kj-text{font-size:14px}
	.kj-kujiland-promo .kj-split{grid-template-columns:1fr}
	.kj-kujiland-promo .wp-block-image{justify-self:center;width:min(82vw,340px)}
	.kj-kujiland-promo .wp-block-image img{width:100%}
	.kj-contact{padding-top:64px;padding-bottom:90px}
	.kj-postflow{padding:90px 0}
	.kj-postflow .section-head>a{display:none}
	.kj-postflow .post{width:280px}
	.kj-catrows{padding-top:80px;padding-bottom:80px}
	.kj-catrows .cat{grid-template-columns:42px 1fr auto;min-height:100px}
	.kj-page-title{font-size:clamp(32px,10vw,50px);margin-top:28px;overflow-wrap:anywhere}
	.kj-policy{padding-top:70px;padding-bottom:90px}
	.kj-rows.is-policy .kj-row{grid-template-columns:32px minmax(0,1fr);column-gap:15px;padding:35px 0}
	.kj-policy-ttl{font-size:22px}
	.kj-rows.is-policy :is(p:not(.kj-num),li),.kj-policy-intro p{font-size:14px;line-height:2;overflow-wrap:anywhere}
	.kj-policy .kj-title-en{margin-top:75px;font-size:34px;overflow-wrap:anywhere}
	.kj-policynav{grid-auto-flow:row}
	.kj-policynav a{min-height:58px;border-right:0;border-bottom:1px solid var(--line)}
}
@media(prefers-reduced-motion:reduce){.kj-postflow .marquee{animation:none;overflow-x:auto;width:auto;padding-left:16px}.kj-postflow .track:nth-child(2){display:none}}
