﻿@charset "UTF-8";

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

kv

------------------------------------------- */
.top-kv {
  position: relative;
  background-size: 82% auto;
}
.swiper-button-prev,
.swiper-button-next {
  width: 4.5rem;
  height: 4.5rem;
  top: calc(50% - 2.25rem);
  position: absolute;
  z-index: 999;
  transition: all 0.3s;
}
.swiper-button-prev {
  background: url(../../img/befudanchi/prev.png) no-repeat center;
  background-size: 100% auto;
  left: 15rem;
}
.swiper-button-next {
  background: url(../../img/befudanchi/next.png) no-repeat;
  background-size: 100% auto;
  right: 15rem;
}
@media screen and (max-width: 768px) {
  .swiper-button-prev,
  .swiper-button-next {
    width: 3rem;
    height: 3rem;
    top: calc(50% - 1.5rem);
  }
  .swiper-button-prev {
    left: 1rem;
  }
  .swiper-button-next {
    right: 1rem;
  }
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
  cursor: pointer;
  opacity: 0.5;
}
.swiper-pagination {
  bottom: -4rem !important;
}
.swiper-pagination-bullet {
  width: 1.8rem !important;
  height: 1.8rem !important;
  background: url(../../img/befudanchi/pager.png) no-repeat !important;
  background-size: 100% auto !important;
  opacity: 1 !important;
}
.swiper-pagination-bullet-active {
  background: url(../../img/befudanchi/pager-active.png) no-repeat !important;
  background-size: 100% auto !important;
}

.top-kv .swiper-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
}

.swiper-wrapper {
  height: fit-content;
}

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

concept

------------------------------------------- */
.top-concept {
  padding-top: 4rem;
  background: url(../../img/befudanchi/texture-2.jpg) center top;
  background-size: 100% auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-concept {
    background: url(../../img/befudanchi/deco-2.png) no-repeat right 2rem top 6rem;
    background-size: 6rem auto;
  }
}
/* deco */
.top-concept .deco {
  position: absolute;
  right: 12rem;
  top: 7rem;
  width: 10rem;
}
/* wrap-1 */
.top-concept .wrap-1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6rem 15rem 12rem 7rem;
}
.top-concept .wrap-1 > figure {
  width: 50%;
}
.top-concept .wrap-1 > div {
  width: 50%;
  padding-left: 4rem;
}
@media screen and (max-width: 768px) {
  .top-concept .wrap-1 {
    display: block;
    padding: 4rem 3rem 6rem 3rem;
  }
  .top-concept .wrap-1 > figure {
    width: 90%;
    margin: 0 auto 2rem auto;
  }
  .top-concept .wrap-1 > div {
    width: 100%;
    padding: 0;
  }
}
/* h3 */
.top-concept h2 {
  font-weight: bold;
  margin-bottom: 1rem;
}
.top-concept h2 span {
  background: url(../../img/befudanchi/bg-crayon.png) no-repeat left bottom;
  background-size: auto 100%;
  padding: 1.5rem 1rem;
  font-size: 3.6rem;
  color: #fff;
  display: flex;
  align-items: center;
  font-weight: 700;
}
.top-concept h2 span i:nth-child(1) {
  color: var(--pink-pale);
  margin-left: 0.8rem;
}
.top-concept h2 span i:nth-child(2) {
  color: var(--blue-pale);
  margin: 0 1rem;
}
.top-concept h2 span i:nth-child(3) {
  color: var(--green-pale);
  margin-left: 0.8rem;
}
@media screen and (max-width: 768px) {
  .top-concept h2 span {
    font-size: 3rem;
  }
}
/* h3 */
.top-concept h3 {
  background: url(../../img/befudanchi/dot-brown.png) repeat-x left top, url(../../img/befudanchi/dot-brown.png) repeat-x left bottom;
  background-size: auto 0.2rem;
  padding: 1.1rem 0.5rem 1rem 0.5rem;
  font-size: 2rem;
  margin-bottom: 2rem;
  color: var(--brown-pale);
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .top-concept h3 {
    margin-bottom: 1.5rem;
  }
}
/* p */
.top-concept p {
  line-height: 2;
  margin-bottom: 3rem;
}
.top-concept .more {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .top-concept p {
    margin-bottom: 2rem;
  }
  .top-concept .more {
    margin: 0 auto;
  }
}
/* ul */
.top-concept .wrap-1 ul li {
  display: flex;
  justify-content: space-between;
  color: var(--purple-pale);
  font-weight: 500;
  line-height: 1.5;
}
.top-concept .wrap-1 ul li:not(:last-child) {
  margin-bottom: 1.5rem;
}
.top-concept .wrap-1 ul li span:nth-child(1) {
  display: block;
  width: 4.5rem;
  height: 4.5rem;
  background: url(../../img/befudanchi/bg-num-1.png) no-repeat;
  background-size: 100% auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--font-potta);
  font-size: 1.8rem;
  padding-left: 0.2rem;
}
.top-concept .wrap-1 ul li span:nth-child(2) {
  width: calc(100% - 6rem);
}
.top-concept .wrap-1 ul li:nth-child(2) span:nth-child(1) {
  background: url(../../img/befudanchi/bg-num-2.png) no-repeat;
  background-size: 100% auto;
}
.top-concept .wrap-1 ul li:nth-child(3) span:nth-child(1) {
  background: url(../../img/befudanchi/bg-num-3.png) no-repeat;
  background-size: 100% auto;
}
.top-concept .wrap-1 ul li:nth-child(4) span:nth-child(1) {
  background: url(../../img/befudanchi/bg-num-4.png) no-repeat;
  background-size: 100% auto;
}
.top-concept .wrap-1 ul li:nth-child(5) span:nth-child(1) {
  background: url(../../img/befudanchi/bg-num-5.png) no-repeat;
  background-size: 100% auto;
}
.top-concept .wrap-1 ul li:nth-child(2) {
  color: var(--blue-pale);
}
.top-concept .wrap-1 ul li:nth-child(3) {
  color: var(--pink-pale);
}
.top-concept .wrap-1 ul li:nth-child(4) {
  color: var(--orange-pale);
}
.top-concept .wrap-1 ul li:nth-child(5) {
  color: var(--green-pale);
}

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

