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

	layout

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



/* =======================================
	main-visual
======================================= */

.slider {
  height: 100vh;
  margin-inline: auto;
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 20px;
}

.slider .slick-list,
.slider .slick-track,
.slider .slick-slide,
.slider .slick-slide > div,
.slick-img {
  height: 100%;
}


.hero {
  padding: 140px 80px 0 80px;
  height: 100%;
  position: relative;
}


.hero-txt {
  width: 800px;
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
}

.hero-decoration01{
  position: absolute;
  bottom: 0;
  right: 40px;
  z-index: 100;
}

.hero-decoration02{
  position: absolute;
  bottom: 0;
  left: 40px;
  z-index: 100;
}

.slick-img{
  display: block;
}

.slick-img img {
  object-fit: cover;
  object-position: center;
  position: relative;
  height: 100%;
  width: 100%;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}

.logo-sp{
  display: none;
}


@media screen and (max-width: 1440px) {
.slick-img img {
  object-position: center;
}
}

@media screen and (max-width: 1200px) {

   .slider {
    height: auto;
    border-radius: 0;
    position: relative;
  }

  .hero {
    padding: 0;
    height: auto;
    position: relative;
    overflow: hidden;
  }

  .slider .slick-list,
  .slider .slick-track,
  .slider .slick-slide,
  .slider .slick-slide > div,
  .slick-img {
    height: auto;
  }

  .slick-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .hero-txt {
    width: 300px;
  }

  .hero-decoration01 {
    width: 80px;
    height: 80px;
    right: 10px;
    top: 2%;
  }

  .hero-decoration02 {
    width: 80px;
    height: 80px;
    left: 10px;
    top: 2%;
  }

  .logo-sp {
    padding: 4%;
    z-index: 200;
    height: 10vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
  }

  .logo-sp h1 img{
    width: 100%;
    z-index: 200;
  }
}




/* =======================================
	section #philosophy
======================================= */

#philosophy .section-ttl {
  margin-bottom: 40px;
}

#philosophy .section-ttl img {
  width: 150px;
}

#philosophy h3 {
  margin-bottom: 20px;
}

#philosophy-rinen h3{
  margin-bottom: 20px;
}

#philosophy-mokuhyo ul{
  margin: 0 auto;
  width: max-content;
}

#philosophy-mokuhyo ul li{
  display: flex;
  gap: 0 20px;
  margin-bottom: 20px;  
  align-items: center;
  padding-bottom: 20px;
  border-bottom: dotted 1px #AAD72A;
}

#philosophy-mokuhyo ul li span{
  font-size: 24px;
  font-weight: bold;
}

#philosophy-mokuhyo ul li p{
  font-size: 24px;
}

@media screen and (max-width: 768px) {

  #philosophy .section-ttl img {
    width: 100px;
  }

  #philosophy .section-ttl{
    margin-bottom: 20px;
  }
  

  #philosophy-mokuhyo ul{
    width: 100%;
  }
  
  #philosophy-mokuhyo ul li span{
    font-size: 16px;
  }
  
  #philosophy-mokuhyo ul li p{
    font-size: 16px;
  }

  #philosophy-mokuhyo ul li:last-of-type{
    margin-bottom: 0;
  }


}



/* =======================================
	section #news
======================================= */

#news{
  position: relative;
  padding-left: 20%;
  padding-right: 20%;
}

#news .btn-wrap{
  display: flex;
  justify-content: flex-end;
}

.decoration-wave__green {
  position: absolute;
  top: 0px;
  left: 0;
  width: 100%;
  height: 80px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' width='1440'%3E%3Cpath d='M 0 50 Q 180 110 360 50 Q 540 110 720 50 Q 900 110 1080 50 Q 1260 110 1440 50 L 1440 0 L 0 0 Z' fill='%23dfeed1' stroke='none'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: auto 100%;
  background-position: center;
  z-index: 1;
}

.decoration-wave__orange {
  position: absolute;
  top: 0px;
  left: 0;
  width: 100%;
  height: 80px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' width='1440'%3E%3Cpath d='M 0 50 Q 180 110 360 50 Q 540 110 720 50 Q 900 110 1080 50 Q 1260 110 1440 50 L 1440 0 L 0 0 Z' fill='%23FFE4B3' stroke='none'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: auto 100%;
  background-position: center;
  z-index: 1;
}


