/*
Theme Name: Jiyugaoka
Theme URI: http://merges.co.jp/
Description: 2025/03/19
Author: MergeSystem
*-------------------------------------------------------------- */
@media screen and (min-width: 760px)
{
  .visible_p{
    display: block !important;
  }
  .visible_tm,
  .visible_t,
  .visible_m{
    display: none !important;
  }
}

.mb0{margin-bottom: 0 !important;}
.mb10{margin-bottom: 10px !important;}
.mb20{margin-bottom: 20px !important;}
.mb30{margin-bottom: 30px !important;}
.mb40{margin-bottom: 40px !important;}
.mb50{margin-bottom: 50px !important;}
.mb60{margin-bottom: 60px !important;}
.mb70{margin-bottom: 70px !important;}
.mb80{margin-bottom: 80px !important;}
.mb90{margin-bottom: 90px !important;}
.mb100{margin-bottom: 100px !important;}
.pad0{padding: 0 !important;}
.pad10{padding: 10px !important;}
.pad20{padding: 20px !important;}
.pad30{padding: 30px !important;}
.col-2{display: grid; grid-template-columns: repeat(2, 1fr)}
.col-3{display: grid; grid-template-columns: repeat(3, 1fr)}
.col-4{display: grid; grid-template-columns: repeat(4, 1fr)}
.gap10{gap: 10px;}
.gap20{gap: 20px;}
.gap30{gap: 30px;}
.rad10{border-radius: 10px;}
.rad20{border-radius: 20px;}
.rad30{border-radius: 30px;}
.rad40{border-radius: 40px;}
.rad50{border-radius: 50px;}
.col-2.ratio-8-2{grid-template-columns: 8fr 2fr;}
.font120{font-size: 120% !important;}
.a-right{text-align: right;}
.a-center{text-align: center;}
.bold{font-weight: bold;}
.link{color: #1B87DB; text-decoration: underline;}
.i-center{align-items: center;}

.base-width{
  margin: 0px auto;
  max-width: 1200px;
  min-width: 920px;
  padding: 0 20px;
}

body {
  font-family:
    "Hiragino Maru Gothic ProN",
    "ヒラギノ丸ゴ Pro W4",
    "ヒラギノ丸ゴ Pro",
    "Hiragino Maru Gothic Pro",
    "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro",
    "HG丸ｺﾞｼｯｸM-PRO",
    "HGMaruGothicMPRO",
    "M PLUS Rounded 1c",
    "heisei-maru-gothic-std",
    "sans-serif",
    "Yu Gothic";
}

/* 共通 */
html{
  background-color: #60BFE6;
  color: #333;
}
img{
  max-width: 100%;
}
.ab-kirigirisu{
  font-family: "ab-kirigirisu", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.center{
  text-align: center;
}
.relative{
  position: relative;
}
.relative .cloud-header{
  position: absolute;
}
a.cloud-link:hover {
  letter-spacing: 0.2em;
}
h2.cloud {
  font-family: "ab-kirigirisu", sans-serif;
  color: #005F8A;
  font-size: 36px;
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  white-space: nowrap;
  line-height: 1;
}
h4 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}
.img-trim{
  overflow: hidden;
}
.img-trim.circle{
  aspect-ratio: 1;
  border-radius: 50%;
}
.img-trim.radius{
  border-radius: 20px;
}
.img-trim img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.scale img{
  transition:1s all;
}
.scale img:hover{
  transform:scale(1.1);
  transition:1s all;
}
.col-2{ display: grid; grid-template-columns: repeat(2, 1fr); }
.col-3{ display: grid; grid-template-columns: repeat(3, 1fr); }
.col-4{ display: grid; grid-template-columns: repeat(4, 1fr); }
.col-5{ display: grid; grid-template-columns: repeat(5, 1fr); }

.blue-btn{
  color: #fff;
  background-color: #1B87DB;
  padding: 10px 30px;
  border-radius: 30px;
  display: inline-block;
}
.blue-btn:hover{
  color: #1B87DB;
  background-color: #fff;
}
.page-area .blue-btn:hover{
  color: #fff;
  background-color: #51acf1;
}
.section-title {
  text-align: center;
  margin-bottom: 40px;
}
/* h3 {
  font-size: 28px;
  color: #333;
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
  font-weight: bold;
}
h3:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background-color: #8bc34a;
} */
.crayon {
  position: relative;
  width: fit-content;
}
.crayon::before {
  content: '';
  width: calc(100% + 8px);
  height: 100%;
  background-image: url('./img/crayon.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position-y: center;
  left: -8px;
  top: 0;
  position: absolute;
  z-index: 0;
}
.crayon span {
  position: relative;
  z-index: 1;
  font-weight: bold;
}
.dot-line.horizontal {
  display: block;
  width: 100%;
  height: 2px;
  margin: 5px 0;
  background: repeating-linear-gradient(
      to right,
      #aaa 0px,
      #aaa 2px,
      transparent 2px,
      transparent 10px
  );
}
.dot-line.vertical {
  display: block;
  height: auto;
  width: 2px;
  margin: 0 5px;
  background: repeating-linear-gradient(
      to bottom,
      #aaa 0px,
      #aaa 2px,
      transparent 2px,
      transparent 10px
  );
}
.table-container .comejirushi-line {
  font-size: 15px;
}

/* header */
header{
  z-index: 3;
}
header .mb_nav {
  display: none;
}
header .header-area{
  display: flex;
  justify-content: space-between;
}
header .header-area h1{
  position: relative;
  display: grid;
  align-content: center;
  width: 400px;
  padding: 0 30px;
  z-index: 3;
}
header h1 a{
  display: block;
  z-index: 3;
  text-align: center;
  /* width: 350px; */
}
header h1 img.cloud{
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}
header h1 a img.logo{
  width: 100%;
}
header .header-menu.pc_nav{
  display: grid;
  grid-template-columns: repeat(5, 1fr) 1.2fr;
  gap: 10px;
  z-index: 3;
}

/* アコーディオンメニュー */
.pc_nav { display: flex !important; }
.mb_nav { display: none !important; }
.header-menu.pc_nav li {
  position: relative;
}
.header-menu.pc_nav .submenu {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  color: #000;
  z-index: 100;
  padding: 0;
  min-width: 150px;
  white-space: nowrap;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header-menu.pc_nav .submenu a{
  color: #fff;
  padding: 10px 15px;
  font-family: 'heisei-maru-gothic-std';
  background: #1B87DB;
}
.header-menu.pc_nav .submenu li:first-child a{
  border-radius: 10px 10px 0 0;
}
.header-menu.pc_nav .submenu li:last-child a{
  border-radius: 0 0 10px 10px;
}
.header-menu.pc_nav .submenu a:hover{
  background: #0960a2;
}
.header-menu.pc_nav li:hover > .submenu {
  opacity: 1;
  visibility: visible;
  transition-delay: 0.15s;
}
.accordion-toggle {
  display: none;
}

header .header-menu li a{
  padding: 5px 10px;
  color: #fff;
  display: block;
  text-align: center;
}
header .header-menu li a:hover img{
  transform: scale(1.1);
  transition: 0.3s;
}
header .header-menu li a .text{
  font-size: 22px;
  letter-spacing: -1px;
  line-height: 1;
}
header .header-menu li a .pre,
.footer-nav .pre{
  font-size: 13px;
  font-family: 'shin-maru-gothic-std';
}
header .header-menu li a img{
  width: 80px;
  padding: 10px;
  transition: 0.3s;
}
header .header-menu .contact a{
  background-color: #1B87DB;
  border-radius: 0 0 0 20px;
  margin-left: 5px;
}

/* footer */
footer{
  z-index: 5;
  display: grid;
}
footer .footer-content{
  z-index: 5;
  padding: 30px 0;
  background-color: #BBE088;
}
footer .link-submenu{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 900px;
  margin: 0 auto 30px;
  gap: 20px;
}
footer .link-submenu ul.list{
  background-color: #d6f5ab;
  border-radius: 10px;
  padding: 10px 20px;
}
footer .link-submenu ul.list a{
  font-size: 14px;
  color: #167731;
  display: inline-block;
}
footer .link-submenu ul.list .parent{
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}
footer .access{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  align-content: center;
  margin-bottom: 30px;
}
footer .access > *{
  min-height: 350px;
}
footer .access .info{
  width: 100%;
  border-radius: 20px 0 0 20px;
  padding: 30px;
  background-color: #fff;
  color: #004EA2;
  display: grid;
  align-items: center;
  gap: 20px;
}
footer .access .logo{
  width: 350px;
}
footer .access .btn a{
  background-color: #18589c;
  color: #fff;
  border-radius: 100px;
  padding: 20px 40px;
  display: inline-block;
}
footer .access iframe{
  width: 100%;
  border-radius: 0 20px 20px 0;
  height: 350px;
  /* height: -webkit-fill-available; */
}
footer .map{
  margin-top: 50px;
  margin-bottom: 10px;
  color: #167731;
}
footer .map a{
  /* font-weight: bold;
  text-decoration: underline; */
}
footer .copyright{
  text-align: center;
  color: #167731;
}
footer .tokai-link{
  color: #167731;
  background-color: #d6f5ab;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 30px;
  display: grid;
  gap: 10px;
}
footer .tokai-link .row{
  display: grid;
  grid-template-columns: 130px auto;
  gap: 20px;
  align-items: center;
}
footer .tokai-link .link-title{
  text-align: center;
  color: #fff;
  background-color: #167731;
  border-radius: 10px;
  padding: 5px 10px;
  font-size: 16px;
}
footer .tokai-link .list{
  display: grid;
  gap: 10px;
}
footer .tokai-link ul{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
footer .tokai-link ul li a::before{
  content: "・";
  margin-right: 5px;
}

.footer-menu {
  position: relative;
}
.footer-menu .footer-bg-area{
  position: relative;
  bottom: 0;
}
.footer-menu .footer-bg-area > *{
  position: absolute;
  bottom: 0;
}
.footer-menu .footer-bg-area .center{
  z-index: 5;
  height: 100px;
  max-height: 100px;
  width: 100%;
  object-fit: fill;
  display: block;
}
.footer-menu .footer-bg-area .back{
  z-index: 4;
  width: 420px;
}
.footer-menu .footer-bg-area .right{
  right: 0;
  z-index: 4;
}
.footer-menu .footer-bg-area .left{
  position: absolute;
  left: 0;
  z-index: 4;
}
.footer-menu .footer-nav{
  position: relative;
  z-index: 6;
}
.footer-menu.fixed {
  position: sticky;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 5;
}
.footer-menu ul{
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  /* gap: 5px; */
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  margin: auto;
  max-width: 900px;
  text-align: center;
}
.footer-menu ul li{
  line-height: 1;
}
.footer-menu ul li a{
  color: #167731;
  font-size: 19px;
}
.footer-menu.animation {
  animation: footer 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
.footer-menu.hidden {
  animation: footer-out 0.5s ease 1 forwards;
}
@keyframes footer {
  0% {
    transform: translateY(140px);
    opacity: 0;
  }
  50% {
    transform: translateY(0);
  }
  65% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
  20%,100% {
    opacity: 1;
  }
}
@keyframes footer-out {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    transform: translateY(100px);
  }
  100% {
    transform: translateY(500px);
    /* opacity: 0; */
    /* visibility: hidden; */
  }
}

footer .banner-area{
  margin-bottom: 30px;
}
footer .banner-area .img-banner{
  gap: 50px;
  margin-bottom: 30px;
}
footer .banner-area .img-banner img{
  width: 100%;
}
footer .banner-area .bottom-banner{
  gap: 30px;
}
footer .banner-area .bottom-banner li a{
  display: block;
  background-color: #fff;
  color: #167731;
  border: #167731 2px solid;
  border-radius: 20px;
  text-align: center;
  padding: 20px;
  font-size: 18px;
}
footer .banner-area .bottom-banner li a .pre{
  font-size: 14px;
}
footer .banner-area .bottom-banner.blue li a{
  background-color: #fff;
  color: #18589c;
  border: #18589c 2px solid;
}
footer .banner-area .bottom-banner.inner-text li a .title{
  font-size: 22px;
}
footer .banner-area .bottom-banner.inner-text li a .title{
  margin-bottom: 8px;
}
footer .banner-area .bottom-banner li a .text{
  font-size: 14px;
}
footer .banner-area .bottom-banner li a:hover{
  background-color: #167731;
  color: #fff;
}
footer .banner-area .bottom-banner.blue li a:hover{
  background-color: #18589c;
  color: #fff;
}

.page_top-area{
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 50px;
  height: 50px;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
}
.page_top-area.is-show {
  opacity: 1;
  pointer-events: auto;
}
#page_top{
  display: grid;
  justify-content: center;
  align-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #167731;
  color: #fff;
  text-align: center;
  cursor: pointer;
}
#page_top .span{
  font-size: 10px;
  padding-bottom: 10px;
}
#page_top span{
  display: block;
}

/* side-menu */
.side-menu{
  position: fixed;
  bottom: 10px;
  right: 0;
  width: 16vw;
  max-width: 200px;
  z-index: 1;
  transition: 0.3s ease;
}
.side-menu a{
  display: block;
}
.side-menu a img{
  transition: 0.3s;
}
.side-menu a img.wood01{
  width: 90%;
  margin: 0 0 2vh 10%;
}
.side-menu a img.wood01:hover{
  transform: rotate(-3deg);
  transition: 0.3s;
}
.side-menu a img.wood02{
  margin-bottom: 2vh;
}
.side-menu a img.wood02:hover{
  transform: rotate(3deg);
  transition: 0.3s;
}
.side-menu a img.panda:hover{
  transform: translateY(-5px);
  transition: 0.3s;
}
.side-menu.fixed {
  transform: translateY(-300px);
  width: 60%;
  width: 130px;
  z-index: 4;
}

/* top */
#top h2{
  text-align: center;
}
#top h2{
  color: #fff;
  font-family: "ab-kirigirisu", sans-serif;
  font-size: 34px;
  margin-bottom: 20px;
}
#top a.cloud-link {
  position: relative;
  display: inline-block;
  width: 280px;
  z-index: 1;
}
#top h2.cloud {
  color: #005F8A;
  font-size: 36px;
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  white-space: nowrap;
  line-height: 1;
}
.cloud-link img {
  display: block;
  width: 100%;
  height: auto;
}
#top h3{
  font-family: "ab-kirigirisu", sans-serif;
  font-size: 30px;
}
#top section{
  position: relative;
  overflow: hidden;
}

