body, html {
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* 水平スクロールを防ぐ */

    font-family: 'Noto Sans JP', sans-serif;
    justify-content: center;
    align-items: center;
    text-align: center;

    scroll-behavior: smooth;
  }

  .fixed-note {
    position: fixed; /* 画面に固定 */
    right: 0; /* 右端にぴったりくっつける */
    bottom: 20px; /* 下からの距離を指定（自由に調整可） */
    background-color: rgb(103, 177, 255); /* 青色の背景 */
    color: white; /* テキストの色 */
    padding: 20px 10px; /* 縦方向を広めにする */
    width: 150px; /* 幅を調整して縦長に */
    border-top-left-radius: 8px; /* 左上の角を丸くする */
    border-bottom-left-radius: 8px; /* 左下の角を丸くする */
    box-shadow: -4px 0 8px rgba(0, 0, 0, 0.2); /* 右側に影をつけて立体感を出す */
    font-size: 14px; /* フォントサイズ */
    z-index: 1000; /* 他の要素の上に表示 */
    text-align: center; /* テキストを中央に配置 */
    font-family: Arial, sans-serif;
  }
  
  .fixed-note a {
    color: white; /* リンクのテキスト色 */
    text-decoration: none; /* 下線を削除 */
  }
  
  .fixed-note a:hover {
    text-decoration: underline; /* ホバー時に下線を追加 */
  }

  
/*-- 木目の色目め変化 --*/  
  @keyframes colorChange {
    0% { background-color: rgba(255, 248, 240, 0.8); }
    25% { background-color: rgba(255, 235, 205, 0.8); }
    50% { background-color: rgba(222, 184, 135, 0.8); }
    75% { background-color: rgba(255, 235, 205, 0.8); }
    100% { background-color: rgba(255, 248, 240, 0.8); }
}

/*-- ヘッダー「診療日時」「当院について」「診療案内」「お知らせ」「２４時間WEB予約」 --*/
.header, .footer {
    background-image: url('img/wood_texture.jpg'); /* 木目調の背景画像 */
    background-size: cover;
    background-blend-mode: overlay;
    animation: colorChange 5s infinite; /* 10秒で一周するアニメーションを無限に繰り返す */
    padding: 10px 20px;
    display: flex;
    justify-content: center;
}
.header a,.footer p{
    color: white;
    text-decoration: none;
    margin: 0 10px;
    font-size: 0.8em;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; /* 黒いふち */
    transition: font-size 0.3s ease, text-shadow 0.3s ease; /* スムーズなアニメーション */
}

.header a:hover, .footer p:hover {
    color: white; /* 白い文字 */
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; /* 黒いふちを維持 */
    font-size: 1.0em; /* マウスオーバー時に文字を大きくする */
}
.special-link {
    border: 2px solid white; /* 白い枠 */
    padding: 5px 10px;
    position: relative;
}
.special-link::before {
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: -3px;
    border: 1px solid black; /* 黒い枠 */
    pointer-events: none; /* クリックイベントを無視 */
}


/*-- クリニック名称画像背景の木目画像 --*/
.centered-image-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px; /* 必要に応じて調整 */
  background-image: url('img/wood_texture.jpg'); /* 木目調の背景画像 */
  background-size: cover;
  background-blend-mode: overlay;
  animation: colorChange 5s infinite; /* 10秒で一周するアニメーションを無限に繰り返す */
}
.centered-image {
  max-height: 100%;
  max-width: 100%;
}

