/* === ベースリセット === */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', sans-serif;
  background-color: #f8f3eb; /* ベージュ背景 */
  color: #3d2e1e; /* ダークブラウン */
  line-height: 1.6;
}

/* === ナビゲーションバー === */
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 10%;
  background-color: rgba(255, 255, 255, 0.7);
  background-color: #e0d7c6;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #e0d7c6;
}

/* 雲がふわふわ揺れるアニメーション */
.cloud-float {
  animation: float 4s ease-in-out infinite;
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px);
  }
  100% {
    transform: translateY(0px);
  }
}


.logo {
  font-size: 2.8rem;
  font-weight: bold;
  color: #a67c52; /* アクセントブラウン */
}
.logo2 {
  margin-left: -250px;
  font-size: 2.8rem;
  font-weight: bold;
  color: #a67c52; /* アクセントブラウン */
}

.nav-links {
  padding-top: 10px;
  /* padding-left: 20px;
  padding-left: auto; */
  text-align: center;
  list-style: none;
  display: flex;
  gap: 30px;
}

.nav-links a {
  color: #3d2e1e;
  text-decoration: none;
  transition: color 0.3s;
}

.nav-links a:hover {
  color: #a67c52;
}

/* === ヒーローセクション === */
.hero {
  height: 60vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: linear-gradient(to bottom, #f8f3eb, #f0e8dd);
  padding: 0 20px;
}

.hero-content h1 {
  font-size: 3rem;
  margin-bottom: 20px;
  color: #7b5e42;
}

.hero-content p {
  font-size: 1.2rem;
  margin-bottom: 30px;
  color: #6f6f6f;
}

.cta-btn {
  
  display: block;          /* 幅いっぱいに広げる */
  width: 100%;             /* 親要素に合わせる */
  padding: 15px 30px;
  background: #a67c52;
  color: white;
  text-decoration: none;
  border-radius: 30px;
  font-weight: bold;
  transition: background 0.3s;
  margin-top: 30px; /* ボタンの上に空白を作る */
  width:auto;
}

.cta-btn:hover {  
  background: #800000;
}


/* === 次元セクション === */
    .section-jigen {
      background: #ffffffcc; /* 半透明ホワイト */;
      margin: 40px auto;
      padding: 40px;
      border-radius: 20px;
      max-width: 1000px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 40px;
    }
    .text-jigen {
      flex: 1;
      font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
      text-align: left;
    }
    .number {
      display: inline-block;
      background: #800000;
      color: #fff;
      border-radius: 50%;
      width: 40px;
      height: 40px;
      line-height: 40px;
      text-align: center;
      font-weight: bold;
      margin-right: 20px;
    }
    .headline {
      display: flex;
      align-items: center;
      font-size: 1.5rem;
      font-weight: bold;
       color: #800000;
      margin-bottom: 20px;
    }
    .text p {
      margin: 5px 0;
      line-height: 1.8;
     
    }
    .illustration {
      flex: 0 0 250px;
      text-align: center;
      position: relative;
    }
    .bubble {
      display: inline-block;
      background:#ffd700;
      padding: 15px 20px;
      border-radius: 30px;
      position: relative;
      font-size: 0.95rem;
      margin-bottom: 15px;
    }
    .bubble::after {
      content: "";
      position: absolute;
      bottom: -15px;
      left: 30px;
      border-width: 15px 15px 0;
      border-style: solid;
      border-color: #ffd700 transparent transparent transparent;
    }
    .illustration img {
      width: 150px;
    }

/* === セクション共通 === */
.section {
  padding: 80px 10%;
  text-align: center;
}

.section h2 {
  font-size: 2.5rem;
  margin-bottom: 40px;
  color: #a67c52;
}

/* === カードコンテナ === */
.card-container {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
  margin-top: 15px;
}

/* === カード共通 === */
.card {
  background-color: #ffffffcc; /* 半透明ホワイト */
  backdrop-filter: blur(5px);
  border-radius: 15px;
  padding: 30px;
  width: 300px;
  text-align: left;
  box-shadow: 0 0 15px rgba(0,0,0,0.1);
  transition: transform 0.3s;
 }
 .card:hover {
  transform: scale(1.2);
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
  z-index: 10; /* 拡大時に他のカードより前面に出す */
}

.card p,
.card ul {
  /* text-align: center; pとulだけ中央揃え */
  padding-left: 20px;
  font-size: 1.2em;
}
.card ul {
  list-style-position: inside; 
  /* マーカーをテキストの中に含める */ 
}

.card-price {
      display: flex;
      align-items: center;
      font-size: 2.5rem;
      font-weight: bold;
      color: #800000;
      /* text-align: center; display: flex;配下だと効かないので↓ */
      justify-content: center; /* 横方向の中央寄せ */
      align-items: center;     /* 縦方向の中央寄せ */
      margin-bottom: 20px;
    }

    table {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      border-collapse: collapse;
      background: #fff;
      box-shadow: 0 4px 10px rgba(0,0,0,0.1);
      border-radius: 12px;
      overflow: hidden;
    }

    thead {
      background: #800000;
      color: #fff;
    }

    th, td {
      /* padding: 16px; */
      padding: 20px; /* ↓ここ広げると、TDの面積が増加し表が広がる */
      border: 1px solid #ddd;
      text-align: center;
      font-size: 1.3rem;
    }

    th {
      font-weight: bold;
      font-size: 1.4rem;
    }

    /* 強調 */
    .highlight6 {
      background: #fbeaea;
      color: #7c5c05  ;
      font-weight: bold;
    }
    .highlight {
      background: #ffe8e8;
      color: #800000;
      font-weight: bold;
    }

    .value-msg {
      margin-top: 15px;
      font-size: 1.2rem;
      color: #444;
    }


/* ====== Pricelist セクション専用レスポンシブ ====== */
#pricelist {
  width: 100%;
  box-sizing: border-box;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

/* テーブル基礎 */
#pricelist table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

/* ヘッダー・セル */
#pricelist thead {
  background: #800000;
  color: #fff;
}
#pricelist th,
#pricelist td {
  padding: 12px 10px;
  border: 1px solid #e6e6e6;
  text-align: center;
  vertical-align: middle;
}