facility

------------------------------------------- */
.top-facility {
  background: url(../../img/befudanchi/bg-wave-4.png) no-repeat left top;
  background-size: 100% auto;
  padding: 12rem 0 16rem 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-facility {
    padding: 8rem 3rem 6rem 3rem;
    background-size: 200% auto;
  }
}
.top-facility > span {
  display: block;
  position: absolute;
  width: 9rem;
  top: -3.5rem;
}
.top-facility .ttl-wrap {
  display: flex;
  justify-content: center;
}
/* ul */
.top-facility ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.top-facility li {
  width: 31%;
  margin-right: 3.5%;
}
.top-facility li:nth-child(3n),
.top-facility li:nth-child(5) {
  margin-right: 0;
}
.top-facility li:nth-child(n + 4) {
  margin-top: 4rem;
}
.top-facility li figure {
  position: relative;
}
.top-facility li figure img {
  border-radius: 1.5rem;
  aspect-ratio: 3 / 2;
  width: 100%;
  object-fit: cover;
  object-position: center;
  border: solid 0.35rem var(--purple-pale);
}
.top-facility li:nth-child(2) figure img {
  border: solid 0.35rem var(--blue-pale);
}
.top-facility li:nth-child(3) figure img {
  border: solid 0.35rem var(--pink-pale);
}
.top-facility li:nth-child(4) figure img {
  border: solid 0.35rem var(--orange-pale);
}
.top-facility li:nth-child(5) figure img {
  border: solid 0.35rem var(--green-pale);
}
.top-facility li figure img.deco {
  border-radius: 0;
  border: none;
  position: absolute;
  right: -1rem;
  bottom: -3rem;
  width: 6.4rem;
  height: 5.8rem;
}
.top-facility ul li span {
  display: block;
  width: 4.5rem;
  height: 4.5rem;
  background: url(../../img/befudanchi/bg-num-1.png) no-repeat;
  background-size: 100% auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--font-potta);
  font-size: 1.8rem;
  padding-left: 0.2rem;
}
.top-facility ul li:nth-child(2) span {
  background: url(../../img/befudanchi/bg-num-2.png) no-repeat;
  background-size: 100% auto;
}
.top-facility ul li:nth-child(3) span {
  background: url(../../img/befudanchi/bg-num-3.png) no-repeat;
  background-size: 100% auto;
}
.top-facility ul li:nth-child(4) span {
  background: url(../../img/befudanchi/bg-num-4.png) no-repeat;
  background-size: 100% auto;
}
.top-facility ul li:nth-child(5) span {
  background: url(../../img/befudanchi/bg-num-5.png) no-repeat;
  background-size: 100% auto;
}
.top-facility dl {
  width: 100%;
  margin: 2rem auto 2.5rem auto;
}
.top-facility dt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  color: var(--purple-pale);
}
.top-facility dt i {
  width: calc(100% - 4.5rem);
  padding-left: 1.5rem;
  font-size: 1.6rem;
  font-weight: bold;
}
.top-facility ul li:nth-child(2) dt {
  color: var(--blue-pale);
}
.top-facility ul li:nth-child(3) dt {
  color: var(--pink-pale);
}
.top-facility ul li:nth-child(4) dt {
  color: var(--orange-pale);
}
.top-facility ul li:nth-child(5) dt {
  color: var(--green-pale);
}
@media screen and (max-width: 768px) {
  .top-facility ul {
    display: block;
  }
  .top-facility li {
    width: 100%;
  }
  .top-facility li:not(:last-child) {
    margin-bottom: 4rem;
  }
  .top-facility dl {
    width: 100%;
    margin: 1rem auto 2rem auto;
  }
  .top-facility dt {
    margin-bottom: 1rem;
  }
  .top-facility dt i {
    font-size: 2.2rem;
  }
}

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

