/*
Theme Name: cocople-ShopStandard Child
Template: cocople-ShopStandard-v-1-0-2-ssl
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* ==================================================
  Global
===================================================== */
:root {
  /* Brand */
  --brand: #E62E8B;
  --brand-strong: #FF178B;
  /* Base */
  --bg: #FFFFFF;
  --bg-alt: #F6F7F9;
  --bg-pink: #FFD6E8;
  /* POP Accent */
  --pop: #4FB3A2;
  /* Text */
  --text: #2B2B2B;
  --text-muted: #6B7280;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: 0.03em;
  background: var(--bg);
  color: var(--text);
}

body p,
body li,
body span,
body a,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  font-family: inherit;
}

.mb-10 { margin-bottom: 10px; }
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }
.mb-40 { margin-bottom: 40px; }
.mb-50 { margin-bottom: 50px; }

.mt-5 { margin-top: 5px; }
.mt-10 { margin-top: 10px; }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }
.mt-30 { margin-top: 30px; }

a {
  color: var(--brand);
}

a:hover {
  color: var(--brand-strong);
}

h2, h3 {
  color: var(--brand);
}

h2 {
  padding-left: 12px;
}

/* =========================================
ボタン（警告）
============================================ */
.btn-danger {
  background-color: var(--brand);
  border-color: var(--brand);
  color: #fff;
}

/* hover / focus */
.btn-danger:hover,
.btn-danger:focus {
  background-color: var(--brand-strong);
  border-color: var(--brand-strong);
  color: #fff;
}

/* active */
.btn-danger:active,
.btn-danger.active {
  background-color: var(--brand-strong);
  border-color: var(--brand-strong);
}

/* disabled */
.btn-danger.disabled,
.btn-danger[disabled] {
  background-color: var(--bg-pink);
  border-color: var(--bg-pink);
  color: var(--text-muted);
}


/* =========================================
PC グローバルメニュー
============================================ */
/* ナビ全体 */
header nav.navbar {
  background: var(--bg);
  margin: 0;
}

header nav.navbar .list {
  padding: 0;
}

/* li 側の余計な装飾・余白を完全にリセット */
header nav.navbar .list ul li {
  margin: 0;
  padding: 0;
  border: none !important;
}

/* ul（メニュー全体） */
header nav.navbar .list ul.navbar-nav {
  float: none;
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
}

header nav.navbar .list ul.navbar-nav > li > a {
  display: block;
  height: 100%;
  margin: 0;
  color: var(--text);
  font-weight: 500;
  text-decoration: none;
  padding: 14px 16px;
  /* 区切り線：点線（右だけ） */
  /* border-right: 1px dashed rgba(43, 43, 43, .3); */
  border-right: 1.5px solid var(--bg-alt);
  border-radius: 0;
  /* 背景を端まで塗る */
  background-clip: border-box;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
}

/* 最後の区切り線は消す */
header nav.navbar .list ul.navbar-nav > li:last-child > a {
  border-right: none;
}

/* hover：ピンクが完全に枠いっぱい */
header nav.navbar .list ul.navbar-nav > li > a:hover {
  background-color: var(--bg-pink);
  color: var(--brand);
}

/* 現在地も同じ見た目 */
header nav.navbar .list ul.navbar-nav > li.current-menu-item > a,
header nav.navbar .list ul.navbar-nav > li.current_page_item > a,
header nav.navbar .list ul.navbar-nav > li.current-menu-ancestor > a {
  background-color: var(--bg-pink);
  color: var(--brand);
}

/* ヘッダー（タイトルと電話番号） */
.navbarHeader {
  background: rgba(230, 46, 139, .25); /* #E62E8B の薄塗り */
  z-index: 99999;
}

/* パンくずリスト */
.breadcrumb {
  background-color: var(--bg-alt);
}


