@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap");
html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  font-size: 4vw;
}

@media only screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

@media only screen and (min-width: 768px) {
  .view-sp {
    display: none !important;
  }
}

.view-pc {
  display: none !important;
}

@media only screen and (min-width: 768px) {
  .view-pc {
    display: inherit !important;
  }
}

.btn-more a {
  padding: 20px 30px;
  border-radius: 100px;
  font-size: clamp(1.5rem, 1.4vw, 1.6rem);
}

@media only screen and (min-width: 768px) {
  .btn-more a {
    padding: 20px 30px;
  }
}

.l-header-n {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 10px 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 70px;
  display: flex;
  position: fixed;
  width: 100%;
  background: #FFFFFF;
  z-index: 999;
  top: 0;
  left: 0;
}

@media only screen and (min-width: 768px) {
  .l-header-n {
    height: 100px;
    padding: 30px 20px;
  }
}

.l-header-n h1 {
  width: 250px;
  -webkit-transition: .2s;
  transition: .2s;
}

@media only screen and (min-width: 768px) {
  .l-header-n h1 {
    width: 22vw;
  }
}

.l-header-n .global {
  margin-left: 5vw;
  display: none;
}

@media only screen and (min-width: 1025px) {
  .l-header-n .global {
    display: inherit;
    margin-top: 7px;
  }
}

.l-header-n .global ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.l-header-n .global ul li {
  font-size: clamp(1rem, 1.1vw, 1.7rem);
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  margin-right: 1.5vw;
  white-space: nowrap;
  font-weight: 600;
}

.l-header-n .global ul li a {
  position: relative;
}

.l-header-n .global ul li a::after {
  position: absolute;
  bottom: 0px;
  left: 50%;
  content: '';
  width: 0%;
  height: 1px;
  background-color: #1473CC;
  -webkit-transition: .3s;
  transition: .3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.l-header-n .global ul li a:hover::after {
  width: 100%;
}

.l-header-n .global ul li a:hover {
  color: #000000;
}

.l-header-n .header-r {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.l-header-n .time-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.3;
  display: none;
}

@media only screen and (min-width: 1025px) {
  .l-header-n .time-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

.l-header-n .time-wrap .txt01 {
  background: #1473CC;
  color: #FFFFFF;
  border-radius: 10px;
  border-radius: 100px;
  font-size: clamp(1rem, 1vw, 1.2rem);
  white-space: nowrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 10px;
  margin-right: 1rem;
  line-height: 1;
}

.l-header-n .time-wrap .txt02 {
  letter-spacing: -.1rem;
  white-space: nowrap;
}

.l-header-n .num {
  font-size: clamp(1rem, 2.7vw, 3.2rem);
  color: #1473CC;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  line-height: 1;
  text-align: center;
  display: none;
}

@media only screen and (min-width: 1025px) {
  .l-header-n .num {
    display: inherit;
  }
}

.l-header-n .btn-rev {
  margin-left: 2rem;
  margin-right: 70px;
  display: none;
}

@media only screen and (min-width: 768px) {
  .l-header-n .btn-rev {
    display: inherit;
  }
}

.l-header-n .btn-rev a {
  background: #1473CC;
  color: #FFFFFF;
  text-align: center;
  border-radius: 100px;
  padding: 15px 25px;
  font-size: clamp(1rem, 1.2vw, 1.8rem);
  -webkit-transition: .3s;
  transition: .3s;
  white-space: nowrap;
}

.l-header-n .btn-rev a:hover {
  background: #FFAA17;
}

.l-header-n .btn-rev a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  margin-left: 1rem;
}

@media only screen and (min-width: 768px) {
  .l-header-n.fixed {
    height: 100px;
  }
}

@media only screen and (min-width: 768px) {
  .l-header-n.fixed h1 {
    width: 22vw;
  }
}

.drawer-toggle.drawer-hamburger {
  display: block !important;
}

.mv .swiper-container {
  height: calc(100vh - 70px);
  margin-top: 70px;
  height: calc(100dvh - 70px);
  position: relative;
}

@media only screen and (min-width: 768px) {
  .mv .swiper-container {
    height: calc(100vh - 100px);
    margin-top: 100px;
    height: calc(100dvh - 100px);
  }
}

.mv .swiper-container .swiper-slide img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.mv .swiper-container .mv-catch {
  position: absolute;
  left: 30px;
  bottom: 150px;
  z-index: 99;
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  .mv .swiper-container .mv-catch {
    line-height: inherit;
    left: 100px;
    bottom: 200px;
  }
}

.mv .swiper-container .mv-catch::after {
  content: "";
  display: block;
  background: url(images/mv_icon.svg) center top/cover no-repeat;
  height: 35vw;
  width: 45vw;
  position: absolute;
  left: -40px;
  top: -42px;
  z-index: 0;
}

@media only screen and (min-width: 768px) {
  .mv .swiper-container .mv-catch::after {
    height: 13vw;
    width: 16vw;
    left: -50px;
    top: -40px;
  }
}

.mv .swiper-container .mv-catch .mv-tit {
  font-size: clamp(4rem, 5vw, 7rem);
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  color: #FFFFFF;
  text-shadow: #444 0 4px 10px;
  margin: 0 0 20px;
  position: relative;
  z-index: 10;
}

.mv .swiper-container .mv-catch .mv-txt {
  color: #FFFFFF;
  font-size: clamp(1.6rem, 1.5vw, 2rem);
  text-shadow: #444 0 4px 10px;
  z-index: 10;
  position: relative;
  padding-right: 20px;
}

@media only screen and (min-width: 768px) {
  .mv .swiper-container .mv-catch .mv-txt {
    padding: 0;
  }
}

.mv .swiper-container::after {
  content: "";
  display: block;
  background: url(images/wave02.svg) center bottom/cover repeat-x;
  position: absolute;
  width: 100%;
  height: 40px;
  z-index: 99;
  bottom: 0;
  left: 0;
}

@media only screen and (min-width: 768px) {
  .mv .swiper-container::after {
    background: url(images/wave02.svg) center bottom/contain repeat-x;
    height: 100px;
  }
}

section.news-top {
  position: relative;
  top: -100px;
  z-index: 99;
}

@media only screen and (min-width: 768px) {
  section.news-top {
    top: -120px;
  }
}

section.news-top::after {
  content: "";
  display: block;
  margin-top: -100px;
}

@media only screen and (min-width: 768px) {
  section.news-top::after {
    display: none;
  }
}

section.news-top a {
  display: block;
  background: #1473CC;
  color: #FFFFFF;
  max-width: 900px;
  margin: auto;
  border-radius: 100px;
  padding: 20px 30px;
  width: 90%;
  position: relative;
  -webkit-transition: .2s;
  transition: .2s;
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  section.news-top a {
    line-height: inherit;
  }
}

section.news-top a:hover {
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
}

section.news-top a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
  section.news-top a::after {
    display: none;
  }
}

@media only screen and (min-width: 768px) {
  section.news-top a {
    padding: 20px 0px;
  }
}

@media only screen and (min-width: 768px) {
  section.news-top .top-news-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

@media only screen and (min-width: 768px) {
  section.news-top .top-news-inner .date {
    border-right: 1px solid #FFFFFF;
    margin-right: 3rem;
    padding: 20px 3rem 20px 60px;
  }
}

@media only screen and (min-width: 768px) {
  section.news-top .top-news-inner h2 {
    padding: 20px 30px 20px 0px;
  }
}

section.news-top .top-news-inner .more {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: none;
  white-space: nowrap;
}

@media only screen and (min-width: 768px) {
  section.news-top .top-news-inner .more {
    padding: 20px 50px 20px 20px;
    margin-left: auto;
    display: inherit;
  }
}

section.news-top .top-news-inner .more::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  margin-left: 1rem;
  font-size: 1.8rem;
  line-height: 0;
}

.topics-top {
  margin: 50px 0 50px 30px;
}

@media only screen and (min-width: 768px) {
  .topics-top {
    margin: 0 0 150px 120px;
  }
}

.topics-top .btn-swiper-wrap {
  margin-top: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media only screen and (min-width: 768px) {
  .topics-top .btn-swiper-wrap {
    margin-top: 50px;
  }
}

.topics-top .btn-swiper-wrap .swiper-button-prev, .topics-top .btn-swiper-wrap .swiper-button-next {
  position: relative;
  top: unset;
  left: unset;
  right: unset;
  width: 50px;
  height: 50px;
  margin: 0 10px;
}

.topics-top .btn-swiper-wrap .swiper-button-prev::after, .topics-top .btn-swiper-wrap .swiper-button-next::after {
  background: #1473CC;
  color: #FFFFFF;
  width: 50px;
  height: 50px;
  border-radius: 100px;
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 15px !important;
}

.topics-top .topics-inner {
  margin-bottom: 50px;
}

.topics-top .swiper-slide a {
  display: block;
  border-radius: 20px;
  overflow: hidden;
  text-align: left;
}

.topics-top .swiper-slide .pic {
  margin-bottom: 20px;
}

.topics-top .swiper-slide .pic img {
  border-radius: 20px;
  height: auto !important;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 4 / 2.5;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

.topics-top .swiper-slide .date {
  font-size: 1.4rem;
}

.topics-top .swiper-slide a:hover {
  color: #000000;
}

.topics-top .swiper-slide h3 {
  font-size: clamp(1.4rem, 1.2vw, 1.5rem);
  line-height: 1.5;
}

.tit-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  margin: 0 0 20px;
}

.tit-wrap .en {
  font-size: clamp(5rem, 5vw, 6.5rem);
  color: #1473CC;
  margin-right: 2rem;
  font-weight: 700;
}

.tit-wrap h3 {
  position: relative;
  top: 15px;
}

@media only screen and (min-width: 768px) {
  .tit-wrap h3 {
    top: 10px;
  }
}

#top-pickup {
  position: relative;
  padding-top: 0;
  margin-top: 100px;
}

@media only screen and (min-width: 768px) {
  #top-pickup {
    padding-top: 0;
    margin-top: 0;
    background: url(images/bg_sea.png) center bottom no-repeat #1473CC;
  }
}

@media only screen and (min-width: 768px) {
  #top-pickup::after {
    content: "";
    display: block;
    background: url(images/wave05.svg) center bottom/cover repeat-x;
    position: absolute;
    width: 100%;
    height: 40px;
    z-index: 0;
    bottom: -40px;
    left: 0;
  }
}

#top-pickup .icon-umi {
  position: absolute;
  top: -60px;
  right: -10px;
  width: 200px;
}

@media only screen and (min-width: 768px) {
  #top-pickup .icon-umi {
    width: 400px;
    top: -150px;
  }
}

#top-pickup .tit-base-mid {
  padding-top: 80px;
}

