/* =========================
   フォント統一（最重要）
========================= */
:root {
--nav-height: 0;
--bs-font-sans-serif:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
--bs-body-font-family: var(--bs-font-sans-serif);
/* フォントサイズ基準 */
--bs-body-font-size: 1.1rem; /* =16px */
--bs-body-line-height: 1.7;
}

/* =========================
   見出しのズレ防止
========================= */
h1, h2, h3, h4, h5 {font-weight: 700;line-height: 1.4;}
/* =========================
Windowsの游ゴシック問題対策
========================= */
@supports (-ms-ime-align:auto) {body {font-family:"Noto Sans JP","Segoe UI",Meiryo,sans-serif;}}
/* =========================
スマホ調整
========================= */
@media (max-width: 768px) {html {font-size: 10px; /* 少しだけ縮小 */ }}
/* =========================
レイアウト安定化
========================= */
p {margin-bottom: 1rem;}
/****************************************************/
.menulist a{ color:#fff;}
.menulist a:hover{ background-color:#00b09b;}
.menulist i{ color:#EDE574;}

html {font-size:16px;  -webkit-text-size-adjust:100%;  text-size-adjust:100%;}
body{  color:#000000; font-family: var(--bs-font-sans-serif);-webkit-font-smoothing: antialiased; line-height:1.6; font-weight:400;/* Mac対策 */-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;padding-top: var(--nav-height);}

/*====================================================

  保育園別 和紙背景・共通

====================================================*/

.washi-bg{position:relative;overflow:hidden;isolation:isolate;background-size:auto,auto,auto,auto,auto,420px;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat;}
/*----------------------------------------------------
  たいし保育園（若草）
----------------------------------------------------*/
.taishi-bg{background:radial-gradient(circle at 18% 15%,rgba(202,223,126,.28) 0%,transparent 38%),radial-gradient(circle at 85% 12%,rgba(255,255,255,.72) 0%,transparent 35%),radial-gradient(circle at 50% 45%,rgba(255,255,255,.45) 0%,transparent 55%),radial-gradient(circle at 50% 92%,rgba(205,220,118,.22) 0%,transparent 42%),linear-gradient(180deg,rgba(248,250,229,.98) 0%,rgba(244,247,212,.96) 50%,rgba(248,250,229,.98) 100%),url("../WebP/bg-washi.webp") center/420px repeat;}

/*----------------------------------------------------
  矢作保育園（水色）
----------------------------------------------------*/
.yahagi-bg{background:radial-gradient(circle at 18% 15%,rgba(220,231,183,.24) 0%,transparent 40%),radial-gradient(circle at 86% 12%,rgba(255,255,255,.72) 0%,transparent 34%),radial-gradient(circle at 50% 46%,rgba(191,220,236,.24) 0%,transparent 58%),radial-gradient(circle at 18% 85%,rgba(214,233,241,.18) 0%,transparent 42%),linear-gradient(180deg,rgba(247,249,236,.98) 0%,rgba(233,243,250,.98) 45%,rgba(245,250,242,.98) 100%),url("../WebP/bg-washi.webp") center/420px repeat;}

/*----------------------------------------------------
  えにし保育園（桜）
----------------------------------------------------*/
.enishi-bg{background:radial-gradient(circle at 18% 15%,rgba(246,206,219,.26) 0%,transparent 40%),radial-gradient(circle at 85% 12%,rgba(255,255,255,.70) 0%,transparent 35%),radial-gradient(circle at 50% 45%,rgba(225,214,236,.22) 0%,transparent 55%),radial-gradient(circle at 20% 85%,rgba(255,248,238,.30) 0%,transparent 45%),linear-gradient(180deg,rgba(255,252,248,.96) 0%,rgba(248,240,246,.95) 45%,rgba(255,252,246,.96) 100%),url("../WebP/bg-washi.webp") center/420px repeat;}

/*----------------------------------------------------
  だいじ保育園（クリーム）
----------------------------------------------------*/
.daiji-bg{background:radial-gradient(circle at 18% 15%,rgba(250,224,157,.25) 0%,transparent 38%),radial-gradient(circle at 86% 12%,rgba(255,255,255,.72) 0%,transparent 34%),radial-gradient(circle at 50% 45%,rgba(255,255,255,.46) 0%,transparent 55%),radial-gradient(circle at 50% 90%,rgba(248,228,170,.18) 0%,transparent 40%),linear-gradient(180deg,rgba(255,250,236,.98) 0%,rgba(252,245,220,.98) 48%,rgba(255,250,236,.98) 100%),url("../WebP/bg-washi.webp") center/420px repeat;}

/* ==========================================
   ページ全体の鹿の子背景
========================================== */
.bg-kanoko{position:absolute;height:100%;top:0;left:0;width:100%;overflow:hidden;pointer-events:none;z-index:0;will-change:transform;}
.washi-bg > *:not(.bg-kanoko){position:relative;z-index:1;}
.kanoko-item{position:absolute;display:block;background:url("../SVG/bg-kanoko.svg")center / contain no-repeat;transform-origin:center;will-change:transform, opacity;}
.washi-content{position:relative;z-index:1;}
/*
**********************************************************************************************
ナビゲーション
**********************************************************************************************
*/
/* ------------------------------------------
   Header
------------------------------------------ */
#header{position:fixed;top:40px;left:0;width:100%;z-index:10000;display:flex;justify-content:center;transition:top .85s ease;}

/* Bootstrapのcontainer */
#header .container{max-width:1320px;width:calc(100% - 40px);margin:0 auto;transition:width .95s ease;}

/* ナビ */#mainNav{position:relative;z-index:1;}
/* PC */
@media (min-width:992px){
#mainNav{background:rgba(255,255,255,.8);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:999px;padding:14px 32px;box-shadow:0 10px 30px rgba(0,0,0,.08);transform:scale(1);transition:border-radius .95s ease,background-color .95s ease,padding .95s ease,box-shadow .95s ease;}
}
/* タブレット・スマホ */
@media (max-width:991px){
#mainNav{background:rgba(255,255,255,.75);
backdrop-filter:blur(15px);
-webkit-backdrop-filter:blur(15px);
border-radius:50px;
padding:10px 16px;
box-shadow:0 8px 20px rgba(0,0,0,.08);}
/* メニューを開いた部分は透明 */
.navbar-collapse,.navbar-collapse.show,.navbar-collapse.collapsing{margin-top:10px;background:transparent !important;border:none !important;border-radius:0 !important;box-shadow:none !important;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none;}

/* メニュー項目 */
.nav-link{border-radius:12px;transition:.3s;}
.nav-link:hover,
.nav-link:focus{background:rgba(71,174,185,.08);}

}
/* ===========================
   Scroll後
=========================== */
#header.scrolled{top:0;}
#header.scrolled .container{width:100%;max-width:100%;padding-left:0;padding-right:0;}
#header.scrolled #mainNav{background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:0;padding:10px 40px;box-shadow:0 2px 15px rgba(0,0,0,.08);}

/* ロゴ */
.navbar-brand{font-size: 1.5rem;}

/* メニュー文字 */
.nav-link{position: relative;margin-left: 1rem;font-weight: 500;white-space: nowrap;}

/* 下線アニメ */
.nav-link::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:#8bbfa5;transition:.3s;}
.nav-link:hover::after{width:100%;}

/* スマホメニュー開いた時 */
@media (max-width: 991px){
.navbar-collapse{margin-top: 1rem;padding: 1rem;background: rgba(255,255,255,.95);backdrop-filter: blur(12px);border-radius: 20px;box-shadow: 0 8px 20px rgba(0,0,0,.08);}
.nav-link{margin-left: 0;padding: .8rem 1rem;}
}

/*
**********************************************************************************************
ヒーロー
**********************************************************************************************
*/

.hero01{background: url("../WebP/hero01.webp") bottom left / cover no-repeat;}
.hero02{background: url("../WebP/hero02.webp") bottom left / cover no-repeat;}
.hero03{background: url("../WebP/hero03.webp") bottom left / cover no-repeat;}
.hero04{background: url("../WebP/hero04.webp") bottom left / cover no-repeat;}
.hero05{background: url("../WebP/hero05.webp") bottom left / cover no-repeat;}
.hero06{background: url("../WebP/hero06.webp") bottom left / cover no-repeat;}
.hero {aspect-ratio:1920 / 800;background-size:cover;background-repeat:no-repeat;}
.hero,.hero img{width:100%;max-width:100%;}

@media (max-width:1199px){
.hero01{background-image:url(WebP/hero-tab.webp);}
}

@media (max-width:767px){
.hero {width:100%;aspect-ratio:800 / 1000;background-size:cover;background-repeat:no-repeat;}
.hero01{background:url(../WebP/hero-mb01.webp) bottom left / cover no-repeat;}
.hero02{background:url(../WebP/hero-mb02.webp) bottom left / cover no-repeat;}
.hero03{background:url(../WebP/hero-mb03.webp) bottom left / cover no-repeat;}
.hero04{background:url(../WebP/hero-mb04.webp) bottom left / cover no-repeat;}
.hero05{background:url(../WebP/hero-mb05.webp) bottom left / cover no-repeat;}
.hero06{background:url(../WebP/hero-mb06.webp) bottom left / cover no-repeat;}
}
/*
**********************************************************************************************
サブ理念
**********************************************************************************************
*/
.w-img{transition:.3s; width:80%;}
.w-img2{transition:.3s; width:95%;}
/* 上段を少し中央へ */
.row:first-child .col-md-3:first-child{transform:translateX(30px);}
.row:first-child .col-md-3:last-child{transform:translateX(-30px);}
/* 下段を少し上へ */
.row:last-child{margin-top:-20px;}
.item1{transform:translateY(15px);}
.item2{transform:translateY(-15px);}
.item3{transform:translateY(-10px);}
.item4{transform:translateY(0);}
.item5{transform:translateY(10px);}

/*
**********************************************************************************************
TOPへボタン
**********************************************************************************************
*/
.midashi{min-height:80px;display:flex;justify-content:center;align-items:center;text-align:center;}
.midashi img{display:block;width:auto;height:auto;max-width:90%;max-height:35px;}
@media (max-width:767px){
.midashi{min-height:60px;}
.midashi img{max-width:92%;max-height:25px;}
}
/*
**********************************************************************************************
TOPへボタン
**********************************************************************************************
*/
#pageTop{position:fixed;right:20px;bottom:20px;width:58px;height:58px;display:flex;justify-content:center;align-items:center;background:rgba(71,174,185,1);color:#fff;border-radius:50%;text-decoration:none;font-size:1.5rem;font-weight:bold;box-shadow:0 8px 20px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .4s,transform .4s,background-color .3s; z-index:99999;}
#pageTop.show{opacity:1;visibility:visible;transform:translateY(0);}
#pageTop:hover{background:#29abe2;transform:translateY(-4px);}
@media (max-width:991px){#pageTop{bottom:90px;}}

/* ==========================================
   園の特徴カード
========================================== */
.feature-card{position:relative;height:100%;border:none;border-radius:30px;overflow:hidden;background:#fffef9;box-shadow:0 12px 30px rgba(0,0,0,.08);transition:transform .35s ease,box-shadow .35s ease;}
/* 和紙 */
.feature-card::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.45),rgba(255,255,255,.45)),url("../WebP/bg-washi.webp") center/360px repeat;opacity:1;z-index:0;}
/* 和紙の色のにじみ */
.feature-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(167,198,128,.12),transparent 35%),radial-gradient(circle at 85% 80%,rgba(236,213,220,.12),transparent 40%);z-index:0;}
/* コンテンツ */
.feature-card > *{position:relative;z-index:1;}
/* 写真 */
.feature-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:30px 30px 0 0;transform:scale(1.05);}
/* 本文 */
.feature-card .card-body{display:flex;flex-direction:column;padding:2rem;}
/* タイトル */
.feature-card .card-title{color:#47aeb9;font-size:1.5rem;font-weight:700;margin-bottom:1rem;}
/* 説明文 */
.feature-card .card-text{line-height:1.9;margin-bottom:2rem;flex-grow:1;}
/* ボタン */
.feature-card .btn-line{margin-top:auto;align-self:flex-start;}
/* Hover */
/*.feature-card:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(0,0,0,.14);}*/
.feature-card:hover::before{opacity:.85;}

/* 課外教室の小見出し */
.feature-subtitle{display:block;margin-top:.35rem;font-size:.75em;font-weight:500;}

/* PC・タブレット */
.feature-slider{align-items:stretch;}
.feature-slide{display:flex;}
.feature-slide .feature-card{width:100%;}

/* スマートフォンのみ横スライド */
@media (max-width:767px){
.feature-slider{flex-wrap:nowrap;justify-content:flex-start !important;overflow-x:auto;overflow-y:hidden;gap:16px;margin-right:-12px;margin-left:-12px;padding-right:24px;padding-left:24px;padding-bottom:20px;scroll-snap-type:x mandatory;scroll-padding-left:24px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.feature-slider::-webkit-scrollbar{display:none;}
.feature-slide{flex:0 0 82%;width:82%;max-width:82%;padding-right:0;padding-left:0;scroll-snap-align:start;}
.feature-card{height:100%;}
.feature-swipe-guide{margin:0;text-align:center;font-size:1rem;opacity:.6;}
}

/* ==========================================
   Scroll Animation
========================================== */
.fade-up{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease;}
.fade-up.show{opacity:1;transform:translateY(0);}
/* 少し遅らせる */
.delay1{transition-delay:.15s;}
.delay2{transition-delay:.30s;}
.delay3{transition-delay:.45s;}
/*====================================================
  保育情報
====================================================*/
.info-table-box{background:linear-gradient(rgba(255,255,255.45),rgba(255,255,255,.45)),url("../WebP/bg-washi.webp") center/320px repeat;border-radius:30px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.08);border:1px solid rgba(255,255,255,.6);}
.info-row{display:grid;grid-template-columns:180px 1fr;align-items:center;min-height:80px;border-bottom:1px solid rgba(71,174,185,.15);}
.info-row:last-child{border-bottom:none;}

/* 左見出し */
.info-title{height:100%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#47aeb9;
background:rgba(202,223,126,.28);/*たいし*/
/*background:rgba(191,220,236,.28);/*やはぎ*/
/*background:rgba(246,206,219,.28);/*えにし*/
/*background:rgba(250,224,157,.28);/*だいじ*/
border-right:1px solid rgba(71,174,185,.12);font-size:1.1rem;}

/* 右本文 */
.info-text{padding:24px 30px;line-height:1.8;}
@media(max-width:768px){
.info-row{grid-template-columns:1fr;}
.info-title{justify-content:flex-start;padding:15px 20px;border-right:none;border-bottom:1px solid rgba(71,174,185,.12);}
.info-text{padding:18px 20px;}
}
/* ==========================================
   年間行事
========================================== */
.annual-events{padding:80px 0;z-index:999;}
.event-heading{margin-bottom:2rem;color:#002b40;font-size:clamp(1.8rem, 3vw, 2.5rem);font-weight:700;text-align:center;}
.monthly-event-box{padding:42px 30px;background:rgba(255,255,255,.45);border:1px solid rgba(0,43,64,.08);border-radius:32px;line-height:1.9;}

/* 1か月分 */
.event-month{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:32px;margin-bottom:70px;}

/* 月表示 */
.event-month-label{align-self:start;justify-self:center;display:flex;justify-content:center;align-items:center;width:100px;flex-shrink:0;}
.event-month-img{display:block;width:100%;height:auto;max-width:100px;}
/* 右側 */
.event-content{min-width:0;}
.event-title-row{display:flex;flex-wrap:wrap;gap:16px 42px;margin-bottom:12px;}
.event-title-row h3{margin:0;color:#00334a;font-size:1.35rem;font-weight:500;}
/* 写真3列 */
.event-photo-row{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:14px;}
.event-photo{margin:0;overflow:hidden;background:rgba(255,255,255,.55);border-radius:16px;}
.event-photo img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;transition:transform .45s ease;}
.event-photo:hover img{transform:scale(1.04);}
.event-photo figcaption{padding:10px 12px;background:rgba(255,255,255,.75);text-align:center;font-size:.95rem;}
@media (max-width:767px){
.annual-events{padding:50px 0;}
.monthly-event-box{padding:28px 20px;border-radius:24px;}
.event-month{display:block;margin-bottom:55px;}
.event-month-label{width:82px;margin-bottom:16px;}
.event-month-img{max-width:82px;}
.event-title-row{display:block;margin-bottom:12px;}
.event-title-row h3{margin-bottom:6px;font-size:1.3rem;}
.event-photo-row{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;margin-right:-12px;padding-right:24px;padding-bottom:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.event-photo-row::-webkit-scrollbar{display:none;}
.event-photo{flex:0 0 76%;scroll-snap-align:start;}
}
/* ==========================================
   園の概要
========================================== */
.overview-box{width:min(100%, 1100px);margin:0 auto;padding:55px 70px 70px;background:rgba(255,255,255,.22);border:1px solid rgba(0,43,64,.12);border-radius:40px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35);}
/* 見出し */
.overview-heading{margin:0 0 42px;color:#002f46;text-align:center;font-size:clamp(1.8rem, 3vw, 2.5rem);font-weight:700;}
/* dlの初期余白を解除 */
.overview-list{margin:0;}
/* 1行 */
.overview-row{display:grid;grid-template-columns:200px minmax(0, 1fr);border-bottom:1px solid rgba(0,43,64,.28);}
/* 左見出し */
.overview-row dt{margin:0;padding:14px 30px 14px 0;color:#002f46;text-align:right;font-size:1.08rem;font-weight:700;letter-spacing:.04em;}
/* 右内容 */
.overview-row dd{margin:0;padding:14px 0 14px 24px;color:#173c4d;line-height:1.8;overflow-wrap:anywhere;}
.overview-row dd a{color:inherit;text-decoration:none;}
.overview-row dd a:hover{text-decoration:underline;}
/* ふりがな */
.overview-kana{margin-left:.4em;font-size:.92em;}
/* 複数行の項目 */
.overview-row-large dt,.overview-row-large dd{padding-top:18px;padding-bottom:18px;}
/* クラス編成など */
.overview-detail-list{margin:0;padding:0;list-style:none;}
.overview-detail-list li{min-height:2.4em;}
/* 最終行 */
.overview-row:last-child{border-bottom:none;}
@media (max-width:767px){
.overview-box{padding:35px 22px 40px;border-radius:28px;}
.overview-heading{margin-bottom:28px;}
.overview-row{display:block;padding:14px 0;}
.overview-row dt{padding:0 0 6px;text-align:left;font-size:1.15rem;}
.overview-row dd{padding:0;}
.overview-kana{display:block;margin:.2rem 0 0;}
}
/*
**********************************************************************************************
googlemap
**********************************************************************************************
*/
.map-wrap{padding:15px;background:white;border:4px dashed #9cc;border-radius:30px;}
.gmapbox{width:100%; height:449px; background:transparent url(../images/bg_googlemap.jpg) top center no-repeat; background-size:contain;}
#map_canvas0{ position:relative; max-width:100%; height:50vh;}

/* スマホ */
@media (max-width:768px){
#map_canvas0{ position:relative; max-width:100%; height:30vh;}
}


/*
**********************************************************************************************
footer
**********************************************************************************************
*/

#footer{width:100%; position:relative; z-index:3;font-family: "Noto Serif JP", serif;}/* 共通 */
.hoikucl-juokai,.hoikucl-yahagi,.hoikucl-daiji,.hoikucl-enishi,.hoikucl-taishi{padding:20px 0;transition:background-color .35s ease,transform .35s ease,box-shadow .35s ease;cursor:pointer;}

/* 通常 */
.hoikucl-juokai{background:rgba(255,255,255,.60);}
.hoikucl-yahagi{background:rgba(199,225,241,.60);}
.hoikucl-daiji{background:rgba(253,221,143,.60);}
.hoikucl-enishi{background:rgba(249,212,220,.60);}
.hoikucl-taishi{background:rgba(237,242,197,.60);}
.footer-juokai-logo{display:block;width:auto;max-width:100%;height:50px;margin:0 auto;}
@media (max-width:767px){
.footer-juokai-logo{width:80%;max-width:280px;height:auto;}
.hoikucl-juokai{padding:20px;overflow:hidden;}
}

/* Hover */
.hoikucl-juokai:hover{background:rgba(255,255,255,.92);transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.12);}
.hoikucl-yahagi:hover{background:rgba(199,225,241,.95);transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.12);}
.hoikucl-daiji:hover{background:rgba(253,221,143,.95);transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.12);}
.hoikucl-enishi:hover{background:rgba(249,212,220,.95);transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.12);}
.hoikucl-taishi:hover{background:rgba(237,242,197,.95);transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.12);}
.hoikuenlink img{display:block;max-width:100%;width:auto;height:50px;margin:0 auto;}
@media (max-width:767px){
.hoikuenlink img{max-width:85%;height:auto;max-height:50px;}
}
.footer-btn{display:flex;justify-content:center;align-items:center;padding:20px;background:rgba(253,221,143,.6);}
.ft-tel{display:inline-block;font-size:2.1rem;font-weight:700;color:#000000;letter-spacing:.03em;margin-top:.5rem;}
