@charset "UTF-8";/* 2025.12.26 */


.img_top {
  background: url("../images/facility/img_top.jpg") no-repeat center center / cover;
}

#lead_txt .ttl_02 {
  color: var(--sub01);
}
#lead_txt p {
  padding: 0 1em;
}
@media (min-width: 768px) {
  #lead_txt p {
    padding: 0 2em;
  }
}
@media (min-width: 1100px) {
  #lead_txt .ttl_01 {
    margin-left: 38%;
  }
}

.ttl_02 {
  border-bottom: solid 2px;
  padding-bottom: 5px;
  margin-bottom: 30px;
}
.data01 dl, .data01 p {
  padding-left: 15px;
}
.data01 dl {
  margin-bottom: 20px;
}
.data01 dt {
  font-weight: 700;
  font-size: 1.8rem;
}
.data01 dd {
  padding-left: 1em;
}
table {
  position: relative;
  overflow: auto!important;
}
table::before {
  width: 70px;
  height: 50px;
  top: -50px;
  right: 0;
  position: absolute;
  content: '';
}
.bg02::before {
  left: -7%;
  top: 10%;
  height: 110%;
}
.tbl02::before {
  background: url("../images/tri.svg") no-repeat bottom right / contain;
  bottom: 0;
  left: 10px;
  top: auto;
}
@media (min-width: 768px) {
  .data01 dl, .data01 dl div {
    display: flex;
    flex-wrap: wrap;
  }
  .data01 dl div {
    width: 100%;
  }
  .tbl01::before {
    background: url("../images/angle.svg") no-repeat bottom right / contain;
  }
  .tbl02 p {
    margin-top: -1.3em;
  }
  .tbl02 td:nth-child(1) > p {
    padding-left: 6em;
    
  }
  .tbl02 td:nth-child(2) > p {
    padding-left: 4em;
    
  }
}
@media (min-width: 972px) {
  .ttl_04.mt {
    margin-top: -70px;
  }
}

.img_box01  {
  position: relative;
  gap:0;
}
.img_box03 {
  padding-top: 10px;
  width: 500px;
  max-width: 60%;
  margin-left: auto;
  margin-right: 0;
}
@media (min-width: 768px) {
  .img_box01 img {
    width: 100vw;
  }
  .img_box01 img:first-child {
    border-radius: 0 0 40px 0;
    margin-top: 20px;
  }
  .img_box01 img:nth-child(2) {
    border-radius: 40px 0 0 0;
    margin-top: -20px;
  }
}



#ryoiki {
  padding: 50px 15px 0;
}

