.mod__region-nav {
  max-width: 1080px;
  margin: 0 auto var(--section-gap) auto;
  text-align: center;
}
.mod__region-nav .region-links {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px; /* ボタン同士の隙間 */
}
.mod__region-nav .region-links li a {
  font-size: 0.875rem;
  transition: 0.5s;
  padding: 12px 32px;
  border-radius: 19px;
  background: #ffa500;
  color: #ffffff;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  display: inline-block;
  cursor: pointer;
  text-decoration: none;
}

.mod__region-nav .region-links li a:hover {
  background: #ff8c00;
}

.mod__page-intro--txt a {
    text-decoration: underline !important;
}

.ytm-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.6);
  opacity:0; visibility:hidden;
  transition:opacity .15s ease;
  z-index:9999;
}

.ytm-modal{
  position:fixed; inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0; visibility:hidden;
  transition:opacity .15s ease;
  z-index:10000;
  pointer-events:none;
}
.ytm-overlay.is-open,
.ytm-modal.is-open{
  opacity:1; visibility:visible;
}
.ytm-box{
  position:relative;
  width:min(90vw, 960px);
  background:#000;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  pointer-events:auto;
}
.ytm-framewrap{ position:relative; width:100%; padding-top:56.25%; }
.ytm-framewrap iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0;
}
.ytm-close{
  position:absolute; top:8px; right:8px;
  background:rgba(0,0,0,.55);
  color:#fff; border:0; border-radius:8px;
  padding:8px 10px; cursor:pointer; font-size:14px;
}
.ytm-close:hover{ background:rgba(0,0,0,.75); }
.ytm-fallback{ text-align:right; padding:8px 12px; }
.ytm-openin{ color:#fff; opacity:.85; text-decoration:underline; }
.ytm-openin:hover{ opacity:1; }

.body--lock{ overflow:hidden; }