/* =========================================================
   一期いち恵 トップページ プレビュー
   LP制作ノウハウ適用（WP/Lightning/Gutenbergへ移植前の確認用）
   - 図地コントラスト：cream / white / dark band を交互
   - 既存ブランド踏襲：游明朝（見出し）＋ #D5BD9E / #FBF6ED / #222
   - 軽量SVG装飾：暖色ブロブ・ドットパターン・有機波形の境界
   - 数値はテキスト＋装飾はSVG（オーバーレイ）
   ========================================================= */
:root{
  --cream:#FBF6ED;
  --white:#ffffff;
  --dark:#222222;
  --dark2:#2c2722;
  --gold:#D5BD9E;
  --gold-deep:#b89a6e;
  --ink:#333333;
  --ink-strong:#1d1a16;
  --muted:#6b6257;
  --serif:"游明朝","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;
  --sans:"Hiragino Kaku Gothic ProN","Noto Sans JP",system-ui,-apple-system,sans-serif;
  --maxw:1100px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.9;font-size:16px;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:24px;}
.serif{font-family:var(--serif);}
.en{font-family:var(--serif);letter-spacing:.18em;color:var(--gold-deep);font-size:.82rem;font-weight:500;display:block;}

/* ---- 見出し ---- */
.sec-head{text-align:center;margin-bottom:48px;}
.sec-head .en{margin-bottom:10px;}
.sec-head h2{font-family:var(--serif);font-size:clamp(1.7rem,4.2vw,2.5rem);font-weight:700;letter-spacing:.04em;color:var(--ink-strong);}
.sec-head .sub{margin-top:14px;color:var(--muted);font-size:.95rem;}

/* ---- ボタン ---- */
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--serif);font-size:1rem;letter-spacing:.06em;padding:16px 34px;border-radius:999px;transition:.25s;border:1.5px solid transparent;cursor:pointer;}
.btn .arw{transition:.25s;}
.btn:hover .arw{transform:translateX(4px);}
.btn--gold{background:var(--gold);color:var(--ink-strong);box-shadow:0 8px 20px -8px rgba(184,154,110,.7);}
.btn--gold:hover{background:var(--gold-deep);color:#fff;}
.btn--outline{border-color:var(--gold);color:var(--ink-strong);background:transparent;}
.btn--outline:hover{background:var(--gold);}
.btn--light{background:#fff;color:var(--ink-strong);}
.btn--light:hover{background:var(--gold);}
.btn--ghost{border-color:rgba(255,255,255,.6);color:#fff;}
.btn--ghost:hover{background:rgba(255,255,255,.12);}

/* =========================================================
   ヘッダー
   ========================================================= */
header.site{position:sticky;top:0;z-index:50;background:rgba(251,246,237,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.06);}
.site-inner{display:flex;align-items:center;justify-content:space-between;height:72px;}
.site-inner .logo img{height:34px;}
nav.gnav ul{display:flex;gap:30px;list-style:none;align-items:center;}
nav.gnav a{font-size:.92rem;letter-spacing:.04em;position:relative;padding:6px 0;}
nav.gnav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--gold);transition:.25s;}
nav.gnav a:hover::after{width:100%;}
nav.gnav .nav-cta{background:var(--dark);color:#fff;padding:9px 20px;border-radius:999px;}
nav.gnav .nav-cta:hover{background:var(--gold-deep);}
nav.gnav .nav-cta::after{display:none;}

/* =========================================================
   FV（キービジュアル）：実写主役 + 濃オーバーレイ + ブロブ
   ========================================================= */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;color:#fff;}
.hero__bg{position:absolute;inset:0;z-index:0;}
.hero__bg img{width:100%;height:100%;object-fit:cover;}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(28,24,18,.78) 0%,rgba(34,30,24,.45) 55%,rgba(34,30,24,.15) 100%);}
.hero__inner{position:relative;z-index:2;width:100%;}
.hero .en{color:var(--gold);margin-bottom:18px;}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(2.2rem,6.5vw,4.2rem);line-height:1.35;letter-spacing:.06em;text-shadow:0 2px 24px rgba(0,0,0,.35);}
.hero h1 .accent{color:var(--gold);}
.hero p.lead{margin-top:22px;font-size:clamp(1rem,2.4vw,1.18rem);max-width:30em;text-shadow:0 1px 12px rgba(0,0,0,.4);}
.hero__cta{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap;}
/* 暖色ブロブ（隅に置いて動きを出す・装飾SVG） */
.blob{position:absolute;z-index:1;pointer-events:none;opacity:.9;}
.hero .blob--1{width:340px;right:-70px;bottom:-90px;opacity:.5;}