other

------------------------------------------- */
.top-other {
  background: var(--blue);
  padding: 0 0 3rem 0;
}
@media screen and (max-width: 768px) {
  .top-other {
    padding: 3rem 3rem 4rem 3rem;
  }
}
.top-other ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  top: -7rem;
}
.top-other ul li {
  width: 31%;
}
@media screen and (max-width: 768px) {
  .top-other ul {
    display: block;
    top: auto;
  }
  .top-other ul li {
    width: 100%;
  }
  .top-other ul li:not(:last-child) {
    margin-bottom: 2rem;
  }
}
.top-other ul li a {
  border-radius: 3rem;
  border: solid 0.7rem var(--blue);
  background: url(../../img/befudanchi/top-other-bg-1.jpg) no-repeat center / cover;
  display: block;
  padding: 2.5rem;
}
.top-other ul li:nth-child(2) a {
  background: url(../../img/befudanchi/top-other-bg-2.jpg) no-repeat center / cover;
}
.top-other ul li:nth-child(3) a {
  background: url(../../img/befudanchi/top-other-bg-3.jpg) no-repeat center / cover;
}
.top-other ul li a > div {
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5rem 0;
  border-radius: 1.5rem;
  font-size: 2.4rem;
  font-weight: bold;
}
.top-other ul li a > div img {
  width: 7rem;
}
.top-other ul li:nth-child(1) a {
  color: var(--orange-pale);
}
.top-other ul li:nth-child(2) a {
  color: var(--green-pale);
}
.top-other ul li:nth-child(3) a {
  color: var(--brown-pale);
}

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

access