/* Slickスライダー用スタイル */
#top .top-vi {
  padding: 20px;
  z-index: 0;
  position: relative;
}
#top .top-slider.slick-dotted.slick-slider {
  margin-bottom: 0 !important;
}
#top .top-vi .text{
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 1;
  max-width: 500px;
  height: auto;
}
#top .top-vi .text img{
  width: 100%;
}
#top .top-slider .slide {
  border-radius: 30px;
  height: 90vh;
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
  width: 100%;
}
#top .top-slider .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
#top .top-slider .slick-prev,
#top .top-slider .slick-next {
  z-index: 10;
  font-size: 0;
}
#top .top-slider .slick-prev,
#top .top-slider .slick-next {
  width: 40px;
  height: 40px;
}
#top .top-slider .slick-prev:before,
#top .top-slider .slick-next:before {
  width: 40px;
  height: 40px;
  color: transparent;
  font-size: 0;
  opacity: 1;
  content: '';
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  font-size: 0;
  opacity: 1;
}
#top .top-slider .slick-next {
  right: 20px;
}
#top .top-slider .slick-prev {
  left: 20px;
}
.slick-prev:before {
  background-image: url('img/arrow-left.png');
}
.slick-next:before {
  background-image: url('img/arrow-right.png');
}

/* Slickドットナビゲーションのカスタマイズ */
#top .slick-dots li {
  width: 15px;
  height: 15px;
  margin: 0 4px;
}
#top .top-slider .slick-dots {
  bottom: 20px;
  z-index: 10;
}
#top .top-slider .slick-dots li button:before {
  color: #fff;
  opacity: 0.5;
  font-size: 12px;
}
#top .top-slider .slick-dots li.slick-active button:before {
  color: #fff;
  opacity: 1;
}