@media only screen and (min-width: 768px) {
  #top-pickup .tit-base-mid {
    padding-top: 150px;
  }
}

#top-pickup .pg-wrap {
  max-width: 1100px;
  background: #FFFFFF;
  padding: 50px 30px 20px;
  border-radius: 50px;
  margin: 30px auto 20px;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  #top-pickup .pg-wrap {
    margin: 60px auto 20px;
    padding: 80px;
  }
}

@media only screen and (min-width: 768px) {
  #top-pickup .pg-wrap .pg-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-flow: wrap;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
  }
}

#top-pickup .pg-wrap .pg-content li {
  position: relative;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 2 / .71;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
  border-radius: 20px;
  overflow: hidden;
  margin: 0 0 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 20px;
}

@media only screen and (min-width: 768px) {
  #top-pickup .pg-wrap .pg-content li {
    width: 49%;
    padding: 0 40px;
  }
}

#top-pickup .pg-wrap .pg-content li .pg-img {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

#top-pickup .label-wrap {
  position: relative;
  z-index: 10;
  color: #FFFFFF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

#top-pickup .label-wrap h5 {
  font-size: clamp(2rem, 2vw, 2.7rem);
  line-height: 1.3;
}

#top-pickup .label-wrap .icon-l img {
  width: 80%;
}

@media only screen and (min-width: 768px) {
  #top-pickup .label-wrap .icon-l img {
    width: auto;
  }
}

@media only screen and (min-width: 768px) {
  #top-pickup .label-wrap .icon-l {
    width: auto;
  }
}

@media only screen and (min-width: 768px) {
  #top-pickup .label-wrap .pg-tit {
    margin-left: 2rem;
  }
}

#top-pickup .pg-column {
  max-width: 1100px;
  margin: auto;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  #top-pickup .pg-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-flow: wrap;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
  }
}

#top-pickup .pg-column .pic {
  margin: 20px 0 0;
}

#top-pickup .pg-column-box {
  background: #FFFFFF;
  border-radius: 30px;
  padding: 50px 30px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  #top-pickup .pg-column-box {
    width: 49%;
    padding: 50px;
  }
}

#top-pickup .pg-column .link-pg {
  margin-bottom: 0;
}

#top-pickup .pg-column .link-pg h5 {
  font-size: clamp(2rem, 2.5vw, 3.2rem);
  margin-bottom: 30px;
  position: relative;
}

#top-pickup .pg-column .link-pg h5::after {
  content: "";
  display: block;
  background: url(images/arrow_b.svg) center top/cover no-repeat;
  height: 10vw;
  width: 10vw;
  max-width: 45.5px;
  max-height: 46px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  -webkit-transition: .1s;
  transition: .1s;
}

@media only screen and (min-width: 768px) {
  #top-pickup .pg-column .link-pg h5::after {
    height: 4vw;
    width: 4vw;
  }
}

#top-pickup .pg-column .link-pg::after {
  display: none;
}

#top-pickup .pg-column .link-pg:hover h5::after {
  right: -5px;
}

.wide-view {
  position: relative;
  z-index: 1;
}

.wide-view::after {
  content: "";
  display: block;
  background: url(images/wave02.svg) center bottom/cover repeat-x;
  position: absolute;
  width: 100%;
  height: 70px;
  z-index: 99;
  bottom: -50px;
  left: 0;
}

@media only screen and (min-width: 768px) {
  .wide-view::after {
    background: url(images/wave02.svg) center bottom/contain repeat-x;
    height: 100px;
    bottom: 0;
  }
}

.wide-view::before {
  content: "";
  display: block;
  background: url(images/wave01.svg) center top/cover repeat-x;
  position: absolute;
  width: 100%;
  height: 25px;
  z-index: 99;
  top: -10px;
  left: 0;
}

@media only screen and (min-width: 768px) {
  .wide-view::before {
    background: url(images/wave01.svg) center top/contain repeat-x;
    height: 100px;
    top: 0;
  }
}

.wide-view.wide-entry {
  margin: 100px 0 0;
}

.wide-view.wide-entry::after {
  display: none;
}

.about-top {
  width: 90%;
  max-width: 1200px;
  position: relative;
  z-index: 10;
  margin: 10px auto;
}

@media only screen and (min-width: 768px) {
  .about-top {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 100px auto 200px;
  }
}

@media only screen and (min-width: 768px) {
  .about-top .about-inner {
    width: 45%;
    margin-left: 50px;
    padding-right: 80px;
  }
}

.about-top .about-inner .catch-en {
  position: relative;
  top: 0;
  width: 60vw;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .about-top .about-inner .catch-en {
    width: 25vw;
    position: relative;
    left: -30px;
    margin-bottom: 0;
  }
}

.about-top .about-inner h4 {
  font-size: clamp(2.5rem, 3vw, 3.5rem);
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  color: #1473CC;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 20px;
  white-space: nowrap;
}

@media only screen and (min-width: 768px) {
  .about-top .about-inner h4 {
    margin-bottom: 40px;
  }
}

.about-top .about-pic {
  position: relative;
  left: 5px;
}

@media only screen and (min-width: 768px) {
  .about-top .about-pic {
    width: 50%;
    margin-left: 50px;
    left: unset;
  }
}

.about-top .btn-more {
  margin-top: 20px;
}

@media only screen and (min-width: 768px) {
  .about-top .btn-more {
    text-align: left;
    margin-top: 30px;
  }
}

.tit-base-mid {
  font-size: clamp(2.5rem, 2.7vw, 3.3rem);
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
}

.sub-en {
  text-align: center;
}

.link-pg {
  display: block;
  margin-bottom: 30px;
  position: relative;
}

@media only screen and (min-width: 768px) {
  .link-pg {
    margin-bottom: 50px;
  }
}

@media only screen and (min-width: 768px) {
  .link-pg::after {
    content: "";
    display: block;
    background: url(images/arrow_b.svg) center top/cover no-repeat;
    height: 4vw;
    width: 4vw;
    max-width: 60px;
    max-height: 60px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0;
    -webkit-transition: .1s;
    transition: .1s;
  }
}

.link-pg:hover {
  color: #000000;
}

.link-pg:hover::after {
  right: -5px;
}

.link-pg h5 {
  font-size: clamp(2rem, 3vw, 4rem);
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  color: #1473CC;
  font-weight: 600;
  margin-bottom: 10px;
  position: relative;
}

.link-pg h5::after {
  content: "";
  display: block;
  background: url(images/arrow_b.svg) center top/cover no-repeat;
  height: 9.2vw;
  width: 9.2vw;
  max-width: 60px;
  max-height: 60px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  -webkit-transition: .1s;
  transition: .1s;
}

@media only screen and (min-width: 768px) {
  .link-pg h5::after {
    display: none;
  }
}

.tit-news-wrap {
  position: relative;
  text-align: center;
  margin: 0 0 30px;
}

@media only screen and (min-width: 768px) {
  .tit-news-wrap {
    margin: 0 0 60px;
  }
}

.tit-news-wrap h3 {
  font-size: clamp(2.5rem, 2.5vw, 3.5rem);
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
}

.tit-news-wrap .btn-more {
  position: absolute;
  right: 0;
  top: 30px;
}