------------------------------------------- */
.top-access {
  background: url(../../img/befudanchi/bg-wave-blu-2.png) no-repeat left top, url(../../img/befudanchi/texture-2.jpg) center top;
  background-size: 100% auto, 100% auto;
  padding: 12rem 0 8rem 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-access {
    padding: 12rem 3rem;
    background: url(../../img/befudanchi/bg-wave-blu-2.png) no-repeat left top, url(../../img/befudanchi/texture-2.jpg) center top;
    background-size: 200% auto, 100% auto;
  }
}
/* deco */
.top-access .deco-1,
.top-access .deco-2 {
  display: block;
  position: absolute;
}
.top-access .deco-1 {
  width: 10rem;
  top: 12rem;
  left: 22rem;
}
.top-access .deco-2 {
  width: 12rem;
  top: 10rem;
  right: 20rem;
}
@media screen and (max-width: 768px) {
  .top-access .deco-1,
  .top-access .deco-2 {
    display: block;
    position: absolute;
  }
  .top-access .deco-1 {
    width: 7rem;
    top: 4rem;
    left: 1rem;
  }
  .top-access .deco-2 {
    width: 8rem;
    top: auto;
    bottom: 2rem;
    right: 0.5rem;
  }
}
.top-access h2 {
  text-align: center;
  font-size: 2.2rem;
  margin-bottom: 2rem;
}
.top-access .wrap {
  width: 44rem;
  margin: 0 auto;
  background: url(../../img/befudanchi/dot-brown.png) repeat-x left top;
  background-size: auto 0.2rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .top-access .wrap {
    width: auto;
  }
}
.top-access ul li {
  background: url(../../img/befudanchi/dot-brown.png) repeat-x left bottom;
  background-size: auto 0.2rem;
  padding: 2rem 0;
}
.top-access dl {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.top-access dl dt {
  width: 25%;
  padding-left: 1.5rem;
}
.top-access dl dd {
  width: 75%;
}
.top-access ul li a {
  font-size: 2.4rem;
  font-weight: bold;
}

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

instagram

------------------------------------------- */
.top-insta {
  padding: 8rem 0;
}
.top-insta .ttl-wrap {
  display: flex;
  justify-content: center;
}
.top-insta .wrap {
  width: 80rem;
  margin: 0 auto;
}
.CMS-INSTAGRAM-LIST {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
}
.CMS-INSTAGRAM-LIST > * {
  width: calc((100% - 2rem) / 3);
  margin-right: 1rem;
}
.CMS-INSTAGRAM-LIST > *:nth-of-type(3n) {
  margin-right: 0;
}
.CMS-INSTAGRAM-LIST > *:nth-of-type(n + 4) {
  margin-top: 1rem;
}
.CMS-INSTAGRAM-LIST > *:nth-of-type(n + 7) {
  display: none;
}
@media screen and (max-width: 768px) {
  .top-insta {
    padding: 6rem 0;
  }
  .top-insta .wrap {
    width: auto;
    padding: 0 3rem;
  }
}

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

form

------------------------------------------- */
.CMS-FORM-GROUP {
  display: flex;
  align-items: center;
}
.CMS-FORM-GROUP:not(:last-of-type) {
  margin-bottom: 4rem;
}
.CMS-FORM-GROUP > label {
  width: 30%;
  font-weight: bold;
}
.CMS-FORM-GROUP input,
.CMS-FORM-GROUP textarea {
  width: 70%;
  padding: 2rem;
  border: #ddd solid 0.15rem;
}
.CMS-FORM-INPUT,
.CMS-FORM-EMAIL {
  -webkit-appearance: none;
  appearance: none;
}
.CMS-FORM-GROUP textarea {
  height: 16rem;
  -webkit-appearance: none;
  appearance: none;
}
.CMS-FORM-GROUP input[type="submit"] {
  background: var(--prime);
  border: none;
  color: #fff;
  display: block;
  font-weight: bold;
  font-size: 1.6rem;
  width: 24rem;
  padding: 2rem 0;
  margin: 0 auto;
  transition: all 0.3s;
  font-family: "M PLUS 1p", sans-serif;
  border-radius: 10rem;
}
.CMS-FORM-GROUP input[type="submit"]:hover {
  cursor: pointer;
  opacity: 0.5;
}
.CMS-FORM-RADIO input[type="radio"] {
  width: 2rem;
  height: 2rem;
  display: block;
  margin-top: 0.9rem;
  border-radius: 50%;
}
.CMS-FORM-RADIO {
  width: 70%;
}
.CMS-FORM-RADIO > div {
  display: flex;
  align-items: center;
}
.CMS-FORM-RADIO label {
  display: block;
  width: calc(100% - 3.5rem);
  margin-top: 0.8rem;
  margin-left: 0.5rem;
  font-weight: normal;
}
_::-webkit-full-page-media,
_:future,
:root .CMS-FORM-RADIO label {
  margin-top: 0;
}
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-appearance: button;
  appearance: button;
  border: none;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="date"] {
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
}
.his {
  background: var(--blue-2);
  line-height: 1;
  color: #fff;
  font-size: 1.2rem;
  padding: 0.2rem 0.7rem 0.4rem 0.7rem;
  margin-left: 1rem;
  vertical-align: 0.1rem;
  font-weight: normal;
  border-radius: 10rem;
}
@media screen and (max-width: 768px) {
  .CMS-FORM-GROUP {
    display: block;
  }
  .CMS-FORM-GROUP label {
    width: 100%;
    display: block;
    margin-bottom: 1rem;
  }
  .CMS-FORM-GROUP input,
  .CMS-FORM-GROUP textarea {
    width: 100%;
  }
  .CMS-FORM-RADIO input[type="radio"] {
    transform: scale(0.6);
  }
  _::-webkit-full-page-media,
  _:future,
  :root .CMS-FORM-RADIO label {
    margin-top: 1.4rem;
    margin-left: 0;
  }
  .CMS-FORM-GROUP input[type="submit"] {
    width: 100%;
    padding: 2rem 0;
    font-size: 1.8rem;
  }
  input[type="date"] {
    width: 100%;
    font-size: 2rem;
    color: #000;
  }
}

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

