@charset "UTF-8";
/* 下層ページ共通＋各ページ専用CSS（renewal.css の変数を利用） */

/* ===== ページ共通ヒーロー ===== */
.r-phead{ background:#f8f5ee; border-bottom:1px solid var(--line); }
.r-phead__in{ display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:30px; min-height:300px; }
.r-phead__copy{ padding:50px 0; }
.r-phead__eyebrow{ font-size:12px; letter-spacing:.18em; color:var(--green); margin:0 0 14px; }
.r-phead__title{ font-family:var(--font-serif); font-size:40px; letter-spacing:.06em; margin:0; }
.r-phead__en{ display:block; font-size:11px; letter-spacing:.25em; color:var(--muted); margin-top:10px; text-transform:uppercase; }
.r-phead__img{ height:100%; }
.r-phead__img img{ width:100%; height:100%; max-height:340px; object-fit:cover; }
.r-bcrumb{ font-size:11px; color:var(--muted); padding:14px 0; }
.r-bcrumb a{ color:var(--muted); }
.r-phead--center .r-inner{ padding-top:56px; padding-bottom:46px; }
.r-phead--center .r-phead__title{ text-align:center; }

/* ===== 事業内容 ===== */
.r-bizpage{ padding:70px 0; }
.r-bizpage__lead{ text-align:center; font-family:var(--font-serif); font-size:22px; letter-spacing:.06em; margin:0 0 50px; }
.r-bizrow{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; margin:0 0 64px; }
.r-bizrow:nth-child(even) .r-bizrow__img{ order:2; }
.r-bizrow__num{ font-family:var(--font-serif); font-size:54px; color:var(--green-soft); line-height:1; margin:0 0 14px; }
.r-bizrow__h{ font-size:22px; font-weight:600; letter-spacing:.04em; margin:0 0 8px; }
.r-bizrow__en{ font-size:11px; letter-spacing:.2em; color:var(--green); margin:0 0 18px; }
.r-bizrow__txt{ font-size:13.5px; line-height:2.1; color:#4a473f; margin:0; }
.r-bizrow__img img{ width:100%; border-radius:var(--radius); aspect-ratio:3/2; object-fit:cover; }

/* ===== 会社概要 ===== */
.r-comp{ padding:70px 0; }
.r-comp__table{ max-width:820px; margin:0 auto 60px; }
.r-comp__row{ display:flex; gap:0; border-bottom:1px solid var(--line); }
.r-comp__row dt{ width:200px; flex-shrink:0; background:#f5f1ea; padding:20px 24px; margin:0; font-size:13px; font-weight:600; letter-spacing:.04em; }
.r-comp__row dd{ flex:1; padding:20px 24px; margin:0; font-size:13.5px; line-height:1.9; }
.r-access{ display:grid; grid-template-columns:1fr 1fr; gap:30px; max-width:960px; margin:0 auto; align-items:start; }
.r-access__map{ width:100%; aspect-ratio:16/10; border:0; border-radius:var(--radius); }
.r-access__info{ font-size:13.5px; line-height:2; }
.r-message{ background:#f8f5ee; padding:60px 0; margin-top:60px; }
.r-message__inner{ max-width:760px; margin:0 auto; text-align:center; }
.r-message__txt{ font-size:14px; line-height:2.2; color:#4a473f; }

/* ===== Good Life Project ===== */
.r-glp-hero{ background:#f8f5ee; }
.r-glp-hero__in{ display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; min-height:360px; }
.r-glp-hero__copy{ padding:54px 0; }
.r-glp-hero__title{ font-family:var(--font-serif); font-size:44px; line-height:1.4; margin:0 0 18px; }
.r-glp-hero__lead{ font-size:13.5px; line-height:2; color:#4a473f; }
.r-glp-hero__imgs{ display:grid; grid-template-rows:1fr 1fr; gap:14px; height:100%; padding:24px 0; }
.r-glp-hero__imgs img{ width:100%; height:100%; object-fit:cover; border-radius:var(--radius); }
.r-glp-band{ background:var(--btn-bg); color:var(--btn-text); text-align:center; padding:50px 24px; }
.r-glp-band__t{ font-family:var(--font-serif); font-size:20px; line-height:2; letter-spacing:.04em; margin:0; }
.r-glp-themes{ padding:70px 0; }
.r-glp-theme{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; margin:0 0 44px; }
.r-glp-theme:nth-child(even) .r-glp-theme__img{ order:2; }
.r-glp-theme__num{ font-family:var(--font-serif); font-size:40px; color:var(--green-soft); margin:0 0 10px; }
.r-glp-theme__h{ font-size:20px; font-weight:600; margin:0 0 12px; }
.r-glp-theme__txt{ font-size:13.5px; line-height:2.05; color:#4a473f; }
.r-glp-theme__img img{ width:100%; border-radius:var(--radius); aspect-ratio:3/2; object-fit:cover; }
.r-glp-flow{ background:#f5f1ea; padding:54px 0; text-align:center; }
.r-glp-flow__steps{ display:flex; align-items:center; justify-content:center; gap:20px; margin-top:24px; flex-wrap:wrap; }
.r-glp-flow__step{ display:flex; flex-direction:column; align-items:center; gap:8px; font-size:12px; }
.r-glp-flow__step svg{ width:40px; height:40px; stroke:var(--green); fill:none; }
.r-glp-flow__pct{ font-family:var(--font-serif); font-size:28px; color:var(--green); }

/* ===== お問い合わせ ===== */
.r-contact{ padding:64px 0; }
.r-contact__lead{ text-align:center; font-size:14px; line-height:2; color:#4a473f; max-width:640px; margin:0 auto 40px; }
.r-contact__form{ max-width:680px; margin:0 auto; background:#f8f5ee; border-radius:var(--radius); padding:46px 44px; }
.r-contact__form .mw_wp_form dl,
.r-contact__form .mw_wp_form table{ width:100%; }
.r-contact__form input[type=text],
.r-contact__form input[type=email],
.r-contact__form input[type=tel],
.r-contact__form textarea,
.r-contact__form select{ width:100%; border:1px solid var(--line); border-radius:6px; padding:12px 14px; font-size:14px; background:#fff; font-family:inherit; margin:6px 0 16px; }
.r-contact__form textarea{ min-height:140px; }
.r-contact__form .mwform-checkbox-field,
.r-contact__form label{ font-size:13px; }
.r-contact__form input[type=submit],
.r-contact__form button[type=submit]{ display:block; width:100%; background:var(--green); color:#fff; border:0; border-radius:6px; padding:15px; font-size:14px; letter-spacing:.08em; cursor:pointer; margin-top:10px; }
.r-contact__form input[type=submit]:hover{ background:var(--green-dark); }

@media (max-width:900px){
  .r-phead__in,.r-bizrow,.r-access,.r-glp-hero__in,.r-glp-theme{ grid-template-columns:1fr; }
  .r-bizrow:nth-child(even) .r-bizrow__img,
  .r-glp-theme:nth-child(even) .r-glp-theme__img{ order:0; }
  .r-phead__img img{ max-height:240px; }
  .r-comp__row{ flex-direction:column; }
  .r-comp__row dt{ width:100%; }
}
@media (max-width:767px){
  .r-phead__title,.r-glp-hero__title{ font-size:30px; }
  .r-contact__form{ padding:30px 22px; }
}