.list-info-n {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.list-info-n > div {
  width: 30%;
}

.list-info-n .list-info__main {
  width: 100%;
}

.list-info-n .list-info__main a {
  display: block;
  line-height: 1.5;
}

.list-info-n .list-info__main dl {
  margin: 10px 0 0;
}

.list-info-n .list-info__main dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.list-info-n .list-info__main dt ul {
  margin-left: 1rem;
}

.list-info-n .thumbnail {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 2 / 1.3;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

.section--info-row {
  position: relative;
  padding-top: 50px;
}

@media only screen and (min-width: 768px) {
  .section--info-row {
    padding-top: 100px;
  }
}

.icon-umi02 {
  position: absolute;
  left: 20px;
  top: -130px;
  width: 200px;
  z-index: 99;
}

@media only screen and (min-width: 768px) {
  .icon-umi02 {
    width: 350px;
    left: -100px;
    top: -180px;
  }
}

.bnr-news-wrap {
  margin: 70px auto 120px;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  .bnr-news-wrap {
    width: 90%;
  }
}

@media only screen and (min-width: 768px) {
  .bnr-news-wrap ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.bnr-news-wrap ul li {
  list-style: none;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .bnr-news-wrap ul li {
    margin-bottom: 0;
  }
}

.about-content {
  background: #f2f2f2;
  max-width: 1100px;
  width: 90%;
  margin: 80px auto 0;
  border-radius: 40px;
  padding: 30px;
}

@media only screen and (min-width: 768px) {
  .about-content {
    padding: 80px;
  }
}

@media only screen and (min-width: 768px) {
  .about-content .about-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.about-content .about-inner h4 {
  font-size: 6vw;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  line-height: 1.3;
  font-weight: 500;
  margin-bottom: 20px;
  margin-top: 20px;
}

@media only screen and (min-width: 768px) {
  .about-content .about-inner h4 {
    margin-top: 0;
    font-size: clamp(2.2rem, 2vw, 3rem);
  }
}

.about-content .about-inner .add {
  margin: 0px 0 30px;
}

@media only screen and (min-width: 768px) {
  .about-content .about-inner .add {
    margin: 0px 0 50px;
  }
}

.about-content .about-inner .time-dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 0 0 20px;
}

.about-content .about-inner .time-dl dt {
  background: #1473CC;
  color: #FFFFFF;
  width: 110px;
  border-radius: 100px;
  text-align: center;
  margin-right: 1.5rem;
}

.about-content .about-inner .time-dl dd {
  width: 100%;
}

.about-content .about-inner .time-dl dd span {
  color: #1473CC;
  font-size: 7vw;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  line-height: .7;
}

@media only screen and (min-width: 768px) {
  .about-content .about-inner .time-dl dd span {
    font-size: clamp(2.2rem, 2.2vw, 2.7rem);
  }
}

@media only screen and (min-width: 768px) {
  .about-content .about-l {
    width: 47%;
  }
}

@media only screen and (min-width: 768px) {
  .about-content .about-r {
    width: 47%;
  }
}

.about-content .other {
  background: #FFFFFF;
  border-radius: 10px;
  padding: 30px 30px;
  margin: 30px 0 30px;
}

@media only screen and (min-width: 768px) {
  .about-content .other {
    padding: 30px 70px;
    margin: 30px 0 50px;
  }
}

@media only screen and (min-width: 768px) {
  .about-content .other dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

.about-content .other dl dt {
  border-bottom: 1px solid #1473CC;
  text-align: center;
  padding: 0 0 10px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .about-content .other dl dt {
    border-right: 1px solid #1473CC;
    padding-right: 6vw;
    margin-right: 6vw;
    padding-top: 10px;
    white-space: nowrap;
    border-bottom: none;
    text-align: left;
    margin-bottom: 0;
  }
}

.about-content .other dl dd ul {
  padding-left: 10px;
  color: blue;
}

@media only screen and (min-width: 768px) {
  .about-content .other dl dd ul {
    padding-left: 0;
  }
}

.about-content .other dl dd ul li {
  list-style-position: inline;
}

.about-content .other dl dd ul li span {
  color: #000000;
}

.about-content .about-bnr ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
}

.about-content .about-bnr ul li {
  list-style: none;
  width: 48%;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .about-content .about-bnr ul li {
    width: 15.5%;
    margin-bottom: 0;
  }
}

.copyright {
  background: #1473CC;
}

.post-type-archive-activity .l-footer-n {
  margin-top: 0;
}

.l-footer-n {
  background: #1473CC;
  color: #FFFFFF;
  margin: 100px 0 0;
}

.l-footer-n a {
  color: #FFFFFF;
}

.l-footer-n .footer-inner-n {
  max-width: 1200px;
  padding: 70px 0;
  width: 90%;
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media only screen and (min-width: 768px) {
  .l-footer-n .footer-inner-n {
    padding: 100px 0;
  }
}

@media only screen and (min-width: 768px) {
  .l-footer-n .footer-inner-n .footer-l {
    width: 35%;
  }
}

.l-footer-n .footer-inner-n .footer-r {
  width: 50%;
  margin-left: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: none;
}

@media only screen and (min-width: 768px) {
  .l-footer-n .footer-inner-n .footer-r {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

.l-footer-n .footer-inner-n .footer-r .link-block {
  margin-bottom: 15px;
}

.l-footer-n .footer-inner-n .footer-r .link-block .link-tit {
  font-size: clamp(1rem, 1.4vw, 1.8rem);
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  margin: 0 0 10px;
}

.l-footer-n .footer-inner-n .footer-r .link-block ul {
  margin-left: 20px;
}

.l-footer-n .footer-inner-n .footer-r .link-block ul li {
  list-style: none;
  margin-bottom: 10px;
}

.l-footer-n .footer-inner-n .footer-r .link-block ul li::before {
  content: "-";
  display: inline-block;
  margin-right: 1.5rem;
}

.l-footer-n .footer-inner-n .logo-f {
  margin-bottom: 50px;
}

.l-footer-n .footer-inner-n .add {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 20px;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.l-footer-n .footer-inner-n .add a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  margin-left: 1rem;
}

.l-footer-n .footer-inner-n .time {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 15px;
}

.l-footer-n .footer-inner-n .time dt {
  border: 1px solid #FFFFFF;
  width: 100px;
  text-align: center;
  border-radius: 100px;
  margin-right: 2rem;
  font-size: clamp(1.3rem, 1.3vw, 1.5rem);
}

.l-footer-n .footer-inner-n .time dd {
  width: 100%;
}

.l-footer-n .sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 50px 0 0;
}

.l-footer-n .sns .sns-l {
  width: 70%;
}

@media only screen and (min-width: 768px) {
  .l-footer-n .sns .sns-l {
    width: 65%;
  }
}

.l-footer-n .sns .sns-r {
  width: 23%;
}

@media only screen and (min-width: 768px) {
  .l-footer-n .sns .sns-r {
    width: 25%;
  }
}

.l-footer-n .sns ul {
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.l-footer-n .sns ul li {
  margin-right: 10px;
  font-size: 2.5rem;
}

.l-footer-n .sns .btn-rev a {
  display: block;
  background: #FFFFFF;
  color: #1473CC;
  text-align: center;
  font-weight: 600;
  border-radius: 100px;
  padding: 13px;
  font-size: 3.7vw;
  -webkit-transition: .2s;
  transition: .2s;
  white-space: nowrap;
}

@media only screen and (min-width: 768px) {
  .l-footer-n .sns .btn-rev a {
    font-size: clamp(1rem, 1.5vw, 1.7rem);
  }
}

.l-footer-n .sns .btn-rev a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  margin-left: 1rem;
}

.l-footer-n .sns .btn-rev a:hover {
  background: #FFAA17;
}

/* ----------------------------------

セカンド

---------------------------------- */
main#container {
  margin-top: 70px;
}

@media only screen and (min-width: 768px) {
  main#container {
    margin-top: 100px;
  }
}

.btn-w a {
  background: #FFFFFF;
  color: #1473CC;
  font-size: clamp(1.4rem, 1.4vw, 1.7rem);
  border-radius: 100px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.btn-w a::after {
  color: #1473CC;
}

.tit-sec {
  background: url(images/tit_about_sp.jpg) center bottom/cover no-repeat;
  position: relative;
  padding: 40vw 0 40vw 0;
}

@media only screen and (min-width: 768px) {
  .tit-sec {
    background: url(images/tit_about.jpg) center bottom/cover no-repeat;
    padding: 6vw 10vw 18vw;
  }
}

.tit-sec h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-size: clamp(3rem, 3.5vw, 4.5rem);
  line-height: 1;
  color: #FFFFFF;
  text-shadow: #444 0 4px 10px;
  position: relative;
  font-weight: 500;
  top: 10vw;
  margin-left: 30px;
}

@media only screen and (min-width: 768px) {
  .tit-sec h2 {
    top: 4vw;
    margin-left: 0;
  }
}

.tit-sec h2 span {
  position: relative;
  z-index: 2;
}

.tit-sec h2::after {
  content: "";
  display: block;
  background: url(images/mv_icon.svg) center top/cover no-repeat;
  position: absolute;
  height: 30vw;
  width: 37vw;
  z-index: 0;
  top: -45px;
  left: -45px;
}

@media only screen and (min-width: 768px) {
  .tit-sec h2::after {
    left: -50px;
    top: -60px;
    height: 9.5vw;
    width: 12vw;
  }
}

.tit-sec::after {
  content: "";
  display: block;
  background: url(images/wave02.svg) center bottom/cover repeat-x;
  position: absolute;
  width: 100%;
  height: 70px;
  z-index: 99;
  bottom: -20px;
  left: 0;
  z-index: 1;
}

@media only screen and (min-width: 768px) {
  .tit-sec::after {
    background: url(images/wave02.svg) center bottom/contain repeat-x;
    height: 70px;
    bottom: 0;
  }
}

.c-breadcrumb {
  max-width: 1200px;
  margin: auto;
  width: 95%;
  position: relative;
  z-index: 2;
}

.tit-se-block {
  text-align: center;
  color: #FFFFFF;
}

.tit-se-block h4 {
  font-size: clamp(2.5rem, 2.5vw, 3.5rem);
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4;
  margin: 10px 0;
}

@media only screen and (min-width: 768px) {
  .tit-se-block h4 {
    line-height: inherit;
    margin: 0;
  }
}

.tit-se-block.tit-blue {
  color: #1473CC;
}

section.relax {
  background: #1473CC;
  padding: 100px 0;
}

section.relax p.txt-block {
  color: #fff;
}

/* ----------------------------------

施設について

---------------------------------- */
.about01 .about-point, .about03 .about-point {
  color: #FFFFFF;
}

.about01 .about-point dd::before, .about03 .about-point dd::before {
  background: #FFFFFF;
}

.about01 .about-point dd::after, .about03 .about-point dd::after {
  background: #FFFFFF;
}

.about01 .about-exp dt, .about03 .about-exp dt {
  color: #FFFFFF;
}

.about01 .about-exp dd, .about03 .about-exp dd {
  color: #FFFFFF;
}

@media only screen and (min-width: 768px) {
  .about01, .about02 {
    padding-bottom: 30px;
  }
}

.about02 {
  position: relative;
  top: -50px;
}

@media only screen and (min-width: 768px) {
  .about02 {
    top: unset;
  }
}

.wave-mid .wave-sec-inner {
  padding-bottom: 0;
}

@media only screen and (min-width: 768px) {
  .wave-mid .wave-sec-inner {
    padding-bottom: 50px;
  }
}

.page-about .wave-sec {
  background: none;
  position: relative;
  margin: 0;
  padding: 0;
}

.page-about .wave-sec::before {
  background: url(images/wave02.svg) center top/cover repeat-x;
  position: relative;
  height: 70px;
  display: block;
  content: "";
  width: 100%;
  z-index: 99;
  top: -40px;
  left: 0;
}

@media only screen and (min-width: 768px) {
  .page-about .wave-sec::before {
    background: url(images/wave02.svg) center top/cover repeat-x;
    height: 80px;
  }
}

.page-about .wave-sec::after {
  background: url(images/wave03.svg) center bottom/cover repeat-x;
  position: relative;
  height: 40px;
  display: block;
  content: "";
  width: 100%;
  z-index: 99;
  left: 0;
}

@media only screen and (min-width: 768px) {
  .page-about .wave-sec::after {
    background: url(images/wave03.svg) center bottom/cover repeat-x;
    height: 45px;
  }
}

.page-about .wave-sec-inner {
  background: none;
}

@media only screen and (min-width: 768px) {
  .wave-sec .about-txt {
    background: url(images/cl_blue.png) center 30px no-repeat;
  }
}

.patt-bl .about-point {
  color: #1473CC;
}

.patt-bl .about-point dd::before {
  background: #1473CC;
}

.patt-bl .about-point dd::after {
  background: #1473CC;
}

.patt-bl .about-exp dt {
  color: #1473CC;
}

.patt-bl .about-exp dd {
  color: #1473CC;
}

.bg-blue-wide {
  background: #1473CC;
  padding: 30px 0 30px;
}

@media only screen and (min-width: 768px) {
  .bg-blue-wide {
    padding: 70px 0 100px;
  }
}

.about03 {
  padding-bottom: 40px;
}

.about04 {
  padding: 50px 0;
}

.about04.wave-sec::after {
  display: none;
}

section.location {
  background: #1473CC;
  padding: 70px 0;
  margin: 70px 0;
}

@media only screen and (min-width: 768px) {
  section.location {
    padding: 100px 0;
    margin: 150px 0;
  }
}

section.location .location-inner {
  max-width: 1200px;
  margin: auto;
  width: 90%;
}

section.location .location-inner .location-column {
  margin: 50px 0 0;
  color: #FFFFFF;
}

@media only screen and (min-width: 768px) {
  section.location .location-inner .location-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

section.location .location-inner .location-column .location-l {
  position: relative;
}

@media only screen and (min-width: 768px) {
  section.location .location-inner .location-column .location-l {
    width: 48%;
  }
}

section.location .location-inner .location-column .location-l .geo {
  position: absolute;
  top: -50px;
}

@media only screen and (min-width: 768px) {
  section.location .location-inner .location-column .location-l .geo {
    left: -50px;
    top: -80px;
  }
}

section.location .location-inner .location-column .location-l .geo img {
  width: 80px;
}

@media only screen and (min-width: 768px) {
  section.location .location-inner .location-column .location-l .geo img {
    width: 80%;
  }
}

section.location .location-inner .location-column .location-r {
  margin-top: 20px;
}

@media only screen and (min-width: 768px) {
  section.location .location-inner .location-column .location-r {
    width: 48%;
    margin-top: 0;
  }
}

section.location .location-inner .location-column h4 {
  font-size: clamp(2.2rem, 2.9vw, 3.4rem);
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  line-height: 1.5;
  margin-bottom: 20px;
  font-weight: 500;
}

@media only screen and (min-width: 768px) {
  section.location .location-inner .location-column h4 {
    margin-bottom: 50px;
  }
}

section.location .btn-more {
  margin-top: 20px;
}

@media only screen and (min-width: 768px) {
  section.location .btn-more {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 30px;
  }
}

section.location .btn-more a {
  background: #FFFFFF;
  color: #1473CC;
}

section.location .btn-more a::after {
  color: #1473CC;
}

section.location .btn-more a:hover {
  background: #FFAA17;
}

.facilities .tit-se-block {
  color: #1473CC;
}

.facilities .txt-faci {
  margin: 50px auto;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  .facilities .txt-faci {
    text-align: center;
    line-height: 2.5;
  }
}

.faci-slider {
  max-width: 1200px;
  margin: auto;
}

.map-kannai {
  max-width: 1200px;
  margin: 80px auto 70px;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  .map-kannai {
    margin: 80px auto 150px;
  }
}

.bnr-mv {
  max-width: 800px;
  margin: 50px auto 0;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  .bnr-mv {
    margin: 100px auto 0;
  }
}

/* ----------------------------------

楽しみ方

---------------------------------- */
#program-slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

#program-slider .swiper-wrapper .swiper-slide {
  border-radius: 42px;
}

@media only screen and (min-width: 768px) {
  #program-slider .swiper-wrapper .swiper-slide {
    border-radius: 50px;
  }
}

#program-slider .swiper-wrapper .swiper-slide img {
  border-radius: 42px;
}

@media only screen and (min-width: 768px) {
  #program-slider .swiper-wrapper .swiper-slide img {
    border-radius: 50px;
  }
}