privacy

------------------------------------------- */
.privacy {
  padding: 2rem;
  height: 20rem;
  overflow: auto;
  background: #fff;
  border: #ddd solid 0.15rem;
}
.privacy-note {
  margin-bottom: 3rem;
}

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

thanx

------------------------------------------- */
.thanx {
  text-align: center;
}
.back {
  text-align: center;
  display: block;
}
@media screen and (max-width: 768px) {
  .thanx {
    text-align: left;
  }
}

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

form

------------------------------------------- */
.CMS-FORM-GROUP {
  display: flex;
  align-items: center;
}
.CMS-FORM-GROUP:not(:last-of-type) {
  margin-bottom: 4rem;
}
.CMS-FORM-GROUP > label {
  width: 30%;
  font-weight: bold;
}
.CMS-FORM-GROUP > .wpcf7-form-control-wrap {
  width: 70%;
}
.CMS-FORM-GROUP input,
.CMS-FORM-GROUP textarea {
  width: 100%;
  padding: 2rem;
  border: #ddd solid 0.15rem;
}
.CMS-FORM-INPUT,
.CMS-FORM-EMAIL {
  -webkit-appearance: none;
  appearance: none;
}
.wpcf7-select {
  margin-right: 0.5rem;
}
.CMS-FORM-GROUP textarea {
  height: 16rem;
  -webkit-appearance: none;
  appearance: none;
}
.CMS-FORM-GROUP input[type="submit"] {
  background: var(--prime);
  border: none;
  color: #fff;
  display: block;
  font-weight: bold;
  font-size: 1.6rem;
  width: 24rem;
  padding: 2rem 0;
  margin: 0 auto;
  transition: all 0.3s;
  font-family: "M PLUS 1p", sans-serif;
  border-radius: 10rem;
}
.CMS-FORM-GROUP input[type="submit"]:hover {
  cursor: pointer;
  opacity: 0.5;
}
.CMS-FORM-RADIO input[type="radio"] {
  width: 2rem;
  height: 2rem;
  display: block;
  margin-top: 0.9rem;
  border-radius: 50%;
}
.CMS-FORM-RADIO {
  width: 70%;
}
.CMS-FORM-RADIO > div {
  display: flex;
  align-items: center;
}
.CMS-FORM-RADIO label {
  display: block;
  width: calc(100% - 3.5rem);
  margin-top: 0.8rem;
  margin-left: 0.5rem;
  font-weight: normal;
}
_::-webkit-full-page-media,
_:future,
:root .CMS-FORM-RADIO label {
  margin-top: 0;
}
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-appearance: button;
  appearance: button;
  border: none;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
.wpcf7-spinner {
  display: none;
}
input[type="date"] {
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
}
.his {
  background: var(--prime);
  line-height: 1;
  color: #fff;
  font-size: 1.2rem;
  padding: 0.2rem 0.7rem 0.4rem 0.7rem;
  margin-left: 1rem;
  vertical-align: 0.1rem;
  font-weight: normal;
  border-radius: 10rem;
}
.check-wrap .wpcf7-acceptance label {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .CMS-FORM-GROUP {
    display: block;
  }
  .CMS-FORM-GROUP label {
    width: 100%;
    display: block;
    margin-bottom: 1rem;
  }
  .CMS-FORM-GROUP input,
  .CMS-FORM-GROUP textarea {
    width: 100%;
  }
  .CMS-FORM-RADIO input[type="radio"] {
    transform: scale(0.6);
  }
  _::-webkit-full-page-media,
  _:future,
  :root .CMS-FORM-RADIO label {
    margin-top: 1.4rem;
    margin-left: 0;
  }
  .CMS-FORM-GROUP input[type="submit"] {
    width: 100%;
    padding: 2rem 0;
    font-size: 1.8rem;
  }
  input[type="date"] {
    width: 100%;
    font-size: 2rem;
    color: #000;
  }
}

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