/* ヘッダーのメニューアイコン */
.menu-icon {
  display: none;
  width: 40px;
  height: 40px;
  position: fixed;
  right: 5px;
  top: 5px;
  z-index: 2000; /* アイコンが見えるようにするためのz-index */
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.menu-icon div {
  width: 25px;
  height: 2px;
  background-color: brown; /* ハンバーガーアイコンの色を茶色に */
  margin: 4px 0;
  transition: 0.4s;
}

.menu-text {
  font-size: 10px;
  color: brown; /* メニューのテキストの色を茶色に */
  margin-top: 5px;
}

/* ハンバーガーアイコンの変化 */
.change .bar1 {
  -webkit-transform: rotate(-45deg) translate(-5px, 5px);
  transform: rotate(-45deg) translate(-5px, 5px);
}

.change .bar2 {
  opacity: 0;
}

.change .bar3 {
  -webkit-transform: rotate(45deg) translate(-5px, -5px);
  transform: rotate(45deg) translate(-5px, -5px);
}

/* ヘッダーのメニュー */
.header-menu {
  display: none;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: -250px;
  width: 250px;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  padding: 10px;
  z-index: 1000;
  transition: left 0.3s ease;
}

.header-menu a {
  margin: 10px 0;
  color: white;
}

.header-links {
  display: flex;
}

/* メニューオーバーレイ */
#menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 500;
}



/* PC表示 */
.logo-mobile {
  display: none;
}
.header-links {
  display: flex;
}

.header-menu {
  display: none;
}

.menu-icon {
  display: none;
}

#menu-overlay {
  display: none;
}

/*----------------------------- タブレット・スマホ表示 -------------------------------*/
@media screen and (max-width: 768px) {
  /* タブレット・スマホ表示 */
  .logo-pc {
      display: none;
  }
  .logo-mobile {
      display: block;
  }
  /* ヘッダーリンクのフォントサイズを小さくする */
  .header a {
      font-size: 0.8em; /* お好みのサイズに調整 */
  }

  .menu-icon {
    display: flex;
    width: 40px;
    height: 40px;
    position: fixed;
    right: 5px;
    top: 0px;
    z-index: 2000; /* アイコンが見えるようにするためのz-index */
    cursor: pointer;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  .menu-icon div {
    width: 25px;
    height: 2px;
    background-color: brown; /* ハンバーガーアイコンの色を茶色に */
    margin: 2px 0;/* 線の間隔を狭くする */
    transition: 0.4s;
  }

  .menu-text {
    font-size: 10px;
    color: brown; /* メニューのテキストの色を茶色に */
    margin-top: 5px;
  }

  /* ハンバーガーアイコンの変化 */
  .change .bar1 {
    opacity: 0;
  }

  .change .bar2 {
    opacity: 0;
  }

  .change .bar3 {
    -webkit-transform: rotate(30deg) translate(-5px, -5px);
    transform: rotate(30deg) translate(-5px, -5px);
  }

  .header-links {
    display: none;
  }

  .header-menu {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: -250px;
    width: 200px;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 10px;
    z-index: 1000;
    transition: left 0.3s ease;
  }

  .header-menu a {
    margin: 10px 0;
    color: white;
  }

  #menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 500;
  }

  #about .first {
    font-size: 1.2em !important; /* フォントサイズをさらに小さく調整 */
    line-height: 1.2 !important; /* 行間を調整 */
  }
  #about .intro {
    font-size: 0.8em !important; /* フォントサイズをさらに小さく調整 */
    line-height: 1.2 !important; /* 行間を調整 */
  }
  #about .hm-section1-subtitle{
    font-size: 1.0em !important; /* フォントサイズをさらに小さく調整 */
    line-height: 1.2 !important; /* 行間を調整 */
  }
  /* praying-imageクラスの画像のサイズを縮小 */
  #about .praying-image img {
    max-width: 30%; /* 画像の最大幅を50%に縮小 */
    height: auto;
  }
  /* 診察時間の表の文字のフォントサイズを小さくする */
  .schedule-table th, .schedule-table td {
    font-size: 0.5em; /* フォントサイズを小さく調整 */
  }
    /* 当院の特徴の背景画像の縦幅を小さくする */
  .feature-section {
    padding: 0px; /* パディングを小さく調整 */
    background-size: contain; /* 背景画像のサイズをcontainに設定 */
    background-position: center; /* 背景画像の位置を中央に設定 */
    height: 30px; /* 高さを自動調整 */
  }
  .feature-section h2 {
    font-size: 1.0em !important; /* 見出しのフォントサイズを調整 */
    margin: 0 !important; /* マージンを調整 */
  }
  .feature-section .sub-text {
    font-size: 0.3em !important; /* サブテキストのフォントサイズを調整 */
    margin: 10px !important; /* マージンを調整 */
  }

  /* 費用のページ＠スマホ表示 */
  /* 費用セクションの調整 */
  #cost {
    padding: 0 40px; /* 左右に少し空白を追加 */
  }
  #cost h1 {
    font-size: 1.2em; /* モバイル用の見出しサイズ */
  }
  #cost p {
    font-size: 1.0em; /* モバイル用の本文サイズ */
  }
  
  #qa h2 {
    font-size: 1.5em;
    font-weight: 300;
    color: #8b5e3c; /* 木を連想させる色 */
    margin-bottom: 20px; /* 各行の間隔を広げる */
  }
  
  #qa h3 {
    font-size: 1.2em;
    font-weight: 300;
    color: #8b5e3c; /* 木を連想させる色 */
    margin-bottom: 20px; /* 各行の間隔を広げる */
  }
  
  #qa h2.first {
    font-family: 'Nunito', sans-serif;
    font-size: 1.8em;
    font-weight: 300;
    color: #a0522d; /* 淡い茶色 */
    margin-bottom: 25px; /* 各行の間隔を広げる */
  }
  
  #qa .intro {
  font-size: 1.0em; /* フォントサイズを小さく */
  color: #5b5b5b;  /* 色をグレーに */
  }



  .qa-section {
    padding: 0 0px; /* 左右に少し空白を追加 */
    max-width: 80%; /* 必要に応じて最大幅を調整 */
  }
  .qa-section h1 {
    font-size: 1.2em; /* モバイル用の見出しサイズ */
  }
  .qa-section p {
    font-size: 1.0em; /* モバイル用の本文サイズ */
    /*text-align: left;*/
  }
}