/* TOP-上部（お知らせ、ムービーチャンネル等） */
#top .top-contents{
  position: relative;
  padding: 0;
}
#top .ab-img{
  position: absolute;
}
#top .top-contents .ab-img.ab01{
  top: 0;
  right: -100px;
  width: 280px;
  z-index: -1;
}
#top .top-contents .ab-img.ab02{
  top: 200px;
  left: 30px;
  width: 130px;
}
#top .top-contents .ab-img.ab03{
  display: none;
  /* top: 400px;
  right: 100px;
  width: 90px; */
}
#top .top-contents .ab-img.ab04{
  display: none;
  /* top: 480px;
  right: 20px;
  width: 70px; */
}
#top .top-contents .ab-img.ab05{
  bottom: 500px;
  left: -140px;
  width: 280px;
  z-index: -1;
}
#top .top-contents .top_column{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  padding-top: 90px;
  margin-bottom: 30px;
}
#top .top-contents .news.relative .cloud-header{
  position: absolute;
  top: -90px;
  left: 0;
}
#top .top-contents .top_column .news ul.news-list{
  background: #fff;
  border-radius: 20px;
  padding: 50px 15px 15px;
  /* height: 100%; */
}
#top .top-contents .top_column .news ul.news-list li:not(:nth-child(3))::after{
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(
    to right,
    #aaa 0px,
    #aaa 2px,
    transparent 2px,
    transparent 10px
  );
  margin: 5px 0;
}
#top .top-contents .top_column .news ul.news-list:has(li.none){
  align-content: center;
}
#top .top-contents .top_column .news ul.news-list li.none{
  text-align: center;
}
#top .top-contents .top_column .news ul.news-list li.none::after{
  display: none;
}
#top .top-contents .top_column .news ul.news-list a.news-block{
  display: grid;
  grid-template-columns: auto 120px;
  gap: 10px;
  padding: 5px 5px 5px 10px;
  align-items: center;
}
#top .top-contents .top_column .news ul.news-list a.news-block:hover{
  background-color: #eee;
  border-radius: 10px;
}
#top .top-contents .top_column .news ul.news-list li .news-block .left{
  display: grid;
  gap: 5px;
  /* margin-bottom: 5px; */
}
/* #top .top-contents .top_column .news ul.news-list li .news-block .info{
  max-width: 250px;
} */
#top .top-contents .top_column .news ul.news-list li .news-block .date {
  color: #005F8A;
  margin-right: 5px;
}
/* タグ */
.news-tag {
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
  display: inline-block;
}
.tag.important{ background-color: #D8474E; }
.tag.event{ background-color: #E5853D; }
.tag.news{ background-color: #19B1E2; }
/* .tag.c04{ background-color: #51a33b; }
.tag.c05{ background-color: #824ba7; } */
#top .top-contents .top_column .news ul.news-list li .news-block .news-tag {
  font-size: 14px;
  margin-right: 10px;
  padding: 5px 10px;
  line-height: 1em;
}
#top .top-contents .top_column .news ul.news-list li .news-block .img{
  border-radius: 10px;
  height: 60px;
  overflow: hidden;
}
#top .top-contents .top_column .news ul.news-list li .news-block .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  border-radius: 10px;
}
#top .top-contents .movie.relative .cloud-header{
  bottom: 0;
  right: 0;
}
#top .top-contents .movie.relative .thumb{
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  margin-bottom: 100px;
  overflow: hidden;
}
#top .top-contents .movie.relative .thumb .movie-img{
  position: relative;
}
#top .top-contents .movie.relative .thumb .movie-img:hover{
  position: relative;
}
#top .top-contents .movie.relative .thumb img.ico{
  position: absolute;
  width: 70px;
  height: 70px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  opacity: 0.9;
  transition: 0.3s;
}
#top .top-contents .movie.relative .thumb .movie-img:hover img.ico{
  transform: scale(1.1);
  transition: 0.3s;
}
#top .top-contents .movie.relative .thumb img.thumb-img{
  border-radius: 20px;
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
}