/* =========================================
PC トップページメッセージ
============================================ */
.welcome-card {
  position: relative; /* ← イラスト配置用 */
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

.welcome-head {
  padding: 18px 18px 10px;
}

/* タイトル中央・ブランドカラー */
.welcome-title {
  margin: 0 0 20px;
  text-align: center;
  font-weight: 700;
  color: var(--brand);
  letter-spacing: 0.05em;
}

.welcome-lead {
  margin: 0;
  font-size: 1rem;
  line-height: 1.8;
  color: #2B2B2B;
}

.welcome-body {
  font-size: 1rem;
  padding: 0 18px 24px;
}

.welcome-body p {
  margin: 0 0 40px 0;
  font-size: 1rem;
  line-height: 1.9;
}

.welcome-note {
  position: relative;
  background: none;
  border: none;
  padding: 12px;
  border-radius: 8px;
  padding-right: 120px;
  margin-bottom: 40px;
}

.welcome-note::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 1px dashed rgba(230, 46, 139, 0.35);
  border-radius: 8px;
  z-index: 1;
  pointer-events: none;
}

.welcome-note-text {
  position: relative;
  z-index: 2;
  margin: 0;
  line-height: 1.9;
}

.welcome-illust {
  position: absolute;
  right: -6px;
  top: 100%;
  margin-top: -110px;
  width: 120px;
  pointer-events: none;
  z-index: 3;
  opacity: 0.95;
}

.welcome-illust img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* スマホ */
@media (max-width: 767px){
  .welcome-title {
    font-size: 1.5rem;
  }

  .welcome-body {
    padding-bottom: 24px;
  }

  .welcome-note {
    padding-right: 30px;
  }

  .welcome-illust {
    width: 88px;
    right: -8px;
    top: 100%;
    margin-top: -90px;
  }


}


/* =========================================
PC トップページ動画
============================================ */
body.home .top-video,
body.front-page .top-video{
  width: 100%;
  height: 60vh;
  background: #000;
  overflow: hidden;
}

body.home .top-video__video,
body.front-page .top-video__video{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ====== 会話ブロック（下） ====== */
body.home .top-talk,
body.front-page .top-talk{
  padding: 16px 16px;
  background: var(--bg-alt);
}

body.home .top-talk__wrap,
body.front-page .top-talk__wrap{
  max-width: 800px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 20px;
  align-items: center;
}

body.home .top-talk__img,
body.front-page .top-talk__img{
  max-width: 120px;
  width: 100%;
  height: auto;
  display: block;
}

/* ====== 吹き出し（右） ====== */
body.home .balloon,
body.front-page .balloon {
  position: relative;
  padding: 18px 18px;
  border-radius: 16px;
  background: var(--bg-pink);
  display: inline-block;
  width: auto;
  max-width: 100%;
}

body.home .balloon::before,
body.front-page .balloon::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

body.home .balloon::after,
body.front-page .balloon::after {
  content: "";
  position: absolute;
  left: -9px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-right: 11px solid var(--bg-pink);
}

body.home .balloon__text,
body.front-page .balloon__text{
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  white-space: normal;
  word-break: break-word;
  color: var(--text);
  font-weight: 600;
}

body.home .top-talk__left,
body.front-page .top-talk__left{
  text-align: right;
}

body.home .top-talk__img,
body.front-page .top-talk__img{
  margin-left: auto;
  display: block;
}


/* =========================================
PC フッター
============================================ */
footer { 
  background: var(--bg);
  color: var(--text);
}

.footer-top {
  background: var(--bg);
  padding: 60px 0;
}

.footer-menu {
  background: var(--bg-alt);;
  padding: 40px 0 60px 0;
  margin: 0 auto;
}

.footer-menu-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 40px;
}

.footer-menu-col-1 {
  flex: 0 0 auto;
}

.footer-menu-img {
  max-width: 200px;
  width: 100%;
  height: auto;
  display: block;
}

.footer-menu-col-2 {
  flex: 1;
}

.footer-menu-ul {
  list-style: none;
  margin: 0;
  padding-left: 12px;
  display: inline-grid;                 /* ← 重要：gridを縮める */
  grid-template-columns: max-content max-content;
  grid-auto-flow: column;
  grid-template-rows: repeat(4, auto);  /* 縦順優先のため4行で列分割 */
  column-gap: 72px;   /* 列間 */
  row-gap: 8px;
}

.footer-menu-ul-li {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  position: relative;
  padding-left: 16px;
}

/* まるぽち */
.footer-menu li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  background: var(--brand);
  border-radius: 3px;
}

.footer-menu-ul-li-a {
  font-weight: bold;
  display: inline-block;
  padding: 0;
  color: var(--text);
}

/* 外側の逃がし */
.footer-line-cta-wrap {
  padding: 0 12px;
}

