/* ===== REVIX /low-voltage-bess/landowner/ (page05・新設) 土地オーナー＝バイオレット §3-3b × サムネ文法 2026-07-03 ===== */
:root{--theme:#31A886;--theme-deep:#155442;--theme-dark:#22745D;--theme-tint:#F1F8F6;--gold:#F5B500;--gold-line:#E3B94F;--ink:#16181C;--sub:#5A6270;--border:#E2E5E8;--serif:"Yu Mincho","Hiragino Mincho ProN","MS Mincho",serif;--gothic:"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic",Meiryo,sans-serif;--en:"Barlow",Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:var(--gothic);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
body.is-menu-open{overflow:hidden}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
button{border:0}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin-top:0}
a{color:inherit}
summary{list-style:none}
summary::-webkit-details-marker{display:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
#wrapper,#contents{width:100%}
.inner{width:min(100% - 96px,1200px);margin-right:auto;margin-left:auto}
.inner--narrow{max-width:880px}
.section{position:relative;padding:96px 0}
.section--soft{background:var(--theme-tint)}
.section--dark{color:#fff;background:linear-gradient(135deg,var(--theme-dark) 0%,var(--theme-deep) 100%)}
.sp-only{display:none}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}
.skip-link{position:fixed;top:10px;left:10px;z-index:9999;padding:10px 16px;color:var(--ink);background:var(--gold);text-decoration:none;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.breadcrumb{padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}
.breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding-top:0;padding-bottom:0;list-style:none}
.breadcrumb__item{color:var(--sub);font-size:13px}
.breadcrumb__item+.breadcrumb__item::before{margin-right:8px;color:#9AA3AD;content:"/"}
.breadcrumb__link{color:var(--theme-deep);text-decoration:none}
/* 見出し */
.section-heading{max-width:760px;margin:0 0 48px}
.section-heading--center{margin-left:auto;margin-right:auto;text-align:center}
.section-heading__eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--theme);font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase}
.section-heading__eyebrow::before{content:"";width:32px;height:2px;background:var(--theme)}
.section-heading--center .section-heading__eyebrow{justify-content:center}
.section-heading__eyebrow--light{color:var(--gold-line)}
.section-heading__eyebrow--light::before{background:var(--gold)}
.section-heading__title{margin-bottom:16px;font-family:var(--serif);font-size:25px;font-weight:700;line-height:1.5;letter-spacing:.02em}
.section--dark .section-heading__title{color:#fff}
.section-heading__lead{margin-bottom:0;color:var(--sub);font-size:17px;line-height:1.9}
.section--dark .section-heading__lead{color:rgba(255,255,255,.82)}
/* ボタン（金＝行動色） */
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:0 32px;border:1px solid transparent;border-radius:999px;color:var(--ink);background:var(--gold);box-shadow:0 10px 26px rgba(245,181,0,.24);font-size:16px;font-weight:700;line-height:1.4;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease,background-color .25s ease}
.button--white{color:var(--ink);background:var(--gold)}
.button--ghost{color:#fff;border-color:rgba(255,255,255,.6);background:transparent;box-shadow:none}
.button--large{min-height:60px;padding:0 40px;font-size:17px}
.button--compact{min-height:46px;padding:0 24px;font-size:14px;box-shadow:none}
@media (hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(245,181,0,.32);filter:brightness(.94)}.button--ghost:hover{background:rgba(255,255,255,.1);box-shadow:none;filter:none}}
.button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--theme-deep);font-weight:700;text-decoration:none}
.text-link::after{content:"";width:8px;height:8px;border-top:2px solid var(--theme);border-right:2px solid var(--theme);transform:rotate(45deg);transition:transform .25s ease}
@media (hover:hover) and (pointer:fine){.text-link:hover::after{transform:rotate(45deg) translate(2px,-2px)}}
.image-placeholder{display:grid;place-items:center;min-height:220px;border:2px dashed rgba(49, 168, 134,.4);border-radius:12px;color:var(--theme);background:var(--theme-tint);font-size:13px;font-weight:700}
.check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.check-list__item{position:relative;padding-left:28px;font-size:15px;font-weight:700}
.check-list__item::before{content:"";position:absolute;left:0;top:8px;width:14px;height:8px;border-left:2.5px solid var(--theme);border-bottom:2.5px solid var(--theme);transform:rotate(-45deg)}
/* ヒーロー（写真×バイオレットベール×明朝） */
.landowner-hero{position:relative;display:flex;align-items:center;min-height:72vh;padding:96px 0;overflow:hidden;color:#fff;background:var(--theme-deep)}
.landowner-hero__visual{position:absolute;inset:0}
.landowner-hero__visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}
.landowner-hero__overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(21, 84, 66,.95) 0%,rgba(21, 84, 66,.8) 45%,rgba(49, 168, 134,.3) 100%)}
.landowner-hero__inner{position:relative;z-index:2}
.landowner-hero__content{max-width:680px}
.landowner-hero__eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:var(--gold-line);font-family:var(--en);font-size:13px;font-weight:700;letter-spacing:.3em;text-transform:uppercase}
.landowner-hero__eyebrow::before{content:"";width:40px;height:2px;background:var(--gold)}
.landowner-hero__title{margin-bottom:20px}
.landowner-hero__title-sub{display:block;margin-bottom:10px;font-family:var(--serif);font-size:19px;font-weight:700;color:rgba(255,255,255,.9)}
.landowner-hero__title-main{display:block;font-family:var(--serif);font-size:42px;font-weight:700;line-height:1.4;letter-spacing:.02em}
.landowner-hero__lead{max-width:560px;margin-bottom:32px;color:#E6F3EF;font-size:17px;line-height:1.9}
.landowner-hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.landowner-hero__note{margin:18px 0 0;color:rgba(255,255,255,.7);font-size:12px}
@media (prefers-reduced-motion:no-preference){
.landowner-hero__eyebrow,.landowner-hero__title,.landowner-hero__lead,.landowner-hero__actions,.landowner-hero__note{animation:loRise .7s cubic-bezier(.22,1,.36,1) both}
.landowner-hero__title{animation-delay:.14s}.landowner-hero__lead{animation-delay:.28s}.landowner-hero__actions{animation-delay:.42s}.landowner-hero__note{animation-delay:.52s}
@keyframes loRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}
/* 実績ストリップ（濃地・金数字） */
.proof-strip{color:#fff;background:var(--theme-deep)}
.proof-strip__inner{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:40px;padding-bottom:40px}
.proof-strip__item{text-align:center;padding:8px 12px;border-left:1px solid rgba(255,255,255,.18)}
.proof-strip__item:first-child{border-left:0}
.proof-strip__value{display:block;color:var(--gold);font-family:var(--serif);font-size:34px;font-weight:700;line-height:1.3}
.proof-strip__label{display:block;margin-top:4px;color:rgba(255,255,255,.8);font-size:13px;font-weight:700}
.proof-strip__note{grid-column:1/-1;margin:6px 0 0;color:rgba(255,255,255,.55);font-size:11px;text-align:center}
/* お悩み3カード */
.concerns__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.concerns__card{padding:32px 26px;border:1px solid var(--border);border-radius:12px;background:var(--theme-tint);transition:transform .25s ease,box-shadow .25s ease}
@media (hover:hover) and (pointer:fine){.concerns__card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(21, 84, 66,.12)}}
.concerns__number{display:block;margin-bottom:12px;color:transparent;-webkit-text-stroke:1px rgba(49, 168, 134,.55);font-family:var(--en);font-size:48px;font-weight:700;line-height:1}
.concerns__title{margin-bottom:8px;font-family:var(--serif);font-size:18px;font-weight:700}
.concerns__text{margin:0;color:var(--sub);font-size:14px;line-height:1.8}
/* ベネフィット交互 */
.benefits__list{display:grid;gap:64px;margin:0;padding:0;list-style:none}
.benefits__item{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:56px}
.benefits__item--reverse .benefits__image{order:-1}
.benefits__number{display:block;margin-bottom:10px;color:transparent;-webkit-text-stroke:1px rgba(49, 168, 134,.5);font-family:var(--en);font-size:56px;font-weight:700;line-height:1}
.benefits__title{margin-bottom:12px;font-family:var(--serif);font-size:22px;font-weight:700}
.benefits__text{margin:0;color:var(--sub);font-size:16px;line-height:1.9}
.benefits__image img{display:block;width:100%;height:auto;border-radius:12px;background:#fff}
/* 収益モデル図（濃バイオレット帯＝格の中心・金アクセント） */
.income-model{color:#fff;background:linear-gradient(135deg,var(--theme-dark) 0%,var(--theme-deep) 100%)}
.income-model__diagram{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:12px;margin:48px 0 24px}
.income-model__party{display:grid;justify-items:center;align-content:center;gap:8px;padding:26px 18px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(255,255,255,.06);text-align:center}
.income-model__party--green{border-color:var(--gold-line);background:rgba(245,181,0,.1)}
.income-model__party-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:999px;background:rgba(255,255,255,.14);font-size:22px}
.income-model__party-name{font-family:var(--serif);font-size:17px;font-weight:700}
.income-model__party-note{color:rgba(255,255,255,.7);font-size:12px}
.income-model__operator{display:grid;place-items:center;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.1);font-size:13px;font-weight:700}
.income-model__arrows{display:grid;align-content:center;gap:8px}
.income-model__arrow{position:relative;width:64px;height:2px;background:var(--gold-line)}
.income-model__arrow--right::after{content:"";position:absolute;right:-1px;top:50%;width:9px;height:9px;border-top:2px solid var(--gold-line);border-right:2px solid var(--gold-line);transform:translateY(-50%) rotate(45deg)}
.income-model__arrow--left::after{content:"";position:absolute;left:-1px;top:50%;width:9px;height:9px;border-bottom:2px solid var(--gold-line);border-left:2px solid var(--gold-line);transform:translateY(-50%) rotate(45deg)}
.income-model__metric{text-align:center}
.income-model__metric-label{display:block;color:rgba(255,255,255,.75);font-size:12px;font-weight:700}
.income-model__metric-value{display:block;font-family:var(--serif);font-size:30px;font-weight:700;color:#fff}
.income-model__metric-value--accent{color:var(--gold)}
.income-model__panel{padding:26px 28px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.06)}
.income-model__summary{margin-bottom:14px;color:rgba(255,255,255,.9);font-size:15px;line-height:1.9}
.income-model__conditions-title{margin-bottom:8px;color:var(--gold-line);font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.2em}
.income-model__conditions-list{display:grid;gap:6px;margin:0;padding:0;list-style:none;color:rgba(255,255,255,.85);font-size:13px}
.income-model__conditions-list li{position:relative;padding-left:20px}
.income-model__conditions-list li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:6px;border-left:2px solid var(--gold-line);border-bottom:2px solid var(--gold-line);transform:rotate(-45deg)}
.income-model__note{margin:18px 0 0;color:rgba(255,255,255,.6);font-size:12px;line-height:1.8}
/* 診断（tint） */
.diagnosis{background:var(--theme-tint)}
.diagnosis__inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);align-items:center;gap:56px;padding-top:96px;padding-bottom:96px}
.diagnosis__title{margin-bottom:14px;font-family:var(--serif);font-size:25px;font-weight:700}
.diagnosis__lead{margin-bottom:24px;color:var(--sub);font-size:16px;line-height:1.9}
.diagnosis__checks{display:grid;gap:10px;margin:0 0 28px;padding:0;list-style:none}
.diagnosis__check{position:relative;padding-left:30px;font-size:15px;font-weight:700}
.diagnosis__check::before{content:"";position:absolute;left:0;top:7px;width:16px;height:9px;border-left:3px solid var(--theme);border-bottom:3px solid var(--theme);transform:rotate(-45deg)}
.diagnosis__actions{display:flex;flex-wrap:wrap;gap:14px}
.diagnosis__microcopy{margin:14px 0 0;color:var(--sub);font-size:12px}
.diagnosis__image img{display:block;width:100%;height:auto;border-radius:12px;background:#fff}
/* 条件テーブル */
.conditions__layout{display:grid;gap:24px}
.conditions__table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}
.conditions__table{width:100%;min-width:560px;border-collapse:collapse;background:#fff}
.conditions__table th,.conditions__table td{padding:16px 20px;border-bottom:1px solid var(--border);font-size:14px;line-height:1.7;text-align:left;vertical-align:top}
.conditions__table thead th{color:#fff;background:var(--theme-deep);font-family:var(--serif);font-size:15px}
.conditions__table tbody th{width:180px;color:var(--theme-deep);background:var(--theme-tint);font-weight:700;white-space:nowrap}
.conditions__table tbody tr:last-child th,.conditions__table tbody tr:last-child td{border-bottom:0}
.conditions__note{margin:0;color:var(--sub);font-size:12px}
/* 流れ */
.flow__list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none;counter-reset:lflow}
.flow__item{position:relative;padding:28px 22px;border:1px solid var(--border);border-radius:12px;background:#fff}
.flow__number{display:block;margin-bottom:12px;color:transparent;-webkit-text-stroke:1px rgba(49, 168, 134,.5);font-family:var(--en);font-size:44px;font-weight:700;line-height:1}
.flow__icon{display:none}
.flow__title{margin-bottom:8px;font-family:var(--serif);font-size:17px;font-weight:700}
.flow__text{margin:0;color:var(--sub);font-size:13px;line-height:1.8}
.flow__note{margin:16px 0 0;color:var(--sub);font-size:12px}
/* 管理・サポート */
.management__grid{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr);align-items:center;gap:56px}
.management__image img{display:block;width:100%;height:auto;border-radius:12px;background:#fff}
.management__title{margin-bottom:12px;font-family:var(--serif);font-size:25px;font-weight:700}
.management__lead{margin-bottom:24px;color:var(--sub);font-size:16px;line-height:1.9}
.management__content .management__item{position:relative;padding:14px 0 14px 30px;border-bottom:1px solid rgba(49, 168, 134,.25);font-size:15px;font-weight:700}
.management__content .management__item:first-of-type{border-top:1px solid rgba(49, 168, 134,.25)}
.management__item::before{content:"";position:absolute;left:2px;top:24px;width:14px;height:8px;border-left:2.5px solid var(--theme);border-bottom:2.5px solid var(--theme);transform:rotate(-45deg)}
/* エリアカード・関連リンク */
.area-card{padding:24px;border:1px solid var(--border);border-radius:12px;background:#fff}
.area-card__tag{display:inline-block;margin-bottom:8px;padding:4px 14px;border-radius:999px;color:#fff;background:var(--theme);font-size:12px;font-weight:700}
.area-card__title{margin-bottom:6px;font-family:var(--serif);font-size:17px;font-weight:700}
.area-card__text{margin:0;color:var(--sub);font-size:13px}
.related-links__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related-links__card{position:relative;display:flex;flex-direction:column;padding:28px 24px;border:1px solid var(--border);border-radius:12px;background:#fff;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
@media (hover:hover) and (pointer:fine){.related-links__card:hover{transform:translateY(-4px);border-color:rgba(49, 168, 134,.5);box-shadow:0 12px 32px rgba(21, 84, 66,.1)}}
.related-links__number{margin-bottom:10px;color:transparent;-webkit-text-stroke:1px rgba(49, 168, 134,.5);font-family:var(--en);font-size:40px;font-weight:700;line-height:1}
.related-links__title{margin-bottom:8px;font-family:var(--serif);font-size:17px;font-weight:700}
.related-links__text{flex:1;margin-bottom:14px;color:var(--sub);font-size:13px;line-height:1.8}
.related-links__arrow{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--theme);position:relative;transition:transform .25s ease}
.related-links__arrow::before{content:"";width:7px;height:7px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);margin-left:-2px}
@media (hover:hover) and (pointer:fine){.related-links__card:hover .related-links__arrow{transform:translateX(4px)}}
/* FAQ */
.faq__list{display:grid;gap:12px}
.faq__item{border:1px solid var(--border);border-radius:12px;background:#fff;transition:box-shadow .25s ease}
.faq__item[open]{box-shadow:0 12px 32px rgba(21, 84, 66,.08)}
.faq__question{display:grid;grid-template-columns:44px 1fr 24px;align-items:center;gap:14px;padding:22px 24px;cursor:pointer}
.faq__mark{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;color:#fff;background:var(--theme-deep);font-family:var(--en);font-size:15px;font-weight:700}
.faq__mark--answer{color:var(--theme-deep);background:var(--theme-tint)}
.faq__question-text{font-size:16px;font-weight:700}
.faq__toggle{position:relative;width:16px;height:16px}
.faq__toggle::before,.faq__toggle::after{content:"";position:absolute;top:50%;left:50%;background:var(--theme);transition:transform .25s ease}
.faq__toggle::before{width:16px;height:2.5px;transform:translate(-50%,-50%)}
.faq__toggle::after{width:2.5px;height:16px;transform:translate(-50%,-50%)}
.faq__item[open] .faq__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__answer{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:0 24px 26px}
.faq__answer-text{margin:0;color:var(--sub);font-size:15px;line-height:1.9}
/* 最終CTA */
.final-cta{position:relative;overflow:hidden;color:#fff;background:var(--theme-deep)}
.final-cta__visual{position:absolute;inset:0}
.final-cta__visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}
.final-cta__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(21, 84, 66,.94) 0%,rgba(21, 84, 66,.86) 55%,rgba(34, 116, 93,.8) 100%)}
.final-cta__inner{position:relative;z-index:2;padding-top:96px;padding-bottom:96px;text-align:center}
.final-cta__eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;color:var(--gold-line);font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.3em}
.final-cta__eyebrow::before,.final-cta__eyebrow::after{content:"";width:32px;height:1px;background:var(--gold)}
.final-cta__title{max-width:760px;margin:0 auto 20px;font-family:var(--serif);font-size:25px;font-weight:700;line-height:1.6;color:#fff}
.final-cta__lead{max-width:640px;margin:0 auto 32px;color:rgba(255,255,255,.85);font-size:15px;line-height:1.9}
.final-cta__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.final-cta__note{margin:22px 0 0;color:rgba(255,255,255,.66);font-size:12px}
/* 固定CTA */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:900;display:none;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;background:rgba(21, 84, 66,.97)}
.sticky-cta__text{color:#fff;font-size:13px;font-weight:700}
/* フッター */
.footer{color:#000;font-family:var(--gothic)}
.footer__inner{box-sizing:border-box;margin:100px 0;padding:0 50px}
.footer__top{display:flex}
.footer__intro{display:flex;flex:0 0 400px;flex-direction:column}
.footer__copy{display:block;width:355px;margin:0}
.footer__copy img{display:block;width:100%;height:auto}
.footer__description{display:block;margin:30px 0 0;font-size:14px;font-weight:400;line-height:1.9}
.footer__nav{width:calc(100% - 400px)}
.footer__columns{display:flex;justify-content:space-between;width:100%;margin:0;padding:24px 0 28px;list-style:none}
.footer__column{display:flex;flex-direction:column;box-sizing:border-box;width:33.3333%;padding:0 35px;gap:10px}
.footer__column--center{border-left:1px dotted var(--border)}
.footer__heading{display:flex;align-items:center;color:#000;font-size:15px;font-weight:600;line-height:1.6;text-decoration:none}
.footer__heading--spaced{margin-top:15px}
.footer__heading span{position:relative;bottom:-1px;display:block;width:17px;margin-left:5px;border-radius:50%;aspect-ratio:1;background:linear-gradient(135deg,var(--theme-deep) 0%,var(--theme) 100%)}
.footer__heading span::before{position:absolute;top:50%;left:50%;z-index:2;display:block;width:7px;content:"";transform:translate(-25%,-50%);clip-path:polygon(0 15%,15% 0,65% 50%,15% 100%,0 85%,35% 50%,0 15%);aspect-ratio:1;background-color:#fff}
.footer__group{margin:0}
.footer__summary{position:relative;display:flex;align-items:center;justify-content:space-between;color:#000;font-size:14px;font-weight:500;line-height:1.6;cursor:pointer;transition:color .3s ease}
.footer__summary::-webkit-details-marker{display:none}
.footer__summary::after{display:block;width:13px;content:"";transition:background-color .3s ease;clip-path:polygon(0 45%,45% 45%,45% 0,55% 0,55% 45%,100% 45%,100% 55%,55% 55%,55% 100%,45% 100%,45% 55%,0 55%);aspect-ratio:1;background-color:#000}
.footer__group[open] .footer__summary::after{clip-path:polygon(0 45%,100% 45%,100% 55%,0 55%)}
.footer__links{display:flex;flex-direction:column;box-sizing:border-box;margin:5px 0;padding:15px;border-radius:6px;background-color:var(--theme-tint)}
.footer__nav-link{display:block;color:#000;font-size:13px;font-weight:400;line-height:1.65;text-decoration:none;transition:color .3s ease}
.footer__bottom{display:flex;align-items:flex-start;margin-top:50px}
.footer__company{display:flex;flex-direction:column;gap:20px 0}
.footer__brand-row{display:flex;align-items:center;gap:0 30px}
.footer__logo{display:block;width:200px}
.footer__bess{display:block;width:170px}
.footer__logo img,.footer__bess img{display:block;width:100%;height:auto}
.footer__link{display:flex;align-items:center;gap:0 5px;color:#000;font-size:14px;font-weight:400;line-height:1.4;text-decoration:none}
.footer__link span{display:block;width:15px;line-height:1}
.footer__link img{display:block;width:100%;height:auto}
.footer__copyright{margin:0;color:#000;font-size:11px;font-weight:400;line-height:1.6}
.footer__copyright--mobile{display:none}
@media (hover:hover) and (pointer:fine){.footer__heading:hover,.footer__summary:hover,.footer__nav-link:hover,.footer__link:hover{color:var(--theme)}.footer__summary:hover::after{background-color:var(--theme)}}
@media (max-width:1350px){.footer__top{flex-direction:column}.footer__intro{flex-basis:auto;width:100%}.footer__description br{display:none}.footer__nav{width:100%;margin-top:50px}.footer__column{width:31.6666%;padding:0}}
@media (max-width:850px){.footer__inner{margin:50px 0;padding:0 30px}.footer__intro{align-items:center}.footer__copy{width:300px}.footer__description{max-width:500px;margin:10px auto 0;text-align:center}.footer__nav{display:none}.footer__bottom{flex-direction:column;align-items:center;margin-top:20px}.footer__brand-row{flex-direction:column;align-items:center;gap:20px 0;width:100%}.footer__copyright--desktop{display:none}.footer__company{align-items:center;width:100%;gap:24px 0}.footer__logo{width:180px}.footer__bess{width:150px}.footer__link{justify-content:center;font-size:13px}.footer__copyright--mobile{display:block;margin-top:30px;text-align:center}}
@media (max-width:568px){.footer__inner{padding:0 20px}.footer__copy{width:min(100%,300px)}}
/* レスポンシブ */
@media (max-width:1100px){.benefits__item,.diagnosis__inner,.management__grid{grid-template-columns:1fr;gap:40px}.benefits__item--reverse .benefits__image{order:0}.income-model__diagram{grid-template-columns:1fr;justify-items:center}.income-model__arrows{grid-auto-flow:column}.income-model__arrow--right::after{transform:translateY(-50%) rotate(135deg)}.income-model__arrow--left::after{transform:translateY(-50%) rotate(-45deg)}.concerns__grid,.related-links__grid{grid-template-columns:1fr 1fr}.flow__list{grid-template-columns:1fr 1fr}}
@media (max-width:850px){.inner{width:min(100% - 40px,680px)}.section{padding:48px 0}.sp-only{display:block}.section-heading{margin-bottom:32px}.section-heading__title{font-size:21px}.section-heading__lead{font-size:15px}.button{width:100%;min-height:52px}.breadcrumb{padding:11px 0}
.landowner-hero{min-height:auto;padding:64px 0 48px}.landowner-hero__title-main{font-size:30px}.landowner-hero__title-sub{font-size:16px}.landowner-hero__lead{font-size:15px}.landowner-hero__actions{display:grid;gap:10px}
.proof-strip__inner{grid-template-columns:1fr;gap:8px}.proof-strip__item{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding-top:14px}.proof-strip__item:first-child{border-top:0}
.concerns__grid,.related-links__grid,.flow__list{grid-template-columns:1fr;gap:12px}

.income-model__metric-value{font-size:24px}
.final-cta__inner{padding-top:64px;padding-bottom:64px}.final-cta__title{font-size:21px}.final-cta__actions{display:grid;gap:10px}
.sticky-cta{display:flex}.footer__inner{margin-bottom:110px}}

/* ===== headerfix2_20260704 ===== */

/* ===== HEADER/SP-MENU PORT from page03.css (headerfix_20260704+headercolor_20260704) 共通ヘッダー整合・緑固定 ===== */
.header{position: relative; z-index: 100; width: 100%; color: #000; background: #fff;}
.header *, .header *::before, .header *::after{box-sizing: border-box;}
.header__inner{width: 100%; padding: 0 50px;}
.header__top{display: flex; align-items: center; justify-content: space-between;}
.header__brand{padding-top: 0;}
.header__logo{display: block; width: 200px; line-height: 0;}
.header__logo img{display: block; width: 100%; height: auto;}
.header__tagline{margin: 10px 0 0; color: #000; font-size: 14px; font-weight: 500; line-height: 1.6;}
.header__utility{display: flex; align-items: center; gap: 30px;}
.header__lang{position: relative; flex: 0 0 auto;}
.header__lang-button{display: inline-flex; align-items: center; justify-content: center;
  width: 112px; height: 44px; padding: 0 14px;
  border: 1px solid #d9d9d9; border-radius: 6px;
  color: #000; background: #fff; font: inherit; font-size: 14px; font-weight: 500; line-height: 1; cursor: pointer;}
.header__lang-arrow{width: 7px; height: 7px; margin-left: 10px;
  border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg); transition: transform 0.2s ease;}
.header__lang.is-open .header__lang-arrow{transform: translateY(2px) rotate(225deg);}
.header__lang-menu{position: absolute; top: calc(100% + 8px); right: 0; z-index: 10;
  display: grid; width: 150px; padding: 8px;
  border: 1px solid #d9d9d9; border-radius: 6px; visibility: hidden; background: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1); opacity: 0; transform: translateY(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;}
.header__lang.is-open .header__lang-menu{visibility: visible; opacity: 1; transform: translateY(0);}
.header__lang-link{display: block; padding: 10px 12px; border-radius: 4px; color: #000; font-size: 14px; font-weight: 400; line-height: 1.4; text-decoration: none;}
.header__lang-link.is-current{background: #EDF6F1; font-weight: 600;}
.header__actions{position: relative; top: -45px;
  display: flex; align-items: center; justify-content: center; gap: 20px;
  width: auto; padding: 100px 20px 20px;
  border-radius: 0 0 10px 10px; background: #1E8A58;}
.header__action-link{display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  min-height: 32px; padding: 0 10px;
  color: #fff; font-size: 16px; font-weight: 500; line-height: 1; white-space: nowrap; text-decoration: none;}
.header__action-link img{display: block; flex: 0 0 auto; width: auto; max-height: 18px;}
.header__nav{display: flex; align-items: center; justify-content: flex-end; gap: 30px; margin-top: 10px;}
.header__nav-link{color: #000; font-size: 17px; font-weight: 500; line-height: 1.4; text-decoration: none;}
.header__lang-button:focus-visible, .header__lang-link:focus-visible, .header__action-link:focus-visible, .header__nav-link:focus-visible, .header__logo:focus-visible{outline: 2px solid #1E8A58; outline-offset: 3px;}
.sp-menu{display: none;}
.sp-menu__button{position: fixed; top: 18px; right: 18px; z-index: 1002;
  display: none; width: 46px; height: 46px; padding: 12px 10px;
  border-radius: 50%; background: #0F4C30;
  box-shadow: 0 10px 28px rgba(15, 76, 48, 0.28);}
.sp-menu__line{display: block; width: 22px; height: 2px; margin: 4px auto; background: #fff; transition: transform 0.3s ease, opacity 0.3s ease;}
.sp-menu__panel{position: fixed; inset: 0; z-index: 1001;
  display: flex; visibility: hidden; flex-direction: column; justify-content: center;
  padding: 100px 30px 40px; color: #fff; background: rgba(15, 76, 48, 0.98);
  opacity: 0; transition: visibility 0.3s ease, opacity 0.3s ease;}
.sp-menu__nav{display: grid; gap: 4px;}
.sp-menu__link{padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.16); font-size: 18px; font-weight: 700; text-decoration: none;}
.sp-menu.is-open .sp-menu__panel{visibility: visible; opacity: 1;}
.sp-menu.is-open .sp-menu__line:nth-child(1){transform: translateY(6px) rotate(45deg);}
.sp-menu.is-open .sp-menu__line:nth-child(2){opacity: 0;}
.sp-menu.is-open .sp-menu__line:nth-child(3){transform: translateY(-6px) rotate(-45deg);}
@media (hover: hover) and (pointer: fine){
.header__lang-button:hover{border-color: #1E8A58;}
.header__lang-link:hover{background: #EDF6F1;}
.header__action-link:hover{opacity: 0.82;}
.header__nav-link:hover{color: #1E8A58;}
}
@media (max-width: 1250px){
.header__utility{gap: 20px;}
.header__nav{gap: 22px;}
}
@media (max-width: 1024px){
.header__inner{padding: 0 35px;}
.header__tagline{display: none;}
}
@media (max-width: 850px){
.header__inner{padding: 14px 30px;}
.header__top{align-items: center; gap: 16px;}
.header__logo{width: 160px;}
.header__utility{margin-left: auto;}
.header__lang-button{width: 98px; height: 40px; padding: 0 12px; font-size: 13px;}
.header__lang-menu{width: 140px;}
.header__actions, .header__nav{display: none;}
.sp-menu, .sp-menu__button{display: block;}
}
@media (max-width: 568px){
.header__inner{padding-right: 20px; padding-left: 20px;}
.header__logo{width: 145px;}
}

/* landowner_readability_20260706: 可読性修正（中村さん指摘・スクショ2枚） server=truth基準 */
/* ① income-model(紫グラデ背景)のリードが --sub#5A6270 で暗く不可視 → dark section用の既存トークン rgba(255,255,255,.82) に統一 (CR 5.46〜8.11) */
.income-model .section-heading__lead{color:rgba(255,255,255,.82)}
/* ② diagnosis は .section--dark の color:#fff を継承しつつ .diagnosis で背景だけ #F1F8F6 に戻すため、色未指定の文字(タイトル/チェックリスト番号・説明文)が白のまま不可視。セクション既定色を ink に戻し、見出しはブランド deep に (CR 15.54 / 9.83) */
.diagnosis{color:var(--ink)}
.diagnosis__title{color:var(--theme-deep)}

/* landowner_arrow_labels_20260706: 図解の矢印ラベル(土地賃貸借/月額賃料)が矢印線・→←・相互に重なる不具合の修正（中村さん指摘）CSS-only */
.income-model__arrows{position:relative;grid-auto-flow:row;row-gap:12px}
.income-model__arrow{overflow:visible}
.income-model__arrow span{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;line-height:1.3;letter-spacing:.02em;color:rgba(255,255,255,.85)}
.income-model__arrow--right span{bottom:calc(100% + 7px)}
.income-model__arrow--left span{top:calc(100% + 7px)}
/* SP: 縦積み時は上下余白を広げラベルがボックスに被らないようにし、矢印は横向き(右/左)のまま頭の向きを戻す */
@media (max-width:1100px){
  .income-model__diagram{gap:38px}
  .income-model__arrow--right::after{transform:translateY(-50%) rotate(45deg)}
  .income-model__arrow--left::after{transform:translateY(-50%) rotate(45deg)}
}

/* landowner_diagram_center_20260707: PCで図解が左寄り（.income-model__diagramが5列 1fr auto 1fr auto 1fr 指定なのに子要素3つ→右2列が空き左寄せ）→ PCのみ3列にして左右対称に。SP(≤1100px)の1列積みは既存メディアクエリが担うため min-width:1101px に限定 */
@media (min-width:1101px){
  .income-model__diagram{grid-template-columns:1fr auto 1fr}
}

/* recolor_emerald_20260709 */
