/* ============================================================
   その他固定ページ共通
   FAQ / お問い合わせ / 代表ページ / 会社概要
============================================================ */

/* SWELL自動タイトル非表示 */
.page-id-185 .c-pageTitle,
.page-id-187 .c-pageTitle,
.page-id-3 .c-pageTitle,
.page-id-183 .c-pageTitle,
.page-id-457 .c-pageTitle{
  display:none !important;
}

/* 上余白リセット */
.page-common .l-content,
.page-common .l-mainContent,
.page-common .l-mainContent__inner,
.page-common .post_content{
  padding-top:0 !important;
  margin-top:0 !important;
}

/* 背景 */
.page-common .post_content{
  background:#F7F7F5;
}

/* 共通本文幅 */
.faq-wrap,
.wpcf7{
  max-width:760px;
  margin:0 auto;
}

/* ============================================================
   FAQページ
============================================================ */

.faq-page-lead{
  max-width:760px;
  margin:0 auto 60px;
  padding:70px 24px 0;
  color:#2F3B4C;
  font-size:16px;
  line-height:2;
  font-weight:500;
}

.faq-wrap{
  padding:0 24px 90px;
}

.faq-heading{
  text-align:center;
  margin-bottom:60px;
}

.faq-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 18px;
  border-radius:999px;
  background:#F5F1E8;
  color:#C8A96A;
  font-size:13px;
  font-weight:700;
  letter-spacing:.12em;
  margin-bottom:26px;
}

.faq-title{
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif !important;
  color:#0F2A44 !important;
  font-size:42px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  margin:0 !important;
  background:none !important;
  border:none !important;
  padding:0 !important;
}

.faq-list{
  border-top:1px solid rgba(15,42,68,.14);
}

.faq-item{
  border-bottom:1px solid rgba(15,42,68,.14);
  padding:0;
}

.faq-question{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:28px 56px 28px 0;
  color:#0F2A44;
  font-size:18px;
  line-height:1.7;
  font-weight:700;
}

.faq-question::-webkit-details-marker{
  display:none;
}

.faq-question::after{
  content:"+";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  color:#C8A96A;
  font-size:32px;
  font-weight:500;
  line-height:1;
}

.faq-item[open] .faq-question::after{
  content:"−";
}

.faq-answer p{
  color:#3E4A59;
  font-size:15px;
  line-height:2;
  margin:0;
}

/* ============================================================
   お問い合わせページ
============================================================ */

.page-id-185 .wpcf7{
  background:#fff;
  border:1px solid rgba(200,169,106,.28);
  border-radius:24px;
  padding:50px;
  box-shadow:0 12px 36px rgba(15,42,68,.06);
}

.page-id-185 .wpcf7 p{
  margin:0 0 26px;
  color:#0F2A44;
  font-size:15px;
  font-weight:700;
}

.page-id-185 .wpcf7 input[type="text"],
.page-id-185 .wpcf7 input[type="email"],
.page-id-185 .wpcf7 input[type="tel"],
.page-id-185 .wpcf7 textarea{
  width:100%;
  border:1px solid rgba(15,42,68,.16);
  border-radius:10px;
  padding:14px 16px;
  background:#fff;
  color:#2F3B4C;
  font-size:15px;
  margin-top:8px;
}

.page-id-185 .wpcf7 textarea{
  min-height:220px;
}

.page-id-185 .wpcf7 input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  min-height:54px;
  border:none;
  border-radius:999px;
  background:#12385B;
  color:#fff;
  font-size:15px;
  font-weight:600;
  letter-spacing:.04em;
  cursor:pointer;
  transition:.25s ease;
}

.page-id-185 .wpcf7 input[type="submit"]:hover{
  background:#1A4A74;
  transform:translateY(-2px);
}
.contact-select{
  max-width:900px;
  margin:60px auto 0;
  padding-bottom: 100px;
}

.contact-select-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
  margin-bottom:30px;
}

.contact-select-card,
.contact-mail-card{
  background:#fff;
  border:1px solid rgba(200,169,106,.28);
  border-radius:26px;
  padding:36px;
  box-shadow:0 12px 36px rgba(15,42,68,.06);
}

.contact-select-label{
  display:inline-flex;
  padding:7px 16px;
  border-radius:999px;
  background:#F5F1E8;
  color:#C8A96A;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  margin-bottom:20px;
}

.contact-select-card h3,
.contact-mail-card h3{
  font-family:"Noto Serif JP","Yu Mincho",serif;
  color:#0F2A44;
  font-size:24px;
  margin:0 0 16px;
}