/*-- トップメッセージ --*/
.hm-section1-subtitle {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: #2c3e50;
  margin-top: 1em;
}
.hm-section1-subtitle br {
  margin-bottom: 0.8em;
}


/*-- トップメッセージ --*/
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;700&display=swap');

#about {
    font-family: 'Nunito', sans-serif;
    color: #5b3a29; /* 木を連想させる色 */
    line-height: 1.8; /* 行間を広げる */
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
}

#about h2 {
    font-size: 1.5em;
    font-weight: 300;
    color: #8b5e3c; /* 木を連想させる色 */
    margin-bottom: 20px; /* 各行の間隔を広げる */
}

#about h2.first {
    font-family: 'Nunito', sans-serif;
    font-size: 1.8em;
    font-weight: 300;
    color: #a0522d; /* 淡い茶色 */
    margin-bottom: 25px; /* 各行の間隔を広げる */
}

/* クリニック紹介文のスタイル */
#about .intro {
  font-size: 1.2em; /* フォントサイズを小さく */
  color: #5b5b5b;  /* 色をグレーに */
}


.hm-section1-subtitle {
    font-size: 1.2em;
    color: #5b3a29; /* 木を連想させる色 */
    margin-top: 20px;
    font-weight: 300;
    line-height: 1.8; /* 行間を広げる */
}

.hm-section1-subtitle br {
    line-height: 2.0; /* 改行後の行間を広げる */
}

.praying-image {
  margin-top: 20px;
  text-align: center;
}

.praying-image img {
  max-width: 100%;
  height: 200px;
  width: 200px;
  max-height: 400px; /* 前後の文字サイズに合わせるための最大高さ */
  display: inline-block;
}


/* 診療時間 */
.clinic-hours {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 20px;
}

h2 {
  margin-bottom: 20px;
}

p {
  margin-top: 20px;
}