/* 強調行の色は既存クラスを尊重（もし上書きしたければここで調整） */
#pricelist tr.highlight6 td { background: #fbeaea; color: #7c5c05; font-weight: 600; }
#pricelist tr.highlight td  { background: #ffe8e8; color: #800000; font-weight: 700; }

/* ===== スマホ／狭いスクリーン向け（スタック表示） ===== */
@media (max-width: 768px) {

  /* ブロック化して縦積みカード風にする（Pricelist セクションのみ） */
  #pricelist table,
  #pricelist thead,
  #pricelist tbody,
  #pricelist th,
  #pricelist td,
  #pricelist tr {
    display: block;
    width: 100%;
  }

  /* ヘッダーは非表示（各セルの ::before にヘッダラベルを付与） */
  #pricelist thead { display: none; }

  /* 各行をカード化 */
  #pricelist tbody tr {
    margin-bottom: 12px;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #e9e9e9;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.03);
  }

  /* 各セルのレイアウト調整 */
  #pricelist td {
    display: block;
    text-align: left;
    padding: 8px 12px 8px 48%;
    position: relative;
    border: none;
    border-bottom: 1px solid #f1f1f1;
  }
  #pricelist td:last-child {
    border-bottom: none;
  }

  /* 左側ラベルの領域 */
  #pricelist td::before {
    position: absolute;
    top: 8px;
    left: 12px;
    width: 42%;
    white-space: nowrap;
    font-weight: 700;
    color: #333;
    content: "";
  }

  /* 1列目〜5列目に対応するラベル（ヘッダ名） */
  #pricelist td:nth-of-type(1)::before { content: "項目"; }
  #pricelist td:nth-of-type(2)::before { content: "スターター"; }
  #pricelist td:nth-of-type(3)::before { content: "スタンダード"; }
  #pricelist td:nth-of-type(4)::before { content: "プライム"; }
  #pricelist td:nth-of-type(5)::before { content: "エンタープライズ"; }

  /* フォントの調整（小さい画面で読みやすく） */
  #pricelist { font-size: 14px; }
  #pricelist td { padding-top: 10px; padding-bottom: 10px; }

  /* もし value-msg がはみ出すなら幅を確保 */
  #pricelist .value-msg { padding-left: 0.5rem; padding-right: 0.5rem; }
}