.decoration-wave__blue {
  position: absolute;
  top: 0px; /* #news の上に重ねる */
  left: 0;
  width: 100%;
  height: 80px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' width='1440'%3E%3Cpath d='M 0 50 Q 180 110 360 50 Q 540 110 720 50 Q 900 110 1080 50 Q 1260 110 1440 50 L 1440 0 L 0 0 Z' fill='%23B3E1F7' stroke='none'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: auto 100%;
  background-position: center;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  #news{
    padding-left: 20px;
    padding-right: 20px;
  }

  #news .mt-lg{
    margin-top: 20px;
  }

  .decoration-wave__green {
  height: 25px;
}

.decoration-wave__orange {
  height: 25px;
}


.decoration-wave__blue {
  height: 25px;
}

}



/* =======================================
	section #about
======================================= */

.overview-container {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 80px 40px;
  margin: 0 auto;
  flex-wrap: wrap;
}

.overview-item{
  width: calc(50% - 20px);
}

.overview-item img{
  width: 100%;
  height: 300px;
  object-fit: cover;
  margin-bottom: 20px;
  object-position: center;
}

.overview-item.of-top img{
  object-position: top;
}

#overview .btn-wrap{
  margin-left: auto;
  display: block; /* 必要に応じて設定 */
}

@media screen and (max-width: 768px) {
  .overview-container {
    flex-direction: column;
    gap: 40px 0;
  }
  
  .overview-item{
    width: 100%;
  }
  
  .overview-item img{
    height: 250px;
    margin-bottom: 10px;
  }
  
  #overview .btn-wrap{
    margin-left: auto;
    display: block; /* 必要に応じて設定 */
  }
  
}

/* =======================================
	section #guidance
======================================= */

#guidance .container-item__ttl{
  margin-bottom: 0;
}

#guidance .col-2{
  justify-content: space-between;
  align-items: end;
}

#guidance .col-2 div{
  width: max-content;
}

.guidance__txt{
  display: flex;
  align-items: center;
  gap: 0 40px;
  align-items: end;
}

.guidance__img{
  margin-bottom: 30px;
}

.guidance__img img{
  width: 100%;
  height: 350px;
  object-fit: cover;
  object-position: center;
}

#guidance .btn-wrap{
  margin-top: 0px;
}

@media screen and (max-width: 768px) {

  .guidance__txt{
    flex-direction: column;
    gap: 10px 0;
    justify-content: flex-start;
  }

  #guidance .col-2 div{
    width: 100%;
  }

  .guidance__img{
    margin-bottom: 10px;
  }

  .guidance__img img{
    height: 250px;
  }

  #guidance .btn-wrap{
    margin-top: 20px;
    margin-left: auto;
  }
  
}


/* =======================================
	section #recruit
======================================= */

#recruit {
  position: relative;
  height: 400px;
  background-image: url(../img/bg-recruit.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#recruit::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3); /* 0.3で薄い黒を重ねる */
  z-index: 1;
}

#recruit .container {
  position: absolute; /* 中央配置とz-indexのために設定 */
  top: 50%;
  left: 10%;
  transform: translate(-10%, -50%);
  z-index: 2; /* オーバーレイの上に表示 */
  color: #FFF;
}

#recruit .container .col-2{
  align-items: center;
  gap: 0 20px;
}

#recruit .container .col-2 div{
  width: auto;
}

.recruit-message__txt{
  text-align: center;
}

@media screen and (max-width: 768px) {

  #recruit {
    height: 280px;
  }

  #recruit .container {
    left: 20px;
    width: auto;
    transform: translateY(-50%);
  }

  #recruit .container-item__ttl{
    margin-bottom: 12px;
  }

  #recruit .container .col-2{
    align-items: flex-start;
    gap: 12px 0;
  }

  .recruit-message__txt{
    text-align: left;
  }

  .recruit-message__txt br{
    display: none;
  }

}





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

	大和田駅前ちぐさ保育園

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


/* =======================================
	oowada #philosophy
======================================= */

#philosophy-oowada .philosophy-container{
  padding: 100px 20px;
  text-align: center;
}

#philosophy-oowada .philosophy-container p{
  margin-top: 20px;
  line-height: 200%;
  font-size: 15px;
}