.schedule-table {
  border-collapse: collapse;
  width: 80%;
  max-width: 800px;
  margin: 0 auto;
  font-family: 'Noto Serif JP', serif; /* 診察時間表のみ明朝体に */
}

.schedule-table th, .schedule-table td {
  padding: 10px;
  text-align: center;
}

.schedule-table th {
  background-color: #d3d3d3; /* グレーの背景色 */
}

.schedule-table tr:nth-child(even) td {
  background-color: #ffffff; /* 白の背景色 */
}

.schedule-table tr:nth-child(odd) td {
  background-color: #d3d3d3; /* グレーの背景色 */
}

.schedule-table, .schedule-table th, .schedule-table td {
  border: none; /* 枠線を非表示 */
}


/*-- アクセス --*/

.access {
  text-align: center;
  margin: 40px 0;
}

.access h2 {
  font-family: 'Dancing Script', cursive;
  font-size: 1.8em;
  color: #a0522d; /* 木を連想させる淡い茶色 */
  margin-bottom: 20px;
}

.access .address {
  font-family: 'Nunito', sans-serif;
  font-size: 1.2em;
  color: #5b3a29; /* 木を連想させる色 */
  margin-bottom: 20px;
}

.access h3 {
  font-size: 1.5em;
  color: #8b5e3c; /* 木を連想させる色 */
  margin-bottom: 20px;
}

.map-image {
  width: 600px;
  height: 400px;
  border: 2px solid #8B4513; /* 黄土色の枠線（必要に応じて） */
}
@media screen and (max-width: 768px) {
  .map-image {
    width: 100%;
    height: auto; /* アスペクト比を維持 */
    border: 2px solid #8B4513; /* 黄土色の枠線（必要に応じて） */
  }
}

/*駅からの案内*/
/* 道のりセクションのスタイル */
.route {
    display: grid;
    grid-template-columns: repeat(3, 250px);
    justify-content: center;
    column-gap: 30px; /* 間隔固定 */
    row-gap: 30px;
    margin: 0 0;
  }
  
  .step {
    padding: 0 0;
    display: flex;
    flex-direction: column;
    align-items:start;
    text-align: left;
  }
  
  .step img {
    width: 250px; /* 幅を少し大きく設定 */
    height: 180px;
  }
  
  .step .description {
    font-size: 0.9em;
    color: #5b3a29; /* 木を連想させる色 */
  }
  .step p {
    margin: 0; /* 段落のデフォルトマージンをリセット */
  }

/* スマホ表示のスタイル */
@media screen and (max-width: 768px) {
    .route {
        grid-template-columns: repeat(2, 1fr); /* 2列にする */
        gap: 30px; /* 画像間の固定間隔を設定 */
        padding: 0 30px; /* 左右に余白を追加してウィンドウに収まるようにする */
    }

    .step img {
        width: 100%; /* 幅を親要素に合わせる */
        height: 30vw;
        max-height: none; /* 高さ制限を解除 */
        margin-right: 0; /* 余白をリセット */
        margin-bottom: 0; /* 画像と説明文の間の余白を削除 */
    }

    .step .description {
        text-align: center; /* 中央揃えにする */
        margin-top: 10px; /* 上部の余白を追加 */
    }
}

.step p {
  font-size: 1em;
  color: #5b3a29; /* 木を連想させる色 */
}

.access iframe {
  width: 100%;
  max-width: 600px;
  height: 450px;
  border: 0;
  border-radius: 8px;
}

