

/* ■■■■　プライバシーポリシー　■■■■ */
/* .privacy-list-text {
  text-indent: -1rem;
  padding-left: 2rem;
} */

.privacy-list-footer {
  width: 100%;
}

.privacy-list-footer__right {
  margin-left: auto;
}


.beginner-step-num-strong {
  font-size: calc(calc(24rem / 15) * 1.5);
}



.page-recruit {
  padding-bottom: 0;
}

.page-recruit .footer-nav {
  background-color: var(--light-pink);
}

.recruit__link-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 650px;
  margin-inline: auto;
}

.recruit-link {
  border-radius: 10px;
  overflow: clip;
}

/* 米子カルチャー講座ページ */
.page-culture .footer-nav {
  background-color: var(--light-pink);
}

/* 保育ページ */
.red-border-title {
  border-left: clamp(4px,calc(6vw / 10),6px) solid var(--base-red);
  padding: clamp(min(calc(3vw / 3.75),3px),calc(10vw / 10),10px);
  padding-left: clamp(10px,calc(15vw / 10),15px);
}

.childcare-list-img {
  border-radius: min(calc(20vw / 3.75),20px);
  overflow: clip;
}

.childcare__SVG-icon--childcare {
  width: clamp(30px,calc(50vw / 10),50px);
}

.nursery-list__flex {
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
.nursery-list__flex {
  flex-wrap: wrap;
}
}


/* ジュニアスイミング */

.js-step-list {
  gap: clamp(30px,calc(80vw / 10),80px) min(calc(100vw / 10),100px);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-bottom: 75px;
}

.js-step-item {
  position: relative;
  min-width: min(calc(300vw / 3.75),300px);
  max-width: 445px;
  display: flex;
  flex-direction: column;
  gap: clamp(20px,calc(25vw / 10),25px);
}

.js-step-img {
  mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 445.51 316.96"><path fill="%23ffffff" d="M220.9,0C141.24,0,66.08,6.74,27.86,63.08,11.92,86.59,0,118.99,0,155.72c0,60.18,5.57,108.18,40.23,135.74,54.02,42.94,108.24,18.67,177.57,18.67,65.38,0,108.48,11.09,173.61-13.33,42.67-16,54.09-77.33,54.09-133.76C445.51,12.54,329.29,0,220.9,0Z"/></svg>');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center; 
}
.js-step-item:nth-of-type(2n) .js-step-img {
  mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 445.51 316.96"><path fill="%23ffffff" d="M220.9,323.39c-79.66,0-137.03-3.54-185.17-51.68C5.87,241.86,0,190.44,0,153.71,0,93.52,13.86,59.49,48.53,31.93,102.55-11.01,148.47,1.78,217.8,1.78c65.38,0,112.57-8.55,173.61,24.81,45.26,24.74,56.69,93.48,54.09,149.86-5.99,129.84-116.22,146.94-224.61,146.94Z"/></svg>');
}

.js-step-num {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(0,-25%);
  width: clamp(67px,calc(90vw / 10),90px);
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.js-step-text {
  display: flex;
  flex-direction: column;
  gap: clamp(20px,calc(25vw / 10),25px);
}

.swimming-age-title {
  display: inline-block;
  border-radius: 30px;
  background-color: #000;
  padding: 5px 25px;
}

.swimming-age-list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit,clamp(min(calc(128vw / 3.75),128px),calc(160vw / 10),160px));
  justify-content: center;
}

.swimming-age-item {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  place-items: center;
  border: 1px solid var(--base-red);
}
.tottori .swimming-age-item {
  border-color: var(--base-blue);
}

.swimming-age-text {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 0;
  letter-spacing: calc(-1 * clamp(min(calc(0.5vw / 3.75),0.5px),calc(1vw / 7.68),1px));
}

.swimming-age-text p {
  white-space: nowrap;
}

.swimming__SVG-icon--swimmer {
  width: clamp(min(calc(27.0168vw / 3.75),27.0168px),calc(54.0336vw / 10),54.0336px);
}

.swimming-strength-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: clamp(25px,calc(60vw / 10),60px) min(calc(100vw / 10),100px);
}

.swimming-strength-item {
  overflow: clip;
  border-radius: 20px;
  max-width: 450px;
  min-width: min(calc(300vw / 3.75),300px);
}

.swimming-strength-text {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: clamp(15px,calc(25vw / 10),25px);
  padding: clamp(min(calc(20vw / 3.75),20px),calc(30vw / 10),30px);
}

.swimming__tab-button {
  position: relative;
  grid-template-columns: repeat(2, 1fr);
  column-gap:clamp(15px,calc(50vw / 10),50px);
  color: #fff;
  border: none;
}

.swimming__ab-button-item {
  border-radius: 20px 20px 0 0;
}

