/* ============================================================
 * らんど：メインビジュアル・スクロール演出・メニューの形・お知らせ・公式／企業サイト風ヘッダー
 * ============================================================ */

/* ---------- メインビジュアル・スライダー ---------- */
.land-kv { position: relative; overflow: hidden; background: #111; color: #fff; isolation: isolate; margin: 0 0 2.5em; }
.land-kv.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
body:has(.land-kv.alignfull) { overflow-x: clip; }
.land-kv--h-full { height: 100vh; height: 100svh; min-height: 420px; }
.land-kv--h-large { height: 82vh; height: 82svh; min-height: 380px; }
.land-kv--h-wide { aspect-ratio: 16 / 9; max-height: 100svh; }
.land-kv--h-cinema { aspect-ratio: 21 / 9; min-height: 320px; }
.land-kv--h-auto { aspect-ratio: 16 / 7; min-height: 280px; }
.land-kv--h-medium { height: 60vh; height: 60svh; min-height: 320px; }
.land-kv--h-small { height: 42vh; height: 42svh; min-height: 260px; }
.land-kv--h-custom { height: var(--kv-h, 60svh); min-height: 160px; }
@media (max-width: 767px) {
  .land-kv--sp-auto.land-kv--h-wide, .land-kv--sp-auto.land-kv--h-cinema, .land-kv--sp-auto.land-kv--h-auto { aspect-ratio: 4 / 5; max-height: 86svh; }
  .land-kv--sp-custom { height: var(--kv-h-sp, 50svh) !important; min-height: 160px; aspect-ratio: auto !important; max-height: none; }
}
.land-kv__track { position: absolute; inset: 0; }
.land-kv__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.2s ease, visibility 0s linear 1.2s; }
.land-kv__slide:first-child { opacity: 1; visibility: visible; }
.land-kv.is-ready .land-kv__slide { opacity: 0; visibility: hidden; }
.land-kv.is-ready .land-kv__slide.is-active { opacity: 1; visibility: visible; transition: opacity 1.2s ease, visibility 0s; z-index: 2; }
.land-kv.is-ready .land-kv__slide.is-prev { z-index: 1; }
.land-kv__img, .land-kv__slide picture, .land-kv__noimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.land-kv__slide picture img { width: 100%; height: 100%; object-fit: cover; }
.land-kv__noimg { background: linear-gradient(135deg, #2b3a55, #6b4f7a 60%, #c07a8a); }
.land-kv__shade { position: absolute; inset: 0; background: #000; pointer-events: none; }
.land-kv__link { position: absolute; inset: 0; z-index: 3; }
.land-kv__content { position: absolute; inset: 0; z-index: 4; display: flex; padding: clamp(24px, 6vw, 80px); pointer-events: none; }
.land-kv__content-in { max-width: min(760px, 100%); pointer-events: auto; text-shadow: 0 2px 16px rgba(0,0,0,.35); }
.land-kv__content-in > * { margin-top: 0 !important; }
.land-kv__content-in :where(h1,h2,h3,p) { color: inherit; }
.land-kv__content--center { align-items: center; justify-content: center; text-align: center; }
.land-kv__content--bottom { align-items: flex-end; justify-content: center; text-align: center; padding-bottom: clamp(70px, 12vh, 140px); }
.land-kv__content--bottom-left { align-items: flex-end; justify-content: flex-start; padding-bottom: clamp(70px, 12vh, 140px); }
.land-kv__content--bottom-right { align-items: flex-end; justify-content: flex-end; text-align: right; padding-bottom: clamp(70px, 12vh, 140px); }
.land-kv__content--top-left { align-items: flex-start; justify-content: flex-start; padding-top: clamp(90px, 14vh, 150px); }
.land-kv__content--top-right { align-items: flex-start; justify-content: flex-end; text-align: right; padding-top: clamp(90px, 14vh, 150px); }
.land-kv__content--left { align-items: center; justify-content: flex-start; }
.land-kv__content--right { align-items: center; justify-content: flex-end; text-align: right; }
/* 文字は出てくるたびにふわっと */
.land-kv.is-ready .land-kv__slide .land-kv__content-in { opacity: 0; transform: translateY(24px); transition: opacity .9s ease .5s, transform .9s cubic-bezier(.2,.7,.2,1) .5s; }
.land-kv.is-ready .land-kv__slide.is-active .land-kv__content-in { opacity: 1; transform: none; }

/* 効果：スライド */
.land-kv--fx-slide.is-ready .land-kv__slide { opacity: 1; visibility: visible; transform: translateX(calc(var(--kv-dir, 1) * 100%)); transition: transform 1s cubic-bezier(.7,0,.2,1); }
.land-kv--fx-slide.is-ready .land-kv__slide.is-active { transform: none; }
.land-kv--fx-slide.is-ready .land-kv__slide.is-prev { transform: translateX(calc(var(--kv-dir, 1) * -100%)); }
.land-kv--fx-slide.is-ready .land-kv__slide:not(.is-active):not(.is-prev) { visibility: hidden; transition: none; }
/* 効果：ズーム（ゆっくり寄っていく） */
.land-kv--fx-zoom .land-kv__slide .land-kv__img, .land-kv--fx-zoom .land-kv__slide picture { transform: scale(1.12); transition: transform calc(var(--kv-ms, 6000ms) + 1.4s) linear; }
.land-kv--fx-zoom .land-kv__slide.is-active .land-kv__img, .land-kv--fx-zoom .land-kv__slide.is-active picture { transform: scale(1); }

/* 画像の合わせ方：切らずに全部見せる（contain） */
.land-kv--fit-contain .land-kv__img, .land-kv--fit-contain .land-kv__slide picture img { object-fit: contain; }
.land-kv--fit-contain .land-kv__slide { background: var(--kv-fit-bg, #111); }
/* 収める時の画像の位置（スライドごとの焦点より優先。「スライドごとの焦点」を選んだ時はこのクラスが付かない） */
.land-kv--fitpos .land-kv__img, .land-kv--fitpos .land-kv__slide picture img { object-position: var(--kv-fit-pos, 50% 50%) !important; }
.land-kv__fill { position: absolute; inset: -40px; background: var(--kv-fill) center / cover no-repeat; filter: blur(28px) brightness(.7) saturate(1.15); transform: scale(1.08); pointer-events: none; }
@media (max-width: 767px) { .land-kv__fill { background-image: var(--kv-fill-sp, var(--kv-fill)); } }
/* 全部見せる時のズームは、画像ではなく後ろのぼかしだけを動かす（画像の端が切れないように） */
.land-kv--fit-contain.land-kv--fx-zoom .land-kv__slide .land-kv__img, .land-kv--fit-contain.land-kv--fx-zoom .land-kv__slide picture { transform: none; transition: none; }
.land-kv--fit-contain.land-kv--fx-zoom .land-kv__slide .land-kv__fill { transform: scale(1.2); transition: transform calc(var(--kv-ms, 6000ms) + 1.4s) linear; }
.land-kv--fit-contain.land-kv--fx-zoom .land-kv__slide.is-active .land-kv__fill { transform: scale(1.08); }

/* 操作パーツ */
.land-kv__ui { position: absolute; left: 0; right: 0; bottom: 0; z-index: 6; display: flex; align-items: flex-end; justify-content: flex-start; gap: 12px; padding: 0 clamp(14px, 3vw, 36px) clamp(18px, 3vw, 30px); pointer-events: none; }
body:has(#land-dark-toggle.ldt-left) .land-kv__ui { padding-left: 84px; }
body:has(.land-hdr-official .land-dark-toggle) .land-kv__ui { padding-left: clamp(14px, 3vw, 36px); }
.land-kv__ui > * { pointer-events: auto; }
.land-kv__dots { display: flex; gap: 8px; align-items: center; }
.land-kv__dot { width: 34px; height: 18px; padding: 0; border: 0; background: transparent; cursor: pointer; display: flex; align-items: center; }
.land-kv__dot i { display: block; position: relative; width: 100%; height: 3px; background: rgba(255,255,255,.4); border-radius: 2px; overflow: hidden; }
.land-kv__dot i::after { content: ""; position: absolute; inset: 0; background: #fff; transform-origin: left; transform: scaleX(0); }
.land-kv__dot.is-on i::after { transform: scaleX(1); }
.land-kv__dot.is-run i::after { animation: land-kv-bar var(--kv-ms, 6000ms) linear forwards; }
@keyframes land-kv-bar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.land-kv__pause { width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255,255,255,.6); background: rgba(0,0,0,.25); cursor: pointer; position: relative; margin-left: 4px; }
.land-kv__pause::before, .land-kv__pause::after { content: ""; position: absolute; top: 11px; width: 3px; height: 12px; background: #fff; }
.land-kv__pause::before { left: 12px; } .land-kv__pause::after { left: 18px; }
.land-kv__pause.is-paused::before { left: 13px; top: 10px; width: 0; height: 0; background: none; border-style: solid; border-width: 7px 0 7px 11px; border-color: transparent transparent transparent #fff; }
.land-kv__pause.is-paused::after { display: none; }
.land-kv__ui .land-kv__dots + .land-kv__pause { margin-right: auto; }
.land-kv__thumbs { z-index: 6; position: absolute; right: clamp(14px, 2.4vw, 32px); top: 50%; transform: translateY(-50%); flex-direction: column; display: flex; align-items: center; gap: 8px; padding: 10px 8px; border-radius: 10px; background: rgba(0,0,0,.35); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.land-kv__thumbs-label { font-size: 9px; letter-spacing: .16em; font-weight: 700; opacity: .85; margin-bottom: 2px; white-space: nowrap; }
.land-kv__thumb { width: 84px; aspect-ratio: 16 / 9; padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; background: #333; cursor: pointer; opacity: .6; transition: opacity .2s, border-color .2s, transform .2s; color: #fff; }
.land-kv__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.land-kv__thumb:hover { opacity: .9; transform: translateY(-2px); }
.land-kv__thumb.is-on { opacity: 1; border-color: #fff; }
@media (max-width: 767px) { .land-kv__thumbs { display: none; } }
.land-kv__arrow { position: absolute; top: 50%; z-index: 6; width: 46px; height: 46px; margin-top: -23px; border-radius: 50%; border: 1px solid rgba(255,255,255,.6); background: rgba(0,0,0,.25); cursor: pointer; }
.land-kv__arrow::before { content: ""; position: absolute; top: 16px; width: 12px; height: 12px; border-top: 2px solid #fff; border-right: 2px solid #fff; }
.land-kv__arrow--prev { left: 16px; } .land-kv__arrow--prev::before { left: 18px; transform: rotate(-135deg); }
.land-kv__arrow--next { right: 16px; } .land-kv__arrow--next::before { left: 13px; transform: rotate(45deg); }
.land-kv__scroll { position: absolute; pointer-events: none; left: 50%; bottom: 18px; z-index: 5; transform: translateX(-50%); font-size: 10px; letter-spacing: .25em; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.land-kv__scroll::after { content: ""; width: 1px; height: 46px; background: linear-gradient(#fff, transparent); animation: land-kv-scroll 1.8s ease-in-out infinite; transform-origin: top; }
@keyframes land-kv-scroll { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }

/* ---------- スクロールで現れる ---------- */
.land-rv, .land-rv-child { transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1), filter .9s ease, clip-path 1.1s cubic-bezier(.7,0,.2,1); transition-delay: var(--rv-delay, 0s); }
html.land-rv-js .land-rv:not(.is-in) { opacity: 0; }
html.land-rv-js .land-rv--fade-up:not(.is-in) { transform: translateY(44px); }
html.land-rv-js .land-rv--fade-down:not(.is-in) { transform: translateY(-44px); }
html.land-rv-js .land-rv--slide-left:not(.is-in) { transform: translateX(70px); }
html.land-rv-js .land-rv--slide-right:not(.is-in) { transform: translateX(-70px); }
html.land-rv-js .land-rv--zoom:not(.is-in) { transform: scale(.9); }
html.land-rv-js .land-rv--blur:not(.is-in) { filter: blur(14px); }
html.land-rv-js .land-rv--mask:not(.is-in) { opacity: 1; clip-path: inset(0 100% 0 0); }
.land-rv--mask.is-in { clip-path: inset(0 0 0 0); }
/* 中身を順番に：外枠は見せたまま、中身を少しずつ */
html.land-rv-js .land-rv-stagger:not(.is-in) { opacity: 1; transform: none; filter: none; clip-path: none; }
.land-rv-stagger .land-rv-child { transition-delay: calc(var(--rv-delay, 0s) + var(--rv-i, 0) * .12s); }
html.land-rv-js .land-rv-stagger:not(.is-in) .land-rv-child { opacity: 0; transform: translateY(30px); }
html.land-rv-js .land-rv-stagger.land-rv--zoom:not(.is-in) .land-rv-child { transform: scale(.9); }
html.land-rv-js .land-rv-stagger.land-rv--blur:not(.is-in) .land-rv-child { transform: none; filter: blur(12px); }
@media (prefers-reduced-motion: reduce) { html.land-rv-js .land-rv:not(.is-in), html.land-rv-js .land-rv-stagger:not(.is-in) .land-rv-child { opacity: 1; transform: none; filter: none; clip-path: none; } }
@media print { html.land-rv-js .land-rv, html.land-rv-js .land-rv-child { opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; } }

/* ---------- セクション見出し（英語＋日本語） ---------- */
.land-sec-title { display: flex; flex-direction: column; gap: 2px; margin: 0 0 1.2em; }
.land-sec-title__en, .land-sec-title .land-sec-title__en { font-size: clamp(28px, 4.6vw, 48px); font-weight: 800; letter-spacing: .06em; line-height: 1.1; margin: 0 !important; }
.land-sec-title__ja, .land-sec-title .land-sec-title__ja { font-size: 13px; letter-spacing: .2em; opacity: .7; margin: 0 !important; }
.land-sec-title.has-text-align-center, .has-text-align-center > .land-sec-title { align-items: center; text-align: center; }
.land-section { padding: clamp(48px, 8vw, 110px) 0; }
/* 詰めた余白（トップページ向け）と、交互に色を敷く帯 */
.land-section.land-section--tight { padding: clamp(36px, 5vw, 64px) 0; }
.land-section--tint { position: relative; isolation: isolate; }
.land-section--tint::before { content: ""; position: absolute; inset: 0 calc(50% - 50vw); background: var(--land-tint, rgba(120, 140, 200, .07)); z-index: -1; }
/* どどらんど☆トップ：メインビジュアルの文字とボタン */
.land-kv .land-top-catch { margin: 0 0 .3em; text-shadow: 0 3px 18px rgba(0,0,0,.55); }
.land-kv .land-top-lead { margin: 0 0 1.2em; opacity: .95; text-shadow: 0 2px 12px rgba(0,0,0,.55); }
.land-kv .land-top-cta { gap: 12px; }
.land-kv .land-top-cta .wp-block-button__link { padding: .8em 1.8em; border-radius: 999px; font-weight: 700; font-size: clamp(14px, 1.5vw, 17px); }
.land-kv .land-top-cta__main .wp-block-button__link { background: #ff5a8a; color: #fff; border: 2px solid #ff5a8a; box-shadow: 0 6px 18px rgba(255, 90, 138, .35); }
.land-kv .land-top-cta__sub .wp-block-button__link { background: rgba(255,255,255,.12); color: #fff; border: 2px solid rgba(255,255,255,.85); backdrop-filter: blur(4px); }
.land-kv .land-top-cta .wp-block-button__link:hover { transform: translateY(-2px); }
.land-top-sub { font-size: clamp(17px, 2vw, 21px) !important; margin: 1.6em 0 .7em !important; }
.land-top-sub:first-of-type { margin-top: .4em !important; }
.land-top-duo { gap: 18px !important; }
.land-top-card { height: 100%; display: flex; flex-direction: column; }
.land-top-card > .wp-block-buttons { margin-top: auto; }
.land-top-sns-note { font-size: 13px; opacity: .75; margin-top: .8em !important; }
@media (max-width: 767px) {
  .land-kv .land-top-lead { display: none; }
  .land-kv .land-top-cta { flex-direction: column; align-items: center; }
}

/* ---------- お知らせ ---------- */
.land-news { margin: 0 0 2em; }
.land-news__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.land-news__head .land-sec-title { margin: 0; }
.land-news__tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.land-news__tabs button { padding: 6px 16px; border-radius: 999px; border: 1px solid rgba(0,0,0,.15); background: #fff; color: #333; font-size: 13px; cursor: pointer; transition: background-color .2s, color .2s; }
.land-news__tabs button.is-on { background: #222; border-color: #222; color: #fff; }
.land-news__list { list-style: none !important; margin: 0 !important; padding: 0 !important; border-top: 1px solid rgba(0,0,0,.1); }
.land-news__list[hidden] { display: none; }
.land-news__list > li { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid rgba(0,0,0,.1); }
.land-news__list > li::before { display: none !important; }
.land-news__row { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 8px 18px; padding: 16px 6px; color: inherit !important; text-decoration: none !important; transition: background-color .2s, padding .2s; }
.land-news__row:hover { background: rgba(0,0,0,.03); padding-left: 12px; }
.land-news__date { font-size: 13px; letter-spacing: .06em; opacity: .7; font-variant-numeric: tabular-nums; }
.land-news__cat { font-size: 11px; padding: 2px 10px; border-radius: 999px; background: #eef1f5; color: #555; white-space: nowrap; min-width: 5.5em; text-align: center; }
.land-news__title { font-size: 15px; line-height: 1.5; }
@media (max-width: 600px) { .land-news__row { grid-template-columns: auto 1fr; } .land-news__title { grid-column: 1 / -1; } }
.land-news__more { text-align: right; margin: 14px 0 0 !important; }
.land-news__more a { display: inline-block; padding: 8px 26px; border-radius: 999px; border: 1px solid currentColor; font-size: 13px; letter-spacing: .12em; text-decoration: none !important; }
.land-news--cards .land-news__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; border: 0; }
.land-news--cards .land-news__list > li { border: 0; }
/* タブで隠した一覧は、カード表示（display:grid）の時も確実に隠す */
.land-news .land-news__list[hidden] { display: none !important; }
/* スマホのカード表示は2列（縦に長くなりすぎないように） */
@media (max-width: 767px) {
  .land-news--cards .land-news__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .land-news--cards .land-news__title { font-size: 13px; }
}
.land-news--cards .land-news__row { grid-template-columns: auto 1fr; padding: 0; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.land-news--cards .land-news__img { grid-column: 1 / -1; aspect-ratio: 16 / 9; background: #eef1f5; }
.land-news--cards .land-news__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.land-news--cards .land-news__date { padding-left: 12px; } .land-news--cards .land-news__cat { justify-self: start; }
.land-news--cards .land-news__title { grid-column: 1 / -1; padding: 0 12px 14px; }
.land-news__none { padding: 16px 6px !important; opacity: .6; }

/* ---------- ≡ メニューボタン ---------- */
.land-menu-btn { display: inline-flex; align-items: center; gap: 10px; padding: 8px 10px; border: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; }
.land-menu-btn__bars { position: relative; width: 30px; height: 20px; display: block; }
.land-menu-btn__bars i { position: absolute; left: 0; width: 100%; height: 2px; border-radius: 2px; background: currentColor; transition: transform .35s ease, opacity .25s, width .3s; }
.land-menu-btn__bars i:nth-child(1) { top: 0; } .land-menu-btn__bars i:nth-child(2) { top: 9px; width: 70%; } .land-menu-btn__bars i:nth-child(3) { top: 18px; }
.land-menu-btn:hover .land-menu-btn__bars i:nth-child(2) { width: 100%; }
.land-menu-btn__label { font-size: 11px; letter-spacing: .22em; font-weight: 700; }
#land-menu-float { position: fixed; top: calc(14px + var(--wp-admin--admin-bar--height, 0px)); right: 16px; z-index: 9995; }
.land-menu-btn--float { width: 60px; height: 60px; justify-content: center; flex-direction: column; gap: 5px; padding: 0; border-radius: 50%; background: rgba(20,24,32,.72); color: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.25); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: transform .2s; }
.land-menu-btn--float:hover { transform: scale(1.06); }
.land-menu-btn--float .land-menu-btn__bars { width: 24px; height: 14px; } .land-menu-btn--float .land-menu-btn__bars i:nth-child(2) { top: 6px; } .land-menu-btn--float .land-menu-btn__bars i:nth-child(3) { top: 12px; }
.land-menu-btn--float .land-menu-btn__label { font-size: 8px; letter-spacing: .15em; }
html.land-om-open #land-menu-float { opacity: 0; pointer-events: none; }
body.land-menu-overlay #navi { display: none !important; }

/* ---------- 全画面メニュー ---------- */
.land-om { position: fixed; inset: 0; z-index: 2147481000; display: flex; flex-direction: column; justify-content: center; padding: clamp(70px, 10vh, 120px) clamp(24px, 8vw, 120px) 40px; overflow-y: auto; color: #fff; background: var(--om-bg, #111827); opacity: 0; clip-path: circle(0 at calc(100% - 46px) 44px); transition: opacity .35s ease, clip-path .6s cubic-bezier(.7,0,.2,1); }
.land-om[hidden] { display: none; }
.land-om.is-open { opacity: 1; clip-path: circle(150% at calc(100% - 46px) 44px); }
html.land-om-open { overflow: hidden; }
.land-om__close { position: absolute; top: calc(14px + var(--wp-admin--admin-bar--height, 0px)); right: 16px; width: 60px; height: 60px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: transparent; cursor: pointer; }
.land-om__close span { position: absolute; left: 18px; top: 29px; width: 24px; height: 2px; background: #fff; transform: rotate(45deg); }
.land-om__close span + span { transform: rotate(-45deg); }
.land-om__nav { width: 100%; max-width: 1100px; margin: 0 auto; }
.land-om__list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px 40px; }
.land-om__list > li { margin: 0 !important; padding: 0 !important; opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.land-om.is-open .land-om__list > li { opacity: 1; transform: none; }
.land-om.is-open .land-om__list > li:nth-child(1) { transition-delay: .15s; } .land-om.is-open .land-om__list > li:nth-child(2) { transition-delay: .2s; }
.land-om.is-open .land-om__list > li:nth-child(3) { transition-delay: .25s; } .land-om.is-open .land-om__list > li:nth-child(4) { transition-delay: .3s; }
.land-om.is-open .land-om__list > li:nth-child(5) { transition-delay: .35s; } .land-om.is-open .land-om__list > li:nth-child(6) { transition-delay: .4s; }
.land-om.is-open .land-om__list > li:nth-child(n+7) { transition-delay: .45s; }
.land-om__list li::before { display: none !important; }
.land-om__list > li > a { display: block; padding: 10px 0; color: #fff !important; text-decoration: none !important; font-size: clamp(20px, 2.6vw, 30px); font-weight: 700; letter-spacing: .06em; border-bottom: 1px solid rgba(255,255,255,.18); transition: color .2s, padding .2s; }
.land-om__list > li > a:hover { padding-left: 8px; color: #9fe8ff !important; }
.land-om__list .sub-menu { list-style: none !important; margin: 8px 0 12px !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 4px 16px; }
.land-om__list .sub-menu a { color: rgba(255,255,255,.75) !important; text-decoration: none !important; font-size: 14px; }
.land-om__list .sub-menu a:hover { color: #fff !important; }
.land-om__list .item-description { display: none; }
.land-om__tools { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 36px; }
.land-om__tools .land-search-inline a, .land-om__search a { color: #fff !important; border-color: rgba(255,255,255,.4) !important; background: rgba(255,255,255,.08) !important; }
.land-om__site { margin: 28px 0 0 !important; text-align: center; font-size: 12px; letter-spacing: .2em; opacity: .5; }

/* ---------- メガメニュー（PC） ---------- */
@media screen and (min-width: 1024px) {
  .land-menu-mega #header-container, .land-menu-mega .header-container { position: relative; }
  .land-menu-mega #navi .navi-in > .menu-pc > li.menu-item-has-children { position: static; }
  .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu {
    position: absolute !important; left: 0 !important; right: 0 !important; top: 100% !important; width: auto !important; z-index: 1000;
    display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px 28px;
    padding: 28px max(24px, calc((100vw - 1100px) / 2)) !important; margin: 0 !important;
    background: #fff !important; box-shadow: 0 18px 40px rgba(0,0,0,.14); border-top: 1px solid rgba(0,0,0,.06);
    opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
  }
  .land-menu-mega #navi .navi-in > .menu-pc > li:hover > .sub-menu,
  .land-menu-mega #navi .navi-in > .menu-pc > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; transition: opacity .25s ease, transform .25s ease, visibility 0s; }
  .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu > li { width: auto !important; height: auto !important; background: none !important; }
  .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu > li > a { display: block; height: auto !important; padding: 10px 12px !important; border-radius: 8px; color: #222 !important; font-weight: 700; background: none !important; }
  .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu > li > a:hover { background: #f3f5f8 !important; }
  .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu .item-description { display: block !important; font-weight: 400; font-size: 12px; color: #777; margin-top: 2px; }
  .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu .sub-menu { position: static !important; display: block !important; visibility: visible !important; opacity: 1 !important; width: auto !important; box-shadow: none !important; background: none !important; padding: 0 0 6px 12px !important; }
  .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu .sub-menu a { height: auto !important; padding: 4px 0 !important; font-size: 13px; color: #555 !important; font-weight: 400; background: none !important; }
  .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu .has-sub, .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu .sub-caption { display: none !important; }
  html.land-dark .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu { background: var(--dk-surface, #1a1d23) !important; border-top-color: rgba(255,255,255,.08); }
  html.land-dark .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu a { color: var(--dk-text, #e3e6ea) !important; }
  html.land-dark .land-menu-mega #navi .navi-in > .menu-pc > li > .sub-menu > li > a:hover { background: rgba(255,255,255,.06) !important; }
}

/* ---------- 公式サイト風ヘッダー（メインビジュアルに重なる） ---------- */
.land-hdr-official { flex-wrap: nowrap !important; position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 9990; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px clamp(16px, 3vw, 36px) !important; margin: 0 !important; color: #fff; background: linear-gradient(rgba(0,0,0,.35), transparent); transition: background-color .35s, box-shadow .35s, padding .35s; }
html.land-scrolled .land-hdr-official { background: rgba(15,18,26,.82); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 4px 20px rgba(0,0,0,.2); padding-top: 8px !important; padding-bottom: 8px !important; }
.land-hdr-official .land-site-logo { flex: 0 1 auto; min-width: 0; }
.land-hdr-official .land-site-logo__img { height: clamp(34px, 5vw, 56px); width: auto; max-width: 52vw; object-fit: contain; object-position: left center; transition: height .35s; }
.land-hdr-official .land-hdr-tools { flex-wrap: nowrap !important; flex: none; }
html.land-scrolled .land-hdr-official .land-site-logo__img { height: clamp(30px, 4vw, 42px); }
.land-hdr-official .land-site-logo__text { font-size: 22px; font-weight: 800; color: #fff; }
.land-hdr-official .land-search-inline a { color: #fff; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.35); }
.land-hdr-official > .wp-block-group, .land-hdr-official .land-hdr-tools { display: flex; align-items: center; gap: 12px; margin: 0 !important; }
.land-hdr-official .land-dark-toggle { width: 38px; height: 38px; }
body:has(.land-hdr-official) #land-menu-float { display: none; }
@media (max-width: 767px) {
  .land-hdr-official { padding: 10px 12px !important; gap: 8px; }
  .land-hdr-official .land-hdr-tools { gap: 4px !important; }
  .land-hdr-official .land-search-label { display: none; }
  .land-hdr-official .land-search-inline a { width: 40px; height: 40px; padding: 0; justify-content: center; }
  .land-hdr-official .land-menu-btn__label { display: none; }
}
body:has(.land-hdr-official .land-dark-toggle) #land-dark-toggle { display: none; }

/* ---------- 企業サイト風ヘッダー ---------- */
.land-hdr-corp { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 9990; background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.08); margin: 0 !important; }
html.land-scrolled .land-hdr-corp { box-shadow: 0 6px 20px rgba(0,0,0,.08); }
.land-hdr-corp__bar { display: flex; flex-wrap: nowrap !important; align-items: center; gap: 20px; max-width: 1240px; margin: 0 auto !important; padding: 8px 20px !important; }
.land-hdr-corp__bar > .land-site-logo { flex: none; }
.land-hdr-corp #navi { flex: 1 1 0 !important; min-width: 0; width: auto !important; }
.land-hdr-corp #navi .navi-in { width: auto !important; max-width: none !important; justify-content: flex-end; }
.land-hdr-corp #navi .navi-in > .menu-pc { justify-content: flex-end; flex-wrap: nowrap; }
.land-hdr-corp #navi .navi-in > .menu-pc > li { width: auto !important; flex: 0 0 auto; }
.land-hdr-corp #navi .navi-in > .menu-pc > li > a { padding: 0 16px !important; }
@media screen and (max-width: 1023px) { .land-hdr-corp__bar { flex-wrap: wrap !important; } .land-hdr-corp #navi { flex: 1 1 100% !important; } }
.land-hdr-corp .land-site-logo__img { height: 44px; width: auto; }
.land-hdr-corp #navi { flex: 1 1 auto; background: transparent !important; }
.land-hdr-corp #navi .navi-in { background: transparent !important; }
html.land-dark .land-hdr-corp { background: var(--dk-surface, #1a1d23); box-shadow: 0 1px 0 rgba(255,255,255,.08); }

/* ---------- 画面いっぱいのセクションの中身の幅 ---------- */
.land-wrap { max-width: 1100px; margin-left: auto !important; margin-right: auto !important; padding-left: 20px; padding-right: 20px; }

/* ---------- ダークモード ---------- */
html.land-dark .land-news__tabs button { background: #23262d; color: #e3e6ea; border-color: rgba(255,255,255,.15); }
html.land-dark .land-news__tabs button.is-on { background: #e3e6ea; color: #15171c; border-color: #e3e6ea; }
html.land-dark .land-news__list, html.land-dark .land-news__list > li { border-color: rgba(255,255,255,.1); }
html.land-dark .land-news__cat { background: #2a2e37; color: #b8bec8; }
html.land-dark .land-news__row:hover { background: rgba(255,255,255,.04); }
html.land-dark .land-news--cards .land-news__row { background: var(--dk-surface2, #23262d); }
.land-sec-title.is-center { align-items: center; text-align: center; }
/* スタッフ・キャストの表 */
.land-credit table { border: 0 !important; }
.land-credit td { border: 0 !important; padding: 10px 14px !important; }
.land-credit td:first-child { width: 42%; opacity: .7; font-size: .9em; }
/* 案内カード（企業サイト風） */
.land-link-cards .land-link-card { padding: 22px 20px; border-radius: 14px; background: #fff; border: 1px solid rgba(0,0,0,.08); transition: transform .2s, box-shadow .2s; }
.land-link-cards .land-link-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.08); }
.land-link-cards .land-link-card p { margin: 0 0 .4em !important; }
.land-link-cards .land-link-card a { text-decoration: none !important; }
html.land-dark .land-link-cards .land-link-card { background: var(--dk-surface2, #23262d); border-color: rgba(255,255,255,.08); }
/* 公式サイト風：メインビジュアルはヘッダーの下から（重ねる） */
.land-hdr-official ~ .land-kv, #container:has(.land-hdr-official) .land-kv:first-of-type { margin-top: 0; }

@media (max-width: 767px) {
  .land-kv__scroll { display: none; }
  .land-kv__content--bottom, .land-kv__content--bottom-left, .land-kv__content--bottom-right { padding-bottom: 96px; }
}

/* ============================================================
 * テンプレート用の見た目（ブロックの「追加CSSクラス」で付けています）
 * ============================================================ */
/* 上部バー型ヘッダー（ロゴ・横並びメニュー・SNS） */
.land-hdr-bar { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 9990; background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 1px 0 rgba(0,0,0,.08); margin: 0 !important; }
.land-hdr-bar__in { display: flex; flex-wrap: nowrap !important; align-items: center; gap: 18px; max-width: 1400px; margin: 0 auto !important; padding: 6px 20px !important; }
.land-hdr-bar__in > .land-site-logo { flex: none; }
.land-hdr-bar__in .land-site-logo__img { height: 42px; width: auto; }
.land-hdr-bar #navi { flex: 1 1 0 !important; min-width: 0; width: auto !important; background: transparent !important; }
.land-hdr-bar #navi .navi-in { width: auto !important; max-width: none !important; background: transparent !important; justify-content: center; }
.land-hdr-bar #navi .navi-in > .menu-pc { flex-wrap: wrap; justify-content: center; }
.land-hdr-bar #navi .navi-in > .menu-pc > li { width: auto !important; height: 44px !important; line-height: 44px !important; }
.land-hdr-bar #navi .navi-in > .menu-pc > li > a { padding: 0 12px !important; font-size: 13px; letter-spacing: .08em; font-weight: 700; }
.land-hdr-bar .wp-block-social-links { flex: none; margin: 0 !important; gap: 6px; }
@media screen and (max-width: 1023px) { .land-hdr-bar__in { flex-wrap: wrap !important; } .land-hdr-bar #navi { flex: 1 1 100% !important; } .land-hdr-bar .wp-block-social-links { display: none; } }
html.land-dark .land-hdr-bar { background: rgba(26,29,35,.92); box-shadow: 0 1px 0 rgba(255,255,255,.08); }

/* 2本立てのビジュアル（左右に大きく） */
.land-split-hero { gap: 0 !important; margin: 0 0 2.5em !important; }
.land-split-hero > .wp-block-column { margin: 0 !important; }
.land-split-hero .wp-block-cover { min-height: min(78svh, 720px) !important; margin: 0 !important; }
.land-split-hero .wp-block-cover__inner-container { transition: transform .5s ease; }
.land-split-hero .wp-block-cover:hover .wp-block-cover__inner-container { transform: translateY(-6px); }
.land-split-hero .wp-block-cover img { transition: transform 1.2s ease; }
.land-split-hero .wp-block-cover:hover img { transform: scale(1.04); }
@media (max-width: 781px) { .land-split-hero .wp-block-cover { min-height: 56svh !important; } }

/* 公開日などの大きなバッジ */
.land-release { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 18px 34px !important; border-radius: 16px; background: #111; color: #fff; transform: rotate(-3deg); box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.land-release p { margin: 0 !important; line-height: 1.1; }
.land-release .land-release__date { font-size: clamp(30px, 6vw, 60px); font-weight: 900; letter-spacing: .04em; }
.land-release .land-release__label { font-size: 13px; letter-spacing: .3em; opacity: .85; }
.land-release-wrap { text-align: center; margin: -40px 0 2em !important; position: relative; z-index: 5; }

/* 数字で見る */
.land-stats { gap: 16px !important; }
.land-stats > .wp-block-column { padding: 24px 16px; border-radius: 14px; background: #fff; border: 1px solid rgba(0,0,0,.08); text-align: center; }
.land-stats .land-stat__num { font-size: clamp(30px, 4.5vw, 48px); font-weight: 900; line-height: 1.1; margin: 0 !important; letter-spacing: .02em; }
.land-stats .land-stat__label { font-size: 13px; opacity: .7; margin: 6px 0 0 !important; }
html.land-dark .land-stats > .wp-block-column { background: var(--dk-surface2, #23262d); border-color: rgba(255,255,255,.08); }

/* コメント（キャスト・監督など） */
.land-comments { gap: 16px !important; }
.land-comments > .wp-block-column { padding: 22px 20px; border-radius: 16px; background: #fff; border: 1px solid rgba(0,0,0,.08); position: relative; }
.land-comments > .wp-block-column::before { content: "“"; position: absolute; top: -6px; left: 14px; font-size: 64px; line-height: 1; opacity: .15; font-family: Georgia, serif; }
.land-comments .land-comment__name { font-weight: 800; margin: 0 0 .6em !important; }
.land-comments .land-comment__role { font-size: 12px; opacity: .6; margin: 0 0 .2em !important; }
html.land-dark .land-comments > .wp-block-column { background: var(--dk-surface2, #23262d); border-color: rgba(255,255,255,.08); }

/* 配信・放送情報 */
.land-platforms { gap: 16px !important; }
.land-platforms > .wp-block-column { padding: 18px 20px; border-radius: 14px; border: 1px solid rgba(0,0,0,.1); }
.land-platforms .land-platform__head { font-size: 12px; font-weight: 800; letter-spacing: .2em; margin: 0 0 .8em !important; padding: 3px 10px; border-radius: 999px; display: inline-block; background: #222; color: #fff; }
.land-platforms ul { margin: 0 !important; padding-left: 1.2em !important; }
.land-platforms li { margin: .3em 0 !important; }
html.land-dark .land-platforms > .wp-block-column { border-color: rgba(255,255,255,.12); }

/* バナーの列（関連サイト・コラボ・スポンサー） */
.land-banners { gap: 14px !important; }
.land-banners .wp-block-image { margin: 0 !important; border-radius: 10px; overflow: hidden; background: #eef1f5; aspect-ratio: 3 / 1; display: flex; align-items: center; justify-content: center; transition: transform .2s, box-shadow .2s; }
.land-banners .wp-block-image:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,.12); }
.land-banners .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
html.land-dark .land-banners .wp-block-image { background: #23262d; }

/* ブランドメッセージ（大きな文字だけのセクション） */
.land-message { text-align: center; }
.land-message .land-message__copy { font-size: clamp(26px, 4.4vw, 52px); font-weight: 900; line-height: 1.5; letter-spacing: .08em; margin: 0 0 .6em !important; }
.land-message .land-message__body { max-width: 720px; margin: 0 auto !important; line-height: 2.1; opacity: .85; }

/* カテゴリ別の区切り（見出し＋もっと見る） */
.land-cat-section + .land-cat-section { border-top: 1px solid rgba(0,0,0,.08); }
html.land-dark .land-cat-section + .land-cat-section { border-top-color: rgba(255,255,255,.08); }

/* スマホ：横並びヘッダー（上部バー型・企業サイト風）はメニューを ≡ ボタンにまとめる */
.land-hdr-sp { display: none !important; }
@media (max-width: 767px) {
  .land-hdr-bar__in, .land-hdr-corp__bar { flex-wrap: nowrap !important; gap: 8px; padding: 6px 12px !important; }
  .land-hdr-bar #navi, .land-hdr-corp #navi { display: none !important; }
  .land-hdr-sp { display: flex !important; flex-wrap: nowrap !important; flex: none !important; margin-left: auto !important; gap: 4px !important; align-items: center; }
  .land-hdr-sp > * { margin: 0 !important; flex: none; }
  .land-hdr-sp .land-search-label, .land-hdr-sp .land-menu-btn__label { display: none; }
  .land-hdr-bar__in .land-site-logo__img, .land-hdr-corp__bar .land-site-logo__img { height: 36px; max-width: 58vw; object-fit: contain; }
}

/* ============================================================
 * どどらんど☆記事・固定ページ（テンプレート land-dodoland-post / land-dodoland-page）
 * body.land-art … 大きなタイトル帯＋読みやすい1カラムのカード
 * ============================================================ */
body.land-art { --art-w: 860px; --art-accent: #ff5a8a; --art-accent2: #568bff; --art-card: #fff; --art-text: #2a2d34; --art-sub: #6b7280; --art-line: rgba(0,0,0,.08); }
/* タイトル帯（固定ヘッダーの下に潜り込む濃い色の帯） */
body.land-art .land-art-hero { position: relative; margin: 0 !important; padding: calc(var(--wp-admin--admin-bar--height, 0px) + clamp(92px, 11vw, 130px)) 16px clamp(70px, 9vw, 110px); color: #fff; background: radial-gradient(1200px 400px at 15% 0%, rgba(255,90,138,.35), transparent 60%), radial-gradient(900px 380px at 90% 20%, rgba(86,139,255,.38), transparent 60%), linear-gradient(135deg, #171a26 0%, #262040 55%, #1b2a44 100%); overflow: hidden; }
body.land-art .land-art-hero::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.14) 1px, transparent 1.4px); background-size: 22px 22px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 85%); -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 85%); pointer-events: none; }
body.land-art .land-art-hero__in { position: relative; z-index: 1; max-width: var(--art-w); margin: 0 auto; }
body.land-art .land-art-hero .breadcrumb { margin: 0 0 18px; padding: 0; background: none; font-size: 12px; color: rgba(255,255,255,.72); }
body.land-art .land-art-hero .breadcrumb a, body.land-art .land-art-hero .breadcrumb .fa, body.land-art .land-art-hero .breadcrumb [class*="fa-"] { color: rgba(255,255,255,.8) !important; }
body.land-art .land-art-hero .breadcrumb a:hover { color: #fff !important; }
body.land-art .land-art-hero .entry-categories-tags { margin: 0 0 14px; display: flex; flex-wrap: wrap; gap: 6px; }
body.land-art .land-art-hero .entry-categories-tags a { display: inline-flex; align-items: center; gap: 4px; padding: 4px 12px; border-radius: 999px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28); color: #fff !important; font-size: 12px; text-decoration: none; }
body.land-art .land-art-hero .entry-categories-tags .cat-link { background: var(--art-accent); border-color: var(--art-accent); }
body.land-art .land-art-hero .entry-title { margin: 0; padding: 0; background: none; border: 0; color: #fff; font-size: clamp(24px, 4vw, 42px); font-weight: 800; line-height: 1.35; letter-spacing: .02em; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
body.land-art .land-art-hero__meta { margin-top: 16px !important; gap: 14px !important; color: rgba(255,255,255,.8); font-size: 13px; }
body.land-art .land-art-hero__meta .date-tags, body.land-art .land-art-hero__meta .read-time { margin: 0; padding: 0; color: inherit; text-align: left; }
body.land-art .land-art-hero__meta * { color: inherit !important; }
/* 本文カード（タイトル帯に少し重ねる） */
body.land-art #content { margin-top: 0 !important; background: none; }
body.land-art #content-in { max-width: var(--art-w); padding: 0 16px; margin: clamp(-64px, -6vw, -40px) auto 0; position: relative; z-index: 2; display: block; }
body.land-art #main { width: 100% !important; max-width: none; padding: clamp(22px, 4.5vw, 56px) !important; background: var(--art-card); color: var(--art-text); border-radius: 18px; box-shadow: 0 10px 40px rgba(20, 24, 40, .14); border: 0; }
body.land-art #sidebar { display: none !important; }
body.land-art .article { margin-bottom: 0; }
body.land-art .eye-catch-wrap, body.land-art .eye-catch { margin: 0 0 1.8em; }
body.land-art .eye-catch img { width: 100%; border-radius: 12px; }
body.land-art .eye-catch .cat-label { display: none; }
/* 本文の文字組み */
body.land-art .entry-content { font-size: 17px; line-height: 1.95; letter-spacing: .02em; color: var(--art-text); }
body.land-art .entry-content > * { margin-bottom: 1.4em; }
body.land-art .entry-content h2 { position: relative; margin: 2.4em 0 1em; padding: .7em 1em .7em 1.2em; font-size: clamp(20px, 2.4vw, 25px); line-height: 1.45; color: var(--art-text); background: linear-gradient(90deg, rgba(255,90,138,.10), rgba(86,139,255,.08)); border: 0; border-radius: 10px; box-shadow: none; }
body.land-art .entry-content h2::before { content: ""; display: block; position: absolute; left: 0; top: 10px; bottom: 10px; width: 5px; border-radius: 5px; background: linear-gradient(var(--art-accent), var(--art-accent2)); }
body.land-art .entry-content h2::after { display: none; }
body.land-art .entry-content h3 { margin: 2em 0 .8em; padding: 0 0 .45em; font-size: clamp(18px, 2vw, 21px); color: var(--art-text); background: none; border: 0; border-bottom: 2px solid var(--art-line); border-image: linear-gradient(90deg, var(--art-accent) 0 90px, var(--art-line) 90px) 1; }
body.land-art .entry-content h3::before, body.land-art .entry-content h3::after { display: none; }
body.land-art .entry-content h4 { margin: 1.8em 0 .6em; padding: 0 0 0 .7em; font-size: 18px; background: none; border: 0; border-left: 4px solid var(--art-accent2); }
body.land-art .entry-content h4::before, body.land-art .entry-content h4::after { display: none; }
body.land-art .entry-content a { color: #3b6fe0; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.land-art .entry-content img { border-radius: 10px; }
body.land-art .entry-content blockquote { margin: 1.6em 0; padding: 1.1em 1.4em; border: 0; border-left: 4px solid var(--art-accent2); border-radius: 0 10px 10px 0; background: rgba(86,139,255,.06); color: var(--art-text); }
body.land-art .entry-content blockquote::before, body.land-art .entry-content blockquote::after { display: none; }
body.land-art .entry-content ul:not([class*="wp-block-social"]):not(.land-news__list), body.land-art .entry-content ol { padding-left: 1.4em; }
body.land-art .entry-content li { margin: .3em 0; }
body.land-art .entry-content hr { border: 0; height: 1px; background: var(--art-line); margin: 2.4em 0; }
body.land-art .entry-content .wp-block-embed iframe { border-radius: 12px; }
body.land-art .entry-content table { border-radius: 10px; overflow: hidden; }
/* 本文の後ろ（シェア・前後記事・関連記事・コメント） */
body.land-art .entry-footer, body.land-art .article-footer { margin-top: 2.4em; padding-top: 1.6em; border-top: 1px solid var(--art-line); }
body.land-art .sns-share-message, body.land-art .sns-follow-message { font-size: 13px; color: var(--art-sub); }
body.land-art .sns-share-buttons a, body.land-art .sns-follow-buttons a { border-radius: 10px !important; }
body.land-art .under-entry-content { margin-top: 2.6em; }
body.land-art .under-entry-content .related-entry-heading, body.land-art .under-entry-content .comment-title, body.land-art .under-entry-content h2 { margin: 0 0 1em; padding: 0 0 .5em; font-size: 20px; background: none; border: 0; border-bottom: 2px solid var(--art-line); color: var(--art-text); }
body.land-art .under-entry-content .related-entry-heading::before, body.land-art .under-entry-content .related-entry-heading::after, body.land-art .under-entry-content .comment-title::before, body.land-art .under-entry-content .comment-title::after { display: none; }
body.land-art .related-list .related-entry-card-wrap { border-radius: 12px; overflow: hidden; transition: transform .2s, box-shadow .2s; }
body.land-art .related-list .related-entry-card-wrap:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(0,0,0,.1); }
body.land-art .pager-post-navi a { border-radius: 12px; }
body.land-art .comment-form input[type="text"], body.land-art .comment-form input[type="email"], body.land-art .comment-form input[type="url"], body.land-art .comment-form textarea { border-radius: 10px; border: 1px solid rgba(0,0,0,.15); }
body.land-art .comment-form .submit, body.land-art #submit { border-radius: 999px !important; background: var(--art-accent) !important; color: #fff !important; border: 0 !important; padding: .8em 2.4em !important; }
body.land-art .author-info, body.land-art .footer-meta { font-size: 13px; color: var(--art-sub); }
/* 下の「PLAY」帯 */
body.land-art .land-art-more { margin-top: clamp(40px, 6vw, 70px) !important; }
body.land-art .land-art-sns { margin-top: 24px !important; }
/* 固定ページはタイトル帯を少し低く */
body.land-art--page .land-art-hero { padding-bottom: clamp(64px, 8vw, 96px); }
/* スマホ */
@media (max-width: 767px) {
  body.land-art #content-in { padding: 0 10px; margin-top: -36px; }
  body.land-art #main { border-radius: 14px; padding: 20px 16px !important; }
  body.land-art .entry-content { font-size: 16px; line-height: 1.9; }
  body.land-art .land-art-hero { padding-left: 18px; padding-right: 18px; }
}
/* ダークモード */
html.land-dark body.land-art { --art-card: #1c1f27; --art-text: #e6e8ec; --art-sub: #a0a6b1; --art-line: rgba(255,255,255,.1); }
html.land-dark body.land-art #main { box-shadow: 0 10px 40px rgba(0,0,0,.45); }
html.land-dark body.land-art .entry-content a { color: #8fb1ff; }
html.land-dark body.land-art .entry-content blockquote { background: rgba(86,139,255,.12); }
html.land-dark body.land-art .comment-form input, html.land-dark body.land-art .comment-form textarea { background: #262a33; color: #e6e8ec; border-color: rgba(255,255,255,.15); }

/* 本のページ（どど3Dブック☆）は本を大きく見せるため少し広く */
body.land-art--book { --art-w: 1080px; }
body.land-art--book .entry-content { font-size: 16px; }

/* どどらんど☆一覧（カテゴリー・タグ） */
body.land-art .land-art-hero .land-archive-title { margin: 0; padding: 0; background: none; border: 0; color: #fff; font-size: clamp(26px, 4.4vw, 46px); font-weight: 800; line-height: 1.3; letter-spacing: .03em; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
body.land-art .land-art-hero .land-archive-title [class*="fa"] { margin-right: .3em; font-size: .8em; opacity: .85; }
body.land-art .land-art-hero .land-archive-count { margin: 10px 0 0; color: rgba(255,255,255,.75); font-size: 13px; }
body.land-art--archive { --art-w: 1120px; }
/* カード内の見出し（タイトル帯と重複するもの）は隠す */
body.land-art--archive #main .archive-title { display: none; }
body.land-art--archive #main .category-content { margin-bottom: 2em; }
body.land-art--archive #main .category-content .eye-catch img { max-height: 420px; object-fit: cover; }
body.land-art--archive #main .list { gap: 18px; }
body.land-art--archive #main .entry-card-wrap, body.land-art--archive #main .a-wrap { border-radius: 14px; transition: transform .2s, box-shadow .2s; }
body.land-art--archive #main .entry-card-wrap:hover, body.land-art--archive #main .a-wrap:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(0,0,0,.1); }
body.land-art--archive #main .entry-card-thumb img { border-radius: 10px; }
body.land-art--archive #main .pagination .page-numbers { border-radius: 999px; }

/* 本文の幅（自動／標準／広い／全幅） */
body.land-art.land-art--w-wide { --art-w: 1240px; }
body.land-art.land-art--w-full { --art-w: 100%; }
body.land-art #content-in { width: auto; }
body.land-art.land-art--w-full #content-in { padding: 0 clamp(10px, 2vw, 28px); }
body.land-art.land-art--w-full .land-art-hero__in { max-width: 1400px; }
/* 書庫（どど3Dブック☆）はプラグインの見出しをタイトル帯に任せる */
body.land-art--library .dodo3db-archive-desc { margin: 0 0 1.4em; text-align: center; color: var(--art-sub); }
body.land-art--library .dodo3db-archive-desc p { margin: 0; }
body.land-art--library .dodo3db-library > .dodo3db-breadcrumb { margin: -.6em 0 1.2em; text-align: center; font-size: 13px; }
