/* ==========================================================================
   contact.css — お問い合わせページ専用スタイル
   css/style.css を読み込んだ後に追加で読み込むこと
========================================================================== */

/* ===== CSS変数（style.css にない値のみ定義） ===== */
:root {
  --contact-input-bg: #F8F8FB;
  --contact-input-border: #DDDDDD;
  --contact-border-light: #D8D8DB;
  --contact-red: #FF0000;
  --contact-error-red: #EB0000;
  --contact-placeholder: #B4B4B7;
  --contact-support: #626264;
}

/* ===== ヘッダー背景色（トップ以外のページ） ===== */
.c-header {
  background-color: #033b89;
}

/* ===== ページ背景（グラデーションアニメを止める） ===== */
body {
  background: #F1F1F4;
  animation: none;
}

/* ==========================================================================
   TTL / ヒーローエリア
========================================================================== */
.p-ttl {
  background: #F1F1F4;
  padding: 40px 16px 0;
}
@media (min-width: 769px) {
  .p-ttl {
    padding: 64px 24px 0;
  }
}

.p-ttl__inner {
  max-width: 1060px;
  margin: 0 auto;
}

.c-midashi {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}
@media (min-width: 769px) {
  .c-midashi {
    margin-bottom: 48px;
  }
}

.c-midashi__en {
  font-size: 48px;
  font-weight: 700;
  color: #023581;
  line-height: 1.172;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 769px) {
  .c-midashi__en {
    font-size: 100px;
  }
}

.c-midashi__ja {
  font-size: 14px;
  font-weight: 400;
  color: #023581;
  line-height: 1.2;
}
@media (min-width: 769px) {
  .c-midashi__ja {
    font-size: 16px;
  }
}

/* ==========================================================================
   パンくずリスト
========================================================================== */
.p-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (min-width: 769px) {
  .p-breadcrumb {
    margin-bottom: 48px;
  }
}

.p-breadcrumb__link {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #023581;
  font-size: 14px;
  line-height: 1.7;
}

.p-breadcrumb__icon-home {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.p-breadcrumb__sep {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.p-breadcrumb__current {
  font-size: 14px;
  color: #19191C;
  line-height: 1.2;
}

/* ==========================================================================
   イントロテキスト
========================================================================== */
.p-contact__intro {
  max-width: 1060px;
  margin: 0 auto;
  padding: 32px 16px;
}
@media (min-width: 769px) {
  .p-contact__intro {
    padding: 0 96px 64px;
  }
}

.p-contact__intro-text {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  line-height: 1.7;
  text-align: left;
}
@media (min-width: 769px) {
  .p-contact__intro-text {
    font-size: 16px;
    text-align: center;
  }
}

/* ==========================================================================
   メインフォームエリア
========================================================================== */
.p-contact__main {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 16px 60px;
}
@media (min-width: 769px) {
  .p-contact__main {
    padding: 0;
  }
}

/* ==========================================================================
   フォームリスト
========================================================================== */
.p-formList {
  background: #fff;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-radius: 32px;
}
@media (min-width: 769px) {
  .p-formList {
    padding: 90px;
  }
}

@media (min-width: 769px) and (max-width:1060px) {
  .p-formList {
    margin: 24px;
  }
}

/* ==========================================================================
   フォームアイテム
========================================================================== */
.p-formItem {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: auto;
  padding: 16px 0;
}
@media (min-width: 769px) {
  .p-formItem {
    flex-direction: row;
    align-items: flex-start;
    min-height: 100px;
    padding: 0;
    border-bottom: none;
  }
}

.p-formItem:last-child {
  border-bottom: none;
}

@media (min-width: 769px) {
  .p-formItem--tall {
    padding: 20px 0;
  }
}

.p-formItem--privacy {
  align-items: flex-start;
  padding-top: 16px;
}
@media (min-width: 769px) {
  .p-formItem--privacy {
    padding-top: 8px;
  }
}

.p-formItem__left {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 0 8px 0;
}
@media (min-width: 769px) {
  .p-formItem__left {
    width: 280px;
    flex-shrink: 0;
    align-items: flex-start;
    padding: 18px 20px 18px 0;
  }
}

.p-formItem__left--checkbox {
  padding: 0 0 16px 0;
}
@media (min-width: 769px) {
  .p-formItem__left--checkbox {
    padding: 0 20px 18px 0;
  }
}

.p-formItem__left--textarea {
  padding: 0 0 8px 0;
}
@media (min-width: 769px) {
  .p-formItem__left--textarea {
    padding: 0 20px 0 0;
  }
}

.p-formItem__left--privacy {
  align-items: flex-start;
  padding-top: 0;
}

.p-formItem__label {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .p-formItem__label {
    font-size: 16px;
  }
}

.p-formItem__label_s {
  font-size: 13px;
  color: #5d5d5d;
  font-weight: normal;
}

/* 必須マーク（アスタリスク） */
.p-required-asterisk {
  color: var(--contact-red);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}
@media (min-width: 769px) {
  .p-required-asterisk {
    font-size: 20px;
  }
}

/* 必須バッジ（枠線） */
.p-required-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--contact-red);
  color: var(--contact-red);
  font-size: 11px;
  font-weight: 400;
  padding: 3px 8px;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .p-required-badge {
    font-size: 12px;
    padding: 8px 18px;
  }
}

