@charset "utf-8";

/* --- Base Layout --- */
.guide {
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  background-color: #fcfcfc; /* 薄い背景色 */
}

/* --- Main Title --- */
.guide h2.main-ttl {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 40px;
  padding-bottom: 10px;
  border-bottom: 2px solid #604123;
  color: #333;
}

/* --- Navigation --- */
.guide-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin-bottom: 50px;
}

.guide-nav li {
  width: calc((100% - 40px) / 3); /* 3列 */
}

.guide-nav li a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #6b3906; /* 茶色ボタン */
  color: #fff;
  text-decoration: none;
  border-radius: 30px;
  padding: 15px;
  font-weight: bold;
  font-size: 14px;
  transition: opacity 0.3s;
  /* 矢印アイコン (画像にある下矢印のような装飾が必要なら追加) */
}

/* ボタンの右側に小さな矢印をつける場合 */
.guide-nav li a::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-left: 10px;
  margin-bottom: 2px;
}

.guide-nav li a:hover {
  opacity: 0.8;
}

/* --- Section Styling --- */
.guide-sec {
  margin-bottom: 60px;
  /* アンカーリンクのズレ防止 */
  scroll-margin-top: 100px; 
}

/* セクションタイトル (中央揃え + 下線) */
.sec-ttl {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  border-bottom: 1px solid #333;
  display: inline-block;
  padding-bottom: 5px;
  margin-bottom: 30px;
  /* 中央寄せするための親要素の指定が必要だが、ここではdisplay:table等で個別に寄せる */
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.white-box {
  background: #fff;
  padding: 40px;
  border-radius: 8px;
}

/* 小見出し */
.sub-ttl {
  font-size: 16px;
  font-weight: bold;
  color: #604123; /* 茶色文字 */
  margin-bottom: 10px;
  margin-top: 30px;
}
.sub-ttl:first-child {
  margin-top: 0;
}

/* テキスト周り */
.guide-sec p {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 0;
}
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }

.note {
  font-weight: bold;
  color: #333;
}
.note span {
  color: #604123;
  margin-right: 5px;
}
.notice {
  color: #d9534f; /* 注意書きの赤色 */
  font-weight: bold;
  margin-right: 5px;
}

.text-link {
  color: #0000cd;
  text-decoration: underline;
}
.text-link:hover {
  text-decoration: none;
}

/* --- Shipping Table --- */
.table-wrap {
  overflow-x: auto;
}
.shipping-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.shipping-table th,
.shipping-table td {
  border: 1px solid #ccc;
  padding: 12px;
}
.shipping-table th {
  background-color: #f5f5f5;
  width: 30%;
  text-align: center;
  font-weight: bold;
}
.shipping-table td {
  background-color: #fff;
}

/* --- Responsive --- */
@media screen and (max-width: 768px) {
  .guide-nav li {
    width: 100%; /* スマホは1列 */
  }
  
  .white-box {
    padding: 20px;
  }
.white-box img {
    width: 100%;
}
  
  .shipping-table th,
  .shipping-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .shipping-table th {
    background-color: #eee;
  }
}