#philosophy-oowada .philosophy-img{
  width: 100%;
  height: 400px;
  overflow: hidden;
}

#philosophy-oowada .philosophy-img img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: bottom;
}

@media screen and (max-width: 768px) {

  #philosophy-oowada .philosophy-container{
    padding: 60px 20px 40px 20px;
  }

  #philosophy-oowada .philosophy-container h3{
    text-align: left;
    font-size: 24px;
  }

  #philosophy-oowada .philosophy-container br{
    display: none;
  }


  #philosophy-oowada .philosophy-container p{
    font-size: 14px;
  }

  #philosophy-oowada .philosophy-img{
    height: auto;
  }

  #philosophy-oowada .philosophy-img img{
    width: 100%;
    height: auto;
    object-fit: initial;
    object-position: initial;
  }

}



/* =======================================
	oowada #mission
======================================= */

.mission-oowada-container.col-3{
  flex-wrap: wrap;
  gap: 0 40px;
}

.mission-oowada-container.col-3 > div{
  width: calc((100% - 80px) / 3);
  text-align: center;
}

#mission-oowada .container-item{
  padding-top: 40px;
}

#mission-oowada .container-item__ttl{
  color: #FE9A01;
}

.mission-item img{
  width: auto;
  height: auto;
  object-fit: cover;
  border-radius: 50%;
}

@media screen and (max-width: 1024px) {
  #mission-oowada .container-item p br{
  display: none;
}
}

@media screen and (max-width: 768px) {
  .mission-oowada-container.col-3 > div{
    width: 100%;
    text-align: center;
  }

  .mission-oowada-container.col-3 > div p{
    text-align: center;
  }

  #mission-oowada .container-item p br{
  display: block;
  }

  #mission-oowada .container-item{
    padding-top: 20px;
    padding-bottom: 40px;
  }

  #mission-oowada .mission-item:last-of-type .container-item{
    padding-bottom: 0;
  }

  .mission-item img{
  width: 250px;
  height: 250px;
  }

}

/* =======================================
	oowada #day
======================================= */

.day-tables {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  max-width: 1000px;
  margin: 0 auto;
  margin-bottom: 20px;
}

.day-item__left,
.day-item__right {
  flex: 1; /* 左右のアイテムは均等に幅を取る */
  box-sizing: border-box;
  text-align: center;
}

.day-item__center {
  flex: 0 0 max-content; /* 中央のアイテムは内容に合わせた幅 */
  box-sizing: border-box;
}

.day-row {
  width: 100%;
  margin-bottom: 5px;
  height: 65px;
  display: flex; /* フレックスボックスを適用 */
  align-items: center; /* 縦方向に中央揃え */
}

.day-row i{
  font-size: 28px;
}

.day-item__left .day-row{
  background-color: #FFF7E0;
}

.day-item__left .day-ttl{
  background-color: #FFCC00;
}

.day-item__right .day-row{
  background-color: #FFF7F7;
}

.day-item__right .day-ttl{
  background-color: #FFDDDD;
}


.day-item__center {
  text-align: center;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
}

.day-ttl {
  font-size: 20px;
  font-weight: bold;
  padding: 15px 10px;
  position: relative; /* 三角を相対配置させるため */
  display: inline-block; /* 吹き出しの幅をコンテンツに合わせる */
  border: none;
}

.day-content {
  flex: 1;
  padding: 0px 10px 0px 15px;
  box-sizing: border-box;
}

.day-item img{
  width: 30px;
  height: 30px;
}

.day-tables-sp{
  display: none;
}


.day-img,
.oowada-event-img {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  max-width: 1000px;
  margin: 0 auto;
}

.day-img img,
.oowada-event-img img {
  width: 100%;
  height: auto;
  display: block;
}

/* SP用 */

