@charset "UTF-8";
/*
$c_main: #DB0000;
$c_sub: #E9A87D;
$c_accent: #E64D4D;
$c_btn: #FF7043;
$c_btn_hover: #F4511E;
$c_sns_line: #06C755;
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap&family=Oswald&display=swap");
/* ============================================================
   form.scss（共通）
   - Contact Form 7 共通UI（request / contact）
   - BEM / Mobile-first（min-width）
   - member.scss の記述方法・見た目に統一（重複・フォールバック整理）
============================================================ */
/* ------------------------------------------------------------
  Theme tokens（form）
------------------------------------------------------------ */
/* ============================================================
  Page Title / Page Hero（form用）
  ※ page-title と page-hero は共通パーツ想定：CSS変数だけ差し替え
============================================================ */
.page-title--default {
  --page-title-bg: #E3F5FF;
  --page-title-color: #00AAFF;
  background-image: radial-gradient(circle, #ffffff 1px, transparent 1px);
  background-size: 5px 5px;
}

.page-hero--default {
  --page-hero-bg: var(--bg-white);
  --page-hero-accent: #00AAFF;
  --page-hero-title-color: #00AAFF;
  --page-hero-text-color: #555555;
}

/* ============================================================
  Form wrapper（ページ共通）
============================================================ */
.c-form {
  background-color: var(--bg-white);
  padding-top: 4rem;
  padding-bottom: 0;
}
.c-form__card {
  max-width: 540px;
  margin-inline: auto;
  padding-top: 2.4rem;
  padding-right: 2rem;
  padding-bottom: 2.8rem;
  padding-left: 2rem;
  background-color: #ffffff;
  border-radius: 12px;
  -webkit-box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
          box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}
@media (min-width: 768px) {
  .c-form__card {
    padding-top: 3.2rem;
    padding-right: 3.2rem;
    padding-bottom: 3.6rem;
    padding-left: 3.2rem;
  }
}
.c-form__lead {
  font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
  line-height: 1.8;
  color: #666666;
  text-align: left;
}
@media (min-width: 768px) {
  .c-form__lead {
    text-align: center;
  }
}
.c-form__req {
  margin-left: 0.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #ff6c00;
}
.c-form__actions {
  margin-top: 3.2rem;
  text-align: center;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
}
.c-form {
  /* ============================================================
    2カラム（任意）
    - CF7本文で .c-form__row / .c-form__col を使った場合に有効
  ============================================================ */
}
.c-form__row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 2.8rem;
  margin: 1rem 0;
}
.c-form__row-two {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.8rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 2.8rem;
  margin: 1rem 0;
}
.c-form {
  /* ============================================================
    CF7 base（.c-form 配下に限定）
  ============================================================ */
}
.c-form .wpcf7 {
  width: 100%;
}
.c-form form.wpcf7-form {
  margin: 0;
}
.c-form .wpcf7-form p {
  margin-top: 0;
  margin-bottom: 1.6rem;
}
.c-form .wpcf7-form p > .c-form__row,
.c-form .wpcf7-form p > .c-form__row-two {
  margin-bottom: 0;
}
.c-form {
  /* label */
}
.c-form label {
  display: block;
  margin-top: 0;
  margin-bottom: 0.6rem;
  font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
  font-weight: 700;
  color: #00AAFF;
}
.c-form {
  /* ============================================================
    Inputs（重複整理）
    - CF7の class（.wpcf7-form-control）を主軸に統一
    - submit は除外してボタンブロックで定義
  ============================================================ */
  /* 入力コントロール（submit以外） */
}
.c-form .wpcf7-form-control:not(.wpcf7-submit) {
  width: 100%;
  border-radius: 6px;
  border: 1px solid #d0d0d0;
  background-color: #ffffff;
  font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
  line-height: 1.6;
  color: #222222;
  -webkit-transition: border-color 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: border-color 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, -webkit-box-shadow 0.15s ease;
}
.c-form .wpcf7-form-control:not(.wpcf7-submit):focus {
  outline: none;
  border-color: #00bfd4;
  -webkit-box-shadow: 0 0 0 3px rgba(0, 191, 212, 0.25);
          box-shadow: 0 0 0 3px rgba(0, 191, 212, 0.25);
}
.c-form {
  /* 高さを揃える（テキスト・セレクト系） */
}
.c-form .wpcf7-form-control.wpcf7-text,
.c-form .wpcf7-form-control.wpcf7-email,
.c-form .wpcf7-form-control.wpcf7-tel,
.c-form .wpcf7-form-control.wpcf7-url,
.c-form .wpcf7-form-control.wpcf7-number,
.c-form .wpcf7-form-control.wpcf7-date,
.c-form .wpcf7-form-control.wpcf7-select {
  height: 4.4rem;
  padding-inline: 1.2rem;
}
.c-form {
  /* textarea */
}
.c-form .wpcf7-form-control.wpcf7-textarea {
  min-height: 12rem;
  padding-top: 1rem;
  padding-right: 1.2rem;
  padding-bottom: 1rem;
  padding-left: 1.2rem;
  resize: vertical;
}
.c-form {
  /* CF7以外（万が一の生inputが混ざった時の保険：最小限） */
}
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=password],
.c-form input[type=tel],
.c-form input[type=url],
.c-form input[type=number],
.c-form input[type=date],
.c-form select,
.c-form textarea {
  width: 100%;
  border-radius: 6px;
  border: 1px solid #d0d0d0;
  background-color: #ffffff;
  font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
  line-height: 1.6;
  color: #222222;
}
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=password],
.c-form input[type=tel],
.c-form input[type=url],
.c-form input[type=number],
.c-form input[type=date],
.c-form select {
  height: 4.4rem;
  padding-inline: 1.2rem;
}
.c-form textarea {
  min-height: 12rem;
  padding-top: 1rem;
  padding-right: 1.2rem;
  padding-bottom: 1rem;
  padding-left: 1.2rem;
  resize: vertical;
}
.c-form input:focus,
.c-form select:focus,
.c-form textarea:focus {
  outline: none;
  border-color: #00bfd4;
  -webkit-box-shadow: 0 0 0 3px rgba(0, 191, 212, 0.25);
          box-shadow: 0 0 0 3px rgba(0, 191, 212, 0.25);
}
.c-form ::-webkit-input-placeholder {
  color: #aaaaaa;
}
.c-form ::-moz-placeholder {
  color: #aaaaaa;
}
.c-form :-ms-input-placeholder {
  color: #aaaaaa;
}
.c-form ::-ms-input-placeholder {
  color: #aaaaaa;
}
.c-form ::placeholder {
  color: #aaaaaa;
}
@media (min-width: 768px) {
  .c-form .wpcf7-form-control:not(.wpcf7-submit),
  .c-form input[type=text],
  .c-form input[type=email],
  .c-form input[type=password],
  .c-form input[type=tel],
  .c-form input[type=url],
  .c-form input[type=number],
  .c-form input[type=date],
  .c-form select,
  .c-form textarea {
    font-size: clamp(1.4rem, 1.326rem + 0.23vw, 1.6rem);
  }
}
.c-form {
  /* ============================================================
    Confirm screen（任意：確認画面の見た目）
    - HTML側で .c-form__confirm / __confirm-row / __confirm-label / __confirm-value を使う前提
  ============================================================ */
}
.c-form__confirm {
  border-radius: 10px;
  border: 1px solid #e6e8eb;
  background-color: #fbfbfc;
  padding-top: 1.2rem;
  padding-right: 1.2rem;
  padding-bottom: 0.4rem;
  padding-left: 1.2rem;
}
@media (min-width: 768px) {
  .c-form__confirm {
    padding-top: 1.6rem;
    padding-right: 1.6rem;
    padding-bottom: 0.6rem;
    padding-left: 1.6rem;
  }
}
.c-form__confirm-row {
  margin-top: 0;
  margin-bottom: 1.2rem;
}
.c-form__confirm-label {
  display: block;
  margin-top: 0;
  margin-bottom: 0.4rem;
  font-size: clamp(1rem, 0.926rem + 0.23vw, 1.2rem);
  font-weight: 700;
  color: #666666;
}
.c-form__confirm-value {
  display: block;
  font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
  line-height: 1.8;
  color: #222222;
  white-space: pre-wrap;
  word-break: break-word;
}
.c-form {
  /* ============================================================
    Error / Response（CF7）
  ============================================================ */
}
.c-form .wpcf7-not-valid-tip {
  margin-top: 0.6rem;
  font-size: clamp(1rem, 0.926rem + 0.23vw, 1.2rem);
  line-height: 1.6;
  color: #c62828;
}
.c-form .wpcf7 form .wpcf7-response-output {
  margin-top: 1.6rem;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 1.2rem;
  padding-right: 1.4rem;
  padding-bottom: 1.2rem;
  padding-left: 1.4rem;
  border-radius: 6px;
  font-size: clamp(1.2rem, 1.126rem + 0.23vw, 1.4rem);
  line-height: 1.6;
}
.c-form .wpcf7 form.sent .wpcf7-response-output {
  background-color: #f0fffb;
  border: 1px solid #bdeee2;
  color: #006b5e;
}
.c-form .wpcf7 form.invalid .wpcf7-response-output,
.c-form .wpcf7 form.failed .wpcf7-response-output,
.c-form .wpcf7 form.aborted .wpcf7-response-output {
  background-color: #fff4f4;
  border: 1px solid #ffd1d1;
  color: #c62828;
}
.c-form {
  /* ============================================================
    Buttons（confirm / back / submit 共通）
    - 送信（submit）と同じ見た目を .c-form__btn にも適用
    - 戻るのみ配色を変更（.c-form__btn--back）
  ============================================================ */
  /* Submit button（member と同等） */
}
.c-form .wpcf7-submit,
.c-form input[type=submit],
.c-form button[type=submit] {
  --common-border: #ff8a00;
  --common-bg: #ffffff;
  --common-ink: #555555;
  --common-bg-hover: #ff8a00;
  --common-ink-hover: #ffffff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.6rem;
  width: 100%;
  min-height: 3.2rem;
  padding-top: 0.7rem;
  padding-right: 2rem;
  padding-bottom: 0.7rem;
  padding-left: 2.2rem;
  border-radius: 999px;
  border: 2px solid var(--common-border);
  background-color: var(--common-bg);
  color: var(--common-ink);
  font-size: clamp(1.4rem, 1.326rem + 0.23vw, 1.6rem);
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  -webkit-transition: background-color 0.2s ease, color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: background-color 0.2s ease, color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.c-form .wpcf7-submit:hover,
.c-form input[type=submit]:hover,
.c-form button[type=submit]:hover {
  background-color: var(--common-bg-hover);
  color: var(--common-ink-hover);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  -webkit-box-shadow: 0 4px 10px rgba(255, 138, 0, 0.35);
          box-shadow: 0 4px 10px rgba(255, 138, 0, 0.35);
}
.c-form .wpcf7-submit:focus-visible,
.c-form input[type=submit]:focus-visible,
.c-form button[type=submit]:focus-visible {
  outline: 0;
  -webkit-box-shadow: 0 0 0 3px rgba(255, 138, 0, 0.25);
          box-shadow: 0 0 0 3px rgba(255, 138, 0, 0.25);
}
@media (min-width: 768px) {
  .c-form .wpcf7-submit,
  .c-form input[type=submit],
  .c-form button[type=submit] {
    min-height: 3.6rem;
    padding-top: 0.8rem;
    padding-right: 2.4rem;
    padding-bottom: 0.8rem;
    padding-left: 2.6rem;
  }
}
.c-form .wpcf7-submit:disabled,
.c-form input[type=submit]:disabled,
.c-form button[type=submit]:disabled {
  background-color: #f2f4f7;
  border-color: #e2e6ea;
  color: #9aa3ad;
  cursor: not-allowed;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transform: none;
          transform: none;
}
.c-form {
  /* Confirm / Back button（submit と同等） */
}
.c-form__btn {
  --common-border: #ff8a00;
  --common-bg: #ffffff;
  --common-ink: #555555;
  --common-bg-hover: #ff8a00;
  --common-ink-hover: #ffffff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.6rem;
  width: 100%;
  min-height: 3.2rem;
  padding-top: 0.7rem;
  padding-right: 2rem;
  padding-bottom: 0.7rem;
  padding-left: 2.2rem;
  border-radius: 999px;
  border: 2px solid var(--common-border);
  background-color: var(--common-bg);
  color: var(--common-ink);
  font-size: clamp(1.4rem, 1.326rem + 0.23vw, 1.6rem);
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  -webkit-transition: background-color 0.2s ease, color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: background-color 0.2s ease, color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.c-form__btn:hover {
  background-color: var(--common-bg-hover);
  color: var(--common-ink-hover);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  -webkit-box-shadow: 0 4px 10px rgba(255, 138, 0, 0.35);
          box-shadow: 0 4px 10px rgba(255, 138, 0, 0.35);
}
.c-form__btn:focus-visible {
  outline: 0;
  -webkit-box-shadow: 0 0 0 3px rgba(255, 138, 0, 0.25);
          box-shadow: 0 0 0 3px rgba(255, 138, 0, 0.25);
}
@media (min-width: 768px) {
  .c-form__btn {
    min-height: 3.6rem;
    padding-top: 0.8rem;
    padding-right: 2.4rem;
    padding-bottom: 0.8rem;
    padding-left: 2.6rem;
  }
}
.c-form__btn:disabled {
  background-color: #f2f4f7;
  border-color: #e2e6ea;
  color: #9aa3ad;
  cursor: not-allowed;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transform: none;
          transform: none;
}
.c-form {
  /* Back button（色変更） */
}
.c-form__btn--back {
  --common-border: #9aa3ad;
  --common-bg: #ffffff;
  --common-ink: #555555;
  --common-bg-hover: #9aa3ad;
  --common-ink-hover: #ffffff;
}
.c-form__btn--back:hover {
  -webkit-box-shadow: 0 4px 10px rgba(154, 163, 173, 0.35);
          box-shadow: 0 4px 10px rgba(154, 163, 173, 0.35);
}
.c-form__btn--back:focus-visible {
  -webkit-box-shadow: 0 0 0 3px rgba(154, 163, 173, 0.25);
          box-shadow: 0 0 0 3px rgba(154, 163, 173, 0.25);
}

/* エラーメッセージの上部を消去 */
.hidden-fields-container {
  display: none;
}