/* LINE CTA本体 */
.footer-line-cta {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 16px;

  border: 3px solid #06C755;
  border-radius: 14px;
  background-color: #fff;
}

/* 画像 */
.footer-line-cta img {
  width: 100%;
  height: auto;
  display: block;
}

/* PC表示 */
.cta-pc {
  display: block;
}

.cta-sp {
  display: none;
}

/* スマホ表示 */
@media (max-width: 767px) {
  .cta-pc {
    display: none;
  }

  .cta-sp {
    display: block;
  }

  .footer-line-cta {
    /* padding: 8px 0; */
    max-width: none;      /* 制限解除 */
    padding: 16px 12px;   /* 内側は確保 */
}


}

/* =========================================
PC Copyright
============================================ */
.credits {
  background: #EDEDED;
  color: var(--text);
  text-align: center;
  padding: 20px 0 2px 0;
}

.credits p {
  color: var(--text);
  padding: 16px 0 12px 0;
  font-size: 0.85rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}

/* カルーセル（タイトル） */
.carousel-caption h2 {
  text-shadow: none;
    -webkit-text-stroke-width: 0;
    -webkit-text-stroke-color: transparent;
  font-family: "Noto Sans JP", sans-serif;
  color: var(--brand);
}

/* カルーセル（テキスト） */
.carousel-caption h4 {
  text-shadow: none;
    -webkit-text-stroke-width: 0;
    -webkit-text-stroke-color: transparent;
  font-family: "Noto Sans JP", sans-serif;
  color: var(--text);
}

.billboard-caption h2 {
  font-size: 3rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.tel a {
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--brand-strong);
  text-decoration: none;
  pointer-events: none;
}

.tel-header-inner {
  margin-top: 20px;
}

.tel-header a {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--bg-alt);
  text-decoration: none;
  pointer-events: none;
}

/* =========================================
店舗案内（page-id-3794）
============================================ */
body.page-id-3794 .panel-body {
  padding: 0;
}

body.page-id-3794 .panel {
  border-radius: 0;
  border: none;
  box-shadow: none;
}

body.page-id-3794 .content-box h3 {
  line-height: 1.5;
}

body.page-id-3794 table.company {
  width: 100%;
  margin: 0;
  border-spacing: 0px 5px;
}

body.page-id-3794 .photo-store {
  padding-top: 5px;
  margin: 0;
}

.map {
  width: 100%;
  height: 480px;
  margin-bottom: 84px;
}

/* =========================================
会社案内（page-id-3997）
============================================ */
body.page-id-3997 .panel-body {
  padding: 0;
}

body.page-id-3997 .panel {
  border-radius: 0;
}

body.page-id-3997 .middle {
  vertical-align: middle;
}

body.page-id-3997 table {
  margin-bottom: 0;
}

body.page-id-3997 .table>tbody>tr>th {
  line-height: 2;
}

/* =========================================
料金表（page-id-5275　右　本番は5270）
============================================ */
body.page-id-5270 table.price {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  table-layout: fixed;
}

body.page-id-5270 table.price th {
  text-align: left;
}

body.page-id-5270 table.price td {
  text-align: right;
}

body.page-id-5270 table.price thead th {
  text-align: center;
}

body.page-id-5270 table.price th,
body.page-id-5270 table.price td {
  padding: 8px 14px;
}

body.page-id-5270 table.price thead th {
  border-bottom: 1.5px solid #ccc;
}

body.page-id-5270 table.price tbody th,
body.page-id-5270 table.price tbody td {
  border-bottom: 1px solid #e5e5e5;
  font-weight: 400;
}

body.page-id-5270 table.price tbody tr:last-child th,
body.page-id-5270 table.price tbody tr:last-child td {
  border-bottom: none;
}

body.page-id-5270 table.price tbody td {
  color: var(--brand-strong);
  font-weight: 600;
}

