/*
Theme Name: Mujaki
Theme URI: https://farm-mujaki.com/
Description: ふぁーむ無邪氣（Mount Fuji Life 無邪氣）専用テーマ。
Author: 株式会社cantik
Version: 3.2.4
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: mujaki
*/

/* ふぁーむ無邪氣 デモ ― 白×大きな写真×1画面1テーマ（FARMAN・北山農園・KURKKU・アブルボア・FORCE を参考） */
:root{
  /* 色：参考の近白地＋黒文字。アクセントだけ無邪氣の深緑に差し替え（report.md） */
  --paper:#fafafa; --white:#fff; --ink:#141414; --sub:#5f6f81; --mute:#777; --line:#e3e1dc;
  --green:#3d6a34; --deep:#22381f; --leaf:#93b55c; --earth:#b98a3e; --sky:#f2f1ee;
  /* 書体：和文は既存を維持、英字は Sorts Mill Goudy（参考と同じ役割）＋Jost */
  /* 参考サイト（toco.）が実際に指定しているスタックをそのまま使う */
  --gothic:Avenir,"Open Sans","Helvetica Neue",Helvetica,Arial,Verdana,Roboto,游ゴシック,"Yu Gothic",游ゴシック体,YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI",メイリオ,Meiryo,sans-serif;
  --mincho:"Times New Roman",游明朝,"Yu Mincho",游明朝体,YuMincho,"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",HiraMinProN-W3,HGS明朝E,serif;
  --en:"Sorts Mill Goudy","Times New Roman",serif;
  --en-sans:Avenir,"Open Sans","Helvetica Neue",Helvetica,Arial,Verdana,Roboto,"Yu Gothic",sans-serif;
  /* 寸法：実測 本文16 / 見出し28（ジャンプ率1.75）/ 幅1170 / 余白96 */
  --fs-body:16px; --fs-small:14px; --fs-lead:21px;
  --fh-h2:clamp(22px,2.2vw,28px); --fh-h1:clamp(24px,2.6vw,32px);
  --lh-body:2.0; --lh-head:1.85;
  --ls:.06em; --ls-en:.2em;
  --sec-pad:96px; --sec-pad-s:75px; --wrap:1170px; --wrap-wide:1230px;
  --radius:0px; --shadow:none;
  --dur:.3s; --dur-fast:.15s; --ease:ease-in-out;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--gothic);color:var(--ink);background:var(--paper);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}  /* height属性がCSSに勝つのを基本規則で止める */
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);width:calc(100% - 56px);margin-inline:auto}