.swimming__ab-button-item button {
  position: relative;
  color: #fff;
}

.tab-button__SVG-icon--arrow-down {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 20px;
}

.swimming__tab-button {
  padding-bottom: clamp(5px,calc(6vw / 7.68),6px);
}
@media screen and (max-width: 768px) {
  .swimming__tab-button {
    padding-bottom: clamp(5px,calc(6vw / 7.68),6px);
  }
}

.swimming__ab-button-item ,.is-active.swimming__ab-button-item  {
  background-color: var(--base-red);
}
.swimming__ab-button-item--tottori ,.is-active.swimming__ab-button-item--tottori {
  background-color: var(--base-blue);
}

.swimming__ab-button-item.is-active::after {
  content: "";
  position: absolute;
  width: 100%;
  height: clamp(5px,calc(6vw / 7.68),6px);
  bottom: 0;
  left: 0;
  background-color: var(--base-red);
}
.swimming__ab-button-item--tottori.is-active::after {
  background-color: var(--base-blue);
}

.page-junior-swimming .footer-nav {
  background-color: var(--light-pink);
}



.swimming-tab-container {
  padding: clamp(20px,calc(50vw / 10),50px) 10px;
}

    :root {
        --pink-dark: #d81b60;
        --pink-light: #fce4ec;
        --pink-mid: #f06292;
        --yellow-light: #fff9c4;
    }

.grid-table {
    display: grid;
    grid-template-columns: clamp(min(calc(50vw / 3.75),50px),calc(100vw / 10),100px) clamp(min(calc(35vw / 3.75),35px),calc(80vw / 10),80px) 1fr clamp(min(calc(70vw / 3.75),70px),calc(120vw / 10),120px);
    border: 1px solid var(--base-red);
    width: 100%;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
    background-color: #fff;
    max-width: 800px;
    margin: 0 auto;
}
.tottori .grid-table {
    border: 1px solid var(--base-blue);
}

.grid-table .font-15px {
  font-size: clamp(min(calc(10vw / 3.75),10px),calc(15vw / 10),15px);
}

.cell {
    border: 1px solid var(--base-red);
    padding: 8px 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: left;
    font-size: clamp(min(calc(10vw / 3.75),10px),calc(15vw / 10),15px);
}
.tottori .cell {
    border: 1px solid var(--base-blue);
}

/* アイコン列の結合用 */
.animal-col {
    position: relative;
    grid-row: span 1;
    flex-direction: column;
    border-right: 2px solid var(--pink-dark);
    padding-top: 0;
    padding-bottom: 0;
}
@media screen and (max-width: 768px) {
.animal-col {
    padding-top: min(calc(35vw / 3.75),35px);
}
.animal-col--kaeru {
  padding: 0;  
}
}

.animal-img {
  display: block;
  max-width: 80px;
  width: 100%;
  font-size: clamp(min(calc(10vw / 3.75),10px),calc(15vw / 10),15px);
}
@media screen and (max-width: 768px) {
.animal-img {
  position: absolute;
  top: calc(50% - min(calc(10vw / 3.75),20px));
  left: 50%;
  transform: translate(-50%,-50%);
}
.animal-col--kaeru .animal-img {
  top: calc(50% - clamp(30px,calc(40vw / 10),40px));
}
}

/* 横長の注釈バー */
.full-width-note {
    grid-column: 1 / 5;
    background-color: var(--pink-dark);
    color: white;
    padding: 5px;
    font-weight: bold;
}

.vertical-text {
    /* writing-mode: vertical-rl; */
    text-orientation: upright;
    letter-spacing: 2px;
    text-align: center;
}

.text-left { justify-content: flex-start; padding-left: 15px; }

.cell--yellow {
  padding: 8px 15px;
  display: flex;
  align-items: center; 
  text-align: left;
  border-top: 2px solid var(--base-red);
}
.tottori .cell--yellow {
  border-top: 2px solid var(--base-blue);
}

.cell > .cell {
  border-right: none;
  border-left: none;
  text-align: left;
  justify-content: flex-start;
  padding-left: 15px;
}

.cell > .cell:first-of-type {
  border-top: none;
}
.cell > .cell:nth-of-type(2) {
  border-bottom: none;
}

/* 成人会員 */
.senior__picture-fv-bg {
  background-color: rgba(0,0,0,.4);
}

.program-list {
  width: 100%;
  margin: 0 auto;
  gap: 40px;
  display: grid;
  grid-template-columns: repeat(auto-fit,min(calc(220vw / 3.75),220px));
  justify-content: center;
  gap: 25px min(calc(18vw / 3.75),18px);
}
@media screen and (max-width: 768px) {
.program-list {
  grid-template-columns: repeat(auto-fit,min(calc(154vw / 3.75),154px));
  max-width: 480px;
}
}

