/*
Theme Name: E-Create Recruit
Theme URI: https://e-create-recruit.com/
Author: E-Create / daijiro
Description: 合同会社E-Create 採用サイト用のオリジナルテーマ。お知らせ・社員インタビューをカスタム投稿で管理できるクラシックテーマ。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: ecreate
*/

:root{
  --cream:#ffffff;        /* 背景＝白 */
  --green:#2f9fe0;        /* メインアクセント＝緑（元サイト系のグリーン） */
  --green-d:#1f7ec2;      /* 濃い緑（文字・濃色用） */
  --green-l:#e4f1fb;      /* 薄い緑（小物アクセント用） */
  --orange:#e88a36;       /* ★ベース2色目＝オレンジ（揖斐川の採用情報系） */
  --pink:#e88a36;         /* バッジもオレンジに統一 */
  --lime:#8cc02a;         /* 緑系の明るい差し色 */
  --yellow:#ef9b33;       /* 時間バッジ等＝オレンジ寄り */
  --sky:#bfe2f2;          /* 水色（雲） */
  /* 差し色セクション */
  --band-yellow:#f4ba60;  /* 働く環境＝ライトオレンジの帯 */
  --band-green:#aed86a;   /* 黄緑の帯 */
  --ink:#4a3d39;          /* 文字色＝温かいチャコール */
  --ink-soft:#8a7b75;
  --circle:#fdf5f6;       /* 背景の大きな丸（白とほぼ変わらない極薄ピンク） */
  --white:#fff;
  --radius:22px;
  --shadow:0 14px 40px rgba(0,0,0,.12);
  --maru:"Zen Kaku Gothic New", system-ui, sans-serif;  /* 見出し＝シャープなゴシック（旧丸ゴシックから変更） */
  --kaku:"Zen Kaku Gothic New", system-ui, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px;font-size:106%}
body{
  font-family:var(--kaku);
  color:var(--ink);
  background:var(--cream);
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ===== 背景は純白（薄ピンクの丸は撤去） ===== */

/* ===== オープニング演出（プリローダー） ===== */
#preloader{position:fixed;inset:0;z-index:9999;background:#fff;display:none;place-items:center;overflow:hidden}
.js #preloader{display:grid}
.pl-text{
  font-family:"Klee One",var(--maru);font-weight:600;
  font-size:clamp(2rem,7vw,4.2rem);color:var(--ink);letter-spacing:.06em;white-space:nowrap;
  clip-path:inset(0 100% 0 0);                       /* 右側を隠しておく */
  animation:plwrite 1.5s cubic-bezier(.55,.06,.3,1) forwards .3s;  /* 左→右に「書く」 */
}
@keyframes plwrite{to{clip-path:inset(0 0 0 0)}}
#preloader.done{opacity:0;transition:opacity .55s ease .15s;pointer-events:none}
#preloader.done .pl-text{
  transform:translate(-32vw,-8vh) scale(.5);opacity:.4;
  transition:transform .7s cubic-bezier(.6,0,.2,1),opacity .7s ease;
}
@media(max-width:860px){ #preloader.done .pl-text{transform:translate(0,-30vh) scale(.7)} }
@media(prefers-reduced-motion:reduce){
  .pl-text{animation:none;clip-path:none}
  #preloader.done .pl-text{transition:none;transform:none}
}
section{padding:96px 24px}
.sec-head{text-align:center;margin-bottom:48px}
.sec-head .en{color:var(--green);font-family:var(--maru);font-weight:700;letter-spacing:.18em;font-size:.8rem;margin-bottom:6px}
.sec-head h2,.about h2{font-family:var(--maru);font-weight:900;font-size:clamp(1.6rem,4vw,2.4rem)}
.sec-note{color:var(--ink-soft);font-size:.86rem;text-align:center;margin-top:18px}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--maru);font-weight:700;
  padding:.85em 1.7em;border-radius:999px;line-height:1;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-entry{background:var(--green);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.10)}
.btn-ghost{background:#fff;color:var(--green-d);border:2px solid var(--green)}
.btn-line{background:#06c755;color:#fff}
.btn-indeed{background:#2557a7;color:#fff}
.btn-lg{padding:1.05em 2.4em;font-size:1.05rem}

/* ===== Header ===== */
.site-header{
  position:fixed;top:14px;left:0;right:0;z-index:50;
  width:min(1320px,calc(100% - 36px));margin:0 auto;
  display:flex;align-items:center;gap:24px;
  padding:11px 14px 11px 22px;background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);border-radius:999px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 6px 22px rgba(0,0,0,.08);
  transition:box-shadow .25s,transform .25s;
}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--maru);font-weight:900}
.logo-mark{width:38px;height:38px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:1.2rem}
.logo-text{display:flex;flex-direction:column;line-height:1.1;font-size:1rem}
.logo-text small{font-size:.6rem;color:var(--green);letter-spacing:.15em}
.gnav{margin-left:auto;display:flex;gap:24px;font-weight:500;font-size:.92rem}
.gnav a{padding:4px 0;border-bottom:2px solid transparent;transition:.2s}
.gnav a:hover{color:var(--green-d);border-color:var(--green)}
.header-entry{padding:.6em 1.3em;font-size:.9rem}