/* 行の横線 */
body.page-id-5270 table.price tbody tr {
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
body.page-id-5270 table.price tbody tr:last-child {
  border-bottom: none;
}

/* 縦線（列の境界） */
body.page-id-5270 table.price tbody td {
  border-left: 1px solid #e5e5e5;
}
body.page-id-5270 table.price thead th:last-child {
  border-left: 1px solid #e5e5e5;
}


/* =========================================
サービスのご紹介（page-id-5332　→　本番は5271）
============================================ */
body.page-id-5271 .media-panel {
  border: 1px solid var(--bg-pink);
  border-radius: 6px;
  margin-bottom: 25px;
  box-shadow: none;
    -webkit-box-shadow: none;
}

body.page-id-5271 .media-row {
  display: table;
  width: 100%;
  table-layout: fixed;
}

body.page-id-5271 .media-cell {
  display: table-cell;
  vertical-align: middle;
  float: none;
}

body.page-id-5271 .media-img {
  border-radius: 4px;
}

body.page-id-5271 .media-title {
  margin-top: 0;
  margin-bottom: 10px;
  font-weight: bold;
  color: var(--brand);
}

/* 中身だけリンク化 */
body.page-id-5271 .panel-inner-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

/* hover 表現は中身だけ */
body.page-id-5271 .panel-inner-link:hover {
  text-decoration: none;
}

body.page-id-5271 .panel-inner-link:hover .media-title {
  color: #FF178B; /* ブランド強調色 */
}


/* =========================================
法人様向けサービス（page-id-5338　→　本番は5290）
============================================ */
body.page-id-5290 .media-panel {
  border: 1px solid var(--bg-pink);
  border-radius: 6px;
  margin-bottom: 25px;
  box-shadow: none;
    -webkit-box-shadow: none;
}

body.page-id-5290 .media-row {
  display: table;
  width: 100%;
  table-layout: fixed;
}

body.page-id-5290 .media-cell {
  display: table-cell;
  vertical-align: middle;
  float: none;
}

body.page-id-5290 .media-img {
  border-radius: 4px;
}

body.page-id-5290 .media-title {
  margin-top: 0;
  margin-bottom: 10px;
  font-weight: bold;
  color: var(--brand);
}

body.page-id-5290 .delivery-box {
  background: var(--bg-alt);;
  border-left: 4px solid var(--brand); /* ブランドカラー */
  padding: 15px 20px;
  margin: 30px 0;
}

body.page-id-5290 .delivery-box h4 {
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: bold;
}

body.page-id-5290 .delivery-box a {
  color: var(--brand);
  font-weight: bold;
  text-decoration: none;
}

body.page-id-5290 .delivery-box a:hover {
  text-decoration: underline;
}


/* =========================================
お問い合わせ（page-id-5326　→　本番は5288）
============================================ */
body.page-id-5288 .wpcf7 {
  max-width: 680px;        /* スマホと合わせるなら 680px 推奨 */
  margin: 0 auto;
}

/* 行間 */
body.page-id-5288 .wpcf7 form p {
  margin: 0 0 14px;
}

/* ラベル */
body.page-id-5288 .wpcf7 form label {
  display: block;
  margin: 0 0 6px;
  font-weight: 600;
  color: #2B2B2B;
}

/* 入力UI（PCも統一） */
body.page-id-5288 .wpcf7 input[type="text"],
body.page-id-5288 .wpcf7 input[type="email"],
body.page-id-5288 .wpcf7 input[type="tel"],
body.page-id-5288 .wpcf7 input[type="url"],
body.page-id-5288 .wpcf7 input[type="number"],
body.page-id-5288 .wpcf7 input[type="date"],
body.page-id-5288 .wpcf7 select,
body.page-id-5288 .wpcf7 textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #D1D5DB;
  border-radius: 10px;
  font-size: 16px;
  line-height: 1.5;
  background: #fff;
  color: #2B2B2B;
  box-sizing: border-box;
}

body.page-id-5288 .wpcf7 textarea {
  min-height: 140px;
  resize: vertical;
}

/* フォーカス（ブランドカラー） */
body.page-id-5288 .wpcf7 input:focus,
body.page-id-5288 .wpcf7 select:focus,
body.page-id-5288 .wpcf7 textarea:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(230,46,139,0.18);
}

/* 送信ボタン（PCは幅を自動にして中央寄せが自然） */
body.page-id-5288 .wpcf7 .wpcf7-submit {
  background-color: var(--brand);
  color: #fff;
  border: none;
  padding: 12px 28px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  display: inline-block;
}

/* ボタン行を中央寄せ（送信ボタンが1つの前提） */
body.page-id-5288 .wpcf7 form p:last-of-type {
  text-align: center;
  margin-bottom: 0;
}

/* ホバー */
body.page-id-5288 .wpcf7 .wpcf7-submit:hover {
  background-color: var(--brand-strong); /* #FF178B */
}

