html {
  scroll-behavior: smooth;
}

main {
  /* overflow: hidden; */
  position: relative;
  padding-bottom: 10rem;
  background-image: url(../img/bg/bg_long2x_2.png);
  background-size: cover;
}

.pc_only {
  display: block;
}

.sp_only {
  display: none;
}

.section--mainvisual {
  margin-left: 7rem;
  margin-top: 5rem;
}

.hiyoko_about__title {
  font-size: 2.8rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  display: flex;
  align-items: center;
}

.hiyoko_about__title::before {
  content: "";
  width: 1.1rem;
  height: 4rem;
  background-color: #8177DF;
  display: block;
  margin-right: 0.5rem;
}

.hiyoko_about__title span:nth-of-type(1) {
  margin-left: 3rem;
}

.hiyoko_about__title span:nth-of-type(2) {
  margin-left: 2rem;
  color: #FFFFFF;
  font-size: 2.4rem;
  font-weight: 300;
  border: 0.1rem solid #000000;
  border-radius: 1rem;
  background-color: #8177DF;
  padding: 0.1rem 2rem;
}

.section--mainvisual img {
  width: 83.6rem;
  height: 47rem;
  box-shadow: 0.6rem 0.6rem 0 #8177DF;
  border-radius: 2rem;
  margin-top: 3rem;
}

.main_section {
  width: 83.6rem;
  padding: 6rem 3rem;
  border: 0.1rem solid #000000;
  border-radius: 1rem;
  margin-top: 9.8rem;
  margin-left: 7rem;
  background-color: #FFFFFF;
  margin-bottom: 10rem;
}

.section--about {
  margin-bottom: 10rem;
  scroll-margin-top: 10rem;
}

.main_section h2 {
  font-size: 2.5rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  display: flex;
}

.main_section h2::before {
  content: "";
  width: 1rem;
  height: 4rem;
  background-color: #8177DF;
  display: block;
  margin-right: 0.5rem;
}

.section--about h2 span {
  margin-left: 2rem;
}

.main_section h3 {
  font-size: 2rem;
  font-weight: 500;
  display: flex;
  margin-top: 7rem;
}

.main_section h3:first-of-type {
  margin-top: 3rem;
}

.main_section h3::before {
  content: "";
  width: 3rem;
  height: 0.4rem;
  background-color: #8177DF;
  display: block;
  margin-right: 1rem;
  margin-top: 1.3rem;
}

/* スライダー */
.swiper {
  width: 40rem;
  height: 26.1rem;
  margin: 0 auto;
  position: relative;
  margin-top: 5.4rem;
}

.swiper_content {
  position: relative;
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
}

.swiper-button-prev {
  left: 12rem;
}

.swiper-button-next {
  right: 12rem;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 3.5rem;
  width: 3.5rem;
  position: absolute;
}

.swiper-button-prev::after {
  background-image: url(../img/swiperarrowhiyoko.png);
}

.swiper-button-next::after {
  background-image: url(../img/swiperarrowhiyoko.png);
  transform: rotatey(180deg);
  filter: contrast(1);
}

.swiper-pagination-bullet-active {
  background-color: #8177DF;
}

.gallery_img {
  width: 39.2rem;
  height: 26.1rem;
  display: block;
  margin: 0 auto;
  filter: brightness(1.2);
}

.hiyoko_policy {
  margin-top: 7rem;
}

.hiyoko_policy p {
  color: #118251;
  font-size: 1.5rem;
  display: flex;
  gap: 1.5rem;
  font-weight: 400;
  width: fit-content;
  margin-left: 3rem;
  margin-top: 1.5rem;
}

.hiyoko_target p {
  margin-top: 1.5rem;
  color: #118251;
  font-size: 1.5rem;
  margin-left: 4rem;
}

.hiyoko_target ul {
  display: flex;
  flex-flow: column;
  gap: 1rem;
  margin-left: 5rem;
  margin-top: 1rem;
  margin-bottom: 3rem;
}

.hiyoko_target ul:last-of-type {
  margin-bottom: 1rem;
}

.hiyoko_target li {
  font-size: 1.5rem;
  font-weight: 400;
}

.hiyoko_target li::before {
  content: "";
  width: 0.3rem;
  height: 0.3rem;
  display: inline-block;
  border-radius: 100%;
  background: #000000;
  position: relative;
  left: -1rem;
  top: -0.3rem;
}

.hiyoko_target .target--annotation {
  color: #000000;
}

.section--overview {
  scroll-margin-top: 10rem;
}

.overview_content dl {
  display: flex;
  width: 74.6rem;
  border-bottom: 0.1rem solid #707070;
  font-size: 1.6rem;
  font-weight: 400;
  padding: 1.5rem 0 1.5rem 1rem;
}

.overview_content dt {
  width: 6.6rem;
}