.program-link {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: stretch;
  flex-direction: column;
  gap:10px;
}

.program-link-img {
  border-radius: 5px;
}

.program-link-tag {
  padding: 5px 25px;
  border-radius: 30px;
}

.splide--senior-fitness .img {
  border-radius: min(calc(8vw / 3.75),8px);
  overflow: clip;
}

/* .splide--senior-fitness .splide__arrow {
  width: clamp(min(calc(30vw / 3.75),30px),calc(55vw / 7.68),55px);
  height: clamp(min(calc(30vw / 3.75),30px),calc(55vw / 7.68),55px);
  border-radius: 0;
  background-color: var(--base-red);
  background-size: calc(36.0872% / 0.55);
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 25.06 7.41"><polygon fill="%23ffffff" points="13.26 0 13.26 6.41 0 6.41 0 7.41 13.26 7.41 20.59 7.41 25.06 7.41 13.26 0"/></svg>');
  background-repeat: no-repeat;
  background-position: center 45%;
  opacity: 1;
  transition: opacity .3s;;
}
.splide--senior-fitness .splide__arrow:hover {
  opacity: .7;
}

.splide--senior-fitness .splide__arrow--prev {
  left: 0;
  transform: translate(calc(0% - clamp(min(calc(20vw / 3.75),20px),calc(100vw / 14),100px)),-50%) scale(-1,1);
}
.splide--senior-fitness .splide__arrow--next {
  right: 0;
  transform: translate(clamp(min(calc(20vw / 3.75),20px),calc(100vw / 14),100px),-50%);
}
@media screen and (max-width: 1000px) {
.splide--senior-fitness .splide__arrow--prev {
  transform: translate(calc(0% - min(calc(20vw / 3.75),20px)),-50%) scale(-1,1);
}
.splide--senior-fitness .splide__arrow--next {
  transform: translate(min(calc(20vw / 3.75),20px),-50%);
}
}

.splide--senior-fitness .splide__arrow svg {
  display: none;
} */

.splide__slide {
  display: flex;
  justify-content: center;
  align-items: center;
}

.splide__slide a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.splide__slide picture {
  display: block;
  width: 100%;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid var(--base-red);
}
.splide__track--nav > .splide__list > .splide__slide {
  border-radius: min(calc(10vw / 3.75),10px);
}

/* #senior-fitness-2-thumb {
  width: 80%;
} */

.experience-steps {
  width: 100%;
}
@media screen and (max-width: 768px) {
.experience-steps {
  max-width: 400px;
  margin: 0 auto;
}
}

.experience-steps-item {
  position: relative;

}
.experience-steps-item:not(:last-of-type)::after {
  z-index: 1;
  content: "";
  position: absolute;
  top: calc(100% + min(calc(25vw / 10), 25px));
  left: 50%;
  transform: translateX(-50%);
  width: clamp(40px,calc(56.1478vw / 7.68),56.1478px);
  height: auto;
  aspect-ratio: 56.1478 / 17.6526;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 56.15 17.65"><path fill="%23000000" d="M54.76,0c1.65,0,1.86.72.46,1.59l-24.6,15.4c-1.4.88-3.69.88-5.09,0L.93,1.59C-.47.72-.26,0,1.39,0h53.38Z"/></svg>');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.experience-steps-container {
  border: 1px solid var(--base-red);
  border-radius: 0 0 clamp(12px,calc(20vw / 10),20px) clamp(12px,calc(20vw / 10),20px);
  position: relative;
  display: flex;
  flex-direction: column;
  padding: clamp(min(calc(25vw / 3.75),25px),calc(50vw / 10),50px);  
  gap: clamp(min(calc(20vw / 3.75),20px),calc(30vw / 10),30px);
}



.experience-steps-title {
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px;
  border-radius: clamp(12px,calc(20vw / 10),20px) clamp(12px,calc(20vw / 10),20px) 0 0;
}

.experience-steps-num {
  width: clamp(25px,calc(35vw / 10),35px);
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(min(calc(18vw / 3.75),18px),calc(27vw / 10),27px);
  letter-spacing: 0;
}



.experience-steps-img {
  width: clamp(min(calc(280vw / 3.75),280px),calc(350vw / 10),350px);
  flex-shrink: 0;
}

.experience-junior__link {
  min-height: clamp(50px,calc(100vw / 10),100px);
  padding-right: min(calc(35vw / 3.75),35px);
}


.facility-use-list-item--designated {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 25px;
  gap: clamp(10px,calc(15vw / 10),15px);
}

.facility-use-list-item--designated:not(:last-of-type)::after { 
  top: calc(100% + clamp(min(calc(15vw / 10), 15px),calc(25vw / 7.68),25px));
}