/* テーブルアコーディオン*/
/* テーブル全体 */
/* Functionlist 専用スタイル */
#Functionlist .table-wrapper {
  overflow: hidden;
  transition: max-height 0.5s ease;
  border: 1px solid #ddd;
  border-radius: 8px;
  width: 100%;
  margin-bottom: 1rem;
}

/* 初期状態は5行だけ */
#Functionlist .table-wrapper.collapsed table tbody tr:nth-child(n+6) {
  display: none;
}

/* 展開時は全行表示 */
#Functionlist .table-wrapper.expanded table tbody tr {
  display: table-row;
}

/* テーブル共通 */
#Functionlist table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
}
#Functionlist th,
#Functionlist td {
  padding: 8px;
  border: 1px solid #ddd;
  text-align: center;
}

/* ヘッダー行 */
#Functionlist thead {
  background: #800000;
  color: #fff;
}

/* ボタン */
#Functionlist #toggleRowsBtn {
  display: inline-block;
  padding: 12px 24px;
  margin: 12px auto;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  background-color: #b22222;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s;
}
#Functionlist #toggleRowsBtn:hover {
  background-color: #8b1a1a;
}

/* 📱 スマホ用レスポンシブ（Functionlist セクションのみ） */
@media (max-width: 768px) {
  #Functionlist table,
  #Functionlist thead,
  #Functionlist tbody,
  #Functionlist th,
  #Functionlist td,
  #Functionlist tr {
    display: block;
    width: 100%;
  }

  #Functionlist thead {
    display: none; /* ヘッダー非表示 */
  }

  #Functionlist tbody tr {
    margin-bottom: 12px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 8px;
  }

  #Functionlist td {
    text-align: left;
    padding-left: 50%;
    position: relative;
    justify-content: right; /* 横方向の中央寄せ */
  }

  #Functionlist td::before {
    position: absolute;
    top: 8px;
    left: 8px;
    width: 45%;
    white-space: nowrap;
    font-weight: bold;
    color: #333;
  }

  /* 各カラムにラベルを付与 */
  #Functionlist td:nth-of-type(1)::before { content: "機能"; }
  #Functionlist td:nth-of-type(2)::before { content: "スターター"; }
  #Functionlist td:nth-of-type(3)::before { content: "スタンダード"; }
  #Functionlist td:nth-of-type(4)::before { content: "プライム"; }
  #Functionlist td:nth-of-type(5)::before { content: "エンタープライズ"; }
}



    /* レスポンシブ */
    @media (max-width: 768px) {
      table, thead, tbody, th, td, tr {
        display: block;
      }
      thead tr {
        display: none;
      }
      tr {
        margin-bottom: 15px;
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.1);
        overflow: hidden;
      }
      td {
        border: none;
        padding: 12px;
        /* text-align: left; */
        display: flex;
        justify-content: space-between;
  
        justify-content: right; /* 横方向の中央寄せ */
        align-items: center;     /* 縦方向の中央寄せ */
      }
      td::before {
        content: attr(data-label);
        font-weight: bold;
        color: #800000;
      }
    }


/* 導入の流れ */
.introduction {
  text-align: center;
  padding: 60px 20px;
  background: #f8fcff;
}

.intro-title {
  color: #0090d6;
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 10px;
}

.introduction h2 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 15px;
}
.introduction h2 span {
  color: #0090d6;
}

.intro-lead {
  font-size: 1rem;
  color: #333;
  margin-bottom: 40px;
}

.steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.step-box {
  background: #fff;
  border-radius: 15px;
  padding: 30px 20px;
  width: 250px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  text-align: center;
}

.step-label {
  background: #00a5e5;
  color: #fff;
  font-weight: bold;
  padding: 5px 15px;
  border-radius: 25px;
  display: inline-block;
  margin-bottom: 15px;
}

.step-box h3 {
  color: #0070b8;
  margin-bottom: 10px;
}

.step-box img {
  max-width: 60px;
  margin: 15px auto;
  display: block;
}