.overview_content dd {
  margin-left: 6.3rem;
}

.overview_content--multiple_row {
  line-height: 3rem;
  margin-top: -0.3rem;
}

.overview_content p {
  font-size: 1.5rem;
  margin-left: 4rem;
  margin-top: 1.5rem;
  margin-bottom: 7rem;
}

.overview_content .overview_content--open_time {
  border: none;
}

.overview_content .overview_content--open_time dt {
  width: 14.5rem;
}

.overview_content .overview_content--open_time dd {
  margin-left: 3rem;
}

.overview_content .overview_content--open_time2 {
  line-height: 3rem;
  margin-top: -0.3rem;
}

.section--day {
  scroll-margin-top: 10rem;
}

.hiyoko_day_flow {
  display: flex;
  flex-flow: column;
  gap: 3rem;
  margin-top: 3.2rem;
  margin-bottom: 7rem;
}

.hiyoko_day_flow_content {
  display: flex;
  position: relative;
}

.hiyoko_day_flow__time {
  padding: 0.5rem 0;
  background-color: #F2B2CC;
  font-size: 1.5rem;
  font-family: "Zen Maru Gothic", sans-serif;
  width: 10.8rem;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.3rem;
}

.hiyoko_day_flow__to {
  font-size: 1.6rem;
  font-weight: 400;
  margin-left: 2.9rem;
  display: flex;
  align-items: center;
}

.hiyoko_day_flow_content img {
  width: 20.6rem;
  height: 13.9rem;
  position: absolute;
  right: 1.4rem;
  top: -1rem;
}

.hiyoko__system {
  font-size: 1.5rem;
  font-weight: 400;
  margin-left: 4rem;
  width: 73.6rem;
  letter-spacing: 0.075rem;
  line-height: 3rem;
  margin-top: 1.5rem;
}

.hiyoko_sideber {
  border-radius: 1rem;
  background-color: #FFFFFF;
  border: 0.1rem solid #000000;
  font-size: 1.6rem;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
  width: 27.9rem;
  height: fit-content;
  padding: 1.5rem 0 1.5rem 2rem;
  display: flex;
  flex-flow: column;
  gap: 1rem;
  position: sticky;
  top: 25.9rem;
  bottom: auto;
}

.allwrapper {
  height: 451rem;
  display: flex;
  flex-flow: row-reverse;
  justify-content: start;
  gap: 2.5rem;
}

.hiyoko_sideber a:nth-of-type(4) {
  margin-top: 1rem;
}

.hiyoko_sideber a:nth-of-type(4),
.hiyoko_sideber a:nth-of-type(5) {
  background-color: #F7F1DC;
  border-radius: 1rem;
  padding: 1.5rem 0 1.5rem 2em;
  width: 22rem;
  display: flex;
}

.hiyoko_sideber span {
  margin-left: 1.5rem;
  width: 2rem;
  height: 2rem;
  display: block;
  transform: rotate(180deg);
  margin-top: 0.3rem;
}

.footer {
  background-color: #F9C1DD;
}

.footer img {
  display: block;
}

.footer div {
  display: none;
}

