/* ========================================
   みらい幼稚園 - セクション背景画像+テキスト配置
   ======================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Meiryo', sans-serif;
  margin: 0; padding: 0;
  background: #f5f5f5;
  color: #333;
  font-size: 1.31vw;
}
img { max-width: 100%; height: auto; display: block; }
a { color: #333; text-decoration: none; }
table { border-collapse: collapse; }

/* ===== セクション共通 ===== */
.sec {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden;
}
.sec__inner {
  position: relative;
  width: 100%;
}
.sec__inner::before {
  content: '';
  display: block;
  width: 100%;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top center;
}

/* テキスト共通 */
.text {
  position: absolute;
  z-index: 1;
  line-height: 1.8;
  font-size: 1.31vw;
}

/* リンクエリア共通 */
.link-area {
  position: absolute;
  display: block;
  z-index: 10;
  cursor: pointer;
}

/* ============================================================
   Section 001: ヘッダー+ヒーロー (1920x1263)
   ============================================================ */
.sec--001 .sec__inner::before {
  padding-top: 65.78%;
  background-image: url('../images/bg/section001.png');
}
.text--001-logo {
  top: calc(1.5% + 17px); left: calc(3.5% + 70px);
  font-size: 1.80vw; font-weight: 700; letter-spacing: 0.3em;
}
.link--ig {
  top: 1%; right: 1%; width: 7%; height: 9%;
}

/* ============================================================
   Section 002: 教育理念+教育目標 (1920x1096)
   ============================================================ */
.sec--002 .sec__inner::before {
  padding-top: 57.08%;
  background-image: url('../images/bg/section002.png');
}
.text--002-title {
  top: 4%; left: 50%; transform: translateX(-50%);
  font-size: 3.00vw; font-weight: 700; text-align: center; letter-spacing: 0.5em; text-indent: 0.5em;
}
.text--002-sub {
  top: 12%; left: 50%; transform: translateX(-50%);
  font-size: 1.41vw; color: #999; letter-spacing: 1px; text-align: center;
}
.text--002-lead {
  top: 17%; left: 50%; transform: translateX(-50%);
  font-size: 1.6vw; font-weight: 700; text-align: center; width: 60%;
}
.text--002-title2 {
  top: 32%; left: 50%; transform: translateX(-50%);
  font-size: 3.00vw; font-weight: 700; text-align: center; letter-spacing: 0.5em; text-indent: 0.5em;
}
.text--002-sub2 {
  top: 40%; left: 50%; transform: translateX(-50%);
  font-size: 1.41vw; color: #999; letter-spacing: 1px; text-align: center;
}
.text--002-desc {
  top: 82%; left: 50%; transform: translateX(-50%);
  text-align: center; width: 70%; line-height: 2.2;
}

/* ============================================================
   Section 003: みらい幼稚園の特徴 上部 (1920x948)
   ============================================================ */
.sec--003 .sec__inner::before {
  padding-top: 49.38%;
  background-image: url('../images/bg/section003.png');
}
.text--003-title {
  top: 5%; left: 50%; transform: translateX(-50%);
  font-size: 3.00vw; font-weight: 700; letter-spacing: 0.5em; text-indent: 0.5em; text-align: center;
}
.text--003-sub {
  top: 14.5%; left: 50%; transform: translateX(-50%);
  font-size: 1.41vw; color: #999; letter-spacing: 1px; text-align: center;
}
.text--003-play-title {
  top: calc(24% + 90px); left: calc(5% + 160px);
  font-size: 1.5vw; font-weight: 700; line-height: 1.8;
}
.text--003-play-desc {
  top: calc(38% + 70px); left: calc(5% + 160px); width: 35%;
  line-height: 2.2; color: #555;
}

/* ============================================================
   Section 004: 体育教室+英語教室 (1920x684)
   ============================================================ */
.sec--004 .sec__inner::before {
  padding-top: 35.63%;
  background-image: url('../images/bg/section004.png');
}
.text--004-taiiku-title {
  top: 68%; left: 18%;
  font-size: 1.5vw; font-weight: 700;
}
.text--004-taiiku-desc {
  top: 78%; left: 18%; width: 35%;
  line-height: 2; color: #555; white-space: nowrap;
}
.text--004-eigo-title {
  top: 68%; left: calc(55% - 30px);
  font-size: 1.5vw; font-weight: 700;
}
.text--004-eigo-desc {
  top: 78%; left: calc(55% - 30px); width: 35%;
  line-height: 2; color: #555; white-space: nowrap;
}

/* ============================================================
   Section 005: 特別支援+ラーニング (1920x1627)
   ============================================================ */