.enjoy-wrap {
  background: url(images/about_sp.jpg) center top/cover no-repeat;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
  position: relative;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 1 / 1.5;
  width: 100%;
  height: auto;
  transition: .5s;
}

@media only screen and (min-width: 768px) {
  .enjoy-wrap {
    background: url(images/about.jpg) center top/cover no-repeat;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    aspect-ratio: 1 / .5;
    padding-top: 2vw;
  }
}

.enjoy-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 150px;
  /* 修正：色の順番を逆にしました */
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(transparent));
  background: linear-gradient(#fff, transparent);
}

.enjoy-wrap::after {
  content: "";
  display: block;
  background: url(images/wave03.svg) center bottom/contain repeat-x;
  width: 100%;
  height: 80px;
  left: 0;
  bottom: 0;
  position: absolute;
}

.enjoy-wrap h3 {
  position: relative;
  z-index: 10;
  text-align: center;
  font-size: clamp(2.5rem, 4vw, 4.5rem);
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  color: #1473CC;
  font-weight: 600;
  line-height: 1.6;
  white-space: nowrap;
  margin: 20px 0 0;
}

@media only screen and (min-width: 768px) {
  .enjoy-wrap h3 {
    margin: 0;
  }
}

.enjoy-wrap p.txt {
  font-size: clamp(1.4rem, 1.5vw, 1.7rem);
  margin: 20px auto 0;
  width: 90%;
  position: relative;
  z-index: 2;
}

@media only screen and (min-width: 768px) {
  .enjoy-wrap p.txt {
    text-align: center;
    line-height: 3;
    margin: 50px auto 0;
  }
}

.link-nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 1100px;
  margin: auto;
  position: relative;
  top: -100px;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media only screen and (min-width: 768px) {
  .link-nav {
    top: -100px;
    width: 90%;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-flow: nowrap;
    -ms-flex-flow: nowrap;
    flex-flow: nowrap;
  }
}

@media only screen and (min-width: 1025px) {
  .link-nav {
    top: -150px;
  }
}

.link-nav::after {
  content: "";
  display: block;
  margin-top: -150px;
}

@media only screen and (min-width: 768px) {
  .link-nav::after {
    margin-top: -100px;
  }
}

@media only screen and (min-width: 1025px) {
  .link-nav::after {
    margin-top: -150px;
  }
}

.link-nav a {
  display: block;
  background: #fff;
  width: 42vw;
  height: 42vw;
  border-radius: 200px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  text-align: center;
  font-size: clamp(1.3rem, 1.5vw, 2rem);
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  color: #1473CC;
  -webkit-transition: .2s;
  transition: .2s;
  margin: 0 2vw 3vw;
}

@media only screen and (min-width: 768px) {
  .link-nav a {
    margin: 0;
  }
}

.link-nav a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f107";
  position: relative;
}

@media only screen and (min-width: 768px) {
  .link-nav a::after {
    top: 20px;
    margin: 0;
  }
}

@media only screen and (min-width: 768px) {
  .link-nav a {
    min-height: 180px;
    min-width: 180px;
    width: 17vw;
    height: 17vw;
    max-width: 250px;
    max-height: 250px;
  }
}

.link-nav a:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.link-nav a .icon {
  display: block;
  margin-bottom: 10px;
}

.link-nav a .icon img {
  width: 80%;
}

@media only screen and (min-width: 768px) {
  .link-nav a .icon img {
    width: auto;
  }
}

.link-nav a .txt {
  position: relative;
  top: -10px;
}

@media only screen and (min-width: 768px) {
  .link-nav a .txt {
    top: unset;
  }
}

.link-nav.link-about {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
}

.link-nav.link-about a {
  margin: 0 2vw;
}

@media only screen and (min-width: 768px) {
  .link-nav.link-about a {
    margin: 0 20px;
  }
}

.link-nav.link-about a:nth-child(1) .icon img {
  position: relative;
  top: -5px;
}

@media only screen and (min-width: 768px) {
  .link-nav.link-about a:nth-child(1) .icon img {
    top: 10px;
  }
}

.link-nav.link-about a:nth-child(1) .txt {
  top: 0;
}

@media only screen and (min-width: 768px) {
  .link-nav.link-about a:nth-child(1) .txt {
    top: -10px;
  }
}

.link-nav.link-about a:nth-child(3) .icon img {
  position: relative;
  top: -10px;
}

.txt-block {
  width: 90%;
  margin: 20px auto 30px;
}

@media only screen and (min-width: 768px) {
  .txt-block {
    text-align: center;
    line-height: 3;
    margin: 50px auto 70px;
  }
}

section.program {
  background: #1473CC;
  color: #FFFFFF;
  padding-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  section.program {
    padding-bottom: 100px;
  }
}

section.program .btn-more {
  margin: 50px 0;
}

section.view-enjoy {
  padding: 100px 0;
  max-width: 1100px;
  margin: auto;
}

/* PC */
@media (min-width: 768px) {
  #card-slider .swiper-wrapper, #card-slider02 .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
  #card-slider .swiper-slide, #card-slider02 .swiper-slide {
    width: auto !important;
  }
  #card-slider02 .swiper-wrapper {
    max-width: 1100px;
    margin: auto;
  }
}

.card-white .card-box {
  background: #FFFFFF;
  border-radius: 30px;
  color: #1473CC;
}

.card-white .card-box dd {
  color: #000000;
}

.card-white .card-box .btn-more a {
  background: #1473CC;
  color: #FFFFFF;
}

.card-white .swiper-slide {
  background: transparent;
}

.card-box {
  background: #1473CC;
  border-radius: 30px;
  padding: 30px;
  color: #FFFFFF;
}

.card-box dl {
  margin: 20px 0 0;
}

.card-box dl dt {
  font-size: clamp(1.7rem, 1.6vw, 1.9rem);
  margin-bottom: 10px;
  font-weight: 600;
}

.card-box dl dd {
  font-size: clamp(1.4rem, 1.3vw, 1.5rem);
  line-height: 1.5;
  text-align: left;
}

.card-box .btn-more {
  margin-top: 20px;
}

.card-box .btn-more a {
  background: #FFFFFF;
  color: #1473CC;
  font-size: clamp(1rem, 1.3vw, 1.5rem);
}

.card-box .btn-more a::after {
  color: #1473CC;
}

.card-box .btn-more a:hover {
  background: #FFAA17;
}

.card-box .pic img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 4 / 3;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
  border-radius: 20px;
}

section.facility {
  padding: 80px 0 0;
}

@media only screen and (min-width: 768px) {
  section.facility {
    padding: 100px 0;
  }
}

section.facility .tit-se-block {
  color: #1473CC;
}

section.facility .link-model {
  max-width: 800px;
  margin: auto;
  width: 90%;
}

section.first {
  background: #1473CC;
  border-radius: 50px;
  max-width: 1000px;
  margin: 40px auto 80px;
  width: 90%;
  padding: 30px;
}

@media only screen and (min-width: 768px) {
  section.first {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 50px 60px;
    margin: 80px auto 100px;
  }
}

section.first .icon-first img {
  width: 80%;
}

@media only screen and (min-width: 768px) {
  section.first .icon-first img {
    width: auto;
  }
}

section.first .first-l {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  color: #FFFFFF;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-size: clamp(1.5rem, 1.5vw, 2rem);
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  section.first .first-l {
    width: 28%;
  }
}

section.first .first-l span {
  font-size: clamp(2.2rem, 2.2vw, 2.7rem);
}

@media only screen and (min-width: 768px) {
  section.first .first-inner {
    width: 60%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: auto;
  }
}

@media only screen and (min-width: 768px) {
  section.first .first-m, section.first .first-r {
    width: 48%;
  }
}

section.first .first-m a, section.first .first-r a {
  display: block;
  background: #FFFFFF;
  border-radius: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  padding: 30px 10px;
  line-height: 1.3;
  font-size: clamp(1.5rem, 1.4vw, 1.7rem);
  font-weight: 700;
  color: #1473CC;
  -webkit-transition: .2s;
  transition: .2s;
}

@media only screen and (min-width: 768px) {
  section.first .first-m a, section.first .first-r a {
    padding: 35px 20px;
  }
}

section.first .first-m a .icon-search, section.first .first-r a .icon-search {
  margin-bottom: 15px;
}

section.first .first-m a .icon-search img, section.first .first-r a .icon-search img {
  width: 70%;
}

@media only screen and (min-width: 768px) {
  section.first .first-m a .icon-search img, section.first .first-r a .icon-search img {
    width: auto;
  }
}

section.first .first-m a:hover, section.first .first-r a:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

section.first .first-m {
  margin: 20px 0;
}

