/* ==========================================================
   お問い合わせ (contact.html) 固有スタイル
   基準: PC 1920px / SP 390px  (1rem = 10px @基準幅)
   ========================================================== */
.page-contact{--line:#48A348; --privacy:#395339;}
.page-contact .page-mv__img{object-position:center 20%;}
.pc-br{display:inline}
@media (max-width:1023px){.pc-br{display:none}}

/* ---------- イントロ ---------- */
.c-intro{position:relative;height:106.7rem;}
.c-intro__inner{position:relative;height:100%;}
.c-intro__ttl{position:absolute;left:24.4rem;top:23.3rem;font-size:6rem;font-weight:700;line-height:10rem;letter-spacing:.06em;white-space:nowrap;}
.c-intro__txt{position:absolute;left:24.4rem;top:45.8rem;width:66rem;font-size:2.2rem;line-height:5rem;letter-spacing:.06em;}
.c-intro__txt + .c-intro__txt{top:70.8rem;}
.c-intro__photos{display:contents;}
.c-intro__photo{position:absolute;object-fit:cover;border-radius:3rem;}
.c-intro__photo--1{left:96rem;top:17.2rem;width:51.5rem;height:33.1rem;}
.c-intro__photo--2{left:113.1rem;top:55rem;width:51.5rem;height:33rem;}

/* ---------- 連絡カード + フォーム ---------- */
.c-contact{padding:0 0 14.7rem;}
.c-contact__inner{display:flex;align-items:flex-start;gap:4.3rem;width:143.2rem;margin:0 auto;}
.c-contact__side{display:flex;flex-direction:column;gap:2.6rem;width:43.9rem;flex:none;}
.c-card{position:relative;min-height:43.9rem;border-radius:2rem;color:var(--white);}
.c-card__ttl{font-size:2.7rem;font-weight:700;line-height:1;letter-spacing:.05em;white-space:nowrap;}
.c-card__note{font-size:1.8rem;line-height:1;letter-spacing:.03em;white-space:nowrap;}

/* 電話 */
.c-card--tel{background:var(--ochre);padding:6.1rem 3.6rem 0;}
.c-card--tel .c-card__note{margin-top:2.6rem;}
.c-card__tel{display:flex;align-items:center;gap:.9rem;margin:6.7rem 0 0 -.8rem;font-size:4.5rem;font-weight:700;line-height:1;letter-spacing:.05em;color:var(--white);white-space:nowrap;transition:opacity .25s;}
.c-card__tel:hover{opacity:.85;}
.c-card__tel svg{flex:none;width:4rem;height:4rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round;}
.c-card__hours{margin-top:5.8rem;font-size:2.3rem;font-weight:700;line-height:1.5;letter-spacing:.05em;white-space:nowrap;}

/* LINE */
.c-card--line{background:var(--line);padding:3.8rem 3rem 0;text-align:center;}
.c-card__head{display:flex;flex-direction:column;align-items:center;gap:3.1rem;}
.c-card__lineicon{display:block;width:13rem;height:13rem;}
.c-card__lineicon svg{display:block;width:100%;height:100%;}
.c-card--line .c-card__note{margin-top:2.3rem;line-height:3.5rem;}
.c-card__btn{display:flex;align-items:center;justify-content:center;gap:1.6rem;width:33rem;height:6.5rem;margin:2.2rem auto 0;background:var(--white);color:var(--line);font-size:2.3rem;font-weight:500;letter-spacing:.03em;transition:opacity .25s;}
.c-card__btn:hover{opacity:.88;}
.c-card__btn svg{width:2.4rem;height:2.2rem;fill:currentColor;}

/* フォーム */
.c-form{flex:1;min-width:0;background:var(--white);border-radius:2rem;padding:8.3rem 6.1rem 6.1rem 6.2rem;}
.c-form__field{margin:0 0 4.7rem;padding:0;border:0;min-width:0;}
.c-form__label{display:block;margin:0 0 1.5rem .6rem;padding:0;font-size:2.2rem;line-height:1.5;letter-spacing:.05em;}
.c-form__input,.c-form__textarea{display:block;width:100%;border:0;border-radius:0;background:var(--beige);color:var(--ink);font:inherit;font-size:2.2rem;letter-spacing:.05em;outline:none;-webkit-appearance:none;appearance:none;}
.c-form__input{height:9rem;padding:0 2.4rem;}
.c-form__textarea{height:20.7rem;padding:2rem 2.4rem;line-height:1.7;resize:vertical;}
.c-form__input:focus,.c-form__textarea:focus{box-shadow:0 0 0 .2rem var(--ochre) inset;}
.c-form__field--checks .c-form__label{margin-bottom:2.1rem;}
.c-form__field--checks{margin-bottom:2.7rem;}
.c-form__checks{display:grid;grid-template-columns:35.5rem 1fr;margin-left:.9rem;}
.c-form__field--note .c-form__label{margin-bottom:1.4rem;}

/* チェックボックス(共通装飾) */
.c-check{position:relative;display:flex;align-items:center;gap:1.2rem;height:6rem;font-size:2rem;letter-spacing:.03em;cursor:pointer;}
.c-check input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.c-check__box{position:relative;flex:none;width:2.8rem;height:2.8rem;border:.2rem solid var(--ink);border-radius:.3rem;background:var(--white);}
.c-check input:checked + .c-check__box::after{content:"";position:absolute;left:.7rem;top:.1rem;width:.8rem;height:1.5rem;border:solid var(--green);border-width:0 .3rem .3rem 0;transform:rotate(45deg);}
.c-check input:focus-visible + .c-check__box{outline:.2rem solid var(--ochre);outline-offset:.2rem;}
.c-form__agree{justify-content:center;height:7rem;margin-top:1.7rem;font-size:2.3rem;font-weight:700;letter-spacing:.04em;color:var(--privacy);}
.c-form__agree .c-check__box{border-color:var(--privacy);}
.c-form__caution{margin-top:3rem;text-align:center;font-size:1.8rem;line-height:4.5rem;letter-spacing:0;}
.c-form__submit{display:block;width:55rem;height:6rem;margin:5.3rem auto 0;border:0;border-radius:3.8rem;background:linear-gradient(90deg,#C8873F 0%,#B97A33 55%,#AA6922 100%);color:var(--white);font-family:inherit;font-size:2.2rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:filter .25s,transform .25s;}
.c-form__submit:hover{filter:brightness(1.08);transform:translateY(-.2rem);}

/* ---------- SP ---------- */
@media (max-width:1023px){
  .c-intro{height:auto;padding:5.8rem 0 0;}
  .c-intro__inner{height:auto;}
  .c-intro__ttl{position:static;margin:0 2.3rem;font-size:2.8rem;line-height:5rem;white-space:normal;}
  .c-intro__txt{position:static;width:auto;margin:0 2.4rem;font-size:1.5rem;line-height:3.5rem;letter-spacing:.05em;}
  .c-intro__txt br{display:none;}
  .c-intro__txt + .c-intro__txt{margin-top:1.2rem;}
  .c-intro__photos{display:flex;gap:.4rem;margin-top:3.6rem;}
  .c-intro__photo{position:static;flex:1;width:auto;height:13.6rem;border-radius:1rem;}

  .c-contact{padding:4.4rem 2.4rem 5.6rem;}
  .c-contact__inner{display:block;width:auto;}
  .c-contact__side{width:auto;gap:3.5rem;}
  .c-card{min-height:20.7rem;border-radius:1.5rem;}
  .c-card__ttl{font-size:2rem;}
  .c-card__note{font-size:1.5rem;}

  .c-card--tel{padding:1.9rem 1.8rem 0;}
  .c-card--tel .c-card__note{margin-top:1.4rem;}
  .c-card__tel{justify-content:center;gap:.7rem;margin:2.1rem 0 0;font-size:2.6rem;}
  .c-card__tel svg{width:2.4rem;height:2.4rem;}
  .c-card__hours{margin-top:2.4rem;font-size:1.5rem;line-height:2.4rem;}

  .c-card--line{padding:1.9rem 1.8rem 0;}
  .c-card__head{flex-direction:row;justify-content:flex-start;gap:2.9rem;margin-left:.5rem;}
  .c-card__lineicon{width:5rem;height:5rem;}
  .c-card--line .c-card__note{margin-top:.5rem;line-height:3rem;}
  .c-card__btn{gap:1.2rem;width:21.8rem;height:3.8rem;margin-top:1.2rem;border-radius:.5rem;font-size:1.4rem;}
  .c-card__btn svg{width:1.4rem;height:1.3rem;}

  .c-form{margin-top:3rem;padding:4.5rem 1.2rem 5.7rem;}
  .c-form__field{margin-bottom:2.65rem;}
  .c-form__label{margin:0 0 .8rem 1.1rem;font-size:1.5rem;}
  .c-form__input,.c-form__textarea{background:var(--beige-l);font-size:1.5rem;}
  .c-form__input{height:4.2rem;padding:0 1.2rem;}
  .c-form__textarea{height:12.9rem;padding:1rem 1.2rem;}
  .c-form__field--checks .c-form__label{margin-bottom:1.5rem;}
  .c-form__field--checks{margin-bottom:2.3rem;}
  .c-form__checks{grid-template-columns:1fr;margin-left:1.3rem;}
  .c-form__field--note .c-form__label{margin-bottom:.8rem;}
  .c-check{gap:.9rem;height:4rem;font-size:1.5rem;}
  .c-check__box{width:2rem;height:2rem;border-width:.15rem;}
  .c-check input:checked + .c-check__box::after{left:.5rem;top:0;width:.6rem;height:1.1rem;border-width:0 .2rem .2rem 0;}
  .c-form__agree{height:2.3rem;margin-top:3.4rem;font-size:1.5rem;}
  .c-form__caution{margin-top:2rem;font-size:1.3rem;line-height:3rem;}
  .c-form__submit{width:28.8rem;height:3.6rem;margin-top:7.3rem;font-size:1.5rem;}
}

/* ========== Contact Form 7 対応 ========== */
.c-form .wpcf7-form-control-wrap{display:block;}
.c-form .wpcf7-checkbox,.c-form .wpcf7-radio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 2rem;}
.c-form .wpcf7-list-item{margin:0;}
.c-form .wpcf7-list-item label{display:inline-flex;align-items:center;cursor:pointer;}
.c-form .wpcf7-list-item input{position:absolute;opacity:0;width:0;height:0;}
.c-form .wpcf7-list-item-label{position:relative;padding-left:3.2rem;font-size:2rem;letter-spacing:.03em;line-height:1.6;}
.c-form .wpcf7-list-item-label::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2.1rem;height:2.1rem;background:var(--white,#fff);border:1px solid #707070;border-radius:.3rem;}
.c-form .wpcf7-list-item input:checked+.wpcf7-list-item-label::after{content:"";position:absolute;left:.65rem;top:50%;width:.7rem;height:1.3rem;border-right:.3rem solid #5A7755;border-bottom:.3rem solid #5A7755;transform:translateY(-62%) rotate(45deg);}
.c-form .wpcf7-list-item input:focus-visible+.wpcf7-list-item-label::before{outline:2px solid #C8873F;outline-offset:1px;}
.c-form__agree-row{margin-top:3.6rem;text-align:center;}
.c-form__agree-row .wpcf7-list-item label{justify-content:center;}
.c-form__agree-row .wpcf7-list-item-label{font-size:2.3rem;font-weight:700;color:#395339;letter-spacing:.04em;}
.c-form__submit-row{margin-top:2.4rem;text-align:center;}
.c-form .wpcf7-not-valid-tip{display:block;margin-top:.6rem;color:#C0392B;font-size:1.6rem;}
.c-form .wpcf7-response-output{margin:2.4rem 0 0;padding:1.2rem 1.6rem;border:2px solid #C8873F;border-radius:.8rem;font-size:1.8rem;text-align:center;}
.c-form .wpcf7-spinner{display:block;margin:1rem auto 0;}
@media (max-width:1023px){
  .c-form .wpcf7-checkbox,.c-form .wpcf7-radio{grid-template-columns:1fr;gap:1.2rem;}
  .c-form .wpcf7-list-item-label{padding-left:2.8rem;font-size:1.5rem;}
  .c-form .wpcf7-list-item-label::before{width:1.8rem;height:1.8rem;}
  .c-form .wpcf7-list-item input:checked+.wpcf7-list-item-label::after{left:.55rem;width:.6rem;height:1.1rem;}
  .c-form__agree-row .wpcf7-list-item-label{font-size:1.6rem;}
  .c-form .wpcf7-not-valid-tip{font-size:1.3rem;}
  .c-form .wpcf7-response-output{font-size:1.4rem;}
}