#ryoiki .ttl1 {
  font-size: clamp(2.6rem, 0.2rem + 3.6vw, 6rem);
  padding-bottom: 20px;
  text-align: center;
}
.list_02 {
  display: grid;
  gap: 15px;
  overflow: hidden;
  grid-template-columns: 1fr;
}
.list_02 .box {
  margin: 30px auto 20px;
  width: 80%;
  position: relative;
  z-index: 2;
}
.list_02 .box::after {
  filter: brightness(0) saturate(100%) invert(100%) sepia(22%) saturate(5155%) hue-rotate(176deg) brightness(107%) contrast(107%);
  background: url("../images/sankaku.svg") no-repeat top center / contain;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  content: '';
  z-index: -1;
}
.list_02 .box:nth-child(1) dt,
.list_02 .box:nth-child(1) strong {
  color: var(--main);
}
.list_02 .box:nth-child(2) dt,
.list_02 .box:nth-child(2) strong {
  color: var(--sub06);
}
.list_02 .box:nth-child(3) dt,
.list_02 .box:nth-child(3) strong {
  color: var(--sub02);
}
.list_02 .box:nth-child(4) dt,
.list_02 .box:nth-child(4) strong {
  color: var(--sub03);
}
.list_02 .box:nth-child(5) dt,
.list_02 .box:nth-child(5) strong {
  color: var(--sub04);
}
.list_02 .box:nth-child(2)::after {
  transform: rotate(-30deg);
  filter: brightness(0) saturate(100%) invert(96%) sepia(9%) saturate(713%) hue-rotate(58deg) brightness(109%) contrast(102%);
}
.list_02 .box:nth-child(3)::after {
  width: 70%;
  right: 0;
  margin: auto;
  transform: rotate(-60deg);
  filter: brightness(0) saturate(100%) invert(93%) sepia(13%) saturate(823%) hue-rotate(303deg) brightness(108%) contrast(108%);
}
.list_02 .box:nth-child(4)::after {
  width: 60%;
  right: 0;
  margin: auto;
  transform: rotate(-45deg);
  filter: brightness(0) saturate(100%) invert(88%) sepia(3%) saturate(1423%) hue-rotate(211deg) brightness(100%) contrast(122%);
}
.list_02 .box:nth-child(5)::after {
  width: 70%;
  right: 0;
  margin: auto;
  transform: rotate(-70deg);
  filter: brightness(0) saturate(100%) invert(87%) sepia(34%) saturate(140%) hue-rotate(8deg) brightness(108%) contrast(105%);
}
.list_02 dt {
  margin: 15px 0;
  border-bottom: dotted 2px;
  font-size: clamp(1.8rem, 0.378rem + 2.96vw, 2.5rem);
  font-weight: bold;
  text-align: center;
}
.list_02 dd::before {
  content: "・";
  display: inline;
  margin-left: -1em;
}
@media (max-width: 480px) {
  .list_02 .box:nth-child(3)::after,
  .list_02 .box:nth-child(4)::after,
  .list_02 .box:nth-child(5)::after {
    width: 90%;
  }
}
@media (max-width: 420px) {
  .list_02 .box:nth-child(3)::after {
    left: 22%;
  }
}
@media (max-width: 380px) {
  .list_02 .box:nth-child(3)::after,
  .list_02 .box:nth-child(4)::after,
  .list_02 .box:nth-child(5)::after {
    left: 25%;
  }
}


/* 画像左右往復 */
.animation-container {
  padding: 20px 0 50px;
  text-align: right;
  line-height: 0;
}
.moving-image {
  width: 300px;
  max-width: 50%;
  margin: 0 0 0 auto;
  animation: jump 5s infinite;
}

/* キーフレームでアニメーションを定義 */
@keyframes jump {
  0%, 100% {
    transform: translateY(0);
  }
  /* 2% の時点で上へ5px移動させる */
  /* 5秒間の2%なので、0.1秒間だけ上に移動することになります */
  3% {
    transform: translateY(-10px); 
  }
}

@media (min-width: 700px) {
  .list_02 {
      grid-template-columns: repeat(2, 1fr);
    }
   .list_02 .box:last-child {
     grid-column: span 2;
  }
  .list_02 .box:nth-child(3)::after,
  .list_02 .box:nth-child(4)::after {
    background-position: left;
    top: -40px;
    left: -30px;
    width: 90%;
  }
}


@media (min-width: 900px) {
  .list_02 {
     grid-template-columns: repeat(6, 1fr);
  }
  .list_02 .box:nth-child(1),
  .list_02 .box:nth-child(2) {
    grid-column: span 3;
    width: 74%;
  }
   .list_02 .box:nth-child(3),
   .list_02 .box:nth-child(4),
   .list_02 .box:nth-child(5) {
     grid-column: span 2;
     width: 90%;
  }
  .list_02 .box:nth-child(5)::after {
    background-position: left;
    top: -40px;
    left: -30px;
    width: 90%;
  }
}
@media (min-width: 1080px) {
  #ryoiki .ttl1 {
    font-size: 4rem;
  }
  .list_02 dd {
    font-size: 1.8rem;
    line-height: 1.9;
  }
}










#program {
  position: relative;
}