.sec--005 .sec__inner::before {
  padding-top: 84.74%;
  background-image: url('../images/bg/section005.png');
}
.text--005-special-title {
  top: calc(2% + 245px); left: calc(5% + 160px); width: 60%;
  font-size: 1.5vw; font-weight: 700;
}
.text--005-special-desc {
  top: calc(6% + 245px); left: calc(5% + 160px); width: 55%;
  line-height: 2.2; color: #555;
}
.text--005-learning-title {
  top: calc(52% - 110px); left: 50%; transform: translateX(-50%);
  font-size: 3.00vw; font-weight: 700; text-align: center; letter-spacing: 2px;
}
.text--005-learning-sub {
  top: calc(60% - 110px); left: calc(5% + 160px);
  font-size: 1.5vw; font-weight: 700;
}
.text--005-learning-desc {
  top: calc(64% - 110px); left: calc(5% + 160px); width: 50%;
  line-height: 2.2; color: #555;
}

/* ============================================================
   Section 006: 働いているお母さんでも安心 (1920x904)
   ============================================================ */
.sec--006 .sec__inner::before {
  padding-top: 47.08%;
  background-image: url('../images/bg/section006.png');
}
.text--006-title {
  top: 5%; left: 50%; transform: translateX(-50%);
  font-size: 3.00vw; font-weight: 700; text-align: center;
}
.text--006-sub {
  top: 14%; left: 50%; transform: translateX(-50%);
  font-size: 1.41vw; color: #999; letter-spacing: 1px; text-align: center;
}
.text--006-bus-title {
  top: calc(60% + 15px); left: calc(5% + 160px);
  font-size: 1.5vw; font-weight: 700;
}
.text--006-bus-desc {
  top: calc(68% + 15px); left: calc(5% + 160px); width: 35%;
  line-height: 2; color: #555;
}
.text--006-azukari-title {
  top: calc(60% + 15px); left: calc(55% - 30px);
  font-size: 1.5vw; font-weight: 700;
}
.text--006-azukari-desc {
  top: calc(68% + 15px); left: calc(55% - 30px); width: 35%;
  line-height: 2; color: #555;
}

/* ============================================================
   Section 007: 保育時間+給食 (1920x1130)
   ============================================================ */
.sec--007 .sec__inner::before {
  padding-top: 58.85%;
  background-image: url('../images/bg/section007.png');
}
.text--007-hours-title {
  top: calc(22% - 35px); left: calc(5% + 160px);
  font-size: 1.5vw; font-weight: 700;
}
.text--007-hours-intro {
  top: calc(29% - 35px); left: calc(5% + 160px); width: 70%;
  line-height: 2; color: #555; white-space: nowrap;
}
.text--007-hours-labels {
  top: calc(29% - 35px + 150px); left: calc(5% + 210px); width: 55%;
  display: flex; justify-content: space-between;
  font-size: 1.5vw; font-weight: 700;
}
.text--007-hours-labels .label-shift {
  padding-left: 20px;
}
.text--007-hours-labels .label-shift--extra {
  padding-left: 40px;
}
.text--007-meal-title {
  top: calc(62% - 40px); left: calc(5% + 160px);
  font-size: 1.5vw; font-weight: 700;
}
.text--007-meal-intro {
  top: calc(69% - 40px); left: calc(5% + 160px); width: 60%;
  line-height: 2; color: #555;
}

/* ============================================================
   Section 008: 入園募集要項 (1920x1856)
   ============================================================ */
.sec--008 .sec__inner::before {
  padding-top: 96.67%;
  background-image: url('../images/bg/section008.png');
}
.text--008-title {
  top: 2%; left: 50%; transform: translateX(-50%);
  font-size: 3.00vw; font-weight: 700; text-align: center;
}
.text--008-sub {
  top: 6.5%; left: 50%; transform: translateX(-50%);
  font-size: 1.41vw; color: #999; letter-spacing: 1px; text-align: center;
}