/* TOP-instagram */
#top .top-contents-under{
  background-color: #559B59;
}
/* #top .instagram .cloud-header {
  top: -90px;
  left: 0;
}
#top .instagram .cloud-header h2{
  font-size: 30px;
} */
#top .instagram h2 img{
  height: 40px;
  vertical-align: middle;
}
#top .instagram h2{
  font-size: 30px;
  font-family: 'heisei-maru-gothic-std', sans-serif, 'Yu Gothic';
  letter-spacing: 0.1em;
  color: #006699;
  font-weight: bold;
  vertical-align: middle;
}
#top .instagram .bg .gallery{
  background: #fff;
  border-radius: 20px;
  padding: 30px 15px 15px;
  margin-bottom: 50px;
  overflow: hidden;
}
.instagram-gallery__actions{
  display: none !important;
}

/* TOP-フォトライブラリー */
#top .top-contents .photo {
  background: url('img/photo-banner-bg.jpg') center center / cover no-repeat;
  border: 5px solid #A1765C;
  border-radius: 20px;
  box-sizing: border-box;
}
#top .top-contents .photo a{
  display: block;
}

/* TOP-ブログ */
/* #top .top-contents .blog.relative .cloud-header{
  top: -90px;
  left: 0;
}
#top .top-contents .blog .blog-list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  align-content: center;
  margin: 130px 0 60px;
}
#top .top-contents .blog .blog-list li .img-area {
  position: relative;
}
#top .top-contents .blog .blog-list li .img-area .img {
  height: 220px;
  overflow: hidden;
  border-radius: 20px 20px 0 0;
}
#top .top-contents .blog .blog-list li .img-area .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}
#top .top-contents .blog .blog-list li .text-area {
  background-color: #fff;
  border-radius: 0 0 20px 20px;
  padding: 20px;
}
#top .top-contents .blog .blog-list li .text-area .date{
  font-size: 13px;
}
#top .top-contents .blog .blog-list li .text-area .title{
  font-size: 20px;
  margin-bottom: 10px;
}
#top .top-contents .blog .blog-list li .text-area .text{
  display: inline;
  font-size: 14px;
} */
#top .top-contents .blog.relative .cloud-header{
  top: -90px;
  left: 0;
}
#top .top-contents .blog .blog-list{
  background: #fff;
  border-radius: 20px;
  padding: 50px 15px 15px;
}
#top .top-contents .blog .blog-list li a {
  display: grid;
  grid-template-columns: auto 120px;
  gap: 10px;
  padding: 5px 5px 5px 10px;
  align-items: center;
}
#top .top-contents .blog .blog-list li .right {
  position: relative;
  background-color: #fff;
}
#top .top-contents .blog .blog-list li:not(:nth-child(3))::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(to right, #aaa 0px, #aaa 2px, transparent 2px, transparent 10px);
  margin: 5px 0;
}
#top .top-contents .blog .blog-list li .right .img {
  height: 60px;
  overflow: hidden;
  border-radius: 20px 20px 0 0;
  border-radius: 10px;
}
#top .top-contents .blog .blog-list li .right .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
#top .top-contents .blog .blog-list li .left {
  display: flex;
  margin-bottom: 5px;
}
#top .top-contents .blog .blog-list li .left .info{
  color: #005F8A;
  margin-right: 10px;
}
#top .top-contents .blog .blog-list li a:hover{
  background-color: #eee;
  border-radius: 10px;
}

/* TOP-ワンポイント */
#top .top-contents img.section-bg{
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#top .one-point{
  text-align: center;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  width: 80%;
  margin: 0 auto;
}
#top .one-point a{
  background-color: #fff;
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 10px;
  padding: 10px 20px;
  border-radius: 10px;
  align-content: center;
  align-items: center;
}
#top .one-point a img{
  width: 100%;
}
#top .one-point a .text{
  font-size: 24px;
  line-height: 1.2;
}
#top .one-point a.doc{
  color: #126AAE;
  border: #126AAE 3px solid;
}
#top .one-point a.nut{
  color: #FF972E;
  border: #FF972E 3px solid;
}
#top .one-point a.doc:hover{
  background-color: #126AAE;
  color: #fff;
}
#top .one-point a.nut:hover{
  background-color: #FF972E;
  color: #fff;
}
/* TOP-園について */
#top .about .section-bg.bg02{
  width: 100%;
  max-height: 130px;
}
#top .about .ab-img.ab01{
  top: 50px;
  right: 30px;
}
#top .about .ab-img.ab02{
  bottom: 300px;
  left: 30px;
}
#top .about{
  background-color: #559B59;
  color: #fff;
  padding-top: 100px;
}
#top .h2-img{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
}
#top .h2-img img{
  height: 50px;
}
#top .h2-img h2{
  margin: 0;
}
#top section p.desc{
  text-align: center;
  margin-bottom: 60px;
}
#top .about ul.about-list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  padding-top: 150px;
  margin-bottom: 60px;
}
#top .about ul.about-list li{
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
}
#top .about ul.about-list .img-trim{
  position: absolute;
  width: 80%;
  top: -150px;
  right: 0;
  left: 0;
  margin: 0 auto;
  border: 3px solid #fff;
}
#top .about ul.about-list .text{
  background-color: #6CAE6F;
  padding: 160px 20px 20px;
  border-radius: 10px;
}
#top .about ul.about-list .text p{
  line-height: 1.6;
}
#top .about ul.about-list .title{
  text-align: center;
  font-size: clamp(20px, 3vw, 24px);
  margin-bottom: 20px;
}
#top .about .btn-area{
  text-align: center;
  margin-bottom: 80px;
}
.btn-r{
  text-align: center;
  padding: 20px 50px;
  border-radius: 100px;
}
.btn-r i{
  margin-left: 10px;
}
.btn-r.white{
  background-color: #fff;
}
#top .about .btn-r.white{
  color: #418044;
}
#top .about .btn-r.white:hover{
  background-color: #418044;
  color: #fff;
}
/* TOP-園の生活 */
#top .life .ab-img.ab01{
  top: 0;
  left: 100px;
  width: 70px;
}
#top .life .ab-img.ab02{
  top: 100px;
  left: 30px;
  width: 40px;
}
#top .life .ab-img.ab03{
  top: 200px;
  left: 100px;
}
#top .life .ab-img.ab04{
  bottom: 90px;
  right: 20px;
  width: 70px;
}
#top .life .ab-img.ab05{
  bottom: 60px;
  right: 110px;
  width: 60px;
}
#top .life{
  background-color: #BBE088;
}
#top .life .title{
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#top .life h2{
  color: #816550;
}
#top .life h3{
  color: #816550;
  display: inline-block;
}
#top .life .title img{
  width: 40px;
  margin-right: 10px;
}
#top .life ul{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
  margin-bottom: 30px;
}
#top .life ul li .text p{
  line-height: 1.6;
}
#top .life .img-trim.radius{
  height: 200px;
  margin-bottom: 10px;
  overflow:hidden;
  border: 3px solid #fff;
}