.list_01 img {
  border-radius: 20px;
}
.list_01 figcaption {
  font-size: 1.8rem;
  padding-bottom: 15px;
  font-weight: bold;
}
@media (min-width: 768px) {
  .list_01 figcaption {
    font-size: 2.2rem;
  }
  .list_01 figcaption {
    text-align: left;
  }
}





.list_04 li {
  font-weight: normal;
  color: var(--text);
}
.list_04 li::before {
  color: var(--main);
  padding-right: .5em;
  font-size: .6em;
  content: '●';
}


.list_03 {
  padding-top: 2em;
  padding-left: 2em;
}
.list_03 li {
  margin-left: 2em;
  padding-bottom: .5em;
}
.list_03 li p {
  display: inline;
  padding-left: 1em!important;
}
.list_03 li::before {
  margin-left: -2.5em;
  color: var(--sub01);
  font-size: .6em;
  content: '●';
}

.btn_01 {
  width: 180px;
  margin-left: auto;
}


.tbl03 {
  width: 100%;
}
.tbl03 th,
.tbl03 td {
  border: 1px solid #ddd;
  padding: 10px;
  text-align: left;
}
.tbl03 th,
.tbl03 td:nth-child(odd) {
  background-color: #f5f5f5;
  text-align: center;
}
.tbl03 th {
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
}
.tbl03 td {
  background: #fff;
}
@media (min-width: 500px) {
  .tbl03 td:nth-child(odd) {
    width: 10%;
  }
  .tbl03 td:nth-child(even) {
    width: 40%;
  }
}

.img_box02 {
  max-width: 70%;
  margin:  0 auto;
}
.img_box02._06 {
  max-width: 100%;
}

.float {
  float: none; 
  margin: 0 auto;
}

ol.list_01 > li h5 {
  font-size: 2rem;
}
@media (min-width: 768px) {
  .bg01::before {
    border-radius: 50px;
  }
  .float {
    max-width: 32%;
    padding-left: 10px;
    float: right;
  }
  .float._01 {
    margin-top: -60px;
  }
  .float._02 {
    margin-top: -20px;
  }
  .float._03 {
    margin-top: -50px;
  }
  .float._06 {
    margin-top: -30px;
    max-width: 50%;
  }
  .float._07 {
    margin-top: -130px;
  }
  .list_01 .txt01 {
    width: 60%;
  }
}
@media (min-width: 840px) {
  ol.list_01 > li {
    margin-bottom: 80px;
  }
  .float._06 {
    margin-top: -10px;
    max-width: 40%;
  }
}
@media (min-width: 900px) {
  .float {
    max-width: 28%;
  }
  .float._01,
  .float._03 {
    margin-right: 0%;
  }
  .float._05 {
    max-width: 32%;
  }
  .float._06 {
    margin-top: 0px;
    margin-right: 26%;
    max-width: 40%;
  }
  .list_01 .txt01 {
    width: 70%;
  }
}
@media (min-width: 1000px) {
  ol.list_01 > li h5 {
    font-size: 2.2rem;
  }
  .float {
    max-width: 24%;
  }
}
@media (min-width: 1120px) {
  .float._06 {
    margin-right: 33%;
    width: 350px;
    max-width: 36%;
  }
}
@media (min-width: 1140px) {
  .float._04 {
    margin-top: -46px;
  }
  .float._06 {
    margin-right: 33%;
    max-width: 36%;
  }
}


#facillity {
  margin-top: -70px;
}
#facillity .box02 {
  background-color: #ebf9a3;
  margin-top: -10px;
  padding-top: 100px;
  padding-bottom: 80px;
}
.box02 {
  padding-top: 50px;
}
.box02 figcaption {
  padding: 10px 20px 30px;
  text-align: left;
}
.box02 figcaption strong {
  font-size: 1.2em;
}

@media (min-width: 768px) {
  #facillity {
    margin-top: -100px;
  }
  .box02 figcaption {
    padding: 10px 30px 30px;
  }
}