/*-- 当院の特徴 --*/
.highlight-box {
  display: inline-block;
  margin: 10px 10px;
  padding: 5px;
  border: 1px solid #AB927D; /* 黄土色の枠線 */
  background-color: #EBE4DD; /* 薄い黄土色の背景色 */
  color: #AB927D; /* 黄土色の文字色 */
  font-weight:lighter;
  text-align: center;
}
.feature-section {
  text-align: center;
  padding: 50px 20px;
  background-image: url('img/space_texture.jpg'); /* 木目調の背景画像 */
  background-size: cover;
  background-position: center;
  background-blend-mode: overlay;
  animation: colorChange 10s infinite; /* 5秒で一周するアニメーションを無限に繰り返す */
  border-radius: 0px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin: 20px 0;
}
.feature-section h2 {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 2em;
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 1); /* 白い文字に影をつけて読みやすくする */
}
.feature-section .sub-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 0.8em;
  color: #fff;
  text-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); /* 白い文字に影をつけて読みやすくする */
  margin-top: 10px;
}

/*-- 当院の特徴 --*/

  
/*--これトップ画像の重要な記述？--*/
  .image-container {
    display: flex;
    min-width: 300%; /* 3つの画像を含めるためにコンテナの幅を拡大 */
    overflow: hidden; /* 非表示領域を隠す */
  }
  
  .slide {
    width: 100vw; /* 各画像の幅をビューポートの幅に設定 */
    flex: 0 0 auto; /* 画像が縮小または拡大しないように設定 */
    cursor: grab;
    transition: transform 0s ease;
  }
  


/* image-containerを左に100vwだけシフトして、画像2が表示されるようにします */
  .image-container {
    transform: translateX(-100vw);
  }
  
  .slide:first-child {
    left: -100%; /* 最初の画像を表示 */
    z-index:2;
}

.slide:nth-child(2) {
    left: 0%; /* 最初の画像を表示 */
    z-index:2;
}

.slide:nth-child(3) {
    left: 100%; /* 最初の画像を表示 */
    z-index:2;
}





h2 {
  font-family: 'Dancing Script', cursive;
  font-weight: 700;
  margin-bottom: 0.5em;
  color: #2c3e50;
}

p {
  margin-bottom: 1.5em;
}


/*-------費用・診療ポリシー------------------------------------------------------------------------------------*/

#cost, #policy {
  font-family: 'Nunito', sans-serif;
  color: #5b3a29; /* 木を連想させる色 */
  line-height: 1.8; /* 行間を広げる */
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
}

#cost, #policy h2 {
  font-size: 1.5em;
  font-weight: 300;
  color: #8b5e3c; /* 木を連想させる色 */
  margin-bottom: 20px; /* 各行の間隔を広げる */
}

#cost, #policy h3 {
  font-size: 1.2em;
  font-weight: 300;
  color: #8b5e3c; /* 木を連想させる色 */
  margin-bottom: 20px; /* 各行の間隔を広げる */
}

#cost, #policy h2.first {
  font-family: 'Nunito', sans-serif;
  font-size: 1.8em;
  font-weight: 300;
  color: #a0522d; /* 淡い茶色 */
  margin-bottom: 25px; /* 各行の間隔を広げる */
}

/* 費用の紹介 */
#cost, #policy .intro {
font-size: 1.0em; /* フォントサイズを小さく */
color: #5b5b5b;  /* 色をグレーに */
}
/* リストアイテムのスタイルを調整 */
ul {
  list-style-position: inside;
  padding-left: 0;
  margin-left: 0;
}
li {
  margin-bottom: 10px; /* 必要に応じて調整 */
}

.section-image {
  flex: 1;
  max-width: 200px;
}