privacy

------------------------------------------- */
.privacy {
  padding: 2rem;
  height: 20rem;
  overflow: auto;
  background: #fff;
  border: #ddd solid 0.15rem;
}
.privacy-note {
  margin-bottom: 3rem;
}

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

thanx

------------------------------------------- */
.thanx {
  text-align: center;
}
.back {
  text-align: center;
  display: block;
}
@media screen and (max-width: 768px) {
  .thanx {
    text-align: left;
  }
}

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

contact

------------------------------------------- */
.contact-tel {
  margin-top: 6rem;
  background: url(../../img/befudanchi/texture-2.jpg) center top;
  background-size: 100% auto;
  padding: 2rem;
  border: dotted 0.3rem var(--brown-pale);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.contact-tel dt {
  font-weight: 500;
  font-size: 1.8rem;
}
.contact-tel a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
}
.contact-tel a i {
  font-size: 2rem;
  margin-right: 0.5rem;
  margin-top: 0.6rem;
}
.contact-tel i {
  margin-top: 0.7rem;
  display: block;
}
@media screen and (max-width: 768px) {
  .contact-tel i {
    font-size: 1.2rem;
  }
  .contact-tel a span {
    border-bottom: solid 0.2rem var(--brown-pale);
  }
}

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

facility

------------------------------------------- */
/* ---- 年間行事 ---- */
.facility-event > ul {
  display: flex;
  flex-wrap: wrap;
}
.facility-event > ul > li {
  width: 32%;
  background: #fff;
  margin-right: 2%;
  padding: 1.7rem 2rem 2rem 2rem;
  border-radius: 2rem;
  box-shadow: 0 0.2rem 0 rgba(0, 0, 0, 0.05);
}
.facility-event > ul > li:nth-child(3n) {
  margin-right: 0;
}
.facility-event > ul > li:nth-child(n + 4) {
  margin-top: 2%;
}
.facility-event dt {
  font-weight: bold;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1;
  border-bottom: dotted 0.4rem var(--brown-pale);
  padding-bottom: 1.2rem;
  margin-bottom: 1.6rem;
}
.facility-event dt i {
  font-size: 2.8rem;
  vertical-align: -0.1rem;
  margin-right: 0.2rem;
}
.facility-event ul {
  margin-bottom: 1.5rem;
}
.facility-event ul ul {
  min-height: 8rem;
}
@media screen and (max-width: 768px) {
  .facility-event ul ul {
    min-height: auto;
  }
}
.facility-event figure {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
.facility-event figure img {
  border-radius: 1rem;
  aspect-ratio: 3 / 2;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 768px) {
  .facility-event > ul {
    display: block;
  }
  .facility-event > ul > li:not(:last-child) {
    margin-bottom: 1.5rem;
  }
  .facility-event > ul > li {
    width: 100%;
    margin-right: 0;
  }
  .facility-event > ul > li:nth-child(3n) {
    margin-right: 0;
  }
  .facility-event > ul > li:nth-child(n + 4) {
    margin-top: 0;
  }
  .facility-event .list-group li:not(:last-child) {
    margin-bottom: 0.5rem;
  }
}
/* ---- 1日の流れ ---- */
.facility-flow ul li:not(:last-child) {
  margin-bottom: 3rem;
}
.facility-flow ul dt {
  text-align: center;
  margin-bottom: 2rem;
  font-weight: bold;
  font-size: 1.8rem;
  color: var(--blue);
}
.facility-flow ul dd {
  display: flex;
  position: relative;
  justify-content: space-between;
}
.facility-flow ul dd::before {
  content: "";
  width: 0.3rem;
  height: 100%;
  background: var(--orange-pale);
  position: absolute;
  left: calc(50% - 0.15rem);
  top: 0;
}
.facility-flow dl.adjust dd::before {
  display: none;
}
.facility-flow ul dl.adjust dd {
  display: block;
  text-align: center;
}

.facility-flow ul li:nth-child(even) dd {
  flex-direction: row-reverse;
}
.facility-flow ul dd > * {
  width: 45%;
}
.facility-flow figure img {
  border-radius: 2rem;
  aspect-ratio: 3 / 2;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 768px) {
  .facility-flow ul li {
    position: relative;
  }
  .facility-flow ul li:not(:last-child)::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 2rem solid transparent;
    border-right: 2rem solid transparent;
    border-top: 2rem solid var(--orange-pale);
    position: absolute;
    left: calc(50% - 2rem);
    bottom: -4.3rem;
  }
  .facility-flow ul li:not(:last-child) {
    margin-bottom: 6rem;
  }
  .facility-flow ul dt {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
  .facility-flow ul dd {
    display: block;
  }
  .facility-flow ul dd::before {
    display: none;
  }
  .facility-flow ul dd > * {
    width: 100%;
  }
  .facility-flow ul dd > figure {
    margin-bottom: 1.5rem;
  }
}

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

news

------------------------------------------- */
.top-news {
  padding: 10rem 0;
}
@media screen and (max-width: 768px) {
  .top-news {
    padding: 8rem 3rem;
  }
}
.top-news h2 {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.top-news ul {
  width: 60rem;
  margin: 0 auto;
}
.news-list li {
  border-bottom: dotted 0.4rem var(--brown-pale);
  padding: 2rem 0;
}
.news-list dl {
  display: flex;
}
.news-list dt {
  width: 12rem;
}
.news-list dd {
  width: calc(100% - 12rem);
}
@media screen and (max-width: 768px) {
  .top-news ul {
    width: auto;
  }
  .news-list dl {
    display: block;
  }
  .news-list dt {
    width: 100%;
    margin-bottom: 0.4rem;
  }
  .news-list dd {
    width: 100%;
  }
}
.top-news .more-wrap {
  margin-top: 4rem;
}
.news .news-list li:nth-child(n + 11) {
  display: none;
}
.news .news-list li:nth-child(n + 11).open {
  display: block;
}
.news .news-list li:nth-child(n + 11).open.hidden {
  display: none;
}
.hidden-view {
  display: none;
}
.hidden-view.open {
  display: block;
}
.button {
  border: none;
  background: var(--blue);
  width: 16rem;
  height: 4.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10rem;
  margin: 4rem auto 0 auto;
  transition: all 0.3s;
}
.button:hover {
  opacity: 0.5;
  cursor: pointer;
}
.button::before {
  content: "もっと見る";
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
}
.button.close::before {
  content: "閉じる";
}

/* news detail */
.news-detail p {
  font-size: 1.6rem;
  line-height: 1.5;
}
.news-detail figure {
  text-align: center;
}
.news-detail img {
  max-width: 800px;
  width: 100%;
  height: auto;
}
.news-detail p + p,
.news-detail figure + p,
.news-detail p + figure,
.news-detail figure + figure {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .news-detail img {
    max-width: 100%;
  }
  .news-detail p {
    font-size: 1.4rem;
  }
  .news-detail p + p,
  .news-detail figure + p,
  .news-detail p + figure,
  .news-detail figure + figure {
    margin-top: 2rem;
  }
}

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

gallery

------------------------------------------- */
.gallery-list {
  display: flex;
  flex-wrap: wrap;
}
.gallery-list li {
  width: 17rem;
  margin-right: calc(3rem / 4);
}
.gallery-list li:nth-child(5n) {
  margin-right: 0;
}
.gallery-list li:nth-child(n + 6) {
  margin-top: calc(3rem / 4);
}
.gallery-list img {
  height: 17rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .gallery-list li {
    width: 24%;
    margin-right: calc(4% / 3);
  }
  .gallery-list li:nth-child(5n) {
    margin-right: auto;
  }
  .gallery-list li:nth-child(4n) {
    margin-right: 0;
  }
  .gallery-list li:nth-child(n + 6) {
    margin-top: auto;
  }
  .gallery-list li:nth-child(n + 5) {
    margin-top: calc(4% / 3);
  }
  .gallery-list img {
    height: 15rem;
    object-fit: cover;
  }
}
@media screen and (max-width: 430px) {
  .gallery-list img {
    height: 11rem;
  }
}
@media screen and (max-width: 414px) {
  .gallery-list img {
    height: 8rem;
  }
}
.youtube p {
  text-align: center;
  font-size: 1.8rem;
  color: var(--blue);
}
.check-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4rem;
}
select {
  padding: 0.5rem;
  font-size: 1.7rem;
}