/* 404 */
main.page.page-404 .page-area .contents{
  text-align: center;
  min-height: 50vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* TOP-入園をお考えのみなさまへ */
#top .enter{
  background-color: #559B59;
  padding: 60px 0 100px;
}
#top .enter .ab-img.ab01{
  top: 20px;
  left: 40px;
  width: 50px;
}
#top .enter .ab-img.ab02{
  top: 80px;
  right: 80px;
  width: 60px;
}
#top .enter .ab-img.ab03{
  display: none;
  bottom: 300px;
  left: 80px;
  width: 60px;
}
#top .enter ul.enter-list.top{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  margin: 80%;
  margin: auto 10% 20px;
}
#top .enter ul.enter-list.bottom{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  margin: 80%;
  margin: auto 10% 80px;
}
#top .enter ul.enter-list li{
  display: grid;
  align-content: stretch;
  justify-content: stretch;
}
#top .enter ul.enter-list li a{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  /* display: grid;
  align-content: center;
  justify-content: center; */
  background-color: #6CAE6F;
  color: #fff;
  padding: 20px;
  border-radius: 20px;
  text-align: center;
}
#top .enter ul.enter-list li a:hover{
  background-color: #80c485;
}
#top .enter ul.enter-list li img{
  width: 100px;
}
#top .enter ul.enter-list li .title{
  font-size: 22px;
}
#top .enter ul.enter-list.top li .title{
  font-size: clamp(22px, 3vw, 30px)
}
#top .enter ul.enter-list.top li .img img{
  width: 150px;
  margin-bottom: 20px;
}
#top .enter ul.enter-list.top li .img img{
  margin-bottom: 0;
}
/* #top .enter ul.enter-list li.enter-btn .btn{
  font-size: 18px;
  background-color: #275d36;
  padding: 10px 30px;
  border-radius: 100px;
} */

/* フッター調整用 */
#top #footer-appear{
  /* background-color: #559B59; */
}

/* 投稿ページ */
main.post .col-1 .contents,
main.post .left .contents {
  margin-bottom: 30px;
}
.post .col-sidemenu{
  display: grid;
  grid-template-columns: auto 250px;
  gap: 30px;
}
.post#one-point .col-sidemenu{
  display: grid;
  grid-template-columns: auto 300px;
  gap: 30px;
}
main.post .post-header{
  padding-bottom: 20px;
  margin-bottom: 30px;
  border-bottom: #ccc 1px solid;
}
main.post .date{
  color: #888;
  display: inline-block;
}
main.post .post-header .news-tag{
  padding: 2px 10px;
  margin-left: 10px;
}
main.post .post-header .subtitle{
  font-size: 20px;
  margin-bottom: 10px;
}
main.post .post-header .title{
  font-size: 26px;
}
main.archive#one-point .post-header .title{
  font-size: 20px;
}
main.post#one-point .doctor-footer{
  padding: 20px;
  text-align: center;
  background: #ffc4ce;
}
main.post .post-footer{
  padding-top: 20px;
  margin-top: 30px;
  border-top: #ccc 1px solid;
}
main.post .post-footer ul{
  display: flex;
  justify-content: space-between;
}
main.post .btn-area{
  padding: 10px;
  text-align: center;
}
main.post .page-area .right .contents {
  padding: 20px;
  padding-top: 30px;
  margin-bottom: 30px;
}
/* main.post#custom .page-area .right .contents {
  margin-top: 100px;
} */
main.post .page-area .right .contents h3{
  font-size: 20px;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: #ccc 1px solid;
}
main.post .page-area .right .contents .latest ul li:not(:last-child){
  margin-bottom: 10px;
  padding-bottom: 20px;
  border-bottom: #ccc 1px solid;
}
main.post#one-point .page-area .right .contents .latest ul li a{
  margin-bottom: 10px;
  color: #3d8dca;
  font-size: 14px;
}
main.post#one-point .page-area .right .contents .latest ul li:not(:last-child){
  margin-bottom: 10px;
}
main.post#one-point .page-area .right .contents .back-num .sidemenu-list{
  color: #3d8dca;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
main.post .page-area .right .contents .latest ul li .date{
  font-size: 14px;
}
main.post .page-area .right .contents .latest ul li .title{
  font-size: 15px;
  margin-bottom: 10px;
}
main.post .page-area .right .contents .latest .img-trim{
  height: 120px;
}
main.post.single #movie .text-area{
  text-align: center;
}
main.post.single #movie .youtube-area {
  max-width: 600px;
  width: 100%;
  margin: 0 auto 30px;
  position: relative;
}
main.post.single #movie .youtube-area::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
main.post.single #movie .youtube-area iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* アーカイブ */
main.post.arcive#movie a{
  display: grid;
  grid-template-columns: auto 250px;
  gap: 10px;
  padding: 10px;
  align-items: center;
}
main.post.arcive#post .left .contents ul.post-list li a{
  display: grid;
  grid-template-columns: auto 250px;
  gap: 10px;
  padding: 10px;
  align-items: center;
}
main.post.arcive#principal-room .left .contents ul.post-list li {
  max-width: 400px;
  margin: 0 auto;
  margin-bottom: 40px;
}
main.post.arcive#principal-room .left .contents ul.post-list li .date {
  color: #005F8A;
}
.principal-room-thumbnail {
  position: relative;
  max-width: 400px;
  margin: 0 auto;
  border: 1px solid #ccc;
}
.principal-room-thumbnail .magnify-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: #eee;
  color: #000;
  padding: 8px 12px;
  border-radius: 20px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
}
.principal-room-thumbnail .magnify-btn:hover {
  opacity: 0.7;
}
main.post.arcive .left .contents ul.post-list li:not(:last-child) a{
  margin-bottom: 10px;
}
main.post.arcive .left .contents ul.post-list li a:hover{
  background-color: #eee;
  border-radius: 20px;
}
main.post.arcive#post .left .contents ul.post-list li:not(:last-child)::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(to right, rgb(170, 170, 170) 0px, rgb(170, 170, 170) 2px, transparent 2px, transparent 10px);
  margin: 5px 0px;
}
main.post.arcive .left .contents ul.post-list li a .left .info{
  display: flex;
  margin-bottom: 20px;
  align-items: center;
}
main.post.arcive .left .contents ul.post-list li a .right .img-trim{
  height: 150px;
}
main.post.arcive .left .contents ul.post-list li a .title{
  font-size: 22px;
}
main.post.arcive .left .contents ul.post-list li a .left .info .tag{
  margin-left: 10px;
}
main.post .page-area h2{
  background-color: #19B1E2;
  color: #fff;
  padding: 10px 20px;
  font-size: 20px;
  margin-bottom: 20px;
  border-radius: 10px;
}
main#one-point .page-area#doctor h2{
  background-color: #126AAE;
}
main#one-point .page-area#nutritionist h2{
  background-color: #FF972E;
}
main.single#movie .page-area .text-area{
  text-align: center;
}