/*-------院長メッセージ------------------------------------------------------------------------------------*/
  #director-message {
    padding: 20px;
  }

  #director-message h2 {
    font-size: 1.5em;
    font-weight: 300;
    color: #8b5e3c; /* 木を連想させる色 */
    margin-bottom: 20px; /* 各行の間隔を広げる */
  }

  .message-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 20px;
  }
  .message-content p {
    line-height: 2; /* 行間を1.5倍に設定 */
  }

  .director-photo {
    flex: 1;
    max-width: 200px;
    margin-right: 20px;
    margin-left: 20%; /* 画像を左側80％の位置に移動 */
  }
  
  .director-photo img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
  }
  
  .message-content {
    margin-bottom: 20px;
    line-height: 1.6;
  }

  /* やわらかクリニック院長を右揃えにする */
  .message-content .director-signature {
    text-align: right;
    margin-right: 10%; /* 右側に20%の余白を設定 */
    font-weight: bold; /* 強調のために太字にする（必要に応じて調整） */
  }
  
  .profile-section {
    margin-top: 20px;
  }
  
  .profile-section h2 {
    font-size: 1.3em;
    color: #5b3a29;
    margin-bottom: 10px;
  }
  
  .profile-section hr {
    border: 0;
    height: 1px;
    background: #5b3a29;
    margin-bottom: 10px;
  }
  
  .profile-section p {
    font-size: 1.0em;
    margin-bottom: 5px;
  }
  
  /* スマホ表示のスタイル */
  @media screen and (max-width: 768px) {
      #director-message {
          padding: 10px;
      }
      .message-container {
          flex-direction: column;
      }
      .director-photo {
          margin: 0 0 20px 0;
          max-width: 100%;
      }
      .director-photo img {
        max-width: 30%; /* ここを追加または修正して画像を小さくします */
        height: auto;
        margin: 0 auto; /* 画像を中央揃えにする */
      }
      .message-text {
          font-size: 1em;
      }
      .message-content {
        font-size: 0.8em;
    }
      .profile-section h2 {
          font-size: 1.2em;
      }
      .profile-section p {
          font-size: 1em;
      }
  }
  
/*--------------QA-------------*/  
/* 既存のスタイルに加えて以下を追加 */
.hidden {
    display: none;
  }
  
  .qa-section {
    margin: 20px 0;
    font-family: 'Nunito', sans-serif;
    color: #5b3a29; /* 木を連想させる色 */
    line-height: 1.8; /* 行間を広げる */
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
  }
  
  .qa-section img {
    max-width: 100%;
    height: auto;
  }
  
  #qa1,#qa2,#qa3,#qa4,#qa5,#qa6,#qa7,#qa8,#qa9,#qa10,#qa11,#qa12{
    font-family: 'Nunito', sans-serif;
    color: #5b3a29; /* 木を連想させる色 */
    line-height: 1.8; /* 行間を広げる */
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
  }
  
  #qa h2 {
    font-size: 1.5em;
    font-weight: 300;
    color: #8b5e3c; /* 木を連想させる色 */
    margin-bottom: 20px; /* 各行の間隔を広げる */
  }
  
  #qa h3 {
    font-size: 1.2em;
    font-weight: 300;
    color: #8b5e3c; /* 木を連想させる色 */
    margin-bottom: 20px; /* 各行の間隔を広げる */
  }
  
  #qa h2.first {
    font-family: 'Nunito', sans-serif;
    font-size: 1.8em;
    font-weight: 300;
    color: #a0522d; /* 淡い茶色 */
    margin-bottom: 25px; /* 各行の間隔を広げる */
  }
  
  #qa .intro {
    font-size: 1.0em; /* フォントサイズを小さく */
    color: #5b5b5b;  /* 色をグレーに */
    max-width: 500px;
    margin: 0 auto;
    text-align: left; /* 必要に応じてテキストを左揃え */
  }