/* 入園募集要項 2カラムグリッド */
.text--008-grid {
  top: calc(9% + 150px); left: 0;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  column-gap: 0;
  row-gap: 0;
  font-size: 1.31vw;
  line-height: 1.9;
}
.adm-cell {
  align-self: start;
}
/* 左カラム（奇数）*/
.adm-cell:nth-child(odd) {
  padding-left: calc(5% + 185px);
  padding-right: 5%;
}
/* 右カラム（偶数）*/
.adm-cell:nth-child(even) {
  padding-left: calc(55% - 30px - 50% + 30px);
  padding-right: calc(5% + 190px);
}
.adm-cell--row2 {
  margin-top: 110px;
}
.adm-cell--row3 {
  margin-top: 85px;
}
.adm-block {
  margin-bottom: 1.5vw;
}
.adm-cell--row3 .adm-body {
  white-space: nowrap;
}
.adm-heading {
  background: #F2C4CB;
  color: #333;
  font-size: 1.31vw;
  font-weight: 700;
  text-align: center;
  padding: 0.5vw 1vw;
  border-radius: 2vw;
  margin-bottom: 0.8vw;
}
.adm-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #FCF1F3;
}
.adm-table td {
  padding: 1.2vw 1vw;
  border: 1px solid #FCF1F3;
  font-size: 1.31vw;
  vertical-align: middle;
}
.adm-table td:first-child {
  background: #F1C1D1;
  width: 35%;
  text-align: center;
}
.adm-table--fee {
  table-layout: fixed;
}
.adm-table--fee td:first-child {
  width: 35%;
}
.adm-table td:last-child {
  background: #fff;
}
.adm-val {
  text-align: right;
  font-weight: 500;
}
.adm-note {
  font-size: 1.31vw;
  color: #888;
  margin-top: 0.3vw;
  padding-left: 0.5vw;
}
.adm-note-cell {
  font-size: 1.1vw;
  color: #888;
  text-align: center;
  background: #FFF5F7;
}
td.adm-monthly {
  background: #fff;
  line-height: 2.2;
  font-size: 1.21vw !important;
}
.adm-note-inline {
  font-size: 1.1vw;
  color: #888;
}
.adm-sub-heading {
  font-size: 1.31vw;
  font-weight: 700;
  margin: 0.5vw 0 0.3vw 0.3vw;
}
.adm-body {
  font-size: 1.31vw;
  color: #555;
  padding: 0 0.5vw;
  line-height: 2;
}

/* お問い合わせ */
.text--008-contact {
  bottom: calc(4% + 40px); left: 50%; transform: translateX(-50%);
  font-size: 1.8vw; font-weight: 700; letter-spacing: 3px;
  color: #333; text-align: center;
  display: inline-block;
  text-decoration: none;
  z-index: 10;
}
.text--008-contact:hover { opacity: 0.7; }

/* ============================================================
   Section 009: フッター (1920x750)
   ============================================================ */
.sec--009 .sec__inner::before {
  padding-top: 39.06%;
  background-image: url('../images/bg/section009.png');
}
.text--009-name {
  top: calc(30% + 50px); left: 50%; transform: translateX(-50%);
  font-size: 3.00vw; font-weight: 700; text-align: center;
}
.text--009-address {
  top: calc(48% + 50px); left: 50%; transform: translateX(-50%);
  text-align: center; white-space: nowrap; line-height: 1.4;
}
.text--009-tel {
  top: calc(56% + 50px); left: 50%; transform: translateX(-50%);
  text-align: center; white-space: nowrap; line-height: 1.4;
}
.text--009-tel a { color: #333; }
.text--009-mail {
  top: calc(64% + 50px); left: 50%; transform: translateX(-50%);
  text-align: center; white-space: nowrap; line-height: 1.4;
}
.text--009-mail a { color: #333; }

/* ===== GoogleMap ===== */
.sec-map {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  line-height: 0;
}
.sec-map iframe { display: block; width: 100%; }

/* ===== PC/SP切り替え ===== */
.sp-site {
  display: none;
}

@media (max-width: 768px) {
  .pc-site {
    display: none !important;
  }
  .sp-site {
    display: block !important;
    position: relative;
    width: 100%;
    margin: 0 auto;
    line-height: 0;
  }
  .sp-site__img-wrap {
    position: relative;
    width: 100%;
  }
  .sp-site__img {
    width: 100%;
    height: auto;
    display: block;
  }
  .sp-site__link {
    position: absolute;
    display: block;
    z-index: 10;
  }
  /* お問い合わせボタン */
  .sp-contact-btn {
    position: absolute;
    z-index: 10;
    top: calc(86.3% + 95px);
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    padding: 3vw 14vw;
    font-size: 4vw;
    white-space: nowrap;
    font-weight: 700;
    letter-spacing: 3px;
    color: #333;
    border: none;
    text-decoration: none;
    text-align: center;
    background: #F8DEE3;
    border-radius: 10px;
  }
  /* フッター園情報 */
  .sp-footer-info {
    position: absolute;
    z-index: 10;
    top: calc(91.5% + 110px);
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    width: 90%;
    font-size: 2.6vw;
    line-height: 1.6;
    color: #333;
  }
  .sp-footer-info a {
    color: #333;
    text-decoration: none;
  }
  .sp-footer-tel a,
  .sp-footer-mail a {
    text-decoration: underline;
  }
  .sp-site__text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .sp-site__map {
    width: 100%;
    line-height: 0;
  }
  .sp-site__map iframe {
    display: block;
    width: 100%;
    height: 300px;
  }
}