/* デモ帯 */
.demo{position:relative;z-index:60;background:#111;color:#fff;font-size:12px;text-align:center;padding:6px 12px;letter-spacing:.06em}

/* ヘッダー */
.hd{position:absolute;top:31px;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 36px;color:#fff;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),padding var(--dur) var(--ease)}
.hd.fixed{position:fixed;top:0;background:rgba(251,250,246,.96);color:var(--ink);padding:10px 36px;backdrop-filter:blur(6px)}
.hd.sub{position:sticky;top:0;background:rgba(251,250,246,.96);color:var(--ink);}
.logo{display:flex;align-items:center;gap:12px}
.logo .mk{width:42px;height:42px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;font-family:var(--mincho);font-weight:800;font-size:19px}
.logo b{display:block;font-family:var(--mincho);font-size:21px;letter-spacing:.14em;line-height:1.2}
.logo small{display:block;font-family:var(--en-sans);font-size:12px;letter-spacing:.24em;opacity:.85}
.gnav{display:flex;align-items:center;gap:26px;font-size:13.5px;font-weight:500}
.gnav a{position:relative;padding:4px 0}
.gnav a:not(.btn-mail)::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:currentColor;transition:width var(--dur-fast) var(--ease)}
.gnav a:not(.btn-mail):hover::after{width:100%}
.menu-btn{display:none;width:44px;height:44px;border:0;background:none;color:inherit;cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:10px;right:10px;height:2px;background:currentColor;transition:.3s}
.menu-btn span:nth-child(1){top:15px}.menu-btn span:nth-child(2){top:21px}.menu-btn span:nth-child(3){top:27px}

/* ヒーロー（躍動感：ゆっくりズームするスライド） */
.hero{position:relative;height:100svh;min-height:600px;overflow:hidden;color:#fff;display:grid;place-items:center;text-align:center}
.hero .slides,.hero .slides figure{position:absolute;inset:0}
.hero .slides figure{opacity:0;transition:opacity 1.6s ease}
.hero .slides figure.on{opacity:1}
.hero .slides img{width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.hero .slides figure.on img{animation:kb 9s ease-out forwards}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.14)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.26) 42%,rgba(0,0,0,.5))}
.hero .copy{position:relative;z-index:2;padding:0 20px}
/* エンブレム：円の中に白線のマーク、下に社名。参考の組み方に合わせる */
.emblem{display:grid;place-items:center;width:clamp(190px,21vw,250px);aspect-ratio:1;margin:0 auto 30px;border:1px solid rgba(255,255,255,.9);border-radius:50%}
.emblem img{width:52%;height:auto;filter:brightness(0) invert(1)}
.hero h1{font-family:var(--mincho);font-weight:600;font-size:clamp(30px,4vw,46px);line-height:1.3;letter-spacing:.3em;text-indent:.3em}
.hero .en{font-family:var(--en);font-style:italic;letter-spacing:.2em;font-size:14px;opacity:.9;margin-top:14px}
.hero .lead{margin-top:28px;font-size:var(--fs-small);letter-spacing:.12em;line-height:2.1;opacity:.95}
.hero .scroll{position:absolute;z-index:2;bottom:22px;left:50%;transform:translateX(-50%);font-family:var(--en-sans);font-size:12px;letter-spacing:.3em}
.hero .scroll::after{content:"";display:block;width:1px;height:46px;background:#fff;margin:10px auto 0;animation:sc 2s infinite}
@keyframes sc{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.movie-tag{position:absolute;z-index:2;right:24px;bottom:28px;font-size:12px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.5);padding:5px 12px;border-radius:999px;letter-spacing:.06em}

/* セクション共通（1画面1テーマ） */
.sec{padding:var(--sec-pad) 0;position:relative}
.sec.screen{min-height:100svh;display:flex;align-items:center}
.sec.white{background:var(--white)}
.sec.sky{background:var(--sky)}
.sec.deep{background:var(--deep);color:#fff}
.lbl{font-family:var(--en);font-style:normal;font-size:13px;letter-spacing:.24em;color:var(--mute);font-weight:400;margin:8px 0 0;text-indent:.24em}
.h2::before{content:"";display:block;width:34px;height:1px;background:var(--line);margin:0 0 26px}
.center .h2::before{margin-inline:auto}
.deep .h2::before{background:rgba(255,255,255,.4)}
.deep .lbl{color:rgba(255,255,255,.62)}
.h2{font-family:var(--mincho);font-weight:600;font-size:var(--fh-h2);line-height:var(--lh-head);letter-spacing:.14em}
.center{text-align:center}
.center{text-align:center}

.txt{color:var(--sub);font-size:var(--fs-body);line-height:var(--lh-body);font-family:var(--mincho);letter-spacing:.1em}
.deep .txt{color:rgba(255,255,255,.82)}
.more{display:inline-flex;align-items:center;gap:14px;font-weight:500;font-size:var(--fs-small);letter-spacing:.14em;border-bottom:1px solid var(--line);padding-bottom:8px;margin-top:40px;transition:gap var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.more::after{content:"→";font-family:var(--en)}
.more:hover{gap:22px;border-color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:#fff;font-weight:500;padding:15px 38px;border-radius:0;letter-spacing:var(--ls-en);font-size:var(--fs-small);transition:background var(--dur) var(--ease),opacity var(--dur) var(--ease)}
.btn:hover{background:var(--deep)}
.btn.ghost{background:transparent;border:1.5px solid currentColor;color:inherit}
.btn.light{background:#fff;color:var(--deep)}

/* 写真がない枠（差し替え前提） */
.ph{background:repeating-linear-gradient(135deg,#e9e6dc 0 14px,#e2dfd3 14px 28px);display:grid;place-items:center;text-align:center;color:#8a8576;font-size:13px;letter-spacing:.06em;padding:16px}
.ph b{display:block;font-size:15px;color:#6f6a5c;margin-bottom:4px}

/* 無邪氣のこと（北山農園の「〇〇のこと」型：中央に大きく） */
.about{text-align:center}
.about .big{font-family:var(--mincho);font-weight:600;font-size:clamp(22px,2.6vw,32px);line-height:2;letter-spacing:.18em;margin:34px 0 34px}
.about .big em{font-style:normal;color:var(--green)}
.about .txt{max-width:680px;margin-inline:auto}
.about-photos{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:18px;margin-top:70px;align-items:end}
.about-photos img,.about-photos .ph{width:100%;aspect-ratio:3/4;object-fit:cover}
.about-photos img.mid{aspect-ratio:4/3}

/* とても大切なこと */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:64px;border-top:1px solid var(--line)}
.values > div{padding:42px 32px;border-right:1px solid var(--line);text-align:center}
.values > div:last-child{border-right:0}
.values .vn{font-family:var(--en-sans);font-size:40px;font-weight:300;color:var(--leaf);line-height:1;letter-spacing:.08em}
.values h3{font-family:var(--mincho);font-size:20px;font-weight:600;margin:18px 0 12px;letter-spacing:.16em}
.values p{font-size:14px;color:var(--sub);line-height:2}

/* 一日の流れ（若者向けに躍動感） */
.day{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px}
.day .st{position:relative;overflow:hidden;background:transparent;border:1px solid rgba(255,255,255,.22);padding:30px 26px 32px;transition:background var(--dur) var(--ease)}
.day .st:hover{background:rgba(255,255,255,.06)}
.day .tm{font-family:var(--en-sans);font-size:38px;font-weight:300;letter-spacing:.04em;color:var(--leaf);line-height:1}
.day .ic{font-size:12px;letter-spacing:.2em;color:rgba(255,255,255,.6);margin:10px 0 14px;font-family:var(--en-sans)}
.day h3{font-size:19px;margin-bottom:8px;letter-spacing:.08em}
.day p{font-size:13.5px;color:rgba(255,255,255,.78);line-height:1.95}
.day-note{margin-top:48px;font-family:var(--mincho);font-size:clamp(17px,1.7vw,21px);letter-spacing:.18em;text-align:center}

/* 事業（FARMAN型：一覧→詳細へ） */
.biz{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px}
.bz{position:relative;display:block;background:var(--white);border:1px solid var(--line);overflow:hidden;transition:border-color var(--dur-fast) var(--ease)}
.bz:hover{border-color:var(--ink)}
.bz .im{aspect-ratio:16/9;overflow:hidden}
.bz .im img,.bz .im .ph{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease)}
.bz:hover .im img{transform:scale(1.06)}
.bz .bd{padding:26px 30px 30px}
.bz .no{font-family:var(--en);font-size:12px;letter-spacing:.3em;color:var(--green)}
.bz h3{font-size:22px;letter-spacing:.08em;margin:6px 0 4px}
.bz .who{display:inline-block;font-size:12px;font-weight:700;color:var(--mute);border:1px solid var(--line);border-radius:0;padding:2px 10px;margin-bottom:12px}
.bz p{font-size:14px;color:var(--sub);line-height:1.95}
.bz .go{position:absolute;right:26px;bottom:24px;width:40px;height:40px;border:1px solid var(--line);color:var(--ink);display:grid;place-items:center;font-family:var(--en-sans);font-size:15px;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}
.bz:hover .go{border-color:var(--ink)}

/* イベント（KURKKU型） */
.evhead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.ev{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:48px}
.evc{background:var(--white);border:1px solid var(--line);transition:border-color var(--dur-fast) var(--ease)}
.evc:hover{border-color:var(--ink)}
.evc .im{position:relative;aspect-ratio:4/3;overflow:hidden}
.evc .im img,.evc .im .ph{width:100%;height:100%;object-fit:cover}
.evc .date{position:absolute;left:0;top:0;background:var(--green);color:#fff;text-align:center;padding:10px 14px;font-family:var(--en);line-height:1.1}
.evc .date b{display:block;font-size:26px;font-weight:600}
.evc .date small{font-size:12px;letter-spacing:.14em}
.evc .bd{padding:20px 22px 24px}
.tag{display:inline-block;font-size:12px;font-weight:500;color:var(--mute);background:transparent;border:1px solid var(--line);border-radius:0;padding:2px 9px;margin-right:8px}
.tag.e{color:var(--mute);background:transparent}
.evc h3{font-size:17px;line-height:1.6;margin:10px 0 6px;letter-spacing:.04em}
.evc p{font-size:13px;color:var(--mute)}
.sample{font-size:12px;color:var(--mute);margin-top:18px}

/* 野菜（しあわせ野菜畑型：野菜ごとのカテゴリ） */
.vtabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:40px}
.vtabs button{font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.08em;padding:10px 24px;border-radius:0;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.vtabs button.on,.vtabs button:hover{background:var(--green);color:#fff}
.veg{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}
.vg{background:#fff;border:1px solid var(--line);transition:opacity .3s,transform .3s}
.vg.hide{display:none}
.vg .im{aspect-ratio:1/1;overflow:hidden;position:relative}
.vg .im img{width:100%;height:100%;object-fit:cover}
.vg .kanji{width:100%;height:100%;display:grid;place-items:center;font-family:var(--mincho);font-weight:400;font-size:76px;color:var(--ink);background:var(--sky);letter-spacing:.1em}
.vg .bd{padding:16px 18px 20px}
.vg .season{font-family:var(--en-sans);font-size:12px;letter-spacing:.2em;color:var(--mute)}
.vg h3{font-size:18px;letter-spacing:.08em;margin:2px 0 8px}
.vg .eat{font-size:12.5px;color:var(--sub);line-height:1.8;border-top:1px dashed var(--line);padding-top:8px}
.vg .eat b{color:var(--mute);font-size:12px;display:block;letter-spacing:.1em}

/* ものがたり（写真と読み物） */
.story{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}
.story .ph-wrap{position:relative}
.story .ph-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover}
.story .ph-wrap .sub{position:absolute;right:-30px;bottom:-40px;width:42%;border:8px solid var(--paper);aspect-ratio:1/1;object-fit:cover}
.story .vt{font-family:var(--mincho);font-size:clamp(21px,2.4vw,30px);line-height:2;letter-spacing:.18em;font-weight:600;margin:14px 0 26px}

/* プロジェクト（全面写真に重ねる） */
.proj{position:relative;color:#fff;overflow:hidden}
.proj .bg{position:absolute;inset:0}
.proj .bg img{width:100%;height:100%;object-fit:cover}
.proj::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,32,18,.82),rgba(20,32,18,.35))}
.proj .wrap{position:relative;z-index:2}
.proj .lbl{color:var(--leaf)}
.proj .txt{color:rgba(255,255,255,.86);max-width:560px}
.steps{display:flex;gap:0;margin:46px 0 40px;max-width:820px}
.steps > div{flex:1;border-top:2px solid rgba(255,255,255,.35);padding:18px 18px 0 0;position:relative}
.steps > div::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--leaf)}
.steps .y{font-family:var(--en-sans);font-size:23px;font-weight:300;letter-spacing:.1em;font-variant-numeric:lining-nums}
.steps b{display:block;font-size:15px;margin:4px 0}
.steps small{font-size:12.5px;color:rgba(255,255,255,.75);line-height:1.8;display:block}

/* 採用（若者向け・大きな文字） */
.rec .huge{font-family:var(--mincho);font-weight:400;font-size:clamp(23px,2.8vw,32px);line-height:1.9;letter-spacing:.22em}
.rec .huge span{color:var(--leaf)}
.rec .grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-top:20px}
.rec ul{list-style:none;display:grid;gap:14px}
.rec li{display:flex;gap:16px;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:14px}
.rec li .n{font-family:var(--en-sans);font-size:24px;font-weight:300;color:var(--leaf);line-height:1;min-width:42px;letter-spacing:.06em}
.rec li b{display:block;font-size:16px;margin-bottom:2px}
.rec li span{font-size:13.5px;color:rgba(255,255,255,.75)}
.marquee{overflow:hidden;white-space:nowrap;margin-top:70px;border-block:1px solid rgba(255,255,255,.15);padding:18px 0}
.marquee p{display:inline-block;font-family:var(--en-sans);font-size:clamp(24px,3.2vw,40px);font-weight:300;letter-spacing:.2em;color:rgba(255,255,255,.18);animation:mq 40s linear infinite}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* コラム */
.col{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:48px}
.cc{background:var(--white);border:1px solid var(--line);transition:border-color var(--dur-fast) var(--ease)}
.cc:hover{border-color:var(--ink)}
.cc img{aspect-ratio:3/2;object-fit:cover;width:100%}
.cc .bd{padding:18px 20px 22px}
.cc time{font-family:var(--en);font-size:12px;color:var(--mute);letter-spacing:.1em}
.cc h3{font-size:15.5px;line-height:1.7;margin-top:6px}

/* お問い合わせ（用件で入口を分ける） */
.cta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:46px}
.cta{background:#fff;border:1px solid var(--line);padding:26px 20px 24px;text-align:center;cursor:pointer;transition:border-color .25s,transform .25s;font:inherit;color:inherit}
.cta:hover,.cta.on{border-color:var(--green);transform:translateY(-3px)}
.cta.on{border-color:var(--green)}
.cta .ce{font-family:var(--en-sans);font-size:12px;letter-spacing:.2em;color:var(--green)}
.cta b{display:block;font-size:16px;margin:8px 0 6px}
.cta small{display:block;font-size:12px;color:var(--mute);line-height:1.7}
.form{max-width:760px;margin:44px auto 0;background:#fff;border:1px solid var(--line);padding:40px 44px}
.form label{display:block;font-size:13.5px;font-weight:700;margin:18px 0 6px}
.form label:first-child{margin-top:0}
.form .req{font-size:12px;color:#fff;background:var(--mute);border-radius:0;padding:1px 6px;margin-left:8px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:15px;border:1px solid var(--line);background:var(--white);padding:13px 14px;border-radius:0}
.form textarea{min-height:120px}
.form .dyn{display:none}
.form .dyn.on{display:block}
.form .send{text-align:center;margin-top:28px}
.contact-sub{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:28px;font-size:14px;color:var(--sub)}
.contact-sub 
/* フッター */
.ft{background:var(--deep);color:rgba(255,255,255,.85);padding:72px 0 34px;font-size:13.5px}
.ft .row{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.ft .logo{color:#fff}
.ft nav{display:grid;grid-template-columns:repeat(2,auto);gap:8px 40px}
.ft .partners{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);font-size:12.5px;color:rgba(255,255,255,.65)}
.ft .copy{margin-top:28px;font-family:var(--en-sans);font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.5)}

/* 下層ページ */
.pg-hero{position:relative;height:62svh;min-height:420px;display:grid;place-items:center;color:#fff;text-align:center;overflow:hidden}
.pg-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 12s ease-out forwards}
.pg-hero::after{content:"";position:absolute;inset:0;background:rgba(15,25,12,.42)}
.pg-hero .in{position:relative;z-index:2}
.pg-hero .en{font-family:var(--en);font-style:italic;letter-spacing:.1em;font-size:14px;margin:12px 0 0;color:rgba(255,255,255,.85);order:2}
.pg-hero h1{font-family:var(--mincho);font-size:var(--fh-h1);letter-spacing:.2em;font-weight:600;text-indent:.2em;order:1}
.pg-hero .in{display:flex;flex-direction:column;align-items:center}
.crumb{font-size:12px;color:var(--mute);padding:16px 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.rev > :first-child{order:2}
.split img,.split .ph{width:100%;aspect-ratio:4/3;object-fit:cover}
.list-check{list-style:none;display:grid;gap:12px;margin-top:22px}
.list-check li{padding-left:30px;position:relative;font-size:15px}
.list-check li::before{content:"";position:absolute;left:0;top:7px;width:18px;height:18px;border-radius:50%;background:var(--green);-webkit-mask:radial-gradient(circle,#000 0 100%);}
.list-check li::after{content:"";position:absolute;left:6px;top:10px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:40px;counter-reset:f}
.flow > div{background:#fff;border:1px solid var(--line);padding:22px 16px;text-align:center;position:relative}
.flow > div::before{counter-increment:f;content:"STEP " counter(f);display:block;font-family:var(--en-sans);font-size:12px;letter-spacing:.2em;color:var(--green);margin-bottom:6px}
.flow b{display:block;font-size:15px;margin-bottom:4px}
.flow small{font-size:12.5px;color:var(--sub);line-height:1.7;display:block}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:#fff;margin-top:44px}
.facts > div{padding:28px 24px;border-right:1px solid var(--line);text-align:center}
.facts > div:last-child{border-right:0}
.facts .fv{font-family:var(--en-sans);font-size:34px;font-weight:300;color:var(--ink);line-height:1.1;font-variant-numeric:lining-nums;letter-spacing:.04em}
.facts .fv small{font-size:15px;font-family:var(--gothic)}
.facts p{font-size:13px;color:var(--sub);margin-top:6px}
.prose{max-width:720px;margin-inline:auto}
.prose h2{font-family:var(--mincho);font-weight:600;font-size:clamp(20px,2.2vw,26px);letter-spacing:.16em;line-height:1.85;margin:84px 0 26px}
.prose h2:first-child{margin-top:0}
.prose p{font-size:16px;line-height:2.3;color:#3a4037;margin-bottom:1.4em;font-family:var(--mincho);letter-spacing:.1em}
.prose figure{margin:46px -80px}
.prose figure img{width:100%;aspect-ratio:16/9;object-fit:cover}
.prose figcaption{font-size:12px;color:var(--mute);margin-top:8px;text-align:center}
.quote{font-family:var(--mincho);font-weight:600;font-size:clamp(19px,2.1vw,24px);line-height:2.2;letter-spacing:.2em;text-align:center;padding:56px 0;border-block:1px solid var(--line);margin:64px 0}

/* 出現アニメーション */
.rv{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- SP ---------- */
@media (max-width:960px){
  .gnav{position:fixed;inset:0;background:var(--deep);color:#fff;flex-direction:column;justify-content:center;gap:22px;font-size:17px;opacity:0;pointer-events:none;transition:opacity .3s}
  .gnav.open{opacity:1;pointer-events:auto}
  .menu-btn{display:block;z-index:60}
  .menu-btn.open{color:#fff}
  .menu-btn.open span:nth-child(1){top:21px;transform:rotate(45deg)}
  .menu-btn.open span:nth-child(2){opacity:0}
  .menu-btn.open span:nth-child(3){top:21px;transform:rotate(-45deg)}
  .hd,.hd.fixed{padding:12px 16px}
  .values{grid-template-columns:1fr}.values > div{border-right:0;border-bottom:1px solid var(--line);padding:32px 10px}
  .day{grid-template-columns:1fr 1fr}
  .biz{grid-template-columns:1fr}
  .ev{grid-template-columns:1fr}
  .veg{grid-template-columns:1fr 1fr;gap:14px}
  .story{grid-template-columns:1fr;gap:56px}
  .story .ph-wrap .sub{right:-8px;bottom:-30px}
  .rec .grid{grid-template-columns:1fr;gap:36px}
  .col{grid-template-columns:1fr}
  .cta-grid{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr;gap:34px}.split.rev > :first-child{order:0}
  .flow{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}.facts > div{border-right:0;border-bottom:1px solid var(--line)}
  .prose figure{margin:36px 0}
}
@media (max-width:600px){
  .wrap{width:calc(100% - 32px)}
  .sec{padding:75px 0}
  .sec.screen{min-height:auto}
  .about-photos{grid-template-columns:1fr 1fr;gap:10px;margin-top:46px}
  .about-photos .mid{grid-column:1 / span 2;order:-1}
  .day{grid-template-columns:1fr}
  .day .tm{font-size:34px}
  .bz .bd{padding:22px 20px 70px}
  .vg .kanji{font-size:56px}
  .vg h3{font-size:16px}
  .vg .bd{padding:12px 12px 14px}
  .steps{flex-direction:column;gap:22px}
  .steps > div{border-top:0;border-left:2px solid rgba(255,255,255,.35);padding:0 0 0 20px}
  .steps > div::before{top:2px;left:-7px}
  .cta-grid{grid-template-columns:1fr}
  .form{padding:28px 20px}
  .movie-tag{right:auto;left:50%;transform:translateX(-50%);bottom:94px;white-space:nowrap}
  .hero .lead br{display:none}
  .hero h1{font-size:27px;letter-spacing:.26em}
  .hero .lead{font-size:13px;letter-spacing:.1em}
  .hero .en{font-size:12.5px;letter-spacing:.16em}
  .emblem{width:160px;margin-bottom:20px}
  .movie-tag{bottom:104px}
  .about .big{font-size:20px;letter-spacing:.12em;margin:24px 0 28px}
  .h2{font-size:23px;letter-spacing:.06em}
  .story .vt{font-size:20px}
  .rec .huge{font-size:23px;letter-spacing:.16em}
  .ft nav{grid-template-columns:1fr 1fr;gap:0 40px}
  .ft nav a{min-height:44px;display:flex;align-items:center}
}

/* ---- 2パターン比較用 ---- */
.ptn{position:relative;z-index:59;background:#b98a3e;color:#fff;font-size:12.5px;font-weight:700;text-align:center;padding:7px 12px;letter-spacing:.06em}
.ptn a{color:#fff;text-decoration:underline;margin-left:10px;font-weight:500}
.ntabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.ntabs button{font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.08em;padding:9px 24px;border-radius:0;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.ntabs button.on,.ntabs button:hover{background:var(--green);color:#fff}
#event .ev{margin-top:26px}
.evc.nwi.hide{display:none}
.tag.cat-event{color:var(--mute);background:transparent}
.tag.cat-notice{color:var(--mute);background:transparent}
.tag.cat-column{color:var(--mute);background:transparent}
.nlist{list-style:none;margin-top:30px;border-top:1px solid var(--line)}
.nlist li{border-bottom:1px solid var(--line)}
.nlist a{display:flex;align-items:center;gap:18px;padding:20px 6px;transition:background .25s}
.nlist a:hover{background:var(--paper)}
.nlist time{font-family:var(--en);font-size:14px;color:var(--mute);letter-spacing:.06em;flex:0 0 auto}
.nlist b{font-size:15.5px;font-weight:700;letter-spacing:.04em}
.nlist .tag{flex:0 0 auto;margin:0}
@media (max-width:600px){.nlist a{flex-wrap:wrap;gap:6px 12px;padding:16px 4px}.nlist b{flex:1 1 100%;font-size:14.5px}.ntabs button{padding:8px 16px;font-size:13px}}

/* パターンA：イベント・告知まとめ（画像なし・区別なしの一覧） */
.nlist.plain{margin-top:26px}
.nlist.plain a{padding:15px 6px;gap:22px}
.nlist.plain b{font-weight:500;font-size:15px}
@media (max-width:600px){.nlist.plain a{padding:13px 4px}.nlist.plain b{font-size:14px}}

/* ナビが折り返さないように */
.gnav a{white-space:nowrap}
@media (min-width:961px) and (max-width:1240px){.gnav{gap:14px;font-size:12.5px}.hd,.hd.fixed{padding-left:24px;padding-right:24px}.logo small{display:none}}


/* ---- WordPress用の追記（デモの見た目は変えない範囲） ---- */
.admin-bar .hd.fixed{top:32px}
.admin-bar .hd.sub{top:32px}
@media (max-width:782px){.admin-bar .hd.fixed,.admin-bar .hd.sub{top:46px}}
.pager{display:flex;justify-content:center;gap:10px;margin-top:56px;font-family:var(--en);font-size:14px}
.pager .page-numbers{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.pager .page-numbers.current,.pager .page-numbers:hover{background:var(--green);color:#fff;border-color:var(--green)}
.prose img{width:100%;height:auto}
.prose ul,.prose ol{margin:0 0 1.4em 1.4em}
.prose li{font-size:16px;line-height:2.2;color:#3a4037}
.prose a{color:var(--green);text-decoration:underline}
.ph.bx{aspect-ratio:4/3}
.empty{text-align:center;color:var(--mute);font-size:14px;padding:46px 0}
.sample{font-size:12px;color:var(--mute);margin-top:22px;text-align:right}
.backlink{display:inline-flex;gap:10px;margin-top:56px;font-size:14px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:6px}
.backlink::before{content:"←";font-family:var(--en)}
.meta-row{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-bottom:26px}
.meta-row time{font-family:var(--en);font-size:14px;color:var(--mute);letter-spacing:.06em}
.gnav .btn-mail{background:var(--green);color:#fff;border-radius:0;padding:9px 20px;font-weight:500;font-size:12.5px;letter-spacing:.12em}

/* 注意書きの帯が折り返したときもヘッダーが重ならないようにする */
.hd{top:var(--demoh,31px)}
/* ロゴマーク（ヘッダー・フッター） */
.logo .mk img{width:62%;height:auto}
.hd .logo .mk img{filter:brightness(0) invert(1)}
.hd.fixed .logo .mk img,.hd.sub .logo .mk img{filter:none}
.ft .logo .mk img{filter:brightness(0) invert(1)}
/* セクション冒頭のリード文＝参考の21px帯 */
.sec .wrap > .txt:first-of-type,.center > .txt{font-size:var(--fs-lead);line-height:2.1}
@media (max-width:1023px){.sec .wrap > .txt:first-of-type,.center > .txt{font-size:17px}}

/* 一覧の帯は本文より少し広い器（参考の1230px） */
.sec.list .wrap{max-width:var(--wrap-wide)}
/* 一覧セクションは余白を一段詰める（参考の96/75の2段） */
.sec.list{padding:var(--sec-pad-s) 0}

/* 数字の体裁：欧文はすべてライニング数字（旧式数字で0がOに見えるのを止める） */
body{font-variant-numeric:lining-nums}
time,.date b,.date small,.nlist time,.cc time,.crumb{font-variant-numeric:lining-nums tabular-nums}
/* 日付は参考と同じく欧文セリフのイタリック */
.nlist time,.cc time,.meta-row time{font-family:var(--en-sans);font-style:italic;letter-spacing:.07em}
/* イベントの日付枠は欧文サンセリフ（参考のAvenir相当） */
.evc .date b,.evc .date small{font-family:var(--en-sans);font-style:normal}
.evc .date b{font-weight:300;letter-spacing:.02em}

/* 採用の大きな一文は見出しの下に置く */
/* 1文が途中で折れないように、問い合わせのリードだけ器を広げる */

/* スマホのタップ領域を44px以上にする（社内規約） */
@media (max-width:1023px){
  .gnav .btn-mail{padding:13px 24px}
  .more{padding-bottom:14px;padding-top:8px}
  .vtabs button,.ntabs button{padding:13px 22px}
  .gnav a{padding:10px 0;min-height:44px;display:flex;flex-direction:column;justify-content:center}
}

/* 参考サイトの使い分け（2026-10-21にcomputedで実測）
   UI・ナビ・日付・カードの見出し ＝ Avenir系／読み物の本文と大きな一文 ＝ 明朝系／英字の見出しと副題 ＝ Sorts Mill Goudy */
.gnav,.btn,.more,.flow,.facts,.day .tm,.values .vn,.steps .y,.rec li .n,.evc .date,.pager{font-family:var(--gothic)}
.hero .en,.pg-hero .en,.cta .ce,.bz .no,.vg .season,.day .ic,.marquee p,.ft .copy{font-family:var(--en)}
.hero .en,.pg-hero .en{font-style:normal;letter-spacing:.24em}

/* 一日の流れが3つになった（時刻でなく時間帯の言葉が入る） */
.day.day-3{grid-template-columns:repeat(3,1fr);gap:22px}
.day.day-3 .tm{font-family:var(--mincho);font-size:clamp(19px,1.9vw,23px);font-weight:600;letter-spacing:.16em;line-height:1.5}
@media (max-width:1023px){.day.day-3{grid-template-columns:1fr}}

/* 2026-10-23 支給修正。トップの対象箇所に限定。 */
.home #value .revision-values{grid-template-columns:repeat(2,minmax(0,1fr))}
.home #value .revision-values>div:nth-child(2n){border-right:0}
.home #value .revision-values>div:nth-child(n+3){border-top:1px solid var(--line)}
.home #day .day-4 .tm{font-family:var(--mincho);font-size:clamp(19px,1.9vw,23px);line-height:1.5}
.home .revision-film{margin-block:40px;scroll-margin-top:100px}
.home .revision-film video{display:block;width:100%;max-height:70vh;background:var(--ink);object-fit:contain}
.home #recruit .revision-recruit-photo{margin-block:30px}
.home #recruit .revision-recruit-photo img{display:block;width:100%;max-height:540px;object-fit:cover;object-position:center 35%}
.home #recruit .revision-recruit-close{margin-top:32px}
@media(max-width:1023px){.home #day .day-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home #value .revision-values,.home #day .day-4{grid-template-columns:1fr}.home #value .revision-values>div{border-right:0}.home #recruit .revision-recruit-photo img{max-height:360px}}

.home #top .slides figure:nth-child(1) img{object-position:center 76%}
.home #top .slides figure:nth-child(2) img{object-position:center 65%}

/* 無邪氣のこと：意味のまとまりを保ち、PC/SPで折り返しを分ける。 */
.home #about .about-intro{max-width:42em;margin-inline:auto;line-height:2.15;letter-spacing:.06em}
.home #about .about-intro .intro-line{display:block}
.home #about .about-intro .intro-phrase{display:inline-block;white-space:nowrap;vertical-align:top}
.home #about .about-intro .intro-line:nth-child(3){margin-top:.65em}
@media(max-width:1023px){
 .home #about .about-intro{max-width:34em;text-align:left;line-height:2.1;letter-spacing:.04em}
 .home #about .about-intro .intro-line{display:inline}
 .home #about .about-intro .intro-line:nth-child(1),
 .home #about .about-intro .intro-line:nth-child(2){display:block}
 .home #about .about-intro .intro-line:nth-child(2){margin-bottom:.75em}
}

/* 全ページ：語と助詞・句読点をまとめ、幅に応じて語の間で折り返す */
main span.mjk-word.mjk-word{font:inherit;color:inherit;letter-spacing:inherit;display:inline-block;max-width:100%;vertical-align:baseline;overflow-wrap:anywhere}

/* 映像を本文の下に置き、本文幅を圧迫しない */
.home #story.sec.screen{flex-direction:column;justify-content:center}

@media(max-width:359px){main .veg{grid-template-columns:minmax(0,1fr)}}

/* 問い合わせフォームの読みやすさ */
.wpcf7-form label { display:block; text-align:left; }
.wpcf7-form input[type="submit"] { display:inline-block; padding:16px 28px; background:#5f7a4e; color:#fff; border:0; font:inherit; cursor:pointer; min-height:48px; }
.wpcf7-form textarea::placeholder { color:#666; opacity:1; }

/* 事業選択と日本語ボタン：単語分割によるflexの空きを作らない */
a.btn{gap:0;letter-spacing:.04em;white-space:nowrap;max-width:100%}
a.btn .mjk-word{display:contents}
.business-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
.business-choices .cta b{white-space:nowrap;letter-spacing:0;font-size:16px}
.form{scroll-margin-top:110px}
.form select{min-height:48px}
.owner-intro{max-width:100%;margin-inline:auto;letter-spacing:.04em!important}
.owner-intro .owner-line{display:block}
.prose{opacity:1;transform:none}
@media(min-width:1024px){.owner-intro{font-size:20px!important}.owner-intro .owner-line{white-space:nowrap}}
@media(max-width:1023px){.business-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.business-choices{grid-template-columns:1fr}.owner-intro{text-align:left;font-size:16px!important}.owner-intro .owner-line{margin-bottom:.35em}a.btn{padding-inline:22px;letter-spacing:.02em}}

/* 2026-10-26 全文の意味単位・句読点の校閲 */
main h1,main h2,main h3,main h4{word-break:normal;overflow-wrap:normal;text-wrap:balance}
main p,main li,main small,main dd,footer p{text-wrap:pretty;line-break:strict}
main span.mjk-word.mjk-word{white-space:nowrap;max-width:none;overflow-wrap:normal}
main span.mjk-phrase{display:inline-block;font:inherit;color:inherit;letter-spacing:inherit;white-space:nowrap}
main .mjk-heading{letter-spacing:.04em}
.values h3{font-size:19px;letter-spacing:.04em}
.bz h3{font-size:21px;letter-spacing:.04em}
.prose h2{letter-spacing:.05em}
.facts .fv{white-space:nowrap}
@media(min-width:1024px) and (max-width:1199px){.values>div{padding-inline:20px}.day .st{padding-inline:18px}}
@media(max-width:1023px){.mjk-heading.h2{font-size:24px}.pg-hero h1.mjk-heading{font-size:28px;line-height:1.6}}
@media(max-width:600px){.mjk-heading.h2{font-size:22px;letter-spacing:.02em}.bz h3{font-size:19px;letter-spacing:.02em}.values h3{font-size:18px;letter-spacing:.02em}.prose h2{font-size:20px;letter-spacing:.02em}.pg-hero h1.mjk-heading{font-size:26px}.owner-intro{letter-spacing:.02em!important}.home #project .h2{line-height:1.7}.home #project .btn{font-size:13px;padding-inline:14px}.prose p{letter-spacing:.04em}}

footer span.mjk-word{font:inherit;display:inline-block;white-space:nowrap}

.prose h4.mjk-heading{font-size:20px;line-height:1.8;letter-spacing:.02em}