/* ===== Hero（横スライド無限ループ＋コピーのみ） ===== */
.heromq{position:relative;height:min(640px,76vh);margin-top:96px;overflow:hidden;background:#fff}
.mq{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:20px}
.mq-row{overflow:hidden}
.mq-track{display:flex;align-items:center;width:max-content;animation:mqscroll 36s linear infinite;will-change:transform}
.mq-track-rev{animation:mqscroll-rev 36s linear infinite}
.mq-track img{height:min(300px,37vh);aspect-ratio:16/10;width:auto;object-fit:cover;border-radius:16px;margin-right:20px;flex:none;box-shadow:0 12px 28px rgba(0,0,0,.14)}
@keyframes mqscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mqscroll-rev{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.mq-copy{position:absolute;top:0;left:0;bottom:0;width:clamp(300px,32vw,400px);z-index:2;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:32px 28px 34px;box-shadow:20px 0 54px rgba(0,0,0,.10)}
.mq-title{flex:none;writing-mode:vertical-rl;font-family:var(--maru);font-weight:500;font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.5;letter-spacing:.1em;color:var(--ink)}
.mq-lead{font-family:var(--maru);font-weight:700;font-size:.92rem;letter-spacing:.04em;color:#6e5d57;text-align:center}
.mq-cta{display:flex;flex-direction:column;gap:11px;width:100%;max-width:284px}
.mq-pill{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;font-family:var(--maru);font-weight:700;font-size:1rem;padding:13px 30px;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.12);transition:transform .15s,box-shadow .15s}
.mq-pill::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:radial-gradient(circle at 50% 50%,#fff 0 2px,transparent 3px)}
.mq-pill:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.14)}
.mq-pill-sub{background:#fff;color:var(--green-d);border:2px solid var(--green);box-shadow:none;font-size:.92rem;padding:10px 26px}
.mq-pill-sub::before{display:none}
.mq-pill-sub:hover{background:var(--green-l)}
.mq-scroll{position:absolute;right:clamp(20px,5vw,60px);bottom:18px;z-index:2;color:var(--green-d);font-family:var(--maru);font-weight:700;font-size:.66rem;letter-spacing:.2em;writing-mode:vertical-rl;opacity:.9}
.mq-scroll::after{content:"";display:block;width:1px;height:32px;background:var(--green-d);margin:8px auto 0;transform-origin:top;animation:hfline 1.8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.mq-track{animation:none}}
@media(max-width:860px){ .heromq{height:auto;min-height:auto;padding:0;margin-top:0} .mq{position:relative;inset:auto;gap:8px;padding-top:96px} .mq-track img{height:20vh;border-radius:12px;margin-right:12px} .mq-copy{position:static;width:100%;padding:28px 22px 30px;box-shadow:none;gap:18px} .mq-title{writing-mode:horizontal-tb;text-align:center;font-size:clamp(2rem,8vw,2.6rem);line-height:1.3;letter-spacing:.06em} .mq-scroll{display:none} }

/* ===== Hero（フルブリード） ===== */
.herofull{position:relative;min-height:min(880px,90vh);display:flex;align-items:center;padding:96px 40px;overflow:hidden;color:#fff}
.hf-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:saturate(1.08) contrast(1.05) brightness(1.04);z-index:0}
.herofull::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(95deg, rgba(30,46,36,.62) 0%, rgba(30,46,36,.34) 50%, rgba(30,46,36,.06) 100%)}
.hf-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;width:100%;text-shadow:0 2px 16px rgba(20,30,22,.38)}
.hf-lead{font-family:var(--maru);font-weight:700;font-size:.95rem;margin-bottom:16px;letter-spacing:.04em}
.hf-title{font-family:var(--maru);font-weight:900;font-size:clamp(3rem,8vw,5.4rem);line-height:1.1;letter-spacing:.02em}
.hf-sub{margin:22px 0 34px;font-size:1.1rem;font-weight:500;line-height:1.9}
.hf-actions{display:flex;gap:14px;flex-wrap:wrap}
.herofull .btn-ghost{background:rgba(255,255,255,.16);border-color:#fff;color:#fff;backdrop-filter:blur(2px)}
.hf-scroll{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:2;color:#fff;font-family:var(--maru);font-weight:700;font-size:.66rem;letter-spacing:.2em;writing-mode:vertical-rl;opacity:.92}
.hf-scroll::after{content:"";display:block;width:1px;height:34px;background:#fff;margin:8px auto 0;transform-origin:top;animation:hfline 1.8s ease-in-out infinite}
@keyframes hfline{0%,100%{transform:scaleY(.35);opacity:.4}50%{transform:scaleY(1);opacity:1}}
@media(max-width:860px){
  .herofull{min-height:82vh;padding:84px 22px 96px}
  .hf-actions{flex-direction:column;align-items:flex-start}
  .hf-actions .btn{width:100%;max-width:320px;justify-content:center}
}

/* ===== Hero (old split, 未使用) ===== */
.hero{
  position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;
  padding:80px 40px 100px;max-width:1200px;margin:0 auto;
}
.hero-lead{font-family:var(--maru);color:var(--green-d);font-weight:700;font-size:.9rem;margin-bottom:16px}
.hero-title{font-family:var(--maru);font-weight:900;font-size:clamp(2.8rem,7vw,4.6rem);line-height:1.12;letter-spacing:.02em}
.hero-sub{margin:22px 0 32px;font-size:1.05rem;color:var(--ink)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-photo{position:relative;z-index:2;border-radius:40px 40px 40px 120px;overflow:hidden;box-shadow:var(--shadow)}
.hero-photo img{
  width:100%;aspect-ratio:4/4.6;object-fit:cover;object-position:center 30%;
  /* スナップ写真を整える：彩度・コントラスト・明るさを微調整 */
  filter:saturate(1.08) contrast(1.04) brightness(1.03);
}
/* ブランドカラーのグラデを薄く重ねて"意図あるビジュアル"に */
.hero-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(160deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,0) 38%, rgba(0,0,0,.18) 100%);
  mix-blend-mode:multiply;
}
.hero-blob{position:absolute;right:-6%;top:6%;width:46%;aspect-ratio:1;background:var(--green-l);border-radius:46% 54% 60% 40%/52% 44% 56% 48%;z-index:1}

/* placeholder when no photo */
.ph{background:linear-gradient(135deg,var(--green-l),#f7ddd5) !important;position:relative}
.ph::after{content:"PHOTO";position:absolute;inset:0;display:grid;place-items:center;color:#d3a79d;font-family:var(--maru);font-weight:700;letter-spacing:.2em;font-size:.8rem}

/* ===== どんな仕事？ ===== */
.job-intro{max-width:1080px;margin:0 auto}
.job-intro-top{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;margin-bottom:44px}
.job-intro-photo img,.job-intro-photo.ph{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:30px 30px 30px 80px;box-shadow:var(--shadow)}
.job-intro-photo{aspect-ratio:4/3}
.job-intro-catch{font-family:var(--maru);font-weight:900;font-size:clamp(1.5rem,3.6vw,2.1rem);color:var(--green-d);line-height:1.4;margin-bottom:18px}
.job-intro-lead p{font-size:1.02rem}
.job-intro-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.job-intro-grid li{background:#fff;border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow)}
.job-intro-grid .ji-no{font-family:var(--maru);font-weight:900;color:var(--lime);font-size:1.1rem}
.job-intro-grid h3{font-family:var(--maru);font-weight:700;color:var(--green-d);font-size:1.05rem;margin:6px 0 8px}
.job-intro-grid p{font-size:.9rem}
@media(max-width:860px){
  .job-intro-top{grid-template-columns:1fr;gap:24px}
  .job-intro-photo{order:-1;max-width:460px;margin:0 auto}
  .job-intro-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:460px){ .job-intro-grid{grid-template-columns:1fr} }

/* ===== 募集職種バンド ===== */
.jobsband{max-width:1040px;margin:0 auto;text-align:center;padding:8px 24px 64px}
.jobsband-label{display:inline-block;font-family:var(--maru);font-weight:900;color:#fff;background:var(--pink);padding:.4em 1.4em;border-radius:999px;font-size:.95rem;margin-bottom:22px}
.jobsband-list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:18px}
.jobsband-list li{
  font-family:var(--maru);font-weight:700;color:var(--green-d);
  background:#fff;border:2px solid var(--green);
  padding:.6em 1.3em;border-radius:999px;font-size:1.02rem;box-shadow:0 6px 16px rgba(0,0,0,.14);
}
.jobsband-sub{color:var(--ink-soft);font-size:.9rem;margin-bottom:10px}
.jobsband-other{color:var(--ink-soft);font-size:.82rem;max-width:640px;margin:0 auto 22px}
.jobsband-btn{font-size:.95rem}

/* ===== Stats ===== */
.stats{background:var(--green);color:#fff;border-radius:40px;max-width:1140px;margin:0 auto;padding:56px 32px}
.stats-title{text-align:center;font-family:var(--maru);font-weight:900;font-size:1.4rem;margin-bottom:32px}
.stats-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.stats-list .num{display:block;font-family:var(--maru);font-weight:900;font-size:clamp(1.6rem,3.4vw,2.4rem)}
.stats-list .num small{font-size:.5em;font-weight:700;margin-left:2px}
.stats-list .lbl{font-size:.82rem;opacity:.92}
.stats-note{opacity:.85;font-size:.78rem;text-align:center;margin-top:26px}

/* ===== About ===== */
.about{max-width:880px;margin:0 auto;text-align:center}
.about-vision{font-family:var(--maru);font-weight:900;font-size:clamp(1.5rem,4.4vw,2.2rem);color:var(--green-d);margin-bottom:20px}
.about-text{font-size:1.02rem;margin-bottom:36px}
.happy{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.happy li{background:#fff;border-radius:var(--radius);padding:22px 10px;font-weight:700;box-shadow:var(--shadow)}
.happy li span{display:block;font-family:var(--maru);color:var(--green);font-size:.78rem;letter-spacing:.12em;margin-bottom:6px}

/* ===== Work ===== */
.work{background:var(--green-l);border-radius:48px;max-width:1140px;margin:0 auto}
.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1000px;margin:0 auto}
.work-card{background:#fff;border-radius:var(--radius);padding:30px 22px;box-shadow:var(--shadow)}
.work-card h3{font-family:var(--maru);color:var(--green-d);font-size:1.05rem;margin-bottom:10px}
.work-card p{font-size:.92rem;color:var(--ink)}

/* ===== 代表メッセージ ===== */
.message{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}
.message-photo img,.message-photo.ph{width:100%;aspect-ratio:3/3.4;object-fit:cover;border-radius:30px 80px 30px 30px;box-shadow:var(--shadow)}
.message-photo{aspect-ratio:3/3.4}
.message-body .en{color:var(--green);font-family:var(--maru);font-weight:700;letter-spacing:.18em;font-size:.8rem}
.message-body h2{font-family:var(--maru);font-weight:900;font-size:clamp(1.5rem,3.6vw,2.1rem);margin:4px 0 18px}
.message-body p{margin-bottom:14px}
.message-name{font-family:var(--maru);font-weight:700;color:var(--green-d);margin-top:8px}

/* ===== 私たちの支援 ===== */
.support{background:var(--green-l);border-radius:48px;max-width:1140px;margin:0 auto}
.value-list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
.value-list li{background:#fff;border:2px solid var(--green);color:var(--green-d);font-family:var(--maru);font-weight:700;padding:.55em 1.3em;border-radius:999px;font-size:.95rem}

/* ===== キャリアパス ===== */
.career{max-width:1040px;margin:0 auto}
.career-steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:cs}
.career-steps li{background:#fff;border-radius:var(--radius);padding:24px 14px;text-align:center;box-shadow:var(--shadow);position:relative}
.career-steps .cs-no{font-family:var(--maru);font-weight:900;color:var(--lime);font-size:.82rem}
.career-steps h3{font-family:var(--maru);font-weight:700;color:var(--green-d);font-size:1rem;margin-top:8px}

/* ===== 求める人物像 ===== */
.person{max-width:820px;margin:0 auto}
.person-list{list-style:none;display:grid;gap:12px}
.person-list li{background:#fff;border-radius:var(--radius);padding:18px 24px;font-weight:700;box-shadow:var(--shadow);position:relative;padding-left:54px}
.person-list li::before{content:"✓";position:absolute;left:22px;color:var(--green);font-weight:900}

@media(max-width:860px){
  .message{grid-template-columns:1fr;gap:24px}
  .message-photo{max-width:420px;margin:0 auto}
  .career-steps{grid-template-columns:repeat(2,1fr)}
}

/* ===== Sites ===== */
.site-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1040px;margin:0 auto}
.site-card{background:#fff;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}
.site-photo img,.site-photo.ph{width:100%;aspect-ratio:16/9;object-fit:cover}
.site-photo{aspect-ratio:16/9}
.site-body{padding:26px 28px}
.site-brand{display:inline-block;background:var(--pink);color:#fff;font-family:var(--maru);font-weight:700;font-size:.72rem;padding:.3em 1em;border-radius:999px;margin-bottom:12px}
.site-card h3{font-family:var(--maru);font-weight:900;font-size:1.5rem;margin-bottom:6px}
.site-target{color:var(--green-d);font-weight:700;font-size:.9rem;margin-bottom:10px}

/* ===== Voice ===== */
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:980px;margin:0 auto}
.voice-card{background:#fff;border-radius:var(--radius);padding:26px;text-align:center;box-shadow:var(--shadow)}
.voice-photo{width:120px;height:120px;border-radius:50%;margin:0 auto 16px;overflow:hidden}
.voice-card .vc-role{display:inline-block;background:var(--green-l);color:var(--green-d);font-family:var(--maru);font-weight:700;font-size:.72rem;padding:.25em 1em;border-radius:999px;margin-bottom:8px}
.voice-card h3{font-family:var(--maru);color:var(--green-d);margin-bottom:8px}
.voice-card p{font-size:.9rem}

/* ===== Recruit ===== */
.recruit{max-width:860px;margin:0 auto}
.recruit-table{width:100%;border-collapse:collapse;border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.10);background:#fff}
.recruit-table th,.recruit-table td{text-align:left;padding:20px 24px;font-size:.96rem;border-bottom:1px solid #f3e3e6;vertical-align:top}
.recruit-table tr:last-child th,.recruit-table tr:last-child td{border-bottom:0}
.recruit-table th{font-family:var(--maru);font-weight:700;color:var(--green-d);width:28%;background:var(--green-l);text-align:center;border-right:4px solid #fff}
.recruit-table td{background:#fff}

/* ===== FAQ ===== */
.faq{background:var(--band-green);border-top-left-radius:50% 46px;border-top-right-radius:50% 46px;border-bottom-left-radius:50% 46px;border-bottom-right-radius:50% 46px}
.faq-list{display:grid;gap:14px;max-width:840px;margin:0 auto}
.faq .sec-head{max-width:840px;margin:0 auto 48px}
.faq-item{background:#fff;border-radius:var(--radius);padding:22px 26px;box-shadow:var(--shadow)}
.faq-item dt{font-family:var(--maru);font-weight:700;color:var(--green-d);margin-bottom:8px}
.faq-item dd{font-size:.95rem}

/* ===== News ===== */
.news{max-width:860px;margin:0 auto}
.news-list{list-style:none}
.news-list li{display:flex;align-items:center;gap:16px;padding:18px 6px;border-bottom:1px solid rgba(0,0,0,.18);flex-wrap:wrap}
.news-list time{font-family:var(--maru);font-weight:700;color:var(--green-d);font-size:.9rem;min-width:96px}
.news-list .cat{background:var(--green-l);color:var(--green-d);font-size:.72rem;font-weight:700;padding:.25em 1em;border-radius:999px}
.news-list a{flex:1;min-width:60%;transition:.2s}
.news-list a:hover{color:var(--green-d)}

/* ===== Entry ===== */
.entry{background:var(--green);color:#fff;text-align:center;border-radius:48px;max-width:1140px;margin:0 auto 80px}
.entry-title{font-family:var(--maru);font-weight:900;font-size:clamp(1.4rem,4vw,2.1rem);margin-bottom:12px}
.entry-sub{opacity:.95;margin-bottom:30px}
.entry-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.entry .sec-note{color:#fce4dd}

/* ===== Footer ===== */
.site-footer{background:linear-gradient(135deg,rgba(240,151,58,.82),rgba(231,130,28,.86)),url(assets/footer-bg.jpg?v=2) center/cover;color:#fff;padding:48px 28px;text-align:center}
.f-name{font-family:var(--maru);font-weight:900;font-size:1.2rem}
.f-sub{opacity:.9;font-size:.9rem;margin-top:6px}
.f-info{opacity:.75;font-size:.82rem;margin-top:8px}
.f-contact{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;margin-top:26px;font-size:.84rem;opacity:.9;line-height:1.7}
.f-contact .f-place{font-family:var(--maru);font-weight:700;margin-bottom:2px}
.f-copy{opacity:.6;font-size:.75rem;margin-top:24px}
.tbd{display:inline-block;margin-left:.6em;color:var(--ink-soft);font-size:.78rem}

/* ===== Sticky CTA (mobile) ===== */
.sticky-cta{display:none}

/* ===== Responsive ===== */
@media(max-width:860px){
  section{padding:64px 18px}
  .gnav{display:none}
  .hero{grid-template-columns:1fr;padding:48px 20px 72px;text-align:center}
  .hero-actions{justify-content:center}
  .hero-photo{order:-1;max-width:420px;margin:0 auto}
  .hero-blob{display:none}
  .stats-list{grid-template-columns:repeat(2,1fr);gap:24px 12px}
  .happy{grid-template-columns:repeat(2,1fr)}
  .work-grid{grid-template-columns:1fr 1fr}
  .site-grid{grid-template-columns:1fr}
  .voice-grid{grid-template-columns:1fr}
  .recruit-table th,.recruit-table td{display:block;width:100%}
  .recruit-table th{border-radius:14px 14px 0 0}
  .recruit-table td{border-radius:0 0 14px 14px}
  .sticky-cta{
    display:block;position:fixed;left:14px;right:14px;bottom:14px;z-index:60;
    background:var(--green);color:#fff;text-align:center;font-family:var(--maru);font-weight:700;
    padding:16px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.45);
  }
  .header-entry{margin-left:auto}
}
@media(max-width:460px){
  .work-grid{grid-template-columns:1fr}
}

/* ===== Sub pages (recruit / privacy) ===== */
.subhero{text-align:center;padding:130px 24px 24px;max-width:900px;margin:0 auto}
.subhero .en{color:var(--green);font-family:var(--maru);font-weight:700;letter-spacing:.18em;font-size:.8rem}
.subhero h1{font-family:var(--maru);font-weight:900;font-size:clamp(2rem,5vw,2.8rem);margin:6px 0 16px}
.subhero-lead{color:var(--ink);font-size:1rem}
.crumbs{color:var(--ink-soft);font-size:.82rem;margin-top:18px}
.crumbs a{color:var(--green-d)}
.jobs{max-width:980px;margin:0 auto}
.job-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.job-card{background:#fff;border-radius:var(--radius);padding:26px 28px;box-shadow:var(--shadow)}
.job-emp{display:inline-block;background:var(--green-l);color:var(--green-d);font-family:var(--maru);font-weight:700;font-size:.72rem;padding:.25em 1em;border-radius:999px;margin-bottom:10px}
.job-card h3{font-family:var(--maru);font-weight:900;font-size:1.25rem;margin-bottom:8px}
.btn-sm{padding:.6em 1em;font-size:.82rem;font-weight:700}
.job-state{display:inline-block;font-family:var(--maru);font-weight:700;font-size:.72rem;padding:.3em 1em;border-radius:999px;margin-bottom:10px}
.state-open{background:var(--green);color:#fff}
.state-closed{background:#e7e3d6;color:#8a8676}
.job-apply{margin-top:16px;border-top:1px dashed rgba(0,0,0,.3);padding-top:14px}
.ja-label{font-size:.8rem;color:var(--ink-soft);margin-bottom:8px}
.ja-btns{display:flex;flex-wrap:wrap;gap:8px}
.jobs-closed{padding-top:32px}
.closed-list .job-card.closed{opacity:.72;background:#fbf3f0}
.closed-list .job-card.closed h3{color:var(--ink-soft)}
.legal{max-width:820px;margin:0 auto;padding-top:24px}
.legal h2{font-family:var(--maru);font-weight:700;font-size:1.1rem;color:var(--green-d);margin:28px 0 8px}
.legal p{font-size:.96rem}
.legal-note{color:var(--ink-soft);font-size:.82rem;margin-top:28px}
.site-footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:860px){ .job-list{grid-template-columns:1fr} }

/* ===== Scroll reveal & header state =====
   .js が付く時（JS有効時）だけ初期非表示にする。
   JS無効・observer取りこぼし時は常に表示されるので、中身が消えない。 */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.site-header.scrolled{box-shadow:0 8px 26px rgba(0,0,0,.16)}
.gnav a.current{color:var(--green-d);border-color:var(--green)}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ===== トップへ戻るボタン（スクロールで右下にスライド表示） ===== */
.to-top{
  position:fixed;right:22px;bottom:22px;z-index:60;
  width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--green);color:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.14);
  opacity:0;transform:translateY(24px);pointer-events:none;
  transition:opacity .3s ease,transform .3s ease,background .2s;
}
.to-top.show{opacity:1;transform:translateY(0);pointer-events:auto}
.to-top:hover{background:var(--green-d);transform:translateY(-3px)}
.to-top svg{width:20px;height:20px}
.to-top span{position:absolute;bottom:-16px;font-size:.56rem;letter-spacing:.12em;font-family:var(--maru);font-weight:700;color:var(--green-d)}
@media(max-width:860px){ .to-top{right:16px;bottom:16px;width:48px;height:48px} }

/* ===== gifu流用①：水玉ドット背景 ===== */
.dots{position:relative}
.dots::before{
  content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;
  background-image:radial-gradient(rgba(207,83,101,.10) 1.5px, transparent 1.6px);
  background-size:18px 18px;
}
.dots > *{position:relative;z-index:1}

/* ===== gifu流用②：アイコン付きカード（働く魅力） ===== */
.icon-grid .work-card{text-align:center;padding:34px 22px 28px}
.wc-icon{display:inline-grid;place-items:center;width:66px;height:66px;border-radius:50%;background:var(--green-l);color:var(--lime);margin-bottom:16px}
.wc-icon svg{width:32px;height:32px}

/* ===== gifu流用③：二重線リンクカード（ガイド） ===== */
.guide{max-width:1080px;margin:0 auto}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.guide-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 16px;border-top:4px double var(--green);border-bottom:4px double var(--green);transition:transform .2s}
.guide-card .en{color:var(--green);font-family:var(--maru);font-weight:700;letter-spacing:.18em;font-size:.78rem;margin-bottom:8px}
.guide-card h3{font-family:var(--maru);font-weight:900;color:var(--green-d);font-size:1.25rem;margin-bottom:20px}
.guide-arrow{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:2px solid var(--green);color:var(--green);transition:.2s}
.guide-arrow svg{width:18px;height:18px}
.guide-card:hover{transform:translateY(-4px)}
.guide-card:hover .guide-arrow{background:var(--green);color:#fff}
@media(max-width:860px){ .guide-grid{grid-template-columns:1fr;gap:6px} }

/* ===== いろは流用④：1日の流れタイムライン ===== */
.timeline-sec{position:relative;background:#fff}
.curve-top{border-top-left-radius:50% 48px;border-top-right-radius:50% 48px}
.curve-bottom{border-bottom-left-radius:50% 48px;border-bottom-right-radius:50% 48px}
/* 雲のイラスト */
.cloud{position:absolute;z-index:0;background:var(--sky);border-radius:60px;height:26px;opacity:.85}
.cloud::before,.cloud::after{content:"";position:absolute;background:var(--sky);border-radius:50%}
.cloud::before{width:42px;height:42px;top:-21px;left:16px}
.cloud::after{width:30px;height:30px;top:-13px;right:18px}
.cloud-a{width:124px;top:118px;left:6%}
.cloud-b{width:84px;top:46%;right:7%}
.cloud-c{width:64px;bottom:96px;left:12%}
.timeline-sec > .sec-head,.timeline-sec > .timeline{position:relative;z-index:1}
.timeline{max-width:980px;margin:0 auto;position:relative}
.timeline::before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:24px;bottom:24px;width:3px;background:var(--lime);border-radius:2px}
.tl-item{display:grid;grid-template-columns:1fr 116px 1fr;align-items:center;margin:30px 0}
.tl-photo{grid-column:1}
.tl-photo img{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:20px;box-shadow:0 12px 30px rgba(0,0,0,.14)}
.tl-badge{grid-column:2;display:grid;place-items:center;z-index:1}
.tl-badge span{display:grid;place-items:center;width:88px;height:76px;color:#fff;font-family:var(--maru);font-weight:900;font-size:1.15rem;background:var(--yellow);border-radius:50% 50% 47% 53%/57% 57% 43% 43%;box-shadow:0 6px 14px rgba(0,0,0,.08)}
.tl-text{grid-column:3;padding-left:26px}
.tl-text h3{font-family:var(--maru);font-weight:900;color:var(--green);font-size:1.3rem;margin-bottom:8px}
.tl-text p{font-size:.94rem;color:var(--ink)}
.tl-item:nth-child(even) .tl-photo{grid-column:3}
.tl-item:nth-child(even) .tl-text{grid-column:1;text-align:right;padding-left:0;padding-right:26px}
.tl-item:nth-child(even) .tl-badge span{background:var(--lime)}
@media(max-width:860px){
  .curve-top{border-top-left-radius:50% 30px;border-top-right-radius:50% 30px}
  .curve-bottom{border-bottom-left-radius:50% 30px;border-bottom-right-radius:50% 30px}
  .timeline::before{display:none}
  .tl-item{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:420px;margin:0 auto 30px}
  .tl-badge{order:1;margin-bottom:10px}
  .tl-photo{order:2;width:100%;margin-bottom:12px}
  .tl-text,.tl-item:nth-child(even) .tl-text{order:3;text-align:center;padding:0}
  .tl-photo img{aspect-ratio:16/10}
  .cloud{display:none}
}

/* ===== 白ベース＋濃い差し色（いろは式） ===== */
/* 大半のセクションは白。色を入れるのは“濃い色ブロック”だけ */
.jobsband,.about,.support,.person,.sites,.voice,.news{background:#fff}
.work{background:var(--band-yellow)}        /* ビビッド黄色のブロック（いろはの活動紹介） */

/* ===== gifu流用⑥：インタビュー写真スライダー ===== */
.voice-slider{position:relative;max-width:1120px;margin:0 auto;padding:0 10px}
.voice-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:12px 6px 26px;scrollbar-width:none}
.voice-track::-webkit-scrollbar{display:none}
.voice-track .voice-card{flex:0 0 300px;scroll-snap-align:center}
.voice-photo{width:128px;height:128px;border:4px solid var(--green-l)}
.vs-arrow{position:absolute;top:44%;transform:translateY(-50%);z-index:3;width:54px;height:54px;border-radius:50%;background:#fff;color:var(--green);display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.20);border:2px solid var(--green-l);transition:.2s;cursor:pointer}
.vs-arrow svg{width:22px;height:22px}
.vs-arrow:hover{background:var(--green);color:#fff;border-color:var(--green)}
.vs-prev{left:-4px}
.vs-next{right:-4px}
@media(max-width:860px){ .voice-track .voice-card{flex:0 0 80%} .vs-arrow{width:44px;height:44px} .vs-prev{left:-2px} .vs-next{right:-2px} }

/* ===== gifu流用⑦：灰色ドットのセクション ===== */
.dots-gray{position:relative;background:#f4f3f0}
.dots-gray::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(70,62,58,.10) 1.6px, transparent 1.7px);
  background-size:22px 22px;
}
.dots-gray > *{position:relative;z-index:1}

/* ===== gifu流用⑧：大きな円（アーチ）で色を切り替える区切り ===== */
/* セクション下端から、次の色の大きな円がせり上がって境界をつくる */
.circle-bottom{position:relative}
.circle-bottom::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%,49%);
  width:160%;height:130px;border-radius:50%;z-index:2;pointer-events:none;
  background:var(--cb,#fff);
}
.circle-top{position:relative}
.circle-top::before{
  content:"";position:absolute;left:50%;top:0;transform:translate(-50%,-49%);
  width:160%;height:130px;border-radius:50%;z-index:2;pointer-events:none;
  background:var(--ct,#fff);
}
@media(max-width:860px){
  .circle-bottom::after,.circle-top::before{height:64px;width:200%}
}

/* ===== スリム化：セクション内サブブロック ===== */
.sub-block{max-width:1000px;margin:70px auto 0}
.sub-head{text-align:center;font-family:var(--maru);font-weight:900;font-size:clamp(1.3rem,3vw,1.7rem);color:var(--green-d);margin-bottom:30px;display:flex;flex-direction:column;align-items:center;gap:6px}
.sub-head small{font-size:.8rem;font-weight:500;color:var(--ink-soft)}
.about-message{max-width:980px;margin:70px auto 0}
.message-title{font-family:var(--maru);font-weight:900;font-size:1.5rem;margin-bottom:14px;color:var(--ink)}

/* ===== 揖斐川式：色帯セクションが大きな丸角でせり出す区切り＋うっすら模様 ===== */
.stats,.work,.faq{max-width:none;margin:0;border-radius:0;position:relative;overflow:hidden}
.stats{padding:84px 24px}
.stats{border-top-left-radius:clamp(70px,12vw,170px);border-bottom-right-radius:clamp(70px,12vw,170px)}
.work{border-top-right-radius:clamp(70px,12vw,170px);border-bottom-left-radius:clamp(70px,12vw,170px)}
.faq{border-top-left-radius:clamp(70px,12vw,170px);border-bottom-right-radius:clamp(70px,12vw,170px)}
.stats::after,.faq::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.16) 2px,transparent 2.5px);background-size:26px 26px}
.faq::after{background-image:radial-gradient(rgba(0,0,0,.05) 2px,transparent 2.4px);background-size:24px 24px}
.stats > *,.faq > *{position:relative;z-index:1}

/* ===== 緑ベース＋白パネルが丸角でせり出す（揖斐川式・反転） ===== */
body{background:#2f9fe0}
/* 白パネル化（緑ベースの上に乗る／間に緑がのぞく） */
.job-intro,#day,#about,.sites,.voice,.recruit,.guide,.news{margin-top:18px}
#day,#about,.sites,.voice,.recruit,.guide,.news{background:#fff}
/* 端から全幅の弧でせり出す（左右交互） */
.job-intro,#day,#about,.sites,.voice,.recruit,.guide,.news{border-radius:0}
.job-intro{border-top-right-radius:100% clamp(42px,7vw,94px)}
#day{border-top-right-radius:100% clamp(42px,7vw,94px)}
#about{border-top-left-radius:100% clamp(42px,7vw,94px)}
.sites{border-top-right-radius:100% clamp(42px,7vw,94px)}
.voice{border-top-left-radius:100% clamp(42px,7vw,94px)}
.recruit{border-top-left-radius:100% clamp(42px,7vw,94px)}
.guide{border-top-right-radius:100% clamp(42px,7vw,94px)}
.news{border-top-left-radius:100% clamp(42px,7vw,94px)}
/* タイムラインの古い雲・カーブ擬似要素は非表示 */
.timeline-sec::before,.timeline-sec::after{display:none}

/* ===== ベース2色運用：緑＝メイン／オレンジ＝採用CTA ===== */
.btn-entry,.mq-pill{background:var(--orange)}
.entry{background:var(--orange)}
/* 副ボタンは緑の枠線に戻す（主＝オレンジ／副＝緑） */
.mq-pill-sub{background:#fff;color:var(--green-d);border:2px solid var(--green)}

/* ===== 白ベースに戻す（上部・どんな仕事の緑を解消） ===== */
body{background:#fff}
/* どんな仕事：白＋丸写真＋幾何シェイプ（西民学園式） */
.job-intro{margin-top:0;border-radius:0;position:relative}
.job-intro > .sec-head,.job-intro > .job-intro-top,.job-intro > .job-intro-grid{position:relative;z-index:1}
.job-intro-photo img,.job-intro-photo.ph{width:min(100%,400px);aspect-ratio:1/1;border-radius:50%;margin:0 auto}
.shp{position:absolute;z-index:0;pointer-events:none}
.shp-circle{width:94px;height:94px;border-radius:50%;background:var(--green-l);top:-6px;right:-1%}
.shp-ring{width:74px;height:74px;border-radius:50%;border:11px solid var(--orange);opacity:.55;bottom:130px;left:-3%}
.shp-tri{width:0;height:0;border-left:30px solid transparent;border-right:30px solid transparent;border-bottom:52px solid var(--orange);opacity:.85;top:46%;left:-3%;transform:rotate(-14deg)}
.shp-sq{width:46px;height:46px;border-radius:10px;background:#c9e6a1;opacity:.85;top:2px;left:31%;transform:rotate(16deg)}

/* ===== 背景の幾何シェイプ（西民学園式の散りばめ） ===== */
.about.shapes{position:relative;overflow:visible}
.about.shapes > *:not(.shp){position:relative;z-index:1}
/* オレンジ三角 */
.a-tri{width:0;height:0;border-left:34px solid transparent;border-right:34px solid transparent;border-bottom:58px solid var(--orange);opacity:.9;top:40px;left:-90px;transform:rotate(-12deg)}
/* オレンジのリング */
.a-ring{width:84px;height:84px;border-radius:50%;border:12px solid var(--green);opacity:.5;top:30%;right:-120px}
/* 緑の丸 */
.a-circle{width:64px;height:64px;border-radius:50%;background:var(--green-l);top:120px;right:-70px}
/* 水色ブロブ */
.a-blob{width:120px;height:120px;background:var(--sky);opacity:.7;border-radius:46% 54% 60% 40%/52% 44% 56% 48%;bottom:60px;left:-130px}
/* 緑の四角 */
.a-sq{width:46px;height:46px;border-radius:9px;background:#c9e6a1;opacity:.85;bottom:120px;right:-60px;transform:rotate(18deg)}
/* 薄オレンジの小丸 */
.a-circle2{width:38px;height:38px;border-radius:50%;background:var(--orange);opacity:.5;top:60%;left:-70px}
@media(max-width:980px){ .a-tri,.a-ring,.a-circle,.a-blob,.a-sq,.a-circle2{display:none} }

/* ===== シェイプ刷新：いびつな丸・大きめ・ビビッド（赤黄青緑） ===== */
/* 写真もいびつな丸（ブロブ）に */
.job-intro-photo img,.job-intro-photo.ph{border-radius:63% 37% 58% 42% / 56% 50% 50% 44%}
/* どんな仕事のシェイプ */
.shp-circle{width:150px;height:150px;background:#ffdf99;border-radius:62% 38% 55% 45% / 58% 52% 48% 42%;top:-34px;right:-1%}
.shp-ring{width:116px;height:116px;border:15px solid #bbd9f1;background:transparent;opacity:.9;border-radius:60% 40% 52% 48% / 55% 50% 50% 45%;bottom:100px;left:-2%}
.shp-tri{width:0;height:0;border-left:46px solid transparent;border-right:46px solid transparent;border-bottom:78px solid #ffb4a2;opacity:1;top:42%;left:-2%;transform:rotate(-12deg)}
.shp-sq{width:66px;height:66px;border-radius:16px;background:#c9e6a1;opacity:1;top:-8px;left:30%;transform:rotate(16deg)}
/* aboutのシェイプ */
.a-tri{border-left:50px solid transparent;border-right:50px solid transparent;border-bottom:82px solid #ffdf99}
.a-ring{width:124px;height:124px;border:17px solid #ffb4a2;opacity:.9;border-radius:58% 42% 55% 45% / 52% 50% 50% 48%;right:-150px}
.a-circle{width:124px;height:124px;background:#bbd9f1;opacity:.9;border-radius:63% 37% 52% 48% / 55% 48% 52% 45%;right:-90px}
.a-blob{width:176px;height:176px;background:#c9e6a1;opacity:.95;border-radius:46% 54% 63% 37% / 52% 44% 56% 48%;left:-150px}
.a-sq{width:64px;height:64px;border-radius:16px;background:var(--orange);opacity:1;right:-70px}
.a-circle2{width:74px;height:74px;background:#ffdf99;opacity:.9;border-radius:60% 40% 50% 50% / 55% 50% 50% 45%;left:-92px}

/* ===== どんな仕事：大きないびつ丸をセクション内に（hero被り解消） ===== */
.job-intro{overflow:hidden}
.job-intro .shp{border:0;transform:none}
/* 赤：左上（テキスト側） */
.shp-sq{width:150px;height:150px;background:#ffb4a2;border-radius:58% 42% 60% 40% / 52% 55% 45% 48%;top:120px;left:-40px;right:auto;bottom:auto;opacity:.92}
/* 黄：写真の裏（右） */
.shp-circle{width:210px;height:210px;background:#ffdf99;border-radius:62% 38% 55% 45% / 58% 52% 48% 42%;top:330px;right:-50px;left:auto;bottom:auto;opacity:.95}
/* 緑：下・左 */
.shp-ring{width:128px;height:128px;background:#c9e6a1;border-radius:60% 40% 52% 48% / 55% 50% 50% 45%;bottom:36px;left:5%;top:auto;right:auto;opacity:.9}
/* 青：右・下 */
.shp-tri{width:110px;height:110px;background:#bbd9f1;border-radius:58% 42% 50% 50% / 55% 50% 50% 45%;top:560px;right:7%;left:auto;bottom:auto;opacity:.9}

/* ===== どんな仕事：生きる式レイアウト（左大見出し＋ブロブ写真2枚＋シェイプ） ===== */
.job-intro{overflow:visible;position:relative;padding:84px 24px}
.job-intro-top{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;margin-bottom:54px}
.job-intro-lead .en{color:var(--orange);font-family:var(--maru);font-weight:700;letter-spacing:.1em;font-size:.84rem;margin-bottom:14px;text-align:left}
.job-intro-catch{font-family:var(--maru);font-weight:900;font-size:clamp(1.7rem,3.7vw,2.5rem);color:var(--ink);line-height:1.55;margin-bottom:22px;letter-spacing:.02em;text-align:left}
.job-intro-lead > p{font-size:1.02rem;line-height:1.95}
/* 写真2枚（いびつブロブ・重なり） */
.job-intro-photos{position:relative;min-height:500px}
.job-intro-photo{position:absolute}
.job-intro-photo img,.job-intro-photo.ph{width:100%;height:100%;object-fit:cover;box-shadow:var(--shadow)}
.job-intro-photo.ph{background:linear-gradient(135deg,var(--green-l),#dfeadf)}
.p1{width:86%;top:0;right:0;aspect-ratio:1/1}
.p1 img{border-radius:63% 37% 58% 42% / 56% 50% 50% 44%}
.p2{width:56%;bottom:-10px;left:0;aspect-ratio:1/1;z-index:1}
.p2 img{border-radius:55% 45% 62% 38% / 52% 58% 42% 48%}
/* シェイプ（赤黄緑青・大きめ・いびつ・余白に。z-0で文字の裏） */
.job-intro .shp{position:absolute;z-index:0;pointer-events:none;border:0;transform:none}
.s-red{width:190px;height:190px;background:#ffb4a2;border-radius:72% 28% 46% 54% / 38% 64% 36% 62%;top:36px;left:-60px}
.s-yellow{width:248px;height:248px;background:#ffdf99;border-radius:36% 64% 63% 37% / 62% 34% 66% 38%;top:280px;right:-84px}
.s-green{width:152px;height:152px;background:#c9e6a1;border-radius:66% 34% 38% 62% / 56% 64% 36% 44%;top:56%;left:-54px}
.s-blue{width:140px;height:140px;background:#bbd9f1;border-radius:40% 60% 72% 28% / 44% 34% 66% 56%;top:46%;right:-2%}
.s-green2{width:84px;height:84px;background:#c9e6a1;border-radius:62% 38% 34% 66% / 65% 56% 44% 35%;top:16px;right:13%}
.s-yellow2{width:74px;height:74px;background:#ffdf99;border-radius:34% 66% 56% 44% / 60% 36% 64% 40%;top:34%;left:8%}
@media(max-width:860px){
  .job-intro-top{grid-template-columns:1fr;gap:30px}
  .job-intro-photos{min-height:330px;margin-top:16px}
  .job-intro .shp{display:none}
}

/* ===== どんな仕事：写真入りのきれいなカード ===== */
.job-intro-grid.cards{grid-template-columns:repeat(4,1fr);gap:22px}
.job-intro-grid.cards li{background:#fff;border-radius:20px;box-shadow:var(--shadow);overflow:hidden;padding:0 0 22px;text-align:left}
.wc2-photo{aspect-ratio:16/11;overflow:hidden;background:linear-gradient(135deg,var(--green-l),#dfeadf)}
.wc2-photo img{width:100%;height:100%;object-fit:cover;display:block}
.job-intro-grid.cards .ji-no{display:inline-block;margin:16px 0 2px 20px;color:var(--orange);font-family:var(--maru);font-weight:900;font-size:1.05rem}
.job-intro-grid.cards h3{margin:2px 20px 8px;font-family:var(--maru);font-weight:700;color:var(--green-d);font-size:1.05rem}
.job-intro-grid.cards p{margin:0 20px;font-size:.9rem;color:var(--ink);line-height:1.8}
@media(max-width:860px){ .job-intro-grid.cards{grid-template-columns:1fr 1fr;gap:16px} }

/* ===== 支援スタッフの1日：ルーズリーフ・メモ風 ===== */
.day-note{padding:84px 24px;overflow:hidden}
.loose{max-width:820px;margin:0 auto;position:relative}
/* 後ろにもう1枚の紙（横から出てる感） */
.loose::before{content:"";position:absolute;inset:14px -10px -14px 24px;background:#fbfbf7;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.08);transform:rotate(1.6deg);z-index:0}
.loose-lines{
  list-style:none;position:relative;z-index:1;
  background:#fff;border-radius:6px 12px 12px 6px;
  box-shadow:0 20px 50px rgba(0,0,0,.13);
  padding:34px 40px 34px 96px;
  transform:rotate(-1.3deg);
  background-image:repeating-linear-gradient(#fff 0 47px,#cfe2f0 47px 48px);
  background-position:0 30px;
}
/* 赤い余白の縦線 */
.loose-lines::before{content:"";position:absolute;top:0;bottom:0;left:72px;width:2px;background:#f0a6a6}
/* 綴じ穴 */
.loose-lines::after{content:"";position:absolute;left:26px;top:46px;bottom:46px;width:20px;
  background-image:radial-gradient(circle, #e7edf1 0 8px, transparent 9px);background-size:20px 96px;background-repeat:repeat-y}
.loose-lines li{
  font-family:"Klee One",var(--maru);color:var(--ink);
  line-height:48px;font-size:1.02rem;
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
}
.loose-lines .lt{flex:none;width:58px;color:var(--orange);font-weight:700;font-size:1.05rem}
.loose-lines b{flex:none;color:var(--green-d);font-weight:700}
.loose-lines .ld{color:#5d6b63;font-size:.96rem}
/* マステ風の飾り */
.loose-tape{position:absolute;z-index:2;top:-14px;left:48%;width:96px;height:30px;background:rgba(245,191,26,.55);transform:rotate(-6deg);border-radius:2px}
@media(max-width:860px){
  .loose-lines{padding:28px 22px 28px 70px;transform:none}
  .loose::before{display:none}
  .loose-lines::before{left:52px}
  .loose-lines::after{left:18px}
  .loose-lines li{line-height:1.7;margin-bottom:8px}
  .loose-lines .ld{width:100%}
}

/* ===== 支援スタッフの1日：セクション全面ルーズリーフ（写真を貼ったノート） ===== */
.daysheet{padding:80px 24px}
.sheet{max-width:1020px;margin:0 auto;position:relative;background:#fffdf5;border-radius:8px;
  box-shadow:0 26px 60px rgba(0,0,0,.14);padding:54px 56px 60px 100px;transform:rotate(-0.6deg);
  background-image:repeating-linear-gradient(#fffdf5 0 33px,#d8e6ef 33px 34px);background-position:0 92px}
.sheet::before{content:"";position:absolute;top:0;bottom:0;left:76px;width:2px;background:#efb0ac}
.sheet-holes{position:absolute;left:26px;top:64px;bottom:60px;width:22px;
  background-image:radial-gradient(circle,#ece6d6 0 9px,transparent 10px);background-size:22px 110px;background-repeat:repeat-y}
.sheet-top{margin-bottom:28px}
.sheet-top .en{color:var(--orange);letter-spacing:.18em;font-weight:700;font-family:var(--maru);font-size:.82rem;margin-bottom:4px}
.sheet-top h2{font-family:"Klee One",var(--maru);font-weight:600;font-size:clamp(1.9rem,4.4vw,2.7rem);color:var(--ink);display:inline-block;border-bottom:5px solid rgba(245,191,26,.55);line-height:1.25}
.sheet-sub{font-family:"Klee One",var(--maru);color:#8a7b75;margin-top:8px;font-size:.95rem}
.sheet-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:start}
.sheet-list{list-style:none}
.sheet-list li{font-family:"Klee One",var(--maru);color:var(--ink);line-height:34px;font-size:1.05rem;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:0}
.sheet-list .lt{flex:none;width:54px;color:var(--orange);font-weight:700}
.sheet-list b{flex:none;color:var(--green-d);font-weight:700}
.sheet-list .ld{color:#5d6b63;font-size:.95rem}
.sheet-photos{position:relative;display:flex;flex-direction:column;gap:30px;padding-top:4px}
.snap{background:#fff;padding:10px 10px 30px;box-shadow:0 10px 26px rgba(0,0,0,.17);width:80%;position:relative}
.snap img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.snap figcaption{font-family:"Klee One",var(--maru);text-align:center;margin-top:8px;font-size:.86rem;color:#6b5d57}
.snap::before{content:"";position:absolute;top:-12px;left:50%;transform:translateX(-50%) rotate(-4deg);width:84px;height:26px;background:rgba(245,191,26,.5)}
.r1{transform:rotate(-3deg);align-self:flex-start}
.r2{transform:rotate(2.6deg);align-self:flex-end}
.r3{transform:rotate(-1.6deg);align-self:center}
@media(max-width:860px){
  .sheet{padding:40px 22px 44px 64px;transform:none;background-position:0 74px}
  .sheet::before{left:50px}.sheet-holes{left:16px}
  .sheet-grid{grid-template-columns:1fr;gap:24px}
  .sheet-list li{line-height:1.8}
  .snap{width:72%;align-self:center!important}
}

/* ===== どんな仕事：写真背景＋テキスト重ねカード（京進「取り組み」風） ===== */
.job-intro-grid.ovcards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.job-intro-grid.ovcards li{position:relative;aspect-ratio:3/4;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);padding:0;list-style:none}
.ovcards .wc2-photo{position:absolute;inset:0;background:linear-gradient(135deg,var(--green-l),#dfeadf)}
.ovcards .wc2-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.ovcards li:hover .wc2-photo img{transform:scale(1.06)}
.ovcards li::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,28,22,.78) 0%,rgba(20,28,22,.30) 42%,rgba(20,28,22,0) 70%)}
.ovcards .ov-text{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:22px 20px;color:#fff;text-align:left}
.ovcards .ji-no{display:block;color:var(--orange);font-family:var(--maru);font-weight:900;font-size:1rem;margin-bottom:2px}
.ovcards .ov-text h3{color:#fff;font-family:var(--maru);font-weight:700;font-size:1.12rem;margin-bottom:7px}
.ovcards .ov-text p{color:rgba(255,255,255,.92);font-size:.82rem;line-height:1.7}
@media(max-width:860px){ .job-intro-grid.ovcards{grid-template-columns:1fr 1fr;gap:14px} }

/* ===== どんな仕事カード：京進「取り組み」式クリーンカード（白＋写真上＋チャコール見出し） ===== */
.job-intro-grid.kcards{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.kcards li{background:#fff;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.07);overflow:hidden;padding:0;list-style:none;aspect-ratio:auto}
.kcards .wc2-photo{position:static;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,var(--green-l),#dfeadf)}
.kcards .wc2-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.kcards li:hover .wc2-photo img{transform:scale(1.05)}
.kcards li::after{display:none}
.kcards .ov-text{position:static;padding:22px 22px 26px;color:inherit;text-align:left}
.kcards .ji-no{display:none}
.kcards .ov-text h3{color:#3b3b3b;font-family:var(--kaku);font-weight:700;font-size:1.18rem;letter-spacing:.05em;margin-bottom:10px;line-height:1.5}
.kcards .ov-text p{color:#8b8b8b;font-size:.85rem;line-height:1.85}
@media(max-width:860px){ .job-intro-grid.kcards{grid-template-columns:1fr 1fr;gap:16px} }

/* ===== どんな仕事：余白を広げて窮屈さ解消 ===== */
.job-intro{padding-top:120px;padding-bottom:112px}
.job-intro-top{margin-bottom:84px}

/* ===== 見出し2行化＋余白を西伊丹級に広く ===== */
section{padding-top:124px;padding-bottom:124px}
.job-intro{padding-top:150px;padding-bottom:148px}
.job-intro-top{grid-template-columns:1.32fr .68fr;gap:48px;margin-bottom:160px}
.job-intro-catch{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.55}

/* ===== リード文：キャッチと同じ幅・左端を揃えて左寄せ（行数は増えてOK） ===== */
.job-intro-lead > p{max-width:21em;margin-left:1.6em;margin-right:auto;text-align:left;line-height:2.05;font-size:1.22rem}
@media(max-width:820px){ .job-intro-lead > p{max-width:100%} }

/* ===== 背景シェイプ：ふわふわ動かす（西伊丹風） ===== */
@keyframes shpFloatA{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(0,-20px) rotate(8deg)}}
@keyframes shpFloatB{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(14px,16px) rotate(-7deg)}}
@keyframes shpFloatC{0%,100%{transform:translate(0,0) rotate(0)}33%{transform:translate(-12px,-12px) rotate(6deg)}66%{transform:translate(10px,8px) rotate(-4deg)}}
/* 西伊丹の「katakata」：いびつな形のまま小刻みに回転して向きが変わる（その場でカクカク） */
@keyframes katakata{
  0%{transform:translateY(-2px) rotate(6deg)}10%{transform:translate(0) rotate(0deg)}20%{transform:translate(0) rotate(-6deg)}
  30%{transform:translateY(-2px) rotate(0deg)}40%{transform:translateY(-2px) rotate(6deg)}50%{transform:translate(2px) rotate(-2deg)}
  60%{transform:translateY(2px) rotate(0deg)}70%{transform:translate(0) rotate(6deg)}80%{transform:translate(2px) rotate(-2deg)}
  90%{transform:translate(0) rotate(0deg)}100%{transform:translateY(-2px) rotate(6deg)}
}
@keyframes katakata2{
  0%{transform:translateY(2px) rotate(-6deg)}10%{transform:translate(0) rotate(0deg)}20%{transform:translate(0) rotate(6deg)}
  30%{transform:translateY(2px) rotate(0deg)}40%{transform:translateY(2px) rotate(-6deg)}50%{transform:translate(-2px) rotate(2deg)}
  60%{transform:translateY(-2px) rotate(0deg)}70%{transform:translate(0) rotate(-6deg)}80%{transform:translate(-2px) rotate(2deg)}
  90%{transform:translate(0) rotate(0deg)}100%{transform:translateY(2px) rotate(-6deg)}
}
.job-intro .s-red{animation:katakata 6s ease-in-out infinite}
.job-intro .s-yellow{animation:katakata2 6.6s ease-in-out infinite}
.job-intro .s-green{animation:katakata 7s ease-in-out infinite -2s}
.job-intro .s-blue{animation:katakata2 5.6s ease-in-out infinite -1s}
.job-intro .s-green2{animation:katakata 6.3s ease-in-out infinite -3s}
.job-intro .s-yellow2{animation:katakata2 6.9s ease-in-out infinite -1.5s}
/* 写真は動かさない（イラストだけ動かす） */

/* ===== カードにも図形を増やす（丸＋三角） ===== */
.kcards li{position:relative}
.kcards .wc2-photo{position:relative}
.kcards .wc2-photo::before{content:"";position:absolute;z-index:2;width:30px;height:30px;border-radius:50%;top:12px;left:12px;opacity:.92;animation:shpFloatA 6s ease-in-out infinite}
.kcards .wc2-photo::after{content:"";position:absolute;z-index:2;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:25px solid #fff;top:14px;right:12px;opacity:.92;transform:rotate(14deg);animation:shpFloatB 7s ease-in-out infinite}
/* 4枚それぞれ色を変える（丸＝before／三角＝after） */
.kcards li:nth-child(1) .wc2-photo::before{background:#ffb4a2}
.kcards li:nth-child(1) .wc2-photo::after{border-bottom-color:#ffdf99}
.kcards li:nth-child(2) .wc2-photo::before{background:#bbd9f1}
.kcards li:nth-child(2) .wc2-photo::after{border-bottom-color:#ffb4a2}
.kcards li:nth-child(3) .wc2-photo::before{background:#ffdf99}
.kcards li:nth-child(3) .wc2-photo::after{border-bottom-color:#c9e6a1}
.kcards li:nth-child(4) .wc2-photo::before{background:#c9e6a1}
.kcards li:nth-child(4) .wc2-photo::after{border-bottom-color:#bbd9f1}

@media(prefers-reduced-motion:reduce){
  .job-intro .shp,.kcards .wc2-photo::before,.kcards .wc2-photo::after{animation:none}
}

/* ===== ヒーロー：左の白帯のコピーを横向き＋上質な明朝で“かっこよく” ===== */
.heromq{margin-top:0}
.mq-title{
  writing-mode:horizontal-tb;text-align:center;
  font-family:"Shippori Mincho",var(--maru),serif;font-weight:800;
  font-size:clamp(2rem,3.9vw,3rem);line-height:1.42;letter-spacing:.1em;
  color:var(--ink);
}
/* CTAボタンを少し下げる */
.mq-cta{margin-top:22px}

/* ===== ヘッダー：トップではロゴだけ／ヒーローを過ぎたらバー出現 ===== */
.js .site-header{
  background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.js .site-header .gnav,
.js .site-header .header-entry{
  opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;
  transition:opacity .3s ease,transform .3s ease,visibility .3s;
}
.js body.header-on .site-header{
  background:rgba(255,255,255,.94);border-color:rgba(0,0,0,.06);
  box-shadow:0 6px 22px rgba(0,0,0,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.js body.header-on .site-header .gnav,
.js body.header-on .site-header .header-entry{
  opacity:1;visibility:visible;transform:none;pointer-events:auto;
}

/* ===== お知らせ：丸イラストで装飾（少しずつ） ===== */
.news{position:relative;overflow:visible}
.news > *:not(.shp){position:relative;z-index:1}
.news .ns1{width:96px;height:96px;border-radius:64% 36% 38% 62% / 60% 64% 36% 40%;background:#ffdf99;opacity:.5;top:46px;right:6%;animation:katakata2 6.4s ease-in-out infinite}
.news .ns2{width:64px;height:64px;border-radius:38% 62% 60% 40% / 56% 38% 62% 44%;background:#c9e6a1;opacity:.45;bottom:54px;left:5%;animation:katakata 6.8s ease-in-out infinite -2s}
.news .ns3{width:46px;height:46px;border-radius:60% 40% 36% 64% / 64% 56% 44% 36%;background:#bbd9f1;opacity:.4;top:30%;left:12%;animation:katakata2 7.2s ease-in-out infinite -1s}
/* お知らせは背景を透明にして、背面のピンク円が透けて見えるようにする（白い四角を消す） */
.news{background:transparent;border-top-left-radius:0}
/* お知らせ背景の、めっちゃ大きい“白に極限まで近い”薄ピンクの丸（セクションをまたいで全体が見える・写真より背面） */
.news .ns-big{width:min(960px,96vw);height:min(960px,96vw);border-radius:50%;background:#fdf2f7;opacity:.5;top:52%;left:60%;transform:translate(-50%,-50%);z-index:-1}
@media(max-width:860px){ .news .shp:not(.ns-big){display:none} }
@media(prefers-reduced-motion:reduce){ .news .shp{animation:none} }

/* ===== 「詳しく見る」導線ボタン（要約セクション → 下層ページ） ===== */
.sec-more{position:relative;z-index:1;text-align:center;margin-top:52px}

/* ===== メンバー：四角写真＋右下から白ラベル＋下に軽いメッセージ、一個飛ばしで上下交互に流れる ===== */
.voice-marquee{position:relative;max-width:1180px;margin:0 auto;padding:0 8px}
/* 矢印で1枚ずつ送る横スクロール（自動アニメはやめる） */
.voice-marquee .voice-track{display:flex;align-items:flex-start;gap:0;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:48px 6px 58px;scrollbar-width:none}
.voice-marquee .voice-track::-webkit-scrollbar{display:none}
/* 両サイドの矢印ボタン */
.voice-marquee .vs-arrow{position:absolute;top:46%;transform:translateY(-50%);z-index:5;
  width:54px;height:54px;border-radius:50%;background:#fff;color:var(--green);
  display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.18);
  border:2px solid var(--green-l);cursor:pointer;transition:.2s}
.voice-marquee .vs-arrow:hover{background:var(--green);color:#fff}
.voice-marquee .vs-arrow svg{width:24px;height:24px}
.voice-marquee .vs-prev{left:-6px}
.voice-marquee .vs-next{right:-6px}
/* 端まで行ったら矢印を消す（押せないボタンを出さない） */
.voice-marquee .vs-arrow.is-hidden{opacity:0;visibility:hidden;pointer-events:none}

/* カード本体（背景・影は写真側へ） */
.voice-marquee .voice-card{flex:0 0 250px;margin-right:26px;background:transparent;box-shadow:none;padding:0;text-align:left;scroll-snap-align:start}
/* 四角の縦長写真＋右下から出る白ラベル */
.voice-marquee .voice-photo{position:relative;width:100%;height:330px;margin:0;border:0;border-radius:18px;overflow:hidden;box-shadow:0 16px 34px rgba(0,0,0,.12)}
.voice-marquee .voice-photo img{width:100%;height:100%;object-fit:cover;display:block}
.voice-marquee .vc-cap{position:absolute;right:0;bottom:0;background:#fff;padding:9px 18px 11px;
  border-top-left-radius:18px;text-align:left;box-shadow:-6px -6px 18px rgba(0,0,0,.08)}
.voice-marquee .vc-cap .vc-role{display:block;background:none;color:var(--green);
  font-family:var(--maru);font-weight:700;font-size:.66rem;letter-spacing:.04em;padding:0;margin:0 0 1px}
.voice-marquee .vc-cap h3{color:var(--ink);font-family:var(--maru);font-weight:700;font-size:1.12rem;margin:0;line-height:1.2;text-shadow:none}
/* 写真の下の軽いメッセージ（太め・丸ゴシックでインパクトを出す） */
.voice-marquee .vc-msg{margin:15px 2px 0;font-family:var(--maru);font-weight:700;font-size:.95rem;line-height:1.7;color:var(--ink);letter-spacing:.01em}

/* 一個飛ばしで上下交互にズラす（marginでズラす：流れと競合しない） */
.voice-marquee .voice-card.reveal{opacity:1;transform:none}
.voice-marquee .vc-up{margin-top:0}
.voice-marquee .vc-down{margin-top:50px}

@media(max-width:860px){ .voice-marquee .voice-card{flex:0 0 64vw;margin-right:18px} .voice-marquee .voice-photo{height:280px} }

/* ===== どんな仕事：背景に“白にほぼ近い”薄黄の大きな円（ピンク円より少し小さめ・写真より背面） ===== */
.job-intro .jb-soft{width:min(760px,88vw);height:min(760px,88vw);border-radius:50%;background:#fdf8e2;opacity:.55;top:30%;left:26%;transform:translate(-50%,-50%);z-index:-1;animation:none}

/* ===== 働く仲間たち：西伊丹の案内セクション風（淡い水色フラット＋三角・丸の図形） ===== */
.voice{background:#fff1e4;position:relative;overflow:hidden;border-top-left-radius:0;border-top-right-radius:0;margin-top:0}
.voice .sec-head h2{color:var(--ink)}
.voice .sec-head .en{color:var(--green-d)}
.voice > *:not(.vshape){position:relative;z-index:1}

/* 上のセクションと同じいびつブロブ＋katakata回転で散らす（中央は空けて左右の端へ） */
.voice .vshape{position:absolute;z-index:0;pointer-events:none;border:0}
.voice .vt-red{top:58px;right:7%;width:96px;height:96px;background:#ffb4a2;border-radius:66% 34% 40% 60% / 56% 64% 36% 44%;animation:katakata 6.4s ease-in-out infinite}
.voice .vt-yellow{top:40%;left:4%;width:72px;height:72px;background:#ffdf99;border-radius:36% 64% 60% 40% / 62% 36% 64% 38%;animation:katakata2 6.9s ease-in-out infinite -1.5s}
.voice .vt-green{bottom:60px;left:7%;width:84px;height:84px;background:#c9e6a1;border-radius:62% 38% 34% 66% / 65% 56% 44% 35%;animation:katakata 7.2s ease-in-out infinite -2s}
.voice .vt-white{bottom:84px;right:6%;width:60px;height:60px;background:#cbe2f6;border-radius:40% 60% 66% 34% / 44% 36% 64% 56%;animation:katakata2 6.2s ease-in-out infinite -.8s}
.voice .vo-blue{top:96px;left:12%;width:54px;height:54px;background:#d4ecab;border-radius:60% 40% 36% 64% / 64% 56% 44% 36%;animation:katakata 7.5s ease-in-out infinite -3s}
.voice .vo-green{bottom:38px;right:14%;width:46px;height:46px;background:#ffdf99;border-radius:34% 66% 56% 44% / 60% 36% 64% 40%;animation:katakata2 6.6s ease-in-out infinite -1s}
@media(max-width:860px){ .voice .vshape{display:none} }
@media(prefers-reduced-motion:reduce){ .voice .vshape{animation:none} }

/* ===== どんな仕事：カード内の図形は消し、カード外の余白に散らす（西伊丹式＝中央は空け左右の端へ） ===== */
.kcards .wc2-photo::before,.kcards .wc2-photo::after{display:none}
.job-intro .sc1{width:128px;height:128px;background:#c9e6a1;border-radius:66% 34% 38% 62% / 56% 64% 36% 44%;left:-46px;bottom:215px;animation:katakata 6.7s ease-in-out infinite -1s}
.job-intro .sc2{width:94px;height:94px;background:#ffdf99;border-radius:36% 64% 60% 40% / 62% 36% 64% 38%;right:-38px;bottom:120px;animation:katakata2 6.2s ease-in-out infinite -2s}
.job-intro .sc3{width:58px;height:58px;background:#bbd9f1;border-radius:60% 40% 36% 64% / 64% 56% 44% 36%;right:4%;bottom:360px;animation:katakata 7.1s ease-in-out infinite}
.job-intro .sc4{width:52px;height:52px;background:#ffb4a2;border-radius:40% 60% 66% 34% / 44% 36% 64% 56%;left:6%;bottom:64px;animation:katakata2 6.6s ease-in-out infinite -1.4s}
@media(max-width:860px){ .job-intro .sc1,.job-intro .sc2,.job-intro .sc3,.job-intro .sc4{display:none} }

/* 背景の薄黄大円もほんの少し動かす */
@keyframes softDrift{0%,100%{transform:translate(-50%,-50%) rotate(-2deg)}50%{transform:translate(calc(-50% + 12px),calc(-50% - 10px)) rotate(3deg)}}
.job-intro .jb-soft{animation:softDrift 18s ease-in-out infinite}

/* どんな仕事：見出し＋説明文をもう少しだけ右へ */
.job-intro-lead{padding-left:42px}
@media(max-width:820px){ .job-intro-lead{padding-left:0} }

/* ===== 2つの事業所：揖斐川式（水色背景＋右から白パネル・左上だけ大きく丸い） ===== */
.sites{background:#fff1e4;padding:150px 0 0;margin-top:0;position:relative;overflow:hidden;border-top-left-radius:0;border-top-right-radius:0}
.sites-panel{background:#fff;border-top-left-radius:clamp(64px,8vw,104px);margin-left:clamp(18px,7vw,130px);padding:76px 0 108px}
.sites-inner{max-width:1120px;margin:0 auto;padding:0 clamp(22px,5vw,64px)}
.sites .sec-head{text-align:center}
.sites .tri3{display:block;width:58px;height:20px;margin:0 auto 14px;line-height:0}
.sites .sec-head .en{color:var(--green-d)}
.sites .sec-head h2{color:var(--ink);font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.55}
@media(max-width:860px){ .sites-panel{margin-left:14px;border-top-left-radius:48px;padding:54px 0 72px} }

/* ===== 2つの事業所：揖斐川式（カード枠をやめ写真＋テキスト直置き＋点線楕円・色丸の背景） ===== */
.sites-panel{position:relative;overflow:hidden}
.sites-inner{position:relative;z-index:1}
/* カードの箱をやめる（背景・影・角丸を外し、写真だけ角丸に） */
.sites .site-card{background:transparent;box-shadow:none;border-radius:0;overflow:visible}
.sites .site-photo{border-radius:20px;overflow:hidden;box-shadow:0 16px 32px rgba(0,0,0,.12)}
.sites .site-body{padding:22px 4px 0}
.sites .site-brand{display:inline-block;background:var(--green-l);color:var(--green-d);font-family:var(--maru);font-weight:700;font-size:.72rem;padding:.25em 1em;border-radius:999px;margin-bottom:10px}
.sites .site-card h3{font-size:1.3rem}
/* 背景：点線の大きな楕円＋横からのぞく薄い色丸 */
.sites .sites-soft{position:absolute;z-index:0;width:min(640px,82%);aspect-ratio:1/1;border-radius:50%;background:#fdf8e2;opacity:.62;top:-150px;left:50%;transform:translateX(-50%);pointer-events:none}
.sites .sp-ellipse{position:absolute;z-index:0;left:-2%;top:230px;width:104%;height:760px;border:2px dashed rgba(232,138,54,.4);border-radius:50%;transform:rotate(-15deg);pointer-events:none}
.sites .sp-c1{position:absolute;z-index:0;right:-72px;top:54px;width:230px;height:230px;border-radius:50%;background:#e9f3fb;pointer-events:none}
.sites .sp-c2{position:absolute;z-index:0;left:-44px;top:46%;width:88px;height:88px;border-radius:58% 42% 50% 50% / 55% 50% 50% 45%;background:#bfe08a;opacity:.7;pointer-events:none;animation:katakata 7s ease-in-out infinite}
.sites .sp-c3{position:absolute;z-index:0;right:30px;bottom:90px;width:56px;height:56px;border-radius:50%;background:#f6d76a;opacity:.55;pointer-events:none;animation:katakata2 6.4s ease-in-out infinite -1.5s}
@media(max-width:860px){ .sites .sp-ellipse{display:none} }

/* ===== 見出しは丸み優しい Zen Maru Gothic（本文・細かい字は今のまま） ===== */
.sec-head h2,.job-intro-catch,.about-vision,.entry-title{font-family:"Zen Maru Gothic",var(--maru),sans-serif;font-weight:900}
.sites .site-card h3{font-family:"Zen Maru Gothic",var(--maru),sans-serif;font-weight:700}
/* ヒーローのキャッチは明朝のまま維持（上書き防止） */
.mq-title{font-family:"Shippori Mincho",var(--maru),serif}

/* 「子どもの育ち、ふたつの居場所」を字間・行間を広げてゆったり */
/* 揖斐川サイト「5つの施設で〜」の見出し（秀英丸ゴシックB＝有料）に寄せる。
   無料で最も近い Zen Maru Gothic を 700（B相当）で使い、字間も近づける */
.sites .sec-head h2{font-family:"Zen Maru Gothic",sans-serif;font-weight:700;letter-spacing:.04em;line-height:1.7}

/* 施設名の横に種別ラベルを置く */
.sites .site-name-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px}
.sites .site-name-row h3{margin:0}
.sites .site-name-row .site-brand{margin:0}

/* ===== 働く環境：国立クムクム式（左写真＋番号＋見出し＋✓リスト／背景に幾何模様） ===== */
.workkc{background:#fff;position:relative;overflow:hidden}
.workkc .wk-head{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,40px);position:relative;z-index:1;text-align:left}
.workkc .wk-head h2{font-family:"Zen Maru Gothic",var(--maru),sans-serif;font-weight:900;font-size:clamp(1.9rem,3.6vw,2.6rem);letter-spacing:.14em;color:var(--ink);line-height:1.2}
.workkc .wk-head .en{color:var(--green);font-family:var(--maru);font-weight:700;letter-spacing:.12em;font-size:.82rem;margin-top:6px}
/* 背景の幾何模様（黄色の四角・L字・雲型ライン・グレー四角） */
.workkc .wk-deco{position:absolute;z-index:0;pointer-events:none}
.workkc .wk-L{width:74px;height:74px;border-top:13px solid #ffe7ab;border-left:13px solid #ffe7ab;top:26px;left:7%}
.workkc .wk-sq1{width:118px;height:44px;background:#ffe7ab;border-radius:5px;top:52px;left:7.5%}
.workkc .wk-sq2{width:130px;height:70px;background:#ffe7ab;border-radius:5px;top:30px;left:34%;animation:katakata 7s ease-in-out infinite}
.workkc .wk-gray{width:150px;height:58px;background:#ececec;border-radius:5px;top:96px;right:30%}
.workkc .wk-cloud{width:300px;height:66px;top:48px;right:8%}
.workkc .wk-cloud svg{width:100%;height:100%}
/* 特長ブロックを複数・写真を左右交互に（番号付き） */
.workkc .wk-feats{max-width:1180px;margin:50px auto 0;padding:0 clamp(22px,5vw,40px);position:relative;z-index:1}
.workkc .wk-feat{position:relative;display:grid;grid-template-columns:1.32fr .68fr;gap:clamp(28px,4vw,52px);align-items:center;margin-bottom:clamp(64px,9vw,110px)}
.workkc .wk-feat:last-of-type{margin-bottom:0}
.workkc .wk-feat:nth-child(even){direction:rtl}
.workkc .wk-feat:nth-child(even) .wf-body{direction:ltr;text-align:left}
.workkc .wf-photo{position:relative;z-index:1}
/* 写真の四隅にのぞく黄色い正方形（2つ） */
.workkc .wf-photo-sq::before{content:"";position:absolute;left:-18px;bottom:-18px;width:64px;height:64px;background:#ffe7ab;border-radius:5px;z-index:0}
.workkc .wf-photo-sq::after{content:"";position:absolute;right:-16px;top:-16px;width:46px;height:46px;background:#f7dd84;border-radius:5px;z-index:0}
.workkc .wf-photo img{position:relative;z-index:1;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.workkc .wf-body{position:relative;z-index:2;direction:ltr;text-align:left}
.workkc .wf-head-row{display:flex;align-items:flex-start;gap:clamp(14px,2vw,30px);margin-bottom:26px}
.workkc .wf-no{flex:none;font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:clamp(3.4rem,7vw,5.6rem);color:#ffe7ab;line-height:.82;letter-spacing:-.02em}
.workkc .wf-title{font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:clamp(1.5rem,2.8vw,2.05rem);color:var(--ink);line-height:1.46;margin:0;padding-top:.1em;letter-spacing:.02em}
.workkc .wf-title span{display:block}
.workkc .wf-title span:nth-child(2){margin-left:1.5em}
.workkc .wf-title span:nth-child(3){margin-left:3em}
/* 特長3：縦書き＋横書きの組み合わせ */
.workkc .wf-title-vh{display:flex;align-items:flex-start;gap:.5em;padding-top:0}
.workkc .wf-title-vh span{display:block;margin:0!important}
.workkc .wf-title-vh .vh-v{writing-mode:vertical-rl}
.workkc .wf-title-vh .vh-h{margin-top:.4em!important}
.workkc .wf-checks{list-style:none;margin:0}
.workkc .wf-checks li{position:relative;padding:15px 0 15px 38px;border-bottom:1px solid rgba(0,0,0,.12);font-size:1rem;line-height:1.7;color:var(--ink)}
.workkc .wf-checks li:first-child{border-top:1px solid rgba(0,0,0,.12)}
.workkc .wf-checks li::before{content:"";position:absolute;left:4px;top:20px;width:18px;height:10px;border-left:3.5px solid #ffe7ab;border-bottom:3.5px solid #ffe7ab;transform:rotate(-45deg)}
.workkc .sec-more{text-align:center;margin-top:64px}
/* ===== 特長ブロック内の散らし装飾（背景・z0） ===== */
.workkc .fd{position:absolute;z-index:0;pointer-events:none;line-height:0}
/* 淡い灰色の角丸図形（写真の裏からのぞく） */
.workkc .fd-gray{background:#ededed;border-radius:10px}
.workkc .fd-gray-a{width:190px;height:150px;left:-44px;bottom:-44px}
.workkc .fd-gray-b{width:210px;height:160px;right:-48px;bottom:-46px}
.workkc .fd-gray-c{width:230px;height:170px;left:-50px;top:-34px}
/* 黄色いワイヤーフレーム立方体×2（特長2の本文下） */
.workkc .fd-cubes{width:clamp(150px,16vw,210px);left:0;bottom:-122px}
.workkc .fd-cubes svg{width:100%;height:auto}
/* 右からのシェブロン矢印（特長3／本文右の余白へ逃がす） */
.workkc .fd-chevrons{width:clamp(40px,5vw,60px);right:-74px;bottom:30px}
.workkc .fd-chevrons svg{width:100%;height:auto}
/* 黄色いブロック図形（正方形＋長方形の組み合わせ・特長3 左下） */
.workkc .fd-ylego{width:96px;height:96px;background:#ffe7ab;border-radius:6px;left:8%;bottom:-58px}
.workkc .fd-ylego::before{content:"";position:absolute;left:100%;bottom:0;width:120px;height:42px;background:#ffe7ab;border-radius:6px}
@media(max-width:860px){
  .workkc .wk-feat{grid-template-columns:1fr;gap:22px;direction:ltr}
  .workkc .wk-feat:nth-child(even){direction:ltr}
  .workkc .wk-deco,.workkc .fd{display:none}
  .workkc .wf-title span{margin-left:0!important}
  .workkc .wf-title-vh{writing-mode:horizontal-tb}
  .workkc .wf-title-vh .vh-v{writing-mode:horizontal-tb}
}

/* ===== ヒーロー：大きな1枚写真フェード切替＋丸がふわふわ（ainowa風） ===== */
.herofs{position:relative;height:min(88vh,760px);min-height:520px;overflow:hidden;background:linear-gradient(125deg,#f2f8f1,#fbeef1);margin-top:0}
/* 角丸の写真パネルを背景の上に貼る */
.hfs-slides{position:absolute;inset:clamp(22px,4.5vw,64px);z-index:0;border-radius:clamp(22px,3vw,40px);overflow:hidden;box-shadow:0 26px 60px rgba(0,0,0,.18)}
.hfs-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);transition:opacity 1.4s ease,transform 6s ease;
  filter:brightness(1.12) contrast(.93) saturate(1.22) sepia(.16) hue-rotate(-6deg)}
.hfs-slide.is-active{opacity:1;transform:scale(1)}
/* 写真のレタッチ（明るく・暖かく・ふんわり／中央だけ少し落として白文字を立てる） */
.hfs-slides::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none;
  background:radial-gradient(ellipse at 50% 47%,rgba(0,0,0,.30),rgba(0,0,0,.04) 56%),linear-gradient(155deg,rgba(255,231,200,.16),rgba(255,206,214,.12))}
/* 塗り円は写真パネルの“裏”から角に覗く（z-index:-1）。色ははっきりめの淡色。四隅均等にはしない */
.hfs-blob{position:absolute;border-radius:50%;pointer-events:none}
.hfs-blob.hb1{z-index:-1;width:clamp(240px,32vw,400px);aspect-ratio:1;background:#f2c4d3;left:-4%;bottom:-5%;animation:hfloat 14s ease-in-out infinite}          /* 左下：はっきりめピンク（裏） */
.hfs-blob.hb2{z-index:-1;width:clamp(180px,22vw,280px);aspect-ratio:1;background:#cbe6b2;left:-3%;top:-3%;animation:hfloat 16s ease-in-out infinite -3s}          /* 左上：若草（裏） */
.hfs-blob.hb3{z-index:-1;width:clamp(200px,24vw,310px);aspect-ratio:1;background:#f7d2b6;right:-3%;top:-3%;animation:hfloat 15s ease-in-out infinite -5s}         /* 右上：ピーチ（裏） */
.hfs-blob.hb4{display:none}                                                                                                                                   /* 右下は置かない */
.hfs-blob.hb5{z-index:6;width:clamp(54px,6.5vw,92px);aspect-ratio:1;background:#fff;left:13%;bottom:18%;animation:hfloat 12s ease-in-out infinite -1.5s}        /* 小さい白丸（前面） */
/* 白い手描き風リング（前面・少しいびつで手描きっぽく） */
.hfs-ring{position:absolute;border:3px solid rgba(255,255,255,.88);z-index:4;pointer-events:none}
.hfs-ring.hr1{width:clamp(150px,20vw,250px);aspect-ratio:1;right:6%;top:20%;border-radius:49% 51% 48% 52%/52% 47% 53% 48%;animation:hfloat 15s ease-in-out infinite}     /* 右上：大きいリング（前面） */
.hfs-ring.hr2{width:clamp(130px,17vw,210px);aspect-ratio:1;left:6%;bottom:12%;border-radius:51% 49% 53% 47%/48% 53% 47% 52%;animation:hfloat 16s ease-in-out infinite -3s}  /* 左下：リング（前面） */
.hfs-ring.hr3{display:none}
/* 動きは控えめに（軽くだけ） */
@keyframes hfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
/* 中央のコピー */
.hfs-copy{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.hfs-tag{display:inline-block;background:#fff;color:var(--green-d);font-family:var(--maru);font-weight:700;font-size:.9rem;letter-spacing:.04em;padding:.5em 1.5em;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.14);margin-bottom:22px}
.hfs-title{font-family:"Shippori Mincho",var(--maru),serif;font-weight:800;font-size:clamp(2.2rem,6vw,4rem);color:#fff;letter-spacing:.1em;line-height:1.4;text-shadow:0 4px 26px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.4)}
.hfs-lead{color:#fff;font-family:var(--maru);font-weight:700;font-size:clamp(.92rem,1.6vw,1.06rem);margin-top:16px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.hfs-copy .mq-cta{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:14px;width:auto;max-width:none;margin-top:30px}
.herofs .mq-scroll{position:absolute;left:50%;transform:translateX(-50%);bottom:18px;right:auto;z-index:6;writing-mode:horizontal-tb;color:#fff;opacity:.95}
.herofs .mq-scroll::after{background:#fff}
@media(max-width:860px){
  .herofs{height:auto;min-height:auto;padding:0}
  .hfs-copy{position:relative;min-height:78vh}
  .hfs-copy .mq-cta{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){ .hfs-blob,.hfs-ring{animation:none} }

/* ===== 私たちについて：ainowa式（角丸写真＋後ろに同サイズの図形が下にはみ出す／反対側にテキストカード） ===== */
.aboutkc{background:#fff;position:relative;overflow:hidden}
.aboutkc .ab-grid{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,40px);display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(36px,5vw,64px);align-items:center}
.aboutkc .happy li{font-size:.95rem}
.aboutkc .happy li span{font-size:.66rem}
/* 写真（左）＋後ろに同サイズの図形を下にずらして覗かせる */
.aboutkc .ab-photo{position:relative}
.aboutkc .ab-photo img{position:relative;z-index:1;width:100%;height:clamp(340px,42vw,480px);object-fit:cover;border-radius:26px;display:block;box-shadow:0 20px 44px rgba(0,0,0,.14)}
.aboutkc .ab-photo-bg{position:absolute;z-index:0;inset:0;transform:translate(22px,40px);border-radius:38% 62% 60% 40% / 46% 44% 56% 54%;background:var(--green-l)}
/* テキストカード（右） */
.aboutkc .ab-card{background:#f6faf1;border-radius:26px;padding:clamp(28px,4vw,52px);box-shadow:0 16px 40px rgba(0,0,0,.06);text-align:left}
.aboutkc .ab-card .en{color:var(--green);font-family:var(--maru);font-weight:700;letter-spacing:.1em;font-size:.82rem}
.aboutkc .ab-card h2{font-family:"Zen Maru Gothic",var(--maru),sans-serif;font-weight:900;font-size:clamp(1.6rem,3vw,2.1rem);color:var(--ink);margin:6px 0 18px;text-align:left}
.aboutkc .about-vision{text-align:left;font-size:clamp(1.15rem,1.9vw,1.4rem);margin:0 0 12px}
.aboutkc .about-text{text-align:left;margin:0 0 22px}
.aboutkc .happy{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 6px}
.aboutkc .happy li{margin:0}
.aboutkc .sec-more{text-align:left;margin-top:24px}
.aboutkc .sec-more .btn-ghost{white-space:nowrap;font-size:.95rem;padding:13px 24px}
@media(max-width:860px){
  .aboutkc .ab-grid{grid-template-columns:1fr;gap:40px}
  .aboutkc .ab-photo-bg{transform:translate(14px,26px)}
}

/* ===== 採用CTA：ainowa式（横長パネル＋空・街並み背景イラスト＋写真3枚＋右に白カード3ボタン） ===== */
.entrykc{background:#fff}
.entrykc .ek-panel{max-width:1240px;margin:0 auto;border-radius:34px;overflow:hidden;position:relative;
  background:url(assets/entry_bg5.jpg) center/cover no-repeat;
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(20px,3vw,40px);align-items:center;
  min-height:clamp(440px,46vw,560px);padding:clamp(26px,4vw,52px)}
/* 写真3枚を左側に散らす */
.entrykc .ek-photos{position:relative;height:100%;min-height:clamp(300px,34vw,420px)}
.entrykc .ek-photo{position:absolute;border-radius:14px;border:5px solid #fff;box-shadow:0 14px 30px rgba(0,0,0,.2);object-fit:cover}
.entrykc .ek-p1{width:54%;aspect-ratio:4/3;left:2%;top:2%;z-index:3}
.entrykc .ek-p2{width:48%;aspect-ratio:4/3;right:0;top:30%;z-index:2}
.entrykc .ek-p3{width:42%;aspect-ratio:4/3;left:14%;bottom:0;z-index:4}
/* 右の白カード */
.entrykc .ek-card{background:rgba(255,255,255,.96);border-radius:26px;padding:clamp(28px,3.4vw,46px);box-shadow:0 20px 46px rgba(0,0,0,.14);text-align:center}
.entrykc .ek-dot{display:block;width:22px;height:22px;border-radius:50%;background:var(--green);margin:0 auto 16px}
.entrykc .entry-title{color:var(--ink);font-family:"Zen Maru Gothic",var(--maru),sans-serif;font-weight:900;font-size:clamp(1.35rem,2.4vw,1.95rem);line-height:1.5;letter-spacing:.02em}
.entrykc .entry-sub{color:var(--ink);opacity:.85;margin:14px 0 26px;font-size:.95rem;line-height:1.8}
.entrykc .ek-actions{display:flex;flex-direction:column;gap:12px;max-width:330px;margin:0 auto;width:100%}
.entrykc .ek-actions .btn{width:100%}
@media(max-width:860px){
  .entrykc .ek-panel{grid-template-columns:1fr;gap:18px;padding:20px}
  .entrykc .ek-photos{height:auto;min-height:300px}
}

/* 採用CTA：ボタンの色をトーンダウン（くすませる）／見出しフォント調整 */
.entrykc .entry-title{font-weight:700;letter-spacing:.01em;font-size:clamp(1.3rem,2vw,1.72rem)}
.entrykc .ek-actions .btn-entry{background:#e79a5b;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.10)}
.entrykc .ek-actions .btn-line{background:#74bd8d;color:#fff}
.entrykc .ek-actions .btn-indeed{background:#6f90c1;color:#fff}

/* ===== ヒーロー：色とりどりの茎が一点から噴き出す ===== */
.hero-burst{position:relative;min-height:min(86vh,760px);background:#ffffff;overflow:hidden}
.hero-burst .hb-art{position:absolute;inset:0;width:100%;height:100%;display:block}

/* ============================================================
   ヒーロー「笑顔のそばで」：実写コラージュ × 「笑顔」を主役（採用FV）
   - 既存トークン継承／地は生成りクリームに上書き
   - 見出し=Zen Maru Gothic / 「笑顔」=Klee One / 理念タグ=Shippori Mincho
   - アニメは全てCSS（JS不要）・prefers-reduced-motion対応
   ============================================================ */
.hxhero{--paper:#fbf8f2;position:relative;display:flex;flex-direction:column;
  min-height:100svh;background:var(--paper);overflow:hidden;padding:92px 0 0;margin:0}
.hxhero .hx-grain{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hxhero .hx-inner{flex:1;display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(28px,4vw,60px);
  align-content:center;align-items:center;max-width:1180px;width:100%;margin:0 auto;
  padding:clamp(18px,3vw,40px) clamp(24px,5vw,56px);position:relative;z-index:2}

/* ---- コピー ---- */
.hxhero .hx-copy{position:relative}
.hxhero .hx-philtag{writing-mode:vertical-rl;font-family:"Shippori Mincho",serif;font-weight:600;
  color:var(--green-d);letter-spacing:.22em;font-size:.92rem;line-height:1;position:absolute;left:-2.2em;top:.1em}
.hxhero .hx-philtag .en{display:block;writing-mode:vertical-rl;font-size:.66em;letter-spacing:.1em;
  color:var(--green);margin-top:1.1em;opacity:.85;font-family:"Shippori Mincho",serif}
.hxhero .hx-title{font-family:"Zen Maru Gothic",var(--maru),sans-serif;font-weight:900;
  font-size:clamp(2.2rem,5.8vw,4.1rem);line-height:1.36;letter-spacing:.02em;color:var(--ink);margin:0}
.hxhero .hx-l{display:block;opacity:0;transform:translateY(.45em);
  animation:hxRise .7s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(.12s*var(--i) + .1s)}
.hxhero .hx-smileline{position:relative;display:inline-block}
.hxhero .hx-smile{font-family:"Klee One",cursive;font-weight:600;color:var(--orange);
  font-size:1.22em;line-height:1;display:inline-block;padding:0 .04em;
  opacity:0;transform:translateY(.3em) scale(.92);animation:hxSmile .55s cubic-bezier(.2,.8,.2,1.1) forwards;animation-delay:.66s}
.hxhero .hx-wo{display:inline}
.hxhero .hx-underline{position:absolute;left:-.04em;bottom:-.16em;width:min(60%,300px);height:auto;overflow:visible}
.hxhero .hx-underline path{fill:none;stroke:var(--green);stroke-width:6;stroke-linecap:round;
  stroke-dasharray:300;stroke-dashoffset:300;animation:hxDraw .85s ease .92s forwards}
.hxhero .hx-sub{margin:clamp(22px,3vw,34px) 0 28px;font-size:clamp(.98rem,1.4vw,1.12rem);
  line-height:1.95;color:var(--ink);opacity:0;animation:hxFade .7s ease 1s forwards}
.hxhero .hx-actions{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:hxFade .7s ease 1.15s forwards}
.hxhero .hx-actions .btn-entry{background:var(--orange);color:#fff;box-shadow:0 10px 24px rgba(232,138,54,.28)}
.hxhero .hx-actions .btn .arr{margin-left:.4em;display:inline-block;transition:transform .2s}
.hxhero .hx-actions .btn:hover .arr{transform:translateX(3px)}

/* ---- フォトクラスタ（非対称・回転・角丸バラ） ---- */
.hxhero .hx-cluster{position:relative;aspect-ratio:1/1;width:100%}
.hxhero .hc-main{position:absolute;left:0;top:4%;width:84%;margin:0;border-radius:34px 42px 28px 46px;
  overflow:hidden;box-shadow:0 22px 46px rgba(60,50,40,.18);transform:rotate(-2deg);
  opacity:0;animation:hxFade .8s ease .25s forwards}
.hxhero .hc-main img{display:block;width:100%;aspect-ratio:4/3.1;object-fit:cover;object-position:center 42%;
  filter:saturate(1.06) contrast(1.03);animation:hxKen 20s ease-in-out infinite alternate}
.hxhero .hc-scene{position:absolute;right:-2%;top:0;width:36%;margin:0;border-radius:20px;overflow:hidden;
  box-shadow:0 12px 26px rgba(60,50,40,.2);transform:rotate(3.5deg);opacity:0;animation:hxFade .8s ease .5s forwards}
.hxhero .hc-scene img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.hxhero .hc-face{position:absolute;right:5%;bottom:1%;width:31%;margin:0;border-radius:50%;overflow:hidden;
  border:5px solid var(--paper);box-shadow:0 14px 28px rgba(60,50,40,.22);transform:rotate(-4deg);
  opacity:0;animation:hxFade .8s ease .72s forwards}
.hxhero .hc-face img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 24%}
.hxhero .hx-badge{position:absolute;left:5%;bottom:-2%;z-index:3;font-family:"Klee One",cursive;font-weight:600;
  color:var(--green-d);font-size:1rem;background:color-mix(in srgb,var(--green-l) 72%,var(--paper));
  border:1.5px solid color-mix(in srgb,var(--green) 30%,var(--paper));padding:6px 16px;border-radius:999px;
  transform:rotate(-3deg);box-shadow:0 8px 18px rgba(60,50,40,.12)}

/* ---- 下部フェイス帯（スタッフの笑顔・低速マーキー） ---- */
.hxhero .hx-band{position:relative;z-index:2;overflow:hidden;padding:13px 0;
  border-top:1px solid color-mix(in srgb,var(--green) 24%,var(--paper));
  background:color-mix(in srgb,var(--green-l) 55%,var(--paper))}
.hxhero .hb-track{display:flex;align-items:center;gap:30px;width:max-content;animation:mqscroll 42s linear infinite}
.hxhero .hx-band:hover .hb-track{animation-play-state:paused}
.hxhero .hb-cell{display:flex;align-items:center;gap:10px}
.hxhero .hb-cell img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:center 24%;flex:none}
.hxhero .hb-cell b{font-family:"Klee One",cursive;font-weight:600;color:var(--green-d);font-size:1.05rem}

/* ---- スクロール印 ---- */
.hxhero .hx-scroll{position:absolute;right:clamp(16px,4vw,40px);bottom:82px;z-index:3;writing-mode:vertical-rl;
  font-family:var(--maru);font-weight:700;font-size:.64rem;letter-spacing:.24em;color:var(--green-d);opacity:.7}

@keyframes hxRise{to{opacity:1;transform:none}}
@keyframes hxSmile{to{opacity:1;transform:none}}
@keyframes hxFade{to{opacity:1}}
@keyframes hxDraw{to{stroke-dashoffset:0}}
@keyframes hxKen{to{transform:scale(1.06)}}

@media(max-width:860px){
  .hxhero{min-height:auto;padding:84px 0 0}
  .hxhero .hx-inner{grid-template-columns:1fr;gap:20px;padding:14px 22px 30px}
  .hxhero .hx-cluster{order:-1;aspect-ratio:1/.74;max-width:470px;width:100%;margin:0 auto 4px}
  .hxhero .hc-main{width:88%}
  .hxhero .hc-face{width:33%;bottom:-1%}
  .hxhero .hx-badge{display:none}
  .hxhero .hx-philtag{writing-mode:horizontal-tb;position:static;left:auto;top:auto;
    margin-bottom:8px;letter-spacing:.16em;display:flex;align-items:baseline;gap:.8em}
  .hxhero .hx-philtag .en{writing-mode:horizontal-tb;margin:0}
  .hxhero .hx-title{font-size:clamp(2rem,8.5vw,2.9rem)}
  .hxhero .hx-scroll{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hxhero .hx-l,.hxhero .hx-smile,.hxhero .hx-sub,.hxhero .hx-actions{opacity:1!important;transform:none!important;animation:none!important}
  .hxhero .hc-main,.hxhero .hc-scene,.hxhero .hc-face{opacity:1!important;animation:none!important}
  .hxhero .hc-main img{animation:none!important}
  .hxhero .hx-underline path{stroke-dashoffset:0!important;animation:none!important}
  .hxhero .hb-track{animation:none!important}
}

/* ============================================================
   ヒーロー：黄色の大きな円（縁がハーフトーンのドットで溶ける）／オカムラ風
   ============================================================ */
.hxsun{position:relative;min-height:100svh;background:#fffdf8;overflow:hidden;margin:0;padding:0}
.hxsun-art{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.hxsun-title{position:absolute;z-index:2;right:clamp(28px,6vw,120px);top:50%;transform:translateY(-46%);
  margin:0;text-align:right;font-family:"Zen Maru Gothic",var(--maru),sans-serif;font-weight:900;
  font-size:clamp(2rem,4.6vw,3.7rem);line-height:1.62;letter-spacing:.04em;color:var(--ink)}
.hxsun-title .l{display:block}
.hxsun-title .hxsun-smile{color:#e98a14;font-size:1.18em}
@media(max-width:860px){
  .hxsun-title{right:auto;left:0;right:0;top:auto;bottom:clamp(40px,12vh,120px);transform:none;
    text-align:center;font-size:clamp(1.9rem,8vw,2.8rem);line-height:1.55;padding:0 22px}
}

/* ヒーロー黄色：3D光＋光の中に顔写真がうっすら浮かぶ */
.hxsun-glow{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(125% 115% at -4% -8%, rgba(247,189,18,.34) 0%, rgba(247,189,18,.12) 28%, rgba(247,189,18,.03) 48%, transparent 66%)}
.hxsun-rays{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:multiply;
  background:conic-gradient(from 6deg at -4% -8%,
    transparent 0 9deg, rgba(255,221,90,.16) 9deg 15deg, transparent 15deg 29deg,
    rgba(255,221,90,.11) 29deg 33deg, transparent 33deg 50deg,
    rgba(255,221,90,.15) 50deg 57deg, transparent 57deg 77deg,
    rgba(255,221,90,.09) 77deg 81deg, transparent 81deg 100deg);
  -webkit-mask:radial-gradient(130% 120% at -4% -8%, #000 6%, rgba(0,0,0,.55) 34%, transparent 64%);
          mask:radial-gradient(130% 120% at -4% -8%, #000 6%, rgba(0,0,0,.55) 34%, transparent 64%)}
.hxsun-ghosts{position:absolute;inset:0;z-index:2;pointer-events:none}
.hxsun-ghosts .gh{position:absolute;margin:0;border-radius:50%;overflow:hidden;opacity:0;mix-blend-mode:multiply;
  -webkit-mask:radial-gradient(circle, #000 34%, transparent 70%);
          mask:radial-gradient(circle, #000 34%, transparent 70%);
  animation:ghPulse 11s ease-in-out infinite}
.hxsun-ghosts .gh img{width:100%;height:100%;object-fit:cover;object-position:center 22%;
  filter:sepia(.62) saturate(1.9) hue-rotate(-14deg) brightness(1.1) contrast(.92)}
.hxsun-ghosts .g1{width:clamp(150px,17vw,250px);aspect-ratio:1;left:31%;top:15%;animation-delay:.4s}
.hxsun-ghosts .g2{width:clamp(120px,13vw,190px);aspect-ratio:1;left:48%;top:44%;animation-delay:4.2s}
.hxsun-ghosts .g3{width:clamp(130px,15vw,210px);aspect-ratio:1;left:18%;top:55%;animation-delay:7.8s}
@keyframes ghPulse{0%,100%{opacity:0}42%,58%{opacity:.22}}
.hxsun-art{z-index:3 !important}
.hxsun-title{z-index:4}
@media(prefers-reduced-motion:reduce){ .hxsun-ghosts .gh{animation:none;opacity:.12} }

/* ============================================================
   ヒーロー：発光する太陽の中に自然な笑顔の写真が浮かぶ（脱イラスト・光の表現）
   ============================================================ */
.hxsun .sun-bloom{position:absolute;left:-12%;top:56%;transform:translateY(-50%);
  width:min(115vh,1040px);aspect-ratio:1;border-radius:50%;z-index:0;pointer-events:none;filter:blur(10px);
  background:radial-gradient(circle, rgba(255,201,44,.34) 0%, rgba(255,201,44,.12) 34%, transparent 60%)}
.hxsun .sun{position:absolute;left:1%;top:56%;transform:translateY(-50%);
  width:min(80vh,760px);aspect-ratio:1;z-index:1;border-radius:50%;overflow:hidden;
  -webkit-mask:radial-gradient(circle at 50% 50%, #000 49%, rgba(0,0,0,.55) 65%, transparent 82%);
          mask:radial-gradient(circle at 50% 50%, #000 49%, rgba(0,0,0,.55) 65%, transparent 82%)}
.hxsun .sun-light{position:absolute;inset:0;
  background:radial-gradient(circle at 46% 42%, #fff1bd 0%, #ffd64a 34%, #f7bd12 70%, #eca006 100%)}
.hxsun .sun-photo{position:absolute;inset:0;margin:0;opacity:0}
.hxsun .sun-photo img{width:100%;height:100%;object-fit:cover;
  filter:sepia(.7) saturate(2.5) hue-rotate(-12deg) brightness(1.32) contrast(.78)}
.hxsun .sun-photo.p1 img{object-position:20% 34%}
.hxsun .sun-photo.p2 img{object-position:40% 26%}
.hxsun .sun-photo.p1{animation:sunFade 17s ease-in-out infinite}
.hxsun .sun-photo.p2{animation:sunFade 17s ease-in-out infinite -8.5s}
.hxsun .sun-glaze{position:absolute;inset:0;mix-blend-mode:screen;pointer-events:none;
  background:radial-gradient(circle at 46% 40%, rgba(255,244,195,.7) 0%, rgba(255,216,80,.4) 48%, rgba(255,200,40,.14) 78%, transparent 92%)}
.hxsun .sun-rays{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen;
  background:conic-gradient(from 200deg at 26% 56%,
    transparent 0 8deg, rgba(255,236,150,.12) 8deg 13deg, transparent 13deg 28deg,
    rgba(255,236,150,.09) 28deg 32deg, transparent 32deg 52deg,
    rgba(255,236,150,.11) 52deg 58deg, transparent 58deg 80deg);
  -webkit-mask:radial-gradient(80% 90% at 26% 56%, #000 8%, rgba(0,0,0,.4) 40%, transparent 70%);
          mask:radial-gradient(80% 90% at 26% 56%, #000 8%, rgba(0,0,0,.4) 40%, transparent 70%)}
@keyframes sunFade{0%,100%{opacity:0}18%,40%{opacity:.82}60%{opacity:0}}
@media(prefers-reduced-motion:reduce){
  .hxsun .sun-photo.p1{opacity:.82;animation:none}
  .hxsun .sun-photo.p2{opacity:0;animation:none}
}
@media(max-width:860px){
  .hxsun .sun{left:50%;top:34%;transform:translate(-50%,-50%);width:min(86vw,460px)}
  .hxsun .sun-bloom{left:50%;top:34%;transform:translate(-50%,-50%);width:min(130vw,640px)}
}

/* ============================================================
   ヒーロー：大きな笑顔チーム写真＋黄色の曲線スウォッシュ＋太字見出し（Growin風）
   ============================================================ */
.hxsun .grow-bg{position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(60% 70% at 2% 0%, #ffd140 0%, rgba(247,189,18,.55) 26%, rgba(247,189,18,0) 56%),
    radial-gradient(62% 72% at 100% 100%, #f6b50f 0%, rgba(246,181,15,.6) 28%, rgba(246,181,15,0) 58%),
    #fef7e6}
.hxsun .grow-photo{position:absolute;inset:0;z-index:1;
  clip-path:ellipse(64% 118% at 64% 50%)}
.hxsun .grow-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;
  filter:saturate(1.06) contrast(1.02) brightness(1.02)}
.hxsun .grow-tint{position:absolute;inset:0;z-index:2;pointer-events:none;
  clip-path:ellipse(64% 118% at 64% 50%);
  background:linear-gradient(180deg, rgba(255,235,170,.18) 0%, rgba(255,255,255,0) 34%, rgba(255,255,255,0) 62%, rgba(255,247,225,.34) 100%)}
.hxsun .hxsun-title{position:absolute;inset:0;z-index:3;display:grid;place-content:center;justify-items:center;
  text-align:center;right:auto;top:auto;transform:none;padding:0 24px;
  font-family:"Zen Maru Gothic",var(--maru),sans-serif;font-weight:900;
  font-size:clamp(2.1rem,5.4vw,4.2rem);line-height:1.5;letter-spacing:.04em;color:#3a322e;
  text-shadow:0 2px 22px rgba(255,251,240,.9),0 1px 4px rgba(255,251,240,.8)}
.hxsun .hxsun-title .l{display:block}
.hxsun .hxsun-title .hxsun-smile{color:#ec8a13;font-size:1.16em;text-shadow:0 2px 22px rgba(255,248,235,.85)}
@media(max-width:860px){
  .hxsun .grow-photo,.hxsun .grow-tint{clip-path:ellipse(120% 60% at 50% 30%)}
  .hxsun .grow-photo img{object-position:center 26%}
  .hxsun .grow-bg{background:
    radial-gradient(80% 40% at 0% 0%, #ffd140 0%, rgba(247,189,18,0) 50%),
    radial-gradient(90% 46% at 100% 100%, #f6b50f 0%, rgba(246,181,15,0) 52%),#fef7e6}
  .hxsun .hxsun-title{place-content:end center;padding-bottom:14vh;font-size:clamp(1.9rem,8vw,2.8rem)}
}

/* ============================================================
   ヒーロー：白ベース＋中央に太字＋一部だけ写真が透ける（Growin風・正しい構図）
   ============================================================ */
.hxsun{background:#ffffff}
.hxsun .gw-photo{position:absolute;inset:0;z-index:1;pointer-events:none;
  -webkit-mask:radial-gradient(42% 66% at 50% 48%, #000 0 46%, rgba(0,0,0,.45) 66%, transparent 84%);
          mask:radial-gradient(42% 66% at 50% 48%, #000 0 46%, rgba(0,0,0,.45) 66%, transparent 84%)}
.hxsun .gw-photo img{width:100%;height:100%;object-fit:cover;object-position:center 24%;
  filter:saturate(1.05) contrast(1.02)}
/* 写真の縁に黄色がにじむスウォッシュ（写真の窓の中だけ・上下端に） */
.hxsun .gw-swoosh{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:multiply;
  background:
    radial-gradient(46% 30% at 40% 6%, rgba(247,180,20,.55), transparent 70%),
    radial-gradient(50% 32% at 62% 96%, rgba(243,150,12,.55), transparent 70%);
  -webkit-mask:radial-gradient(42% 66% at 50% 48%, #000 0 50%, transparent 82%);
          mask:radial-gradient(42% 66% at 50% 48%, #000 0 50%, transparent 82%)}
.hxsun .hxsun-title{position:absolute;inset:0;z-index:3;display:grid;place-content:center;justify-items:center;
  text-align:center;right:auto;top:auto;transform:none;padding:0 24px;
  font-family:"Zen Maru Gothic",var(--maru),sans-serif;font-weight:900;
  font-size:clamp(2.1rem,5.6vw,4.4rem);line-height:1.5;letter-spacing:.05em;color:#33302d;
  text-shadow:0 0 18px rgba(255,255,255,.92),0 0 6px rgba(255,255,255,.95),0 2px 3px rgba(255,255,255,.9)}
.hxsun .hxsun-title .l{display:block}
.hxsun .hxsun-title .hxsun-smile{color:#ec8a13;font-size:1.16em}
@media(max-width:860px){
  .hxsun .gw-photo,.hxsun .gw-swoosh{-webkit-mask:radial-gradient(72% 40% at 50% 40%, #000 0 50%, transparent 84%);mask:radial-gradient(72% 40% at 50% 40%, #000 0 50%, transparent 84%)}
  .hxsun .hxsun-title{font-size:clamp(1.9rem,8vw,2.8rem)}
}

/* 見出しを画面中央に確実に固定（過去の重複ルールの上書き） */
.hxsun .hxsun-title{top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;
  place-content:center !important;align-content:center !important;justify-items:center !important;
  transform:none !important}

/* ヒーロー：白地＋太いリング(上=写真/左下=オレンジ)＋中央に太字テキスト（Growin風・正） */
.hxsun{background:#ffffff;overflow:hidden}
.hxsun .gw-ring{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);
  width:min(96vh,880px);aspect-ratio:1;z-index:1;pointer-events:none}
.hxsun .gw-ringsvg{width:100%;height:100%;display:block}
.hxsun .hxsun-title{z-index:3;color:#2f2c29;
  text-shadow:0 0 16px rgba(255,255,255,.85),0 0 5px rgba(255,255,255,.9)}
.hxsun .hxsun-title .hxsun-smile{color:#ef7d12}

/* Growin風：フォントを角ゴシック(Noto Sans JP)に・細い横線・帯を大きく */
.hxsun .gw-ring{width:min(104vh,940px) !important}
.hxsun .hxsun-title{font-family:"Noto Sans JP",sans-serif !important;font-weight:900 !important;
  letter-spacing:.02em !important;line-height:1.42 !important;color:#211f1d !important}
.hxsun .hxsun-title .hxsun-smile{color:#ef7d12 !important;font-family:"Noto Sans JP",sans-serif !important;font-size:1.05em}
.hxsun .gw-line{position:absolute;left:0;right:0;top:50%;height:1px;z-index:2;
  background:rgba(40,36,32,.5);transform:translateY(-50%)}

/* Growin風：穴なしの有機形に写真／文字は写真の上（白グロー強め） */
.hxsun .gw-ring{width:min(102vh,920px) !important;top:50% !important}
.hxsun .gw-blobsvg{width:100%;height:100%;display:block}
.hxsun .hxsun-title{
  text-shadow:0 0 22px rgba(255,255,255,.95),0 0 9px rgba(255,255,255,.95),0 0 3px rgba(255,255,255,.95) !important}

/* ============================================================
   ヒーロー：白地＋サーモ風グラデの図形（CYBER LINKS風）／写真なし
   ============================================================ */
.hxsun{background:#ffffff;overflow:hidden}
.hxsun .cl-art{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.hxsun .cl-art .tc{mix-blend-mode:normal;animation:clDrift 14s ease-in-out infinite}
.hxsun .cl-art .tc1{animation-duration:18s;animation-delay:-3s}
.hxsun .cl-art .tc2{animation-duration:22s;animation-delay:-7s}
.hxsun .cl-art .tc3{animation-duration:16s;animation-delay:-11s}
@keyframes clDrift{0%,100%{transform:translate(0,0)}33%{transform:translate(38px,-26px)}66%{transform:translate(-30px,30px)}}
/* 見出しは左下・ネイビー（CYBER LINKS風） */
.hxsun .hxsun-title{position:absolute !important;z-index:3;left:clamp(28px,6vw,96px) !important;
  right:auto !important;top:auto !important;bottom:clamp(60px,16vh,150px) !important;
  display:block !important;place-content:initial !important;text-align:left !important;
  font-family:"Noto Sans JP",sans-serif !important;font-weight:900 !important;
  font-size:clamp(2.1rem,5vw,3.9rem) !important;line-height:1.5 !important;letter-spacing:.02em !important;
  color:#1f3b86 !important;text-shadow:none !important;transform:none !important;padding:0 !important}
.hxsun .hxsun-title .l{display:block}
.hxsun .hxsun-title .hxsun-smile{color:#ee6a1e !important;font-family:"Noto Sans JP",sans-serif !important}
@media(prefers-reduced-motion:reduce){.hxsun .cl-art .tc{animation:none}}
@media(max-width:860px){
  .hxsun .hxsun-title{bottom:auto !important;top:54% !important;font-size:clamp(1.8rem,7.4vw,2.6rem) !important}
}

/* CYBER LINKS実機解析の反映：背景=淡い水色／グラデを連続的に流す */
.hxsun{background:#eaf2fb !important}
.hxsun .cl-art g[clip-path] rect{fill:#e7eef9}
.hxsun .cl-art .tc{animation:clFlow 22s ease-in-out infinite !important}
.hxsun .cl-art .tc1{animation-duration:26s !important;animation-delay:-5s !important}
.hxsun .cl-art .tc2{animation-duration:30s !important;animation-delay:-12s !important}
.hxsun .cl-art .tc3{animation-duration:24s !important;animation-delay:-18s !important}
@keyframes clFlow{
  0%{transform:translate(0,0) scale(1)}
  25%{transform:translate(54px,-40px) scale(1.08)}
  50%{transform:translate(-26px,46px) scale(.94)}
  75%{transform:translate(-52px,-22px) scale(1.05)}
  100%{transform:translate(0,0) scale(1)}}

/* ============================================================
   ヒーロー：E-Create自社の療育ルーム実映像（全面背景）＋見出し
   ============================================================ */
.hxvid{position:relative;min-height:100svh;overflow:hidden;background:#1c2a22 !important;margin:0}
.hxvid .hv-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;display:block}
.hxvid .hv-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg, rgba(20,30,24,.5) 0%, rgba(20,30,24,.22) 36%, rgba(20,30,24,0) 64%),
             linear-gradient(0deg, rgba(20,30,24,.5) 0%, rgba(20,30,24,0) 42%)}
.hxvid .hxsun-title{position:absolute !important;z-index:3;left:clamp(28px,6vw,96px) !important;right:auto !important;
  top:auto !important;bottom:clamp(64px,16vh,150px) !important;display:block !important;place-content:initial !important;
  text-align:left !important;transform:none !important;padding:0 !important;
  font-family:"Zen Maru Gothic",var(--maru),sans-serif !important;font-weight:900 !important;
  font-size:clamp(2.2rem,5.4vw,4.2rem) !important;line-height:1.5 !important;letter-spacing:.04em !important;
  color:#ffffff !important;text-shadow:0 2px 20px rgba(0,0,0,.45),0 1px 4px rgba(0,0,0,.4) !important}
.hxvid .hxsun-title .l{display:block}
.hxvid .hxsun-title .hxsun-smile{color:#ffcf4d !important;font-size:1.16em !important;font-family:"Klee One",cursive !important}
@media(max-width:860px){
  .hxvid .hxsun-title{bottom:clamp(48px,12vh,110px) !important;font-size:clamp(1.9rem,7.6vw,2.8rem) !important}
}

/* ============================================================
   ヒーロー：二層（背景=あたたかいイラスト風ループ／前面=実写の笑顔スライド）住友林業風
   ============================================================ */
.hxsf{position:relative;min-height:100svh;overflow:hidden;margin:0;
  background:radial-gradient(120% 100% at 30% 10%,#fff6e8 0%,#fdeedd 45%,#f7e7d6 100%)}
/* 背景：玉ボケがゆっくり流れる */
.hxsf .sf-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hxsf .bk{position:absolute;border-radius:50%;filter:blur(46px);opacity:.55;mix-blend-mode:multiply}
.hxsf .b1{width:30vw;height:30vw;left:-6%;top:8%;background:#ffd56a;animation:bkA 26s ease-in-out infinite}
.hxsf .b2{width:24vw;height:24vw;right:-4%;top:-6%;background:#ffb06a;animation:bkB 32s ease-in-out infinite}
.hxsf .b3{width:26vw;height:26vw;left:18%;bottom:-8%;background:#bfe09a;animation:bkA 30s ease-in-out infinite -6s}
.hxsf .b4{width:20vw;height:20vw;right:14%;bottom:-4%;background:#f7c0d0;animation:bkB 28s ease-in-out infinite -10s}
.hxsf .b5{width:16vw;height:16vw;left:40%;top:6%;background:#ffe08a;animation:bkA 22s ease-in-out infinite -3s}
.hxsf .b6{width:18vw;height:18vw;right:30%;top:30%;background:#ffcaa0;animation:bkB 36s ease-in-out infinite -14s}
.hxsf .b7{width:14vw;height:14vw;left:8%;top:40%;background:#cfe7b0;animation:bkA 24s ease-in-out infinite -8s}
@keyframes bkA{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(5vw,4vh) scale(1.12)}}
@keyframes bkB{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-4vw,5vh) scale(1.1)}}
/* 前面：中央フレーム＋実写の笑顔スライド（Ken Burns＋クロスフェード） */
.hxsf .sf-frame{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(62vw,860px);height:min(70vh,620px);border-radius:18px;overflow:hidden;
  box-shadow:0 30px 70px rgba(70,55,40,.30),0 6px 18px rgba(70,55,40,.18);background:#000}
.hxsf .sf-slide{position:absolute;inset:0;background-size:cover;background-position:center 30%;
  opacity:0;animation:sfFade 26s linear infinite, sfKb 26s ease-in-out infinite}
.hxsf .s1{animation-delay:0s,0s}
.hxsf .s2{animation-delay:6.5s,6.5s;background-position:center 26%}
.hxsf .s3{animation-delay:13s,13s;background-position:center 22%}
.hxsf .s4{animation-delay:19.5s,19.5s;background-position:center 40%}
@keyframes sfFade{0%{opacity:0}2%{opacity:1}23%{opacity:1}27%{opacity:0}100%{opacity:0}}
@keyframes sfKb{0%{transform:scale(1.02)}27%{transform:scale(1.1)}100%{transform:scale(1.1)}}
.hxsf .sf-fscrim{position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(0deg, rgba(25,18,12,.62) 0%, rgba(25,18,12,.1) 34%, rgba(25,18,12,0) 60%)}
.hxsf .sf-copy{position:absolute;z-index:4;left:0;right:0;bottom:clamp(24px,4vh,44px);margin:0;
  text-align:center;color:#fff;font-family:"Zen Maru Gothic",var(--maru),sans-serif;font-weight:900;
  font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1.5;letter-spacing:.03em;
  text-shadow:0 2px 16px rgba(0,0,0,.5)}
.hxsf .sf-copy .l{display:block}
.hxsf .sf-copy .sf-smile{color:#ffd24d;font-family:"Klee One",cursive;font-size:1.16em}
.hxsf .sf-scroll{position:absolute;z-index:4;right:clamp(16px,3vw,40px);bottom:18px;
  writing-mode:vertical-rl;font-family:var(--maru);font-weight:700;font-size:.64rem;letter-spacing:.24em;color:#8a6a4a}
@media(max-width:860px){
  .hxsf .sf-frame{width:86vw;height:62vh}
  .hxsf .bk{filter:blur(34px)}
  .hxsf .sf-scroll{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hxsf .bk{animation:none}
  .hxsf .sf-slide{animation:none}.hxsf .s1{opacity:1}
}

/* 二層ヒーロー更新：背景=映像(ぼかし)／前面枠=カクカク（角丸なし） */
.hxsf{background:#efe6da !important}
.hxsf .sf-bgvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;display:block;
  filter:blur(16px) saturate(1.08) brightness(1.03);transform:scale(1.14)}
.hxsf .sf-bgwash{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,248,236,.42), rgba(255,244,228,.30) 50%, rgba(250,238,222,.5))}
.hxsf .sf-frame{border-radius:0 !important;box-shadow:0 34px 80px rgba(50,38,26,.42),0 8px 22px rgba(50,38,26,.24) !important}
.hxsf .sf-slide{background-position:center 30%}

/* ============================================================
   ヒーロー：ふくろうラボ風（有機ブロブにクリップした写真スライド／浮遊ブロブ／スワイプ入場）
   ============================================================ */
.fk{position:relative;min-height:100svh;overflow:hidden;background:#ffffff;margin:0}
/* 背景の浮遊ブロブ（ブランドの緑系） */
.fk .fk-blob{position:absolute;z-index:0;pointer-events:none;opacity:.85}
.fk .fb1{width:34vw;height:34vw;left:-9%;top:8%;background:#e3f1d6;
  border-radius:58% 42% 47% 53%/53% 46% 54% 47%;animation:fkFloat 16s ease-in-out infinite}
.fk .fb2{width:26vw;height:26vw;right:-6%;bottom:-8%;background:#d9eef6;
  border-radius:46% 54% 60% 40%/55% 49% 51% 45%;animation:fkFloat 20s ease-in-out infinite -5s}
.fk .fb3{width:13vw;height:13vw;right:14%;bottom:18%;background:#eaf4dd;
  border-radius:52% 48% 44% 56%/50% 55% 45% 50%;animation:fkFloat 14s ease-in-out infinite -8s}
@keyframes fkFloat{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(2.5vw,-2vh) rotate(8deg)}}
/* 中央：有機ブロブにクリップした写真スライド */
.fk .fk-clip{position:absolute;z-index:1;left:51%;top:7%;transform:translateX(-50%);
  width:min(58vw,720px);aspect-ratio:802/762;-webkit-clip-path:url(#fk-blob);clip-path:url(#fk-blob);
  opacity:0;animation:fkRise 1.3s cubic-bezier(.2,.7,.2,1) .25s forwards}
.fk .fk-slide{position:absolute;inset:0;background-size:cover;background-position:center 28%;opacity:0;
  animation:fkFade 15s linear infinite, fkKen 15s ease-in-out infinite}
.fk .fk-slide.s1{animation-delay:0s,0s}
.fk .fk-slide.s2{animation-delay:5s,5s;background-position:center 30%}
.fk .fk-slide.s3{animation-delay:10s,10s;background-position:center 24%}
@keyframes fkFade{0%{opacity:0}3%{opacity:1}30%{opacity:1}36%{opacity:0}100%{opacity:0}}
@keyframes fkKen{0%{transform:scale(1.02)}30%{transform:scale(1.09)}100%{transform:scale(1.09)}}
/* ページ送りドット（右・縦） */
.fk .fk-dots{position:absolute;z-index:3;right:clamp(20px,4vw,56px);top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:12px;
  opacity:0;animation:fkRise 1s ease .9s forwards}
.fk .fk-dots .d{width:9px;height:9px;border-radius:50%;background:#cfe0bd;animation:fkDot 15s linear infinite}
.fk .fk-dots .d.s1{animation-delay:0s}
.fk .fk-dots .d.s2{animation-delay:5s}
.fk .fk-dots .d.s3{animation-delay:10s}
@keyframes fkDot{0%{background:#2f9fe0;transform:scale(1.45)}33%{background:#2f9fe0;transform:scale(1.45)}34%,100%{background:#cfe0bd;transform:scale(1)}}
/* 見出し（左下・スワイプ入場） */
.fk .fk-title{position:absolute;z-index:4;left:clamp(28px,6vw,96px);bottom:clamp(48px,13vh,140px);margin:0;
  font-family:"Zen Maru Gothic",var(--maru),sans-serif;font-weight:900;
  font-size:clamp(2.1rem,5vw,3.7rem);line-height:1.5;letter-spacing:.03em;color:#243a2a}
.fk .fk-title .fk-l{display:block;opacity:0;transform:translateY(32px);
  animation:fkSwipe 1.2s cubic-bezier(.2,.7,.2,1) forwards}
.fk .fk-title .fk-l:nth-child(2){animation-delay:.18s}
.fk .fk-title .fk-smile{color:#e88a36;font-size:1.16em}
@keyframes fkRise{from{opacity:0;transform:translate(-50%,30px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes fkSwipe{to{opacity:1;transform:none}}
@media(max-width:860px){
  .fk .fk-clip{width:86vw;top:10%}
  .fk .fk-title{left:0;right:0;text-align:center;bottom:clamp(40px,10vh,90px);font-size:clamp(1.8rem,7.4vw,2.6rem)}
  .fk .fk-dots{display:none}
}
@media(prefers-reduced-motion:reduce){
  .fk .fk-blob,.fk .fk-slide,.fk .fk-dots .d{animation:none}
  .fk .fk-clip,.fk .fk-dots,.fk .fk-title .fk-l{opacity:1;transform:none}
  .fk .fk-clip{transform:translateX(-50%)}
  .fk .fk-slide.s1{opacity:1}
}

/* ドットの入場アニメ修正（縦中央を保持） */
.fk .fk-dots{animation:fkRiseDots 1s ease .9s forwards !important}
@keyframes fkRiseDots{from{opacity:0;transform:translate(0,calc(-50% + 26px))}to{opacity:1;transform:translateY(-50%)}}

/* === ふくろうラボ風ヒーロー：仕上げ（ヘッダー常時表示・ブランド色・作り込み） === */
/* ① ヘッダーをヒーロー画面でも常時フル表示 */
.js .site-header{background:rgba(255,255,255,.95) !important;border-color:rgba(0,0,0,.06) !important;
  box-shadow:0 6px 22px rgba(0,0,0,.08) !important;-webkit-backdrop-filter:blur(12px) !important;backdrop-filter:blur(12px) !important}
.js .site-header .gnav,.js .site-header .header-entry{opacity:1 !important;visibility:visible !important;transform:none !important;pointer-events:auto !important}
/* ③ 背景ブロブをブランドの緑＋暖色クリームに（青は廃止）・より有機的に */
.fk .fb1{background:linear-gradient(135deg,#e3f1d2,#d6ecc0) !important;opacity:.9 !important}
.fk .fb2{background:linear-gradient(135deg,#eaf4dd,#f6ead4) !important;opacity:.9 !important}
.fk .fb3{background:linear-gradient(135deg,#fbe7cf,#f6efd9) !important;opacity:.85 !important}
/* ② 中央ブロブ写真の作り込み：奥行きの影＋写真をくっきり＋うっすら内側ハイライト */
.fk .fk-clip{filter:drop-shadow(0 26px 48px rgba(54,74,38,.24)) drop-shadow(0 6px 14px rgba(54,74,38,.14)) !important}
.fk .fk-slide{filter:saturate(1.1) contrast(1.06) brightness(1.03)}
@keyframes fkKen{0%{transform:scale(1.02)}30%{transform:scale(1.07)}100%{transform:scale(1.07)}}
/* ブロブを少し大きく・上品な浮遊に */
.fk .fk-clip{width:min(60vw,760px) !important;top:6% !important}
@keyframes fkFloat{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(1.6vw,-1.4vh) rotate(5deg)}}
/* 見出し：濃い緑＋「笑顔」オレンジ、字間を少し締めて上質に */
.fk .fk-title{color:#2c4630 !important;letter-spacing:.02em !important}
.fk .fk-title .fk-smile{color:#e8861f !important}

/* === ふくろうラボ完全再現（同色・同形・同配置） === */
.fk{position:relative;min-height:100svh;overflow:hidden;background:#ffffff !important;margin:0}
/* 背景ブロブ：実形状SVG（いびつ）・左上＆右下・ゆっくり回転 */
.fk .kvb{position:absolute;z-index:0;display:block;height:auto;pointer-events:none}
.fk .kvb.b1{width:min(48vw,640px);left:-12%;top:-20%;animation:fkRotRev 64s linear infinite}
.fk .kvb.b2{width:min(42vw,560px);right:-9%;bottom:-18%;animation:fkRot 74s linear infinite}
@keyframes fkRot{to{transform:rotate(360deg)}}
@keyframes fkRotRev{to{transform:rotate(-360deg)}}
/* 中央：有機ブロブにクリップした写真スライド（中央・大きめ） */
.fk .fk-clip{position:absolute;z-index:1;left:50%;top:7%;transform:translateX(-50%);
  width:min(60vw,880px);aspect-ratio:802/762;-webkit-clip-path:url(#fk-blob);clip-path:url(#fk-blob);
  filter:drop-shadow(0 24px 44px rgba(10,80,130,.18));
  opacity:0;animation:fkRiseC 1.3s cubic-bezier(.2,.7,.2,1) .25s forwards}
.fk .fk-slide{position:absolute;inset:0;background-size:cover;background-position:center 28%;opacity:0;
  filter:saturate(1.06) contrast(1.04);animation:fkFade 15s linear infinite, fkKen 15s ease-in-out infinite}
.fk .fk-slide.s1{animation-delay:0s,0s}
.fk .fk-slide.s2{animation-delay:5s,5s;background-position:center 30%}
.fk .fk-slide.s3{animation-delay:10s,10s;background-position:center 24%}
@keyframes fkFade{0%{opacity:0}3%{opacity:1}30%{opacity:1}36%{opacity:0}100%{opacity:0}}
@keyframes fkKen{0%{transform:scale(1.02)}30%{transform:scale(1.07)}100%{transform:scale(1.07)}}
@keyframes fkRiseC{from{opacity:0;transform:translate(-50%,30px)}to{opacity:1;transform:translate(-50%,0)}}
/* ドット（右・縦・ブルー） */
.fk .fk-dots{position:absolute;z-index:3;right:clamp(20px,4vw,56px);top:50%;
  display:flex;flex-direction:column;gap:12px;opacity:0;animation:fkRiseDots 1s ease .9s forwards}
.fk .fk-dots .d{width:9px;height:9px;border-radius:50%;background:#cfe7fb;animation:fkDot 15s linear infinite}
.fk .fk-dots .d.s1{animation-delay:0s}.fk .fk-dots .d.s2{animation-delay:5s}.fk .fk-dots .d.s3{animation-delay:10s}
@keyframes fkDot{0%{background:#f3a95a;transform:scale(1.45)}33%{background:#f3a95a;transform:scale(1.45)}34%,100%{background:#cfe7fb;transform:scale(1)}}
@keyframes fkRiseDots{from{opacity:0;transform:translate(0,calc(-50% + 26px))}to{opacity:1;transform:translateY(-50%)}}
/* 見出し（左下・ふくろうラボの色） */
.fk .fk-title{position:absolute;z-index:4;left:clamp(28px,7vw,110px);bottom:clamp(48px,15vh,150px);margin:0;
  font-family:"Noto Sans JP",sans-serif;font-weight:900;
  font-size:clamp(2.1rem,5vw,3.7rem);line-height:1.5;letter-spacing:.02em;color:#003953}
.fk .fk-title .fk-l{display:block;opacity:0;transform:translateY(32px);animation:fkSwipe 1.2s cubic-bezier(.2,.7,.2,1) forwards}
.fk .fk-title .fk-l:nth-child(2){animation-delay:.18s}
.fk .fk-title .fk-smile{color:#f3a95a;font-size:1.14em}
@keyframes fkSwipe{to{opacity:1;transform:none}}
@media(max-width:860px){
  .fk .fk-clip{width:86vw;top:11%}
  .fk .kvb.b1{width:64vw}.fk .kvb.b2{width:56vw}
  .fk .fk-title{left:0;right:0;text-align:center;bottom:clamp(40px,10vh,90px);font-size:clamp(1.8rem,7.4vw,2.6rem)}
  .fk .fk-dots{display:none}
}
@media(prefers-reduced-motion:reduce){
  .fk .kvb,.fk .fk-slide,.fk .fk-dots .d{animation:none}
  .fk .fk-clip,.fk .fk-dots,.fk .fk-title .fk-l{opacity:1;transform:none}
  .fk .fk-clip{transform:translateX(-50%)}.fk .fk-dots{transform:translateY(-50%)}.fk .fk-slide.s1{opacity:1}
}

/* 見出し色をふくろうラボと同色に強制（旧!important上書き） */
.fk .fk-title{color:#003953 !important}
.fk .fk-title .fk-smile{color:#f3a95a !important}

/* 背景ブロブ調整：淡い水色に・向きを安定（超低速）・大きく隅へ */
.fk .kvb{filter:saturate(.58) brightness(1.08) !important;opacity:.92 !important}
.fk .kvb.b1{width:min(58vw,760px) !important;left:-17% !important;top:-27% !important;animation:fkRotRev 200s linear infinite !important}
.fk .kvb.b2{width:min(52vw,680px) !important;right:-16% !important;bottom:-26% !important;animation:fkRot 220s linear infinite !important}
@keyframes fkRotRev{from{transform:rotate(-12deg)}to{transform:rotate(-372deg)}}
@keyframes fkRot{from{transform:rotate(150deg)}to{transform:rotate(510deg)}}

/* 背景ブロブ：各コーナー2枚の重なり（ふくろうラボ実測） */
.fk .kvb{position:absolute;z-index:0;display:block;height:auto;pointer-events:none;
  opacity:.55 !important;filter:saturate(.74) brightness(1.05) !important;mix-blend-mode:multiply}
.fk .kvb.b1a{width:54vw !important;left:-18% !important;top:-46% !important;animation:fkRotRev 200s linear infinite !important}
.fk .kvb.b1b{width:64vw !important;left:-26% !important;top:-35% !important;animation:fkRot 240s linear infinite !important}
.fk .kvb.b2a{width:54vw !important;left:63% !important;top:38% !important;right:auto !important;bottom:auto !important;animation:fkRot 220s linear infinite !important}
.fk .kvb.b2b{width:64vw !important;left:56% !important;top:46% !important;right:auto !important;bottom:auto !important;animation:fkRotRev 260s linear infinite !important}
@keyframes fkRot{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes fkRotRev{from{transform:rotate(0)}to{transform:rotate(-360deg)}}

/* 背景ブロブのサイズを実サイトに合わせて縮小 */
.fk .kvb.b1a{width:45vw !important;left:-15% !important;top:-40% !important}
.fk .kvb.b1b{width:54vw !important;left:-22% !important;top:-30% !important}
.fk .kvb.b2a{width:45vw !important;left:66% !important;top:42% !important}
.fk .kvb.b2b{width:54vw !important;left:60% !important;top:50% !important}

/* 写真ブロブに白背景（切替時の透け防止）＋右下ブロブを隅へ */
.fk .fk-clip{background:#ffffff !important}
.fk .kvb.b2a{left:70% !important;top:48% !important}
.fk .kvb.b2b{left:64% !important;top:56% !important}

/* === ふくろうラボ風：タイトル位置/サイズ＋全幅ヘッダー（右端エントリーブロック） === */
/* タイトル：左13%・下寄せ・56px相当・行間タイト */
.fk .fk-title{left:clamp(24px,13vw,200px) !important;bottom:clamp(40px,12vh,118px) !important;
  font-size:clamp(2rem,4.4vw,3.4rem) !important;line-height:1.42 !important;letter-spacing:.03em !important}
/* ヘッダー：全幅バー＋右端に背の高いエントリーブロック（ブランド色） */
.site-header{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;
  width:100% !important;max-width:none !important;margin:0 !important;border-radius:0 !important;border:0 !important;
  height:78px !important;padding:0 0 0 clamp(20px,3vw,42px) !important;
  background:rgba(255,255,255,.96) !important;box-shadow:0 2px 16px rgba(0,0,0,.06) !important;
  -webkit-backdrop-filter:blur(10px) !important;backdrop-filter:blur(10px) !important;
  display:flex !important;align-items:stretch !important;gap:0 !important}
.site-header .logo{align-self:center}
.site-header .gnav{align-self:center;margin-left:auto !important;margin-right:30px;gap:24px}
.site-header .header-entry{align-self:stretch !important;display:flex !important;align-items:center !important;
  border-radius:0 !important;margin:0 !important;height:auto !important;
  padding:0 clamp(24px,2.6vw,46px) !important;font-size:.96rem !important;letter-spacing:.05em !important;
  background:linear-gradient(135deg,#36a9ec,#1b8ed8) !important;color:#fff !important;box-shadow:none !important;border:0 !important}
.site-header .header-entry::after{content:"→";margin-left:.5em;font-weight:700}
/* JSの「ヒーローで透過/ナビ隠す」を全打ち消し（常時このバー表示） */
.js .site-header{background:rgba(255,255,255,.96) !important;border-color:transparent !important}
.js .site-header .gnav,.js .site-header .header-entry{opacity:1 !important;visibility:visible !important;transform:none !important;pointer-events:auto !important}

/* タイトル：ふくろうラボに合わせて 明るいブルー・3行スタック・左下・56px相当 */
.fk .fk-title{color:#f3a95a !important;left:clamp(24px,13vw,200px) !important;
  bottom:clamp(40px,7vh,74px) !important;font-family:"Noto Sans JP",sans-serif !important;font-weight:900 !important;
  font-size:clamp(1.9rem,4.3vw,3.35rem) !important;line-height:1.34 !important;letter-spacing:.02em !important}
.fk .fk-title .fk-l{color:#f3a95a !important}
.fk .fk-title .fk-l:nth-child(1){animation-delay:0s}
.fk .fk-title .fk-l:nth-child(2){animation-delay:.12s}
.fk .fk-title .fk-l:nth-child(3){animation-delay:.24s}

/* === ブロブをセクション内に綺麗に収める（下端での水平カットを解消）＋タイトル下げ === */
/* 写真ブロブ：高さ基準でヒーロー内に収める・中央 */
.fk .fk-clip{height:min(80vh,800px) !important;width:auto !important;left:50% !important;top:54% !important;
  transform:translate(-50%,-50%) !important;animation:fkFadeIn 1.2s cubic-bezier(.2,.7,.2,1) .25s forwards !important}
@keyframes fkFadeIn{from{opacity:0;transform:translate(-50%,calc(-50% + 26px))}to{opacity:1;transform:translate(-50%,-50%)}}
/* 右下ブロブも収まる位置・サイズに（下端カット最小化） */
.fk .kvb.b2a{width:24vw !important;left:75% !important;top:44% !important}
.fk .kvb.b2b{width:30vw !important;left:68% !important;top:50% !important}
/* 左上ブロブも上端寄りで収める */
.fk .kvb.b1a{top:-44% !important}
.fk .kvb.b1b{top:-34% !important}
/* タイトルをもう少し下へ */
.fk .fk-title{bottom:clamp(22px,4vh,46px) !important}

/* === 図形サイズは元に戻す＋セクションをまたいでも切れないようにする（サイズは変えない） === */
/* 写真ブロブ：元の大きさ・位置に戻す */
.fk .fk-clip{height:auto !important;width:min(60vw,880px) !important;aspect-ratio:802/762;
  left:50% !important;top:7% !important;transform:translateX(-50%) !important;
  animation:fkRiseC 1.3s cubic-bezier(.2,.7,.2,1) .25s forwards !important}
/* 背景ブロブ：元の位置・サイズに戻す */
.fk .kvb.b1a{width:45vw !important;left:-15% !important;top:-40% !important}
.fk .kvb.b1b{width:54vw !important;left:-22% !important;top:-30% !important}
.fk .kvb.b2a{width:45vw !important;left:70% !important;top:48% !important}
.fk .kvb.b2b{width:54vw !important;left:64% !important;top:56% !important}
/* ★セクションで切られない：はみ出しを許可（横スクロールは body 側で抑止）し、次セクションが上に重なって自然に隠れる */
html,body{overflow-x:hidden !important}
.fk{overflow:visible !important}

/* === 参考サイト（ふくろうラボ）の実測サイズ・位置にピタリ合わせる === */
/* 中央写真ブロブ：幅54%・上8%・中央（実測 x23% w54% y8%） */
.fk .fk-clip{width:54vw !important;height:auto !important;aspect-ratio:802/762;
  left:50% !important;top:8% !important;transform:translateX(-50%) !important;
  animation:fkRiseC 1.3s cubic-bezier(.2,.7,.2,1) .25s forwards !important}
/* 背景ブロブ：実測（w56%/66%・各位置） */
.fk .kvb.b1a{width:56vw !important;left:-18% !important;top:-46% !important}
.fk .kvb.b1b{width:66vw !important;left:-24% !important;top:-37% !important}
.fk .kvb.b2a{width:56vw !important;left:63% !important;top:38% !important}
.fk .kvb.b2b{width:66vw !important;left:57% !important;top:46% !important}

/* === 下にはみ出す図形を、ヒーロー下端でソフトに短く終わらせる（ハードカット無し・長く伸ばさない） === */
.fk{overflow:visible !important}
.fk .fk-art{position:absolute;inset:0;z-index:0;
  -webkit-mask:linear-gradient(to bottom,#000 calc(100% - 70px),transparent 100%);
          mask:linear-gradient(to bottom,#000 calc(100% - 70px),transparent 100%)}

/* === ふくろうラボ式の繋ぎ：次セクション(お知らせ)を白＆図形なしにし、ヒーローの淡い水色ブロブを流し込む === */
/* お知らせの装飾図形・曲線・背景を撤去（白に） */
.news .shp{display:none !important}
.news{background:transparent !important;border-top-left-radius:0 !important;border-radius:0 !important;overflow:visible !important}
/* 写真ブロブ(fk-art)はヒーロー下端で収める（マスク維持）／背景ブロブは自由に流す（マスク無し） */
.fk{overflow:visible !important}
.fk .fk-art{position:absolute;inset:0;z-index:1;
  -webkit-mask:linear-gradient(to bottom,#000 calc(100% - 70px),transparent 100%);
          mask:linear-gradient(to bottom,#000 calc(100% - 70px),transparent 100%)}
.fk .kvb{z-index:0}

/* === ヒーロー高さを参考(ふくろうラボ 約900px=幅の0.61)に合わせる＝全体の比率・サイズ感を一致 === */
.fk{min-height:max(100svh, 60vw) !important;overflow:hidden !important}
/* 写真は背の高いヒーロー内に収まる → マスク不要に */
.fk .fk-art{-webkit-mask:none !important;mask:none !important}
/* タイトルは参考と同じ 上70% 位置 */
.fk .fk-title{top:70% !important;bottom:auto !important;left:clamp(24px,13vw,200px) !important}

/* タイトルを少し上げて3行とも見えるように（参考の下寄せは維持） */
.fk .fk-title{top:62% !important}

/* 図形をお知らせセクションへ連続させる：ヒーローのはみ出しを許可（背の高い比率は維持） */
.fk{overflow:visible !important}

/* 背景ブロブのサイズ感を実測に合わせて縮小（ふくろうラボ bbox 55%/69%・回転ぶん控えめに） */
.fk .kvb.b1a{width:47vw !important;left:-18% !important;top:-52% !important}
.fk .kvb.b1b{width:59vw !important;left:-24% !important;top:-44% !important}
.fk .kvb.b2a{width:47vw !important;left:64% !important;top:36% !important}
.fk .kvb.b2b{width:59vw !important;left:57% !important;top:44% !important}

/* v137: ブロブ実寸を参考(55%/69%)に合わせ縮小＋淡いパステルへ */
.fk .kvb{opacity:.42 !important;filter:saturate(.6) brightness(1.14) !important}
.fk .kvb.b1a{width:40vw !important;left:-16% !important;top:-46% !important}
.fk .kvb.b1b{width:48vw !important;left:-22% !important;top:-40% !important}
.fk .kvb.b2a{width:40vw !important;left:64% !important;top:40% !important}
.fk .kvb.b2b{width:48vw !important;left:58% !important;top:46% !important}

/* v138: ふくろうラボのKV背景を実値で完全再現（2ブロブ・固定600.586x676.859px・fluffySkew・不透明度1・通常合成） */
.fk .kvb{
  position:absolute !important;
  width:600.586px !important; height:676.859px !important;
  opacity:1 !important; filter:none !important; mix-blend-mode:normal !important;
  z-index:0 !important; pointer-events:none;
  transform-origin:50% 0 !important;
  animation:fluffySkew 10s cubic-bezier(.455,.03,.515,.955) infinite alternate-reverse !important;
}
.fk .kvb.b1{ left:-158.76px !important; top:-294px !important; right:auto !important; bottom:auto !important; }
.fk .kvb.b2{ right:-158.76px !important; bottom:-236px !important; left:auto !important; top:auto !important; }
@keyframes fluffySkew{ 0%{transform:skew(-10deg)} 100%{transform:skew(10deg)} }

/* v139: KV背景ブロブ＝ふくろうラボ完全再現（レガシー.kvbと衝突しない新クラス／2枚・固定px・skew・中央origin） */
.fk .fkbg{
  position:absolute;
  width:873px; height:933px;
  overflow:visible;
  opacity:1; filter:none; mix-blend-mode:normal;
  z-index:0; pointer-events:none;
  transform-origin:50% 50%;
  animation:fluffySkew 10s cubic-bezier(.455,.03,.515,.955) infinite alternate-reverse;
}
.fk .fkbg-tl{ left:-205px; top:-345px; }
.fk .fkbg-br{ right:-385px; top:408px; left:auto; bottom:auto; }
@keyframes fluffySkew{ 0%{transform:skew(-10deg)} 100%{transform:skew(10deg)} }

/* v147: 各コーナー2枚が絡み合う／動きは控えめ（回転ゆっくり・脈動なし・skew浅め）／viewBox外で直線に切れないようoverflow可視 */
.fk .kvbg{ position:absolute; z-index:0; pointer-events:none; width:600.594px; height:684.359px; overflow:visible; }
/* 左右反転（鏡像）：左上にあったブロブ→右上へ、右下→左下へ。形も水平反転 */
.fk .kvbg-tl{ right:-158.76px; top:-294px; left:auto; bottom:auto; transform:scaleX(-1); transform-origin:50% 50%; }
.fk .kvbg-br{ left:-158.76px; bottom:-243px; right:auto; top:auto; transform:scale(-1,1); transform-origin:50% 50%; }
.fk .kvrot{ position:absolute; inset:0; transform-origin:50% 50%; overflow:visible; }
.fk .kvrot.rev{ animation:fluffyRotateReverse 260s linear infinite; }
.fk .kvrot.fwd{ animation:fluffyRotate 260s linear infinite; }
.fk .kvsk{ display:block; width:100%; height:100%; overflow:visible; opacity:.8; transform-origin:50% 50%; animation:fluffySkew 18s ease-in-out infinite alternate-reverse; }
@keyframes fluffyRotate{ 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }
@keyframes fluffyRotateReverse{ 0%{transform:rotate(0deg)} 100%{transform:rotate(-360deg)} }
@keyframes fluffySkew{ 0%{transform:skew(-4deg)} 100%{transform:skew(4deg)} }

/* v150: 文字も鏡像配置に合わせて右下へ（位置だけ反対・テキストは正像／モバイルは中央維持） */
.fk .fk-title{ left:auto !important; right:clamp(20px,3.5vw,60px) !important; text-align:right !important; }
@media(max-width:860px){ .fk .fk-title{ left:0 !important; right:0 !important; text-align:center !important; } }

/* v157: 文字を左上・左揃えに／色を青→オレンジ系へ（ブロブと同系統） */
.fk .fk-title{ left:clamp(24px,5vw,96px) !important; right:auto !important; text-align:left !important; top:16% !important; bottom:auto !important; color:#ef8a1c !important; }
.fk .fk-title .fk-l{ color:#ef8a1c !important; }
@media(max-width:860px){ .fk .fk-title{ left:0 !important; right:0 !important; text-align:center !important; top:auto !important; bottom:clamp(40px,10vh,90px) !important; } }

/* v161: ヘッダーのロゴ刷新（新芽バッジ＋ワードマーク） */
.logo{gap:11px !important}
.logo-badge{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;
  background:linear-gradient(135deg,#74c247,#4e9a2e);box-shadow:0 5px 14px rgba(78,154,46,.34);flex:none}
.logo-badge svg{width:25px;height:25px;display:block}
.logo-text{display:flex !important;flex-direction:column;line-height:1.04;gap:1px}
.logo-text .logo-co{font-family:var(--maru);font-size:.56rem;font-weight:700;color:#8a978; letter-spacing:.16em;color:#8d9a83}
.logo-text .logo-name{font-family:var(--maru);font-weight:900;font-size:1.18rem;color:#2f4a26;letter-spacing:.005em}
.logo-text .logo-tag{font-size:.55rem;font-weight:700;color:#5aa531;letter-spacing:.3em}

/* v162: ロゴを生成画像に差し替え（角丸・会社名は最小限） */
.logo-img{width:46px;height:46px;border-radius:13px;object-fit:cover;display:block;flex:none;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.logo-text .logo-name{font-family:var(--maru);font-weight:900;font-size:1.24rem;color:#2f4a26;letter-spacing:.01em}
.logo-text .logo-tag{font-size:.56rem;font-weight:700;color:#5aa531;letter-spacing:.32em}

/* v163: ヒーロー見出しを少し小さく＋左寄せ＋行間詰めて写真へのはみ出し回避（小さすぎない範囲） */
.fk .fk-title{ font-size:clamp(1.55rem,3.1vw,2.45rem) !important; line-height:1.4 !important; letter-spacing:.01em !important; left:clamp(18px,3vw,52px) !important; }

/* v165: 見出しを2色に。「あなたの「はたらく」」=オレンジ／「にも、笑顔を。」=エントリーと同じ水色 */
.fk .fk-title .ttl-o{ color:#ef8a1c !important; }
.fk .fk-title .ttl-b{ color:#36a9ec !important; }

/* v166: 「E-Create」ワードマークを格上げ＝緑(育ち)→オレンジ(あたたかさ)のグラデ文字 */
.logo-text .logo-name{
  font-family:"Zen Maru Gothic",sans-serif !important;
  font-weight:900 !important;
  font-size:1.34rem !important;
  letter-spacing:.004em !important;
  color:#5aa531; /* 非対応ブラウザ用フォールバック */
  background:linear-gradient(96deg,#4f9c30 0%,#7cc24a 34%,#f3a430 78%,#ef8a1c 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  line-height:1.08;
}
.logo-text .logo-tag{ color:#8a9a83 !important; letter-spacing:.34em !important; }

/* v167: ロゴ画像を撤去し「E-Create」をモダンなワードマークに（Outfit＋オレンジのアクセントドット） */
.logo{gap:0 !important}
.logo-text .logo-name{
  font-family:"Outfit",sans-serif !important;
  font-weight:700 !important; font-size:1.62rem !important;
  letter-spacing:-.02em !important; line-height:1 !important;
  color:#2a3441 !important;
  background:none !important; -webkit-text-fill-color:#2a3441 !important;
  display:inline-flex; align-items:flex-end;
}
.logo-text .logo-name::after{
  content:""; width:.24em; height:.24em; border-radius:50%;
  background:#f0973a; margin-left:.14em; margin-bottom:.12em; flex:none;
}
.logo-text .logo-tag{
  font-family:"Outfit",sans-serif !important; font-weight:600 !important;
  font-size:.55rem !important; letter-spacing:.46em !important;
  color:#9aa69f !important; margin-top:3px;
}

/* v169: 「子どもの『できた！』を…」セクションを鏡像反転（装飾ごと左右反転／文字・写真・カードは正像に戻す） */
#job{ transform:scaleX(-1); }
#job .job-intro-lead{ transform:scaleX(-1); }       /* 文章は正像（読める向き） */
#job .job-intro-photo img{ transform:scaleX(-1); }  /* 写真の中身は正像 */
#job .job-intro-grid{ transform:scaleX(-1); }        /* 下のカード列は元の見た目に戻す */
@media(max-width:860px){
  #job{ transform:none; }
  #job .job-intro-lead,#job .job-intro-photo img,#job .job-intro-grid{ transform:none; }
}

/* v170: セクション見出し（お知らせ等）をヒーロー見出しと同じフォント(Noto Sans JP)＋黒に */
.sec-head h2{ font-family:"Noto Sans JP",sans-serif !important; color:#1a1a1a !important; }

/* v171: 同系統（Zen Maru＋茶色）だった大見出しもヒーロー同様 Noto Sans JP＋黒に統一 */
.job-intro-catch,
.work .wk-head h2,
.ab-card h2,
.entry-title{ font-family:"Noto Sans JP",sans-serif !important; color:#1a1a1a !important; }

/* v172: #job（子どもの「できた！」）の配色刷新 */
/* 1) セクション背景を「働く仲間たち」と同じ淡オレンジに（お知らせの下で区切る） */
.job-intro{ background:#fff1e4 !important; }
/* 2) 後ろの大きな円＝ヒーローのオレンジ（中心オレンジ→淡くフェード） */
.job-intro .jb-soft{ background:radial-gradient(circle at 46% 40%, #ffbf6e 0%, #ffe2c2 60%, rgba(255,241,228,0) 78%) !important; opacity:.78 !important; }
/* 3) 黄色系の図形は「オレンジが徐々に薄くなる」フェードに（緑・コーラルは色味として残す） */
.job-intro .s-yellow,
.job-intro .s-yellow2,
.job-intro .sc2{ background:linear-gradient(150deg,#ffac52 0%,#ffe2c2 100%) !important; }

/* v173: #jobの背景オレンジを撤去／大きな円→右から横入りする崩れたブロブ（ヒーロー風オレンジ） */
.job-intro{ background:transparent !important; }
.job-intro .jb-soft{
  width:46vw !important; height:42vw !important;
  border-radius:62% 38% 52% 48% / 57% 49% 51% 43% !important;
  background:linear-gradient(130deg,#ffac52 0%,#ffe2c2 100%) !important;
  left:11% !important; top:31% !important; right:auto !important; bottom:auto !important;
  transform:translate(-50%,-50%) !important; opacity:.9 !important;
}

/* v175: #jobのテキスト（見出し＋本文）を少し上に */
#job .job-intro-lead{ transform:scaleX(-1) translateY(-42px) !important; }
@media(max-width:860px){ #job .job-intro-lead{ transform:none !important; } }

/* v176: 文字部分の背景塗り／反転CTA修正／事業所セクションを上げる */
/* ① 見出し＋本文の背後に塗りパネル（スクショの色味＝淡いブルー系）※文字位置はずらさない */
#job .job-intro-lead{ position:relative; }
#job .job-intro-lead::before{ content:""; position:absolute; inset:-22px 4% -22px -30px; background:rgba(214,229,250,.74); border-radius:26px; z-index:-1; }
/* ② 「仕事を詳しく見る（1日の流れも）」が反転していたので正像に戻す */
#job .sec-more{ transform:scaleX(-1); }
@media(max-width:860px){ #job .sec-more{ transform:none; } }
/* ③ 「子どもの育ちに、ふたつの居場所」セクションの上の隙間を詰める */
.sites{ padding-top:48px !important; }

/* v177: sites点線円・work装飾/番号/チェック撤去・3番を横書き統一 */
.sites .sp-ellipse{ display:none !important; }                 /* 子どもの育ちに：背景の点線円 */
.work .wk-deco{ display:none !important; }                     /* 働く環境：見出し周りのイラスト全部 */
.workkc .wf-no{ display:none !important; }                     /* 1,2,3 の番号イラスト */
.workkc .wf-checks li::before{ display:none !important; }      /* チェックマーク */
.workkc .wf-checks li{ padding-left:0 !important; }
.workkc .wf-title-vh{ flex-direction:column !important; align-items:flex-start !important; gap:0 !important; }
.workkc .wf-title-vh .vh-v{ writing-mode:horizontal-tb !important; }  /* 3番：縦書き→横書き */
.workkc .wf-title-vh .vh-h{ margin-top:0 !important; }

/* v178: voice拡大/余白詰め・sites見出しずらし・sites円オレンジ・sites下端オレンジ角丸・work見出し拡大 */
/* A 働く仲間たち：見出し拡大＋周りの余白を詰める */
.voice .sec-head h2{ font-size:clamp(2.3rem,5.2vw,3.4rem) !important; }
.voice .sec-head{ margin-bottom:30px !important; }
.voice{ padding-top:44px !important; padding-bottom:44px !important; }
/* B 子どもの育ちに／ふたつの居場所：左揃え＋2行目をずらす */
.sites .sec-head{ text-align:left !important; padding-left:clamp(20px,7vw,110px) !important; }
.sites .sec-head h2 .sl-1{ display:block; }
.sites .sec-head h2 .sl-2{ display:block; margin-left:1.7em; }
/* C 背景の円を #job と同じオレンジに（半透明・コンテンツの後ろ） */
.sites .sites-soft{ background:linear-gradient(135deg,#ffc06e 0%,#ffe2c2 100%) !important; opacity:.5 !important; z-index:0 !important; }
.sites-inner{ position:relative; z-index:1; }
/* D セクション下端をオレンジで終わらせる：パネル下を角丸＋下にオレンジの余白 */
.sites-panel{ border-bottom-left-radius:clamp(64px,8vw,104px) !important; }
.sites{ padding-bottom:60px !important; }
/* E 働く環境：見出し拡大 */
.workkc .wk-head h2{ font-size:clamp(2.4rem,4.6vw,3.4rem) !important; }

/* v180: workタイトル階段化・黄色装飾→オレンジ・矢印/立方体削除 */
/* ① 3特長のタイトルを階段状（ダンダンダン）に */
.workkc .wf-title span:nth-child(2){ margin-left:2em !important; }
.workkc .wf-title span:nth-child(3){ margin-left:4em !important; }
.workkc .wf-title-vh{ align-items:flex-start !important; }
.workkc .wf-title-vh .vh-v{ margin-left:0 !important; }
.workkc .wf-title-vh .vh-h{ margin-left:2em !important; }
@media(max-width:860px){
  .workkc .wf-title span:nth-child(2),.workkc .wf-title span:nth-child(3),.workkc .wf-title-vh .vh-h{ margin-left:0 !important; }
}
/* ② 黄色の装飾をオレンジ系に */
.workkc .wf-photo-sq::before{ background:#ffc06e !important; }
.workkc .wf-photo-sq::after{ background:#ffac52 !important; }
.workkc .fd-ylego{ background:#ffc06e !important; }
/* ③ 矢印（シェブロン3つ）を削除 */
.workkc .fd-chevrons{ display:none !important; }
/* ④ 「一人ひとりを気にかける」の立方体2つを削除 */
.workkc .fd-cubes{ display:none !important; }

/* v181: sites見出し中央＋背景いびつ円＋ヒーローオレンジ／voice背景オレンジ強め／募集要項拡大 */
/* A 子どもの育ちに：見出しを中央配置（段ずれは保ちつつブロックを中央に） */
.sites .sec-head{ text-align:center !important; padding-left:0 !important; }
.sites .sec-head h2{ display:inline-block; text-align:left; }
/* B 背景の円：いびつな形＋ヒーローのオレンジ（徐々に薄くフェード） */
.sites .sites-soft{ background:radial-gradient(circle at 50% 42%, #ffba66 0%, #ffd9a8 42%, rgba(255,241,228,0) 72%) !important; opacity:.85 !important; border-radius:62% 38% 55% 45% / 58% 52% 48% 42% !important; }
/* C 働く仲間たち：背景をオレンジ強めのグラデに（ヒーロー参考） */
.voice{ background:linear-gradient(165deg,#ffdcae 0%,#ffe9d2 45%,#fff1e4 100%) !important; }
/* D 募集要項：見出し＆内容を大きく */
.recruit .sec-head h2{ font-size:clamp(2.3rem,5vw,3.4rem) !important; }
.recruit-table th,.recruit-table td{ font-size:1.12rem !important; padding:24px 28px !important; }

/* v183: sites見出しフォント統一・work見出し真っ黒・sites背景を2つの動くオレンジブロブに */
/* ② 子どもの育ちに：見出しフォントを働く仲間たちと同じ(Noto Sans JP 900)に */
.sites .sec-head h2{ font-family:"Noto Sans JP",sans-serif !important; font-weight:900 !important; letter-spacing:.02em !important; line-height:1.42 !important; }
/* ③ 働く環境の特長タイトルを真っ黒に */
.workkc .wf-title, .workkc .wf-title span{ color:#000 !important; }
/* ④ 背景の円をトップ風に2つ＋ゆっくり動かす */
.sites .sites-soft{ animation:sBlob1 15s ease-in-out infinite !important; }
.sites .sites-soft2{ position:absolute; z-index:0; width:min(460px,56%); aspect-ratio:1.08/1;
  border-radius:58% 42% 47% 53% / 52% 56% 44% 48%;
  background:radial-gradient(circle at 46% 44%, #ffc578 0%, #ffe2c2 46%, rgba(255,241,228,0) 72%) !important;
  opacity:.8; left:24%; top:2%; transform:translateX(-50%); pointer-events:none;
  animation:sBlob2 19s ease-in-out infinite; }
@keyframes sBlob1{ 0%,100%{transform:translateX(-50%) skew(-6deg) scale(1)} 50%{transform:translateX(-50%) skew(6deg) scale(1.05)} }
@keyframes sBlob2{ 0%,100%{transform:translateX(-50%) skew(5deg) scale(1.03)} 50%{transform:translateX(-50%) skew(-5deg) scale(.96)} }

/* v184: work文字拡大／sites背景をヒーロー右下ブロブに／voice背景をヒーローの濃いオレンジに */
/* A 働く環境：タイトル＆説明文を大きく（写真サイズに合わせて） */
.workkc .wf-title{ font-size:clamp(1.9rem,3.4vw,2.7rem) !important; }
.workkc .wf-checks li{ font-size:clamp(1.06rem,1.5vw,1.32rem) !important; padding-top:17px !important; padding-bottom:17px !important; }
/* B sites背景：自前の円は撤去し、ヒーローの右下ブロブ（同じ動くSVG）を入れる */
.sites .sites-soft, .sites .sites-soft2{ display:none !important; }
.sites .sitesbg{ position:absolute; z-index:0; width:600.594px; height:684.359px; left:50%; top:-110px; transform:translateX(-50%); pointer-events:none; overflow:visible; }
.sites .sitesbg .kvrot{ position:absolute; inset:0; transform-origin:50% 50%; overflow:visible; }
.sites .sitesbg .kvrot.rev{ animation:fluffyRotateReverse 260s linear infinite; }
.sites .sitesbg .kvrot.fwd{ animation:fluffyRotate 260s linear infinite; }
.sites .sitesbg .kvsk{ display:block; width:100%; height:100%; overflow:visible; opacity:.78; transform-origin:50% 50%; animation:fluffySkew 18s ease-in-out infinite alternate-reverse; }
/* C 働く仲間たち：背景をヒーローの濃いオレンジ寄りに */
.voice{ background:linear-gradient(170deg,#ffac52 0%,#ffce8a 52%,#ffe6cc 100%) !important; }

/* v185: workタイトルの折り返し防止（少し縮小＋nowrap＋段差調整） */
.workkc .wf-title{ font-size:clamp(1.8rem,3.1vw,2.45rem) !important; }
.workkc .wf-title span{ white-space:nowrap; }
.workkc .wf-title span:nth-child(2){ margin-left:1.7em !important; }
.workkc .wf-title span:nth-child(3){ margin-left:3.2em !important; }

/* v186: sites説明文を黒・entryカード背景をオレンジグラデ・voice背景を薄く&フェード弱め */
.sites .sec-note{ color:#1a1a1a !important; }
.entrykc .ek-card{ background:linear-gradient(160deg,#ffac52 0%,#ffd29a 62%,#ffe6cc 100%) !important; }
.voice{ background:linear-gradient(175deg,#ffc472 0%,#ffd69a 65%,#ffdfae 100%) !important; }

/* v187: entryカード白に戻す・背景イラスト→オレンジ×青グラデ・voice背景白 */
.entrykc .ek-card{ background:#fff !important; }
.entrykc .ek-panel{ background:linear-gradient(125deg,#ffb858 0%,#ffd9a0 38%,#a7d8f3 72%,#4faeec 100%) !important; }
.voice{ background:#fff !important; }

/* v188: サブページのコンテンツ幅を広げる＋entry背景をサーモグラフィー風グラデに */
.subpage .subhero{ max-width:1180px !important; }
.subpage .job-intro{ max-width:1280px !important; }
.subpage .sub-block{ max-width:1240px !important; }
.subpage .timeline-sec, .subpage .recruit{ max-width:1180px !important; }
.subpage .legal{ max-width:1040px !important; }
.subpage .entry{ max-width:1280px !important; }
/* entry：青オレンジ→サーモグラフィー風（熱源のホットスポット＋寒色ベース） */
.entrykc .ek-panel{
  background:
    radial-gradient(closest-side at 24% 34%, rgba(255,72,52,.92), rgba(255,72,52,0) 72%),
    radial-gradient(closest-side at 70% 24%, rgba(255,150,40,.9), rgba(255,150,40,0) 70%),
    radial-gradient(closest-side at 52% 72%, rgba(245,210,70,.85), rgba(245,210,70,0) 70%),
    radial-gradient(closest-side at 86% 66%, rgba(40,180,200,.82), rgba(40,180,200,0) 72%),
    radial-gradient(closest-side at 14% 82%, rgba(40,100,210,.88), rgba(40,100,210,0) 72%),
    linear-gradient(125deg,#1e3a8a 0%,#2f6fd6 52%,#16a6c2 100%) !important;
}

/* v189: エントリーページ専用スタイル（青＋オレンジ・広め） */
.entry-page{ max-width:1180px; margin:0 auto; padding:56px 24px; }
.entry-page .ep-head{ text-align:center; margin-bottom:40px; }
.entry-page .ep-head .en{ color:#36a9ec; font-family:var(--maru); font-weight:700; letter-spacing:.14em; font-size:.82rem; margin-bottom:8px; }
.entry-page .ep-head h2{ font-family:"Noto Sans JP",sans-serif; font-weight:900; font-size:clamp(1.8rem,4vw,2.6rem); color:#1a1a1a; }
.entry-page .ep-note{ color:#6b6b6b; margin-top:12px; }
.ep-methods{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ep-card{ display:flex; flex-direction:column; gap:10px; background:#fff; border:1px solid #eef0f2; border-radius:20px; padding:30px 26px; box-shadow:0 12px 30px rgba(0,0,0,.07); transition:transform .15s, box-shadow .15s; color:inherit; text-decoration:none; }
.ep-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.12); }
.ep-ico{ font-size:2rem; }
.ep-card h3{ font-family:var(--maru); font-weight:900; font-size:1.25rem; color:#1a1a1a; }
.ep-card p{ color:#5a5a5a; line-height:1.8; font-size:.96rem; flex:1; }
.ep-go{ color:#36a9ec; font-weight:700; font-size:.92rem; }
.ep-flow{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; padding:0; }
.ep-flow li{ background:linear-gradient(160deg,#eef7ff,#fff 80%); border:1px solid #e6f0fa; border-radius:20px; padding:28px 26px; }
.ep-step{ display:inline-block; background:#36a9ec; color:#fff; font-family:"Outfit",sans-serif; font-weight:700; font-size:.74rem; letter-spacing:.08em; padding:.34em 1.05em; border-radius:999px; margin-bottom:12px; }
.ep-flow h3{ font-family:var(--maru); font-weight:900; font-size:1.2rem; color:#1a1a1a; margin-bottom:6px; }
.ep-flow p{ color:#5a5a5a; line-height:1.8; font-size:.94rem; }
.ep-form{ display:grid; grid-template-columns:1fr 1fr; gap:20px 24px; max-width:880px; margin:0 auto; background:#fff; border-radius:24px; padding:clamp(26px,4vw,46px); box-shadow:0 16px 40px rgba(0,0,0,.08); }
.ep-form label{ display:flex; flex-direction:column; gap:8px; font-weight:700; color:#333; font-size:.92rem; }
.ep-form .ep-full{ grid-column:1 / -1; }
.ep-form input, .ep-form select, .ep-form textarea{ font:inherit; font-weight:400; padding:13px 15px; border:1.5px solid #d9e2ec; border-radius:12px; background:#fbfdff; color:#222; transition:border-color .15s; }
.ep-form input:focus, .ep-form select:focus, .ep-form textarea:focus{ outline:none; border-color:#36a9ec; box-shadow:0 0 0 3px rgba(54,169,236,.15); }
.ep-form textarea{ resize:vertical; }
.req{ background:#ff8a3c; color:#fff; font-size:.66rem; padding:.18em .7em; border-radius:999px; margin-left:.6em; font-weight:700; vertical-align:middle; }
/* ラベルが flex-column のため .req(必須バッジ)が全幅に伸びるのを防ぎ、内容幅の小バッジに戻す */
.ep-form label .req{ align-self:flex-start; margin-left:0; }
.ep-form-note{ font-size:.82rem; color:#888; line-height:1.7; }
.ep-form-note a{ color:#36a9ec; text-decoration:underline; }
.ep-submit{ grid-column:1 / -1; justify-self:center; min-width:280px; margin-top:6px; }
.entry-flow-sec{ padding-top:0; }
@media(max-width:860px){ .ep-methods, .ep-flow, .ep-form{ grid-template-columns:1fr; } }

/* v190: ヒーロー4隅化＝右上・左下に青ブロブ（参考サイトと同じ青／既存のkvbg動きを流用） */
.fk .kvbg-tr{ right:-158.76px; top:-294px; left:auto; bottom:auto; }
.fk .kvbg-bl{ left:-158.76px; bottom:-236px; right:auto; top:auto; }


/* v193: カードを端まで拡張・働く仲間たち装飾削除・事業所の丸削除 */
.job-intro{ max-width:min(1460px,94vw) !important; }
.voice .vshape{ display:none !important; }
.sites .sp-c3{ display:none !important; }

/* v194: 事業所セクションの背景オレンジを濃いめ＋ドット模様（働く魅力と同じポルカドット） */
.sites{ background-color:#ffc878 !important;
  background-image:radial-gradient(rgba(214,118,22,.26) 1.7px, transparent 1.8px) !important;
  background-size:18px 18px !important; }

/* v195: 私たちについて(#about)の背景にヒーローと同じオレンジを入れる */
.aboutkc{ background:linear-gradient(150deg,#ffac52 0%,#ffe2c2 100%) !important; }

/* v196: ヒーロー文字拡大・事業所カード拡大・私たちについてをフルワイドオレンジに */
.fk .fk-title{ font-size:clamp(1.78rem,3.4vw,2.62rem) !important; }
/* 事業所カードを横に広げ、文字も大きく */
.site-grid{ max-width:none !important; gap:40px !important; }
.sites .site-card h3{ font-size:1.7rem !important; }
.sites .site-target{ font-size:1.06rem !important; }
.sites .site-brand{ font-size:.84rem !important; }
/* 私たちについて：セクションを全幅に（両サイドの白を解消）・上の余白を詰める */
.about.aboutkc{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; padding-top:64px !important; }

/* v198: about上の角丸除去・写真後ろ図形削除・entry丸削除・サーモぐちゃ版・ヒーロー登場演出 */
/* ① 私たちについて：上の角丸(白い隙間の原因)を無くしてフラットな上端に */
#about{ border-top-left-radius:0 !important; border-top-right-radius:0 !important; }
/* ② 写真の後ろの図形を消す */
.aboutkc .ab-photo-bg{ display:none !important; }
/* ③ entryの文字上の丸を消す */
.entrykc .ek-dot{ display:none !important; }
/* ④ entry背景：オレンジ×青の「ぐちゃっと」サーモグラフィー */
.entrykc .ek-panel{
  background:
    radial-gradient(circle at 16% 30%, #ff5a32 0%, transparent 38%),
    radial-gradient(circle at 70% 16%, #ffb22e 0%, transparent 36%),
    radial-gradient(circle at 88% 58%, #34b6ff 0%, transparent 40%),
    radial-gradient(circle at 30% 82%, #2f6fd6 0%, transparent 42%),
    radial-gradient(circle at 95% 92%, #ff7a1e 0%, transparent 36%),
    radial-gradient(circle at 48% 50%, #1f9bd6 0%, transparent 44%),
    radial-gradient(circle at 60% 72%, #ff8a3c 0%, transparent 34%),
    linear-gradient(125deg, #163a8a 0%, #2f6fd6 45%, #1aa6c0 100%) !important;
}
/* ⑤ ヒーロー写真：奥から広がって出る（スケール拡大） */
.fk .fk-clip{ animation:heroPhotoIn 1.45s cubic-bezier(.2,.72,.2,1) .12s both !important; }
@keyframes heroPhotoIn{ from{opacity:0;transform:translateX(-50%) scale(.74)} to{opacity:1;transform:translateX(-50%) scale(1)} }
/* ⑤ 4隅ブロブ：見えない外側から入ってくる→その後ゆらゆら */
.fk .cb-tl{ animation:cbInTL 1.05s cubic-bezier(.2,.7,.2,1) .1s both, cbm1 16s ease-in-out 1.1s infinite !important; }
.fk .cb-tr{ animation:cbInTR 1.05s cubic-bezier(.2,.7,.2,1) .22s both, cbm2 19s ease-in-out 1.25s infinite !important; }
.fk .cb-br{ animation:cbInBR 1.05s cubic-bezier(.2,.7,.2,1) .34s both, cbm2 17s ease-in-out 1.4s infinite !important; }
.fk .cb-bl{ animation:cbInBL 1.05s cubic-bezier(.2,.7,.2,1) .46s both, cbm1 21s ease-in-out 1.5s infinite !important; }
@keyframes cbInTL{ from{opacity:0;transform:translate(-90px,-90px) scale(.6)} to{opacity:1;transform:translate(0,0) scale(1)} }
@keyframes cbInTR{ from{opacity:0;transform:translate(90px,-90px) scale(.6)} to{opacity:1;transform:translate(0,0) scale(1)} }
@keyframes cbInBR{ from{opacity:0;transform:translate(90px,90px) scale(.6)} to{opacity:1;transform:translate(0,0) scale(1)} }
@keyframes cbInBL{ from{opacity:0;transform:translate(-90px,90px) scale(.6)} to{opacity:1;transform:translate(0,0) scale(1)} }

/* v199: 働く環境のテキストを左右交互にスライドイン（写真は固定）。1=右,2=左,3=右 */
.js .workkc .wk-feat:nth-child(odd) .wf-body.reveal{ transform:translateX(72px); }
.js .workkc .wk-feat:nth-child(even) .wf-body.reveal{ transform:translateX(-72px); }
.js .workkc .wf-body.reveal.in{ transform:none; }
.js .workkc .wf-body.reveal{ transition:opacity .85s ease, transform .9s cubic-bezier(.2,.7,.2,1); }

/* v200: 各セクションにヒーロー風ブロブが横から「出てくる」演出
   voice=オレンジ左右／recruit=青を左から／entry=青を右から */
.voice, .recruit, .entry.entrykc{ position:relative; overflow:hidden; }
/* ブロブ＝トップページのヒーローと全く同じイラスト（SVG）を使用 */
.secblob{ display:block; position:absolute; z-index:0 !important; width:min(34vw,460px); aspect-ratio:600.594/684.359;
  pointer-events:none; background-repeat:no-repeat; background-position:center; background-size:contain; }
.sb-orange{ background-image:url('assets/hero-blob-orange.svg'); }
.sb-blue{ background-image:url('assets/hero-blob-blue.svg'); }
.secblob.sb-left{ left:-9vw; right:auto; }
.secblob.sb-right{ left:calc(100% - 460px + 9vw); right:auto; }
/* voiceは見出し(.sec-head)内に置き、その縦中心に配置 */
.voice .sec-head{ position:relative; overflow:visible; }
.voice .sec-head .secblob{ top:-40px; bottom:auto; }
.voice .sec-head > .en, .voice .sec-head > h2, .voice .sec-head > .sec-note{ position:relative; z-index:2; }
.recruit .sb-left{ left:-11vw; top:22%; }
.entry .sb-right{ left:calc(100% - 460px + 11vw); top:22%; }
/* スライドイン演出（reveal方式：ビューに入ると横から出てくる） */
.js .secblob{ transition:opacity 1.1s ease, transform 1.2s cubic-bezier(.2,.7,.2,1); }
.js .secblob.reveal{ opacity:0; }
.js .secblob.sb-left.reveal{ transform:translateX(-150px); }
.js .secblob.sb-right.reveal{ transform:translateX(150px); }
.js .secblob.reveal.in{ opacity:1; transform:none; }
/* コンテンツを前面に */
.voice .sec-head, .voice .voice-slider, .voice .voice-marquee, .voice .sec-more{ position:relative; z-index:1; }
.recruit .sec-head, .recruit .recruit-table, .recruit .sec-more{ position:relative; z-index:1; }
.entrykc .ek-panel, .entry .sec-note{ position:relative; z-index:1; }

/* v201: サブページのトップ(.subhero)をトップページのヒーロー風に
   オレンジ＝左上・右下／青＝右上・左下のソフトブロブを四隅に */
.subpage .subhero{ max-width:none !important; position:relative; overflow:hidden; }
.subhero > p, .subhero > h1{ position:relative; z-index:2; }
.subhero .subhero-lead{ max-width:760px; margin-left:auto; margin-right:auto; }
.subhero .secblob{ display:block; width:min(33vw,430px); aspect-ratio:600.594/684.359; height:auto;
  z-index:0 !important; opacity:1 !important; transform:none !important; } /* 上部固定なのでreveal非依存で常時表示 */
.subhero .sh-tl{ left:-6vw; right:auto; top:-70px; }
.subhero .sh-tr{ left:calc(100% - 430px + 6vw); right:auto; top:-70px; }
.subhero .sh-bl{ left:-3vw; right:auto; top:90px; }
.subhero .sh-br{ left:calc(100% - 430px + 3vw); right:auto; top:90px; }

/* v203: 募集要項・話を聞いてみたい のブロブを「画面の端」から出す＋イラストを動かす */
/* セクションを全幅化（背景は白地で見た目不変）。中身は中央寄せのまま保つ */
#recruit.recruit{ max-width:none !important; border-radius:0 !important; padding-top:56px !important; }
#recruit .sec-head, #recruit .recruit-table, #recruit .sec-more{ max-width:860px; margin-left:auto; margin-right:auto; }
#entry.entry{ max-width:none !important; border-radius:0 !important; }
#entry .ek-panel{ max-width:1092px; margin-left:auto; margin-right:auto; }
/* ブロブを画面の左端（recruit）／右端（entry）から */
.recruit .sb-left{ left:-10vw !important; top:15% !important; }
.entry .sb-right{ left:calc(100% - 460px + 10vw) !important; top:15% !important; }
/* 常時表示＋ヒーロー風にゆったり動かす */
.recruit .secblob, .entry .secblob{ opacity:1 !important; animation:secBlobDrift 15s ease-in-out infinite; }
.entry .secblob{ animation-duration:18s; animation-delay:-4s; }
@keyframes secBlobDrift{
  0%   { transform:translate(0,0) rotate(0deg) scale(1); }
  50%  { transform:translate(10px,-16px) rotate(6deg) scale(1.04); }
  100% { transform:translate(0,0) rotate(0deg) scale(1); }
}

/* ============================================================
   v204: 採用情報CTAブロック（添付デザイン・オレンジ）／採用ページ／インタビュー
   ============================================================ */

/* ---- 採用情報 CTA（左オレンジパネル＋右写真。クリックで採用ページへ） ---- */
.recruit-cta{ max-width:1180px; margin:0 auto; padding:48px 24px 96px; }
.recruit-cta .rc-inner{ position:relative; display:block; text-decoration:none; min-height:360px; }
.recruit-cta .rc-panel{
  position:relative; z-index:1; width:64%; min-height:360px; box-sizing:border-box;
  padding:66px 64px; display:flex; flex-direction:column; justify-content:center; overflow:hidden;
  background:linear-gradient(118deg,#ff9f3d 0%,#ffc074 46%,#ffe6c6 100%);
  border-radius:26px 26px 26px 120px;
}
.recruit-cta .rc-en{ font-family:var(--maru); font-weight:700; letter-spacing:.14em; color:#9a4e0e; font-size:1.02rem; margin-bottom:8px; }
.recruit-cta .rc-title{ font-family:"Noto Sans JP",sans-serif; font-weight:900; color:#3a2a1b; font-size:clamp(1.9rem,3.6vw,2.7rem); letter-spacing:.04em; margin-bottom:40px; }
.recruit-cta .rc-more{ display:inline-flex; align-items:center; gap:20px; }
.recruit-cta .rc-more-label{ font-family:var(--maru); font-weight:700; letter-spacing:.08em; color:#5a4130; font-size:1rem; }
.recruit-cta .rc-circle{ display:inline-flex; align-items:center; justify-content:center; width:58px; height:58px; border-radius:50%; border:1.6px solid #bf6a1e; color:#bf6a1e; font-size:1.3rem; transition:transform .3s ease, background .3s ease, color .3s ease, border-color .3s ease; }
.recruit-cta .rc-inner:hover .rc-circle{ background:#ff9326; border-color:#ff9326; color:#fff; transform:translateX(6px); }
.recruit-cta .rc-photo{ position:absolute; right:0; top:34px; bottom:34px; width:48%; z-index:2; border-radius:20px; overflow:hidden; box-shadow:0 20px 48px rgba(60,40,20,.20); }
.recruit-cta .rc-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
@media(max-width:860px){
  .recruit-cta{ padding:24px 18px 64px; }
  .recruit-cta .rc-inner{ min-height:0; }
  .recruit-cta .rc-panel{ width:100%; min-height:0; padding:230px 30px 40px; border-radius:22px 22px 22px 70px; }
  .recruit-cta .rc-photo{ position:absolute; left:16px; right:16px; top:16px; bottom:auto; width:auto; height:200px; }
}

/* ---- 採用ページ（saiyo.html）：募集職種 ---- */
.job-openings{ max-width:1080px; margin:0 auto; padding:8px 24px 16px; }
.jo-list{ list-style:none; display:grid; gap:20px; }
.jo-card{ background:#fff; border-radius:22px; box-shadow:var(--shadow); padding:30px 34px; display:grid; grid-template-columns:1fr auto; gap:18px 28px; align-items:center; border-left:7px solid var(--orange); }
.jo-main h3{ font-family:"Noto Sans JP",sans-serif; font-weight:900; color:#1a1a1a; font-size:1.32rem; margin-bottom:8px; }
.jo-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.jo-tag{ font-family:var(--maru); font-weight:700; font-size:.78rem; color:#b3641a; background:#ffe7d2; border-radius:999px; padding:4px 13px; }
/* 募集を終えた職種。募集中と見分けがつくよう、色を落として左の帯もグレーにする */
.jo-tag-closed{ color:#8a8676; background:#e7e3d6; }
.jo-card-closed{ border-left-color:#cfcabb; }
.jo-card-closed .jo-main{ opacity:.82; }
.jo-closed-note{ font-family:var(--maru); font-weight:700; font-size:.8rem; color:#8a8676; line-height:1.5; text-align:center; display:inline-block; }
.jo-main p{ font-size:.96rem; color:#5a4d46; line-height:1.85; }
.jo-actions{ display:flex; flex-direction:column; gap:10px; min-width:210px; }
.btn-indeed2{ display:inline-flex; align-items:center; justify-content:center; gap:8px; background:#2164f4; color:#fff; font-family:var(--maru); font-weight:700; border-radius:999px; padding:13px 22px; text-decoration:none; transition:.25s; }
.btn-indeed2:hover{ background:#1850cc; transform:translateY(-2px); }
.btn-apply-ghost{ display:inline-flex; align-items:center; justify-content:center; gap:6px; border:1.6px solid var(--orange); color:#c8701c; font-family:var(--maru); font-weight:700; border-radius:999px; padding:11px 22px; text-decoration:none; transition:.25s; }
.btn-apply-ghost:hover{ background:#fff3e6; }
@media(max-width:720px){ .jo-card{ grid-template-columns:1fr; } .jo-actions{ min-width:0; } }

/* ---- 福利厚生・待遇 ---- */
.benefits{ max-width:1080px; margin:0 auto; padding:24px; }
.ben-grid{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ben-grid li{ background:#fff; border-radius:18px; box-shadow:var(--shadow); padding:26px 24px; }
.ben-grid .ben-ico{ font-size:1.6rem; }
.ben-grid h3{ font-family:"Noto Sans JP",sans-serif; font-weight:700; color:#1a1a1a; font-size:1.06rem; margin:10px 0 6px; }
.ben-grid p{ font-size:.9rem; color:#5a4d46; line-height:1.8; }
@media(max-width:860px){ .ben-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .ben-grid{ grid-template-columns:1fr; } }

/* ---- 応募の流れ（採用ページ用） ---- */
.flow3{ max-width:1000px; margin:0 auto; padding:24px; }
.flow3 ol{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.flow3 li{ background:#fff; border-radius:20px; box-shadow:var(--shadow); padding:30px 26px; text-align:center; }
.flow3 .fl-step{ display:inline-block; font-family:var(--maru); font-weight:900; color:#fff; background:var(--orange); border-radius:999px; padding:4px 16px; font-size:.84rem; margin-bottom:12px; }
.flow3 h3{ font-family:"Noto Sans JP",sans-serif; font-weight:700; font-size:1.1rem; color:#1a1a1a; margin-bottom:8px; }
.flow3 p{ font-size:.92rem; color:#5a4d46; line-height:1.85; }
@media(max-width:720px){ .flow3 ol{ grid-template-columns:1fr; } }

/* ---- インタビュー（一覧カードをリンク化＋個別ページ） ---- */
.voice-card.is-link{ cursor:pointer; }
.iv-meta{ max-width:760px; margin:0 auto; padding:0 24px 10px; text-align:center; }
.iv-role{ font-family:var(--maru); font-weight:700; color:var(--orange); letter-spacing:.08em; }
.iv-name{ font-family:"Noto Sans JP",sans-serif; font-weight:900; font-size:clamp(1.6rem,4vw,2.2rem); margin:4px 0 0; }
.iv-photo{ max-width:900px; margin:24px auto; padding:0 24px; }
.iv-photo img{ width:100%; max-height:460px; object-fit:cover; border-radius:28px; box-shadow:var(--shadow); }
.iv-body{ max-width:760px; margin:0 auto; padding:8px 24px 24px; }
.iv-qa{ margin-bottom:34px; }
.iv-q{ font-family:"Noto Sans JP",sans-serif; font-weight:700; color:#c8701c; font-size:1.12rem; margin-bottom:10px; position:relative; padding-left:34px; }
.iv-q::before{ content:"Q"; position:absolute; left:0; top:-2px; font-family:var(--maru); font-weight:900; color:#fff; background:var(--orange); width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.9rem; }
.iv-a{ font-size:1.02rem; color:#43382f; line-height:2; }

/* v205: インタビューカードの「読む」リンク */
.voice-card .vc-more{ display:inline-block; margin-top:12px; font-family:var(--maru); font-weight:700; color:#c8701c; text-decoration:none; font-size:.92rem; transition:.2s; }
.voice-card .vc-more:hover{ color:#ff9326; transform:translateX(3px); }

/* v207: 数字で見るE-Create（実績バンド｜デザインは後調整前提のシンプル版） */
.num-band{ max-width:1100px; margin:0 auto; }
.num-grid{ list-style:none; display:grid; grid-template-columns:repeat(5,1fr); gap:18px; text-align:center; }
.num-grid li{ padding:18px 10px; }
.num-fig{ display:block; font-family:"Noto Sans JP",sans-serif; font-weight:900; color:var(--green-d); font-size:clamp(2.2rem,4.6vw,3.6rem); line-height:1; letter-spacing:.01em; }
.num-fig small{ font-size:.4em; font-weight:700; margin-left:3px; color:var(--orange); }
.num-label{ display:block; margin-top:12px; font-family:var(--maru); font-weight:700; color:#5a4d46; font-size:.94rem; }
@media(max-width:760px){ .num-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:440px){ .num-grid{ grid-template-columns:1fr 1fr; } }

/* v208: 働く仲間たちの背景＝緑→青のスクロール・グラデーション（参考サイトのサービス背景と同方式）
   ・縦に長いセクションをスクロールで通過すると、緑から青へ色が変わる
   ・背景の図形（ヒーロー風ブロブ等）は削除 */
#voice.voice{ background:linear-gradient(180deg,
  #7fd69b 0%,
  #84d2b6 28%,
  #8accd2 50%,
  #8fc6e6 72%,
  #9ec8f3 100%) !important; }
/* 背景図形を消す */
#voice .sec-head .secblob{ display:none !important; }
#voice .vshape{ display:none !important; }

/* v209: 緑→青のシームレス背景（参考サイト方式＝1枚の連続グラデの上に背景透明セクションを乗せ、区切りをなくす）
   働く仲間たち〜募集要項を .seamless で囲み、中の各セクションは背景透明に */
.seamless{
  background:linear-gradient(180deg,
    #7fd69b 0%,
    #83cfc1 26%,
    #88c9d8 52%,
    #90c6e8 78%,
    #a2caf5 100%);
}
.seamless > section{ background-color:transparent !important; background-image:none !important; }
/* voice自身も透明にして連続グラデに乗せる（v208のgradientを打ち消す） */
#voice.voice{ background:transparent !important; }

/* v210: シームレス背景を参考サイト同様「ビューポート固定グラデ」に変更
   → どの画面でも緑→青の連続が見え、スクロールで要素が色の中を通過＝区切りなく徐々に変化 */
.seamless{
  background:linear-gradient(0deg,
    #7fd69b 0%,
    #84cfbf 30%,
    #8ac7d8 58%,
    #8fc4e8 80%,
    #97c6f2 100%) !important;
  background-attachment:fixed !important;
  background-size:100% 100vh !important;
  background-repeat:no-repeat !important;
  background-position:center top !important;
}
/* 各セクション内の大きな白パネルを透明化（白い塊で区切られないように）。カード類はそのまま */
.seamless .sites-panel{ background:transparent !important; box-shadow:none !important; }

/* v211: 境界線をなくし、スクロールで徐々に色が変わる連続グラデに
   ・上端を白(#jobと同じ)から始めてフェード → 働く仲間たちの境目を消す
   ・固定をやめて通常スクロール → 下にいくほど緑→青へ自然に変化 */
.seamless{
  background:linear-gradient(180deg,
    #ffffff 0%,
    #ffffff 3%,
    #e3f6ec 8%,
    #93d9ad 15%,
    #84cfc1 38%,
    #88c7d8 62%,
    #8fc4ea 84%,
    #9cc7f4 100%) !important;
  background-attachment:scroll !important;
  background-size:auto !important;
  background-position:left top !important;
}

/* v212: シームレス背景の色をヒーローのオレンジ×青に。お知らせ付近から白→オレンジ→青へ
   （仕組みは据え置き：通常スクロールの連続グラデ／上端白で前セクションと自然連結） */
.seamless{
  background:linear-gradient(180deg,
    #ffffff 0%,
    #ffffff 3%,
    #ffe6c8 8%,
    #ffc77f 19%,
    #ffdcb0 34%,
    #fbf4ec 49%,
    #cfe8f8 65%,
    #9bd5f6 84%,
    #74c8f4 100%) !important;
  background-attachment:scroll !important;
  background-size:auto !important;
  background-position:left top !important;
}

/* v213: 斜めのオレンジ→青グラデ（白い中間バンドを廃止）＋上下端は白へフェードして境界線を消す */
.seamless{
  position:relative;
  background:linear-gradient(135deg,
    #ffd6a0 0%,
    #ffc583 24%,
    #f1d7c0 44%,
    #cdd9e2 58%,
    #a4d3f1 78%,
    #77c8f4 100%) !important;
  background-attachment:scroll !important;
  background-size:auto !important;
  background-position:left top !important;
}
.seamless > *{ position:relative; z-index:1; }
/* 上端：白→暖色→透明（ヒーロー白波形の直下だけ局所的に「白から色が始まる」を作る。
   下方は透明になり、他セクションは元の固定グラデ(body::before)がそのまま見える） */
.seamless::before{ content:""; position:absolute; top:0; left:0; right:0; height:380px;
  background:linear-gradient(180deg,#ffffff 0%, #ffffff 5%, #ffe6c8 30%, rgba(255,230,200,0) 100%); z-index:0; pointer-events:none; }
/* 下端：グラデ→白（次のセクションと自然連結／境界線を消す） */
.seamless::after{ content:""; position:absolute; bottom:0; left:0; right:0; height:360px;
  background:linear-gradient(0deg,#ffffff 0%, rgba(255,255,255,0) 100%); z-index:0; pointer-events:none; }

/* v214: 仕事を知る タイムラインの修正
   ・左寄り＝.subpage .timeline-sec に margin:auto が無く左固定だったので中央寄せに
   ・写真/時間/文字のズレ＝上揃えにして「時間」と「見出し」を同じ高さに */
.subpage .timeline-sec{ margin-left:auto !important; margin-right:auto !important; }
.timeline .tl-item{ align-items:start !important; }
.timeline .tl-badge{ align-self:start !important; }
.timeline .tl-text{ padding-top:2px; }
/* 連結ラインを青系テーマに */
.timeline::before{ background:var(--green) !important; }
.timeline .tl-badge span{ background:var(--orange) !important; }
.timeline .tl-item:nth-child(even) .tl-badge span{ background:var(--green) !important; }
.timeline .tl-text h3{ color:var(--green-d) !important; }

/* v214b: 仕事を知る等の 社員インタビュー カード一覧 */
.iv-list-sec{ max-width:1080px; margin:0 auto; padding:8px 24px 8px; }
.iv-cards{ list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.iv-cards li a,
.iv-cards li > .ivc-card{ display:block; text-decoration:none; background:#fff; border-radius:18px; overflow:hidden; box-shadow:var(--shadow); transition:transform .25s ease, box-shadow .25s ease; }
.iv-cards li a:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(0,0,0,.14); }
.iv-cards .ivc-photo{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.iv-cards .ivc-body{ padding:12px 14px 16px; }
.iv-cards .ivc-role{ display:block; font-family:var(--maru); font-weight:700; color:var(--green); font-size:.76rem; }
.iv-cards .ivc-name{ display:block; font-family:"Noto Sans JP",sans-serif; font-weight:700; color:#1a1a1a; font-size:1.06rem; margin-top:2px; }
.iv-cards .ivc-go{ display:inline-block; margin-top:8px; color:var(--orange); font-family:var(--maru); font-weight:700; font-size:.84rem; }
@media(max-width:860px){ .iv-cards{ grid-template-columns:1fr 1fr; } }

/* v214c: 働く魅力カードに写真を追加（アイコン→写真に置換） */
.icon-grid .work-card{ padding:0 0 24px !important; overflow:hidden; text-align:left; }
.work-card .wc-photo{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; margin-bottom:16px; }
.icon-grid .work-card .wc-icon{ display:none !important; }
.icon-grid .work-card h3{ padding:0 22px; }
.icon-grid .work-card p{ padding:0 22px; }

/* v215: 参考サイトと同じ仕組み = ビューポート固定の斜めグラデを全面背後に（淡パステル）
   ・各画面（各セクション）の中で斜めにオレンジ→青が全部見える
   ・淡い色で全面常在 → 白→色の境界が存在せず見えない
   旧スクロールグラデ＋白ぼかしフェードは撤去 */
body{ background:transparent !important; }
body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(135deg,
    #ffe4c6 0%,
    #fff0e1 30%,
    #eef2f0 50%,
    #ddf0fb 70%,
    #cce9fb 100%);
}
/* 効果範囲は「お知らせ〜募集要項」：上下のセクションは白でこの固定背景を隠す */
#top, #numbers{ background:#ffffff !important; }
#entry.recruit-cta{ background:transparent !important; }
/* 旧実装の撤去（背景の本体は body::before の固定グラデに集約＝元の方式に復元） */
.seamless{
  background:none !important;
  /* ::before(局所の白→暖色)を上端に重ねるため位置指定。
     display:flow-root は子(#news)の margin collapse 隙間(=固定グラデの白中間が覗く)防止 */
  position:relative !important;
  display:flow-root !important;
}
/* ::before は再有効化（上端の白→暖色グラデ）。::after は使わない */
.seamless::after{ display:none !important; }
/* 各セクションを ::before より前面に（コンテンツがグラデの上に乗るように） */
.seamless > *{ position:relative !important; z-index:1 !important; }

/* v215b: 福利厚生カードに写真を追加（働く魅力カードと同じ写真上デザイン） */
.ben-grid li{ padding:0 !important; overflow:hidden; }
.ben-grid .ben-photo{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.ben-grid .ben-body{ padding:16px 22px 22px; }
.ben-grid .ben-body h3{ margin-top:0; }

/* v216: 参考サイト同様、グラデ帯の各セクションの装飾図形（色の塊）を消してクリーンに
   → 固定パステル斜めグラデだけが背景になり、斜めの色変化が綺麗に見える */
/* 後付けのヒーロー風ブロブだけ全消し */
.seamless .secblob{ display:none !important; }
/* 装飾図形はグラデ(透明)セクションのみ非表示。白セクションは元の図形を表示 */
#news .shp,
#voice .vshape,
#work .wk-deco, #work .shp,
#numbers .shp,
#entry .shp{ display:none !important; }

/* v216: 仕事を知る＝インタビューカードに「実際の声（引用）」を追加し、読むリンクのバランス調整 */
.iv-cards .ivc-quote{ display:block; margin-top:8px; font-size:.86rem; color:#5a4d46; line-height:1.72; }
.iv-cards .ivc-go{ margin-top:12px; }

/* v217: 参考サイトのFeature→Services型に。白セクション→お知らせで斜めの色が「現れる」
   ・固定の斜め(135°)グラデ：上端中央は淡く(白と自然連結)、左上オレンジ/右下ブルーが効く
   ・上の数字セクションを全幅・白でしっかり覆い、色の滲みを止める＝お知らせで切り替わる */
body::before{
  background:linear-gradient(135deg,
    #ffb877 0%,
    #ffd29c 17%,
    #ffe7cf 33%,
    #f4f2ec 49%,
    #d6eaf7 65%,
    #a9d8f5 84%,
    #82cbf3 100%) !important;
}
#numbers{ max-width:none !important; background:transparent !important; padding-left:24px; padding-right:24px; }
#numbers .sec-head, #numbers .num-grid, #numbers > .sec-note{ max-width:1100px; margin-left:auto; margin-right:auto; }

/* v216b: 福利厚生はアイコン版に戻したので余白を復元 */
.ben-grid li{ padding:26px 24px !important; }

/* v218: 切り替わりを滑らかに。固定斜めグラデの「上端を淡く」して、白→色の線を消す
   （濃いオレンジ／青は中〜下に。参考サイトも濃色は下・上は淡い） */
body::before{
  background:linear-gradient(135deg,
    #fdf4ea 0%,
    #fde7cd 12%,
    #ffd29a 24%,
    #ffe4c6 38%,
    #edf1ef 50%,
    #d4e9f7 64%,
    #aad8f5 84%,
    #82cbf3 100%) !important;
}

/* v217: 仕事を知る — ①1日セクションの白背景＋変な角丸を解除（固定パステルグラデを全面表示）／雲はHTML側で削除
   ②インタビューカードの詰まり解消（左余白を広げ＝右へ、文字を小さく） */
#day.timeline-sec{ background:transparent !important; border-radius:0 !important; }
.iv-cards .ivc-body{ padding:18px 22px 22px !important; }
.iv-cards .ivc-role{ font-size:.72rem; }
.iv-cards .ivc-name{ font-size:.98rem; margin-top:3px; }
.iv-cards .ivc-quote{ font-size:.8rem; line-height:1.7; margin-top:10px; }
.iv-cards .ivc-go{ font-size:.8rem; margin-top:14px; }

/* v219: 背景を「白セクション ⇄ グラデセクション」交互に。採用情報は背後グラデを見せる
   白：ヒーロー・子どものできた・2つの事業所・私たちの想い・募集要項
   グラデ（透明＝固定斜めグラデが見える）：お知らせ・働く仲間たち・働く環境・数字・採用情報 */
#top, #job, #sites, #about, #recruit{ background:#ffffff !important; }
#news, #voice, #work, #numbers, #entry.recruit-cta{ background:transparent !important; }
/* 働く仲間たちカード：文字なしで全体クリック → インタビューへ */
.voice-card{ position:relative; cursor:pointer; }
.voice-card .vc-stretch{ position:absolute; inset:0; z-index:4; }

/* v218: インタビューカードの「パツパツ」解消 = 4列→3列でカードを大きく、左右余白を広げ文字も余裕を持たせる */
.iv-cards{ grid-template-columns:repeat(3,1fr) !important; gap:26px !important; }
.iv-cards .ivc-body{ padding:22px 28px 26px !important; }
.iv-cards .ivc-role{ font-size:.78rem !important; }
.iv-cards .ivc-name{ font-size:1.12rem !important; margin-top:3px; }
.iv-cards .ivc-quote{ font-size:.92rem !important; line-height:1.9 !important; margin-top:12px !important; }
.iv-cards .ivc-go{ font-size:.88rem !important; margin-top:16px !important; }
@media(max-width:860px){ .iv-cards{ grid-template-columns:1fr 1fr !important; } }
@media(max-width:520px){ .iv-cards{ grid-template-columns:1fr !important; } }

/* v220: 白セクションは端まで全幅（白の隙間をなくす）。中身は中央寄せ */
#job.job-intro{ max-width:none !important; }
#job .job-intro-top, #job .job-intro-grid{ max-width:1080px; margin-left:auto; margin-right:auto; }
#sites{ max-width:none !important; }

/* v218: 福利厚生＝自社サイトと同じ「カテゴリ×写真×説明」カード（写真上＋見出し下線アクセント） */
.ben-grid li{ padding:0 !important; overflow:hidden; }
.ben-grid .ben-photo{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.ben-grid .ben-body{ padding:18px 22px 22px; }
.ben-grid .ben-body h3{ margin:0; font-size:1.12rem; }
.ben-grid .ben-body h3::after{ content:""; display:block; width:34px; height:3px; background:var(--orange); border-radius:2px; margin:9px 0 11px; }
.ben-grid .ben-body p{ font-size:.92rem; line-height:1.85; }

/* v221: 白セクションを端まで全幅（保険）＋#jobの装飾図形を確実に表示（デスクトップ） */
#top, #job, #sites, #about, #recruit{ max-width:none !important; }
@media(min-width:861px){
  #job .shp{ display:block !important; }
}

/* v219: サブページの一番上(subhero)は「白背景＋図形」に。下のコンテンツは背後のグラデを見せる */
.subpage .subhero{ background:#ffffff !important; }
/* 私たちについて：subhero〜理念・支援の哲学を白で連続させる（間のグラデ帯・隙間を解消）。
   代表メッセージ(#message)は元のまま（巻き込まない） */
.subpage #about.about{ background:#ffffff !important; margin-top:0 !important; }
.subpage #message.about{ background:transparent !important; }

/* v219: 働く環境の調整 */
/* ① 働く魅力セクションの背景ドットを消す */
.work.dots::before{ display:none !important; }
/* ② キャリアパスを階段状に（STEP1=低 → STEP5=高で上昇） */
.career-steps{ align-items:start !important; }
.career-steps li:nth-child(1){ margin-top:128px !important; }
.career-steps li:nth-child(2){ margin-top:96px !important; }
.career-steps li:nth-child(3){ margin-top:64px !important; }
.career-steps li:nth-child(4){ margin-top:32px !important; }
.career-steps li:nth-child(5){ margin-top:0 !important; }
/* スマホ/タブレットでは階段マージンを解除。リセット側の詳細度を :nth-child(n) で
   階段ルール(.career-steps li:nth-child(N) = 0,2,1)と同等まで上げ、後勝ちで確実に効かせる */
@media(max-width:860px){ .career-steps li:nth-child(n){ margin-top:0 !important; } }
/* ③ こんな人と働きたい：テキスト左＋画像右（右の白余白を埋める） */
.person-wrap{ display:grid; grid-template-columns:1.05fr .95fr; gap:36px; align-items:center; }
.person-wrap .person-list{ margin:0; }
.person-img{ align-self:stretch; }
.person-img img{ width:100%; height:100%; min-height:300px; object-fit:cover; border-radius:24px; box-shadow:var(--shadow); display:block; }
@media(max-width:860px){ .person-wrap{ grid-template-columns:1fr; } .person-img img{ min-height:220px; } }

/* v222: 数字で見るE-Create を「カード＝ラベル＋イラスト＋数字」（ふくろうラボ風）に */
#numbers .num-grid{ display:grid !important; grid-template-columns:repeat(auto-fit,minmax(186px,1fr)) !important; gap:20px !important; max-width:1180px !important; margin:0 auto !important; list-style:none; }
.num-card{ background:#fff; border-radius:22px; box-shadow:0 14px 38px rgba(40,60,90,.10); padding:30px 20px 26px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px; }
.num-label2{ font-family:var(--maru); font-weight:700; color:#39506a; font-size:1.02rem; margin:0; }
.num-illust{ display:flex; align-items:center; justify-content:center; height:92px; color:#7cc0ef; }
.num-illust svg{ width:82px; height:82px; }
.num-fig2{ font-family:"Noto Sans JP",sans-serif; font-weight:900; color:var(--green-d); font-size:clamp(2.3rem,3.6vw,3.1rem); line-height:1; letter-spacing:.01em; margin:0; }
.num-fig2 small{ font-size:.36em; font-weight:700; color:var(--orange); margin-left:2px; }

/* v223: お知らせ拡大・余白詰め・カード拡大・2事業所図形・採用情報ティール */
/* ① お知らせの文字を全体的に大きく */
#news .sec-head h2{ font-size:clamp(2.1rem,4.4vw,3rem) !important; }
#news .news-list li{ padding:22px 8px !important; }
#news .news-list time{ font-size:1.04rem !important; min-width:116px !important; }
#news .news-list .cat{ font-size:.86rem !important; padding:.32em 1.1em !important; }
#news .news-list a{ font-size:1.1rem !important; }

/* ② お知らせ↔子どものできた の間は元のスペースに戻す（v223の詰めを撤回） */

/* ④ 個別・集団の療育カードを全体的に大きく */
#job .job-intro-grid.kcards{ gap:24px !important; }
#job .kcards .wc2-photo{ aspect-ratio:4/3.15 !important; }
#job .kcards .ov-text{ padding:26px 26px 30px !important; }
#job .kcards .ov-text h3{ font-size:1.36rem !important; }
#job .kcards .ov-text p{ font-size:1.02rem !important; line-height:1.85 !important; }

/* ⑥ 2つの事業所：上の白余白を詰めて、切替の瞬間に図形が出てくる */
#sites{ padding-top:0 !important; }
.sites .sitesbg{ top:-200px !important; }

/* ⑦ 採用情報CTA：オレンジ→グリーンっぽい青（ティール） */
.recruit-cta .rc-panel{ background:linear-gradient(118deg,#1fb1bb 0%,#6fd0cd 47%,#d3efeb 100%) !important; }
.recruit-cta .rc-en{ color:#0a666e !important; }
.recruit-cta .rc-title{ color:#0e3338 !important; }
.recruit-cta .rc-more-label{ color:#1b4d54 !important; }
.recruit-cta .rc-circle{ border-color:#15868e !important; color:#15868e !important; }
.recruit-cta .rc-inner:hover .rc-circle{ background:#1fb0ae !important; border-color:#1fb0ae !important; color:#fff !important; }

/* v220: 環境ページ 福利厚生＝白背景／FAQ＝緑を消して裏のグラデを見せる */
/* 福利厚生・待遇：全幅の白背景（中身は中央寄せ） */
#benefits.benefits{ background:#fff !important; max-width:none !important; padding:60px 24px 68px !important; }
#benefits .sec-head, #benefits .ben-grid{ max-width:1080px; margin-left:auto; margin-right:auto; }
/* よくある質問：緑背景を消して裏のグラデーションを見せる */
#faq.faq{ background:transparent !important; }

/* v224: 子どものできた＝左側のオレンジ系図形を写真に近づける（右へ寄せる） */
#job .s-red{ left:40px !important; }
#job .s-yellow2{ left:17% !important; }
#job .sc4{ left:11% !important; }

/* v220: 働く環境ページの可読性UP — キャリアパス文字大／働く魅力の写真を横に広く／こんな人と働きたい文字大 */
/* キャリアパス：カード内文字を大きく */
.career-steps .cs-no{ font-size:1rem !important; }
.career-steps h3{ font-size:1.3rem !important; }
.career-steps li{ padding:30px 18px !important; }
/* 働く魅力：4列→2列でカード＆写真を横に広く、写真も横長に */
.work-grid.icon-grid{ grid-template-columns:repeat(2,1fr) !important; gap:30px !important; max-width:1080px; }
.icon-grid .work-card .wc-photo{ aspect-ratio:16/9 !important; }
.icon-grid .work-card h3{ font-size:1.4rem !important; padding:0 26px !important; }
.icon-grid .work-card p{ font-size:1.04rem !important; padding:0 26px !important; line-height:1.85; }
/* こんな人と働きたい：文字を大きくして余白を埋める */
.person-list li{ font-size:1.2rem !important; padding:24px 30px 24px 62px !important; }
.person-list li::before{ font-size:1.15rem; left:28px; }

/* v226: ビジョン（私たちの想い）＝背景の色味を消す・本文を普通の黒・カード装飾解除
   ＋ 採用情報CTAを「黄緑に近い青」に */
.aboutkc .ab-card{ background:transparent !important; box-shadow:none !important; padding:0 !important; }
.aboutkc .about-vision{ color:#1a1a1a !important; font-weight:700 !important; }
.aboutkc .about-text{ color:#1a1a1a !important; }
#about.aboutkc{ background:#ffffff !important; }

/* 採用情報CTA：黄緑に近い青（アクア寄り） */
.recruit-cta .rc-panel{ background:linear-gradient(118deg,#2ac99c 0%,#7bdcbf 47%,#ddf4ea 100%) !important; }
.recruit-cta .rc-en{ color:#0a6a52 !important; }
.recruit-cta .rc-more-label{ color:#1a5040 !important; }
.recruit-cta .rc-circle{ border-color:#149178 !important; color:#149178 !important; }
.recruit-cta .rc-inner:hover .rc-circle{ background:#2ac99c !important; border-color:#2ac99c !important; color:#fff !important; }

/* v221: キャリアパス/人物像の見出し拡大・STEPを黒に・フッターをエントリーボタンと同じ青に */
/* サブ見出し（キャリアパス／こんな人と働きたい）を大きく */
.subpage .sub-head{ font-size:clamp(1.7rem,4vw,2.35rem) !important; }
/* キャリアパスのステップ中身を大きく＆STEPラベルを黒に（緑をやめる） */
.career-steps li{ padding:30px 18px !important; }
.career-steps .cs-no{ color:#1a1a1a !important; font-size:1.02rem !important; }
.career-steps h3{ font-size:1.22rem !important; }
/* フッターをヘッダーのエントリーボタンと同じ青グラデに */
.site-footer{ background:linear-gradient(135deg, rgba(54,169,236,.95), rgba(27,142,216,.97)), url(assets/footer-bg.jpg?v=2) center/cover !important; }

/* v221: 子どもの「できた！」(#job) を白＋点々(dots)背景に。文字背後の青長方形・装飾を撤去、写真小さく・文字大きく */
/* セクションを不透明な白に（グラデを隠す） */
#job.job-intro{ background:#ffffff !important; }
/* よくある質問等と同じ点々パターンを敷く */
#job.job-intro::after{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(rgba(207,83,101,.10) 1.5px, transparent 1.6px); background-size:18px 18px; }
/* 文字の後ろの青い長方形だけ撤去（装飾の図形は残す） */
#job .job-intro-lead::before{ display:none !important; }
/* 青・緑系の図形は隠し、オレンジ系の装飾だけ表示してスッキリさせる */
#job .s-green, #job .s-blue, #job .s-green2, #job .sc1, #job .sc3{ display:none !important; }
@media(min-width:861px){
  #job .s-red, #job .s-yellow, #job .s-yellow2, #job .sc2, #job .sc4, #job .jb-soft{ display:block !important; }
}
/* 文字を大きく */
.job-intro-catch{ font-size:clamp(2rem,3.8vw,2.95rem) !important; }
.job-intro-lead > p{ font-size:1.4rem !important; line-height:2 !important; }
/* 写真を小さく */
.job-intro-photos{ min-height:400px !important; }
.job-intro-photo.p1{ width:72% !important; }
.job-intro-photo.p2{ width:46% !important; }

/* v222: フッターを白背景＋濃い文字色に */
.site-footer{ background:#ffffff !important; color:#2a2320 !important; border-top:1px solid #ececec; }
.site-footer a{ color:#1f7ec2 !important; text-decoration:underline; text-underline-offset:3px; }
.site-footer .f-sub{ opacity:.78; }
.site-footer .f-info{ opacity:.62; }
.site-footer .f-contact{ opacity:1; color:#4a4038; }
.site-footer .f-copy{ opacity:.55; }

/* v222: トップ「私たちの想い」写真と文字のバランス調整（写真を小さめに） */
#about.aboutkc .ab-grid{ grid-template-columns:.82fr 1.18fr !important; align-items:center !important; }
#about.aboutkc .ab-photo img{ height:clamp(250px,26vw,350px) !important; }
/* レスポンシブ: 上記の2列固定はタブレット幅(600-860)でも写真が潰れるため、
   860px以下では1列に戻す（スマホ詳細は max-width:600/430 ブロックで別途調整） */
@media(max-width:860px){
  #about.aboutkc .ab-grid{ grid-template-columns:1fr !important; gap:32px !important; align-items:stretch !important; }
  #about.aboutkc .ab-photo img{ height:clamp(220px,40vw,340px) !important; width:100% !important; }
}

/* v227→v229: 子どもの「できた！」セクション
   ・文字の後ろの青い長方形は撤去済み
   ・文字群（見出し＋本文）を少し右へ
   ・右上の図形(s-red)は大きくしない（元のサイズ・位置のまま）
   ・その下＝右下のオレンジ図形(sc4)を大きくする */
@media(min-width:861px){
  /* 文字群を少し右に寄せる（セクションは反転しているのでtranslateXで画面右へ） */
  #job .job-intro-lead{ transform:scaleX(-1) translateX(48px) translateY(-42px) !important; }
  /* 右下の一番右のオレンジ図形(sc4)を大きく */
  #job .sc4{
    width:240px !important; height:240px !important;
    background:linear-gradient(135deg,#ffb083 0%,#ffd7bb 100%) !important;
    border-radius:58% 42% 56% 44% / 60% 44% 56% 40% !important;
    opacity:.9 !important;
    z-index:0 !important;
  }
  /* 左側：写真に重ねたイラスト(s-yellow)を写真の近くへ＋色を水色〜青に変更 */
  #job .s-yellow{
    left:auto !important; right:120px !important; top:230px !important;
    width:300px !important; height:300px !important;
    background:linear-gradient(150deg,#4fb3ed 0%,#cdeafb 100%) !important;
    opacity:.95 !important;
  }
}

/* v224: 募集要項(#recruit・トップ)も白＋ドット背景に（#job/#aboutと統一） */
#recruit.recruit{ background:#ffffff !important; }

/* v228→v229: ヒーロー — 写真をさらに小さく（キャッチが被らないように）／キャッチは少し大きいまま */
@media(min-width:861px){
  .fk .fk-clip{ width:41vw !important; }
  .fk .fk-title{ font-size:clamp(1.95rem,3.6vw,3.05rem) !important; }
}

/* v223: インタビューページ調整 */
/* ① 役職・氏名を少し下げる */
.iv-meta{ margin-top:54px !important; }
/* ② オレンジ文字をやめて青系に（オレンジ背景と色が被るため） */
.iv-role{ color:var(--green) !important; }
.iv-q{ color:var(--green-d) !important; }
.iv-q::before{ background:var(--green) !important; }
/* ③ 写真は元の比率（縦長）のまま、少し小さく（横長クロップをやめる） */
.iv-photo{ max-width:470px !important; }
.iv-photo img{ max-height:none !important; height:auto !important; object-fit:contain !important; }

/* v225: 働く仲間たちを自動スクロール（マーキー）化。矢印非表示・スナップ解除 */
.voice-marquee .voice-track{ scroll-snap-type:none !important; scroll-behavior:auto !important; }
.voice-marquee .voice-card{ scroll-snap-align:none !important; }
.voice-marquee .vs-arrow{ display:none !important; }

/* v224: 仕事を知る「働く仲間たちの声」カード調整 */
.iv-cards .ivc-body{ display:flex; flex-direction:column; padding:18px 24px 20px !important; }
.iv-cards .ivc-role{ font-size:.94rem !important; }
.iv-cards .ivc-name{ font-size:1.34rem !important; margin-top:3px; }
.iv-cards .ivc-quote{ display:block; font-size:.88rem; color:#5a4d46; line-height:1.75; margin-top:10px; }
.iv-cards .ivc-go{ align-self:flex-end; margin-top:14px; }


/* ============================================================================
   ===== Responsive: 共通(ハンバーガー/footer/overflow等) =====
   レスポンシブ補強 統合版（style.css 末尾追記・後勝ち方針）
   既存の860pxルールは尊重し、600px / 430px で不足分を補強する。
   既存 !important / #id 詳細度を上回る箇所は同等以上＋!important で上書き。
   横溢れ厳禁・スマホ1列化・タップ領域確保を徹底。
   並び順:
     0) グローバル共通（overflow抑止・基本タイポ）
     1) shared-chrome（ハンバーガー/ナビ/footer/CTA/subhero/to-top）
     2) index-hero-numbers（ヒーロー＋数字バンド）
     3) index-mid（#news/#job/#voice/#sites）
     4) index-about-cta（#about/#recruit/#entry）
     5) environment（environment.html）
     6) work / saiyo / entry（work-saiyo-entry）
     7) interview / about / privacy（interview-about）
   ============================================================================ */


/* ============================================================================
   0) グローバル共通（重複統合）
   横スクロール完全抑止＋基本タイポ縮小をここに1か所だけ集約。
   （各グループに散っていた html,body overflow / html font-size / section padding を統合）
   ============================================================================ */
html, body{ overflow-x:hidden !important; max-width:100% !important; }

/* オーバーレイ展開時はページ本体のスクロールを止める */
html.nav-open, html.nav-open body{ overflow:hidden !important; }

/* 基本タイポ縮小（横溢れ・窮屈さの緩和）。html{font-size:106%} を下げる */
@media(max-width:600px){
  html{ font-size:99% !important; }
  section{ padding:48px 16px !important; }
}
@media(max-width:430px){
  html{ font-size:94% !important; }
  section{ padding:40px 14px !important; }
}


/* ============================================================================
   1) shared-chrome（全ページ共通クローム）
   ・ヘッダーのハンバーガー化（.gnav をオーバーレイ表示）
   ・フッター / recruit-cta / subhero / secblob / to-top / body::before
   ============================================================================ */

/* ---- ナビ：ハンバーガー（.nav-toggle）と .gnav オーバーレイ ----
   デスクトップでは .nav-toggle 非表示。JS が .site-header 末尾へ
   button.nav-toggle を注入する。クラス名/挙動は JS と完全一致：
   .nav-toggle / .nt-bar / html.nav-open / aria-expanded */
.site-header .nav-toggle{
  display:none;
  align-self:center;
  margin-left:14px;
  flex:none;
  width:46px; height:46px;
  border:0; background:transparent; padding:0; cursor:pointer;
  border-radius:12px;
  position:relative;
  -webkit-tap-highlight-color:transparent;
}
.site-header .nav-toggle .nt-bar{
  position:absolute; left:50%; top:50%;
  width:24px; height:2.4px; margin-left:-12px;
  background:var(--green-d); border-radius:2px;
  transition:transform .28s cubic-bezier(.2,.7,.2,1), opacity .2s ease;
}
.site-header .nav-toggle .nt-bar:nth-child(1){ transform:translateY(-7px); }
.site-header .nav-toggle .nt-bar:nth-child(2){ transform:translateY(0); }
.site-header .nav-toggle .nt-bar:nth-child(3){ transform:translateY(7px); }
/* 開いている時：×印に変形 */
html.nav-open .site-header .nav-toggle .nt-bar:nth-child(1){ transform:translateY(0) rotate(45deg); }
html.nav-open .site-header .nav-toggle .nt-bar:nth-child(2){ opacity:0; }
html.nav-open .site-header .nav-toggle .nt-bar:nth-child(3){ transform:translateY(0) rotate(-45deg); }

@media(max-width:860px){
  /* トグル表示：ヘッダーの一番右に大きめタップ領域で。
     開いたメニュー(.gnav)より前面に置き、×ボタンを常に押せるようにする */
  .site-header .nav-toggle{
    display:block;
    margin-left:8px;
    margin-right:clamp(12px,3vw,20px);
    width:48px; height:48px;
    order:9;
    position:relative;
    z-index:60;
  }
  /* ヘッダーが flex:stretch なので、ロゴと採用ボタンの間にスペーサーを作る。
     ロゴも開いたメニューの前面に残す */
  .site-header .logo{ margin-right:auto; position:relative; z-index:60; }
  /* 採用ボタン（header-entry）はトグルの左に。全高ブロックを少し縮める */
  .site-header .header-entry{
    order:8;
    position:relative;
    z-index:60;
    align-self:center !important;
    height:auto !important;
    border-radius:999px !important;
    padding:.62em 1.05em !important;
    margin:0 0 0 auto !important;
    font-size:.82rem !important;
    letter-spacing:.02em !important;
    white-space:nowrap;
  }
  .site-header .header-entry::after{ content:none !important; }

  /* gnav をオーバーレイ化：ヘッダー直下に全幅スライドダウン。
     既存 .gnav{display:none}(323) と .js 系 opacity/visibility を !important で上書き */
  .gnav{
    /* 注意: .site-header は backdrop-filter を持つため、その子孫の position:fixed は
       ビューポートではなくヘッダー(高さ78px)を基準にしてしまう。
       よって bottom:0 では画面下まで伸びない。高さはビューポート相対の dvh/vh で確保する。 */
    position:fixed !important;
    top:0 !important; left:0 !important; right:0 !important; bottom:auto !important;
    min-height:100vh !important;
    height:100dvh !important;          /* 全画面オーバーレイ */
    z-index:40;                       /* ヘッダー内のロゴ/×ボタン(z:60)より背面 */
    display:flex !important;          /* 常に flex（表示/非表示は transform で制御） */
    flex-direction:column;
    align-items:stretch;
    gap:0 !important;
    margin:0 !important;
    /* 上部はヘッダー(78px)分あけてリンクを配置 */
    padding:calc(78px + 12px) 0 calc(env(safe-area-inset-bottom,0px) + 28px) !important;
    background:#ffffff;
    box-shadow:0 18px 40px rgba(0,0,0,.14);
    border-top:3px solid var(--green);
    font-size:1.06rem !important;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    /* 閉じている状態：フェードで隠す（スライドは使わず隙間が出ないようにする） */
    transform:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .24s ease, visibility .24s;
  }
  /* 閉じ状態：既存 .js .site-header .gnav(opacity:1!important 詳細度0,3,0) を
     同詳細度＋後勝ちで上書きしないと常時表示になるため、ここで明示的に隠す */
  .js .site-header .gnav{
    opacity:0 !important;
    visibility:hidden !important;
    transform:none !important;
    pointer-events:none !important;
  }
  /* 開いた状態：表示。既存 .js 系(0,3,0)を上回る詳細度(0,3,1)で確実に上書き */
  html.nav-open .site-header .gnav{
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  /* 各リンク：大きめのタップ領域・区切り線・緑アクセント */
  .gnav a{
    display:block !important;
    padding:18px clamp(22px,6vw,40px) !important;
    border:0 !important;
    border-bottom:1px solid rgba(0,0,0,.07) !important;
    font-weight:700;
    color:var(--ink) !important;
    line-height:1.4;
  }
  .gnav a:active,
  .gnav a:hover{
    background:var(--green-l) !important;
    color:var(--green-d) !important;
    border-color:rgba(0,0,0,.07) !important;
  }
  .gnav a.current{
    color:var(--green-d) !important;
    box-shadow:inset 4px 0 0 var(--green);
    background:rgba(47,159,224,.06) !important;
  }
}

/* スマホ実幅：採用ボタンとハンバーガーをさらに詰める */
@media(max-width:430px){
  .site-header .header-entry{
    padding:.55em .85em !important;
    font-size:.76rem !important;
  }
  .site-header .nav-toggle{
    width:46px; height:46px;
    margin-right:10px;
  }
  .gnav{ font-size:1.02rem !important; }
  .gnav a{ padding:16px 22px !important; }
}

/* ---- サブヒーロー（.subhero）と四隅ブロブ（.secblob / sh-*） ---- */
@media(max-width:600px){
  .subhero{ padding:108px 18px 18px !important; }
  .subpage .subhero{ padding:108px 18px 18px !important; }
  .subhero-lead{ font-size:.95rem !important; }
  .subhero h1{ font-size:clamp(1.7rem,7vw,2.2rem) !important; }

  /* 四隅ブロブ：縮小し、画面外への飛び出しを最小化 */
  .subhero .secblob{ width:min(40vw,200px) !important; opacity:.9 !important; }
  .subhero .sh-tl{ left:-12vw !important; top:-30px !important; }
  .subhero .sh-tr{ left:auto !important; right:-12vw !important; top:-30px !important; }
  .subhero .sh-bl{ left:-12vw !important; top:60px !important; }
  .subhero .sh-br{ left:auto !important; right:-12vw !important; top:60px !important; }

  /* セクション内ブロブ（recruit/entry/voice 等）も画面端から出し過ぎない */
  .secblob{ width:min(46vw,240px) !important; }
  .secblob.sb-left{ left:-16vw !important; }
  .secblob.sb-right{ left:auto !important; right:-16vw !important; }
  .recruit .sb-left{ left:-16vw !important; top:8% !important; }
  .entry .sb-right{ left:auto !important; right:-16vw !important; top:8% !important; }
}
@media(max-width:430px){
  .subhero, .subpage .subhero{ padding:100px 14px 14px !important; }
  .subhero .secblob{ width:min(44vw,160px) !important; }
}

/* ---- 採用情報CTA（.recruit-cta / .rc-panel / .rc-photo）共通スマホ最適化 ---- */
@media(max-width:600px){
  .recruit-cta{ padding:16px 14px 48px !important; }
  .recruit-cta .rc-panel{
    padding:200px 22px 32px !important;
    border-radius:20px 20px 20px 56px !important;
  }
  .recruit-cta .rc-photo{
    left:12px !important; right:12px !important; top:12px !important; bottom:auto !important;
    width:auto !important; height:180px !important;
    border-radius:16px !important;
  }
  .recruit-cta .rc-title{ font-size:clamp(1.4rem,6.4vw,1.9rem) !important; margin-bottom:26px !important; }
  .recruit-cta .rc-more{ gap:14px !important; }
  .recruit-cta .rc-circle{ width:50px !important; height:50px !important; }
}
@media(max-width:430px){
  .recruit-cta .rc-panel{ padding:170px 18px 28px !important; }
  .recruit-cta .rc-photo{ height:150px !important; }
}

/* ---- フッター（白背景・濃文字＝v222確定）スマホ最適化 ---- */
@media(max-width:600px){
  .site-footer{ padding:40px 18px !important; }
  .f-brand{ margin-bottom:4px; }
  .f-name{ font-size:1.08rem !important; }
  .f-sub{ font-size:.84rem !important; }
  .f-info{ font-size:.8rem !important; }
  /* 2事業所ブロックを縦1列に */
  .site-footer .f-contact{
    flex-direction:column !important;
    gap:18px !important;
    margin-top:22px !important;
    font-size:.86rem !important;
    text-align:center;
  }
  .site-footer .f-contact > div{ width:100%; }
  .f-copy{ font-size:.74rem !important; margin-top:18px !important; line-height:1.9; }
  .f-copy a{ display:inline-block; padding:2px 0; }
}

/* ---- トップへ戻る（.to-top）スマホ ---- */
@media(max-width:600px){
  .to-top{ right:14px !important; bottom:14px !important; width:46px !important; height:46px !important; }
  .to-top svg{ width:18px; height:18px; }
  .to-top span{ display:none; } /* 小画面では「TOP」ラベルが下にはみ出るので隠す */
}

/* ---- サブページ背景グラデ（body::before）：iOSの固定背景負荷を軽減 ---- */
@media(max-width:600px){
  body::before{ background-attachment:scroll; }
}


/* ============================================================================
   2) index-hero-numbers（index.html ヒーロー＋数字バンド）
   ============================================================================ */

/* ---- ヒーロー横溢れ対策：.fk は終盤ルールで overflow:visible のため再クリップ ---- */
@media(max-width:860px){
  .fk{ overflow:hidden !important; }
}

/* ---- 背景ブロブ(.kvbg)を画面内に収める ---- */
@media(max-width:600px){
  .fk .kvbg{
    width:min(78vw,420px) !important;
    height:auto !important;
    aspect-ratio:600.594/684.359 !important;
  }
  .fk .kvbg-tl{ right:-26vw !important; left:auto !important; top:-24vw !important; bottom:auto !important; }
  .fk .kvbg-br{ left:-26vw !important; right:auto !important; bottom:-22vw !important; top:auto !important; }
  .fk .kvbg-tr{ right:-26vw !important; left:auto !important; top:-24vw !important; bottom:auto !important; }
  .fk .kvbg-bl{ left:-26vw !important; right:auto !important; bottom:-22vw !important; top:auto !important; }
  .fk .kvsk{ opacity:.62 !important; }
}
@media(max-width:430px){
  .fk .kvbg{ width:min(74vw,330px) !important; }
  .fk .kvbg-tl,.fk .kvbg-tr{ top:-20vw !important; }
  .fk .kvbg-br,.fk .kvbg-bl{ bottom:-18vw !important; }
}

/* ---- ヒーロー写真クリップ(.fk-clip)の右溢れ防止 ---- */
@media(max-width:600px){
  .fk .fk-clip{
    width:min(72vw,420px) !important;
    max-width:88vw !important;
    height:auto !important;
    aspect-ratio:802/762 !important;
    left:50% !important; right:auto !important;
    transform:translateX(-50%) !important;
  }
}

/* ---- ヒーロータイトルの可読性＋スティッキーCTAとの重なり回避 ---- */
@media(max-width:860px){
  .fk .fk-title{
    left:0 !important; right:0 !important; text-align:center !important;
    top:auto !important;
    bottom:calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    padding-left:18px !important; padding-right:18px !important;
    font-size:clamp(1.5rem,6.4vw,2.3rem) !important;
    line-height:1.42 !important;
    text-shadow:0 1px 2px rgba(255,255,255,.6), 0 0 14px rgba(255,255,255,.45) !important;
  }
}
@media(max-width:430px){
  .fk .fk-title{
    font-size:clamp(1.32rem,7vw,1.9rem) !important;
    bottom:calc(92px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* ---- 数字で見るE-Create（#numbers / .num-grid / .num-card） ----
   既存 #numbers .num-grid は auto-fit minmax(186px,1fr)!important。
   狭幅で1列化する不具合を、同詳細度+!important の repeat(2,1fr) で2列固定。 */
@media(max-width:600px){
  #numbers .num-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:14px !important;
  }
  .num-card{ padding:22px 12px 20px !important; gap:9px !important; }
  .num-illust{ height:64px !important; }
  .num-illust svg{ width:58px !important; height:58px !important; }
  .num-label2{ font-size:.92rem !important; }
  .num-fig2{ font-size:clamp(1.9rem,8vw,2.5rem) !important; }
}
@media(max-width:430px){
  #numbers .num-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:11px !important;
  }
  .num-card{ padding:18px 8px 16px !important; gap:7px !important; }
  .num-illust{ height:54px !important; }
  .num-illust svg{ width:48px !important; height:48px !important; }
  .num-label2{ font-size:.86rem !important; }
  .num-fig2{ font-size:clamp(1.6rem,8.4vw,2.1rem) !important; }
  .num-fig2 small{ font-size:.34em !important; }
}

/* ---- .seamless グラデーションラッパーの横溢れ封じ ---- */
@media(max-width:600px){
  .seamless{ overflow-x:clip !important; }
}


/* ============================================================================
   3) index-mid（#news / #job(.job-intro) / #voice / #sites）
   ============================================================================ */

/* ---- 担当4セクションの過大な縦パディングを圧縮 ---- */
@media(max-width:600px){
  #news.news, #job.job-intro, #voice.voice, #sites.sites{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }
  #sites.sites{ padding-top:48px !important; padding-bottom:48px !important; }
}
@media(max-width:430px){
  #news.news, #job.job-intro, #voice.voice{
    padding-top:46px !important;
    padding-bottom:46px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
  #sites.sites{ padding-top:40px !important; padding-bottom:40px !important; }
}

/* ---- #news お知らせ ---- */
@media(max-width:600px){
  #news .news-list li{
    padding:16px 4px !important;
    gap:8px 12px !important;
    align-items:center !important;
  }
  #news .news-list time{ min-width:auto !important; font-size:.92rem !important; order:1; }
  #news .news-list .cat{ font-size:.74rem !important; padding:.26em .9em !important; order:2; }
  #news .news-list a{
    order:3;
    flex:1 1 100% !important;
    min-width:100% !important;
    font-size:1rem !important;
    line-height:1.7;
    margin-top:2px;
  }
}
@media(max-width:430px){
  #news .news-list li{ padding:14px 2px !important; gap:7px 10px !important; }
  #news .news-list time{ font-size:.86rem !important; }
  #news .news-list .cat{ font-size:.7rem !important; padding:.24em .8em !important; }
  #news .news-list a{ font-size:.95rem !important; }
}

/* ---- #job 私たちの想い導入 ---- */
@media(max-width:600px){
  .job-intro-top{
    grid-template-columns:1fr !important;
    gap:22px !important;
    margin-bottom:40px !important;
  }
  .job-intro-photos{
    position:relative !important;
    min-height:auto !important;
    height:auto !important;
    aspect-ratio:1/1;
    max-width:380px;
    margin:8px auto 0 !important;
  }
  .job-intro-catch{
    font-size:clamp(1.5rem,6.4vw,2rem) !important;
    line-height:1.5 !important;
    margin-bottom:16px !important;
    text-align:left;
  }
  .job-intro-lead > p{
    font-size:1rem !important;
    line-height:1.95 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    max-width:100% !important;
  }
  .job-intro-lead .en{ font-size:.8rem !important; }
  .job-intro-grid.kcards{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .kcards .wc2-photo{ aspect-ratio:16/9 !important; }
  .kcards .ov-text{ padding:18px 20px 22px !important; }
  .kcards .ov-text h3{ font-size:1.12rem !important; margin-bottom:8px !important; }
  .kcards .ov-text p{ font-size:.9rem !important; }
  #job .sec-more .btn{
    display:inline-block;
    max-width:100%;
    white-space:normal;
    line-height:1.5;
  }
}
@media(max-width:430px){
  .job-intro-photos{ max-width:320px; }
  .job-intro-catch{ font-size:clamp(1.4rem,7vw,1.85rem) !important; }
  .job-intro-lead > p{ font-size:.95rem !important; line-height:1.85 !important; }
  .job-intro-grid.kcards{ gap:16px !important; }
  .kcards .ov-text{ padding:16px 16px 20px !important; }
  .kcards .ov-text h3{ font-size:1.06rem !important; }
  .kcards .ov-text p{ font-size:.86rem !important; }
}

/* ---- #voice 働く仲間たち（自動カルーセル：JS無限ループは不変） ---- */
@media(max-width:600px){
  .voice-marquee{ padding:0 6px !important; }
  .voice-marquee .voice-card{ flex:0 0 72vw !important; margin-right:16px !important; }
  .voice-marquee .voice-photo{ height:260px !important; }
  .voice-marquee .vc-down{ margin-top:32px !important; }
  .voice-marquee .voice-track{ padding:30px 6px 38px !important; }
  .voice-marquee .vc-cap h3{ font-size:1.06rem !important; }
  .voice-marquee .vc-msg{ font-size:.92rem !important; margin-top:13px !important; }
  #voice.voice .sec-head h2{ font-size:clamp(1.7rem,7vw,2.4rem) !important; }
}
@media(max-width:430px){
  .voice-marquee .voice-card{ flex:0 0 78vw !important; margin-right:14px !important; }
  .voice-marquee .voice-photo{ height:232px !important; }
  .voice-marquee .vc-down{ margin-top:24px !important; }
  .voice-marquee .voice-track{ padding:24px 4px 30px !important; }
  .voice-marquee .vc-msg{ font-size:.88rem !important; }
  #voice.voice .sec-head h2{ font-size:clamp(1.55rem,8vw,2.1rem) !important; }
  #voice .sec-head .sec-note{ font-size:.86rem !important; }
}

/* ---- #sites 2つの事業所 ---- */
@media(max-width:600px){
  .sites-panel{ margin-left:10px !important; padding:44px 0 56px !important; }
  .sites-inner{ padding:0 18px !important; }
  .site-grid{ gap:24px !important; }
  .sites .site-card h3{ font-size:1.5rem !important; }
  .sites .site-target{ font-size:.98rem !important; }
  .sites .site-brand{ font-size:.78rem !important; }
  .sites .site-body{ padding:18px 2px 0 !important; }
  .sites .sec-head h2{ font-size:clamp(1.5rem,6.4vw,2rem) !important; line-height:1.5 !important; }
  .sites .sec-head h2 .sl-2{ margin-left:1em !important; }
  .sites .sec-note{ font-size:.9rem !important; }
  .sites .sitesbg{ max-width:96vw !important; }
}
@media(max-width:430px){
  .sites-panel{ margin-left:8px !important; padding:38px 0 48px !important; border-top-left-radius:36px !important; }
  .sites-inner{ padding:0 16px !important; }
  .site-grid{ gap:20px !important; }
  .sites .site-card h3{ font-size:1.34rem !important; }
  .sites .site-target{ font-size:.92rem !important; }
  .sites .site-photo{ border-radius:16px !important; }
  .sites .sec-head{ text-align:left !important; }
  .sites .sec-head h2{ font-size:clamp(1.34rem,7.2vw,1.8rem) !important; }
  .sites .sec-head h2 .sl-2{ margin-left:.8em !important; }
  .sites .sitesbg{ max-width:92vw !important; }
}


/* ============================================================================
   4) index-about-cta（#about / #recruit / #entry）
   ============================================================================ */
@media(max-width:600px){
  /* ---- #about 私たちの想い：既存 id+!important の2列を1列へ確実に上書き ---- */
  #about.aboutkc .ab-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
    padding-left:clamp(16px,5vw,24px) !important;
    padding-right:clamp(16px,5vw,24px) !important;
    align-items:stretch !important;
  }
  #about.aboutkc .ab-photo img{
    height:clamp(190px,52vw,300px) !important;
    width:100% !important;
    border-radius:20px !important;
  }
  .aboutkc .ab-card{ text-align:left !important; }
  .aboutkc .about-vision{ font-size:clamp(1.15rem,5.4vw,1.4rem) !important; line-height:1.5; }
  .aboutkc .about-text{ font-size:.96rem !important; line-height:1.75; }
  .aboutkc .sec-more{ text-align:left !important; margin-top:18px !important; }
  .about.aboutkc{ padding-top:40px !important; padding-bottom:8px !important; }

  /* ---- #recruit 募集要項（青ブロブ） ---- */
  #recruit .secblob.sb-left{
    width:min(46vw,180px) !important;
    left:-12vw !important;
    top:6% !important;
    opacity:.5 !important;
  }
  #recruit .sec-head h2{ font-size:clamp(1.7rem,7vw,2.6rem) !important; }
  #recruit .recruit-table th,
  #recruit .recruit-table td{
    font-size:.98rem !important;
    padding:14px 16px !important;
    width:100% !important;
    box-sizing:border-box;
    word-break:break-word;
  }
  #recruit .sec-head, #recruit .recruit-table, #recruit .sec-more{
    max-width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
    box-sizing:border-box;
  }
  #recruit.recruit{ padding-top:36px !important; }

  /* ---- #entry 採用CTA（.recruit-cta 寸法の上書き） ---- */
  .recruit-cta{ padding:20px 16px 56px !important; }
  .recruit-cta .rc-panel{ padding:196px 24px 32px !important; border-radius:20px 20px 20px 56px !important; }
  .recruit-cta .rc-photo{ left:12px !important; right:12px !important; top:12px !important; height:168px !important; border-radius:16px !important; }
  .recruit-cta .rc-title{ font-size:clamp(1.7rem,7.4vw,2.3rem) !important; margin-bottom:28px !important; }
  .recruit-cta .rc-en{ font-size:.94rem !important; }
  .recruit-cta .rc-more{ gap:14px !important; flex-wrap:wrap; }
  .recruit-cta .rc-more-label{ font-size:.95rem !important; }
  .recruit-cta .rc-circle{ width:50px !important; height:50px !important; font-size:1.15rem !important; }
}
@media(max-width:430px){
  #about.aboutkc .ab-grid{ gap:18px !important; }
  #about.aboutkc .ab-photo img{ height:clamp(170px,54vw,240px) !important; }
  .aboutkc .about-vision{ font-size:1.22rem !important; }
  .aboutkc .about-text{ font-size:.92rem !important; }
  .about.aboutkc{ padding-top:32px !important; }

  #recruit .sec-head h2{ font-size:1.65rem !important; }
  #recruit .recruit-table th,
  #recruit .recruit-table td{ font-size:.94rem !important; padding:12px 13px !important; }
  #recruit .secblob.sb-left{ width:min(50vw,150px) !important; opacity:.42 !important; }

  .recruit-cta{ padding:16px 12px 48px !important; }
  .recruit-cta .rc-panel{ padding:178px 18px 28px !important; border-radius:18px 18px 18px 48px !important; }
  .recruit-cta .rc-photo{ left:10px !important; right:10px !important; top:10px !important; height:150px !important; }
  .recruit-cta .rc-title{ font-size:1.65rem !important; margin-bottom:24px !important; }
  .recruit-cta .rc-circle{ width:46px !important; height:46px !important; font-size:1.05rem !important; }
}


/* ============================================================================
   5) environment.html
   ============================================================================ */
@media(max-width:600px){
  #benefits.benefits{ padding:48px 16px 52px !important; }
  #work.work{ padding-left:16px !important; padding-right:16px !important; }
  #faq.faq{ padding-left:16px !important; padding-right:16px !important; }

  /* 画像は必ず親幅に収める（横溢れ防止） */
  #work img, #benefits img, .person-img img, .work-card .wc-photo, .ben-grid .ben-photo{
    max-width:100% !important; height:auto;
  }

  /* 働く魅力 .work-card（600では2列維持しつつ詰める） */
  .work-grid.icon-grid{ gap:18px !important; }
  .icon-grid .work-card .wc-photo{ aspect-ratio:16/10 !important; height:auto; }
  .icon-grid .work-card h3{ font-size:1.18rem !important; padding:0 18px !important; }
  .icon-grid .work-card p{ font-size:.94rem !important; padding:0 18px !important; line-height:1.8 !important; }

  /* キャリアパス .career-steps */
  .career-steps{ gap:12px !important; }
  .career-steps li{ padding:22px 12px !important; }
  .career-steps .cs-no{ font-size:.92rem !important; color:#1a1a1a !important; }
  .career-steps h3{ font-size:1.08rem !important; }

  /* こんな人と働きたい .person-wrap */
  .person-wrap{ gap:24px !important; }
  .person-img img{ min-height:200px !important; }
  .person-list li{ font-size:1.04rem !important; padding:18px 22px 18px 50px !important; }
  .person-list li::before{ left:22px !important; font-size:1.02rem !important; }

  .subpage .sub-head{ font-size:clamp(1.4rem,5.5vw,1.85rem) !important; }
  .sub-block{ margin-top:48px !important; }

  /* 福利厚生 .ben-grid（600では2列） */
  .ben-grid{ gap:16px !important; }
  .ben-grid .ben-body{ padding:14px 18px 18px !important; }
  .ben-grid .ben-body h3{ font-size:1.02rem !important; }
  .ben-grid .ben-body p{ font-size:.86rem !important; line-height:1.75 !important; }
  .ben-grid .ben-photo{ aspect-ratio:16/10 !important; }

  /* FAQ（透明背景維持） */
  .faq-item{ padding:18px 18px !important; }
  .faq-item dt{ font-size:.98rem !important; }
  .faq-item dd{ font-size:.9rem !important; line-height:1.8 !important; }
}
@media(max-width:430px){
  #benefits.benefits{ padding:40px 14px 46px !important; }
  #work.work{ padding-left:14px !important; padding-right:14px !important; }
  #faq.faq{ padding-left:14px !important; padding-right:14px !important; }

  /* 働く魅力：2列だと潰れるので1列へ（既存!important上書き） */
  .work-grid.icon-grid{ grid-template-columns:1fr !important; gap:18px !important; }
  .icon-grid .work-card .wc-photo{ aspect-ratio:16/9 !important; }
  .icon-grid .work-card h3{ font-size:1.18rem !important; padding:0 18px !important; }
  .icon-grid .work-card p{ font-size:.95rem !important; padding:0 18px !important; }

  /* キャリアパス：1列縦積み。番号黒字＋見出しがしっかり読める */
  .career-steps{ grid-template-columns:1fr !important; gap:12px !important; }
  .career-steps li{ padding:18px 18px !important; text-align:left; }
  .career-steps .cs-no{ font-size:.9rem !important; color:#1a1a1a !important; }
  .career-steps h3{ font-size:1.12rem !important; margin-top:4px !important; }

  .person-img img{ min-height:170px !important; }
  .person-list li{ font-size:1rem !important; padding:16px 18px 16px 46px !important; }
  .person-list li::before{ left:18px !important; }

  .subpage .sub-head{ font-size:clamp(1.3rem,6.5vw,1.7rem) !important; }
  .sub-block{ margin-top:40px !important; }

  /* 福利厚生：1列・写真カード全幅 */
  .ben-grid{ grid-template-columns:1fr !important; gap:14px !important; }
  .ben-grid li{ overflow:hidden; }
  .ben-grid .ben-photo{ aspect-ratio:16/9 !important; }
  .ben-grid .ben-body{ padding:14px 18px 18px !important; }
  .ben-grid .ben-body h3{ font-size:1.04rem !important; }
  .ben-grid .ben-body p{ font-size:.88rem !important; line-height:1.78 !important; }
  #benefits .sec-note{ font-size:.8rem !important; }

  .faq-item{ padding:16px 16px !important; }
  .faq-item dt{ font-size:.96rem !important; line-height:1.6 !important; }
  .faq-item dd{ font-size:.88rem !important; }

  #work .sec-head h2, #benefits .sec-head h2, #faq .sec-head h2{ font-size:clamp(1.5rem,7vw,2rem) !important; }
}


/* ============================================================================
   6) work / saiyo / entry（work-saiyo-entry）
   ============================================================================ */

/* ---- 共通：担当3ページの画像はみ出し防止 ---- */
@media(max-width:600px){
  .iv-cards img,.tl-photo img,.jo-card img{ max-width:100%; height:auto; }
}

/* ---- work.html  #interview .iv-cards ---- */
@media(max-width:600px){
  .iv-list-sec{ padding:8px 16px 8px !important; }
  .iv-cards .ivc-quote{ font-size:.84rem !important; line-height:1.7 !important; margin-top:8px !important; }
}
@media(max-width:430px){
  .iv-cards{ gap:14px !important; }
  .iv-cards .ivc-body{ padding:16px 18px 18px !important; }
  .iv-cards .ivc-role{ font-size:.82rem !important; }
  .iv-cards .ivc-name{ font-size:1.18rem !important; }
  .iv-cards .ivc-quote{ font-size:.84rem !important; line-height:1.68 !important; margin-top:8px !important; }
  .iv-cards .ivc-go{ font-size:.82rem !important; margin-top:12px !important; }
}

/* ---- work.html  .timeline / .tl-item（縦積み中央寄せの整合） ----
   既存 .timeline .tl-item{align-items:start !important} を打ち消す */
@media(max-width:600px){
  .timeline .tl-item{ align-items:center !important; max-width:460px; }
  .timeline .tl-badge{ align-self:center !important; order:1; margin-bottom:10px; }
  .tl-photo{ order:2; width:100%; margin-bottom:12px; }
  .timeline .tl-text,
  .timeline .tl-item:nth-child(even) .tl-text{
    order:3; text-align:center !important;
    padding-left:0 !important; padding-right:0 !important; padding-top:0 !important;
    grid-column:auto;
  }
  .timeline .tl-item:nth-child(even) .tl-photo{ grid-column:auto; }
  .tl-photo img{ aspect-ratio:16/10; }
}
@media(max-width:430px){
  .timeline .tl-item{ max-width:100%; margin:0 auto 26px; }
  .tl-badge span{ width:80px; height:70px; font-size:1.05rem; }
  .tl-text h3{ font-size:1.18rem; }
  .tl-text p{ font-size:.9rem; }
}

/* ---- saiyo.html  .job-openings / .jo-card ---- */
@media(max-width:600px){
  .job-openings{ padding:8px 16px 16px !important; }
  .jo-card{ padding:24px 22px; }
  .jo-main h3{ font-size:1.2rem; }
  .jo-actions{ width:100%; }
  .btn-indeed2,.btn-apply-ghost{ width:100%; }
}
@media(max-width:430px){
  .jo-card{ padding:20px 18px; }
  .jo-main p{ font-size:.92rem; }
}

/* ---- saiyo.html  .recruit-table（th/td 縦積み＋詰め）----
   ※ index-about-cta は #recruit スコープ、こちらは saiyo の素の .recruit-table 用 */
@media(max-width:600px){
  .recruit-table th,.recruit-table td{
    font-size:1rem !important; padding:14px 18px !important;
    word-break:break-word;
  }
  .recruit-table th{ text-align:left !important; }
}
@media(max-width:430px){
  .recruit-table th,.recruit-table td{
    font-size:.94rem !important; padding:12px 15px !important;
    line-height:1.7;
  }
}

/* ---- saiyo.html  .flow3 ol ---- */
@media(max-width:600px){
  .flow3{ padding:18px 16px !important; }
  .flow3 li{ padding:24px 22px; }
}

/* ---- entry.html（saiyo の #contact フォームにも共通）----
   .ep-methods / .ep-flow / .ep-form は 860px で1列化済 */
@media(max-width:600px){
  .entry-page{ padding:44px 16px !important; }
  .entry-page .ep-head{ margin-bottom:30px; }
  .ep-methods,.ep-flow{ gap:16px; }
  .ep-card{ padding:26px 22px; }
  .ep-flow li{ padding:24px 22px; }
  .ep-form{
    grid-template-columns:1fr !important;
    gap:16px !important;
    padding:24px 18px !important;
    border-radius:18px;
  }
  .ep-form label{ font-size:.9rem; }
  .ep-form input,.ep-form select,.ep-form textarea{ width:100%; box-sizing:border-box; }
  .ep-submit{ width:100%; min-width:0 !important; }
}
@media(max-width:430px){
  .entry-page{ padding:38px 14px !important; }
  .ep-card h3{ font-size:1.12rem; }
  .ep-card p{ font-size:.9rem; }
  .ep-flow h3{ font-size:1.1rem; }
  .ep-form{ padding:22px 15px !important; }
}


/* ============================================================================
   7) interview-1〜7.html / about.html / privacy.html（interview-about）
   ============================================================================ */

/* ---- 共通：サブページ section の縦余白を縮める ---- */
@media(max-width:600px){
  .subpage section{ padding-top:56px !important; padding-bottom:56px !important; padding-left:20px !important; padding-right:20px !important; }
  .subpage .subhero{ padding:104px 20px 20px !important; }
  .crumbs{ font-size:.78rem; margin-top:14px; }
}
@media(max-width:430px){
  .subpage section{ padding-top:44px !important; padding-bottom:44px !important; padding-left:16px !important; padding-right:16px !important; }
  .subpage .subhero{ padding:96px 16px 16px !important; }
  .subhero-lead{ line-height:1.85; }
}

/* ---- interview-1〜7.html ---- */
@media(max-width:600px){
  .iv-meta{ margin-top:24px !important; padding:0 18px 8px; }
  .iv-role{ font-size:.94rem; letter-spacing:.06em; }
  .iv-name{ font-size:clamp(1.5rem,6.5vw,1.9rem); }

  .iv-photo{ margin:18px auto !important; padding:0 18px; }
  .iv-photo img{ width:100%; max-width:100%; border-radius:20px; }

  .iv-body{ padding:4px 18px 8px !important; }
  .iv-qa{ margin-bottom:26px; }
  .iv-q{ font-size:1.02rem; padding-left:30px; line-height:1.6; }
  .iv-q::before{ width:23px; height:23px; font-size:.82rem; top:0; }
  .iv-a{ font-size:.96rem; line-height:1.9; }
}
@media(max-width:430px){
  .iv-meta{ margin-top:18px !important; padding:0 14px 6px; }
  .iv-name{ font-size:clamp(1.4rem,7.5vw,1.7rem); }
  .iv-photo{ margin:14px auto !important; padding:0 14px; }
  .iv-photo img{ border-radius:16px; }
  .iv-body{ padding:2px 14px 6px !important; }
  .iv-qa{ margin-bottom:22px; }
  .iv-q{ font-size:.98rem; padding-left:28px; }
  .iv-q::before{ width:21px; height:21px; font-size:.78rem; }
  .iv-a{ font-size:.94rem; line-height:1.85; }
}

/* ---- about.html（理念・哲学・代表メッセージ） ---- */
@media(max-width:600px){
  .about{ max-width:100%; }
  .about-vision{ font-size:clamp(1.3rem,6vw,1.7rem); margin-bottom:16px; }
  .about-text{ font-size:.96rem; line-height:1.95; margin-bottom:28px; }

  .happy{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .happy li{ padding:18px 8px; font-size:.92rem; }
  .happy li span{ font-size:.72rem; letter-spacing:.08em; margin-bottom:5px; }

  .value-list{ gap:8px; margin-top:20px; }
  .value-list li{ font-size:.88rem; padding:.5em 1.1em; }

  .message{ gap:20px; }
  .message-photo{ max-width:340px; }
  .message-photo img,.message-photo.ph{ border-radius:24px 56px 24px 24px; }
  .message-body p{ font-size:.96rem; margin-bottom:12px; }
  .message-name{ font-size:.95rem; }
}
@media(max-width:430px){
  .about-vision{ font-size:clamp(1.2rem,7vw,1.5rem); }
  .about-text{ font-size:.94rem; line-height:1.9; }
  .happy{ gap:8px; }
  .happy li{ padding:15px 6px; font-size:.88rem; }
  .happy li span{ font-size:.66rem; }
  .value-list li{ font-size:.84rem; padding:.48em 1em; }
  .message-photo{ max-width:280px; }
  .message-photo img,.message-photo.ph{ border-radius:20px 44px 20px 20px; }
  .message-body p{ font-size:.94rem; }
}

/* ---- privacy.html  本文の読みやすさ・余白 ---- */
@media(max-width:600px){
  .legal{ max-width:100%; padding-top:20px !important; padding-bottom:0 !important; }
  .legal h2{ font-size:1.04rem; margin:22px 0 6px; }
  .legal p{ font-size:.94rem; line-height:1.9; }
  .legal-note{ font-size:.8rem; margin-top:24px; }
  .subpage .legal{ max-width:100% !important; }
}
@media(max-width:430px){
  .legal{ padding-top:16px !important; }
  .legal h2{ font-size:1rem; margin:20px 0 6px; }
  .legal p{ font-size:.92rem; line-height:1.85; }
  .legal-note{ font-size:.78rem; }
}
/* ===== Responsive end ===== */

/* v231: モバイル ヒーロー＆#sites 調整（全て max-width:860px 以下＝デスクトップ不変） */

/* --- 課題A(改): ヒーロー写真(.fk-clip) — 下端フェードは廃止（くっきり縁に戻す）
   ＋写真を下げて上下の装飾ブロブの中間あたりへ。
   白ギャップは狭幅(≤430)で大きいので、狭いほど大きく下げる。 */
@media(max-width:860px){
  .fk .fk-clip{
    top:14% !important;
    -webkit-mask:none !important;
            mask:none !important;
  }
}
@media(max-width:600px){ .fk .fk-clip{ top:16% !important; } }
@media(max-width:430px){ .fk .fk-clip{ top:28% !important; } }

/* --- 課題B: ヒーローのキャッチ(.fk-title) を右寄せ＝右側の白余白に乗せる（位置と揃えのみ） --- */
@media(max-width:860px){
  .fk .fk-title{
    left:auto !important;
    right:clamp(12px,4vw,40px) !important;
    top:auto !important;
    bottom:calc(96px + env(safe-area-inset-bottom,0px)) !important;
    width:min(78vw,360px) !important;
    max-width:calc(100vw - 24px) !important;
    margin-left:auto !important;
    margin-right:0 !important;
    text-align:right !important;
    padding-left:0 !important;
    padding-right:clamp(2px,1.5vw,10px) !important;
  }
}
@media(max-width:430px){
  .fk .fk-title{
    right:clamp(10px,3.5vw,22px) !important;
    width:min(82vw,300px) !important;
    bottom:calc(92px + env(safe-area-inset-bottom,0px)) !important;
  }
}

/* --- 課題C: #sites 背後イラスト(.sitesbg)をセクション先頭から出す（上部の地色帯を消す） --- */
@media(max-width:860px){
  #sites.sites{
    padding-top:0 !important;
    padding-bottom:48px !important;
  }
  #sites.sites .sites-panel{
    margin-top:0 !important;
    padding-top:clamp(40px,9vw,60px) !important;
  }
  #sites .sites .sitesbg,
  #sites.sites .sitesbg{
    top:-6% !important;
    height:clamp(560px,150vw,860px) !important;
    width:auto !important;
    aspect-ratio:600.594 / 684.359 !important;
    max-width:130vw !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    overflow:visible !important;
  }
}
@media(max-width:430px){
  #sites .sites .sitesbg,
  #sites.sites .sitesbg{
    top:-8% !important;
    height:clamp(520px,165vw,760px) !important;
  }
}
/* ===== v231 end ===== */

/* ============================================================================
   v307: index.html .workkc「働く環境」の文字見切れ修正（iPhone等スマホ）
   .wf-body の出現アニメ translateX(±72px) のリセット(.in)が、奇数/偶数の
   スライドルール(:nth-child)に詳細度で負け、wf-body が常時72px右にズレて
   overflow:hidden で右端が見切れていた。スマホでは横スライドを無効化する。
   ============================================================================ */
@media(max-width:860px){
  .js .workkc .wf-body.reveal,
  .js .workkc .wk-feat:nth-child(odd) .wf-body.reveal,
  .js .workkc .wk-feat:nth-child(even) .wf-body.reveal,
  .js .workkc .wf-body.reveal.in{ transform:none !important; }
  /* チェック項目の文字も詰めて確実に収める */
  .workkc .wf-checks li{ font-size:1rem !important; padding-left:34px !important; word-break:break-word; }
}

/* ============================================================
   SNS セクション（日々の様子｜2事業所 Instagram ＋ TikTok）
   参考 enrich-child-life.jp（Smash Balloon）の“プロフィール＋正方形グリッド”を、
   E-Createの配色で洒落たプロフィールカード風に再現。
   連携後は .ig-embed の中身を各ウィジェットの埋め込みコードに差し替えるだけ。
   ============================================================ */
#instagram.ig-sec{ background:#ffffff !important; position:relative; padding:78px 24px 84px; }
#instagram.ig-sec .sec-head{ text-align:center; margin-bottom:40px; }
.ig-cols{
  position:relative; z-index:1;
  max-width:980px; margin:0 auto;
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
@media(max-width:840px){ .ig-cols{ grid-template-columns:1fr; gap:16px; max-width:460px; } }

.ig-col{
  position:relative; overflow:hidden;
  background:#fff; border-radius:18px; padding:24px 22px 22px;
  box-shadow:0 12px 30px rgba(38,70,110,.09);
  border:1px solid #eef1f4;
  transition:transform .2s ease, box-shadow .2s ease;
}
.ig-col:hover{ transform:translateY(-4px); box-shadow:0 26px 56px rgba(38,70,110,.15); }
/* カード上部のブランドアクセントライン */
.ig-accent{ position:absolute; top:0; left:0; right:0; height:5px;
  background:linear-gradient(90deg,#f9ce34,#ee2a7b 55%,#6228d7); }
.is-tiktok .ig-accent{ background:linear-gradient(90deg,#25f4ee,#010101 50%,#fe2c55); }

/* プロフィールヘッダー（丸アバター＋名前＋@） */
.ig-head2{ display:flex; align-items:center; gap:13px; }
.ig-avatar{
  position:relative; overflow:hidden;
  width:54px; height:54px; flex:0 0 54px; border-radius:50%; color:#fff;
  display:grid; place-items:center;
  background:linear-gradient(45deg,#f9ce34 0%,#ee2a7b 52%,#6228d7 100%);
  box-shadow:0 6px 16px rgba(238,42,123,.28);
}
.is-tiktok .ig-avatar{ background:#010101; box-shadow:0 6px 16px rgba(0,0,0,.25); }
/* 各アカウントのプロフィール画像（assets/sns-*.jpg を置くと自動でアイコン表示。無い間はロゴにフォールバック） */
.ig-avatar-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.ig-id{ display:flex; flex-direction:column; line-height:1.3; min-width:0; }
.ig-brand{ font-family:"Zen Maru Gothic","Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:1.12rem; color:#1f4e74; letter-spacing:.01em; }
.ig-handle{ font-size:.9rem; color:#c13584; text-decoration:none; font-weight:700; word-break:break-all; }
.is-tiktok .ig-handle{ color:#fe2c55; }
.ig-handle:hover{ text-decoration:underline; }

.ig-bio{ margin:15px 2px 18px; font-size:.9rem; line-height:1.7; color:#5b6573; }

/* 正方形グリッド（フィードのプレビュー枠） */
.ig-embed{ position:relative; }
.ig-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:5px; border-radius:12px; overflow:hidden; }
.ig-grid span{ aspect-ratio:1/1; display:block; }
.ig-ph span{ background:linear-gradient(135deg,rgba(249,206,52,.20),rgba(238,42,123,.14) 55%,rgba(98,40,215,.18)); }
.is-tiktok .tk-ph span{ background:linear-gradient(135deg,rgba(37,244,238,.22),rgba(0,0,0,.06) 55%,rgba(254,44,85,.20)); }
.ig-ph-note{ margin:14px 4px 0; text-align:center; font-size:.78rem; line-height:1.6; color:#9aa3af; }
/* プレースホルダのグリッドを押すとアカウントに飛ぶ（フィード表示前の暫定リンク） */
.ig-ph-link{ display:block; text-decoration:none; }
.ig-ph-link .ig-grid{ transition:filter .2s ease; }
.ig-ph-link:hover .ig-grid{ filter:brightness(1.05) saturate(1.1); }
/* 連携でiframeが入ったらプレースホルダ（リンク・注記）は自動で隠す */
.ig-embed:has(iframe) .ig-ph-note, .ig-embed:has(iframe) .ig-ph-link{ display:none; }

/* フォローボタン（ブランド色のフラット） */
.ig-follow{
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; margin-top:20px; padding:13px 18px; border-radius:11px;
  background:linear-gradient(45deg,#f9ce34 0%,#ee2a7b 52%,#6228d7 100%);
  color:#fff; font-weight:700; font-size:.96rem; text-decoration:none; letter-spacing:.02em;
  transition:transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.ig-follow:hover{ filter:brightness(1.05); transform:translateY(-1px); box-shadow:0 10px 22px rgba(238,42,123,.28); }

/* TikTok カードのフォローボタン（黒基調） */
.is-tiktok .tk-follow{ background:#010101; }
.is-tiktok .tk-follow:hover{ filter:none; background:#1c1c1c; box-shadow:0 10px 22px rgba(0,0,0,.28); }

/* ============================================================================
   v309: 全面写真ヒーロー（旧 .fk ブロブヒーローを置き換え／index.html のみ）
   全面写真＋左にタグライン重ね＋下端を白い波形で次セクション(白)へ連結
   ============================================================================ */
.phero{
  position:relative; width:100%;
  min-height:clamp(460px,84vh,780px);
  display:flex; align-items:center;
  overflow:hidden; background:#d6e6da; isolation:isolate;
}
/* 3枚スライド・カルーセル（クロスフェード） */
.phero .phero-slides{ position:absolute; inset:0; z-index:0; }
.phero .phero-slide{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center 42%;
  opacity:0; transition:opacity 1.2s ease;
}
.phero .phero-slide.is-active{ opacity:1; }
/* スライドインジケーター（ドット） */
.phero .phero-dots{
  position:absolute; left:0; right:0; z-index:4;
  bottom:clamp(64px,8vw,116px);
  display:flex; gap:11px; justify-content:center;
}
.phero .phero-dot{
  width:9px; height:9px; border-radius:50%;
  background:rgba(255,255,255,.55); box-shadow:0 1px 5px rgba(0,0,0,.35);
  transition:background .3s, transform .3s;
}
.phero .phero-dot.is-active{ background:#fff; transform:scale(1.18); }
/* 旧 .phero-img 互換（残っていても効くよう） */
.phero .phero-img{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center 42%;
}
/* 可読性スクリム：薄め。タグライン側の text-shadow で可読性を担保し、写真の明るさを活かす */
.phero::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(18,38,28,.18) 0%, rgba(18,38,28,0) 14%),
    linear-gradient(90deg, rgba(18,38,28,.28) 0%, rgba(18,38,28,.07) 34%, rgba(18,38,28,0) 54%);
}
.phero .phero-inner{
  position:relative; z-index:2; width:100%;
  max-width:1240px; margin:0 auto;
  padding:0 clamp(24px,6vw,76px);
}
.phero .phero-copy{ max-width:600px; position:relative; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
/* タグラインを左上に寄せる（全スライド共通の位置）。上が詰まらないよう少し下げ＆やや左 */
@media(min-width:861px){ .phero .phero-copy{ transform:translate(-34px,-10vh); } }
.phero .phero-en{
  margin:0 0 16px; color:#fff;
  font-family:var(--maru),sans-serif; font-weight:700;
  letter-spacing:.34em; font-size:clamp(.7rem,1vw,.8rem);
  text-shadow:0 2px 10px rgba(0,0,0,.3);
}
.phero .phero-title{
  margin:0; color:#fff;
  /* 参考サイト風：やわらかい丸ゴシック・やや軽め・広めの字間・ほんのり光彩 */
  font-family:"Zen Maru Gothic",var(--maru),sans-serif; font-weight:700;
  font-size:clamp(2.05rem,5.1vw,3.85rem);
  line-height:1.62; letter-spacing:.1em;
  text-shadow:0 0 24px rgba(255,255,255,.38), 0 4px 22px rgba(0,0,0,.32), 0 1px 4px rgba(0,0,0,.3);
  transition:color .9s ease, text-shadow .9s ease;
}
.phero .phero-title span{ display:block; }
/* 文字色は参考サイトに合わせて全部白（オレンジのアクセントは外す） */
.phero .phero-title .po{ color:#ffffff; display:inline; }
/* 明るい写真のスライド（部屋）では文字を紺色に＋白いにじみで可読性確保 */
.phero.hero-text-dark .phero-title,
.phero.hero-text-dark .phero-title .po{ color:#163a66; }
.phero.hero-text-dark .phero-title{ text-shadow:0 0 20px rgba(255,255,255,.7), 0 2px 8px rgba(255,255,255,.55), 0 1px 3px rgba(0,0,0,.12); }
.phero .phero-lead{
  margin:24px 0 0; color:#fff; font-weight:500;
  font-size:clamp(.92rem,1.35vw,1.06rem); line-height:1.95; max-width:30em;
  text-shadow:0 2px 12px rgba(0,0,0,.42);
}
.phero .phero-wave{
  position:absolute; left:0; right:0; bottom:-1px; z-index:3;
  width:100%; height:clamp(44px,6vw,96px); display:block;
}

/* ヘッダーは白帯(.96)で常時表示のため、ロゴ/ナビは既定の濃色のままで読める。
   （白ロゴ化はしない＝白地に白で消えるため） */

@media(max-width:860px){
  .phero{ min-height:clamp(420px,66vh,560px); }
  .phero .phero-inner{ padding:0 22px; }
  .phero .phero-copy{ max-width:none; }
}
@media(max-width:600px){
  /* 文字を上部に寄せる（実機で下寄せすぎ→上へ。子どもの上に来るように）。
     グローバルの section{padding!important} を上回るため !important で指定。ヘッダー(78px)分は確保 */
  .phero{ align-items:flex-start; padding-top:clamp(106px,27vw,140px) !important; padding-bottom:0 !important; min-height:64vh; }
  .phero .phero-img, .phero .phero-slide{ object-position:center 36%; }
  .phero .phero-dots{ bottom:clamp(26px,8vw,44px); top:auto; }
  /* 中央寄せの文字（左側）に合わせて、上＋左を少し暗くするスクリムへ */
  .phero::before{
    background:
      linear-gradient(180deg, rgba(18,38,28,.30) 0%, rgba(18,38,28,0) 18%),
      linear-gradient(90deg, rgba(18,38,28,.42) 0%, rgba(18,38,28,.12) 46%, rgba(18,38,28,0) 72%);
  }
  .phero .phero-title{ font-size:clamp(2rem,8.4vw,2.9rem); line-height:1.4; }
  .phero .phero-lead{ font-size:.9rem; line-height:1.85; }
}
/* ===== v309 end ===== */

/* ============================================================================
   v-header: ヘッダーを「日本語(小)＋英語(大)」2段ナビ＋電話番号表示に（NewGate風）
   ============================================================================ */
/* --- ナビ2段（デスクトップ） --- */
@media(min-width:861px){
  .gnav{ gap:18px !important; align-items:center; }
  .gnav a{ display:flex !important; flex-direction:column; align-items:center; gap:2px; padding:4px 2px !important; line-height:1.08; }
  .gnav .nav-ja{ font-size:.6rem; letter-spacing:.02em; color:#7a828c; font-weight:600; }
  .gnav .nav-en{ font-size:.95rem; font-weight:700; letter-spacing:.07em; color:var(--ink); font-family:"Outfit",var(--maru),sans-serif; }
  .gnav a:hover .nav-en, .gnav a.current .nav-en{ color:var(--green-d); }
}
/* --- 電話番号ブロック（デスクトップ） --- */
.header-tel{ display:flex; align-items:center; gap:9px; margin-left:16px; text-decoration:none; white-space:nowrap; color:var(--green-d); }
.header-tel .htel-ico{ flex:0 0 auto; width:30px; height:30px; display:grid; place-items:center; border:1.6px solid currentColor; border-radius:50%; }
.header-tel .htel-ico svg{ width:16px; height:16px; }
.header-tel .htel-text{ display:flex; flex-direction:column; line-height:1.12; }
.header-tel .htel-label{ font-size:.56rem; letter-spacing:.02em; color:#7a828c; }
.header-tel .htel-num{ font-size:1.14rem; font-weight:800; letter-spacing:.01em; color:#243447; font-family:"Outfit",var(--maru),sans-serif; }
.header-tel:hover .htel-num{ color:var(--green-d); }
/* 中間幅(861〜1080)は詰める */
@media(min-width:861px) and (max-width:1080px){
  .gnav{ gap:12px !important; }
  .gnav .nav-en{ font-size:.84rem; letter-spacing:.03em; }
  .header-tel{ margin-left:10px; }
  .header-tel .htel-num{ font-size:.98rem; }
  .header-tel .htel-label{ font-size:.5rem; }
  .header-tel .htel-ico{ width:26px; height:26px; }
}
/* --- モバイル：電話はヘッダーで隠す／ドロワー内ナビは 日本語(主)＋英語(小) --- */
@media(max-width:860px){
  .header-tel{ display:none !important; }
  .gnav .nav-ja{ font-size:1.06rem; font-weight:700; color:inherit; }
  .gnav .nav-en{ font-size:.68rem; font-weight:700; letter-spacing:.08em; color:#9aa3af; margin-left:10px; }
}
/* ===== v-header end ===== */

/* ============================================================================
   v-header2: 参考(NewGate)に寄せる — 英語ナビ＆電話番号を明朝(セリフ)体、
   右端を「お問い合わせはこちら／24時間受付中」オレンジ全高ボタンに
   ============================================================================ */
@media(min-width:861px){
  .gnav .nav-en{ font-family:"Shippori Mincho",serif !important; font-weight:600 !important; letter-spacing:.08em; }
}
.header-tel .htel-num{ font-family:"Shippori Mincho",serif !important; font-weight:700 !important; letter-spacing:.02em; color:#243447; }
.header-tel .htel-label{ font-family:var(--maru),sans-serif; }

/* お問い合わせボタン（右端・丸いピル型・オレンジ・2行） */
.site-header .header-entry.header-contact{
  align-self:center !important;          /* 全高stretchを解除して中央配置 */
  height:auto !important;
  border-radius:999px !important;        /* 丸いピル型 */
  margin:0 clamp(14px,2vw,28px) 0 6px !important;
  padding:.55em 1.8em !important;
  background:linear-gradient(135deg,#ff9f40,#ff8412) !important;
  color:#fff !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  gap:1px !important;
  line-height:1.2 !important;
  text-align:center !important;
  letter-spacing:.02em !important;
  box-shadow:0 6px 16px rgba(255,131,18,.34) !important;
}
.site-header .header-entry.header-contact::after{ content:none !important; }
.site-header .header-entry.header-contact:hover{ filter:brightness(1.05); }
.header-contact .hc-main{ font-size:.96rem; font-weight:800; }
.header-contact .hc-sub{ font-size:.6rem; font-weight:600; opacity:.95; letter-spacing:.05em; }
/* モバイル：1行コンパクト（サブ非表示） */
@media(max-width:860px){
  .site-header .header-entry.header-contact{ flex-direction:row !important; gap:0 !important; }
  .header-contact .hc-sub{ display:none !important; }
  .header-contact .hc-main{ font-size:.76rem; }
}
/* ===== v-header2 end ===== */

/* ============================================================================
   v-header3: お問い合わせ＝右上の「完全な丸」バッジ（参考NewGate準拠）
   ============================================================================ */
/* デスクトップ：ヘッダー右に丸バッジ分の余白を確保 */
@media(min-width:861px){
  .site-header{ padding-right:clamp(150px,12vw,178px) !important; }
}
/* 丸バッジ本体（ヘッダー右上に固定・はみ出して浮く） */
.site-header .contact-badge{
  position:absolute; top:6px; right:22px; z-index:70;
  width:132px; height:132px; border-radius:50%;
  background:linear-gradient(158deg,#ffab4d 0%,#ff8a1e 58%,#ff7d0c 100%);
  color:#fff !important; text-decoration:none;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; line-height:1.34;
  box-shadow:0 10px 24px rgba(255,131,18,.42);
  font-family:var(--maru),sans-serif;
  transition:transform .2s ease, box-shadow .2s ease;
}
.site-header .contact-badge:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(255,131,18,.5); }
.contact-badge .cb-main{ font-size:.96rem; font-weight:800; letter-spacing:.02em; }
.contact-badge .cb-sub{ font-size:.62rem; font-weight:600; margin-top:5px; opacity:.96; letter-spacing:.04em; }
/* モバイルでは丸バッジは隠す（ヘッダーが窮屈・ハンバーガーと干渉するため） */
@media(max-width:860px){
  .site-header .contact-badge{ display:none !important; }
  .site-header{ padding-right:0 !important; }
}
/* ===== v-header3 end ===== */

/* ============================================================================
   v-header4: 参考NewGateのフォントに合わせる（EB Garamond＋Noto Serif JP）
   ＋お問い合わせの丸を「青・発光を抑えた控えめな影・明朝」に
   ============================================================================ */
@media(min-width:861px){
  .gnav .nav-en{ font-family:"EB Garamond","Georgia","Noto Serif JP",serif !important; font-weight:600 !important; letter-spacing:.05em; }
}
.header-tel .htel-num{ font-family:"EB Garamond","Georgia","Noto Serif JP",serif !important; font-weight:600 !important; }
.header-tel .htel-label{ font-family:"Noto Serif JP",serif !important; }
/* お問い合わせバッジ：青・控えめな影・明朝(セリフ) */
.site-header .contact-badge{
  background:linear-gradient(158deg,#46b1ef 0%,#2492da 60%,#1f86d2 100%) !important;
  box-shadow:0 6px 16px rgba(20,45,80,.18) !important;
  font-family:"Noto Serif JP",serif !important;
}
.site-header .contact-badge:hover{ box-shadow:0 9px 20px rgba(20,45,80,.26) !important; }
.contact-badge .cb-main{ font-weight:700 !important; }
.contact-badge .cb-sub{ font-weight:500 !important; }
/* ===== v-header4 end ===== */

/* お問い合わせはナビ(CONTACT)へ移したので、右上の丸バッジは非表示にしてLINEに置き換える */
.site-header .contact-badge{ display:none !important; }
/* 右側のクリアランスは既存の padding-right:clamp(150px,12vw,178px) がそのまま流用される（旧バッジと同サイズ・同位置のため） */

/* ===== LINE友だち追加 追従ボタン（旧お問い合わせバッジの位置／青円・黒文字・参考サイトと同じレイアウト）｜hrefは公式LINE友だち追加URLに差し替え予定 ===== */
/* 旧お問い合わせバッジ（右上・全幅ヘッダー）とほぼ同じ位置。円は少し大きめ・文字は小さめ */
.line-fab{
  position:fixed; top:4px; right:22px; z-index:71;
  width:144px; height:144px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  background:#06c755; /* LINE公式ブランドグリーン */
  color:#111; text-decoration:none; text-align:center; line-height:1.25;
  box-shadow:0 6px 16px rgba(90,120,30,.3);
  font-family:var(--maru),"Zen Kaku Gothic New",sans-serif;
  transition:transform .2s ease, box-shadow .2s ease;
}
.line-fab:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(90,120,30,.4); }
.line-fab .lf-logo svg{ width:40px; height:auto; display:block; }
.line-fab .lf-main{ font-weight:800; font-size:.82rem; letter-spacing:.02em; color:#fff; margin-top:1px; }
.line-fab .lf-divider{ width:28px; height:1px; background:rgba(255,255,255,.6); }
.line-fab .lf-sub{ font-weight:600; font-size:.56rem; color:#fff; opacity:.92; letter-spacing:.02em; }
/* 大きめ円ぶん右側クリアランスを広げる（旧バッジ用ルールを上書き） */
@media(min-width:861px){ .site-header{ padding-right:clamp(170px,12.8vw,192px) !important; } }
@media(max-width:860px){
  /* スマホでは右下（TOPボタン・下部CTAバーの上）に小さく表示 */
  .line-fab{ top:auto; bottom:84px; right:14px; left:auto; width:74px; height:74px; gap:0; }
  .line-fab .lf-logo svg{ width:30px; height:auto; }
  .line-fab .lf-main{ font-size:.55rem; }
  .line-fab .lf-divider{ display:none; }
  .line-fab .lf-sub{ display:none; }
}

/* ============================================================
   WordPress版 追加スタイル
   （お知らせ詳細・一覧 / ページネーション）
   ============================================================ */
.news-single{max-width:760px;margin:0 auto;padding:48px 22px 64px}
.news-single-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.news-single-head time{font-weight:700;color:var(--green-d)}
.news-single-head .cat{background:var(--green-l);color:var(--green-d);font-size:.78rem;font-weight:700;padding:3px 12px;border-radius:999px}
.news-single-title{font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.55;margin:0 0 26px}
.news-single-body{line-height:1.95}
.news-single-body p{margin:0 0 1.2em}
.news-single-body img{max-width:100%;height:auto;border-radius:10px}
.news-single .sec-more{margin-top:36px}

.news-archive{max-width:880px;margin:0 auto;padding:40px 22px 70px}

/* ページネーション */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px;flex-wrap:wrap}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border-radius:10px;background:#fff;border:1px solid var(--green-l);color:var(--green-d);font-weight:700;text-decoration:none}
.pagination .page-numbers.current{background:var(--green);border-color:var(--green);color:#fff}
.pagination a.page-numbers:hover{background:var(--green-l)}

/* ===== 2つの事業所ページ（/sites/）=====
   静的サイトでは sites.html の <style> に直接書かれていたもの。
   テーマ化のときに移植漏れしていたため、ここに統合した。 */
/* 事業所ブロック全体を白いカードで囲んで区切る */
.branch-block{max-width:1060px;margin:60px auto 0;background:#fff;border-radius:26px;
  padding:54px 56px 58px;box-shadow:0 26px 64px -36px rgba(31,80,40,.55)}

/* 詳細ブロック：左テキスト＋右写真 */
.branch-main{display:grid;grid-template-columns:1fr 1.04fr;gap:46px;align-items:start}
.branch-name{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.bn-brand{display:inline-block;font-size:13px;font-weight:700;color:#fff;background:#5fa83a;border-radius:999px;padding:5px 14px;letter-spacing:.03em}
.branch-name h2{font-family:"Shippori Mincho",serif;font-size:31px;line-height:1.25;margin:0;color:#2c382a}
.branch-area{margin:16px 0 24px;color:#5fa83a;font-weight:700;font-size:14px;letter-spacing:.05em}
/* 事業所ごとのアクセントカラー（Stack up＝オレンジ／RIMOA＝ブルー） */
#stackup .bn-brand{background:#ef9b34;box-shadow:0 4px 10px -5px rgba(239,155,52,.85)}
#stackup .branch-area{color:#e08a25}
#rimoa .bn-brand{background:#2fa6e0;box-shadow:0 4px 10px -5px rgba(47,166,224,.85)}
#rimoa .branch-area{color:#2b8fd6}
.branch-text p{line-height:2.05;color:#3a463a;margin:0 0 18px;font-size:15.5px}
.branch-text p:last-child{margin-bottom:0}
.branch-photo{border-radius:16px;overflow:hidden;box-shadow:0 18px 40px -22px rgba(31,80,40,.5)}
.branch-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}

/* Access：見出し＋地図＋住所表 */
.branch-access{margin-top:48px}
.ba-head{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid #e2e8df;padding-bottom:12px;margin-bottom:26px}
.ba-en{font-family:"EB Garamond",serif;font-size:27px;font-weight:600;color:#2c382a;letter-spacing:.02em}
.ba-name{font-size:14.5px;color:#6a766a}
.ba-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:30px;align-items:stretch}
.ba-map{border-radius:14px;overflow:hidden;box-shadow:0 14px 30px -20px rgba(31,80,40,.45);min-height:330px}
.ba-map iframe{width:100%;height:100%;min-height:330px;border:0;display:block}
.ba-table{width:100%;border-collapse:collapse;font-size:15px;align-self:center}
.ba-table th,.ba-table td{text-align:left;vertical-align:top;padding:13px 2px;border-bottom:1px solid #eef1ec;color:#2f3b2f}
.ba-table tr:last-child th,.ba-table tr:last-child td{border-bottom:0}
.ba-table th{width:5em;white-space:nowrap;color:#2b2b2b;font-weight:700}
.ba-table td a{color:#2b8fd6;text-decoration:none;font-weight:600}
.ba-table td a:hover{text-decoration:underline}

@media (max-width:820px){
  .branch-block{margin-top:36px;padding:34px 22px 38px;border-radius:20px}
  .branch-main{grid-template-columns:1fr;gap:26px}
  .branch-name h2{font-size:26px}
  .branch-access{margin-top:36px}
  .ba-grid{grid-template-columns:1fr;gap:18px}
  .ba-map,.ba-map iframe{min-height:260px}
  .ba-map iframe{height:260px}
}

/* ===== Contact Form 7（応募フォーム）をテーマのデザインに合わせる =====
   .ep-form は2カラムのグリッド。CF7が差し込む要素はグリッドの直下に来るため、
   全幅指定しないとレイアウトが崩れる。 */
.ep-form .screen-reader-response,
.ep-form .wpcf7-response-output,
.ep-form .wpcf7-spinner{grid-column:1 / -1}
.ep-form .wpcf7-form-control-wrap{display:block}
.ep-form input,.ep-form select,.ep-form textarea{width:100%;box-sizing:border-box}
/* 入力欄のエラー表示 */
.ep-form .wpcf7-not-valid-tip{font-weight:400;font-size:.8rem;color:#e03131;margin-top:5px}
.ep-form .wpcf7-not-valid{border-color:#e03131;background:#fff6f6}
/* 送信結果メッセージ */
.ep-form .wpcf7-response-output{grid-column:1 / -1;margin:4px 0 0;padding:14px 16px;border-radius:12px;font-size:.88rem;line-height:1.7}
.ep-form form.sent .wpcf7-response-output{border-color:var(--green,#4caf50);background:#f2fbf4}
.ep-form form.invalid .wpcf7-response-output,
.ep-form form.failed .wpcf7-response-output{border-color:#e03131;background:#fff6f6}
/* 送信中のスピナー位置 */
.ep-form .wpcf7-spinner{justify-self:center}
/* CF7のsubmitは <input type="submit"> なのでボタン幅の指定を合わせる */
.ep-form input.ep-submit{width:auto;min-width:280px}
@media(max-width:640px){.ep-form input.ep-submit{width:100%;min-width:0}}