@media screen and (max-width: 699.98px) {
  .pc_only {
    display: none;
  }

  .sp_only {
    display: block;
  }

  .allwrapper {
    justify-content: center;
    height: auto;
  }

  main {
    padding-bottom: 0;
    background-image: url(../img/bg/bg-long_sp2x.png);
    background-size: cover;
  }

  .hiyoko_sideber {
    display: none;
  }

  .section--mainvisual {
    margin-top: 2rem;
    margin-left: auto;
  }

  .section--mainvisual img {
    width: 35.5rem;
    height: 18rem;
    margin: 0 auto;
    display: block;
  }

  .nav {
    display: none;
  }

  .nav_wrap {
    padding: 1rem 2rem;
    font-family: "Zen Maru Gothic";
    width: 33.5rem;
    border-radius: 1rem;
    border: 0.1rem solid #000000;
    margin: 0 auto 1rem;
    background-color: white;
  }

  .nav_wrap nav {
    display: none;
    font-weight: 500;
    gap: 1.5rem;
  }

  .nav_wrap a {
    font-size: 1.6rem;
  }

  .nav_open {
    font-size: 1.6rem;
    font-weight: 600;
    position: relative;
    transition: 0.7s;
  }

  .nav_open.active {
    margin-bottom: 2rem;
  }

  .nav_open::before {
    /* 閉じている時 */
    content: "";
    position: absolute;
    right: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: #8177DF;
    padding-left: 0.5rem;
  }

  .accordion_line {
    width: 1.5rem;
    height: 0.15rem;
    position: absolute;
    background-color: #FFFFFF;
  }

  .accordion_line:nth-of-type(1) {
    top: 1.2rem;
    right: 0.5rem;
  }

  .accordion_line:nth-of-type(2) {
    transform: rotate(90deg);
    top: 1.2rem;
    right: 0.5rem;
    animation: accordionClose 0.5s forwards;
  }

  .nav_open.active .accordion_line:nth-of-type(2) {
    animation: accordionOpen 0.5s forwards;
  }

  @keyframes accordionOpen {
    0% {
      opacity: 1;
      transform: rotate(90deg);
    }

    100% {
      opacity: 0;
      transform: rotate(180deg);
    }
  }

  @keyframes accordionClose {
    0% {
      opacity: 0;
      transform: rotate(180deg);
    }

    100% {
      opacity: 1;
      transform: rotate(90deg);
    }
  }

  .nav_open.active::before {
    /* 開いている時 */
    content: "";
  }


  .nav_text {
    font-size: 1.6rem;
    margin-bottom: 1rem;
    display: block;
  }

  .nav_text_aut {
    display: flex;
    font-size: 1.6rem;
    width: 20rem;
    height: 5.4rem;
    margin-bottom: 1rem;
    padding: 1.5rem 2rem;
    background-color: #F7F1DC;
    border-radius: 1rem;

  }

  .nav_text_aut img {
    transform: rotate(180deg);
    width: 2.5rem;
    height: 2.5rem;
    margin-left: 0.5rem;
    margin-top: 0.2rem;
  }

  .hiyoko_about__title--sp {
    text-align: center;
    width: fit-content;
    margin: 3rem auto 3rem;
    color: #FFFFFF;
    font-size: 2rem;
    font-weight: 500;
    font-family: "Zen Maru Gothic", sans-serif;
  }

  .hiyoko_about__title--sp span:first-of-type {
    background-color: #8177DF;
    border-radius: 1rem;
    display: block;
    padding: 1rem;
  }

  .hiyoko_about__title--sp span:last-of-type {
    background-color: #8177DF;
    border-radius: 1rem;
    padding: 1rem;
  }

  .main_section {
    margin: 0 auto;
    width: 33.5rem;
    padding: 3rem 1rem 6rem;
    margin-bottom: 10rem;
  }

  .section--about {
    margin-bottom: 7rem;
  }

  .main_section h2 {
    font-size: 2rem;
    font-weight: 500;
  }

  .main_section h2::before {
    width: 0.5rem;
    height: 2.4rem;
    margin-top: 0.3rem;
  }

  .main_section h3:first-of-type {
    margin-top: 1.5rem;
  }

  .main_section h3 {
    font-size: 1.6rem;
    font-weight: 500;
    margin-top: 5rem;
  }

  .main_section h3::before {
    width: 2rem;
    height: 0.4rem;
    margin-top: 1.1rem;
  }

  .gallery_img {
    width: 25rem;
    height: 17rem;
  }

  .swiper {
    width: 25rem;
    height: auto;
    margin-top: 1rem;
  }

  .swiper-button-next {
    right: 0;
  }

  .swiper-button-prev {
    left: 0;
  }

  .swiper-button-prev,
  .swiper-button-next {
    top: 9rem;
  }

  .swiper-button-prev::after,
  .swiper-button-next::after {
    height: 3rem;
    width: 3rem;
  }

  .hiyoko_policy {
    margin-top: 5rem;
  }

  .hiyoko_policy p {
    font-size: 1.4rem;
    gap: 1rem;
    margin-top: 1rem;
  }

  .hiyoko_target h3:first-of-type {
    margin-top: 5rem;
  }

  .hiyoko_target p {
    font-size: 1.4rem;
    margin-left: 2rem;
  }

  .hiyoko_target ul {
    margin-left: 3rem;
  }

  .hiyoko_target li {
    font-size: 1.4rem;
  }

  .overview_content p {
    margin-top: 1rem;
  }

  .overview_content dd {
    margin-left: 0;
  }

  .overview_content dl {
    flex-flow: column;
    width: 26.9rem;
    margin-left: 2rem;
  }

  .overview_content--multiple_row {
    margin-top: 1rem;
    line-height: 2rem;
  }

  .hiyoko_day_flow {
    margin-top: 1rem;
    gap: 1.5rem;
  }

  .hiyoko_day_flow img {
    width: 28.9rem;
    height: 17rem;
    display: block;
    margin: 0 auto;
  }

  .hiyoko_day_flow_content {
    flex-flow: column;
    gap: 1.5rem;
  }

  .hiyoko_day_flow__time {
    font-size: 1.4rem;
  }

  .hiyoko_day_flow__to {
    margin-left: 1rem;
    font-size: 1.4rem;
  }

  .hiyoko__system {
    font-size: 1.4rem;
    width: 28.9rem;
    margin: 1.5rem auto 0rem;
  }


}