/* ============================================================
   SP / Tablet  ≤ 1000px
   style.cssの補完・上書き用
============================================================ */

/* ── Header ── */
#header { padding: 16px 20px; }
#header.scrolled { padding: 12px 20px; }

.header-logo a {
  display: flex;
  align-items: center;
  gap: 10px;
}

.header-logo img {
  height: 48px;
  width: auto;
  transition: opacity .3s;
}

.header-nav { display: none; }
.header-right { padding-right: 64px; }

/* hamburger top 調整 */
.hamburger { right: 20px; top: 38px; }
#header.scrolled ~ .hamburger { top: 38px; }

/* ── MV ── */
#mv {
  position: relative;
  width: 100%; height: 80vh;
  min-height: 400px;
  overflow: hidden;
}
.mv-bg {
  position: absolute;
  inset: 0;
  background: url('../images/mv_bg.jpg') right 42% center / cover no-repeat;
  z-index: 0;
}

.mv-content { padding: 0 10%; }
.mv-copy h1 { font-size: clamp(1.4rem, 5vw, 2rem); }
.mv-copy-divider { margin-right: 16px;}
.mv-sub { font-size: clamp(.75rem, 2.2vw, .95rem);  margin-right: 20px; }
.mv-right { right: 3%; bottom: 3%; }
.mv-map { width: clamp(160px, 24vw, 220px); }
.mv-flag { width: clamp(28px, 5vw, 44px); }


.btn-outline_l {
  display: inline-flex;
  align-items: center;
  justify-content:center;
  text-align: center;
  position: relative;
  padding: 20px 32px;
  max-width: 400px;
    min-width: 100%;
  border: 1px solid var(--gold);
  color: var(--gold);
  font-size:.8rem;
  letter-spacing: .12em;
  transition: background .3s, color .3s;
}
.btn-outline_l::after {
position: absolute;
right: 32px;
content: '→';
}
.btn-outline_l:hover { background: var(--gold); color: var(--white); }

.btn-outline_c {
  display: inline-flex;
  align-items: center;
  justify-content:center;
  text-align: center;
  position: relative;
  padding: 20px 32px;
  max-width: 400px;
  min-width: 100%;
  border: 1px solid var(--gold);
  color: var(--gold);
  font-size:.8rem;
  letter-spacing: .12em;
  transition: background .3s, color .3s;
}
.btn-outline_c::after {
position: absolute;
right: 32px;
content: '→';
}
.btn-outline_c:hover { background: var(--gold); color: var(--white); }



/* ── About ── */
#about {
  background: var(--cream);
  padding: 60px 0;
}
.about-inner {
  grid-template-columns: 1fr;
  gap: 32px;
  padding: 0 24px;
}
.about-left-wrap {
  position: relative;
  padding: 32px 0 56px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 160px;
}
.about-title-v {
  font-size: 1.3rem;
  letter-spacing: .25em;
  text-align: center;
  position: relative;
  z-index: 1;
}
.about-map {
  position: absolute;
  width: 80%;
  max-width:320px;
  opacity: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
div.about-label-bg { font-size: clamp(2rem, 10vw, 3rem); bottom: 20px; }
p.about-label-bg { font-size: .65rem; bottom:15px; color: rgba(143,115,54,.35); }


/* ── Section Common ── */
.section-title { font-size: 1.6rem; }
.section-desc { font-size: .82rem; }

/* ── Activity ── */
#activity { padding: 60px 0; }
.activity-inner { padding: 0 20px; }
.activity-header { text-align: center; margin-bottom: 36px; }
.activity-grid {
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 0;
  margin-bottom: 36px;
}
.activity-card-img { width: 42%!important; }
.activity-card-body { padding:0 20px!important; }
.activity-card-num { top: -22px; font-size: .75rem; }
.activity-card-title { font-size: .95rem; padding: 0px 0 0px 14px; }
.activity-card-arrow { padding-right: 16px; font-size: 1.1rem; }

/* ── News ── */
#news { padding: 60px 0; }
.news-inner { padding: 0 20px; }
.news-kiku { width: min(180px, 40vw); top: 40px; right: 10px; }
.news-item a {
  flex-wrap: wrap;
  gap: 10px;
  padding: 15px!important;
}
.news-date {min-width:80px;}
.news-cat {
  font-size: .7rem;
  min-width: 100px;
  letter-spacing: 2px;
  background-color: #f3efe7;
  padding:5px!important;
  white-space: nowrap;
  color: #8f7336;
  text-align: center;
}
.news-title { width: 100%; flex: unset;  font-size: .85rem;}
.news-arrow { margin-left: auto;font-size: 1rem;line-height: 1rem;}
.news-header { margin-bottom: 36px; }
.news-list { margin-bottom: 36px; }

/* ── SNS ── */
#sns { padding: 60px 0; }
.sns-inner {
  flex-direction: column;
  gap: 28px;
  padding: 0 20px;
}
.sns-left { max-width: 100%; text-align: center; }
.sns-grid {
  flex-wrap: wrap;
  gap: 12px;
  padding: 0;
  border-left: none;
  width: 100%;
}
.sns-card { width: calc(50% - 6px); flex: unset; padding: 24px 12px; }
.sns-card img { width: 48px; height: 48px; }

/* ── CTA ── */
#cta { padding: 60px 0; }
.cta-inner { padding: 0 20px; }
.cta-header { margin-bottom: 36px; }
.cta-cards {
  grid-template-columns: 1fr;
  gap: 16px;
}
.cta-card {
  gap: 20px;
  padding: 20px 20px;
}
.cta-card img { width: 48px; }
.cta-card-divider { height: 48px; }
.cta-card-text h4 {
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing:2px;
  margin-bottom: 6px;
}

.cta-card-text p {
  color:#fff;
  font-size: 0.85rem;
  letter-spacing:2px;
}

/* ── Footer ── */
#footer { padding: 0; }
.footer-inner { padding: 60px 20px 60px; }
.footer-logo img { height: 48px; }
.footer-divider { margin: 28px auto; }
.footer-nav-grid {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 20px 0;
}
.footer-nav-parent { font-size: .82rem; }
.footer-nav-children a { font-size: .75rem; padding-left: 18px; }
.footer-sns { gap: 24px; padding: 40px 0 20px; }
.footer-sns img { width: 36px; }

/* ── Back to Top ── */
#back-to-top {
  bottom: 20px;
  right: 16px;
  width: 44px;
  height: 44px;
}

/* ── Drawer ── */
.drawer { padding: 80px 24px 40px; }

/* ============================================================
   SP  ≤ 480px
============================================================ */
@media (max-width: 480px) {
  .mv-copy h1 { font-size: 1.3rem; }
  .mv-sub { font-size: .72rem; }

  .section-title { font-size: 1.4rem; }

  .activity-card-img { width: 35%; }
  .activity-card-body { padding: 0 14px; }

  .sns-card { padding: 20px 10px; }

  .footer-nav-grid { grid-template-columns: 1fr; gap: 20px; }
  .footer-sns { gap: 16px; }
}