/* フォームアイテム右カラム */
.p-formItem__right {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
}
@media (min-width: 769px) {
  .p-formItem__right {
    padding: 18px 0;
  }
}

.p-formItem__right--no-top {
  padding-top: 0;
}

.p-formItem__right--checkbox-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 0;
}

.p-formItem__right--checkbox-grid .c-checkbox {
  min-width: 120px;
}

@media (min-width: 769px) {
  .p-formItem__right--checkbox-grid {
    padding: 0 0 48px 0;
  }
}

.displayno{
  display: none;
}
@media (min-width: 769px) {
  .displayno {
    display: block;
  }
}


.p-formItem__right--selects {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* know_other 条件付き入力欄 */
.p-know-other {
  width: 100%;
  margin-top: 8px;
}

.p-formItem__right--date {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
}
@media (min-width: 769px) {
  .p-formItem__right--date {
    padding: 18px 0;
  }
}

.p-formItem__right--privacy {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 0;
}

/* ==========================================================================
   テキスト入力
========================================================================== */
.c-input {
  width: 100%;
  height: 50px;
  background: var(--contact-input-bg);
  border: 1px solid var(--contact-input-border);
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 14px;
  color: #19191C;
  outline: none;
  font-family: inherit;
}
@media (min-width: 769px) {
  .c-input {
    height: 60px;
  }
}

.c-input::placeholder { color: var(--contact-placeholder); }
.c-input:focus { border-color: #023581; }

/* ==========================================================================
   セレクトボックス
========================================================================== */
.c-select {
  width: 100%;
  height: 50px;
  background: #fff;
  border: 1px solid var(--contact-border-light);
  padding: 8px 40px 8px 16px;
  font-size: 12px;
  color: #000;
  outline: none;
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23000' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
  border-radius: 8px;
}
@media (min-width: 769px) {
  .c-select--sm   { width: 256px; }
  .c-select--md   { width: 336px; }
  .c-select--date { width: 256px; }
  .c-select--time { width: 256px; }
}

/* ==========================================================================
   テキストエリア
========================================================================== */
.c-textarea,
.wpcf7-textarea.c-textarea,
textarea.wpcf7-form-control.c-textarea {
  width: 100%;
  height: 160px;
  background: var(--contact-input-bg);
  border: 1px solid var(--contact-border-light);
  border-radius: 8px;
  padding: 8px;
  font-size: 14px;
  color: #19191C;
  outline: none;
  font-family: inherit;
  resize: vertical;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .c-textarea,
  .wpcf7-textarea.c-textarea,
  textarea.wpcf7-form-control.c-textarea {
    height: 178px;
    line-height: 2;
  }
}

.c-textarea::placeholder,
.wpcf7-textarea.c-textarea::placeholder,
textarea.wpcf7-form-control.c-textarea::placeholder { color: var(--contact-placeholder); }

.c-textarea:focus,
.wpcf7-textarea.c-textarea:focus,
textarea.wpcf7-form-control.c-textarea:focus { border-color: #023581; }

.c-textarea__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.c-textarea__error {
  font-size: 12px;
  color: var(--contact-error-red);
  line-height: 1.7;
}

.c-textarea__counter {
  font-size: 12px;
  color: #000;
  text-align: right;
}

/* ==========================================================================
   チェックボックス
========================================================================== */
.c-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  white-space: nowrap;
}

.c-checkbox input[type="checkbox"] {
  display: none;
}

.c-checkbox__box {
  width: 24px;
  height: 24px;
  border: 1px solid var(--contact-border-light);
  border-radius: 4px;
  background: #fff;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.c-checkbox input[type="checkbox"]:checked + .c-checkbox__box {
  background: #023581;
  border-color: #023581;
}

.c-checkbox input[type="checkbox"]:checked + .c-checkbox__box::after {
  content: '';
  width: 11px;
  height: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='8' viewBox='0 0 11 8'%3E%3Cpath d='M1 4L4 7L10 1' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.c-checkbox__label {
  font-size: 14px;
  color: #19191C;
  line-height: 1.5;
}

/* ==========================================================================
   Contact Form 7 チェックボックス対応（CSS-only）
========================================================================== */
.wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.wpcf7-list-item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  white-space: nowrap;
  margin: 0;
}

.wpcf7-list-item label input[type="checkbox"] {
  display: none;
}

.wpcf7-list-item label::before {
  content: '';
  width: 24px;
  height: 24px;
  border: 1px solid var(--contact-border-light);
  border-radius: 4px;
  background: #fff;
  flex-shrink: 0;
  display: inline-block;
  position: relative;
}

.wpcf7-list-item label:has(input[type="checkbox"]:checked)::before {
  background: #023581;
  border-color: #023581;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='8' viewBox='0 0 11 8'%3E%3Cpath d='M1 4L4 7L10 1' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px 8px;
}

@media (max-width: 768px) {
  .wpcf7-checkbox {
    gap: 12px;
  }
}

/* ==========================================================================
   プライバシーテキスト
========================================================================== */
.p-privacy-text {
  font-size: 13px;
  color: #000;
  line-height: 1.7;
}

.p-privacy-text a {
  text-decoration: underline;
  font-weight: bold;
}
@media (min-width: 769px) {
  .p-privacy-text {
    font-size: 14px;
    max-width: 596px;
  }
}

/* ==========================================================================
   送信ボタンエリア
========================================================================== */
.p-btnArea {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 32px 0 64px;
}
@media (min-width: 769px) {
  .p-btnArea {
    padding: 40px 0 80px;
  }
}

.c-btnPrimary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: #023581;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  padding: 16px 60px;
  width: 100%;
  max-width: 320px;
  height: 60px;
  border: none;
  cursor: pointer;
  font-family: inherit;
  transition: opacity 0.2s;
  border-radius: 32px;
  margin: auto;
}
@media (min-width: 769px) {
  .c-btnPrimary {
    font-size: 16px;
    width: 300px;
    height: 65px;
  }
}

.c-btnPrimary:hover { opacity: 0.85; }

.c-btnPrimary__icon-mail {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
@media (min-width: 769px) {
  .c-btnPrimary__icon-mail {
    width: 24px;
    height: 24px;
  }
}

.c-btnPrimary__icon-arrow {
  width: 7px;
  height: 14px;
  flex-shrink: 0;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

/* ==========================================================================
   コンタクトCTAセクション
========================================================================== */
.p-contact__bg {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.p-contact__head-ttl {
  padding: 3px 0 4px;
}

.p-contact__body {
  max-width: 1060px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.p-contact__body-lead {
  padding-bottom: 2px;
}

.p-contact__boxes {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  padding: 0 20px;
}
@media (min-width: 769px) {
  .p-contact__boxes {
    flex-direction: row;
    gap: 32px;
    padding: 0;
    width: auto;
  }
}

.p-contact__box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #fff;
  border-radius: 50px;
  padding: 16px 24px;
  width: 100%;
}
@media (min-width: 769px) {
  .p-contact__box {
    justify-content: flex-start;
    padding: 20px 36px 20px 33px;
    min-width: 294px;
    width: auto;
  }
}

.p-contact__box-icon {
  width: 30px;
  height: 36px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-contact__box-phone {
  font-size: 24px;
  font-weight: 600;
  color: #fff;
  line-height: 1.171;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 769px) {
  .p-contact__box-phone {
    font-size: 28px;
  }
}

.p-contact__box-mail-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}
@media (min-width: 769px) {
  .p-contact__box-mail-icon {
    width: 32px;
    height: 32px;
  }
}

.p-contact__box-mail-text {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  line-height: 1.45;
}
@media (min-width: 769px) {
  .p-contact__box-mail-text {
    font-size: 18px;
  }
}

.p-contact__body-time {
  padding-bottom: 2px;
  font-size: 13px;
}
@media (min-width: 769px) {
  .p-contact__body-time {
    font-size: 14px;
  }
}

/* ==========================================================================
   Contact Form 7カスタマイズ
========================================================================== */

/* フォーム全体のレイアウト */
.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* フォームグループ（ラベル+入力欄のセット） */
.wpcf7-form p {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ラベル */
.wpcf7-form label {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
@media (min-width: 769px) {
  .wpcf7-form label {
    font-size: 16px;
  }
}

/* テキスト入力・メール・電話 */
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-tel,
.wpcf7-form-control.wpcf7-number {
  width: 100%;
  padding: 14px 16px;
  background-color: var(--contact-input-bg);
  border: 1px solid var(--contact-input-border);
  border-radius: 4px;
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  transition: border-color 0.3s ease;
}

.wpcf7-form-control.wpcf7-text:focus,
.wpcf7-form-control.wpcf7-email:focus,
.wpcf7-form-control.wpcf7-tel:focus,
.wpcf7-form-control.wpcf7-number:focus {
  outline: none;
  border-color: #023581;
}

/* テキストエリア */
.wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  padding: 14px 16px;
  background-color: var(--contact-input-bg);
  border: 1px solid var(--contact-input-border);
  border-radius: 4px;
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  min-height: 200px;
  resize: vertical;
  transition: border-color 0.3s ease;
}

.wpcf7-form-control.wpcf7-textarea:focus {
  outline: none;
  border-color: #023581;
}

/* セレクトボックス - c-selectスタイルに統一 */
.wpcf7-form-control.wpcf7-select {
  height: 50px;
  background: #fff;
  border: 1px solid var(--contact-border-light);
  padding: 8px 40px 8px 16px;
  font-size: 14px;
  color: #000;
  outline: none;
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23000' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
  border-radius: 8px;
  transition: border-color 0.3s ease;
}

.wpcf7-form-control.wpcf7-select:focus {
  outline: none;
  border-color: #023581;
}

/* チェックボックス・ラジオボタンのリスト */
.wpcf7-checkbox,
.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  width: 100%;
}

/* チェックボックス・ラジオボタンの各項目 */
.wpcf7-list-item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

/* チェックボックス（ネイティブスタイル使用） */
.wpcf7-list-item input[type="checkbox"],
.wpcf7-list-item input[type="radio"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #023581;
}

/* ラベルテキスト */
.wpcf7-list-item-label {
  cursor: pointer;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
  user-select: none;
}
@media (min-width: 769px) {
  .wpcf7-list-item-label {
    font-size: 16px;
  }
}

/* 同意チェックボックス（acceptance） */
.wpcf7-acceptance .wpcf7-list-item {
  align-items: flex-start;
}


/* 送信ボタン */
.wpcf7-form-control.wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: #023581;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 7 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 7L1 13' stroke='white' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 7px 14px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  padding: 16px 20px;
  width: 100%;
  max-width: 320px;
  height: 60px;
  border: none;
  cursor: pointer;
  font-family: inherit;
  transition: opacity 0.2s;
  border-radius: 32px;
}
@media (min-width: 769px) {
  .wpcf7-form-control.wpcf7-submit {
    font-size: 16px;
    width: 300px;
    height: 65px;
  }
}

.wpcf7-form-control.wpcf7-submit:hover {
  opacity: 0.85;
}


/* 送信中の状態 */
.wpcf7-form.submitting .wpcf7-submit {
  opacity: 0.6;
  cursor: not-allowed;
}

/* エラーメッセージ */
.wpcf7-not-valid-tip {
  display: block;
  color: var(--contact-error-red);
  font-size: 13px;
  margin-top: 4px;
  line-height: 1.4;
}
@media (min-width: 769px) {
  .wpcf7-not-valid-tip {
    font-size: 14px;
  }
}

/* バリデーションエラー時の入力欄 */
.wpcf7-form-control.wpcf7-not-valid {
  border-color: var(--contact-error-red);
  background-color: #fff5f5;
}

.wpcf7 form .wpcf7-response-output {
  padding: 1em;
  border: 2px solid var(--contact-error-red);
}

/* 送信成功・失敗メッセージ */
.wpcf7-response-output {
  margin: 24px 0 0;
  padding: 16px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .wpcf7-response-output {
    font-size: 16px;
  }
}

.wpcf7-mail-sent-ok {
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  color: #155724;
}

.wpcf7-mail-sent-ng,
.wpcf7-validation-errors,
.wpcf7-acceptance-missing {
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  color: var(--contact-error-red);
}

/* スピナー（送信中アニメーション） */
.wpcf7-spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: wpcf7-spin 1s linear infinite;
}

@keyframes wpcf7-spin {
  to {
    transform: rotate(360deg);
  }
}

/* フォームグループの間隔調整 */
.wpcf7-form > p:not(:last-child) {
  margin-bottom: 0;
}

/* ==========================================================================
   確認画面
========================================================================== */
.p-confirm {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 16px 48px;
}

.p-confirm__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* 確認テーブル（DL） */
.p-confirm__dl {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  border-top: 1px solid #d9d9d9;
}

.p-confirm__row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 0;
  border-bottom: 1px solid #d9d9d9;
}
@media (min-width: 769px) {
  .p-confirm__row {
    flex-direction: row;
    align-items: baseline;
    gap: 0;
    padding: 20px 0;
  }
}

.p-confirm__dt {
  color: #666;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  flex-shrink: 0;
}
@media (min-width: 769px) {
  .p-confirm__dt {
    width: 220px;
    font-size: 14px;
    padding-right: 24px;
  }
}

.p-confirm__dd {
  margin: 0;
  color: #19191C;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  word-break: break-all;
}
@media (min-width: 769px) {
  .p-confirm__dd {
    flex: 1;
    font-size: 16px;
  }
}

/* 確認画面のボタンエリア */
.p-confirm__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
@media (min-width: 769px) {
  .p-confirm__actions {
    flex-direction: row;
    justify-content: center;
    gap: 24px;
  }
}

/* セカンダリボタン（戻るボタン） */
.c-btnSecondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  color: #023581;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  padding: 16px 20px;
  width: 100%;
  max-width: 320px;
  height: 60px;
  border: 2px solid #023581;
  cursor: pointer;
  font-family: inherit;
  transition: opacity 0.2s;
  border-radius: 32px;
}
@media (min-width: 769px) {
  .c-btnSecondary {
    font-size: 16px;
    width: 300px;
    height: 65px;
  }
}
.c-btnSecondary:hover { opacity: 0.7; }

/* 送信ボタン（確認画面）：右矢印付きプライマリ */
.c-btnPrimary--arrow {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 7 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 7L1 13' stroke='white' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 7px 14px;
}

/* ==========================================================================
   完了ページ
========================================================================== */
.p-complete {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 16px 80px;
}
@media (min-width: 769px) {
  .p-complete {
    padding-bottom: 120px;
  }
}

.p-complete__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: center;
}

.p-complete__title {
  font-size: 22px;
  font-weight: 700;
  color: #19191C;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .p-complete__title {
    font-size: 26px;
  }
}

.p-complete__text {
  font-size: 15px;
  color: #555;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-complete__text {
    font-size: 16px;
  }
}