/* ページネーション */
.pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 30px 0;
}
.pagination ul.page-numbers li{
  font-size: 14px;
  color: #005F8A;
}
.pagination ul.page-numbers li > *{
  display: inline-block;
  padding: 10px;
  font-size: 14px;
  color: #005F8A;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.pagination ul.page-numbers li .current {
  font-weight: bold;
  color: #fff;
  background-color: #005F8A;
  border-color: #005F8A;
}
.pagination .prev,
.pagination .next {
  font-size: 14px;
  color: #005F8A;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 10px 15px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.pagination .prev:hover,
.pagination .next:hover {
  background-color: #005F8A;
  color: #fff;
}

/* ================ */
/* 固定ページ        */
/* ================ */
main.page .page-area{
  padding: 30px 30px 220px;
  /* margin-top: 20px; */
  margin-top: unset;
}
main.page .page-area .contents{
  background-color: #fff;
  border-radius: 30px;
  padding: 30px;
  /* min-height: 70vh; */
}
main.page .page-area .page-title{
  text-align: center;
  padding: 10px;
}
main.page .page-area .page-title img{
  width: 50px;
  display: inline-block;
}
main.page .page-area .page-title h2{
  display: inline-block;
  font-size: 30px;
  color: #1B87DB;
}

.page-title-area {
  height: 200px;
  overflow: hidden;
  display: flex;
  position: relative;
  margin-top: 16px;
  overflow: hidden;
}
.page-title-area:after {
  content: '';
  position: absolute;
  background-color: rgb(255 255 255 / 15%);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
.page-title-area img {
  width: 100%;
  object-fit: cover;
}
.page-title {
  font-size: 45px;
  font-weight: 500;
  font-family: "ab-kirigirisu", sans-serif;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #333;
  text-align: center;
  z-index: 2;
  /* -webkit-text-stroke: 2px #fff;
  text-stroke: 2px #fff;
  paint-order: stroke; */
  color: #fff;
  text-shadow: 1px 1px 3px #000;
  white-space: nowrap;
}

/* ================ */
/* お問い合わせ      */
/* ================ */
.contact .page-title-area {
  height: 180px;
}
.contact .page-title-area:after {
  background-color: rgba(0, 0, 0, 0.4); /* 暗くするオーバーレイ */
}
.contact .page-title {
  color: #fff;
}
.contact p {
  line-height: 1.5;
}
/* コンタクトフォーム全体のスタイル */
.contact .contact-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 30px 20px;
}

.contact .contact-section {
  margin-bottom: 40px;
}
.contact .contact-section h2 {
  font-size: 22px;
  color: #333;
  text-align: center;
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 8px;
  font-weight: bold;
}
.contact .contact-section h2:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #8bc34a;
}
/* 電話によるお問い合わせスタイル */
.contact .phone-contact {
  text-align: center;
  padding: 20px;
  margin-bottom: 60px;
  background-color: #f9f9f9;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  border: 1px solid #ddd;
}
.contact .phone-number {
  margin: 15px 0;
}
.contact .phone-number a {
  font-size: 32px;
  font-weight: bold;
  color: #1b87db;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
}
.contact .phone-number a:hover {
  color: #0d6efd;
  transform: scale(1.05);
}
.contact .phone-note {
  color: #666;
  font-size: 14px;
}
/* フォームによるお問い合わせスタイル */
.contact .contact-intro {
  text-align: center;
  margin-bottom: 30px;
  line-height: 1.6;
}
.contact .required-text {
  margin-top: 15px;
  color: #666;
  text-align: left;
}
.contact .required-mark {
  color: #e74c3c;
  font-weight: bold;
  margin-left: 5px;
}
/* フォームスタイル */
.contact .form-group br{
  display: none;
}
.wpcf7 form .wpcf7-response-output {
  display: none !important;
}
.contact .contact-form {
  background-color: #f9f9f9;
  padding: 25px;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  border: 1px solid #ddd;
}
.contact .form-group {
  margin-bottom: 18px;
}
.contact .form-group label {
  display: block;
  margin-bottom: 6px;
  font-weight: bold;
  color: #333;
}
.contact .form-group input[type="text"],
.contact .form-group input[type="email"],
.contact .form-group input[type="tel"],
.contact .form-group select,
.contact .form-group textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 16px;
  transition: border-color 0.3s;
  background-color: #fff;
}
.contact .form-group input[type="text"]:focus,
.contact .form-group input[type="email"]:focus,
.contact .form-group input[type="tel"]:focus,
.contact .form-group select:focus,
.contact .form-group textarea:focus {
  border-color: #1b87db;
  outline: none;
  box-shadow: 0 0 5px rgba(27, 135, 219, 0.3);
}
.contact .form-group textarea {
  resize: vertical;
  min-height: 80px;
}
/* ラジオボタングループ */
.contact .radio-group {
  display: flex;
  gap: 20px;
  margin-top: 8px;
}
.contact .radio-label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-weight: normal;
}
.contact .radio-label input[type="radio"] {
  margin-right: 8px;
  width: 18px;
  height: 18px;
}
/* お子様の情報欄 */
.contact .child-info-note {
  font-size: 14px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.contact .note-highlight {
  color: #e74c3c;
  font-weight: bold;
}
/* プライバシーポリシー部分 */
.contact .privacy-policy {
  margin-top: 30px;
}
.contact .privacy-box {
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 15px;
  margin-bottom: 12px;
  background-color: #fff;
}
.contact .privacy-box h3 {
  margin-top: 0;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #eee;
  color: #333;
  font-size: 18px;
}
.contact .privacy-content {
  height: 180px;
  overflow-y: auto;
  padding-right: 10px;
  line-height: 1.5;
}
.contact .privacy-content p,
.contact .privacy-content ol {
  margin-bottom: 12px;
  line-height: 1.5;
}
.contact .privacy-content ol {
  padding-left: 20px;
}
.contact .privacy-content li {
  margin-bottom: 8px;
}
.contact .privacy-agree {
  display: flex;
  align-items: center;
  margin-top: 12px;
}
.contact .privacy-agree input {
  margin-right: 10px;
  width: 18px;
  height: 18px;
}
.contact .privacy-agree label {
  display: flex;
  align-items: center;
  cursor: pointer;
}

/* 送信ボタン */
.contact .form-submit {
  text-align: center;
  margin-top: 30px;
}
.contact .form-submit .wpcf7-spinner {
  display: none;
}
.contact .form-submit input[type="submit"] {
  background-color: #1b87db;
  color: #fff;
  border: none;
  padding: 12px 40px;
  font-size: 16px;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 10px rgba(27, 135, 219, 0.3);
}
.contact .form-submit input[type="submit"]:hover {
  background-color: #1676c2;
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(27, 135, 219, 0.4);
}
.contact .form-submit input[type="submit"]:active {
  transform: translateY(0);
  box-shadow: 0 2px 5px rgba(27, 135, 219, 0.3);
}
/* 送信成功・エラー表示 */
.contact .contact-response {
  max-width: 600px;
  margin: 30px auto;
  padding: 20px;
  border-radius: 10px;
  text-align: center;
}
.contact .response-content {
  padding: 25px;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  border: 1px solid #ddd;
}
.contact .response-content h3 {
  font-size: 22px;
  margin-bottom: 15px;
  color: #333;
}
.contact .response-content p {
  margin-bottom: 15px;
  line-height: 1.6;
}
.contact .response-content.success {
  background-color: #ebf7f2;
  border: 1px solid #8bc34a;
}
.contact .response-content.error {
  background-color: #fdf2f2;
  border: 1px solid #e74c3c;
}
.contact .contact-info {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #eee;
  font-size: 14px;
}
.contact #back-to-form {
  margin-top: 15px;
  background-color: #666;
  color: #fff;
  border: none;
  padding: 8px 20px;
  font-size: 15px;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.contact #back-to-form:hover {
  background-color: #555;
}
/* バリデーションスタイル */
.contact .form-group.error input,
.contact .form-group.error select,
.contact .form-group.error textarea {
  border-color: #e74c3c;
  background-color: #fff8f8;
}
.contact .error-message {
  color: #e74c3c;
  font-size: 13px;
  margin-top: 4px;
  display: none;
}
.contact .form-group.error .error-message {
  display: block;
}