@media only screen and (min-width: 768px) {
  section.first .first-m {
    margin: 0;
  }
}

.activity-list {
  max-width: 1100px;
  margin: 50px auto 0;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  .activity-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-flow: wrap;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
    margin: 100px auto 0;
  }
}

.activity-list::after {
  content: "";
  display: block;
  width: 31.5%;
}

.activity-list > div {
  margin-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  .activity-list > div {
    width: 31.5%;
  }
}

.activity-list > div.number-one {
  position: relative;
}

.activity-list > div.number-one::after {
  content: "";
  display: block;
  background: url(images/no01.png) center top/cover no-repeat;
  height: 90px;
  width: 90px;
  position: absolute;
  right: -10px;
  top: -30px;
}

@media only screen and (min-width: 768px) {
  .activity-list > div.number-one::after {
    height: 120px;
    width: 120px;
    right: -30px;
  }
}

.activity-list > div a {
  display: block;
  border: 3px solid #1473CC;
  border-radius: 30px;
  padding: 20px;
  -webkit-transition: .2s;
  transition: .2s;
}

.activity-list > div a:hover {
  color: #000000;
  -webkit-transform: scale(1.02);
  transform: scale(1.02);
}

.activity-list > div a:hover .read-wrap::after {
  right: -7px;
}

.activity-list > div a .pic img {
  border-radius: 20px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 1 / .6;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

.activity-list > div a .pic img:hover {
  opacity: 1;
}

.activity-list > div a .read-wrap {
  color: #1473CC;
  margin: 20px 0 0;
  position: relative;
}

.activity-list > div a .read-wrap .read {
  font-weight: 600;
  font-size: 3.5vw;
}

@media only screen and (min-width: 768px) {
  .activity-list > div a .read-wrap .read {
    font-size: clamp(1rem, 1.1vw, 1.4rem);
  }
}

.activity-list > div a .read-wrap::after {
  content: "";
  display: block;
  background: url(images/arrow_b.svg) center top/cover no-repeat;
  height: 30px;
  width: 30px;
  position: absolute;
  top: 25px;
  right: 0;
  -webkit-transition: .2s;
  transition: .2s;
}

.activity-list > div a h3 {
  font-size: 6vw;
  line-height: 1.3;
  padding-right: 50px;
}

@media only screen and (min-width: 768px) {
  .activity-list > div a h3 {
    font-size: clamp(1rem, 1.7vw, 2.3rem);
  }
}

.wide-footer {
  position: relative;
  margin: 100px 0 0;
}

.wide-footer::before {
  content: "";
  display: block;
  background: url(images/wave01.svg) center top/contain repeat-x;
  position: absolute;
  width: 100%;
  height: 100px;
  z-index: 99;
  top: 0;
  left: 0;
}

.box-line {
  margin: 20px 0 0;
  white-space: nowrap;
}

.box-line dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  margin-bottom: 10px;
}

.box-line dl dt {
  width: 50px;
}

.box-line dl dd {
  width: 100%;
  border-left: 1px solid #000;
  padding-left: 10px;
  white-space: break-spaces !important;
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  .box-line dl dd {
    line-height: 1.2;
  }
}

.box-line dl:nth-child(1)::before {
  content: "";
  display: block;
  background: url(images/user-group.svg) center top/cover no-repeat;
  height: 15px;
  width: 25px;
  margin-right: 11px;
}

.box-line dl:nth-child(2)::before {
  content: "";
  display: block;
  background: url(images/clock.svg) center top/cover no-repeat;
  height: 15px;
  width: 19px;
  margin-right: 15px;
}

.box-line dl:nth-child(3)::before {
  content: "";
  display: block;
  background: url(images/yen-sign.svg) center top/cover no-repeat;
  height: 16px;
  width: 14px;
  margin-right: 16px;
  margin-left: 3px;
}

/* ----------------------------------

support

---------------------------------- */
.support-up {
  text-align: center;
  margin: 80px auto;
  width: 90%;
}

.support-up .txt-up {
  font-size: clamp(1.7rem, 1.5vw, 2rem);
  font-weight: 600;
}

.support-up dl {
  margin: 100px 0 0;
}

.support-up dl dt {
  font-size: clamp(1.6rem, 1.5vw, 1.7rem);
  font-weight: 600;
  color: #1473CC;
}

.support-up dl dd {
  max-width: 300px;
  margin: 20px auto;
}

.support-up dl dd a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 5vw;
  padding: 30px;
  border-radius: 100px;
}

@media only screen and (min-width: 768px) {
  .support-up dl dd a {
    font-size: clamp(1.5rem, 1.6vw, 1.9rem);
  }
}

.support-up dl dd a::before {
  content: "";
  display: block;
  background: url(images/circle-question.svg) center top/cover no-repeat;
  height: 20px;
  width: 20px;
  margin-right: .5rem;
}

.support-up.support-w dl {
  margin-top: 50px;
}

.support-up.support-w dl dt {
  color: #FFFFFF;
}

.support-up.support-w .btn-more a {
  background: #FFFFFF;
  color: #1473CC;
}

.support-up.support-w .btn-more a::before {
  background: url(images/circle-question_b.svg) center top/cover no-repeat;
}

.support-up.support-w .btn-more a::after {
  color: #1473CC;
}

.support-cont {
  background: #f2f2f2;
  border-radius: 50px;
  max-width: 1000px;
  width: 90%;
  margin: 0 auto 50px;
  padding: 40px 20px;
}

@media only screen and (min-width: 768px) {
  .support-cont {
    padding: 60px 80px;
  }
}

.support-cont h3 {
  font-size: clamp(2.3rem, 2.5vw, 3.5rem);
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  color: #1473CC;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  line-height: 1.5;
}

.support-cont .support-inner {
  border-radius: 30px;
  background: #FFFFFF;
  text-align: center;
  margin: 30px 0;
  padding: 20px 20px;
}

@media only screen and (min-width: 768px) {
  .support-cont .support-inner {
    padding: 40px 60px;
  }
}

@media only screen and (min-width: 768px) {
  .support-cont .tel-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.support-cont .tel-column .tel-l {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  color: #1473CC;
  font-size: 9vw;
  font-weight: 500;
  text-align: center;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .support-cont .tel-column .tel-l {
    width: 40%;
    font-size: clamp(2.7rem, 2.7vw, 3.7rem);
    text-align: left;
    margin-bottom: 0;
  }
}

.support-cont .tel-column .tel-l span {
  font-size: clamp(1.5rem, 1.5vw, 2rem);
}

.support-cont .tel-column .tel-r {
  text-align: left;
}

@media only screen and (min-width: 768px) {
  .support-cont .tel-column .tel-r {
    width: 55%;
  }
}

.support-cont .tel-column .tel-r dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .support-cont .tel-column .tel-r dl {
    margin-top: 0;
  }
}

.support-cont .tel-column .tel-r dl dt {
  border-radius: 100px;
  width: 100px;
  color: #FFFFFF;
  background: #1473CC;
  text-align: center;
  margin-right: 1rem;
  font-size: clamp(1.3rem, 1.2vw, 1.4rem);
}

@media only screen and (min-width: 768px) {
  .support-cont .tel-column .tel-r dl dt {
    width: 90px;
  }
}

.support-cont .tel-column .tel-r dl dd {
  font-size: clamp(1.3rem, 1.2vw, 1.4rem);
  width: 100%;
}

.support-cont .tel-column .tel-r dl .tel-num {
  font-size: 7vw;
  line-height: .7;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  color: #1473CC;
}

@media only screen and (min-width: 768px) {
  .support-cont .tel-column .tel-r dl .tel-num {
    font-size: clamp(1rem, 2.3vw, 2.8rem);
  }
}

.support-cont .tel-column .tel-r dl:last-child {
  margin-bottom: 0;
}

.support-cont.contact .support-inner {
  font-size: clamp(1rem, 1.5vw, 1.6rem);
}

.support-cont.contact span {
  font-weight: 600;
  font-size: clamp(1rem, 1.5vw, 2rem);
}

.support-cont.contact h3::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f0e0";
}

.support-cont.contact .btn-more {
  margin-top: 50px;
}

.support-cont.tel h3::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f095";
}

.support-cont.support-cf {
  background: #FFFFFF;
  margin-top: 100px;
}

.support-cont.support-cf .support-inner {
  background: #f2f2f2;
}

.support-cont.support-cf dl dd {
  color: #000000;
}

.tit-read {
  font-weight: 600;
  font-size: clamp(1.6rem, 1.5vw, 2rem);
  margin: 20px 0 20px;
}

@media only screen and (min-width: 768px) {
  .tit-read {
    margin: 40px 0 30px;
  }
}

.av-info .box-line {
  border-top: 1px solid #1473CC;
  border-bottom: 1px solid #1473CC;
  padding: 15px 0 5px;
  margin: 30px 0 30px;
}