.step-box p {
  font-size: 0.9rem;
  color: #333;
  line-height: 1.6;
}
/* 導入の流れ　↑ */

/* STEP　↓ */

/* STEP　↑ */



/* 開発哲学 */
.card-container-philosophy{
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
  margin: 15px auto 0;
  width: 100%;
}
.cardbig {
  width: 1200px;
  background-color: #ffffffcc; /* 半透明ホワイト */
  backdrop-filter: blur(5px);
  border-radius: 15px;
  padding: 130px;
  padding-bottom: 10px;

  line-height: 48px; /* 固定ピクセル指定 */
  font-size: 1.3rem;
  text-align: left;
  box-shadow: 0 0 15px rgba(0,0,0,0.1);
  transition: transform 0.3s;
}
.philosophy-text{
  margin-bottom: 0px;  /* デフォルトだと 16px 前後ある */
}
.signature-wrapper {
  text-align: right; /* コンテナ内で右寄せ */
  margin-top: 0px;
  margin-bottom: 0px;  
}

.signature-wrapper img {
  max-width: 300px;  /* サイズ調整 */
  height: auto;
  display: inline-block;
  margin-top: -100px;
  margin-bottom: 0px;  
}

.card:hover {
  transform: translateY(-5px);
}

.card h3 {
  margin-bottom: 15px;
  font-size: 1.4rem;
  color: #7b5e42;
}

.card p,
.card li {
  color: #5a4b3c;
}

.card ul {
  margin: 15px 0;
  padding-left: 20px;
}



/* === お問い合わせフォーム === */
/* === ヒーローセクション === */
.heromini {
  height: 20vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: linear-gradient(to bottom, #f8f3eb, #f0e8dd);
  padding: 0 20px;
}

.heromini-content h1 {
  font-size: 3rem;
  margin-bottom: 10px;
  color: #7b5e42;
}

.heromini-content p {
  font-size: 1.2rem;
  margin-bottom: 10px;
  color: #6f6f6f;
}


.contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 500px;
  margin: 0 auto;
}

.contact-form input,
.contact-form textarea,.message {
  padding: 15px;
  border: 1px solid #e0d7c6;
  border-radius: 10px;
  background-color: #fff;
  color: #3d2e1e;
  resize: vertical;
  font-size: 1rem;
}

/* 各画面からContactへのボタン */
.cta_btn09 {
  font-weight: bold; /* 文字の太さ */
  text-align: center;
  letter-spacing: 0.1em;
  align-items: center;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.cta_btn09-contact {
  color: #fff; /* 文字色 */
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding: 1em 1em 1em 60px;
  border-radius: 100vh;
  width: 100%; /* ボタン幅 */
  max-width: 350px; /* 最低ボタン幅 */
  max-width: 400px; /* 最低ボタン幅 */
  transition: 0.3s;
}

.cta_btn09-contact {
  background: #F88400; /* お問い合わせボタン色 */
  background: #800000;
}

.cta_btn09-contact::before {
  content: '';
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: cover;
}
.cta_btn09-contact::before {
  width: 50px;
  height: 41px;
  background-image: url(https://seotimes.jp/wp-content/uploads/mail.png); /* メールアイコン */
}

.cta_btn09 .copy_txt {
  line-height: 1;
  display: inline-block;
  padding: 0.2em 1.5em;
  letter-spacing: 0;
  background: #fff; /* 下文字背景色 */
  font-size: 90%; /* 下文字サイズ */
  border-radius: 5px;
}

.cta_btn09-contact .copy_txt {
  color: #F88400; /* 下文字色 */
}

.cta_btn09 img {
    width: 1em;
    margin-right: 0.5em;
}

/* マウスオーバーした際のデザイン */
.cta_btn09-contact:hover {
  transform: scale(1.35);
  background-color: #b22222;
}


/* Bookmark */

/* 【追尾】 */
#floating-offer-btn {
  position: fixed;
  right: 38px;
  bottom: 40px;
  z-index: 9999;
}

.btn-offer {
  display: inline-block;
  background-color: #00bcd4;
  color: #fff;
  font-weight: bold;
  padding: 12px 18px;
  border-radius: 30px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
  text-decoration: none;
  transition: background-color 0.3s;
}

/* マウスオーバーした際のデザイン */
.btn-offer:hover {
  background-color: #0097a7;
  transform: scale(1.35);
  background-color: #b22222;
}



/* Z_contactapp */
:root{
  --c-text:#3d2e1e;
  --c-accent:#a67c52;
  --c-maroon:#800000;
  --c-border:#e0d7c6;
  --c-panel:#ffffffcc;
  /* error colors */
  --c-error-bg:#fbeaea;
  --c-error-border:#800000;
}

/* messages（入力欄と同じ左端・幅） */
#contact .message{
  width:clamp(260px,70%,420px);
  margin:10px auto;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--c-border);
  color:var(--c-text);
  background:#f8f3eb;
  line-height:1.6;
  font-size: 1.3rem;
}
#contact .message.info{ border-left:4px solid var(--c-accent); font-size: 1.3rem;}
#contact .message.success{ background:#f5efe6; border-left:4px solid var(--c-accent); }
/* エラーバナーは変数で統一 */
#contact .message.error{
  background:var(--c-error-bg);
  border-left:4px solid var(--c-error-border);
}