/* エラー */
body.page-id-5288 .wpcf7-not-valid{
  border-color: var(--brand) !important;
}

body.page-id-5288 .wpcf7-not-valid-tip {
  color: var(--brand);
  font-size: 14px;
  margin-top: 6px;
}

/* 送信結果メッセージ（成功/失敗共通の見た目） */
body.page-id-5288 .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 12px;
  border-radius: 12px;
  border: 2px solid var(--brand);
  background: #FFF5FA;
  color: var(--brand);
}

/* 状態別（必要なら残す：基本は上の共通で十分） */
body.page-id-5288 .wpcf7 form.invalid .wpcf7-response-output,
body.page-id-5288 .wpcf7 form.unaccepted .wpcf7-response-output,
body.page-id-5288 .wpcf7 form.payment-required .wpcf7-response-output,
body.page-id-5288 .wpcf7 form.failed .wpcf7-response-output,
body.page-id-5288 .wpcf7 form.aborted .wpcf7-response-output {
  border-color: var(--brand);
  color: var(--brand);
  background: #FFF5FA;
}

body.page-id-5288 .wpcf7 form.sent .wpcf7-response-output {
  border-color: var(--brand);
  color: var(--brand);
  background: #FFF5FA;
}

.page-id-5288 .footer-line-cta-wrap {
  padding-top: 60px;
}