@media only screen and (min-width: 768px) {
  .av-info .box-line {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

.av-info .box-line dl::before {
  position: relative;
  top: -1px;
}

.av-info .box-line dl dt {
  width: 70px;
}

@media only screen and (min-width: 768px) {
  .av-info .box-line dl dt {
    width: 70px;
  }
}

.av-info .box-line dl dd {
  line-height: 1.3;
}

@media only screen and (min-width: 768px) {
  .av-info .box-line dl dd {
    line-height: 1.1;
  }
}

.av-info .box-line dl:nth-child(1)::before {
  height: 15px;
  width: 25px;
  margin-right: 9px;
}

@media only screen and (min-width: 768px) {
  .av-info .box-line dl:nth-child(1)::before {
    height: 15px;
    width: 35px;
    margin-right: 11px;
  }
}

.av-info .box-line dl:nth-child(2)::before {
  height: 17px;
  width: 22px;
  margin-right: 11px;
}

@media only screen and (min-width: 768px) {
  .av-info .box-line dl:nth-child(2)::before {
    height: 16px;
    width: 26px;
    margin-right: 11px;
  }
}

.av-info .box-line dl:nth-child(3)::before {
  height: 17px;
  width: 17px;
  margin-right: 12px;
}

@media only screen and (min-width: 768px) {
  .av-info .box-line dl:nth-child(3)::before {
    height: 17px;
    width: 17px;
    margin-right: 11px;
  }
}

.pg-feature {
  border-radius: 30px;
  padding: 30px;
  border: 2px solid #1473CC;
}

@media only screen and (min-width: 768px) {
  .pg-feature {
    padding: 30px 50px 10px;
  }
}

.pg-feature .tit-feature {
  font-weight: 600;
  font-size: clamp(1.6rem, 1.5vw, 1.7rem);
  color: #1473CC;
}

@media only screen and (min-width: 768px) {
  .pg-feature .tit-feature {
    margin-bottom: 10px;
  }
}

.pg-feature ul li {
  list-style-position: inside;
}

/* 親要素のリスト設定 */
.pg-feature ul {
  list-style: none;
  /* デフォルトの点を消す */
  counter-reset: pg-count;
  /* カウントをリセット */
  padding-left: 0;
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  .pg-feature ul {
    margin: 1.5em 0;
  }
}

/* リスト項目（li）の設定 */
.pg-feature ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  /* 数字とテキストを横並びに */
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  /* 2行目以降も数字を上に固定 */
  counter-increment: pg-count;
  /* 1, 2, 3...と加算 */
  margin-bottom: 5px;
  /* 項目間の余白 */
  font-size: clamp(1.5rem, 1.5vw, 1.6rem);
}

@media only screen and (min-width: 768px) {
  .pg-feature ul li {
    margin-bottom: 12px;
    /* 項目間の余白 */
    line-height: 2;
  }
}

.pg-feature ul li:last-child {
  margin-bottom: 0;
}

/* 黒丸・白数字の擬似要素 */
.pg-feature ul li::before {
  content: counter(pg-count);
  /* 数字を表示 */
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  /* 丸のサイズと色 */
  width: 6vw;
  /* 丸の幅 */
  height: 6vw;
  /* 丸の高さ */
  background-color: #1473CC;
  /* 背景：黒 */
  color: #fff;
  max-width: 25px;
  max-height: 25px;
  /* 数字：白 */
  /* 形状とフォント */
  border-radius: 50%;
  /* 正円にする */
  font-size: clamp(1.3rem, 1.5vw, 1.6rem);
  font-weight: bold;
  /* 数字を太字に */
  /* 位置の微調整 */
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  /* 丸が潰れないように固定 */
  margin-right: 12px;
  /* 数字とテキストの間の余白 */
  margin-top: 3px;
  /* テキストの1行目と高さを合わせる微調整 */
}

@media only screen and (min-width: 768px) {
  .pg-feature ul li::before {
    width: 2vw;
    /* 丸の幅 */
    height: 2vw;
    /* 丸の高さ */
  }
}

.av-course-video {
  margin: 80px auto 0;
}

.av-course-video .tit-mv {
  font-size: clamp(1.5rem, 1.7vw, 2.2rem);
  text-align: center;
  font-weight: 600;
  margin: 0 0 20px;
}

.av-course-video .video-container {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.av-course-video .video-container iframe {
  width: 100%;
  height: 100%;
}

/* ----------------------------------

よくある質問

---------------------------------- */
.faq-wrap {
  max-width: 1000px;
  width: 90%;
  margin: auto;
}

.faq-wrap .faq-nav {
  margin: 50px 0 0;
}

.faq-wrap .faq-nav .nav-box {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.faq-wrap .faq-nav a {
  display: block;
  border: 3px solid #1473CC;
  width: 43%;
  margin: 0 10px 20px;
  border-radius: 20px;
  color: #1473CC;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-weight: 600;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 15px;
  font-size: clamp(1.4rem, 1.5vw, 1.7rem);
  text-align: center;
  -webkit-transition: .3s;
  transition: .3s;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  .faq-wrap .faq-nav a {
    width: 30%;
    padding: 30px;
  }
}

.faq-wrap .faq-nav a::before {
  -webkit-transition: .2s;
  transition: .2s;
  margin-bottom: 1rem;
}

.faq-wrap .faq-nav a:hover {
  background: #1473CC;
  color: #FFFFFF;
}

.faq-wrap .faq-nav a:nth-child(1)::before {
  content: "";
  display: block;
  background: url(images/faq01.svg) center top/cover no-repeat;
  height: 23px;
  width: 45px;
}

.faq-wrap .faq-nav a:nth-child(1):hover::before {
  background: url(images/faq01_w.svg) center top/cover no-repeat;
}

.faq-wrap .faq-nav a:nth-child(2)::before {
  content: "";
  display: block;
  background: url(images/pg.svg) center top/cover no-repeat;
  height: 35px;
  width: 30px;
}

.faq-wrap .faq-nav a:nth-child(2):hover::before {
  background: url(images/pg01.svg) center top/cover no-repeat;
}

.faq-wrap .faq-nav a:nth-child(3)::before {
  content: "";
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='%231473CC' d='M128 252.6C128 148.4 214 64 320 64C426 64 512 148.4 512 252.6C512 371.9 391.8 514.9 341.6 569.4C329.8 582.2 310.1 582.2 298.3 569.4C248.1 514.9 127.9 371.9 127.9 252.6zM320 320C355.3 320 384 291.3 384 256C384 220.7 355.3 192 320 192C284.7 192 256 220.7 256 256C256 291.3 284.7 320 320 320z'/%3E%3C/svg%3E") center top/cover no-repeat;
  height: 35px;
  width: 30px;
}

.faq-wrap .faq-nav a:nth-child(3):hover::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='%23ffffff' d='M128 252.6C128 148.4 214 64 320 64C426 64 512 148.4 512 252.6C512 371.9 391.8 514.9 341.6 569.4C329.8 582.2 310.1 582.2 298.3 569.4C248.1 514.9 127.9 371.9 127.9 252.6zM320 320C355.3 320 384 291.3 384 256C384 220.7 355.3 192 320 192C284.7 192 256 220.7 256 256C256 291.3 284.7 320 320 320z'/%3E%3C/svg%3E") center top/cover no-repeat;
}

.faq-wrap .faq-nav a:nth-child(4)::before {
  content: "";
  display: block;
  background: url(images/faq04.svg) center top/cover no-repeat;
  height: 28px;
  width: 28px;
}

.faq-wrap .faq-nav a:nth-child(4):hover::before {
  background: url(images/faq04_w.svg) center top/cover no-repeat;
}

.faq-wrap .faq-nav a:nth-child(5)::before {
  content: "";
  display: block;
  background: url(images/faq05.svg) center top/cover no-repeat;
  height: 25px;
  width: 41px;
}

.faq-wrap .faq-nav a:nth-child(5):hover::before {
  background: url(images/faq05_w.svg) center top/cover no-repeat;
}

.faq-content {
  margin: 100px 0 0;
  scroll-margin-top: 110px;
}

.faq-content h3 {
  text-align: center;
  font-size: clamp(2.2rem, 2.5vw, 3.5rem);
  font-weight: 600;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  color: #1473CC;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0 0 30px;
}

.faq-content .faq-inner {
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .faq-content .faq-inner {
    margin-bottom: 30px;
  }
}

.faq-content dl dt {
  background: #1473CC;
  border-radius: 100px;
  font-size: clamp(1.5rem, 1.5vw, 1.8rem);
  color: #FFFFFF;
  padding: 20px 50px 20px 65px;
  font-weight: 700;
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  .faq-content dl dt {
    padding: 25px 60px 25px 70px;
  }
}

.faq-content dl dt::before {
  content: "Q";
  display: inline-block;
  font-size: 3rem;
  line-height: 1.5;
  margin-right: 1.5rem;
  font-weight: 500;
  position: absolute;
  top: 10px;
  left: 30px;
}

@media only screen and (min-width: 768px) {
  .faq-content dl dt::before {
    top: 15px;
  }
}

.faq-content dl dd {
  border-radius: 30px;
  border: 2px solid #1473CC;
  position: relative;
  top: 20px;
}

.faq-content dl dd p {
  padding: 30px 30px 30px 30px;
}

@media only screen and (min-width: 768px) {
  .faq-content dl dd p {
    padding: 30px 30px 30px 35px;
  }
}

.faq-content dl dd p a {
  color: #1473CC;
}

.faq-content:nth-child(2) h3::before {
  content: "";
  display: block;
  background: url(images/faq01.svg) center top/cover no-repeat;
  height: 30px;
  width: 60px;
}

.faq-content:nth-child(3) h3::before {
  content: "";
  display: block;
  background: url(images/pg.svg) center top/cover no-repeat;
  height: 48px;
  width: 40px;
}

.faq-content:nth-child(4) h3::before {
  content: "";
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='%231473CC' d='M128 252.6C128 148.4 214 64 320 64C426 64 512 148.4 512 252.6C512 371.9 391.8 514.9 341.6 569.4C329.8 582.2 310.1 582.2 298.3 569.4C248.1 514.9 127.9 371.9 127.9 252.6zM320 320C355.3 320 384 291.3 384 256C384 220.7 355.3 192 320 192C284.7 192 256 220.7 256 256C256 291.3 284.7 320 320 320z'/%3E%3C/svg%3E") center top/cover no-repeat;
  height: 48px;
  width: 40px;
}

.faq-content:nth-child(5) h3::before {
  content: "";
  display: block;
  background: url(images/faq04.svg) center top/cover no-repeat;
  height: 40px;
  width: 40px;
}

.faq-content:nth-child(6) h3::before {
  content: "";
  display: block;
  background: url(images/faq05.svg) center top/cover no-repeat;
  height: 30px;
  width: 50px;
}

.faq-content:last-child {
  margin-bottom: 100px;
}

@media only screen and (min-width: 768px) {
  .faq-content:last-child {
    margin-bottom: 200px;
  }
}

/* --- FAQ全体のスタイル --- */
/* 質問(dt)のスタイル */
.faq-inner dt {
  cursor: pointer;
  position: relative;
}

/* アイコン：＋ */
.faq-inner dt::after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='white' d='M320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM296 408L296 344L232 344C218.7 344 208 333.3 208 320C208 306.7 218.7 296 232 296L296 296L296 232C296 218.7 306.7 208 320 208C333.3 208 344 218.7 344 232L344 296L408 296C421.3 296 432 306.7 432 320C432 333.3 421.3 344 408 344L344 344L344 408C344 421.3 333.3 432 320 432C306.7 432 296 421.3 296 408z'/%3E%3C/svg%3E");
}

@media only screen and (min-width: 768px) {
  .faq-inner dt::after {
    width: 40px;
    height: 40px;
  }
}

/* 開いている時のアイコン：－ */
.faq-inner dt.is-open::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='white' d='M320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM408 344L232 344C218.7 344 208 333.3 208 320C208 306.7 218.7 296 232 296L408 296C421.3 296 432 306.7 432 320C432 333.3 421.3 344 408 344z'/%3E%3C/svg%3E");
}

/* 回答(dd)の初期状態：完全に隠す */
.faq-inner dd {
  display: grid;
  grid-template-rows: 0fr;
  /* 高さを0にする魔法のプロパティ */
  -webkit-transition: grid-template-rows 0.4s ease, opacity 0.4s ease;
  transition: grid-template-rows 0.4s ease, opacity 0.4s ease;
  transition: grid-template-rows 0.4s ease, opacity 0.4s ease, -ms-grid-rows 0.4s ease;
  /* ぬるっと動かす */
  overflow: hidden;
  margin: 0;
  padding: 0;
  opacity: 0;
}