@media screen and (max-width: 1200px) {

.day-tables{
    display: none;
}

.day-tables-sp{
  display: block;
}
  
/* タブボタン */
.tabs {
  display: flex;
  justify-content: space-around;
  padding: 10px 0;
}

.tab-btn {
  color: #3C3C3C;
  flex: 1;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  padding: 20px 0;
  background-color: #F6F6F6;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
  margin-bottom: 10px;
  text-decoration: none;
}

/* タブのアクティブ状態 - ひよこ組 */
.tab-btn.active[data-tab="hiyoko"] {
  background-color: #ffcc00; /* ひよこ組のアクティブ色 */
}

/* タブのアクティブ状態 - りす組・うさぎ組 */
.tab-btn.active[data-tab="risu-usagi"] {
  background-color: #FFDDDD; /* りす組・うさぎ組のアクティブ色 */
}

/* タブ内容 */
.tab-content {
  display: none; /* 非アクティブなタブは非表示 */
}

.tab-content.active {
  display: block; /* アクティブなタブを表示 */
}

/* スケジュール行 */
.day-row {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  padding: 1em;
  gap: 10px;
}

.day-row:last-of-type {
  margin-bottom: 40px;
}

#hiyoko .day-row{
  background-color: #FFF7E0;
}

#risu-usagi .day-row{
  background-color: #FFF7F7;
}

.time {
  font-size: 14px;
  flex: 0 0 50px; /* 時間部分の固定幅 */
  font-weight: bold;
  text-align: left;
}

.content {
  flex: 1;
  font-size: 14px;
}

}

@media screen and (max-width: 750px) {
  .day-img,
  .oowada-event-img {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    height: auto;
  }
}



/* =======================================
	oowada #features
======================================= */

#features-oowada{
  background-image: linear-gradient(135deg, #FFF7E0 25%, transparent 25%, transparent 50%, #FFF7E0 50%, #FFF7E0 75%, transparent 75%, transparent);
  background-size: 50px 50px;
  background-color: #ffffff;
}

#features-oowada .section-ttl .ttl h2{
  color: #FFF;
}

.features{
  max-width: 1000px;
  padding: 40px;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  margin: 0 auto;
}

.features li{
  font-size: 18px;
  font-weight: bold;
  padding: 15px;
  transform: rotate(0.05deg);
}

#features-oowada li{
  border-bottom: dotted 1px #FE9A01;
}

.features .col-2{
  gap: 0 10px;
  align-items: center;
}

.features .col-2 img{
  width: 20px;
  height: auto;
}

@media screen and (max-width: 768px) {
  .features{
    width: 100%;
    padding: 30px 20px;
  }

  .features .col-2{
    flex-direction:row;
    align-items: flex-start;
  }

  .features li{
    font-size: 16px;
    padding: 15px 0;
  }

  .features .col-2 img{
    margin-top: 5px;
  }
  

}

/* =======================================
	oowada #event
======================================= */

.event-table.col-2{
  gap: 0 40px;
}

.event-table {
  max-width: 1000px;
  margin: 0 auto 20px auto;
}

.event-table.col-2 > div{
  width: calc((100% - 20px) / 2);
}

.event-item {
  display: flex;
  align-items: center;
  padding: 1em;
  margin-bottom: 10px;
}

.event-item:nth-child(even){
  background-color: #FFF;

}

.event-item:nth-child(odd){
  background-color: #FFE4B3;

}

.event-title {
  font-weight: bold;
  white-space: nowrap; /* 改行を防止 */
  margin-right: 10px;
}

.event-content {
  flex: 1;
}

.event-other{
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {

  .event-table {
    max-width: 100%;
  }

  .event-table.col-2 > div{
    width: 100%;
  }

  .event-table__right .event-item:nth-child(even){
    background-color: #FFE4B3;
  
  }
  
  .event-table__right .event-item:nth-child(odd){
    background-color: #FFF;
  
  }

  .event-table{
    font-size: 14px;
  }
}


/* =======================================
	oowada #about
======================================= */

#about-oowada .table th {
  background-color: #FFE4B3;
}



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

	ちぐさリトルランド

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


/* =======================================
	littleland #philosophy
======================================= */

#philosophy-littleland .philosophy-container p{
  margin-top: 20px;
  line-height: 200%;
  font-size: 15px;
}

#philosophy-littleland .philosophy-container{
  padding: 100px 20px;
  text-align: center;
}

#philosophy-littleland .philosophy-img{
  width: 100%;
  height: 400px;
  overflow: hidden;
}

#philosophy-littleland .philosophy-img img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: bottom;
}