/* pdfモーダル */
#pdf-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  max-width: 100dvw;
  height: 100dvh;
  max-height: 100dvh;
  z-index: 1000;
  background-color: #2b2b2b; /* ← 背景をChrome風の暗色に */
}
#pdf-modal .modal-content {
  position: absolute;
  display: flex;
  flex-direction: column;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: transparent; /* ← 背景を透明に変更 */
}
#pdf-modal .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #eee;
}
#pdf-modal .modal-header .download-btn {
  background-color: #8bc34a;
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
  text-decoration: none;
}
#pdf-modal .modal-header .download-btn:hover {
  background-color: #7cb342;
}
#pdf-modal .modal-header .close-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #eee;
  cursor: pointer;
  transition: all 0.3s ease;
}
#pdf-modal .modal-header .close-btn:hover {
  background-color: #424242;
}
#pdf-modal .modal-body {
  flex: 1;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 0;
}
#pdf-modal .modal-body .pdf-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5); /* ← Chrome風の影を追加 */
}
#pdf-modal .modal-body .pdf-container .pdf-canvas {
  width: 100%;
  height: 100%;
  background-color: #fff;
}
#pdf-modal .modal-body .prev-btn {
  left: 50px;
}
#pdf-modal .modal-body .next-btn {
  right: 50px;
}
#pdf-modal .modal-body .prev-btn,
#pdf-modal .modal-body .next-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #424242;
  color: #eee;
  border-radius: 50%;
  width: 55px;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 20px;
  transition: all 0.3s ease;
}
#pdf-modal .modal-body .prev-btn:hover,
#pdf-modal .modal-body .next-btn:hover {
  background-color: #666;
}
#pdf-modal .modal-footer {
  padding: 20px;
  border-top: 1px solid #eee;
}
#pdf-modal .modal-footer .page-nav {
  color: #eee;
  display: flex;
  justify-content: center;
}

/* モバイルメニュー */
.nav-mobile-area {
  margin: 15px 0;
  padding: 0 10px;
}
.nav-mobile {
  display: none;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.nav-mobile .nav-item {
  width: calc(50% - 5px); /* 2カラム */
  height: auto;
  opacity: 1;
  transform: none !important; /* ジグザグ配置を解除 */
  border-radius: 30px;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin: 0;
}
.nav-mobile .nav-item:hover {
  opacity: 1;
}
.nav-mobile .nav-item-circle {
  display: flex;
  background-color: #fff !important;
  margin-bottom: 0;
  border-radius: 30px;
  gap: 6px;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  padding: 11px !important;
  box-shadow: none;
  min-height: 100%;
}
.nav-mobile .nav-item-img {
  width: auto;
  height: 30px;
  margin-bottom: 0;
}
.nav-mobile .nav-item-title {
  font-size: 15px;
  padding-bottom: 0;
  color: #333;
  font-weight: normal;
  text-align: left;
}
.nav-mobile .play-icons-nav:before,
.nav-mobile .play-icons-nav:after {
  display: none;
}

/* 建学の精神 */
#education .large{
  font-size: 28px;
}
#education .spirit .bottom{
  display: grid;
  grid-template-columns: auto 180px;
  gap: 30px;
}
#education .message{
  font-size: 20px;
}