/* dtに .is-open がついた時の dd の挙動 */
.faq-inner dt.is-open + dd {
  grid-template-rows: 1fr;
  /* 中身の高さ分だけ展開 */
  opacity: 1;
}

/* 回答の中身(faq-answer)：ここで余白を調整 */
.faq-answer {
  min-height: 0;
  /* これがないとGridアニメーションが効きません */
  padding-left: 30px;
}

.faq-answer::before {
  content: "A";
  display: inline-block;
  font-size: 3rem;
  line-height: 1.5;
  margin-right: 1.5rem;
  font-weight: 500;
  position: absolute;
  top: 15px;
  left: 30px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  color: #1473CC;
}

/* ----------------------------------

生き物図鑑

---------------------------------- */
.page-catch {
  font-size: clamp(1.4rem, 1.5vw, 1.7rem);
  margin: 50px auto 0;
  font-weight: 600;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  .page-catch {
    text-align: center;
    line-height: 2.5;
  }
}

.view-time {
  margin: 30px 0 0;
}

.view-time dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

@media only screen and (min-width: 768px) {
  .view-time dl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

.view-time dt {
  border: 2px solid #1473CC;
  color: #1473CC;
  font-weight: 600;
  border-radius: 100px;
  padding: 0 10px;
  white-space: nowrap;
  font-size: clamp(1.3rem, 1.4vw, 1.6rem);
}

@media only screen and (min-width: 768px) {
  .view-time dt {
    margin-right: 1rem;
  }
}

.view-time dd {
  color: #1473CC;
  font-weight: 600;
  line-height: 2;
}

/* ----------------------------------

hamburger

---------------------------------- */
.openbtn {
  position: fixed;
  z-index: 99999;
  /*ボタンを最前面に*/
  top: 10px;
  right: 10px;
  cursor: pointer;
  width: 70px;
  height: 65px;
  -webkit-transition: .5s;
  transition: .5s;
}

@media only screen and (min-width: 768px) {
  .openbtn {
    top: 25px;
  }
}

/*×に変化*/
.openbtn span {
  display: inline-block;
  -webkit-transition: all .6s;
  transition: all .6s;
  position: absolute;
  left: 14px;
  height: 2px;
  border-radius: 2px;
  background-color: #000000;
  width: 55%;
}

.openbtn span:nth-of-type(1) {
  top: 15px;
}

.openbtn span:nth-of-type(2) {
  top: 27px;
}

.openbtn span:nth-of-type(3) {
  top: 39px;
}

.openbtn.active span:nth-of-type(1) {
  /*top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-35deg);
    width: 60%;
        background-color: $black;*/
  display: inline-block;
  -webkit-transition: all .6s;
  transition: all .6s;
  position: absolute;
  left: 14px;
  height: 2px;
  border-radius: 2px;
  background-color: #FFFFFF;
  width: 55%;
  -webkit-transform: translateY(6px) rotate(-35deg);
  transform: translateY(6px) rotate(-35deg);
}

.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
  /*top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(35deg);
    width: 60%;
    background-color: $black;*/
  display: inline-block;
  -webkit-transition: all .6s;
  transition: all .6s;
  position: absolute;
  left: 14px;
  height: 2px;
  border-radius: 2px;
  background-color: #FFFFFF;
  width: 55%;
  -webkit-transform: translateY(-18px) rotate(35deg);
  transform: translateY(-18px) rotate(35deg);
}

/*========= ナビゲーションのためのCSS ===============*/
#g-nav {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 9999;
  /*ナビのスタート位置と形状*/
  top: 0;
  -webkit-transform: translate(100vw, 0);
  transform: translate(100vw, 0);
  width: 100%;
  height: 100vh;
  /*ナビの高さ*/
  background: #1473CC;
  /*動き*/
  -webkit-transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  opacity: .5;
}

#g-nav a {
  color: #FFFFFF;
}

#g-nav #g-nav-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 0px 30px 30px;
}

@media only screen and (min-width: 768px) {
  #g-nav #g-nav-list {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}

#g-nav #g-nav-list .nav-l {
  display: contents;
}

@media only screen and (min-width: 768px) {
  #g-nav #g-nav-list .nav-l {
    width: 30%;
    margin-top: 80px;
    display: block;
  }
}

#g-nav #g-nav-list .nav-r {
  display: contents;
}

@media only screen and (min-width: 768px) {
  #g-nav #g-nav-list .nav-r {
    width: 60%;
    position: relative;
    margin-top: 80px;
    display: block;
  }
}

#g-nav .logo-nav {
  width: 250px;
  margin-left: 10px;
  margin-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  #g-nav .logo-nav {
    width: auto;
    margin-left: 0;
    margin-bottom: 0;
  }
}

#g-nav .g-nav-inner {
  padding-top: 30px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  line-height: 2.2;
}

@media only screen and (min-width: 768px) {
  #g-nav .g-nav-inner {
    position: absolute;
    padding: 5vw 7vw 0 0vw;
    width: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 100%;
    max-width: 1100px;
    line-height: inherit;
  }
}

#g-nav .g-nav-inner .btn-rev-nav {
  margin-top: 20px;
}

@media only screen and (min-width: 768px) {
  #g-nav .g-nav-inner .btn-rev-nav {
    position: absolute;
    right: 5vw;
  }
}

#g-nav .g-nav-inner .btn-rev-nav a {
  background: #FFFFFF;
  color: #1473CC;
  font-size: 4vw;
  border-radius: 100px;
  padding-top: 20px;
  padding-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  #g-nav .g-nav-inner .btn-rev-nav a {
    font-size: clamp(1.5rem, 1.5vw, 1.7rem);
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

#g-nav .g-nav-inner .btn-rev-nav a::after {
  color: #1473CC;
}

#g-nav .g-nav-inner .btn-rev-nav a:hover {
  background: #FFAA17;
  color: #FFFFFF;
  opacity: 1 !important;
}

#g-nav .g-nav-inner .btn-rev-nav a:hover::after {
  color: #fff !important;
}

#g-nav .g-nav-inner .link-btm {
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  #g-nav .g-nav-inner .link-btm {
    position: absolute;
    right: 5vw;
    top: 500px;
  }
}

#g-nav .g-nav-inner .link-btm ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

#g-nav .g-nav-inner .link-btm ul li {
  margin-left: 30px;
}

#g-nav .g-nav-inner .link-btm ul li a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  margin-left: 1rem;
  font-size: 1rem;
}

@media only screen and (min-width: 768px) {
  #g-nav .link-block {
    margin-bottom: 20px;
  }
}

#g-nav .link-block .link-tit {
  font-size: 4.5vw;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  #g-nav .link-block .link-tit {
    font-size: clamp(1.5rem, 1.5vw, 2rem);
  }
}

#g-nav .link-block ul {
  margin-top: 10px;
  margin-left: 20px;
}

@media only screen and (min-width: 768px) {
  #g-nav .link-block ul {
    margin-top: 0;
  }
}

#g-nav .link-block ul li {
  margin-bottom: 10px;
  font-size: 3.8vw;
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  #g-nav .link-block ul li {
    font-size: clamp(1.2rem, 1.2vw, 1.5rem);
  }
}

#g-nav .link-block ul li::before {
  content: "-";
  display: inline-block;
  margin-right: 1.5rem;
  color: #FFFFFF;
}

@media only screen and (min-width: 768px) {
  #g-nav .link-block .two-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: wrap;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
  }
}

#g-nav .link-block .two-column li {
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  #g-nav .link-block .two-column li {
    width: 50%;
  }
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
  -webkit-transform: translate(0px, 0);
  transform: translate(0px, 0);
  opacity: 1;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 0;
}

#g-nav.panelactive #g-nav-list a {
  -webkit-transition: .5s;
  transition: .5s;
}

#g-nav.panelactive #g-nav-list a:hover {
  opacity: .5;
}

@media screen and (max-width: 768px) {
  #g-nav-list .link-tit {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  /* アコーディオン部分 */
  #g-nav-list .link-block ul {
    height: 0;
    overflow: hidden;
    -webkit-transition: height .35s ease;
    transition: height .35s ease;
  }
  /* 矢印ボタン */
  #g-nav-list .acc-btn {
    width: 30px;
    height: 30px;
    border: none;
    background: none;
    position: relative;
    cursor: pointer;
  }
  /* 矢印 */
  #g-nav-list .acc-btn::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    position: absolute;
    top: 9px;
    left: 10px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: .3s;
    transition: .3s;
  }
  /* 開いた時 */
  #g-nav-list .link-block.open .acc-btn::after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  /* TOP */
  #g-nav-list .nav-l .link-block:nth-child(1) {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }
  #g-nav-list .nav-l .link-block:nth-child(2) {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }
  #g-nav-list .nav-r .link-block:nth-child(1) {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
  }
  #g-nav-list .nav-r .link-block:nth-child(2) {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
    -ms-flex-order: 4;
    order: 4;
  }
  #g-nav-list .nav-l .link-block:nth-child(3) {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
    -ms-flex-order: 5;
    order: 5;
  }
  #g-nav-list .nav-r .link-block:nth-child(3) {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
    -ms-flex-order: 6;
    order: 6;
  }
  #g-nav-list .nav-l .link-block:nth-child(4) {
    -webkit-box-ordinal-group: 8;
    -webkit-order: 7;
    -ms-flex-order: 7;
    order: 7;
  }
  #g-nav-list .nav-l .link-block:nth-child(5) {
    -webkit-box-ordinal-group: 9;
    -webkit-order: 8;
    -ms-flex-order: 8;
    order: 8;
  }
  #g-nav-list .nav-l .link-block:nth-child(6) {
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
    -ms-flex-order: 9;
    order: 9;
  }
  #g-nav-list .nav-r .link-block:nth-child(4) {
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
    -ms-flex-order: 10;
    order: 10;
  }
  .btn-rev-nav {
    -webkit-box-ordinal-group: 12;
    -webkit-order: 11;
    -ms-flex-order: 11;
    order: 11;
  }
  .link-btm {
    -webkit-box-ordinal-group: 13;
    -webkit-order: 12;
    -ms-flex-order: 12;
    order: 12;
  }
}

@media screen and (min-width: 768px) {
  #g-nav-list .acc-btn {
    display: none;
  }
}

/* メインスライダーの基本設定 */
.main-swiper {
  width: 100%;
  overflow: hidden;
  /* 画面端まで見せたい場合は visible に調整 */
  margin-bottom: 10px;
}

.main-swiper .swiper-button-prev, .main-swiper .swiper-button-next {
  background: #FFFFFF;
  border-radius: 200px;
  width: 40px;
  height: 40px;
  border: 2px solid #1473CC;
}