/* 有機波形の境界（SVG, ベクター・常時シャープ） */
.wave{display:block;width:100%;height:70px;line-height:0;}
.wave svg{display:block;width:100%;height:100%;}

/* =========================================================
   私たちの事業（3サービス）：cream地 + 白パネルカード
   ========================================================= */
.services{position:relative;background:var(--cream);padding:90px 0 100px;overflow:hidden;}
.dots{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;}
.services .wrap{position:relative;z-index:2;}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.svc-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px -24px rgba(60,45,25,.35);transition:.3s;display:flex;flex-direction:column;}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -22px rgba(60,45,25,.45);}
.svc-card__media{aspect-ratio:4/3;overflow:hidden;}
.svc-card__media img{width:100%;height:100%;object-fit:cover;transition:.5s;}
.svc-card:hover .svc-card__media img{transform:scale(1.06);}
.svc-card__body{padding:26px 24px 30px;flex:1;display:flex;flex-direction:column;}
.svc-card__no{font-family:var(--serif);color:var(--gold-deep);letter-spacing:.1em;font-size:.8rem;}
.svc-card__title{font-family:var(--serif);font-size:1.28rem;font-weight:700;margin:6px 0 10px;color:var(--ink-strong);}
.svc-card__sub{font-size:.85rem;color:var(--gold-deep);margin-bottom:12px;font-weight:600;}
.svc-card__desc{font-size:.9rem;color:var(--muted);line-height:1.85;}

/* =========================================================
   選ばれる理由（強み）：濃バンド + 数値バッジ（オーバーレイ）
   ========================================================= */