/* 本園の特色 */
#feature h4 {
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: bold;
  display: flex;
  margin-bottom: 15px;
}
#feature h4 img {
  width: 38px;
}
#feature h5 {
  font-size: 21px;
  font-weight: 500;
}
#feature .features {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  margin-top: 35px;
}
#feature .feature-row {
  display: flex;
  align-items: start;
  /* column-gap: 20px; */
  row-gap: 10px;
  border-radius: 15px;
  overflow: hidden;
  background-color: white;
}
#feature .feature-row.nth-2n {
  flex-direction: row-reverse;
  justify-content: space-between;
}
#feature h5.feature-item-title {
  margin-bottom: 10px;
}
#feature .feature-row .feature-item-content {
  padding: 0 18px;
}
#feature .feature-row p.feature-item-text {
  line-height: 1.6;
  margin-bottom: 0;
}
#feature .feature-row .img-container {
  flex-shrink: 0;
  max-width: 350px;
  height: auto;
  aspect-ratio: 7 / 5;
  min-width: 250px;
  width: 25%;
  border-radius: 30px;
  overflow: hidden;
  position: relative;
}
/* Slickスライダー用スタイル */
#feature .feature-row .img-container.slick-slider {
  position: relative;
  /* height: 250px; */
  overflow: visible;
  margin-bottom: 0;
}
#feature .feature-row .img-container .slick-slide {
  border-radius: 30px;
  overflow: hidden;
  height: 200px;
}
#feature .feature-row .img-container .slick-slide img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
#feature .feature-row .img-container .slick-dots {
  position: static;
  /* margin-top: 10px; */
  text-align: center;
}
#feature .feature-row .img-container .slick-dots li button:before {
  color: #4a8c2a;
  opacity: 0.5;
  font-size: 12px;
}
#feature .feature-row .img-container .slick-dots li.slick-active button:before {
  opacity: 1;
}
#feature .feature-row .img-container .slick-prev,
#feature .feature-row .img-container .slick-next {
  z-index: 1;
  width: 30px;
  height: 30px;
}
#feature .feature-row .img-container .slick-prev {
  left: 10px;
}
#feature .feature-row .img-container .slick-next {
  right: 10px;
}
#feature .feature-row .img-container .slick-prev:before,
#feature .feature-row .img-container .slick-next:before {
  font-size: 20px;
}
#feature .feature-row img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* 学校評価 */
#hyouka .accordion-item {
  border: 1px solid #ddd;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 20px;
}
#hyouka .accordion-header {
  background-color: #f8f9fa;
  padding: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background-color 0.3s ease;
}
#hyouka .accordion-header:hover {
  background-color: #e9ecef;
}
#hyouka .survey-title {
  font-size: 24px;
  font-weight: bold;
  color: #333;
  margin: 0;
}
#hyouka .accordion-icon {
  font-size: 16px;
  color: #666;
  transition: transform 0.3s ease;
}
#hyouka .accordion-item.active .accordion-icon {
  transform: rotate(180deg);
}
#hyouka .accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background-color: white;
}
#hyouka .accordion-item.active .accordion-content {
  max-height: 3000px;
  padding: 30px;
}
#hyouka .survey-subtitle {
  text-align: center;
  /* margin: 20px 0; */
  color: #666;
  font-size: 16px;
}
#hyouka .survey-notes {
  margin: 20px 0;
}
#hyouka .survey-notes p {
  margin: 5px 0;
  font-size: 14px;
  color: #666;
}
#hyouka .survey-scale {
  background-color: #e9ecef;
  padding: 20px;
  margin: 20px 0;
  border-radius: 5px;
}
#hyouka .survey-scale h3 {
  margin-top: 0;
  margin-bottom: 15px;
  color: #333;
}
#hyouka .survey-scale ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
#hyouka .survey-scale li {
  margin-bottom: 8px;
  color: #555;
}
#hyouka .survey-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 14px;
}
#hyouka .survey-table th,
#hyouka .survey-table td {
  border: 1px solid #ddd;
  padding: 12px 8px;
  text-align: center;
  vertical-align: middle;
}
#hyouka .survey-table th {
  background-color: #f8f9fa;
  font-weight: bold;
  color: #333;
}
#hyouka .survey-table td:first-child {
  background-color: #f8f9fa;
  font-weight: bold;
  text-align: center;
  width: 50px;
}
#hyouka .survey-table td:nth-child(2) {
  text-align: left;
  width: 300px;
}
#hyouka .survey-table td:nth-child(2) ~ td {
  width: 80px;
}
#hyouka .survey-chuu {
  font-size: 12px;
  color: #666;
}

/* 苦情解決 */
#resolution .box{
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 28px;
  margin-bottom: 40px;
}
#resolution .box h4{
  margin: 0 0 14px;
  font-size: 20px;
  color: #111827;
}
#resolution .box > p{
  margin: 0 0 18px;
  color: #6b7280;
  line-height: 1.8;
}
#resolution .box .step-area{
  display: grid;
  /* grid-template-columns: repeat(3, 1fr); */
  gap: 16px;
}
#resolution .box .step-area .step{
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
}
#resolution .box .step-area .step-title{
  font-weight: bold;
  margin-bottom:10px;
}
#resolution .box .step-area .step p{
  font-size: 90%;
  color: #6b7280;
}

/* アニメーション画像 */
.relative .v-m{
  display: none;
}
.relative{
  position: relative;
}
.relative .ab-img{
  position: absolute;
  width: 80px;
}
.relative .ab-img.left{
  animation: sway-l 2.5s ease-in-out infinite;
  left: -30px;
}
.relative .ab-img.right{
  animation: sway-r 2.5s ease-in-out infinite;
  right: -30px;
}
.relative .ab-img.ab01-01{
  top: 0px;
  right: 100px;
  width: 150px;
}
.relative .ab-img.ab01-02{
  top: 100px;
  width: 100px;
}
.relative .ab-img.ab02-01{
  top: 100px;
}
.relative .ab-img.ab02-02{
  width: 100px;
  bottom: 0;
}
.relative .ab-img.ab03-01{
  width: 80px;
  top: 100px;
}
.relative .ab-img.ab03-02{
  width: 90px;
  bottom: 0;
  left: -82px;
}
.relative .ab-img.ab03-02.v-p{
  animation: none !important;
}
.relative .ab-img.ab03-03{
  bottom: 0;
}
@keyframes sway-l {
  0%, 100% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(5deg);
  }
}
@keyframes sway-r {
  0%, 100% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(-5deg);
  }
}
@media only screen and (max-width: 1170px)
{
  .relative .v-m{
    display: flex;
    justify-content: center;
    gap: 10%;
    align-items: center;
  }
  .relative.orientation .v-m{
    margin-top: 30px;
    gap: 10px;
  }
  .relative .v-p{
    display: none;
  }
  .relative{
    /* position: static; */
  }
  .relative .ab-img{
    position: static;
  }
}

#sitemap .link-area{
  margin-bottom: 30px;
  gap: 20px;
}
#sitemap .link-area .list{
  margin-bottom: 10px;
}
#sitemap .link-area .list .parent{
  padding: 10px 20px;
  background: #1fb3e3;
  color: #fff;
  margin-bottom: 20px;
  border-radius: 10px;
  display: block;
}
#sitemap .link-area .list .parent.link-none{
  pointer-events: none;
}
#sitemap .link-area ul li{
  margin-bottom: 10px;
  padding-bottom: 10px;
  color: #3d8dca;
  border-bottom: dashed 1px #ddd;
  text-indent: -1.3em;
  padding-left: 1.4em;
}
#sitemap .link-area ul li a:before{
  content: "・";
  margin-right: 5px;
}