@media screen and (max-width: 768px) {

  #philosophy-littleland .philosophy-container{
    padding: 60px 20px 40px 20px;
  }

  #philosophy-littleland .philosophy-container h3{
    text-align: left;
    font-size: 24px;
  }

  #philosophy-littleland .philosophy-container br{
    display: none;
  }

  #philosophy-littleland .philosophy-container p{
    font-size: 14px;
  }

  #philosophy-littleland .philosophy-img{
    height: auto;
  }

  #philosophy-littleland .philosophy-img img{
    width: 100%;
    height: auto;
    object-fit: initial;
    object-position: initial;
  }

}

/* =======================================
	littleland #features
======================================= */

#features-littleland{
  background-image: linear-gradient(135deg, #B3E1F7 25%, transparent 25%, transparent 50%, #B3E1F7 50%, #B3E1F7 75%, transparent 75%, transparent);
  background-size: 50px 50px;
  background-color: #ffffff;
}

#features-littleland li{
  border-bottom: dotted 1px #5DADEC;
}

/* =======================================
	littleland #kengaku
======================================= */


.kengaku-card {
  width: 100%;
  height: 300px;
  background-image: linear-gradient(135deg, #B3E1F7 25%, transparent 25%, transparent 50%, #B3E1F7 50%, #B3E1F7 75%, transparent 75%, transparent);
  background-size: 50px 50px;
  background-color: #ffffff;
  border-radius: 30px;
  overflow: visible;
  max-width: 800px;
  display: flex;
  align-items: center;
  gap: 0 20px;
  padding: 60px 40px;
  margin: 0 auto;
  position: relative;
  z-index: -2;
  text-align: left;
}

.kengaku-img {
  position: absolute;
  right: 40px;
  bottom: 0;
  width: 400px;
  height: auto;
  z-index: -1;
}

.kengaku-card p{
  margin-bottom: 10px;
}

.kengaku i,
.kengaku a{
  color: #3C3C3C;
}


@media screen and (max-width: 600px) {

.kengaku-card {
  max-width: 100%;
  height: 100%;
  padding: 40px 20px;
  display: block;
}  


.kengaku-txt{
  margin-bottom: 100px;
}

.kengaku-img {
  width: 220px;
  bottom: 0;
  right: 0;
}

}


/* =======================================
	page-facility
======================================= */

.facility__item {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.facility__item > li {
  flex-basis: calc((100% - 60px) / 3);
  box-sizing: border-box;
}

.facility__item--img{
  width: 100%;
  height: 300px;
  object-fit: cover;
  margin-bottom: 20px;
}

.facility__item--txt{
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {

  .facility__item {
    flex-direction: column;
    gap: 40px 0;
  }
  
  .facility__item > li {
    width: 100%;
  }
  
  .facility__item--img{
    height: 250px;
  }
  
}


/* =======================================
	page-life
======================================= */

.timeline {
  width: 1000px;
  margin: 0 auto;
  position: relative;
}

.timeline__item {
  display: flex;
  align-items: flex-start;
  position: relative;
}

.timeline__item::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50px;
  width: 3px;
  background: #FFF;
  z-index: -1;
}

.timeline__item:last-of-type:before {
  content: none;
}


.timeline__time {
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #FFF;
  padding: 10px;
  border-radius: 50px;
  font-weight: 700;
  width: 100px;
  height: 100px;
  margin-right: 40px;
}

.timeline__content {
  flex: 1;
  padding: 10px 0 60px 0;
}

.timeline__title {
  display: inline-block;
  font-weight: 700;
  margin-bottom: 10px;
}

.timeline__img{
  width: 100%;
  height: 300px;
  object-fit: cover;
}


@media screen and (max-width: 768px) {
  .timeline {
  width: 100%;
}


.timeline__time {
  width: 60px;
  height: 60px;
  margin-right: 20px;
  font-size: 14px;
}

.timeline__item::before {
  left: 30px;
}

.timeline__content {
  flex: auto;
  padding: 10px 0 30px 0;
}

.timeline__img{
  height: 200px;
}
}


.life__item {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.life__item > li {
  flex-basis: calc((100% - 60px) / 3);
  box-sizing: border-box;
}

.life__item--img{
  width: 100%;
  height: 300px;
  object-fit: cover;
  margin-bottom: 20px;
}

.life__item--txt{
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .life__item {
    flex-direction: column;
    gap: 40px 0;
  }
  
  .life__item > li {
    width: 100%;
  }
  
  .life__item--img{
    height: 250px;
  }
  
}

.grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.event-month {
  min-width: 0;
  padding: 16px;
  border: dotted 1px #E6F2E4;
  background-color: #FFF;
}

.event-img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.event-txt{
  width: 100%;
  padding: 16px;
  border: dotted 1px #f6f6f6;
  background-color: #f6f6f6;
  margin-bottom: 5px;
  font-size: 15px;
}

.event-month h3 {
  display: flex;
  gap: 4px;
  align-items: baseline;
}

.event-month .month-number {
  font-size: 34px;
  font-weight: bold;
}

.event-month .month-label {
  font-size: 16px;
}

.event-month ul {
  list-style-type: disc;
  list-style-position: outside;
  padding-left: 1.5em;
  margin: 0;
  min-height: 80px;
}

.event-month ul li {
  font-size: 14px;
  margin-bottom: 5px;
}

.month-1 h3 { color: #6ec6ff; }
.month-2 h3 { color: #f48fb1; }
.month-3 h3 { color: #81c784; }
.month-4 h3 { color: #f8bbd0; }
.month-5 h3 { color: #66bb6a; }
.month-6 h3 { color: #9575cd; }
.month-7 h3 { color: #4fc3f7; }
.month-8 h3 { color: #ffeb3b; }
.month-9 h3 { color: #a1887f; }
.month-10 h3 { color: #ffa726; }
.month-11 h3 { color: #b86b4b; }
.month-12 h3 { color: #ef5350; }

.month-0 h4 { 
  color: #AAD72A; 
  margin-bottom: 5px;
}



@media (max-width: 768px) {

  .event-month h3 {
    gap: 2px;
  }

  .event-month .month-number {
    font-size: 24px;
  }

  .grid {
      grid-template-columns: 1fr;
      gap: 20px;
  }
}

.event-term{
  padding: 20px;
  background-color: #FFF;
}

.event-term h4{
  text-align: center;
  padding-bottom: 5px;
  text-align: center;
  margin-bottom: 20px;
}

#event .col-3{
  gap: 20px;
}

.term-1{
  border-bottom: solid 3px #FEDBE5;
}

.term-2{
  border-bottom: solid 3px #B3E1F7;
}

.term-3{
  border-bottom: solid 3px #FFE4B3;
}



/* =======================================
	page-philosophy
======================================= */

.philosophy__txt{
  text-align: center;
  margin-bottom: 40px;
}

.philosophy__txt h2{
  margin-bottom: 10px;
}

.philosophy__txt p{
  max-width: 1000px;
  display: flex;
  justify-content: center;
  text-align: left;
  margin: 0 auto;
  margin-bottom: 40px;
}

.philosophy__img{
  margin: 0 auto;
}

.philosophy__img img{
  width: 100%;
  height: 600px;
  object-fit: cover;
}

@media screen and (max-width: 768px) {


  .philosophy__txt h2{
    text-align: left;
  }

  .philosophy__txt{
    text-align: left;
    margin-bottom: 10px;
  }

  .philosophy__img img{
    height: 250px;
  }
}

.philosophy__item{
  display: flex;
  gap: 30px;
  justify-content: space-between;
}

.philosophy__item.philosophy__item--row{
  flex-direction: row-reverse;
}

.philosophy__item > div {
  flex: 1;
  max-width: calc((100% - 30px) / 2);
  box-sizing: border-box;
}

.philosophy__item--txt{
  padding: 20px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.philosophy__item--txt h2{
  display: flex;
  justify-content: flex-start;
  width: 100%;
  margin-bottom: 20px;
}

.philosophy__item--img img{
  padding: 20px;
  width: 100%;
  height: 340px;
  object-fit: cover;
}

@media screen and (max-width: 768px) {

  .philosophy__item.philosophy__item--row{
    flex-direction: column;
  }

  .philosophy__item{
    flex-direction: column;
    gap: 20px 0;
    padding: 30px 20px;
  }

  .philosophy__item > div {
    max-width: 100%;
  }

  .philosophy__item--txt h2{
    margin-bottom: 20px;
    justify-content: center;
  }

  .philosophy__item--txt{
    padding:0px
  }
  
  .philosophy__item--img img{
    padding: 0;
    height: 250px;
  }

  #philosophy-hoiku.section,
  #philosophy-area.section,
  #philosophy-kosodate.section{
    margin-bottom: 40px;
  }

}


/* =======================================
	page-hoiku
======================================= */

.image-gallery {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  justify-content: space-between;
}

.main-imag {
  width: 60%;
}

.main-image {
  position: relative; /* 文字を画像の上に配置するために必要 */
  width: 100%;
}

.main-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.overlay-text {
  position: absolute;
  bottom: 0%;
  left: 0%;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 10px 20px;
  z-index: 2;
  width: 100%;
}

.image-gallery__thumbnails {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 40%;
  height: 500px;
  overflow: hidden;
}

.image-gallery__thumbnail {
  flex: 1;
  width: 100%;
  height: 100px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.image-gallery__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-gallery__thumbnail::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 1;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.image-gallery__thumbnail.active::after {
  opacity: 0;
}

.image-gallery__thumbnail:hover::after {
  opacity: 0.2;
}

@media screen and (max-width: 768px) {
  .image-gallery {
    flex-direction: column;
    align-items: center; /* 中央揃え */
    gap: 20px; /* 余白調整 */
  }

  .main-imag,
  .image-gallery__thumbnails {
    width: 100%;
    height: auto;
  }

  .image-gallery__thumbnails {
    flex-direction: column;
    overflow: visible; /* スクロールせずすべて表示 */
    max-height: none; /* 高さ制限を解除 */
    justify-content: flex-start;
  }

  .image-gallery__thumbnail {
    flex: none;
    width: 100%;
    height: auto; /* 高さを自動調整 */
  }

  .image-gallery__thumbnail img {
    width: 100%;
    height: auto;
  }

}



/* =======================================
	page-life
======================================= */

.day{
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-bottom: 20px;
}

.day__attention{
  margin-bottom: 60px;
}

.day > div {
  flex: 1;
  max-width: calc((100% - 60px) / 3);
  box-sizing: border-box;
}

.day__table{
  box-sizing: border-box;
  border-collapse:collapse;
  width: 100%;
}

.day__ttl{
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
}

.day__table td{
  text-align: left;
}

@media screen and (max-width: 768px) {
  .day{
    flex-direction: column;
    gap: 40px 0;

  }
  
  .day__attention{
    margin-bottom: 20px;
  }
  
  .day > div {
    max-width: 100%;
  }
}

/* table-green */
.day__table--green th,
.day__table--green td{
  border: 1px solid #E6F2E4;
  padding: 10px;
}
.day__table--green th{
  text-align: center;
  background: #E6F2E4;
  vertical-align: middle;
}

/* table-pink */
.day__table--pink th,
.day__table--pink td{
  border: 1px solid #FEDBE5;
  padding: 10px;
}
.day__table--pink th{
  text-align: center;
  background: #FEDBE5;
  vertical-align: middle;
}

/* table-yellow */
.day__table--yellow th,
.day__table--yellow td{
  border: 1px solid #FCF3E2;
  padding: 10px;
}
.day__table--yellow th{
  text-align: center;
  background: #FCF3E2;
  vertical-align: middle;
}



.life__table-container {
  overflow-x: auto;
  width: 100%;
}

.life__table {
  width: 600px;
  border-collapse: collapse;
  text-align: left;
  margin: 0 auto 10px auto;
}

.life__table th,
.life__table td {
  border: 1px solid #FEDBE5;
  padding: 10px 30px;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
}

.life__table th {
  font-weight: 700;
  background-color: #FEDBE5;
}

@media screen and (max-width: 768px) {
  .life__table {
    width: 100%;
  }

  .life__table th,
  .life__table td {
    padding: 10px;
  }

  #life-special .attention{
    text-align: left;
  }
}

.event__item{
  margin-bottom: 60px;
}

.event__table{
  margin: 0 auto;
  width: max-content;
}

.event__table div{
  display: flex;
  border-bottom: 3px dotted;
  gap: 0 30px;
  padding: 5px 0px;
  margin-bottom: 20px;
}

.event__table div:nth-of-type(odd){
  border-bottom: 3px dotted #A8BCEF;
}

.event__table div:nth-of-type(even){
  border-bottom: 3px dotted #FEDBE5;
}

.event__table div dt{
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .event__table{
    width: 100%;
  }
  
  .event__table div{
    gap: 0 20px;
    margin-bottom: 10px;
  }

  .event__table div dt{
    width: 10%;
    white-space: nowrap;
  }

  .event__table div dd{
    width: 90%;
  }

  .event__table .event__table--row{
    flex-direction: column;
  }

  .event__table .event__table--row dt{
    display: block;
    width: 100%;
  }

  .event__table .event__table--row dd{
    display: block;
    width: 100%;
  }

}

.life__img {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.life__img > li {
  flex-basis: calc((100% - 60px) / 3); /* 3つ並べるための幅 */
  box-sizing: border-box; /* パディングやボーダーを含めたサイズ計算 */
}

.life__img img{
  width: 100%;
  height: 300px;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .life__img {
    flex-direction: column;
    gap: 20px 0; 
  }
  
  .life__img > li {
    width: 100%;
  }
  
  .life__img img{
    height: 250px;
  }
}


.service__item {
  display: flex;
  gap: 30px;
  justify-content: space-between;
}

.service__item > li {
  flex: 1 1 calc((100% - 60px) / 3);
  box-sizing: border-box;
  padding: 40px;
}

.service__item > li:first-of-type{
  background-color: #FEDBE5;
}

.service__item > li:nth-of-type(2){
  background-color: #FCF3E2;
}

.service__item > li:last-of-type{
  background-color: #E6F2E4;
}

.service__item--ttl{
  font-weight: 700;
  margin-bottom: 20px;
  text-align: center;
}

.service__item--img{
  width: 100%;
  height: 240px;
  object-fit: cover;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {

  .service__item {
    flex-direction: column;
    gap: 20px 0;
  }
  
  .service__item > li {
    width: 100%;
    padding: 20px;
  }
}


/* =======================================
	page-support
======================================= */

.support__img{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.support__img img {
  width: calc((100% - 10px) / 2);
  height: auto;
}

.application-link {
  text-decoration: none;
  display: block;
}


.application-card {
  width: 100%;
  max-width: 800px;
  height: clamp(150px, 37.5vw, 300px); 
  background-image: linear-gradient(135deg, #AAD72A 25%, transparent 25%, transparent 50%, #AAD72A 50%, #AAD72A 75%, transparent 75%, transparent);
  background-size: 50px 50px;
  background-color: #ffffff;
  border-radius: 30px;
  overflow: visible;
  display: flex;
  align-items: center;
  padding: 60px 40px;
  margin: 0px auto;
  position: relative;
  z-index: 1;
}

.application-img {
  position: absolute;
  right: 2%;
  bottom: 3%;
  width: 50%; 
  max-width: 350px;
  height: auto;
  z-index: 1;
  pointer-events: none;
}

.application-txt h3 {
  color: #333;
  font-size: clamp(0.9rem, 3vw, 1.5rem);
  position: relative;
  z-index: 2;
  margin: 0;
  width: 50%; 
  line-height: 1.4;
  white-space: nowrap;
}

@media screen and (max-width: 1000px) {

.application-txt h3 {
  width: 50%; 
  white-space: wrap;
}

.application-img {
  width: 50%; 
}
  
}

@media screen and (max-width: 600px) {
  .application-card {
    display: flex; 
    padding: 40px 20px;
  }  

  .application-txt {
    display: block;
    margin-bottom: 0;
  }

  .application-img {
    display: block;
  }
}

/* =======================================
	page-guidance
======================================= */

#guidance-enji .table-wrap{
  margin-bottom: 20px;
}


/* =======================================
	plugin password
======================================= */

.post-password-form input[type="password"] {
	height: 40px;
	padding: 10px 14px;
	font-size: 16px;
	box-sizing: border-box;
  border: solid 1px #3C3C3C;
}

.post-password-form input[type="submit"] {
	height: 40px;
	padding: 10px 14px;
	box-sizing: border-box;
  border: solid 1px #3C3C3C;
  background-color: #3C3C3C!important;
  color: #FFF;
}

@media screen and (max-width: 768px) {
  .post-password-form p:last-child {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
  }

  .post-password-form input[type="password"] {
    width: 125px;
    height: 44px;
    margin: 0 5px;
    box-sizing: border-box;
  }

  .post-password-form input[type="submit"] {
    height: 44px;
    margin: 0;
    box-sizing: border-box;
  }
}

}