@charset "utf-8";html {
  scroll-behavior: smooth; 
}

.wrapper {
  width: 100%; 
  max-width: 1080px; 
  margin: 0 auto; 
  padding-left: 10px !important; 
  padding-right: 10px !important; 
}

.header-img-wrapper img {
  width: 100%; 
}

@media (min-width: 600px) {
  .title-wrapper .title {
    text-align: center; 
    font-size: 18px; 
    padding: 30px 0px; 
  }
  .header-img-wrapper {
    padding-bottom: 30px; 
  }
}

/* SP 版----*/
@media (max-width: 600px) {
  .title-wrapper .title {
    text-align: center; 
    font-size: 16px; 
    padding: 20px 0px; 
  }
  .header-img-wrapper {
    padding-bottom: 20px; 
  }
}

ul.item_txtbtn {
  display: flex; 
  justify-content: center; 
  flex-wrap: wrap; 
  gap: 4px; 
  margin: 0 auto 100px; 
  width: 100%; 
}

ul.btn3 {
  justify-content: flex-start !important; 
}

/* ボタンの共通設定（PCサイズ） */
ul.item_txtbtn a {
  width: calc((100% - 8px) / 3); 
  padding: 15px 10px; 
  font-size: 1.7rem; 
  text-align: center; 
  box-sizing: border-box; 
  display: flex;
  align-items: center;
  justify-content: center;
}

/* スマホ表示の時の設定（上書きを防ぐため1つに集約） */
@media screen and (max-width: 680px) {
  ul.item_txtbtn a {
    width: calc((100% - 4px) / 2); 
    font-size: 1.3rem;        
    padding: 12px 5px; 
    min-height: 52px;        /* 文字が2行になっても枠が崩れない高さを確保 */
  }
}

/* WHITEボタン：背景白、枠線黒、文字黒 */
ul.item_txtbtn a.btn-white {
  background: #ffffff; 
  border: 1px solid #000000; 
}
ul.item_txtbtn a.btn-white li {
  color: #000000; 
}

/* BLACKボタン：背景黒、文字白 */
ul.item_txtbtn a.btn-black {
  background: #000000; 
  border: 1px solid #000000; 
}
ul.item_txtbtn a.btn-black li {
  color: #ffffff; 
}