/* layout */
#contact .contact-form{ width:min(560px,92vw); margin:0 auto; text-align:left; }
#contact .field{ margin:12px 0; }
#contact .actions{ margin-top:14px; text-align:center; }
#contact .help{ font-size:.9em; color:#6b5b4a; }

/* ラベル（入力欄と同じ幅・位置、下の余白は控えめ） */
#contact .field label{
  display:block;
  width:clamp(260px,70%,420px);
  margin:0 auto 4px;
  text-align:left;
}

/* 入力欄（細め・中央寄せ） */
#contact .field input[type="text"],
#contact .field input[type="email"],
#contact .field input[type="tel"],
#contact .field input[type="url"],
#contact .field input[type="number"],
#contact .field input[type="password"],
#contact .field select,
#contact .field textarea{
  display:block;
  width:clamp(260px,70%,420px);
  max-width:100%;
  margin:0 auto;
  box-sizing:border-box;
  padding:12px 14px;
  border:1px solid var(--c-border);
  border-radius:10px;
  background:#fff;
  color:var(--c-text);
  box-shadow:inset 0 1px 0 rgba(0,0,0,0.02);
}
/* ★ここだけ変更：message → mailbody */
#contact #id_mailbody{ min-height:140px; }

#contact .field input:focus,
#contact .field textarea:focus,
#contact .field select:focus{
  outline:none;
  border-color:var(--c-maroon);
  box-shadow:0 0 0 3px rgba(128,0,0,.08);
}

/* ===== error list & error fields ===== */
/* ポチ（・）を消し、幅/位置を入力欄に合わせる */
#contact ul.errorlist{
  list-style:none;
  padding:0;
  margin:6px auto 0;
  width:clamp(260px,70%,420px);
  text-align:left;
  color:#7a3f3f;
}
#contact ul.errorlist li{ margin:0; }

/* そのフィールドの入力欄をエラーバナーと同色に */
#contact .field:has(ul.errorlist) input,
#contact .field:has(ul.errorlist) textarea,
#contact .field:has(ul.errorlist) select{
  background:var(--c-error-bg);
  border-color:var(--c-error-border);
  box-shadow:0 0 0 3px rgba(128,0,0,.08);
}

/* チェックボックス */
#contact input[type="checkbox"]{
  display:inline-block;
  width:auto; height:auto;
  transform:scale(1.1);
  vertical-align:middle;
  accent-color:var(--c-maroon);
}

/* 同意ブロック（入力欄と左端をそろえる） */
#contact .field-agree{
  display:block;
  width:clamp(260px,70%,420px);
  margin:12px auto;
  text-align:left;
}
#contact .field-agree label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 4px;
}
#contact .field-agree .help{
  display:block;
  text-align:left;
  margin:0 0 0 28px; /* チェックボックスぶんのインデント。不要なら 0 に */
}


/* テーブル内ではラベルの幅指定を解除（余白だけ） */
#contact table.sendmailtable td label{
  width: auto !important;
  margin: 0 0 6px !important;
} */