/* =========================================
Mobile
============================================ */
@media (max-width: 767px) {

  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* 改行 */
  .line-break {
    display: block;
  }

  .navbar-brand img {
    width: 10rem;
  }

  .navbar-toggle {
    padding: 10px;
    margin-top: 6px;
    background-color: var(--brand);
  }

  table {
    font-size: 0.9rem;
  }

  .tel a {
    font-size: 1.8rem;
    pointer-events: auto;
  }

  .tel-header a {
    font-size: 1rem;
    pointer-events: auto;
  }

  /* 動画 */
  body.home .top-video,
  body.front-page .top-video{
    height: 45vh;
  }

  /* 動画下のイラスト */
  body.home .top-talk__wrap,
  body.front-page .top-talk__wrap{
    grid-template-columns: 1fr 2fr;
  }

  /* フッター全体を縦並び */
  .footer-menu-inner {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .footer-menu-col-1,
  .footer-menu-col-2 {
    width: 100%;
    text-align: center;
  }

  .footer-menu-img {
    max-width: 180px;
    height: auto;
    margin: 0 auto 24px;
    display: block;
  }

  .footer-menu-ul {
    display: block !important;
    width: auto;
    margin: 0 auto;
    padding-left: 0;
  }

  .footer-menu-ul-li {
    width: 100%;
    padding-left: 0;      /* ドット用余白を消す */
    text-align: center;
    margin-bottom: 6px;
  }

  /* 装飾ドットを消す */
  .footer-menu li::before {
    display: none;
  }

  /* リンクをタップしやすく */
  .footer-menu-ul-li-a {
    display: block;
    padding: 10px 0;
    text-align: center;
  }

  /* Copyright */
  .credits {
    line-height: 1.6;
    font-size: 12px;
  }

  .credits p {
    font-size: 0.75rem;
  }

  .copyright-all {
    display: block;
  }

/* =========================================
サービスのご紹介
============================================ */
  body.page-id-5271 .media-row {
    display: block;
    width: auto;
  }

  body.page-id-5271 .media-cell {
    display: block;
    float: none;
    width: auto;
  }

  body.page-id-5271 .media-panel .panel-body {
    padding: 12px;
  }

  body.page-id-5271 .media-img {
    display: inline-block;
    width: 100%;
    max-width: 260px;
  }

  body.page-id-5271 .panel-inner-link {
    display: block;
    text-align: center;
  }

  body.page-id-5271 .media-title {
    font-size: 18px;
    margin-top: 16px;
    margin-bottom: 16px;
  }

/* =========================================
法人様向けサービス
============================================ */
  body.page-id-5290 .media-row {
    display: block;
    width: auto;
    text-align: center;
  }

  body.page-id-5290 .media-cell {
    display: block;
    float: none;
    width: auto;
  }

  body.page-id-5290 .media-panel .panel-body {
    padding: 12px;
  }

  body.page-id-5290 .media-img {
    display: inline-block;
    width: 100%;
    max-width: 260px;
  }

  body.page-id-5290 .media-title {
    font-size: 18px;
    margin-top: 16px;
    margin-bottom: 16px;
  }



/* =========================================
お問い合わせ
============================================ */

  /* ページ内フォームのレイアウト枠（スマホ） */
  body.page-id-5288 .wpcf7 {
    max-width: 680px;
    margin: 0 auto;
    padding: 0 12px;
  }

  /* CF7：wrap と入力の“はみ出し”根治（これが本丸） */
  body.page-id-5288 .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.page-id-5288 .wpcf7-form-control {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* 行間 */
  body.page-id-5288 .wpcf7 form p {
    margin: 0 0 14px;
  }

  /* ラベル */
  body.page-id-5288 .wpcf7 form label {
    display: block;
    margin: 0 0 6px;
    font-weight: 600;
    color: #2B2B2B;
  }

  /* 入力 UI */
  body.page-id-5288 .wpcf7 input[type="text"],
  body.page-id-5288 .wpcf7 input[type="email"],
  body.page-id-5288 .wpcf7 input[type="tel"],
  body.page-id-5288 .wpcf7 input[type="url"],
  body.page-id-5288 .wpcf7 input[type="number"],
  body.page-id-5288 .wpcf7 input[type="date"],
  body.page-id-5288 .wpcf7 select,
  body.page-id-5288 .wpcf7 textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 16px;          /* iOSズーム回避 */
    line-height: 1.5;
    background: #fff;
    color: #2B2B2B;
    box-sizing: border-box;
  }

  body.page-id-5288 .wpcf7 textarea{
    min-height: 140px;
    resize: vertical;
  }

  /* フォーカス */
  body.page-id-5288 .wpcf7 input:focus,
  body.page-id-5288 .wpcf7 select:focus,
  body.page-id-5288 .wpcf7 textarea:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgba(230,46,139,0.18);
  }

  /* 送信ボタン */
  body.page-id-5288 .wpcf7 .wpcf7-submit {
    width: 100%;
    padding: 14px 16px;
    border: none;
    border-radius: 999px;
    background: var(--brand);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
  }

  body.page-id-5288 .wpcf7 .wpcf7-submit:hover {
    filter: brightness(0.95);
  }

  /* エラー */
  body.page-id-5288 .wpcf7-not-valid {
    border-color: var(--brand) !important;
  }

  body.page-id-5288 .wpcf7-not-valid-tip {
    color: var(--brand);
    font-size: 14px;
    margin-top: 6px;
  }

  /* 送信結果メッセージ */
  body.page-id-5288 .wpcf7-response-output {
    margin: 16px 0 0;
    padding: 12px;
    border-radius: 12px;
    border: 2px solid var(--brand);
    background: #FFF5FA;
    color: var(--brand);
  }

/* =========================================
メニュー
============================================ */
  /* 通常の縦リストに */
  #top-nav .navbar-nav {
    float: none !important;
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
  }

  /* li が table-cell / inline-block / float になっていても強制解除 */
  #top-nav .navbar-nav > li {
    position: relative;
    float: none !important;
    display: block !important;
    width: 100% !important;
    border: 0 !important;
  }

  /* フッターメニューと同等のまるぽちをつける */
  #top-nav .navbar-nav > li::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background: var(--brand);
    border-radius: 50%;
  }

  #top-nav .navbar-nav > li > a {
    display: block !important;
    width: 100% !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    /* 1文字改行が起きても、幅が100%になるので普通に折り返す */
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-align: left !important;
    padding: 10px 12px 10px 26px;
    border-bottom: 1px solid #eee;
    border-right: none;
  }

  #top-nav .navbar-nav > li.active::before {
    background: var(--brand-strong);
  }

  #top-nav .navbar-nav > li:hover::before {
    transform: translateY(-50%) scale(1.3);
  }

}

/* =========================================
Mobile（480px対策）
============================================ */
@media screen and (max-width: 480px) {

  .tel-header-inner {
    margin-top: 5px;
  }

  .billboard-caption h2 {
    font-family: inherit;
  }

  /* お問い合わせページのタイトルを調整 */
  .page-id-5288 .billboard-caption h2 {
    font-size: 2.5rem;
  }

  .breadcrumb {
      font-size: 0.95rem;
  }

  table.company th {
    font-size: 0.8rem;
  }

}