@media only screen and (min-width: 768px) {
  .main-swiper .swiper-button-prev, .main-swiper .swiper-button-next {
    width: 70px;
    height: 70px;
  }
}

.main-swiper .swiper-button-prev::after, .main-swiper .swiper-button-next::after {
  font-size: 1.1rem;
}

@media only screen and (min-width: 768px) {
  .main-swiper .swiper-button-prev::after, .main-swiper .swiper-button-next::after {
    font-size: 1.5rem;
  }
}

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

/* サムネイルの基本設定 */
.thumb-swiper {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 0;
  max-width: 80%;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .thumb-swiper {
    max-width: 55vw;
  }
}

.thumb-swiper .swiper-slide {
  width: 25%;
  height: 80px;
  opacity: 0.4;
  cursor: pointer;
}

.thumb-swiper .swiper-slide img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 1 / .7;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

/* 選択されているサムネイルを明るく */
.thumb-swiper .swiper-slide-thumb-active {
  opacity: 1;
}

.thumb-swiper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#living-slider {
  margin-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  #living-slider {
    float: left;
    width: 50%;
    margin-right: 20px;
    margin-bottom: 0;
  }
}

#living-slider .swiper-slide {
  background: transparent;
}

#living-slider .living-thumbs {
  margin-top: 10px;
}

#living-slider .living-thumbs .swiper-slide img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  aspect-ratio: 4 / 3;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

/* PC：通常時はSwiperのクラスを無視して3カラムにする */
.list-info-n {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 20px;
}

.list-info-n .swiper-slide {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: left;
}

@media only screen and (min-width: 768px) {
  .list-info-n .swiper-slide {
    width: 30%;
  }
}

.list-info-n a:hover {
  color: #000000;
}

/* destroy後は.swiper-wrapperが邪魔になる場合があるため */
.list-info-n .swiper-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.list-info-bx {
  width: 32%;
  /* 3カラム */
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

/* SP：チラ見せ設定 */
@media screen and (max-width: 767px) {
  .list-info-n {
    display: block;
    overflow: visible !important;
    /* 右側チラ見せに必須 */
    padding: 0;
  }
  .list-info-n .swiper-wrapper {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    /* 左詰めに */
  }
  .list-info-bx.swiper-slide {
    width: 85% !important;
    /* これで右側が15%見える */
  }
}

#join, #relax, #facility, #enjoy, #location, #facilities, #feature {
  scroll-margin-top: 180px;
}

@media only screen and (min-width: 768px) {
  #join, #relax, #facility, #enjoy, #location, #facilities, #feature {
    scroll-margin-top: 180px;
  }
}

#contact-form, #tel {
  scroll-margin-top: 110px;
}

.btn-sp-fix {
  position: fixed;
  bottom: 30px;
  right: 10px;
  z-index: 999;
}

@media only screen and (min-width: 768px) {
  .btn-sp-fix {
    display: none;
  }
}

.btn-sp-fix img:hover {
  opacity: 1;
}

/* ボタンの基本スタイルに transition を追加 */
.btn-sp-fix {
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  opacity: 1;
  visibility: visible;
}

/* 非表示用のクラス */
.btn-sp-fix.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* クリックできないようにする */
}

.triangle {
  text-align: center;
  margin: 30px auto;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  .triangle {
    margin: 60px auto;
  }
}

.triangle .txt-tri {
  margin: 20px 0 0;
  font-size: 4vw;
  font-weight: 600;
}

@media only screen and (min-width: 768px) {
  .triangle .txt-tri {
    font-size: clamp(1.5rem, 1.5vw, 1.7rem);
  }
}

.triangle .txt-tri span {
  font-size: 6vw;
  font-weight: 600;
  color: #FFE875;
}

@media only screen and (min-width: 768px) {
  .triangle .txt-tri span {
    font-size: clamp(2rem, 2vw, 2.5rem);
  }
}

.triangle .tel-wrap {
  font-size: 5vw;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
}

@media only screen and (min-width: 768px) {
  .triangle .tel-wrap {
    font-size: clamp(1rem, 1.5vw, 2rem);
  }
}

.triangle .tel-wrap .tel {
  font-size: 8vw;
}

@media only screen and (min-width: 768px) {
  .triangle .tel-wrap .tel {
    font-size: clamp(1rem, 3vw, 3.5rem);
  }
}

.page-entry .blue-sec {
  background-image: none;
}

.page-entry .l-footer-n {
  margin-top: 0 !important;
}

.page-contact .blue-sec {
  position: relative;
  z-index: 10;
  background-image: none;
}

.page-contact .wide-entry {
  position: relative;
  margin-top: 0;
}

.page-contact .wide-entry::before {
  content: "";
  display: block;
  background: url(images/wave04.svg) center top/cover repeat-x;
  position: absolute;
  width: 100%;
  height: 40px;
  z-index: 99;
  top: 0;
  left: 0;
}

.page-contact .l-footer-n {
  margin-top: 0;
}

.cancel {
  max-width: 1100px;
  width: 90%;
  margin: 100px auto 0;
}

.cancel .tit-cancel {
  font-size: clamp(2rem, 2.2vw, 2.7rem);
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  color: #1473CC;
  font-weight: 600;
  text-align: center;
  margin: 0 0 40px;
  line-height: 1.4;
}

@media only screen and (min-width: 768px) {
  .cancel .cancel-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.cancel .cancel-column > div {
  background: #f2f2f2;
  border-radius: 30px;
  padding: 30px 40px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
  .cancel .cancel-column > div {
    width: 48%;
    padding: 30px 50px;
    margin-bottom: 0;
  }
}

.cancel .cancel-column > div dl dt {
  color: #1473CC;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-weight: 600;
  text-align: center;
  margin-bottom: 5px;
  font-size: 4.5vw;
}

@media only screen and (min-width: 768px) {
  .cancel .cancel-column > div dl dt {
    margin-bottom: 10px;
    font-size: clamp(1rem, 1.5vw, 2rem);
  }
}

.cancel .cancel-column > div .tel-num {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-size: clamp(2.2rem, 2vw, 2.5rem);
  color: #1473CC;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 600;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 10px 0 0;
}

.cancel .cancel-column > div .tel-num::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f095";
  color: #FFFFFF;
  width: 25px;
  height: 25px;
  background: #1473CC;
  border-radius: 100px;
  font-size: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 1rem;
  position: relative;
  top: 2px;
}

.tc-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 800px;
  margin: 0 auto 100px;
  width: 90%;
}

.tc-column .tc-box-l a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f0e0";
}

.tc-column .tc-box-r a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f095";
}

.tc-column > div {
  width: 48%;
}

.tc-column > div a {
  border: 2px solid #FFFFFF;
  display: block;
  border-radius: 20px;
  padding: 15px;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-size: clamp(1.6rem, 2vw, 2.3rem);
  color: #FFFFFF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: .2s;
  transition: .2s;
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  .tc-column > div a {
    line-height: inherit;
    padding: 30px;
  }
}

.tc-column > div a::before {
  font-size: 3rem;
}

.tc-column > div a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f107";
  position: relative;
  top: 0;
  -webkit-transition: .2s;
  transition: .2s;
  font-size: 2.5rem;
}

@media only screen and (min-width: 768px) {
  .tc-column > div a::after {
    font-size: 1.5rem;
  }
}

.tc-column > div a:hover {
  background: #FFFFFF;
  color: #1473CC;
}

.tc-column > div a:hover::after {
  top: 5px;
}

.carport {
  max-width: 1200px;
  margin: 0px auto;
}

@media only screen and (min-width: 768px) {
  .carport {
    margin: 150px auto;
  }
}

.carport .tit-port {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-size: clamp(2.2rem, 2vw, 3rem);
  text-align: center;
}

.txt-port {
  margin: 30px auto;
  width: 90%;
}

@media only screen and (min-width: 768px) {
  .txt-port {
    text-align: center;
  }
}

.post-cat span {
  color: #FFFFFF !important;
  font-weight: 500;
}

.post-cat li a, .post-cat li span {
  border: none;
}

.category-list__item a:hover {
  background: var(--cat-color);
}

.category-list__item.is-active a {
  background: var(--cat-color);
}

.link-cate {
  margin: 50px 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
}

@media only screen and (min-width: 768px) {
  .link-cate {
    -webkit-flex-flow: nowrap;
    -ms-flex-flow: nowrap;
    flex-flow: nowrap;
  }
}

.link-cate .category-list__item {
  list-style: none;
}

.link-cate .category-list__item a {
  display: block;
  border-radius: 100px;
  padding: 0 20px;
  font-weight: 500;
  margin-right: 10px;
  margin-bottom: 5px;
}

.link-cate .category-list__item a:hover {
  color: #FFFFFF;
}

.link-cate .category-list__item.is-active a {
  color: #FFFFFF;
}

.l-main {
  float: none;
  width: auto;
}

.thumbnail {
  overflow: hidden;
}

.thumbnail:hover {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.thumbnail a {
  display: block;
  overflow: hidden;
}

.thumbnail a img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
  aspect-ratio: 4 / 2.5;
  width: 100%;
  height: auto;
  -webkit-transition: .5s;
  transition: .5s;
}

ul.navigation {
  display: none;
}

.item-list .btn-more {
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  .item-list .btn-more {
    margin-top: 40px;
  }
}

.item-list .btn-more a {
  padding: 10px 20px;
}

@media only screen and (min-width: 768px) {
  .item-list .btn-more a {
    padding: 20px 30px;
  }
}

.item-detail dl {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .item-detail dl {
    display: table !important;
  }
}

.item-detail dl dt {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .item-detail dl dt {
    width: 24%;
  }
}

.av-course-flow img {
  height: auto !important;
}

.google-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%;
  /* 比率を4:3に固定 */
}

@media only screen and (min-width: 768px) {
  .google-map {
    padding-top: 35%;
  }
}

/* Google Mapのiframe */
.google-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.nav-ac {
  width: 90%;
  margin: 50px auto 0;
}

.nav-ac ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
}

.nav-ac ul li {
  list-style: none;
  width: 48%;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .nav-ac ul li {
    width: auto;
    margin-bottom: 0;
  }
}

.nav-ac ul li a {
  font-weight: 600;
  font-size: clamp(1.3rem, 1.5vw, 1.7rem);
  display: block;
  margin-right: 30px;
  position: relative;
}

.nav-ac ul li a:hover {
  color: #000000;
  opacity: .7;
}

.nav-ac ul li a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f107";
  margin-left: 10px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
  .nav-ac ul li a::after {
    position: relative;
  }
}

.txt-sougei {
  width: 90%;
  margin: 30px auto 0;
}

@media only screen and (min-width: 768px) {
  .txt-sougei {
    text-align: center;
    margin: 70px auto;
  }
}

#car, #train, #plain, #park {
  scroll-margin-top: 110px;
}