/* チェックボックス */
#contact .sendmailtable td .field-agree input[type="checkbox"]{
  width: auto !important;
}

/* これだけでOK */
.big-check {
  transform: scale(2);   /* 2倍に拡大 */
  -webkit-transform: scale(2); /* Safari対応 */
  -moz-transform: scale(2);    /* Firefox対応 */
  margin-right: 8px;     /* テキストとの間隔 */
  cursor: pointer;
}

.logo{
  color: #f8f3eb;
  font-size: 36px;
}
.home-link i {
    margin: 0 5px;
}
.topnavichange .navbar {
    background-color: #ffcc00; /* 好きな色に変更 */
    background-color:#f2a0a1;

}



.w-200 { width: 80% !important; box-sizing: border-box; 
         height: 60px !important;box-sizing: border-box; 
         padding: 15px;
         border: 1px solid #3d2e1e;
         /* border:1px solid var(--c-border); */
         border-radius: 10px;
         background:#f8f3eb;
         color: #3d2e1e;
         resize: vertical;
         font-size: 1.3rem;
        }

.w-mbody { width: 80% !important; box-sizing: border-box; 
         height: 480px !important;box-sizing: border-box;
          width:clamp(260px,70%,420px);
          margin:10px auto;
          padding:10px 12px;
          border-radius:10px;
          border:1px solid var(--c-border);
          border: 1px solid #3d2e1e;
          color:var(--c-text);
          background:#f8f3eb;
          font-size: 1.3rem;
          line-height:1.6;
        }


#contact #submit-btn{
  appearance:none;
  border:none;
  padding:14px 36px;          /* 少しだけ高さ・横パディング増 */
  min-width:220px;            /* ★ 幅を約2倍に（必要なら200–260で調整） */
  display:inline-block;       /* .actions{text-align:center} で中央寄せ */
  border-radius:30px;
  background:var(--c-accent);
  border: 1px solid #3d2e1e;
  color:#fff;
  font-weight:600;
  cursor:pointer;
  transition:background .25s ease, transform .05s ease;
}
#contact #submit-btn:hover{ background:var(--c-maroon); }
#contact #submit-btn:disabled{ opacity:.6; cursor:not-allowed; background:var(--c-border); color:#7a6a58; }

#tablecontact #submit-btn{
  appearance:none;
  border:none;
  padding:14px 36px;          /* 少しだけ高さ・横パディング増 */
  min-width:320px;            /* ★ 幅を約2倍に（必要なら200–260で調整） */
  display:inline-block;       /* .actions{text-align:center} で中央寄せ */
  border-radius:30px;
  background:var(--c-accent);
  border: 1px solid #3d2e1e;
  color:#fff;
  font-weight:600;
  font-size: 1.3rem;
  cursor:pointer;
  transition:background .25s ease, transform .05s ease;
}
#tablecontact #submit-btn:hover{ background:var(--c-maroon); }
#tablecontact #submit-btn:disabled{ opacity:.6; cursor:not-allowed; background:var(--c-border); color:#7a6a58; }

      /* <!-- モーダル --> */
      .modal {
        display: none;
        position: fixed;
        z-index: 9999;
        left: 0; top: 0;
        width: 100%; height: 100%;
        overflow: auto;
        background-color: rgba(0, 0, 0, 0.7);
        padding: 20px;
      }
      .modal-content {
        background-color: #fff;
        margin: 5% auto;
        padding: 20px;
        border-radius: 8px;
        max-width: 1200px;
        width: 95%;
        max-height: 90vh;
        overflow-y: auto;
      }
      .close-button {
        float: right;
        font-size: 28px;
        font-weight: bold;
        color: #888;
        cursor: pointer;
      }
      .close-button:hover {
        color: #000;
      }
      @media screen and (max-width: 600px) {
        .modal-content {
          padding: 15px;
          font-size: 15px;
        }
        h2, h3 {
          font-size: 20px;
        }
      }
      




/* === フッター === */
.footer {
  text-align: center;
  padding: 40px 10%;
  background-color: #e6ddd0;
  color: #3d2e1e;
}