.strength{position:relative;background:var(--dark2);color:#fff;padding:96px 0;overflow:hidden;}
.strength .sec-head h2{color:#fff;}
.strength .blob--2{width:420px;left:-120px;top:-80px;opacity:.12;}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;position:relative;z-index:2;}
.stat{display:grid;place-items:center;text-align:center;}
.stat__badge{position:relative;width:170px;height:170px;display:grid;place-items:center;}
.stat__badge svg{position:absolute;inset:0;width:100%;height:100%;}
.stat__num{position:relative;font-family:var(--serif);font-weight:700;line-height:1;color:#fff;font-size:clamp(2.2rem,5vw,3rem);}
.stat__num small{font-size:.42em;margin-left:.1em;color:var(--gold);}
.stat__label{margin-top:18px;font-family:var(--serif);font-size:1.15rem;letter-spacing:.04em;}
.stat__note{margin-top:6px;font-size:.82rem;color:rgba(255,255,255,.6);}

/* =========================================================
   採用バナー（求人主目的）：ベージュバンド + ブロブ + 2職種
   ========================================================= */
.recruit{position:relative;background:var(--gold);color:var(--ink-strong);padding:92px 0;overflow:hidden;}
.recruit .blob--3{width:480px;right:-140px;bottom:-160px;opacity:.5;mix-blend-mode:soft-light;}
.recruit .wrap{position:relative;z-index:2;}
.recruit__head{text-align:center;margin-bottom:42px;}
.recruit__head .en{color:#7d6740;}
.recruit__head h2{font-family:var(--serif);font-size:clamp(1.7rem,4.5vw,2.6rem);font-weight:700;letter-spacing:.04em;}
.recruit__head p{margin-top:16px;color:#5e4f38;}
.job-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:40px;}
.job{background:rgba(255,255,255,.85);border-radius:16px;padding:30px 30px;display:flex;flex-direction:column;gap:8px;box-shadow:0 16px 36px -24px rgba(90,60,20,.5);}
.job__tag{align-self:flex-start;font-family:var(--serif);font-size:.74rem;letter-spacing:.12em;background:var(--dark);color:#fff;padding:5px 14px;border-radius:999px;}
.job__title{font-family:var(--serif);font-size:1.4rem;font-weight:700;color:var(--ink-strong);}
.job__meta{font-size:.86rem;color:var(--muted);}
.recruit__cta{text-align:center;}

/* =========================================================
   会社概要 抜粋：cream + profile + テーブル
   ========================================================= */
.company{position:relative;background:var(--cream);padding:96px 0;overflow:hidden;}
.dots--light{opacity:.4;}
.company .wrap{position:relative;z-index:2;}
.company__grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:54px;align-items:center;}
.company__photo{position:relative;}
.company__photo img{border-radius:18px;box-shadow:0 24px 50px -26px rgba(60,45,25,.5);}
.company__photo .blob--4{width:200px;left:-50px;top:-50px;opacity:.7;z-index:-1;}
.company__photo .cap{margin-top:14px;text-align:center;font-family:var(--serif);}
.company__photo .cap b{font-size:1.1rem;color:var(--ink-strong);}
.company__photo .cap span{display:block;font-size:.78rem;color:var(--gold-deep);letter-spacing:.1em;}
.ctable{width:100%;border-collapse:collapse;font-size:.94rem;}
.ctable th,.ctable td{text-align:left;padding:16px 6px;border-bottom:1px solid rgba(0,0,0,.1);vertical-align:top;}
.ctable th{width:120px;font-family:var(--serif);color:var(--ink-strong);font-weight:700;letter-spacing:.06em;}
.ctable td{color:var(--muted);}
.company__more{margin-top:30px;}

/* =========================================================
   お問い合わせ動線：濃バンド + 2系統
   ========================================================= */
.contact{position:relative;background:var(--dark2);color:#fff;padding:96px 0;overflow:hidden;text-align:center;}
.contact .blob--5{width:380px;left:-110px;bottom:-130px;opacity:.1;}
.contact .wrap{position:relative;z-index:2;}
.contact .sec-head h2{color:#fff;}
.contact .lead{color:rgba(255,255,255,.75);max-width:34em;margin:0 auto 40px;}
.contact__split{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:760px;margin-inline:auto;}
.cbox{border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:36px 28px;transition:.3s;display:flex;flex-direction:column;align-items:center;gap:14px;}
.cbox:hover{background:rgba(255,255,255,.04);border-color:var(--gold);}
.cbox__ic{width:56px;height:56px;}
.cbox__t{font-family:var(--serif);font-size:1.3rem;font-weight:700;}
.cbox__d{font-size:.85rem;color:rgba(255,255,255,.6);}

/* =========================================================
   フッター
   ========================================================= */
footer.site{background:#1a1714;color:rgba(255,255,255,.65);padding:54px 0 30px;}
.foot-grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;}
.foot-grid .f-logo{font-family:var(--serif);font-size:1.3rem;color:#fff;letter-spacing:.08em;}
.foot-grid .f-tag{font-size:.78rem;letter-spacing:.1em;color:var(--gold);}
.foot-nav{display:flex;gap:22px;font-size:.86rem;flex-wrap:wrap;}
.foot-nav a:hover{color:var(--gold);}
.sns a{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;}
.sns svg{width:22px;height:22px;}
.copy{margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.74rem;text-align:center;color:rgba(255,255,255,.45);}

/* =========================================================
   レスポンシブ
   ========================================================= */
@media(max-width:880px){
  nav.gnav{display:none;}
  .svc-grid,.stat-grid,.job-grid,.contact__split{grid-template-columns:1fr;}
  .stat-grid{gap:44px;}
  .company__grid{grid-template-columns:1fr;gap:34px;}
  .company__photo{max-width:320px;margin-inline:auto;}
  .hero{min-height:78vh;}
}
.note{background:#1d1a16;color:#cdb79a;font-family:var(--sans);font-size:.8rem;text-align:center;padding:10px;letter-spacing:.04em;}

/* =========================================================
   下層ページ共通（採用詳細・お問い合わせ・会社概要）
   2026-06-12 追加：トップと同一トーンで下層展開
   ========================================================= */
/* サブページFV（トップより低い帯／cream地＋ゴールド見出し） */
.subhero{position:relative;background:var(--dark2);color:#fff;padding:92px 0 76px;overflow:hidden;text-align:center;}
.subhero .blob{width:360px;right:-100px;bottom:-120px;opacity:.14;}
.subhero .wrap{position:relative;z-index:2;}
.subhero .en{color:var(--gold);margin-bottom:12px;}
.subhero h1{font-family:var(--serif);font-weight:700;font-size:clamp(1.9rem,5vw,2.8rem);letter-spacing:.06em;}
.subhero p{margin-top:16px;color:rgba(255,255,255,.72);font-size:.95rem;}
/* パンくず */
.crumb{background:var(--cream);font-size:.78rem;color:var(--muted);padding:14px 0;border-bottom:1px solid rgba(0,0,0,.06);}
.crumb a:hover{color:var(--gold-deep);}
.crumb span{color:var(--gold-deep);}
/* セクション土台 */
.sec{padding:80px 0;position:relative;overflow:hidden;}
.sec--cream{background:var(--cream);}
.sec--white{background:#fff;}
.sec .wrap{position:relative;z-index:2;}
/* 白パネル */
.panel{background:#fff;border-radius:18px;box-shadow:0 18px 40px -26px rgba(60,45,25,.35);padding:34px 32px;}
.sec--cream .panel{background:#fff;}
/* 職種詳細ブロック */
.jobx{display:grid;grid-template-columns:auto 1fr;gap:0 26px;align-items:start;}
.jobx + .jobx{margin-top:26px;}
.jobx__no{font-family:var(--serif);font-size:2.2rem;font-weight:700;color:var(--gold);line-height:1;grid-row:span 2;}
.jobx__title{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--ink-strong);}
.jobx__tags{margin:10px 0 14px;display:flex;flex-wrap:wrap;gap:8px;grid-column:2;}
.tag{font-size:.76rem;letter-spacing:.04em;background:var(--cream);border:1px solid var(--gold);color:var(--gold-deep);padding:5px 13px;border-radius:999px;}
.jobx__desc{grid-column:2;font-size:.92rem;color:var(--muted);line-height:1.9;}
/* 募集要項テーブル */
.req{width:100%;border-collapse:collapse;font-size:.94rem;}
.req th,.req td{text-align:left;padding:18px 10px;border-bottom:1px solid rgba(0,0,0,.1);vertical-align:top;}
.req th{width:160px;font-family:var(--serif);color:var(--ink-strong);font-weight:700;letter-spacing:.04em;background:rgba(213,189,158,.12);}
.req td{color:var(--muted);}
/* 採用フロー */
.flow{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;}
.flow__step{flex:1;min-width:140px;background:#fff;border-radius:14px;padding:22px 18px;text-align:center;box-shadow:0 14px 30px -24px rgba(60,45,25,.4);position:relative;}
.flow__no{font-family:var(--serif);font-size:.74rem;letter-spacing:.12em;color:var(--gold-deep);}
.flow__t{font-family:var(--serif);font-size:1.1rem;font-weight:700;color:var(--ink-strong);margin-top:6px;}
.flow__step:not(:last-child)::after{content:"→";position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.1rem;z-index:3;}
/* 応募導線（外部リンク＋フォーム） */
.applybox{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:8px;}
.applylink{display:flex;align-items:center;justify-content:center;gap:.5em;text-align:center;background:#fff;border:1.5px solid var(--gold);border-radius:14px;padding:20px 18px;font-family:var(--serif);color:var(--ink-strong);transition:.25s;}
.applylink:hover{background:var(--gold);}
.applylink small{display:block;font-family:var(--sans);font-size:.72rem;color:var(--muted);}
/* リード文 */
.lead-c{max-width:40em;margin:0 auto 40px;text-align:center;color:var(--muted);}
/* =========================================================
   フォーム（お問い合わせ）
   ========================================================= */
.form{max-width:720px;margin-inline:auto;}
.form__row{margin-bottom:24px;}
.form__label{display:block;font-family:var(--serif);font-weight:700;color:var(--ink-strong);margin-bottom:10px;font-size:.96rem;}
.req-badge{font-family:var(--sans);font-size:.68rem;background:#c0492f;color:#fff;padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle;letter-spacing:.04em;}
.opt-badge{font-family:var(--sans);font-size:.68rem;background:#8a8276;color:#fff;padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle;letter-spacing:.04em;}
.form__field,.form select,.form textarea{width:100%;font-family:var(--sans);font-size:1rem;color:var(--ink);background:#fff;border:1.5px solid rgba(0,0,0,.16);border-radius:10px;padding:14px 16px;transition:.2s;}
.form__field:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(213,189,158,.3);}
.form textarea{min-height:160px;resize:vertical;line-height:1.8;}
.kind-tabs{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.kind{position:relative;cursor:pointer;}
.kind input{position:absolute;opacity:0;}
.kind__box{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:1.5px solid rgba(0,0,0,.16);border-radius:14px;padding:22px 16px;transition:.2s;}
.kind__t{font-family:var(--serif);font-size:1.15rem;font-weight:700;color:var(--ink-strong);}
.kind__d{font-size:.78rem;color:var(--muted);}
.kind input:checked + .kind__box{border-color:var(--gold);background:rgba(213,189,158,.12);box-shadow:0 0 0 3px rgba(213,189,158,.25);}
/* お問い合わせ内容の記入例ブロック（常時表示） */
.form__hint{background:rgba(213,189,158,.1);border:1px solid rgba(213,189,158,.55);border-radius:10px;padding:14px 16px;margin-bottom:12px;}
.form__hint-lead{font-family:var(--sans);font-size:.86rem;color:var(--ink);margin:0 0 10px;}
.form__hint-list{margin:0;display:grid;gap:8px;}
.form__hint-list dt{font-family:var(--serif);font-weight:700;font-size:.82rem;color:var(--gold-deep);}
.form__hint-list dd{margin:2px 0 0;font-family:var(--sans);font-size:.8rem;color:var(--muted);line-height:1.7;}
.agree{display:flex;align-items:flex-start;gap:10px;justify-content:center;font-size:.86rem;color:var(--muted);}
.agree input{margin-top:.35em;}
.form__submit{text-align:center;margin-top:14px;}
.form__note{font-size:.78rem;color:var(--muted);text-align:center;margin-top:18px;line-height:1.8;}
.btn--dark{background:var(--dark);color:#fff;}
.btn--dark:hover{background:var(--gold-deep);}
@media(max-width:880px){
  .jobx{grid-template-columns:1fr;}
  .jobx__no{grid-row:auto;margin-bottom:6px;}
  .jobx__tags,.jobx__desc{grid-column:1;}
  .flow__step:not(:last-child)::after{content:"↓";right:50%;top:auto;bottom:-16px;transform:translateX(50%);}
  .req th{width:120px;}
}

/* =========================================================
   会社概要ページ固有：代表挨拶（company-preview.html のインラインCSSを統合）
   ========================================================= */
.greet{display:grid;grid-template-columns:0.8fr 1.2fr;gap:50px;align-items:center;}
.greet__photo{position:relative;}
.greet__photo img{border-radius:18px;box-shadow:0 24px 50px -26px rgba(60,45,25,.5);}
.greet__photo .cap{margin-top:14px;text-align:center;font-family:var(--serif);}
.greet__photo .cap b{font-size:1.1rem;color:var(--ink-strong);}
.greet__photo .cap span{display:block;font-size:.78rem;color:var(--gold-deep);letter-spacing:.1em;}
.greet__body h3{font-family:var(--serif);font-size:clamp(1.3rem,3vw,1.7rem);color:var(--ink-strong);line-height:1.6;margin-bottom:20px;letter-spacing:.04em;}
.greet__body p{color:var(--muted);font-size:.95rem;margin-bottom:16px;}
.greet__sign{margin-top:8px;font-family:var(--serif);color:var(--ink-strong);}
.greet__sign b{font-size:1.15rem;margin-left:8px;}
.draft{display:inline-block;font-family:var(--sans);font-size:.7rem;background:#c0492f;color:#fff;padding:3px 10px;border-radius:5px;letter-spacing:.04em;margin-bottom:16px;}
@media(max-width:880px){.greet{grid-template-columns:1fr;gap:30px;}.greet__photo{max-width:320px;margin-inline:auto;}}

/* =========================================================
   WordPress 統合用の微調整
   - Lightning 既定スタイルとの干渉を抑える上書き
   - 管理バー表示時の sticky ヘッダー位置補正
   ========================================================= */
.ichie-page{margin:0;}
.ichie-page a{box-shadow:none;}
.admin-bar header.site{top:32px;}
@media(max-width:782px){.admin-bar header.site{top:46px;}}

/* =========================================================
   Contact Form 7 連携：承認済みフォームデザインへの適合
   ========================================================= */
.form .wpcf7-form-control-wrap{display:block;}
.form .wpcf7-not-valid-tip{color:#c0492f;font-size:.8rem;margin-top:6px;}
.form .wpcf7-response-output{margin:20px 0 0;border-radius:10px;padding:14px 18px;font-size:.9rem;}
/* 種別ラジオを2ボックス化（CF7 [radio] use_label_element 用） */
.kind-tabs .wpcf7-radio{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.kind-tabs .wpcf7-list-item{margin:0;}
.kind-tabs .wpcf7-list-item > label{display:block;cursor:pointer;margin:0;}
.kind-tabs .wpcf7-list-item input{position:absolute;opacity:0;}
.kind-tabs .wpcf7-list-item-label{display:flex;align-items:center;justify-content:center;text-align:center;border:1.5px solid rgba(0,0,0,.16);border-radius:14px;padding:24px 16px;transition:.2s;font-family:var(--serif);font-size:1.15rem;font-weight:700;color:var(--ink-strong);}
.kind-tabs .wpcf7-list-item input:checked + .wpcf7-list-item-label{border-color:var(--gold);background:rgba(213,189,158,.12);box-shadow:0 0 0 3px rgba(213,189,158,.25);}
@media(max-width:880px){.kind-tabs .wpcf7-radio{grid-template-columns:1fr;}}
