@charset "UTF-8";
/* Concept01 下層ページ共通＋各ページ（白＋赤＋明朝＋大番号） */

/* ページヘッダー */
.e-phead{ padding:50px 0 26px; }
.e-phead__en{ font-size:11px; letter-spacing:.25em; color:var(--ed-red); margin:0 0 12px; }
.e-phead__title{ font-family:var(--font-serif); font-size:42px; letter-spacing:.07em; font-weight:600; margin:0; }
.e-bc{ font-size:11px; color:var(--ed-muted); padding:14px 0 0; border-top:1px solid var(--ed-line); margin-top:24px; }
.e-bc a{ color:var(--ed-muted); }

/* 大リード（明朝） */
.e-lead{ font-family:var(--font-serif); font-size:30px; line-height:1.95; letter-spacing:.04em; padding:64px 0; margin:0; font-weight:600; }
.e-lead .e-red{ color:var(--ed-red); }

/* 番号付きセクション見出し */
.e-sec{ padding:14px 0 60px; border-top:1px solid var(--ed-line); }
.e-sec__head{ display:flex; align-items:flex-start; gap:24px; margin:0 0 24px; }
.e-sec__num{ font-family:var(--font-serif); font-size:50px; line-height:.85; color:var(--ed-red); }
.e-sec__label .e-sec__en{ display:block; font-size:10px; letter-spacing:.2em; color:var(--ed-red); margin-bottom:6px; }
.e-sec__t{ font-family:var(--font-serif); font-size:24px; font-weight:600; margin:0; letter-spacing:.04em; }

/* 事業：番号＋本文（左）＋写真（右） */
.e-bizrow{ display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; border-top:1px solid var(--ed-line); padding:46px 0; }
.e-bizrow__num{ font-family:var(--font-serif); font-size:52px; color:var(--ed-red); line-height:1; float:left; margin:-6px 18px 0 0; }
.e-bizrow__en{ font-size:10px; letter-spacing:.2em; color:var(--ed-red); margin:0 0 4px; }
.e-bizrow__t{ font-family:var(--font-serif); font-size:22px; font-weight:600; margin:0 0 12px; }
.e-bizrow__d{ font-size:13px; line-height:2; color:var(--ed-body); margin:0 0 14px; }
.e-bizrow__list{ list-style:none; margin:0; padding:0; }
.e-bizrow__list li{ font-size:12.5px; color:var(--ed-body); padding:6px 0 6px 18px; position:relative; border-bottom:1px solid var(--ed-line); }
.e-bizrow__list li::before{ content:""; position:absolute; left:0; top:13px; width:8px; height:1px; background:var(--ed-red); }
.e-bizrow__img{ width:100%; aspect-ratio:4/3; object-fit:cover; }