.footer a {
  color: #7b5e42;
  text-decoration: none;
}



 /* スマートフォン向けのレスポンシブ対応（767px以下） */
  @media (max-width: 767px) {
    
    /* トップナビゲーションのテキストサイズを調整 */
    .topnavichange,
    .topnavichange * {
        font-size: 18px !important;
    }
    .subtitle
    {
      margin-top: 10px;
      font-size: 13px;
    }
    /* "情報を入力し、送信ボタンクリックしてください" のメッセージのスタイル調整 */
    .message.info {
        font-size: 13px !important;
        text-align: center !important;
    }


    /* テーブル全体の表示を最適化 */
    #sendmailtable,
    #sendmailtable tbody,
    #sendmailtable tr {
      display: block !important;
      width: 100% !important;
      margin-bottom: 20px !important;
      border: none !important;
      box-sizing: border-box !important;
    }
    
    #sendmailtable thead {
      display: none !important; /* ヘッダーを非表示 */
    }
    
    /* 各行をブロック要素として扱い、枠線と余白を追加 */
    #sendmailtable tr:not(:first-child) {
      border: 1px solid #ccc !important;
      padding: 10px !important;
      border-radius: 8px !important;
    }

    /* 各セル（th, td）の表示を縦並びに */
    #sendmailtable th,
    #sendmailtable td {
      display: block !important;
      width: 100% !important;
      padding: 0 !important;
      margin: 0 !important;
      border: none !important;
      box-sizing: border-box !important;
    }
    
    /* ラベル（th）のスタイル */
    #sendmailtable th {
      font-weight: bold !important;
      margin-bottom: 5px !important;
      background-color: #555 !important;
      color: white !important;
      padding: 8px 10px !important;
      border-radius: 5px !important;
    }

    /* フォーム要素の幅を100%に */
    #sendmailtable input[type="text"],
    #sendmailtable input[type="email"],
    #sendmailtable select,
    #sendmailtable textarea {
      width: 100% !important;
      box-sizing: border-box !important;
    }

    /* 各行のタイトルとサブタイトル */
    .title,
    .subtitle {
      text-align: center !important;
    }

    /* 全体のコンテナの余白調整 */
    .fullcontainer {
      padding-left: 15px !important;
      padding-right: 15px !important;
    }

    .breadcrumb {
      padding-left: 15px !important;
    }
  }
   /* 同意事項のチェックボックス部分のスタイル調整 */
    #sendmailtable .field-agree label {
        display: flex !important;
        align-items: center !important;
        white-space: nowrap !important; /* テキストが改行されないようにする */
        font-size: 0.9em !important; /* 文字サイズを少し小さくする */
    }

    #sendmailtable .field-agree input[type="checkbox"] {
        margin-right: 5px !important; /* チェックボックスとテキストの間に余白を追加 */
    }

  /* PC向けの固定幅レイアウト（768px以上） */
  @media (min-width: 768px) {
      #sendmailtable th {
      width: 30% !important;
    }
    #sendmailtable td {
      width: 70% !important;
    }
    .subtitle
    {
      margin-top: 10px;
      font-size: 22px;
    }
    /* "情報を入力し、送信ボタンクリックしてください" のメッセージのスタイル調整 */
    .message.info {
        font-size: 18px !important;
        text-align: center !important;
    }

    /* PC表示での同意事項セルのスタイルを元に戻す */
    #sendmailtable .field-agree label {
        display: inline-block !important; /* インラインブロックに戻す */
        white-space: normal !important; /* 改行を許可する */
        font-size: inherit !important; /* 親要素のフォントサイズを継承 */
    }
  }

.subtitle{
  background-color: #f2a0a1;
  background-color: #fffaf0;
  
  padding: 20px;
  border: 3px solid #7d4949; /* 濃い赤茶色の太い枠線 */
  border-radius: 10px; /* 角を丸くする */
  margin: 20px auto; /* 上下の外側余白を追加 */
  max-width: 90%; /* 幅を制限し、中央に寄せる */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 影をつけて立体感を出す */
  text-align: center; /* テキストを中央寄せ */
  line-height: 1.6; /* 行間を調整 */
  color: #333; /* テキストの色を濃くする */
}