.contact-select-card p,
.contact-mail-card p{
  color:#526071;
  font-size:15px;
  line-height:1.9;
  margin:0 0 26px;
}

.contact-line-btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:52px;
  padding:0 28px;
  border-radius:999px;
  background:#3D8F5F;
  color:#fff !important;
  text-decoration:none;
  font-weight:600;
}

.contact-tel-number{
  color:#0F2A44;
  font-size:30px;
  font-weight:700;
  margin-bottom:8px;
}

.contact-time{
  color:#6C7887;
  font-size:14px;
}

.contact-mail-card{
  margin-top:30px;
}
.contact-select{
  max-width:900px;
  margin:60px auto 0;
}

.contact-select-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:28px !important;
  margin-bottom:34px;
}

.contact-select-card{
  width:auto !important;
}

/* フォームカードを少し締める */
.contact-mail-card{
  max-width:900px;
  margin:34px auto 0;
}

/* フォーム内の余白を少し抑える */
.contact-mail-card .wpcf7{
  max-width:820px;
  margin:28px auto 0;
}
.contact-tel-number{
  display:block;
  text-decoration:none;
}
/* ==== COMPANY PAGE ==== */ 
.company-inner{ max-width:980px; margin:0 auto; padding:0 40px; } 
.company-message, .company-license, .company-overview{ padding:90px 0; } 
.company-message{ background:#fff; } 
.company-license{ background:#F4F1EA; } .company-overview{ background:#fff; } .company-heading{ text-align:center; margin-bottom:56px; } .company-message-box{ background:#fff; border:1px solid rgba(200,169,106,.25); border-radius:26px; padding:60px 70px; box-shadow:0 12px 38px rgba(15,42,68,.06); } .company-message-box p{ color:#3E4A59; font-size:16px; line-height:2.35; letter-spacing:.04em; margin:0 0 28px; } .company-message-box p:last-child{ margin-bottom:0; } .company-message-strong{ color:#0F2A44; font-weight:700; background:linear-gradient(transparent 62%, rgba(200,169,106,.28) 62%); } .company-license-list{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; } .company-license-list div{ background:#fff; border:1px solid rgba(200,169,106,.28); border-radius:18px; padding:24px 18px; color:#0F2A44; text-align:center; font-weight:700; box-shadow:0 8px 24px rgba(15,42,68,.05); } .company-table-wrap{ background:#fff; border:1px solid rgba(200,169,106,.25); border-radius:26px; overflow:hidden; box-shadow:0 12px 38px rgba(15,42,68,.06); } .company-table{ width:100%; border-collapse:collapse; } .company-table th, .company-table td{ border-bottom:1px solid rgba(15,42,68,.08); padding:24px 28px; font-size:15px; line-height:1.9; vertical-align:top; } .company-table tr:last-child th, .company-table tr:last-child td{ border-bottom:none; } .company-table th{ width:28%; background:#F5F1E8; color:#0F2A44; font-weight:700; text-align:left; } .company-table td{ color:#3E4A59; background:#fff; } .company-table td span{ font-size:13px; color:#6C7887; }

/*プライバシーポリシー*/
.page-common{
  max-width:980px;
  margin:0 auto;
  padding:80px 40px 100px;
}

.privacy-page .privacy-section{
  margin-bottom:58px;
}

.privacy-page .privacy-section p,
.privacy-page .privacy-section li{
  font-size:15px;
  line-height:2;
  color:#3E4A59;
}
/* プライバシーポリシー 見出しリセット強化 */
/* プライバシーポリシー h2 強制上書き */
.privacy-page h2,
.page-common h2{
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid rgba(15,42,68,.12) !important;
  border-left:4px solid #C8A96A !important;
  box-shadow:none !important;

  color:#0F2A44 !important;
  font-size:22px !important;
  line-height:1.6 !important;
  font-weight:700 !important;

  padding:0 0 14px 18px !important;
  margin:0 0 24px !important;
}

.privacy-page h2::before,
.privacy-page h2::after,
.page-common h2::before,
.page-common h2::after{
  display:none !important;
  content:none !important;
}
/*サンクスページ*/ 
.thanks-box{ max-width:760px; margin:0 auto; background:#fff; border:1px solid rgba(15,42,68,.08); border-radius:28px; padding:70px 60px; text-align:center; box-shadow:0 18px 44px rgba(15,42,68,.06); } /* チェックアイコン */ .thanks-icon{ width:90px; height:90px; margin:0 auto 30px; border-radius:50%; background:#0F2A44; color:#fff; font-size:42px; font-weight:700; display:flex; align-items:center; justify-content:center; } /* タイトル */ .thanks-title{ color:#0F2A44; font-size:36px; line-height:1.5; margin-bottom:34px; font-family:"Noto Serif JP","Yu Mincho",serif; } /* 本文 */ .thanks-text{ color:#3E4A59; line-height:2.1; font-size:16px; margin-bottom:28px; } /* LINEボックス */ .thanks-line-box{ margin-top:50px; padding:40px 34px; border-radius:22px; background:#F7F5F1; border:1px solid rgba(200,169,106,.20); } .thanks-line-label{ color:#0F2A44; font-size:24px; font-weight:700; margin-bottom:20px; } /* LINEボタン */ .thanks-line-btn{ display:inline-block; margin-top:24px; background:#06C755; color:#fff !important; text-decoration:none; padding:16px 38px; border-radius:999px; font-weight:700; transition:.3s; } .thanks-line-btn:hover{ transform:translateY(-2px); opacity:.92; } /* .thanks-home-btn{ display:inline-block; padding:15px 42px; border-radius:999px; background:#0F2A44; color:#fff !important; text-decoration:none; font-weight:700; transition:.3s; } .thanks-home-btn:hover{ transform:translateY(-2px); opacity:.92; }
/* ============================================================
   スマホ対応
============================================================ */

@media screen and (max-width:768px){

  .faq-page-lead{
    padding:54px 24px 0;
    margin-bottom:46px;
    font-size:15px;
  }

  .faq-wrap{
    padding:0 24px 70px;
  }

  .faq-title{
    font-size:32px !important;
  }

  .faq-heading{
    margin-bottom:44px;
  }

  .faq-question{
    font-size:16px;
    padding:24px 44px 24px 0;
  }

  .faq-question::after{
    font-size:28px;
  }

  .page-id-185 .wpcf7{
    padding:34px 24px;
    border-radius:20px;
  }
.contact-select{
    margin-top:46px;
  }

  .contact-select-grid{
    grid-template-columns:1fr;
  }

.contact-select-grid{
    grid-template-columns:1fr !important;
  }
  .contact-page{
    padding:60px 18px 90px !important;
  }

  .contact-select{
    margin-top:42px !important;
  }

  .contact-select-card,
  .contact-mail-card{
    padding:26px 20px !important;
    border-radius:22px;
  }

  .contact-mail-card .wpcf7{
    margin-top:20px !important;
  }

  .contact-form-card input,
  .contact-form-card textarea,
  .contact-mail-card input,
  .contact-mail-card textarea{
    font-size:16px;
  }
.company-inner{ padding:0 24px; } 
.company-message, .company-license, .company-overview{ padding:70px 0; } 
.company-message-box{ padding:40px 28px; border-radius:22px; } 
.company-license-list{ grid-template-columns:repeat(2,1fr); } 
.company-table th, .company-table td{ display:block; width:100%; padding:18px 22px; } 
.company-table th{ border-bottom:none; }
.thanks-page{ padding:60px 20px 80px; } .thanks-box{ padding:50px 26px; border-radius:22px; } .thanks-title{ font-size:28px; } .thanks-text{ font-size:15px; line-height:2; text-align: left; }
.thanks-line-box{ padding:30px 22px; }
.thanks-line-box p{ text-align: left; }
.thanks-line-label{ font-size:21px; } .thanks-line-btn, .thanks-home-btn{ width:100%; text-align:center; }
}

@media screen and (max-width:480px){

  .faq-page-lead{
    padding:44px 18px 0;
    font-size:14px;
    line-height:1.9;
  }

  .faq-wrap{
    padding:0 18px 30px;
  }

  .faq-title{
    font-size:28px !important;
  }

  .faq-label{
    font-size:12px;
    padding:7px 16px;
  }

  .faq-question{
    font-size:15px;
    line-height:1.8;
  }

  .faq-answer p{
    font-size:14px;
  }

  .page-id-185 .wpcf7{
    padding:28px 18px;
  }

  .page-id-185 .wpcf7 input[type="submit"]{
    width:100%;
  }
.contact-select-card h3,
  .contact-mail-card h3{
    font-size:21px;
  }

  .contact-line-btn{
    width:100%;
  }

  .contact-tel-number{
    font-size:24px;
  }
.contact-select-grid{
    grid-template-columns:1fr !important;
  }

  .contact-mail-card{
    max-width:100%;
  }
.company-inner{ padding:0 18px; } 
.company-message-box{ padding:32px 22px; } 
.company-message-box p{ font-size:14px; line-height:2.1; } 
.company-license-list{ grid-template-columns:1fr; } 
.company-license-list div{ padding:20px 16px; } 
.company-table th, .company-table td{ font-size:14px; }
}