/* プロセスフロー（4/3ステップ） */
.e-flow{ display:flex; align-items:flex-start; justify-content:center; gap:6px; flex-wrap:wrap; margin-top:10px; }
.e-flow__step{ text-align:center; width:150px; }
.e-flow__ic{ width:60px; height:60px; margin:0 auto 12px; border:1px solid var(--ed-line); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.e-flow__ic svg{ width:26px; height:26px; stroke:var(--ed-red); fill:none; }
.e-flow__n{ font-size:10px; letter-spacing:.2em; color:var(--ed-red); }
.e-flow__t{ font-size:13px; font-weight:600; margin:4px 0 6px; }
.e-flow__d{ font-size:11px; color:var(--ed-muted); line-height:1.7; }
.e-flow__arrow{ align-self:center; width:24px; height:1px; background:var(--ed-line); position:relative; margin-top:30px; }
.e-flow__arrow::after{ content:""; position:absolute; right:0; top:-3px; width:6px; height:6px; border-top:1px solid var(--ed-red); border-right:1px solid var(--ed-red); transform:rotate(45deg); }

/* 代表メッセージ */
.e-message__grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.e-message__img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.e-message__txt{ font-size:13.5px; line-height:2.2; color:var(--ed-body); }
.e-message__sign{ text-align:right; margin-top:24px; font-family:var(--font-serif); }
.e-message__sign small{ display:block; font-size:11px; color:var(--ed-muted); margin-bottom:4px; font-family:var(--font-sans); }

/* 沿革 */
.e-history__row{ display:flex; gap:24px; padding:14px 0; border-bottom:1px solid var(--ed-line); font-size:13px; }
.e-history__y{ width:90px; flex-shrink:0; color:var(--ed-red); font-weight:600; }
.e-history__c{ color:var(--ed-body); }

/* アクセス */
.e-access{ display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; }
.e-access__map{ width:100%; aspect-ratio:16/10; border:0; }
.e-access__info{ font-size:13.5px; line-height:2; color:var(--ed-body); }

/* Good Life 交互レイアウト */
.e-glprow{ display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; border-top:1px solid var(--ed-line); padding:50px 0; }
.e-glprow.rev .e-glprow__img{ order:2; }
.e-glprow__img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.e-glprow__d{ font-size:13px; line-height:2.05; color:var(--ed-body); margin:14px 0 0; }

/* CTA帯 */
.e-cta{ border-top:1px solid var(--ed-line); }
.e-cta a{ display:flex; align-items:center; justify-content:center; gap:18px; padding:42px 20px; font-family:var(--font-serif); font-size:22px; letter-spacing:.06em; color:var(--ed-ink); }
.e-cta a::after{ content:""; width:40px; height:1px; background:var(--ed-red); }
.e-cta a:hover::after{ width:60px; transition:.25s; }

/* お問い合わせフォーム */
.e-contact__lead{ font-family:var(--font-serif); font-size:22px; line-height:1.9; padding:50px 0 36px; margin:0; text-align:center; }
.e-form{ max-width:680px; margin-left:auto; margin-right:auto; }
.e-form .mw_wp_form input[type=text],
.e-form .mw_wp_form input[type=email],
.e-form .mw_wp_form input[type=tel],
.e-form .mw_wp_form textarea,
.e-form .mw_wp_form select{ width:100%; border:0; border-bottom:1px solid var(--ed-line); border-radius:0; padding:12px 2px; font-size:14px; background:transparent; font-family:inherit; margin:6px 0 22px; }
.e-form .mw_wp_form textarea{ min-height:130px; border:1px solid var(--ed-line); padding:12px; }
.e-form .mw_wp_form input:focus,.e-form .mw_wp_form textarea:focus,.e-form .mw_wp_form select:focus{ outline:none; border-color:var(--ed-red); }
.e-form input[type=submit],.e-form button[type=submit]{ display:block; margin:14px auto 0; min-width:240px; background:var(--ed-ink); color:#fff; border:0; padding:15px 30px; font-size:14px; letter-spacing:.1em; cursor:pointer; }
.e-form input[type=submit]:hover{ background:var(--ed-red); }
.e-contact__tel{ border-top:1px solid var(--ed-line); margin-top:50px; padding:34px 0; text-align:center; }
.e-contact__tel dl{ display:inline-flex; gap:30px; margin:10px 0 0; font-size:13px; text-align:left; }
.e-contact__tel dt{ color:var(--ed-muted); }

/* プライバシー等 文章ページ */
.e-doc__sec{ border-top:1px solid var(--ed-line); padding:30px 0; }
.e-doc__head{ display:flex; align-items:baseline; gap:18px; margin:0 0 14px; }
.e-doc__num{ font-family:var(--font-serif); font-size:30px; color:var(--ed-red); line-height:1; }
.e-doc__t{ font-family:var(--font-serif); font-size:19px; font-weight:600; margin:0; }
.e-doc__b{ font-size:13px; line-height:2.05; color:var(--ed-body); }
.e-doc__b ul{ margin:10px 0 0; padding-left:1.2em; }
.e-doc__b li{ margin:4px 0; }
.e-doc__date{ text-align:right; font-size:12px; color:var(--ed-muted); padding:10px 0; }

@media (max-width:900px){
  .e-bizrow,.e-message__grid,.e-access,.e-glprow{ grid-template-columns:1fr; gap:24px; }
  .e-glprow.rev .e-glprow__img{ order:0; }
  .e-flow{ gap:14px; } .e-flow__arrow{ display:none; }
  .e-flow__step{ width:46%; }
}
@media (max-width:767px){
  .e-phead__title{ font-size:30px; } .e-lead,.e-contact__lead{ font-size:21px; }
  .e-sec__num{ font-size:38px; } .e-history__row{ flex-direction:column; gap:4px; }
}