/*-------問い合わせ------------------------------------------------------------------------------------*/
#contact {
    padding: 20px;
    margin: 0 auto; /* 中央揃えにするために自動マージンを設定 */
    width: 50%; /* 横幅を全体の80％に設定 */
  }
  
  #contact h1, #result h1 {
    font-size: 1.8em;
    color: #5b3a29; /* 木を連想させる色 */
    margin-bottom: 20px;
  }
  
  .form-group {
    margin-bottom: 20px;
  }
  
  .form-group label {
    display: block;
    font-size: 1.2em;
    color: #5b3a29;
    margin-bottom: 5px;
  }
  
  .form-group input,
  .form-group textarea {
    width: 100%;
    padding: 10px;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 4px;
  }
  
  button {
    display: inline-block;
    background-color: #5b3a29;
    color: white;
    padding: 10px 20px;
    font-size: 1.2em;
    border: none;
    border-radius: 4px;
    cursor: pointer;
  }
  
  button:hover {
    background-color: #8b5e3c;
  }
  
  #result p {
    font-size: 1.2em;
    color: #5b3a29;
    margin: 20px 0;
  }
  
  /* スマホ表示のスタイル */
  @media screen and (max-width: 768px) {
      #contact, #result {
          padding: 10px;
          margin: 10 10px; /* 左右の空白を調整 */
          width: 80%; /* スマホ表示時の横幅を90％に設定 */
      }
      #contact h1, #result h1 {
          font-size: 1.5em;
      }
      .form-group label {
          font-size: 1em;
      }
      .form-group input,
      .form-group textarea {
          font-size: 0.9em;
      }
      button {
          font-size: 1em;
      }
      #result p {
          font-size: 1em;
      }
  }
  



/*当院の特徴、特徴１～３表示*/
.common-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0 0;
  width: 80%;
  margin-left: 10%;
  box-sizing: border-box; /* パディングを含めた幅計算 */
  /*border: 1px solid black; /* 枠線を追加 */
}

.container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  width: 100%; /*幅は親要素を引き継ぐ*/
  margin: 0 0;
  margin-bottom: 40px; /*ボトムは少し空ける*/
  padding: 0 0;
  box-sizing: border-box;
}

.image-area {
  margin: 0 0;
  padding: 0 0;
  width: 430px;/* ※画像４～６の幅＋gapに合わせる。880 = 430+20+430 = 280+20+280+20+280 */
  height: 300px;
}

.image-area img {
  width: 100%;
  height: 100%;
}

.text-area {
  width: 430px; /* 幅を420pxに設定 */
  height: 200px; /* 高さを200pxに設定 */
  margin-left: 20px; /* 左側のマージンを20pxに設定 */
  box-sizing: border-box;
  text-align: left; /* テキストを左揃え */
  padding: 0px; /* パディングを追加 */
  display: block; /* ブロック表示 */
  overflow: auto; /* テキストがエリアを超えた場合にスクロール */
}
.text-area p {
  margin: 0; /* 段落のデフォルトマージンをリセット */
}

/*特徴４～６表示*/
.container_2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  padding: 0px;
  box-sizing: border-box;
  margin: 0 0;
}

.item_2 {
  display: flex;
  flex-direction: column;
  width: 280px;/**/
}

.image-area_2 {
  width: 280px;/**/
  height: 200px;
}

.image-area_2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.text-area_2 {
  width: 280px;
  height: 150px;
  margin: 0 0;
  padding: 0 0;
  box-sizing: border-box;
  display: block; /* フレックスコンテナからブロック表示に変更 */
  text-align: left; /* テキストを左揃えに設定 */
}
.text-area_2 p {
  margin: 0; /* 段落のデフォルトマージンをリセット */
}



@media (max-width: 768px) {
    .common-container {
      margin: 0 0;
      padding: 0 0;
      box-sizing: border-box;
      width: 100vw; /*スマホ表示はウィンドウ幅いっぱいに*/
    }
    .container {
        flex-direction: column;
        margin: 0 0;
        padding: 0 0;
    }
    .image-area {
        width: 100%;
        height: 66.7vw;
    }
    .image-area img {
        width: 100%;
        height: 66.7vw;
    }
    .text-area {
        width: 100%;
        height: auto;
        margin: 0;
    }
    .container_2 {
          flex-direction: column;
          margin: 0 0;
          padding: 0 0;
    }
    .item_2 {
        width: 100%;
        margin: 0 0;
        padding: 0 0;
    }

    .image-area_2,
    .text-area_2 {
        width: 100%;
        height: 66.7vw;
        margin: 0 0;
        padding: 0 0;
    }

    .text-area_2 {
        width: 100%;
        height: 20vw;
        margin: 0;
    }
}
