@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

html {
  position: relative;
}

html {
  background-color: white;
  font-size: calc(100vw / 375 * 100);
}
@media screen and (min-width: 768px) {
  html {
    font-size: min(calc(100vw / 1456 * 100), 100px);
  }
}

strong {
  font-weight: 700;
}

a {
  transition: 0.3s;
  text-decoration: none;
  cursor: pointer;
}
a:hover {
  opacity: 0.6;
}

img {
  display: inline-block;
}

ul {
  list-style: none;
}

body {
  font-weight: 500;
  color: #2E483F;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 150%;
  letter-spacing: 0;
  position: relative;
  will-change: top;
  -webkit-text-size-adjust: none;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 0.16rem;
  }
}
body * {
  box-sizing: border-box;
  object-fit: cover;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  max-width: 100%;
  font-weight: inherit;
  color: inherit;
}

section {
  position: relative;
}

::selection {
  background: #BA9041;
  color: white;
}

::-moz-selection {
  background: #BA9041;
  color: white;
}

#contact {
  text-align: center;
  color: white;
  background-image: url("../img/common/contact_sp.webp");
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 1.29rem;
  padding-bottom: 1.48rem;
}
@media screen and (min-width: 768px) {
  #contact {
    padding-top: 1.43rem;
    padding-bottom: 1.61rem;
    background-image: url("../img/common/contact_pc.webp");
  }
}
#contact .l-heading {
  font-family: larken, serif;
  font-size: 0.4rem;
  line-height: 0.42rem;
  letter-spacing: 0.02em;
  font-weight: 400;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #contact .l-heading {
    font-size: 0.55rem;
    line-height: 0.59rem;
    margin-bottom: 0.22rem;
  }
}
#contact .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.31rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.46rem;
}
@media screen and (min-width: 768px) {
  #contact .l-desc {
    line-height: 0.21rem;
    margin-bottom: 0.54rem;
  }
}
#contact .c-btn--chevron {
  margin: auto;
}

#general-page {
  padding-top: 0.6rem;
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #general-page {
    padding-top: 1.18rem;
    padding-bottom: 2rem;
  }
}

#four-zero-four {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  #four-zero-four {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}
#four-zero-four span {
  border-radius: 100%;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #2E483F;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-family: larken, serif;
  font-size: 0.7rem;
  line-height: 1rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin: auto;
}
@media screen and (min-width: 768px) {
  #four-zero-four span {
    width: 3rem;
    height: 3rem;
    font-size: 1.2rem;
    line-height: 1.5rem;
  }
}

@keyframes mv {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: scale(1.1);
  }
}
#fv {
  position: relative;
  width: 100%;
  height: 100vh;
}
#fv .l-logo {
  position: absolute;
  z-index: 2;
  top: calc(2.62rem + (100vh - 7.23rem) / 2);
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  #fv .l-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.38rem;
    top: calc(2.51rem + (100vh - 8.42rem) / 2);
  }
}
#fv .l-logo #fv-logo {
  display: none;
}
@media screen and (min-width: 768px) {
  #fv .l-logo #fv-logo {
    width: 3.76rem;
    height: 1.96rem;
    display: block;
    object-fit: contain;
  }
}
#fv .l-logo #fv-catch {
  width: 1.78rem;
  height: 0.99rem;
  display: block;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  #fv .l-logo #fv-catch {
    width: 2.06rem;
    height: 0.38rem;
  }
}
#fv .l-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#fv .l-video img {
  width: 100%;
  height: 100%;
}
#fv .l-guide {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  background-color: #BA9041;
  color: white;
  padding: 0.17rem 0.13rem 0.16rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #fv .l-guide {
    left: unset;
    right: 0;
    width: fit-content;
    padding: 0.3rem 0.28rem 0.3rem;
    border-radius: 0.2rem 0 0 0;
  }
}
#fv .l-guide #guide-time dt::before {
  width: 0.17rem;
  height: 0.17rem;
  background-image: url("../img/common/icon_time.svg");
}
@media screen and (min-width: 768px) {
  #fv .l-guide #guide-time dt::before {
    width: 0.24rem;
    height: 0.24rem;
  }
}
#fv .l-guide #guide-price dt::before {
  width: 0.17rem;
  height: 0.15rem;
  background-image: url("../img/common/icon_yen.svg");
}
@media screen and (min-width: 768px) {
  #fv .l-guide #guide-price dt::before {
    width: 0.24rem;
    height: 0.22rem;
  }
}
#fv .l-guide--container {
  display: flex;
  gap: 0.2rem;
  align-items: center;
}
#fv .l-guide--wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
}
@media screen and (min-width: 768px) {
  #fv .l-guide--wrapper {
    gap: 0.15rem;
  }
}
#fv .l-guide--wrapper dl {
  display: flex;
  gap: 0.14rem;
}
@media screen and (min-width: 768px) {
  #fv .l-guide--wrapper dl {
    gap: 0.2rem;
  }
}
#fv .l-guide--wrapper dl dt {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 700;
  width: 1.24rem;
  flex: none;
  display: flex;
  align-items: center;
  gap: 0.06rem;
  border-right: 0.01rem solid white;
}
@media screen and (min-width: 768px) {
  #fv .l-guide--wrapper dl dt {
    font-size: 0.14rem;
    line-height: 0.2rem;
    gap: 0.12rem;
    width: 1.58rem;
  }
}
#fv .l-guide--wrapper dl dt::before {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex: none;
}
#fv .l-guide--wrapper dl dt a {
  text-decoration: underline;
}
#fv .l-guide--wrapper dl dd {
  display: flex;
  gap: 0.1rem;
}
#fv .l-guide--wrapper dl dd p {
  display: flex;
  gap: 0.04rem;
  align-items: baseline;
}
#fv .l-guide--wrapper dl dd p strong {
  font-family: acumin-pro, serif;
  font-size: 0.19rem;
  line-height: 0.19rem;
  letter-spacing: 0.02em;
  font-weight: 600;
  position: relative;
  top: 0.01rem;
}
@media screen and (min-width: 768px) {
  #fv .l-guide--wrapper dl dd p strong {
    font-size: 0.24rem;
    line-height: 0.24rem;
  }
}
#fv .l-guide--wrapper dl dd p b {
  font-family: acumin-pro, serif;
  font-size: 0.18rem;
  line-height: 0.18rem;
  letter-spacing: 0.02em;
  font-weight: 600;
  position: relative;
  top: 0.01rem;
}
@media screen and (min-width: 768px) {
  #fv .l-guide--wrapper dl dd p b {
    font-size: 0.22rem;
    line-height: 0.22rem;
  }
}
#fv .l-guide--wrapper dl dd p small {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  margin-left: 0.02rem;
}
#fv .l-guide--wrapper dl dd p i {
  font-style: normal;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0.06em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #fv .l-guide--wrapper dl dd p i {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
#fv .l-guide--open {
  background-image: url("../img/top/open.svg");
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 189/47;
  width: 1.56rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  #fv .l-guide--open {
    width: 1.89rem;
    margin: unset;
  }
}
#fv .l-menu {
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  z-index: 5;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #F7F7EA;
}
@media screen and (min-width: 768px) {
  #fv .l-menu {
    height: 1.14rem;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    justify-content: center;
  }
}
#fv .l-menu--line {
  width: 3.68rem;
  height: 0.01rem;
  background-color: #E2E2E2;
  margin: auto;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--line {
    display: none;
  }
}
#fv .l-menu--wrapper {
  width: 25%;
  height: 0.68rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  padding-bottom: 0.08rem;
  gap: 0.03rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper {
    width: fit-content;
    min-width: 1.3rem;
    padding-right: 0.23rem;
    padding-left: 0.23rem;
    border-right: 0.01rem solid #E2E2E2;
    padding-bottom: unset;
    gap: 0.07rem;
  }
}
#fv .l-menu--wrapper:nth-of-type(4n)::after {
  content: unset;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper:nth-last-of-type(1) {
    border-right: unset;
  }
}
#fv .l-menu--wrapper::after {
  content: "";
  width: 0.01rem;
  height: 0.54rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #E2E2E2;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper::after {
    content: unset;
  }
}
#fv .l-menu--wrapper img {
  object-fit: contain;
  display: block;
}
#fv .l-menu--wrapper img[src*="icon_menu1.svg"] {
  width: 0.22rem;
  height: 0.18rem;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper img[src*="icon_menu1.svg"] {
    width: 0.27rem;
    height: 0.22rem;
  }
}
#fv .l-menu--wrapper img[src*="icon_menu2.svg"] {
  width: 0.22rem;
  height: 0.18rem;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper img[src*="icon_menu2.svg"] {
    width: 0.21rem;
    height: 0.29rem;
  }
}
#fv .l-menu--wrapper img[src*="icon_menu3.svg"] {
  width: 0.22rem;
  height: 0.18rem;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper img[src*="icon_menu3.svg"] {
    width: 0.29rem;
    height: 0.24rem;
  }
}
#fv .l-menu--wrapper img[src*="icon_menu4.svg"] {
  width: 0.22rem;
  height: 0.18rem;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper img[src*="icon_menu4.svg"] {
    width: 0.32rem;
    height: 0.22rem;
  }
}
#fv .l-menu--wrapper img[src*="icon_menu5.svg"] {
  width: 0.22rem;
  height: 0.18rem;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper img[src*="icon_menu5.svg"] {
    width: 0.34rem;
    height: 0.23rem;
  }
}
#fv .l-menu--wrapper img[src*="icon_menu6.svg"] {
  width: 0.22rem;
  height: 0.18rem;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper img[src*="icon_menu6.svg"] {
    width: 0.23rem;
    height: 0.23rem;
  }
}
#fv .l-menu--wrapper img[src*="icon_menu7.svg"] {
  width: 0.22rem;
  height: 0.18rem;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper img[src*="icon_menu7.svg"] {
    width: 0.39rem;
    height: 0.2rem;
  }
}
#fv .l-menu--wrapper img[src*="icon_menu8.svg"] {
  width: 0.22rem;
  height: 0.18rem;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper img[src*="icon_menu8.svg"] {
    width: 0.23rem;
    height: 0.19rem;
  }
}
#fv .l-menu--wrapper span {
  text-align: center;
  height: 0.27rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.1rem;
  line-height: 0.12rem;
  letter-spacing: -0.05em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #fv .l-menu--wrapper span {
    font-size: 0.13rem;
    line-height: 0.15rem;
    height: 0.34rem;
  }
}

#archive-bg {
  background-image: url("../img/top/bg_sp.webp");
  background-size: 100% 12.86rem;
  background-repeat: no-repeat;
  background-position: bottom center;
}
@media screen and (min-width: 768px) {
  #archive-bg {
    background-image: url("../img/top/bg_pc.webp");
    background-size: 100vw 188.2638888889vw;
  }
}

#top-pick-up {
  padding-top: 0.7rem;
  padding-bottom: 1.24rem;
}
@media screen and (min-width: 768px) {
  #top-pick-up {
    padding-top: 1.22rem;
    padding-bottom: 1.41rem;
  }
}
#top-pick-up .c-heading {
  margin: 0 auto 0.36rem;
}
@media screen and (min-width: 768px) {
  #top-pick-up .c-heading {
    margin-bottom: 0.51rem;
  }
}
#top-pick-up .p-slider {
  margin-bottom: 0.83rem;
}
@media screen and (min-width: 768px) {
  #top-pick-up .p-slider {
    margin-bottom: 0.88rem;
  }
}
#top-pick-up .p-slider .p-archive__top {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0rem;
}
@media screen and (min-width: 768px) {
  #top-pick-up .p-slider .p-archive__top {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
  }
}
#top-pick-up .p-slider .p-archive__date {
  font-family: acumin-pro, serif;
  font-size: 0.11rem;
  line-height: 0.11rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #top-pick-up .p-slider .p-archive__date {
    font-size: 0.13rem;
    line-height: 0.13rem;
  }
}
#top-pick-up .p-slider .p-archive__category {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.1rem;
  line-height: 0.15rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #top-pick-up .p-slider .p-archive__category {
    font-size: 0.11rem;
    line-height: 0.16rem;
  }
}
#top-pick-up .p-slider .p-archive__thumb {
  width: 100%;
  height: 1.53rem;
}
@media screen and (min-width: 768px) {
  #top-pick-up .p-slider .p-archive__thumb {
    height: 2.06rem;
  }
}

#top-archive {
  padding-bottom: 1.24rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top-archive {
    padding-bottom: 1.95rem;
  }
}
#top-archive .c-heading {
  margin: 0 auto 0.5rem;
}
#top-archive .c-btn--half-arrow--center {
  margin-top: 0.6rem;
}
@media screen and (min-width: 768px) {
  #top-archive .c-btn--half-arrow--center {
    margin-top: 0.62rem;
  }
}
#top-archive .l-heading {
  font-family: "EB Garamond", serif;
  font-size: 0.33rem;
  line-height: 0.43rem;
  letter-spacing: 0.04em;
  font-weight: 500;
  writing-mode: vertical-rl;
  display: flex;
  gap: 0.16rem;
  align-items: center;
  position: absolute;
  left: -0.51rem;
  transform: translateX(-100%);
  max-height: unset;
  white-space: nowrap;
}
#top-archive .l-heading::before {
  content: "";
  width: 0.01rem;
  height: 0.87rem;
  background-color: #2E483F;
  flex: none;
  position: relative;
  right: 0.03rem;
}
#top-archive .l-category {
  margin-bottom: 0.44rem;
}
@media screen and (min-width: 768px) {
  #top-archive .l-category {
    margin-bottom: 0.53rem;
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 0.4rem;
  }
}
#top-archive .l-category h3 {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.21rem;
  line-height: 0.3rem;
  letter-spacing: 0.04em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top-archive .l-category .p-category-tab {
    width: 8rem;
  }
}

#top-movie {
  cursor: pointer;
  width: 3.55rem;
  height: 5rem;
  border-radius: 0.2rem;
  background-image: url("../img/top/video_sp.webp");
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 2;
  margin: 0 auto -2.32rem;
  color: white;
}
@media screen and (min-width: 768px) {
  #top-movie {
    width: 95vw;
    height: 48.75vw;
    margin-bottom: -1.69rem;
    background-image: url("../img/top/video_pc.webp");
  }
}
#top-movie:hover .l-play {
  opacity: 0.7;
}
#top-movie .l-content {
  position: absolute;
  top: 0.23rem;
  left: 0.3rem;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  #top-movie .l-content {
    top: 0.79rem;
    left: 0.85rem;
  }
}
#top-movie .l-content h2 {
  font-family: larken, serif;
  font-size: 0.14rem;
  line-height: 0.15rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  padding-bottom: 0.04rem;
  border-bottom: 0.01rem solid white;
  width: fit-content;
  display: block;
}
@media screen and (min-width: 768px) {
  #top-movie .l-content h2 {
    font-size: 0.17rem;
    line-height: 0.18rem;
    padding-bottom: 0.1rem;
  }
}
#top-movie .l-content img {
  width: 1.98rem;
  height: 0.17rem;
  display: blockk;
  object-fit: contain;
  margin-top: 0.16rem;
  margin-bottom: 0.13rem;
}
@media screen and (min-width: 768px) {
  #top-movie .l-content img {
    width: 3.03rem;
    height: 0.26rem;
    margin-top: 0.26rem;
    margin-bottom: 0.21rem;
  }
}
#top-movie .l-content span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0.04em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top-movie .l-content span {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
#top-movie .l-play {
  display: flex;
  flex-direction: column;
  gap: 0.11rem;
  text-align: center;
  position: absolute;
  top: 2.17rem;
  left: 50%;
  transform: translateX(-50%);
  font-family: larken, serif;
  font-size: 0.12rem;
  line-height: 0.13rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  #top-movie .l-play {
    font-size: 0.17rem;
    line-height: 0.18rem;
    top: 20.2083333333vw;
  }
}
#top-movie .l-play::before {
  content: "";
  width: 0.68rem;
  height: 0.68rem;
  background-image: url("../img/common/play.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  #top-movie .l-play::before {
    width: 1.02rem;
    height: 1.02rem;
  }
}
#top-movie .l-movie {
  position: absolute;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: 0.3s;
}
#top-movie .l-movie--active {
  pointer-events: all;
  opacity: 1;
}

#features .c-heading {
  margin: auto;
  margin-bottom: 0.67rem;
}
#features .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.06rem;
  color: white;
}
@media screen and (min-width: 768px) {
  #features .l-container {
    gap: 0.05rem;
  }
}
#features .l-container .l-wrapper {
  background-size: cover;
  background-repeat: no-repeat;
  height: 6.9rem;
  padding-top: 0.91rem;
}
@media screen and (min-width: 768px) {
  #features .l-container .l-wrapper {
    height: 6.8rem;
    padding-top: 1.89rem;
  }
}
#features .l-container .l-wrapper:nth-of-type(1) {
  background-image: url("../img/top/feature1.webp");
}
@media screen and (min-width: 768px) {
  #features .l-container .l-wrapper:nth-of-type(1) {
    background-image: url("../img/top/feature1_pc.webp");
  }
}
#features .l-container .l-wrapper:nth-of-type(2) {
  background-image: url("../img/top/feature2.webp");
}
@media screen and (min-width: 768px) {
  #features .l-container .l-wrapper:nth-of-type(2) {
    background-image: url("../img/top/feature2_pc.webp");
    padding-top: 2.21rem;
  }
  #features .l-container .l-wrapper:nth-of-type(2) .l-content {
    width: 4rem;
    margin-left: auto;
  }
}
#features .l-container .l-wrapper:nth-of-type(3) {
  background-image: url("../img/top/feature3.webp");
}
@media screen and (min-width: 768px) {
  #features .l-container .l-wrapper:nth-of-type(3) {
    background-image: url("../img/top/feature3_pc.webp");
  }
}
#features .l-container .l-title {
  font-family: larken, serif;
  font-size: 0.38rem;
  line-height: 0.4rem;
  letter-spacing: 0.02em;
  font-weight: 400;
  text-align: center;
  margin-bottom: 0.32rem;
}
@media screen and (min-width: 768px) {
  #features .l-container .l-title {
    text-align: left;
    font-size: 0.48rem;
    line-height: 0.51rem;
    margin-bottom: 0.31rem;
  }
}
#features .l-container .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.31rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #features .l-container .l-desc {
    font-size: 0.16rem;
    line-height: 0.38rem;
  }
}

#instagram {
  padding: 3.24rem 0 1.19rem;
}
@media screen and (min-width: 768px) {
  #instagram {
    padding: 2.74rem 0 1.34rem;
  }
}
#instagram .c-heading {
  margin: auto;
  margin-bottom: 0.4rem;
}
@media screen and (min-width: 768px) {
  #instagram .c-heading {
    margin-bottom: 0.58rem;
  }
}
#instagram .c-btn--instagram {
  margin: auto;
}
#instagram .l-slider {
  margin-bottom: 0.57rem;
}
@media screen and (min-width: 768px) {
  #instagram .l-slider {
    margin-bottom: 0.72rem;
  }
}
#instagram .l-slider .swiper-wrapper {
  height: 1.35rem;
  transition-timing-function: linear !important;
}
@media screen and (min-width: 768px) {
  #instagram .l-slider .swiper-wrapper {
    height: 20vw;
  }
}
#instagram .l-slider .swiper-wrapper .swiper-slide {
  max-height: 100%;
  aspect-ratio: 1/1;
  transition: 0.3s;
}
#instagram .l-slider .swiper-wrapper .swiper-slide:hover {
  opacity: 0.7;
}
#instagram .l-slider .swiper-wrapper img {
  width: 100%;
  height: 100%;
  display: block;
}

#access {
  position: relative;
  z-index: 2;
  background-color: white;
  padding-top: 0.81rem;
  padding-bottom: 1.6rem;
}
@media screen and (min-width: 768px) {
  #access {
    padding-top: 1.12rem;
    padding-bottom: 1.2rem;
  }
}
#access .c-heading {
  margin: 0 auto 0.45rem;
}
@media screen and (min-width: 768px) {
  #access .c-heading {
    margin-bottom: 0.57rem;
  }
}
#access #access-flow {
  padding-bottom: 0.21rem;
  margin-top: 0.42rem;
  margin-bottom: 0.88rem;
}
@media screen and (min-width: 768px) {
  #access #access-flow {
    margin-top: 0.72rem;
    margin-bottom: 0.86rem;
  }
}
#access #access-flow .simplebar-content {
  display: flex;
}
#access #access-flow .simplebar-content::before {
  content: "";
  width: 0.25rem;
  display: block;
  flex: none;
}
@media screen and (min-width: 768px) {
  #access #access-flow .simplebar-content::before {
    width: 0rem;
  }
}
#access #access-flow .simplebar-content::after {
  content: "";
  width: 0.25rem;
  display: block;
  flex: none;
}
@media screen and (min-width: 768px) {
  #access #access-flow .simplebar-content::after {
    width: 0rem;
  }
}
#access #access-image {
  max-width: unset;
  width: 7.6rem;
  display: block;
  height: auto;
  margin-bottom: 0.21rem;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  #access #access-image {
    width: 100%;
  }
}
#access .l-map {
  display: flex;
  flex-direction: column;
  gap: 0.17rem;
}
#access .l-map--main {
  width: 3.61rem;
  height: 4.07rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  #access .l-map--main {
    width: 100%;
    height: 4.67rem;
  }
}
#access .l-map--main iframe {
  width: 100%;
  height: 100%;
}
#access .l-map--info {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
@media screen and (min-width: 768px) {
  #access .l-map--info {
    padding-left: unset;
    padding-right: unset;
    width: 10.24rem;
    margin: auto;
  }
}
#access .l-map--info address {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  #access .l-map--info address {
    display: none;
  }
}
#access .l-map--info a {
  color: #BA9041;
  display: flex;
  gap: 0.06rem;
  align-items: baseline;
  border-bottom: 0.01rem solid #BA9041;
  height: fit-content;
  padding-bottom: 0.02rem;
}
@media screen and (min-width: 768px) {
  #access .l-map--info a {
    margin-left: auto;
  }
}
#access .l-map--info a i {
  font-style: normal;
  font-family: larken, serif;
  font-size: 0.16rem;
  line-height: 0.21rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
#access .l-map--info a span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
#access .l-direction {
  width: 3.55rem;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin-top: 1.6rem;
}
@media screen and (min-width: 768px) {
  #access .l-direction {
    margin-top: 1.65rem;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
  }
}
#access .l-direction--wrapper {
  width: 100%;
  height: 2.4rem;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #access .l-direction--wrapper {
    width: 5.23rem;
    height: 3.04rem;
    gap: 0.17rem;
  }
}
#access .l-direction--wrapper h3 {
  display: flex;
  flex-direction: column;
  gap: 0.03rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #access .l-direction--wrapper h3 {
    gap: 0.06rem;
    margin-bottom: 0.06rem;
  }
}
#access .l-direction--wrapper h3 strong {
  font-family: larken, serif;
  font-size: 0.36rem;
  line-height: 0.39rem;
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #access .l-direction--wrapper h3 strong {
    font-size: 0.47rem;
    line-height: 0.5rem;
  }
}
#access .l-direction--wrapper h3 span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0.04em;
  font-weight: 700;
  text-decoration: none;
}
#access .l-direction--wrapper p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #access .l-direction--wrapper p {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
#access .l-direction--wrapper span {
  font-family: larken, serif;
  font-size: 0.14rem;
  line-height: 0.15rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  #access .l-direction--wrapper span {
    font-size: 0.16rem;
    line-height: 0.17rem;
  }
}
#access .l-direction #direction-recruit {
  background-image: url("../img/top/dir_recruit.webp");
}
#access .l-direction #direction-faq {
  background-image: url("../img/top/dir_faq.webp");
}

#concept-intro {
  background-color: #E9B800;
  color: white;
  margin-top: 0.55rem;
  position: relative;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #concept-intro {
    margin-top: 1.31rem;
    padding-bottom: 1.54rem;
  }
}
#concept-intro .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.52rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #concept-intro .l-container {
    margin-bottom: 0.93rem;
    flex-direction: row;
    gap: 1rem;
  }
}
#concept-intro .l-container .l-image {
  width: 3.49rem;
  height: 3.49rem;
  background-image: url("../img/concept/intro1.webp");
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 0 0 0.5rem 0;
}
@media screen and (min-width: 768px) {
  #concept-intro .l-container .l-image {
    width: calc(50% + 1.04rem);
    height: 8rem;
  }
}
#concept-intro .breadcrumbs {
  color: white;
  top: 0.2rem;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  z-index: 3;
}
#concept-intro .breadcrumbs i {
  filter: brightness(0) invert(1);
}
#concept-intro .l-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #concept-intro .l-text {
    gap: 0.59rem;
    width: 3rem;
    padding-left: unset;
    padding-right: unset;
    margin-top: 1.16rem;
  }
}
#concept-intro .l-text .l-heading {
  font-family: larken, serif;
  font-size: 0.14rem;
  line-height: 0.15rem;
  letter-spacing: 0.02em;
  font-weight: 400;
  writing-mode: vertical-rl;
  position: absolute;
  top: -0.29rem;
  left: 0.17rem;
}
@media screen and (min-width: 768px) {
  #concept-intro .l-text .l-heading {
    font-size: 0.17rem;
    line-height: 0.18rem;
    left: unset;
    right: -1.25rem;
    transform: translate(100%, -100%);
    top: -0.16rem;
  }
}
#concept-intro .l-text h1 {
  width: 1.31rem;
  height: 0.73rem;
  background-image: url("../img/common/enjoy.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  #concept-intro .l-text h1 {
    width: 1.59rem;
    height: 0.95rem;
  }
}
#concept-intro .l-text h1 img {
  display: block;
  width: 100%;
  height: 100%;
}
#concept-intro .l-text h1 span {
  display: none;
}
#concept-intro .l-text p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.31rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #concept-intro .l-text p {
    line-height: 0.34rem;
  }
}
#concept-intro .l-gallery {
  display: block;
  width: 100%;
  height: 7.78rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #concept-intro .l-gallery {
    height: 9.71rem;
  }
}
#concept-intro .l-gallery img {
  display: block;
  position: absolute;
}
#concept-intro .l-gallery #gallery1 {
  width: 3.03rem;
  height: 2.09rem;
  top: 0;
  right: 0;
  border-radius: 0.5rem 0 0 0;
}
@media screen and (min-width: 768px) {
  #concept-intro .l-gallery #gallery1 {
    width: calc(50% + 0.43rem);
    height: 5.27rem;
    border-radius: 1rem 0 0 0;
  }
}
#concept-intro .l-gallery #gallery2 {
  width: 2.44rem;
  height: 3.02rem;
  bottom: 2.1rem;
  left: 0;
  border-radius: 0 0.5rem 0 0;
}
@media screen and (min-width: 768px) {
  #concept-intro .l-gallery #gallery2 {
    width: calc(50% - 2.74rem);
    height: 6.2rem;
    bottom: 1.95rem;
    border-radius: 0 0.5rem 0 0;
  }
}
#concept-intro .l-gallery #gallery3 {
  width: 2.46rem;
  height: 1.6rem;
  bottom: 0;
  right: 0;
  border-radius: 0.3rem 0 0 0;
}
@media screen and (min-width: 768px) {
  #concept-intro .l-gallery #gallery3 {
    width: 5.05rem;
    height: 3.28rem;
    right: unset;
    left: calc(50% + 0.35rem);
    border-radius: 0.5rem 0 0 0;
  }
}

#concept-movie {
  width: 100%;
  height: 2.11rem;
  background-image: url("../img/concept/video.webp");
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 2;
  color: white;
}
@media screen and (min-width: 768px) {
  #concept-movie {
    height: 48.75vw;
  }
}
#concept-movie:hover .l-play {
  opacity: 0.7;
}
#concept-movie .l-video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#concept-movie .l-content {
  position: absolute;
  z-index: 2;
  top: 0.23rem;
  left: 0.3rem;
  display: none;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  #concept-movie .l-content {
    display: flex;
    top: 0.79rem;
    left: 1.21rem;
  }
}
#concept-movie .l-content h2 {
  font-family: larken, serif;
  font-size: 0.14rem;
  line-height: 0.15rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  padding-bottom: 0.04rem;
  border-bottom: 0.01rem solid white;
  width: fit-content;
  display: block;
}
@media screen and (min-width: 768px) {
  #concept-movie .l-content h2 {
    font-size: 0.17rem;
    line-height: 0.18rem;
    padding-bottom: 0.1rem;
  }
}
#concept-movie .l-content img {
  display: block;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  #concept-movie .l-content img {
    width: 3.03rem;
    height: 0.26rem;
    margin-top: 0.26rem;
    margin-bottom: 0.21rem;
    display: block;
    object-fit: contain;
  }
}
#concept-movie .l-content span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0.04em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #concept-movie .l-content span {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
#concept-movie .l-mute {
  width: 0.28rem;
  height: 0.28rem;
  background-image: url("../img/common/mute.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0.16rem;
  right: 0.16rem;
  z-index: 10;
  cursor: pointer;
  border-radius: 100%;
  transition: 0.3s;
}
#concept-movie .l-mute:hover {
  opacity: 0.5;
}
#concept-movie .l-mute::before {
  content: "";
  width: unset;
  height: unset;
  background-image: url("../img/common/icon_volume.svg");
}
@media screen and (min-width: 768px) {
  #concept-movie .l-mute {
    bottom: 0.38rem;
    right: 0.47rem;
    width: 0.35rem;
    height: 0.35rem;
  }
}
#concept-movie .l-mute--inactive {
  background-image: url("../img/common/icon_volume.svg");
}

#concept-np {
  padding-top: 1rem;
  padding-bottom: 3.08rem;
}
@media screen and (min-width: 768px) {
  #concept-np {
    padding-top: 1.6rem;
    padding-bottom: 2.08rem;
  }
}
#concept-np .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  #concept-np .l-container {
    flex-direction: row;
    gap: 1.36rem;
  }
}
#concept-np .c-heading {
  margin: auto;
}
@media screen and (min-width: 768px) {
  #concept-np .c-heading {
    margin: unset;
    align-items: flex-start;
  }
}
@media screen and (min-width: 768px) {
  #concept-np .c-btn--half-arrow--center {
    margin-left: unset;
  }
}
#concept-np .l-image {
  width: 3.17rem;
  height: 2.54rem;
  border-radius: 0 0.5rem 0 0;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #concept-np .l-image {
    width: calc(50% - 0.6rem);
    border-radius: 0 1rem 0 0;
    height: 6.34rem;
  }
}
#concept-np .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
#concept-np .l-text {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
@media screen and (min-width: 768px) {
  #concept-np .l-text {
    font-size: 0.15rem;
    line-height: 0.38rem;
    padding-top: 0.38rem;
  }
}
#concept-np .l-text .l-desc {
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  #concept-np .l-text .l-desc {
    margin-top: 0.55rem;
    margin-bottom: 0.9rem;
  }
}
#concept-np .l-deco {
  position: absolute;
  bottom: 1.01rem;
  right: 0;
  width: 1.88rem;
  height: 1.37rem;
  background-image: url("../img/concept/nature_positive2_sp.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top;
}
@media screen and (min-width: 768px) {
  #concept-np .l-deco {
    background-image: url("../img/concept/nature_positive2_pc.webp");
    width: 2.08rem;
    height: 2.89rem;
    bottom: 0.16rem;
  }
}

#concept-enjoy {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #concept-enjoy {
    padding-bottom: 2.71rem;
  }
}
#concept-enjoy .c-heading {
  margin: 0 auto 0.8rem;
}
@media screen and (min-width: 768px) {
  #concept-enjoy .c-heading {
    margin-bottom: 1.36rem;
  }
}
#concept-enjoy .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (min-width: 768px) {
  #concept-enjoy .l-container {
    gap: 1.1rem;
  }
}
@media screen and (min-width: 768px) {
  #concept-enjoy .l-container .l-wrapper {
    width: 100%;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  #concept-enjoy .l-container .l-wrapper .l-text {
    width: 4.42rem;
    padding-top: 0.24rem;
    min-height: 4.3rem;
  }
}
#concept-enjoy .l-container .l-wrapper[data-left] .l-image {
  border-radius: 0 0 0 0.4rem;
}
@media screen and (min-width: 768px) {
  #concept-enjoy .l-container .l-wrapper[data-left] .l-image {
    border-radius: 0 0 0 0.6rem;
    left: calc(50% + 0.2rem);
  }
}
#concept-enjoy .l-container .l-wrapper[data-right] .l-image {
  border-radius: 0 0 0.4rem 0;
  left: -0.25rem;
}
@media screen and (min-width: 768px) {
  #concept-enjoy .l-container .l-wrapper[data-right] .l-image {
    border-radius: 0 0 0.6rem 0;
    right: calc(50% + 0.2rem);
    left: unset;
  }
}
#concept-enjoy .l-container .l-wrapper[data-right] .l-text {
  margin-left: auto;
}
#concept-enjoy .l-container .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-top: 0.34rem;
  margin-bottom: 0.56rem;
}
@media screen and (min-width: 768px) {
  #concept-enjoy .l-container .l-desc {
    margin-bottom: 0.37rem;
    line-height: 0.36rem;
  }
}
#concept-enjoy .l-container .l-desc strong {
  font-weight: 500;
}
#concept-enjoy .l-container .l-image {
  width: 3.5rem;
  height: 2.15rem;
  max-width: unset;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #concept-enjoy .l-container .l-image {
    position: absolute;
    margin-bottom: unset;
    width: calc(50vw - 0.2rem);
    height: 4.3rem;
    flex: none;
    top: 0;
  }
}
#concept-enjoy .l-container .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
#concept-enjoy .l-container .l-button {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #concept-enjoy .l-container .l-button {
    flex-direction: row;
    gap: 0.12rem;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
#concept-enjoy .l-container .l-button .c-btn--half-arrow {
  width: 2.96rem;
  height: 0.54rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
  padding-right: 0.3rem;
}
@media screen and (min-width: 768px) {
  #concept-enjoy .l-container .l-button .c-btn--half-arrow {
    text-align: center;
  }
}
#concept-enjoy .l-container .l-button:not(:last-child) {
  margin-top: 0.4rem;
  margin-bottom: 0.4rem;
}

#play-bg {
  background-image: url("../img/play/bg_sp.webp");
  background-size: 3.75rem 12.69rem;
  background-repeat: no-repeat;
  background-position: center bottom;
}
@media screen and (min-width: 768px) {
  #play-bg {
    background-size: cover;
    background-image: url("../img/play/bg_pc.webp");
  }
}

#play-intro {
  padding-top: 0.6rem;
  padding-bottom: 1.01rem;
}
@media screen and (min-width: 768px) {
  #play-intro {
    padding-top: 1.17rem;
    padding-bottom: 1.8rem;
  }
}
#play-intro .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.51rem;
}
@media screen and (min-width: 768px) {
  #play-intro .l-container {
    flex-direction: row;
    align-items: center;
    gap: unset;
  }
}
#play-intro .l-container .l-image {
  width: 3.5rem;
  height: 2.33rem;
  flex: none;
  border-radius: 0 0.5rem 0 0;
}
@media screen and (min-width: 768px) {
  #play-intro .l-container .l-image {
    width: 50%;
    height: 5.09rem;
    border-top-right-radius: 1rem;
    overflow: hidden;
  }
}
#play-intro .l-container .l-image img {
  display: block;
}
#play-intro .l-container .l-text {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #play-intro .l-container .l-text {
    padding: unset;
    padding-left: unset;
    padding-top: unset;
    width: 100%;
  }
}
#play-intro .l-container .l-text .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-top: 0.28rem;
  margin-bottom: 0.28rem;
}
@media screen and (min-width: 768px) {
  #play-intro .l-container .l-text .l-desc {
    font-size: 0.15rem;
    margin-top: 0.65rem;
    text-align: center;
    margin-bottom: 0.7rem;
  }
}
#play-intro .l-container .l-text .c-btn--round {
  margin: auto;
  width: 2.81rem;
}
@media screen and (min-width: 768px) {
  #play-intro .l-container .l-text .c-btn--round {
    width: 4rem;
  }
}

#play-harappa {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #play-harappa {
    padding-bottom: 2rem;
  }
}
#play-harappa .l-container {
  margin-top: 0.6rem;
  gap: 0.6rem;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  #play-harappa .l-container {
    justify-content: space-between;
    gap: unset;
    flex-direction: row;
  }
}
#play-harappa .l-container .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}
@media screen and (min-width: 768px) {
  #play-harappa .l-container .l-wrapper {
    width: 3.38rem;
    gap: 0.31rem;
  }
}
#play-harappa .l-container .l-image {
  width: 100%;
  height: 2.15rem;
}
@media screen and (min-width: 768px) {
  #play-harappa .l-container .l-image {
    height: 3.38rem;
  }
}
#play-harappa .l-container .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #play-harappa .l-container .l-content {
    padding-left: 0.14rem;
    padding-right: 0.14rem;
  }
}
#play-harappa .l-container .l-content h3 {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #play-harappa .l-container .l-content h3 {
    font-size: 0.22rem;
    line-height: 0.32rem;
  }
}
#play-harappa .l-container .l-content p {
  margin-top: 0.3rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #play-harappa .l-container .l-content p {
    font-size: 0.15rem;
    margin-top: 0.33rem;
  }
}
#play-harappa .l-container .l-content .c-btn--round {
  margin: 0.28rem auto 0;
}
@media screen and (min-width: 768px) {
  #play-harappa .l-container .l-content .c-btn--round {
    margin-top: 0.47rem;
  }
}

#eat-bg {
  position: relative;
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #eat-bg {
    padding-bottom: 2rem;
  }
}
#eat-bg::before {
  content: "";
  background-image: url("../img/eat/bg_sp.webp");
  background-size: 3.75rem 12.69rem;
  background-repeat: no-repeat;
  background-position: center bottom;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #eat-bg::before {
    background-size: cover;
    background-image: url("../img/eat/bg_pc.webp");
  }
}
#eat-bg > * {
  position: relative;
  z-index: 2;
}

#eat-intro {
  padding-top: 0.6rem;
  padding-bottom: 0.67rem;
}
@media screen and (min-width: 768px) {
  #eat-intro {
    padding-top: 1.18rem;
    padding-bottom: 1.4rem;
  }
}
#eat-intro .l-catch {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.3rem;
  letter-spacing: 0.01em;
  font-weight: 700;
  margin-bottom: 0.34rem;
}
@media screen and (min-width: 768px) {
  #eat-intro .l-catch {
    font-size: 0.17rem;
    line-height: 0.37rem;
    letter-spacing: 0.02em;
    margin-bottom: 0.4rem;
    text-align: center;
  }
}
#eat-intro .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #eat-intro .l-desc {
    width: 6.5rem;
    margin: auto;
    font-size: 0.15rem;
  }
}

#eat-eat {
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #eat-eat {
    padding-top: 0.89rem;
    padding-bottom: 1.53rem;
  }
}
#eat-eat .c-heading--underline--center--jp {
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #eat-eat .c-heading--underline--center--jp {
    margin-bottom: 0.8rem;
  }
}
#eat-eat .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
@media screen and (min-width: 768px) {
  #eat-eat .l-container {
    padding-left: unset;
    padding-right: unset;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.95rem 0;
  }
}
#eat-eat .l-container .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
}
@media screen and (min-width: 768px) {
  #eat-eat .l-container .l-wrapper {
    width: 5.09rem;
    gap: 0.52rem;
  }
}
@media screen and (min-width: 768px) {
  #eat-eat .l-container .l-wrapper:nth-last-of-type(1) .l-desc {
    margin-top: 0.33rem;
  }
}
#eat-eat .l-container .l-wrapper .l-image {
  width: 100%;
  height: 2.15rem;
}
@media screen and (min-width: 768px) {
  #eat-eat .l-container .l-wrapper .l-image {
    width: 100%;
    height: 3.38rem;
  }
}
#eat-eat .l-container .l-wrapper .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #eat-eat .l-container .l-wrapper .l-text {
    padding-left: 0.35rem;
    padding-right: 0.35rem;
  }
}
#eat-eat .l-container .l-wrapper .l-heading {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  gap: 0.05rem;
}
@media screen and (min-width: 768px) {
  #eat-eat .l-container .l-wrapper .l-heading {
    gap: 0.16rem;
  }
}
#eat-eat .l-container .l-wrapper .l-heading strong {
  font-family: acumin-pro, serif;
  font-size: 0.2rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #eat-eat .l-container .l-wrapper .l-heading strong {
    font-size: 0.25rem;
    line-height: 0.25rem;
  }
}
#eat-eat .l-container .l-wrapper .l-heading strong i {
  font-style: normal;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #eat-eat .l-container .l-wrapper .l-heading strong i {
    font-size: 0.23rem;
    line-height: 0.34rem;
  }
}
#eat-eat .l-container .l-wrapper .l-heading span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #eat-eat .l-container .l-wrapper .l-heading span {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
#eat-eat .l-container .l-wrapper .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-top: 0.24rem;
  margin-bottom: 0.2rem;
  display: block;
}
@media screen and (min-width: 768px) {
  #eat-eat .l-container .l-wrapper .l-desc {
    font-size: 0.15rem;
    margin-top: 0.5rem;
    margin-bottom: 0.29rem;
  }
}
#eat-eat .l-container .l-wrapper .c-btn--more {
  margin-left: auto;
}

#eat-shopping {
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #eat-shopping {
    padding-top: 0.89rem;
    padding-bottom: 1.53rem;
  }
}
#eat-shopping .c-heading--underline--center--jp {
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #eat-shopping .c-heading--underline--center--jp {
    margin-bottom: 0.8rem;
  }
}
#eat-shopping .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
@media screen and (min-width: 768px) {
  #eat-shopping .l-container {
    padding-left: unset;
    padding-right: unset;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.95rem 0;
  }
}
#eat-shopping .l-container .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
}
@media screen and (min-width: 768px) {
  #eat-shopping .l-container .l-wrapper {
    width: 100%;
    gap: 0.4rem;
  }
}
@media screen and (min-width: 768px) {
  #eat-shopping .l-container .l-wrapper .l-content {
    display: flex;
    justify-content: space-between;
  }
}
#eat-shopping .l-container .l-wrapper .l-image {
  width: 100%;
  height: 2.15rem;
}
@media screen and (min-width: 768px) {
  #eat-shopping .l-container .l-wrapper .l-image {
    width: 100%;
    height: 3.97rem;
  }
}
#eat-shopping .l-container .l-wrapper .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #eat-shopping .l-container .l-wrapper .l-text {
    padding-left: 0.37rem;
    padding-right: 0.37rem;
  }
}
#eat-shopping .l-container .l-wrapper .l-heading {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  gap: 0.05rem;
}
@media screen and (min-width: 768px) {
  #eat-shopping .l-container .l-wrapper .l-heading {
    gap: 0.16rem;
    text-align: left;
  }
}
#eat-shopping .l-container .l-wrapper .l-heading strong {
  font-family: acumin-pro, serif;
  font-size: 0.2rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #eat-shopping .l-container .l-wrapper .l-heading strong {
    font-size: 0.25rem;
    line-height: 0.25rem;
  }
}
#eat-shopping .l-container .l-wrapper .l-heading strong i {
  font-style: normal;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #eat-shopping .l-container .l-wrapper .l-heading strong i {
    font-size: 0.23rem;
    line-height: 0.34rem;
  }
}
#eat-shopping .l-container .l-wrapper .l-heading span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #eat-shopping .l-container .l-wrapper .l-heading span {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
#eat-shopping .l-container .l-wrapper .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-top: 0.24rem;
  margin-bottom: 0.2rem;
  display: block;
}
@media screen and (min-width: 768px) {
  #eat-shopping .l-container .l-wrapper .l-desc {
    margin-top: unset;
    margin-bottom: unset;
    width: 5.68rem;
  }
}
#eat-shopping .l-container .l-wrapper .c-btn--more {
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  #eat-shopping .l-container .l-wrapper .c-btn--more {
    margin-top: 0.19rem;
  }
}

#activity-top {
  padding-top: 0.6rem;
  padding-bottom: 0.95rem;
}
@media screen and (min-width: 768px) {
  #activity-top {
    padding-top: 1.2rem;
    padding-bottom: 1.04rem;
  }
}
#activity-top .l-heading {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.3rem;
  letter-spacing: 0.01em;
  font-weight: 700;
  margin-bottom: 0.34rem;
}
@media screen and (min-width: 768px) {
  #activity-top .l-heading {
    font-size: 0.17rem;
    line-height: 0.37rem;
    margin-bottom: 0.38rem;
    text-align: center;
  }
}
#activity-top .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #activity-top .l-desc {
    font-size: 0.15rem;
    line-height: 0.26rem;
    width: 6.94rem;
    margin: auto;
  }
}

#activity-archive {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #activity-archive {
    padding-bottom: 1.34rem;
  }
}
#activity-archive .c-heading--underline--center--jp {
  margin-bottom: 0.4rem;
}
@media screen and (min-width: 768px) {
  #activity-archive .c-heading--underline--center--jp {
    margin-bottom: 0.34rem;
  }
}
#activity-archive .p-calendar {
  margin-bottom: 0.63rem;
}
@media screen and (min-width: 768px) {
  #activity-archive .p-calendar {
    margin-bottom: 0.83rem;
  }
}

#activity-everyday {
  padding-top: 0.7rem;
  padding-bottom: 1.2rem;
}
@media screen and (min-width: 768px) {
  #activity-everyday {
    padding-top: 1.19rem;
    padding-bottom: 1.65rem;
  }
}
#activity-everyday .c-heading--underline--center--jp {
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #activity-everyday .c-heading--underline--center--jp {
    margin-bottom: 0.64rem;
  }
}

#activity-studio {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #activity-studio {
    padding-bottom: 1.99rem;
  }
}
#activity-studio .c-heading--underline--center--jp {
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #activity-studio .c-heading--underline--center--jp {
    margin-bottom: 0.54rem;
  }
}
#activity-studio .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding-left: 0.1rem;
  padding-right: 0.1rem;
}
@media screen and (min-width: 768px) {
  #activity-studio .l-container {
    padding-left: unset;
    padding-right: unset;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.95rem 0;
  }
}
#activity-studio .l-container .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
}
@media screen and (min-width: 768px) {
  #activity-studio .l-container .l-wrapper {
    width: 5.09rem;
    gap: 0.52rem;
  }
}
#activity-studio .l-container .l-wrapper .l-image {
  width: 3.25rem;
  height: 2.15rem;
}
@media screen and (min-width: 768px) {
  #activity-studio .l-container .l-wrapper .l-image {
    width: 100%;
    height: 3.38rem;
  }
}
#activity-studio .l-container .l-wrapper .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
#activity-studio .l-container .l-wrapper .l-heading {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  gap: 0.05rem;
}
@media screen and (min-width: 768px) {
  #activity-studio .l-container .l-wrapper .l-heading {
    gap: 0.16rem;
  }
}
#activity-studio .l-container .l-wrapper .l-heading strong {
  font-family: acumin-pro, serif;
  font-size: 0.2rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #activity-studio .l-container .l-wrapper .l-heading strong {
    font-size: 0.25rem;
    line-height: 0.25rem;
  }
}
#activity-studio .l-container .l-wrapper .l-heading strong i {
  font-style: normal;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #activity-studio .l-container .l-wrapper .l-heading strong i {
    font-size: 0.23rem;
    line-height: 0.34rem;
  }
}
#activity-studio .l-container .l-wrapper .l-heading span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #activity-studio .l-container .l-wrapper .l-heading span {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
@media screen and (min-width: 768px) {
  #activity-studio .l-container .l-wrapper .l-text {
    padding-left: 0.4rem;
    padding-right: 0.4rem;
  }
}
#activity-studio .l-container .l-wrapper .l-catch {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-top: 0.3rem;
}
@media screen and (min-width: 768px) {
  #activity-studio .l-container .l-wrapper .l-catch {
    font-size: 0.15rem;
    margin-top: 0.52rem;
  }
}
#activity-studio .l-container .l-wrapper .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-top: 0.2rem;
  display: block;
}
@media screen and (min-width: 768px) {
  #activity-studio .l-container .l-wrapper .l-desc {
    font-size: 0.15rem;
  }
}
#activity-studio .l-container .l-wrapper .c-btn--more {
  margin-left: auto;
}

#activity-article {
  padding-bottom: 1.54rem;
}
@media screen and (min-width: 768px) {
  #activity-article {
    padding-bottom: 2.2rem;
  }
}
#activity-article .p-article {
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #activity-article .p-article {
    margin-bottom: 1.16rem;
  }
}
#activity-article .p-navigation {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  #activity-article .p-navigation {
    margin-top: 1.14rem;
  }
}

#flower-intro {
  padding-top: 0.6rem;
  padding-bottom: 0.95rem;
}
@media screen and (min-width: 768px) {
  #flower-intro {
    padding-top: 1.17rem;
    padding-bottom: 1.18rem;
  }
}
#flower-intro .l-link {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.09rem 0.05rem;
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #flower-intro .l-link {
    margin-bottom: 1.2rem;
  }
}
#flower-intro .l-link a {
  display: flex;
  align-items: center;
  flex: none;
  width: 1.58rem;
  height: 0.4rem;
  border-radius: 0.04rem;
  border: 0.01rem solid #B4C6BF;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0.02em;
  font-weight: 700;
  padding-left: 0.12rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #flower-intro .l-link a {
    width: 2.46rem;
    height: 0.54rem;
    justify-content: center;
    padding-left: unset;
  }
}
#flower-intro .l-link a::after {
  content: "";
  width: 0.08rem;
  height: 0.05rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 0.16rem;
  transform: translateY(-50%);
  background-image: url("../img/common/chevron_bottom.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) saturate(100%) invert(24%) sepia(47%) saturate(295%) hue-rotate(108deg) brightness(87%) contrast(89%);
}
@media screen and (min-width: 768px) {
  #flower-intro .l-link a::after {
    width: 0.1rem;
    height: 0.06rem;
    right: 0.18rem;
  }
}
#flower-intro .l-catch {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.3rem;
  letter-spacing: 0.01em;
  font-weight: 700;
  margin-bottom: 0.34rem;
}
@media screen and (min-width: 768px) {
  #flower-intro .l-catch {
    font-size: 0.17rem;
    line-height: 0.37rem;
    text-align: center;
    margin-bottom: 0.38rem;
  }
}
#flower-intro .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #flower-intro .l-desc {
    font-size: 0.15rem;
    line-height: 0.26rem;
    width: 6.32rem;
    margin: auto;
  }
}

#flower-bloom {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #flower-bloom {
    padding-bottom: 1.32rem;
  }
}
#flower-bloom .c-heading--underline--center--jp {
  margin-bottom: 0.58rem;
}
#flower-bloom .c-heading--underline--center--jp strong {
  font-size: 0.19rem;
}
@media screen and (min-width: 768px) {
  #flower-bloom .c-heading--underline--center--jp {
    margin-bottom: 0.4rem;
  }
}
#flower-bloom .c-btn--half-arrow {
  margin: 0.6rem auto 0;
}
@media screen and (min-width: 768px) {
  #flower-bloom .c-btn--half-arrow {
    margin-top: 0.95rem;
  }
}
#flower-bloom .p-archive {
  margin-bottom: 0.6rem;
}
#flower-bloom .p-slider {
  margin-bottom: 0.95rem;
}
#flower-bloom .p-archive__thumb {
  width: 100%;
  height: 2.16rem;
}
@media screen and (min-width: 768px) {
  #flower-bloom .p-archive__thumb {
    height: 2.06rem;
  }
}

#flower-season {
  padding-top: 0.7rem;
}
@media screen and (min-width: 768px) {
  #flower-season {
    padding-top: 1.15rem;
  }
}
#flower-season .c-heading--underline--center--jp {
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #flower-season .c-heading--underline--center--jp {
    margin-bottom: 0.4rem;
  }
}
#flower-season .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 1.62rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #flower-season .l-desc {
    font-size: 0.15rem;
    line-height: 0.26rem;
    margin-bottom: 1.97rem;
  }
}
#flower-season .l-slider {
  position: relative;
  top: -1.13rem;
  user-select: none;
}
@media screen and (min-width: 768px) {
  #flower-season .l-slider {
    top: -1.2rem;
    padding-left: 0.65rem;
    padding-right: 0.65rem;
  }
}
#flower-season .l-slider .swiper-button-disabled {
  opacity: 0.2;
  pointer-events: none;
}
#flower-season .l-slider--next {
  display: none;
}
@media screen and (min-width: 768px) {
  #flower-season .l-slider--next {
    position: absolute;
    cursor: pointer;
    display: block;
    top: 2.7rem;
    right: 0;
    width: 0.19rem;
    height: 0.37rem;
    background-image: url("../img/common/chevron_right_large.svg");
    background-size: contain;
    background-repeat: no-repeat;
    transition: 0.3s;
  }
  #flower-season .l-slider--next:hover {
    opacity: 0.5;
  }
}
#flower-season .l-slider--prev {
  display: none;
}
@media screen and (min-width: 768px) {
  #flower-season .l-slider--prev {
    position: absolute;
    cursor: pointer;
    display: block;
    top: 2.7rem;
    left: 0;
    width: 0.19rem;
    height: 0.37rem;
    background-image: url("../img/common/chevron_right_large.svg");
    background-size: contain;
    background-repeat: no-repeat;
    transform: scaleX(-1);
    transition: 0.3s;
  }
  #flower-season .l-slider--prev:hover {
    opacity: 0.5;
  }
}
#flower-season .l-slider--guide {
  display: flex;
  gap: 0.15rem;
  align-items: center;
  gap: 0.18rem;
}
#flower-season .l-slider--guide--season {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
  gap: 0.09rem;
  border-right: 0.01rem solid #2E483F;
  padding-right: 0.1rem;
}
@media screen and (min-width: 768px) {
  #flower-season .l-slider--guide--season {
    font-size: 0.15rem;
    line-height: 0.21rem;
    padding-right: 0.2rem;
  }
}
#flower-season .l-slider--guide--name {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #flower-season .l-slider--guide--name {
    font-size: 0.15rem;
    line-height: 0.21rem;
  }
}
#flower-season .l-slider--main {
  margin-top: 0.13rem;
  margin-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  #flower-season .l-slider--main {
    margin-top: 0.17rem;
    margin-bottom: 0.05rem;
  }
}
#flower-season .l-slider--thumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.03rem;
}
@media screen and (min-width: 768px) {
  #flower-season .l-slider--thumb {
    gap: 0.04rem;
  }
}
#flower-season .l-slider--thumb--item {
  width: 0.79rem;
  height: 0.44rem;
  transition: 0.3s;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  #flower-season .l-slider--thumb--item {
    width: 1.08rem;
    height: 0.61rem;
  }
}
#flower-season .l-slider--thumb--item:hover {
  opacity: 0.5;
}
#flower-season .l-slider--thumb--item:active {
  opacity: 0.5;
}
#flower-season .l-slider--thumb--item img {
  display: block;
}
#flower-season .l-slider--thumb--item--active {
  opacity: 0.5;
}
#flower-season .l-slider img {
  display: block;
}

#flower-calendar {
  padding-top: 0.7rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #flower-calendar {
    padding-top: 1.25rem;
    padding-bottom: 1.4rem;
  }
}
#flower-calendar .c-heading--underline--center--jp {
  margin-bottom: 0.31rem;
}
@media screen and (min-width: 768px) {
  #flower-calendar .c-heading--underline--center--jp {
    margin-bottom: 0.4rem;
  }
}
#flower-calendar .l-tab {
  margin-bottom: 0.29rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.13rem;
}
@media screen and (min-width: 768px) {
  #flower-calendar .l-tab {
    margin-bottom: 0.4rem;
  }
}
#flower-calendar .l-tab label {
  width: 1.48rem;
  flex: none;
  display: flex;
  align-items: center;
  padding-bottom: 0.11rem;
  border-bottom: 0.01rem solid #B6BFBC;
  cursor: pointer;
  transition: 0.3s;
  color: #B6BFBC;
  white-space: nowrap;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #flower-calendar .l-tab label {
    width: 1.13rem;
    flex-direction: column;
    gap: 0.03rem;
    padding-bottom: 0.08rem;
  }
}
#flower-calendar .l-tab label:hover {
  opacity: 0.7;
}
#flower-calendar .l-tab label strong {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0.02em;
  font-weight: 700;
  width: 2.2em;
}
@media screen and (min-width: 768px) {
  #flower-calendar .l-tab label strong {
    width: unset;
    font-size: 0.15rem;
    line-height: 0.21rem;
  }
}
#flower-calendar .l-tab label span {
  flex-grow: 1;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #flower-calendar .l-tab label span {
    font-size: 0.12rem;
    line-height: 0.17rem;
  }
}
#flower-calendar .l-tab--switch {
  display: none;
}
#flower-calendar .c-full {
  position: relative;
}
#flower-calendar #calendar-switch1:checked {
  background-color: black;
}
#flower-calendar #calendar-switch1:checked ~ .l-tab [for=calendar-switch1] {
  color: #2E483F;
  border-color: #2E483F;
}
#flower-calendar #calendar-switch1:checked ~ .c-full #calendar-image1 {
  display: block;
}
#flower-calendar #calendar-switch1:checked ~ .c-full .l-calendar--prev {
  pointer-events: none;
  opacity: 0.3;
}
#flower-calendar #calendar-switch2:checked {
  background-color: black;
}
#flower-calendar #calendar-switch2:checked ~ .l-tab [for=calendar-switch2] {
  color: #2E483F;
  border-color: #2E483F;
}
#flower-calendar #calendar-switch2:checked ~ .c-full #calendar-image2 {
  display: block;
}
#flower-calendar #calendar-switch3:checked {
  background-color: black;
}
#flower-calendar #calendar-switch3:checked ~ .l-tab [for=calendar-switch3] {
  color: #2E483F;
  border-color: #2E483F;
}
#flower-calendar #calendar-switch3:checked ~ .c-full #calendar-image3 {
  display: block;
}
#flower-calendar #calendar-switch4:checked {
  background-color: black;
}
#flower-calendar #calendar-switch4:checked ~ .l-tab [for=calendar-switch4] {
  color: #2E483F;
  border-color: #2E483F;
}
#flower-calendar #calendar-switch4:checked ~ .c-full #calendar-image4 {
  display: block;
}
#flower-calendar #calendar-switch5:checked {
  background-color: black;
}
#flower-calendar #calendar-switch5:checked ~ .l-tab [for=calendar-switch5] {
  color: #2E483F;
  border-color: #2E483F;
}
#flower-calendar #calendar-switch5:checked ~ .c-full #calendar-image5 {
  display: block;
}
#flower-calendar #calendar-switch6:checked {
  background-color: black;
}
#flower-calendar #calendar-switch6:checked ~ .l-tab [for=calendar-switch6] {
  color: #2E483F;
  border-color: #2E483F;
}
#flower-calendar #calendar-switch6:checked ~ .c-full #calendar-image6 {
  display: block;
}
#flower-calendar #calendar-switch7:checked {
  background-color: black;
}
#flower-calendar #calendar-switch7:checked ~ .l-tab [for=calendar-switch7] {
  color: #2E483F;
  border-color: #2E483F;
}
#flower-calendar #calendar-switch7:checked ~ .c-full #calendar-image7 {
  display: block;
}
#flower-calendar #calendar-switch8:checked {
  background-color: black;
}
#flower-calendar #calendar-switch8:checked ~ .l-tab [for=calendar-switch8] {
  color: #2E483F;
  border-color: #2E483F;
}
#flower-calendar #calendar-switch8:checked ~ .c-full #calendar-image8 {
  display: block;
}
#flower-calendar #calendar-switch8:checked ~ .c-full .l-calendar--next {
  pointer-events: none;
  opacity: 0.3;
}
@media screen and (min-width: 768px) {
  #flower-calendar #calendar-parent {
    margin: auto;
  }
}
#flower-calendar .l-calendar--next {
  display: none;
}
@media screen and (min-width: 768px) {
  #flower-calendar .l-calendar--next {
    display: block;
    position: absolute;
    width: 0.19rem;
    height: 0.37rem;
    background-image: url("../img/common/chevron_right_large.svg");
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    right: -0.29rem;
    transform: translate(100%, -50%);
    cursor: pointer;
    transition: opacity 0.3s;
  }
  #flower-calendar .l-calendar--next:hover {
    opacity: 0.7;
  }
}
#flower-calendar .l-calendar--prev {
  display: none;
}
@media screen and (min-width: 768px) {
  #flower-calendar .l-calendar--prev {
    display: block;
    position: absolute;
    width: 0.19rem;
    height: 0.37rem;
    background-image: url("../img/common/chevron_right_large.svg");
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    left: -0.29rem;
    transform: translate(-100%, -50%) scaleX(-1);
    cursor: pointer;
    transition: opacity 0.3s;
  }
  #flower-calendar .l-calendar--prev:hover {
    opacity: 0.7;
  }
}
#flower-calendar .l-calendar-image {
  width: 6.75rem;
  height: 5.74rem;
  max-width: unset;
  display: none;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  #flower-calendar .l-calendar-image {
    width: 10.24rem;
    height: 5.24rem;
    margin: auto;
  }
}
#flower-calendar .c-btn--black {
  margin: 0.6rem auto 0;
}
@media screen and (min-width: 768px) {
  #flower-calendar .c-btn--black {
    margin-top: 0.7rem;
  }
}

#flower-book {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #flower-book {
    padding-bottom: 1.8rem;
  }
}
#flower-book .u-width {
  position: relative;
  z-index: 2;
}
#flower-book .l-header {
  padding-top: 1.08rem;
  padding-bottom: 1.39rem;
  margin-bottom: -0.99rem;
  position: relative;
  color: white;
}
@media screen and (min-width: 768px) {
  #flower-book .l-header {
    padding-top: 1.42rem;
    padding-bottom: 2.15rem;
  }
}
#flower-book .l-header .c-heading--underline--center--jp {
  margin-bottom: 0.66rem;
}
@media screen and (min-width: 768px) {
  #flower-book .l-header .c-heading--underline--center--jp {
    margin-bottom: 0.32rem;
  }
}
#flower-book .l-header .c-heading--underline--center--jp::after {
  background-color: white;
}
#flower-book .l-header .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #flower-book .l-header .l-desc {
    text-align: center;
    font-size: 0.15rem;
  }
}
#flower-book .l-header .l-header--bg {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#flower-book .l-header .l-header--bg div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  animation: flower-header 21s forwards infinite;
  transform: scale(1.1);
  opacity: 0;
}
#flower-book .l-header .l-header--bg div:nth-of-type(1) {
  background-image: url("../img/flower/flower-book1_sp.webp");
  animation-delay: 0s;
}
@media screen and (min-width: 768px) {
  #flower-book .l-header .l-header--bg div:nth-of-type(1) {
    background-image: url("../img/flower/flower-book1_pc.webp");
  }
}
#flower-book .l-header .l-header--bg div:nth-of-type(2) {
  background-image: url("../img/flower/flower-book2_sp.webp");
  animation-delay: 7s;
}
@media screen and (min-width: 768px) {
  #flower-book .l-header .l-header--bg div:nth-of-type(2) {
    background-image: url("../img/flower/flower-book2_pc.webp");
  }
}
#flower-book .l-header .l-header--bg div:nth-of-type(3) {
  background-image: url("../img/flower/flower-book3_sp.webp");
  animation-delay: 14s;
}
@media screen and (min-width: 768px) {
  #flower-book .l-header .l-header--bg div:nth-of-type(3) {
    background-image: url("../img/flower/flower-book3_pc.webp");
  }
}
#flower-book .p-search {
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #flower-book .p-search {
    margin-bottom: 1.06rem;
  }
}
#flower-book .p-archive {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.17rem 0;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #flower-book .p-archive {
    justify-content: flex-start;
    gap: 0.45rem 0.47rem;
  }
}
#flower-book .p-archive__wrapper {
  width: 1.54rem;
}
@media screen and (min-width: 768px) {
  #flower-book .p-archive__wrapper {
    width: 3.1rem;
  }
}
#flower-book .p-archive__thumb {
  height: 1.02rem;
}
@media screen and (min-width: 768px) {
  #flower-book .p-archive__thumb {
    height: 2.06rem;
  }
}
#flower-book .p-archive__more {
  margin-top: 0.42rem;
}
@media screen and (min-width: 768px) {
  #flower-book .p-archive__more {
    margin-top: 0.23rem;
  }
}

@keyframes flower-header {
  0% {
    opacity: 0;
    transform: scale(1.1);
  }
  5% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  40% {
    opacity: 0;
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
#flower-article {
  padding-bottom: 1.41rem;
}
@media screen and (min-width: 768px) {
  #flower-article {
    padding-bottom: 1.43rem;
  }
}
#flower-article .p-flower {
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #flower-article .p-flower {
    margin-bottom: 1.29rem;
  }
}

#faq-nav {
  padding-top: 0.6rem;
  padding-bottom: 0.84rem;
}
@media screen and (min-width: 768px) {
  #faq-nav {
    padding-top: 0.99rem;
    padding-bottom: 1.45rem;
  }
}
#faq-nav .l-desc {
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.25rem;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin-bottom: 0.41rem;
}
@media screen and (min-width: 768px) {
  #faq-nav .l-desc {
    font-size: 0.17rem;
    margin-bottom: 0.6rem;
  }
}

#faq-main {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #faq-main {
    padding-bottom: 2rem;
  }
}
#faq-main section:not(:last-of-type):not([id=faq-nav]) {
  padding-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #faq-main section:not(:last-of-type):not([id=faq-nav]) {
    padding-bottom: 1rem;
  }
}

#contact-main {
  padding-top: 0.6rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #contact-main {
    padding-top: 1rem;
    padding-bottom: 1.4rem;
  }
}
#contact-main .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.25rem;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #contact-main .l-desc {
    font-size: 0.17rem;
    line-height: 0.37rem;
    text-align: center;
    margin-bottom: 1.15rem;
  }
}
#contact-main .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #contact-main .l-container {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-bottom: 0.8rem;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  #contact-main .l-container .l-wrapper {
    width: 3.87rem;
    flex: none;
  }
}
#contact-main .l-container p {
  margin-top: 0.16rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 400;
}
#contact-main .l-container .c-btn--half-arrow {
  width: 2.96rem;
  height: 0.76rem;
  margin: 0.24rem auto 0;
  text-align: center;
  justify-content: center;
  padding-left: unset;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #contact-main .l-container .c-btn--half-arrow {
    width: 100%;
    height: 0.76rem;
    font-size: 0.16rem;
    line-height: 0.24rem;
  }
}
#contact-main .l-container .c-btn--half-arrow::after {
  content: "";
  right: 0.23rem;
  width: 0.14rem;
  height: 0.05rem;
}
@media screen and (min-width: 768px) {
  #contact-main .l-container .c-btn--half-arrow::after {
    right: 0.28rem;
  }
}
#contact-main .l-box {
  background-color: white;
  border: 0.01rem solid #E1E8E8;
  border-radius: 0.1rem;
  padding: 0.36rem 0.33rem 0.4rem;
  width: 3.45rem;
  max-width: unset;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  #contact-main .l-box {
    width: 8.86rem;
    margin: auto;
    padding: 0.46rem 0.9rem 0.74rem;
    left: unset;
    transform: unset;
  }
}
#contact-main .l-box h2 {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  width: 100%;
  padding-bottom: 0.3rem;
  border-bottom: 0.01rem solid #2E483F;
  margin-bottom: 0.25rem;
}
@media screen and (min-width: 768px) {
  #contact-main .l-box h2 {
    padding-bottom: 0.24rem;
    margin-bottom: 0.24rem;
  }
}
#contact-main .l-box p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #contact-main .l-box p {
    font-size: 0.15rem;
    line-height: 0.26rem;
    margin-bottom: 0.4rem;
  }
}
#contact-main .l-box--button {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #contact-main .l-box--button {
    justify-content: center;
    gap: 0.08rem;
  }
}
#contact-main .l-box--button a {
  width: 1.36rem;
  height: 0.46rem;
}
@media screen and (min-width: 768px) {
  #contact-main .l-box--button a {
    width: 1.59rem;
    height: 0.46rem;
  }
}

#contact-tel {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #contact-tel {
    padding-bottom: 1.96rem;
  }
}
#contact-tel .c-heading--border {
  margin-bottom: 0.16rem;
}
@media screen and (min-width: 768px) {
  #contact-tel .c-heading--border {
    margin-bottom: 0.2rem;
  }
}
#contact-tel .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  #contact-tel .l-desc {
    line-height: 0.21rem;
    margin-bottom: 0.21rem;
  }
}
#contact-tel .l-tel {
  display: flex;
  flex-direction: column;
  gap: 0.01rem;
}
@media screen and (min-width: 768px) {
  #contact-tel .l-tel {
    flex-direction: row;
    align-items: baseline;
    gap: 0.26rem;
  }
}
#contact-tel .l-tel a {
  font-family: acumin-pro, serif;
  font-size: 0.22rem;
  line-height: 0.22rem;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  #contact-tel .l-tel a {
    font-size: 0.27rem;
    line-height: 0.27rem;
  }
}
#contact-tel .l-tel span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
}

#form {
  padding-top: 0.59rem;
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #form {
    padding-top: 0.99rem;
    padding-bottom: 1.96rem;
  }
}
#form .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.96rem;
}
@media screen and (min-width: 768px) {
  #form .l-container {
    flex-direction: row;
    gap: unset;
  }
}
@media screen and (min-width: 768px) {
  #form .l-container .l-left {
    width: 2.22rem;
    padding-top: unset;
    padding-bottom: unset;
    border: unset;
    flex: none;
  }
}
@media screen and (min-width: 768px) {
  #form .l-container .l-right {
    flex-grow: 1;
  }
}
#form .l-desc {
  display: flex;
  flex-direction: column;
  gap: 0.46rem;
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #form .l-desc {
    gap: 0.33rem;
    margin-bottom: 0.73rem;
  }
}
#form .l-desc strong {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #form .l-desc strong {
    font-size: 0.16rem;
    line-height: 0.28rem;
  }
}
#form .l-desc strong small {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
#form .l-desc p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #form .l-desc p {
    font-size: 0.13rem;
    line-height: 0.23rem;
  }
}
@media screen and (min-width: 768px) {
  #form .l-complete {
    padding-top: unset;
    width: 8.06rem;
    margin: auto;
  }
}
#form .l-complete h3 {
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.17rem;
  line-height: 0.25rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #form .l-complete h3 {
    font-size: 0.19rem;
    line-height: 0.27rem;
  }
}
#form .l-complete p {
  display: block;
  margin-top: 0.58rem;
  margin-bottom: 0.6rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #form .l-complete p {
    text-align: center;
    font-size: 0.14rem;
    line-height: 0.28rem;
    margin-top: 0.34rem;
    margin-bottom: 0.6rem;
  }
}
#form .l-complete .c-btn--white {
  margin: auto;
  border-color: #2E483F;
}
@media screen and (min-width: 768px) {
  #form .l-complete .c-btn--white {
    width: 2.8rem;
    height: 0.6rem;
  }
}
#form .l-tel {
  margin-top: 1rem;
}
#form .l-tel p {
  display: block;
  margin-top: 0.16rem;
  margin-bottom: 0.2rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #form .l-tel p {
    margin-top: 0.2rem;
    margin-bottom: 0.22rem;
  }
}
#form .l-tel strong {
  display: flex;
  flex-direction: column;
  gap: 0.01rem;
}
@media screen and (min-width: 768px) {
  #form .l-tel strong {
    flex-direction: row;
    gap: 0.26rem;
    align-items: center;
  }
}
#form .l-tel strong a {
  font-family: acumin-pro, serif;
  font-size: 0.22rem;
  line-height: 0.22rem;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  #form .l-tel strong a {
    font-size: 0.27rem;
    line-height: 0.27rem;
  }
}
#form .l-tel strong span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
  padding-top: 0.04rem;
}

#hours-nav {
  padding-top: 0.6rem;
  padding-bottom: 0.62rem;
}
@media screen and (min-width: 768px) {
  #hours-nav {
    padding-top: 1.17rem;
    padding-bottom: 1.02rem;
  }
}
#hours-nav .p-category-nav {
  gap: 0.09rem;
}
@media screen and (min-width: 768px) {
  #hours-nav .p-category-nav {
    gap: 0.13rem;
  }
}
#hours-nav .p-category-nav__wrapper {
  width: 1.58rem;
  height: 0.4rem;
}
@media screen and (min-width: 768px) {
  #hours-nav .p-category-nav__wrapper {
    width: unset;
    flex-grow: 1;
    height: 0.54rem;
  }
}

#hours-timetable {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #hours-timetable {
    padding-bottom: 1.6rem;
  }
}
#hours-timetable .c-heading--underline--center--jp {
  margin-bottom: 0.43rem;
}
#hours-timetable .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
@media screen and (min-width: 768px) {
  #hours-timetable .l-container {
    flex-direction: row;
    gap: 0.53rem;
  }
}
@media screen and (min-width: 768px) {
  #hours-timetable .l-container .l-top {
    width: 5.91rem;
  }
}
@media screen and (min-width: 768px) {
  #hours-timetable #timetable-pc td:nth-of-type(1) {
    width: 3.13rem;
  }
}
@media screen and (min-width: 768px) {
  #hours-timetable #closed-days {
    width: 3.7rem;
  }
}
#hours-timetable #closed-days tr:nth-last-of-type(1) td {
  border-bottom: unset;
}
#hours-timetable .c-btn--black {
  margin: 0.4rem auto 0;
}
@media screen and (min-width: 768px) {
  #hours-timetable .c-btn--black {
    margin-top: 0.54rem;
  }
}

#hours-price {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #hours-price {
    padding-bottom: 1.6rem;
  }
}
#hours-price .c-heading--underline--center--jp {
  margin-bottom: 0.43rem;
}
#hours-price .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#hours-price .c-table--note {
  margin-top: -0.4rem;
}
@media screen and (min-width: 768px) {
  #hours-price .c-table--note {
    margin-top: 0.1rem;
  }
}
#hours-price .c-table--note td {
  width: 50%;
}
#hours-price .c-btn--black {
  text-align: center;
}
@media screen and (min-width: 768px) {
  #hours-price .c-btn--black {
    width: 3.94rem;
    height: 0.6rem;
  }
}
#hours-price .l-button {
  display: flex;
  flex-direction: column;
  gap: 0.11rem;
  align-items: center;
  margin-top: 0.6rem;
}

#hours-passport {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #hours-passport {
    padding-bottom: 1.6rem;
  }
}
#hours-passport .c-heading--underline--center--jp {
  margin-bottom: 0.43rem;
}
#hours-passport #passport-pc td {
  max-width: 28%;
}
#hours-passport .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-top: 0.18rem;
  margin-bottom: 0.09rem;
}
#hours-passport .l-box {
  width: 3.45rem;
  margin: auto;
  padding: 0.31rem 0.23rem 0.42rem;
  border-radius: 0.1rem;
  background-color: #FFFBD8;
  margin-top: 0.47rem;
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #hours-passport .l-box {
    width: 100%;
    padding: 0.27rem 0.43rem 0.43rem;
  }
}
#hours-passport .l-box--heading {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-bottom: 0.01rem solid #BA9041;
  gap: 0.26rem;
  padding-bottom: 0.14rem;
  margin-bottom: 0.4rem;
}
@media screen and (min-width: 768px) {
  #hours-passport .l-box--heading {
    gap: 0.04rem;
    padding-bottom: 0.22rem;
  }
}
#hours-passport .l-box--heading strong {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
  color: #BA9041;
}
@media screen and (min-width: 768px) {
  #hours-passport .l-box--heading strong {
    font-size: 0.21rem;
    line-height: 0.3rem;
  }
}
#hours-passport .l-box--heading span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #hours-passport .l-box--heading span {
    line-height: 0.2rem;
  }
}
#hours-passport .l-box--wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.44rem;
}
@media screen and (min-width: 768px) {
  #hours-passport .l-box--wrapper {
    flex-direction: row;
    gap: 0.68rem;
  }
}
#hours-passport .l-box--image {
  width: 2.49rem;
  height: 1.6rem;
  flex: none;
}
#hours-passport .l-box--image img {
  display: block;
  width: 100%;
  height: 100%;
}
#hours-passport .l-border {
  display: flex;
  flex-direction: column;
  gap: 0.07rem;
}
#hours-passport .l-border p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.18rem;
  letter-spacing: 0em;
  font-weight: 700;
  padding-bottom: 0.06rem;
  border-bottom: 0.01rem solid #A9B2AF;
  display: block;
  width: fit-content;
}
#hours-passport .l-border b {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
  display: block;
  width: fit-content;
}
#hours-passport .c-btn--ticket {
  margin: 0.6rem auto 0;
}

#hours-group {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #hours-group {
    padding-bottom: 1.6rem;
  }
}
#hours-group .c-heading--underline--center--jp {
  margin-bottom: 0.43rem;
}
#hours-group .l-box {
  width: 3.45rem;
  margin: auto;
  background-color: #F7F7F7;
  border-radius: 0.1rem;
  padding: 0.36rem 0.33rem 0.4rem;
  margin-bottom: 0.39rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-box {
    padding: 0.46rem 1.65rem 0.74rem;
    width: 100%;
    margin-bottom: 1.22rem;
  }
}
#hours-group .l-box--heading {
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
  padding-bottom: 0.3rem;
  border-bottom: 0.01rem solid #2E483F;
  margin-bottom: 0.25rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-box--heading {
    font-size: 0.16rem;
    line-height: 0.24rem;
    padding-bottom: 0.24rem;
    margin-bottom: 0.24rem;
  }
}
#hours-group .l-box--desc {
  margin-bottom: 0.3rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #hours-group .l-box--desc {
    font-size: 0.15rem;
    line-height: 0.26rem;
    margin-bottom: 0.4rem;
  }
}
#hours-group .l-box--button {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #hours-group .l-box--button {
    justify-content: center;
    gap: 0.08rem;
  }
}
#hours-group .l-box--button a {
  width: 1.36rem;
  height: 0.46rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-box--button a {
    width: 1.59rem;
    height: 0.46rem;
  }
}
#hours-group .l-emphasis {
  width: 100%;
  background-color: #F7F7F7;
  padding: 0.22rem 0.21rem 0.4rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-emphasis {
    padding: 0.31rem 0.43rem 0.48rem 0.36rem;
  }
}
#hours-group .l-emphasis--heading {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 700;
  display: flex;
  gap: 0.07rem;
  align-items: center;
  margin-bottom: 0.3rem;
}
#hours-group .l-emphasis--heading::before {
  content: "";
  width: 0.06rem;
  height: 0.06rem;
  border-radius: 100%;
  background-color: #BA9041;
}
@media screen and (min-width: 768px) {
  #hours-group .l-emphasis--content:nth-of-type(1) .l-emphasis--content--main {
    margin-top: 0.1rem;
  }
}
#hours-group .l-emphasis--content a {
  text-decoration: underline;
}
#hours-group .l-emphasis--content .c-heading--border--light-gray {
  margin-bottom: 0.08rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-emphasis--content .c-heading--border--light-gray {
    margin-bottom: 0.1rem;
  }
}
#hours-group .l-emphasis--content:not(:nth-last-of-type(1)) {
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-emphasis--content:not(:nth-last-of-type(1)) {
    margin-bottom: 0.4rem;
  }
}
@media screen and (min-width: 768px) {
  #hours-group .l-emphasis--content--main {
    margin-top: 0.21rem;
    display: flex;
    gap: 0.37rem;
  }
}
#hours-group .l-emphasis--content--main--heading {
  display: flex;
  flex-direction: column;
  gap: 0.07rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.23rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-bottom: 0.12rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-emphasis--content--main--heading {
    gap: 0.04rem;
    margin-bottom: 0.22rem;
  }
}
#hours-group .l-emphasis--content--main--image {
  width: 2.82rem;
  height: 1.88rem;
  margin-top: 0.22rem;
  margin-bottom: 0.15rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-emphasis--content--main--image {
    width: 2.64rem;
    height: 1.76rem;
    flex: none;
    margin-top: unset;
    margin-bottom: unset;
  }
}
#hours-group .l-emphasis--content--main--image img {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #hours-group .l-emphasis--content--main .c-list--caution {
    margin-top: 0.11rem;
  }
}
#hours-group .l-emphasis--content--desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 400;
}
#hours-group .l-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#hours-group .c-heading--side-border {
  margin-bottom: 0.19rem;
}
@media screen and (min-width: 768px) {
  #hours-group .c-heading--side-border {
    margin-bottom: 0.22rem;
  }
}
#hours-group .c-heading--bg {
  margin-bottom: 0.18rem;
}
@media screen and (min-width: 768px) {
  #hours-group .c-heading--bg {
    margin-bottom: 0.21rem;
  }
}
#hours-group .l-content {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-content {
    gap: 0.4rem;
  }
}
#hours-group .l-content--desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #hours-group .l-content--desc {
    line-height: 0.26rem;
  }
}
#hours-group .l-content--desc a {
  text-decoration: underline;
}
#hours-group .l-content--note {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
#hours-group .l-content--child {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-content--child {
    gap: 0.25rem;
  }
}
@media screen and (min-width: 768px) {
  #hours-group .l-content--wrapper .l-content--desc {
    margin-left: 0.19rem;
  }
}
#hours-group .l-content--wrapper .c-heading--border--light-gray {
  margin-bottom: 0.18rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-content--wrapper .c-heading--border--light-gray {
    margin-left: 0.19rem;
  }
}
#hours-group .l-note {
  margin-top: 0.19rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-note {
    padding-left: 0.19rem;
    margin-top: 0.3rem;
  }
}
@media screen and (min-width: 768px) {
  #hours-group #group-method .c-list--caution {
    margin-top: unset;
  }
}
#hours-group #group-download div {
  display: flex;
  flex-direction: column;
  gap: 0.23rem;
}
#hours-group .l-form {
  width: 3.45rem;
  margin: auto;
  background-color: #F7F7F7;
  border-radius: 0.1rem;
  padding: 0.36rem 0.42rem 0.59rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-form {
    padding: 0.45rem 3.15rem 0.71rem;
    width: 100%;
    margin-bottom: 1.22rem;
  }
}
#hours-group .l-form--heading {
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
  padding-bottom: 0.22rem;
  border-bottom: 0.01rem solid #2E483F;
  margin-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  #hours-group .l-form--heading {
    font-size: 0.16rem;
    line-height: 0.24rem;
    padding-bottom: 0.24rem;
    margin-bottom: 0.16rem;
  }
}
#hours-group .l-form--desc {
  margin-bottom: 0.26rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #hours-group .l-form--desc {
    font-size: 0.15rem;
    line-height: 0.26rem;
    margin-bottom: 0.47rem;
    text-align: left;
  }
}
#hours-group .l-form .c-btn--half-arrow {
  text-align: center;
  width: 2.6rem;
  height: 0.73rem;
  padding-left: unset;
  margin: auto;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #hours-group .l-form .c-btn--half-arrow {
    font-size: 0.16rem;
    line-height: 0.24rem;
    width: 100%;
    height: 0.76rem;
  }
}

#facilities-map-bg {
  overflow: hidden;
}

#facilities-map {
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
@media screen and (min-width: 768px) {
  #facilities-map {
    padding-top: 0.9rem;
    padding-bottom: 0.91rem;
    padding-left: unset;
    padding-right: unset;
    width: 14.4rem;
    margin: auto;
    position: relative;
  }
}
#facilities-map #map {
  padding-bottom: 0.21rem;
  margin-top: 0.39rem;
  margin-bottom: 0.53rem;
}
@media screen and (min-width: 768px) {
  #facilities-map #map {
    margin-top: 0.5rem;
    margin-bottom: 0.8rem;
    padding-bottom: unset;
    display: none;
  }
}
#facilities-map #map .simplebar-content {
  display: flex;
}
#facilities-map #map-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  #facilities-map #map-pc {
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 16.75rem;
  }
  #facilities-map #map-pc img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
#facilities-map .p-map {
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  #facilities-map .p-map {
    width: 10.24rem;
    margin: auto;
  }
}
#facilities-map .l-space {
  display: none;
}
@media screen and (min-width: 768px) {
  #facilities-map .l-space {
    height: 12.5rem;
    display: block;
    pointer-events: none;
  }
}
@media screen and (min-width: 768px) {
  #facilities-map .c-full {
    max-width: unset;
    width: 14.4rem;
    position: relative;
    left: 56%;
    transform: translateX(-50%);
  }
}
#facilities-map .l-map-image {
  max-width: unset;
  width: 12.18rem;
  display: block;
  height: auto;
  margin-bottom: 0.21rem;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  #facilities-map .l-map-image {
    width: 100%;
  }
}
#facilities-map area {
  cursor: pointer !important;
}
#facilities-map .c-btn--black {
  margin: auto;
  position: relative;
  z-index: 5;
}

#facilities-bg {
  overflow: hidden;
}

#facilities-area {
  padding-top: 0.7rem;
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #facilities-area {
    padding-top: 1.16rem;
    padding-bottom: 2rem;
  }
}
#facilities-area .l-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.27rem;
  margin-bottom: 0.27rem;
}
@media screen and (min-width: 768px) {
  #facilities-area .l-heading {
    margin-bottom: 0.19rem;
  }
}
#facilities-area .l-heading span {
  color: #BA9041;
  border-bottom: 0.01rem solid #BA9041;
  padding-bottom: 0.09rem;
  font-family: larken, serif;
  font-size: 0.15rem;
  line-height: 0.16rem;
  letter-spacing: 0.02em;
  font-weight: 400;
}
#facilities-area .l-heading strong {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.24rem;
  line-height: 0.35rem;
  letter-spacing: 0.02em;
  font-weight: 700;
}
#facilities-area .l-heading strong b {
  font-family: acumin-pro, serif;
  font-size: 0.41rem;
  line-height: 0.41rem;
  letter-spacing: 0.02em;
  font-weight: 400;
}
#facilities-area .l-top {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 0.96rem;
}
@media screen and (min-width: 768px) {
  #facilities-area .l-top {
    text-align: center;
    font-size: 0.15rem;
    margin-bottom: 1.05rem;
  }
}
#facilities-area .l-container {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media screen and (min-width: 768px) {
  #facilities-area .l-container {
    gap: 1.65rem;
  }
}
@media screen and (min-width: 768px) {
  #facilities-area .l-container .l-wrapper {
    width: 100%;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  #facilities-area .l-container .l-wrapper .l-text {
    width: 4.42rem;
    padding-top: 0.24rem;
  }
}
#facilities-area .l-container .l-wrapper[data-left] .l-image {
  border-radius: 0 0 0 0.4rem;
}
@media screen and (min-width: 768px) {
  #facilities-area .l-container .l-wrapper[data-left] .l-image {
    border-radius: 0 0 0 0.6rem;
    left: calc(50% + 0.2rem);
  }
}
#facilities-area .l-container .l-wrapper[data-right] .l-image {
  border-radius: 0 0 0.4rem 0;
  left: -0.25rem;
}
@media screen and (min-width: 768px) {
  #facilities-area .l-container .l-wrapper[data-right] .l-image {
    border-radius: 0 0 0.6rem 0;
    right: calc(50% + 0.2rem);
    left: unset;
  }
}
#facilities-area .l-container .l-wrapper[data-right] .l-text {
  margin-left: auto;
}
#facilities-area .l-container .l-catch {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-top: 0.25rem;
  margin-bottom: 0.14rem;
  display: block;
}
@media screen and (min-width: 768px) {
  #facilities-area .l-container .l-catch {
    font-size: 0.19rem;
    line-height: 0.33rem;
    margin-top: 0.37rem;
    margin-bottom: 0.24rem;
  }
}
#facilities-area .l-container .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 0.4rem;
}
@media screen and (min-width: 768px) {
  #facilities-area .l-container .l-desc {
    margin-bottom: 0.37rem;
  }
}
#facilities-area .l-container .l-image {
  width: 3.5rem;
  height: 2.15rem;
  max-width: unset;
  position: relative;
  overflow: hidden;
  margin-bottom: 0.4rem;
}
@media screen and (min-width: 768px) {
  #facilities-area .l-container .l-image {
    position: absolute;
    margin-bottom: unset;
    width: calc(50vw - 0.2rem);
    height: 4.7rem;
    flex: none;
    top: 0;
  }
}
#facilities-area .l-container .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
#facilities-area .l-container .l-button {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #facilities-area .l-container .l-button {
    flex-direction: row;
    gap: 0.12rem;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
#facilities-area .l-container .l-button .c-btn--half-arrow {
  width: 2.96rem;
  height: 0.54rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
  padding-right: 0.3rem;
}
@media screen and (min-width: 768px) {
  #facilities-area .l-container .l-button .c-btn--half-arrow {
    text-align: center;
  }
}
#facilities-area .l-container .l-button:not(:last-child) {
  margin-top: 0.4rem;
  margin-bottom: 0.4rem;
}

#access-top {
  padding-top: 0.6rem;
  padding-bottom: 1.23rem;
}
@media screen and (min-width: 768px) {
  #access-top {
    padding-top: 1.17rem;
    padding-bottom: 1.68rem;
  }
}
#access-top #access-image {
  width: 7.61rem;
  max-width: unset;
  display: block;
  height: auto;
}
@media screen and (min-width: 768px) {
  #access-top #access-image {
    width: 100%;
  }
}
#access-top #access-flow {
  padding-bottom: 0.21rem;
}
#access-top #access-flow .simplebar-content {
  display: flex;
}
#access-top #access-flow .simplebar-content::before {
  content: "";
  width: 0.25rem;
  display: block;
  flex: none;
}
@media screen and (min-width: 768px) {
  #access-top #access-flow .simplebar-content::before {
    width: 0rem;
  }
}
#access-top #access-flow .simplebar-content::after {
  content: "";
  width: 0.25rem;
  display: block;
  flex: none;
}
@media screen and (min-width: 768px) {
  #access-top #access-flow .simplebar-content::after {
    width: 0rem;
  }
}
#access-top .l-map {
  width: 3.61rem;
  height: 4.07rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  #access-top .l-map {
    width: 100%;
    height: 4.67rem;
  }
}
#access-top .l-map iframe {
  display: block;
  width: 100%;
  height: 100%;
}
#access-top .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
  align-items: center;
  margin-top: 0.41rem;
  margin-bottom: 0.7rem;
}
@media screen and (min-width: 768px) {
  #access-top .l-container {
    flex-direction: row-reverse;
    align-items: flex-end;
    gap: 0.81rem;
    margin-top: 1.17rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  #access-top .l-container .c-btn--half-arrow--brown {
    width: 2.35rem;
    height: 0.6rem;
    flex: none;
    margin: unset;
  }
}
#access-top .l-container .l-main {
  display: flex;
  flex-direction: column;
  gap: 0.14rem;
}
@media screen and (min-width: 768px) {
  #access-top .l-container .l-main {
    flex-grow: 1;
    gap: 0.18rem;
  }
}
#access-top .l-container .l-main .c-heading--border--light-gray {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #access-top .l-container .l-main .c-heading--border--light-gray {
    font-size: 0.19rem;
    line-height: 0.27rem;
    padding-bottom: 0.08rem;
  }
}
#access-top .l-container .l-main .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.09rem;
}
@media screen and (min-width: 768px) {
  #access-top .l-container .l-main .l-wrapper {
    flex-direction: row;
    gap: 0.34rem;
  }
}
@media screen and (min-width: 768px) {
  #access-top .l-container .l-main .l-top {
    padding-right: 0.55rem;
    border-right: 0.01rem solid #D5D9D7;
  }
}
#access-top .l-container .l-main .l-table {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #access-top .l-container .l-main .l-table {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
#access-top .l-container .l-main .l-table tr:nth-of-type(1) td:nth-of-type(1) {
  padding-bottom: 0.04rem;
  padding-right: 0.16rem;
}
@media screen and (min-width: 768px) {
  #access-top .l-container .l-main .l-table tr:nth-of-type(1) td:nth-of-type(1) {
    padding-bottom: 0.08rem;
    padding-right: 0.29rem;
  }
}
#access-top .l-container .l-main .l-tel {
  font-family: acumin-pro, serif;
  font-size: 0.2rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 600;
  margin-bottom: 0.02rem;
  display: block;
}
@media screen and (min-width: 768px) {
  #access-top .l-container .l-main .l-tel {
    font-size: 0.23rem;
    line-height: 0.23rem;
  }
}
#access-top .l-container .l-main .l-time {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
}

#access-parking {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #access-parking {
    padding-bottom: 3.36rem;
  }
}
#access-parking .c-heading--border--light-gray {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #access-parking .c-heading--border--light-gray {
    font-size: 0.19rem;
    line-height: 0.27rem;
    padding-bottom: 0.08rem;
  }
}
#access-parking .l-map {
  width: 3.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}
@media screen and (min-width: 768px) {
  #access-parking .l-map {
    width: auto;
    flex-grow: 1;
  }
}
#access-parking .l-map img {
  display: block;
  width: 100%;
  height: auto;
}
#access-parking .l-map figcaption {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
}
#access-parking .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.53rem;
  margin-top: 0.3rem;
}
@media screen and (min-width: 768px) {
  #access-parking .l-container {
    flex-direction: row;
    gap: 0.6rem;
    margin-top: 0.7rem;
  }
}
@media screen and (min-width: 768px) {
  #access-parking .l-container .l-table {
    width: 4.82rem;
    flex: none;
  }
}
#access-parking .l-container .c-table tbody {
  border-color: #D5D9D7;
}
#access-parking .l-container .c-table td {
  display: block;
  border-left: unset;
  font-weight: 400;
  border-color: #D5D9D7;
}
@media screen and (min-width: 768px) {
  #access-parking .l-container .c-table td:nth-of-type(1) {
    font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 0.15rem;
    line-height: 0.21rem;
    letter-spacing: 0em;
    font-weight: 500;
    width: 1.63rem;
  }
}
@media screen and (min-width: 768px) {
  #access-parking .l-container .c-table td {
    display: table-cell;
    font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 0.14rem;
    line-height: 0.23rem;
    letter-spacing: 0em;
    font-weight: 400;
  }
}
#access-parking .l-container .c-table [data-gray] {
  padding-top: 0.06rem;
  padding-bottom: 0.06rem;
}
@media screen and (min-width: 768px) {
  #access-parking .l-container .c-table [data-gray] {
    padding-top: 0.18rem;
    padding-bottom: 0.2rem;
  }
}

#company-outline {
  padding-top: 0.59rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #company-outline {
    padding-top: 1rem;
    padding-bottom: 2rem;
  }
}
#company-outline .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.46rem;
}
@media screen and (min-width: 768px) {
  #company-outline .l-container {
    flex-direction: row;
    justify-content: space-between;
  }
}
#company-outline .l-heading {
  display: flex;
  flex-direction: column;
  gap: 0.03rem;
}
@media screen and (min-width: 768px) {
  #company-outline .l-heading {
    gap: 0.07rem;
  }
}
#company-outline .l-heading strong {
  color: #BA9041;
  font-family: larken, serif;
  font-size: 0.28rem;
  line-height: 0.3rem;
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #company-outline .l-heading strong {
    font-size: 0.39rem;
    line-height: 0.41rem;
  }
}
#company-outline .l-heading span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0.04em;
  font-weight: 700;
}
#company-outline .l-main {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (min-width: 768px) {
  #company-outline .l-main {
    width: 7.93rem;
    padding-top: 0.3rem;
  }
}
#company-outline .l-main .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
}
@media screen and (min-width: 768px) {
  #company-outline .l-main .l-wrapper {
    gap: 0.28rem;
  }
}
#company-outline .l-main .l-wrapper dl {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  padding-bottom: 0.16rem;
  border-bottom: 0.01rem solid #D5D9D7;
}
@media screen and (min-width: 768px) {
  #company-outline .l-main .l-wrapper dl {
    padding-bottom: 0.28rem;
    flex-direction: row;
  }
}
#company-outline .l-main .l-wrapper dl dt {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0.02em;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
}
@media screen and (min-width: 768px) {
  #company-outline .l-main .l-wrapper dl dt {
    min-width: 1.27rem;
    padding-left: 0.22rem;
    gap: 0.1rem;
  }
  #company-outline .l-main .l-wrapper dl dt:has(a) {
    font-size: 0.18rem;
    line-height: 0.26rem;
  }
}
#company-outline .l-main .l-wrapper dl dt a {
  color: #BA9041;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0.02em;
  font-weight: 400;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  #company-outline .l-main .l-wrapper dl dt a {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
#company-outline .l-main .l-wrapper dl dd {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
}

#np-intro {
  padding-top: 0.6rem;
  padding-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #np-intro {
    padding-top: 1.17rem;
    padding-bottom: 1.43rem;
  }
}
#np-intro .l-intro {
  padding-bottom: 0.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #np-intro .l-intro {
    padding-bottom: 1.43rem;
  }
}
#np-intro .l-intro--image {
  max-width: unset;
  width: 3.5rem;
  height: 2.33rem;
  position: relative;
  right: 0.25rem;
  overflow: hidden;
  border-radius: 0 0.5rem 0 0;
}
@media screen and (min-width: 768px) {
  #np-intro .l-intro--image {
    position: absolute;
    width: calc(50vw - 0.62rem);
    right: calc(50% + 0.62rem);
    height: 4.5rem;
    border-top-right-radius: 1rem;
  }
}
#np-intro .l-intro--image img {
  display: block;
  width: 100%;
  height: 100%;
}
#np-intro .l-intro--content {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
@media screen and (min-width: 768px) {
  #np-intro .l-intro--content {
    width: 4.74rem;
    margin-left: auto;
  }
}
#np-intro .l-intro--content h2 {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #np-intro .l-intro--content h2 {
    font-size: 0.2rem;
    line-height: 0.37rem;
    letter-spacing: 0.02em;
  }
}
#np-intro .l-intro--content p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
#np-intro .l-bottom {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  #np-intro .l-bottom {
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
#np-intro .l-bottom--image {
  max-width: unset;
  width: 100%;
  height: 2.11rem;
}
@media screen and (min-width: 768px) {
  #np-intro .l-bottom--image {
    width: 4.55rem;
    height: 2.95rem;
  }
}
#np-intro .l-bottom--image img {
  display: block;
  width: 100%;
  height: 100%;
}
#np-intro .l-bottom--content {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
@media screen and (min-width: 768px) {
  #np-intro .l-bottom--content {
    width: 4.5rem;
    gap: 0.36rem;
  }
}
#np-intro .l-bottom--content h2 {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #np-intro .l-bottom--content h2 {
    font-size: 0.2rem;
    line-height: 0.37rem;
  }
}
#np-intro .l-bottom--content p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}

#np-archive {
  padding-top: 0.6rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #np-archive {
    padding-top: 1.28rem;
    padding-bottom: 2rem;
  }
}
#np-archive .c-heading--underline--center--jp {
  margin-bottom: 0.58rem;
}
#np-archive .p-archive {
  margin-bottom: 0.5rem;
}
#np-archive .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #np-archive .l-desc {
    text-align: center;
  }
}
#np-archive .c-btn--chevron--black {
  width: 2.6rem;
  height: 0.54rem;
  margin: auto;
  font-family: larken, serif;
  font-size: 0.15rem;
  line-height: 0.16rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  cursor: pointer;
  transition: 0.3s;
}
#np-archive .c-btn--chevron--black:hover {
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  #np-archive .c-btn--chevron--black {
    width: 3.6rem;
    height: 0.6rem;
    font-family: larken, serif;
    font-size: 0.15rem;
    line-height: 0.16rem;
    letter-spacing: 0.06em;
    font-weight: 500;
  }
}
#np-archive .c-btn--chevron--black::after {
  content: "";
  transform: rotate(90deg);
}

#np-forest {
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #np-forest {
    padding-top: 1.2rem;
    padding-bottom: 2.34rem;
  }
}
#np-forest .c-heading--underline--center--jp {
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #np-forest .c-heading--underline--center--jp {
    margin-bottom: 0.75rem;
  }
}
#np-forest .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  position: relative;
}
#np-forest .l-container .l-image {
  max-width: unset;
  width: 3.5rem;
  height: 2.33rem;
  overflow: hidden;
  border-radius: 0 0.5rem 0 0;
  position: relative;
  left: -0.25rem;
}
@media screen and (min-width: 768px) {
  #np-forest .l-container .l-image {
    position: absolute;
    left: unset;
    right: 50%;
    width: 50vw;
    height: 4.65rem;
  }
}
#np-forest .l-container .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #np-forest .l-container .l-text {
    width: 4.18rem;
    margin-left: auto;
    padding-top: 0.74rem;
  }
}
#np-forest .l-container .l-text .c-heading--underline {
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #np-forest .l-container .l-text .c-heading--underline {
    margin-bottom: 0.32rem;
  }
}
#np-forest .l-container .l-text .l-catch {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.16rem;
}
@media screen and (min-width: 768px) {
  #np-forest .l-container .l-text .l-catch {
    margin-bottom: 0.21rem;
  }
}
#np-forest .l-container .l-text .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #np-forest .l-container .l-text .l-desc {
    font-size: 0.15rem;
  }
}

#np-feature-bg {
  background-image: url("../img/np/feature_bg_sp.webp");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  #np-feature-bg {
    background-image: url("../img/np/feature_bg_pc.webp");
  }
}

#np-feature {
  padding-top: 0.8rem;
  padding-bottom: 1.4rem;
  padding-top: 0.8rem;
}
@media screen and (min-width: 768px) {
  #np-feature {
    padding-top: 1.17rem;
    padding-bottom: 2.01rem;
  }
}
#np-feature .c-heading--underline--center--jp {
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #np-feature .c-heading--underline--center--jp {
    margin-bottom: 0.79rem;
  }
}
#np-feature .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.3rem;
  letter-spacing: 0.01em;
  font-weight: 700;
  margin-bottom: 0.69rem;
}
@media screen and (min-width: 768px) {
  #np-feature .l-desc {
    font-size: 0.16rem;
    line-height: 0.35rem;
    width: 7.02rem;
    margin: 0 auto 1.44rem;
  }
}
#np-feature .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #np-feature .l-container {
    margin-bottom: 1.31rem;
  }
}
#np-feature .l-container .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  #np-feature .l-container .l-wrapper {
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  #np-feature .l-container .l-wrapper:nth-of-type(2n+1) {
    flex-direction: row;
  }
}
#np-feature .l-container .l-wrapper:nth-of-type(2n+1) .l-image {
  left: -0.25rem;
  border-radius: 0 0 0.5rem 0;
}
@media screen and (min-width: 768px) {
  #np-feature .l-container .l-wrapper:nth-of-type(2n+1) .l-image {
    left: unset;
    border-radius: 0 0 0.6rem 0;
  }
}
@media screen and (min-width: 768px) {
  #np-feature .l-container .l-wrapper:nth-of-type(2n) {
    flex-direction: row-reverse;
  }
}
#np-feature .l-container .l-wrapper:nth-of-type(2n) .l-image {
  right: 0rem;
  border-radius: 0 0 0 0.5rem;
}
@media screen and (min-width: 768px) {
  #np-feature .l-container .l-wrapper:nth-of-type(2n) .l-image {
    right: unset;
    border-radius: 0 0 0 0.6rem;
  }
}
#np-feature .l-container .l-image {
  width: 3.5rem;
  height: 2.35rem;
  max-width: unset;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #np-feature .l-container .l-image {
    width: 4.92rem;
    height: 3.3rem;
    flex: none;
  }
}
#np-feature .l-container .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
#np-feature .l-container .l-text {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
}
@media screen and (min-width: 768px) {
  #np-feature .l-container .l-text {
    gap: 0.34rem;
    width: 4.58rem;
    padding-left: 0.16rem;
  }
}
#np-feature .l-container .l-text h3 {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #np-feature .l-container .l-text h3 {
    font-size: 0.22rem;
    line-height: 0.32rem;
  }
}
#np-feature .l-container .l-text p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #np-feature .l-container .l-text p {
    font-size: 0.15rem;
  }
}
#np-feature .l-bottom {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
}
@media screen and (min-width: 768px) {
  #np-feature .l-bottom {
    gap: 0.34rem;
    align-items: center;
    text-align: center;
    margin: auto;
  }
}
#np-feature .l-bottom h3 {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #np-feature .l-bottom h3 {
    font-size: 0.2rem;
    line-height: 0.33rem;
  }
}
#np-feature .l-bottom p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #np-feature .l-bottom p {
    font-size: 0.15rem;
  }
}

#news-archive {
  padding-top: 0.59rem;
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #news-archive {
    padding-top: 1rem;
    padding-bottom: 2.02rem;
  }
}
#news-archive .p-category-list {
  margin-bottom: 0.84rem;
}
@media screen and (min-width: 768px) {
  #news-archive .p-category-list {
    margin-bottom: 1rem;
  }
}
#news-archive .p-archive {
  margin-bottom: 1.01rem;
}
@media screen and (min-width: 768px) {
  #news-archive .p-archive {
    margin-bottom: 1.93rem;
  }
}

#news-article {
  padding-bottom: 1.41rem;
}
@media screen and (min-width: 768px) {
  #news-article {
    padding-bottom: 2rem;
  }
}
#news-article .p-article {
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #news-article .p-article {
    margin-bottom: 1.91rem;
  }
}

#privacy-policy {
  padding-top: 0.6rem;
}
@media screen and (min-width: 768px) {
  #privacy-policy {
    padding-top: 0.99rem;
  }
}
@media screen and (min-width: 768px) {
  #privacy-policy .c-heading--border--light-gray {
    font-size: 0.19rem;
    line-height: 0.27rem;
    padding-bottom: 0.11rem;
  }
}
#privacy-policy #terms {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #privacy-policy #terms {
    padding-bottom: 1.21rem;
  }
}
#privacy-policy #terms .l-desc {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  #privacy-policy #terms .l-desc {
    margin-top: 0.2rem;
    margin-bottom: 0.8rem;
  }
}
#privacy-policy #usage {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #privacy-policy #usage {
    padding-bottom: 0.82rem;
  }
}
#privacy-policy #usage .l-desc {
  margin-top: 0.2rem;
}
@media screen and (min-width: 768px) {
  #privacy-policy #usage .l-desc {
    margin-top: 0.2rem;
  }
}
#privacy-policy #policy {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #privacy-policy #policy {
    padding-bottom: 2rem;
  }
}
#privacy-policy #policy .l-container {
  padding-top: 0.2rem;
}
@media screen and (min-width: 768px) {
  #privacy-policy #policy .l-container {
    padding-top: 0.38rem;
  }
}
#privacy-policy .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
#privacy-policy .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
#privacy-policy .l-container .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
#privacy-policy .l-container .l-wrapper h3 {
  color: #BA9041;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #privacy-policy .l-container .l-wrapper h3 {
    font-size: 0.18rem;
    line-height: 0.26rem;
  }
}
#privacy-policy .l-container .l-wrapper p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #privacy-policy .l-container .l-wrapper p {
    font-size: 0.15rem;
  }
}

#restaurant-intro {
  padding-top: 0.6rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #restaurant-intro {
    padding-top: 1.18rem;
    padding-bottom: 1.18rem;
  }
}
#restaurant-intro .l-heading {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #restaurant-intro .l-heading {
    text-align: center;
    font-size: 0.17rem;
    line-height: 0.37rem;
    margin-bottom: 0.4rem;
  }
}
#restaurant-intro .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #restaurant-intro .l-desc {
    width: 6.5rem;
    margin: auto;
  }
}
#restaurant-intro .c-order {
  margin-top: 0.4rem;
}
@media screen and (min-width: 768px) {
  #restaurant-intro .c-order {
    padding-top: 0.26rem;
    border-top: 0.01rem solid #B6BFBC;
    margin-top: 0.4rem;
  }
}

#restaurant-main {
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #restaurant-main {
    margin-bottom: 0.78rem;
  }
}

#restaurant-menu {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #restaurant-menu {
    padding-bottom: 1.52rem;
  }
}
#restaurant-menu .c-heading--underline--center {
  margin-bottom: 0.38rem;
}
@media screen and (min-width: 768px) {
  #restaurant-menu .c-heading--underline--center {
    margin-bottom: 0.51rem;
  }
}
@media screen and (min-width: 768px) {
  #restaurant-menu #menu1 {
    margin-right: 0.25rem;
  }
}
#restaurant-menu #menu1 .p-menu__image {
  width: 2.38rem;
  height: 1.46rem;
  margin-bottom: 0.28rem;
}
@media screen and (min-width: 768px) {
  #restaurant-menu #menu1 .p-menu__image {
    margin-bottom: 0.37rem;
    width: 2.64rem;
    height: 1.62rem;
  }
}
@media screen and (min-width: 768px) {
  #restaurant-menu #menu2 {
    margin-right: 0.32rem;
  }
}
#restaurant-menu #menu2 .p-menu__image {
  width: 2.34rem;
  height: 1.58rem;
  margin-top: 0.3rem;
  margin-bottom: 0.28rem;
}
@media screen and (min-width: 768px) {
  #restaurant-menu #menu2 .p-menu__image {
    margin-top: unset;
    margin-bottom: 0.38rem;
    width: 2.51rem;
    height: 1.68rem;
  }
}
@media screen and (min-width: 768px) {
  #restaurant-menu #menu3 {
    margin-right: auto;
  }
}
#restaurant-menu #menu3 .p-menu__image {
  width: 2.28rem;
  height: 1.61rem;
  margin-top: 0.3rem;
  margin-bottom: 0.22rem;
}
@media screen and (min-width: 768px) {
  #restaurant-menu #menu3 .p-menu__image {
    margin-top: unset;
    margin-bottom: 0.32rem;
    width: 2.38rem;
    height: 1.69rem;
  }
}
@media screen and (min-width: 768px) {
  #restaurant-menu #menu4 {
    margin-right: auto;
  }
}
#restaurant-menu #menu4 .p-menu__image {
  width: 2.28rem;
  height: 1.61rem;
  margin-top: 0.2rem;
  margin-bottom: 0.16rem;
}
@media screen and (min-width: 768px) {
  #restaurant-menu #menu4 .p-menu__image {
    margin-top: unset;
    margin-bottom: 0.32rem;
    width: 2.36rem;
    height: 1.74rem;
  }
}
#restaurant-menu .c-btn--black {
  margin: 0.8rem auto 0;
}
@media screen and (min-width: 768px) {
  #restaurant-menu .c-btn--black {
    margin-top: 0.6rem;
  }
}

#restaurant-facility {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #restaurant-facility {
    padding-bottom: 1.99rem;
  }
}
#restaurant-facility .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-top: 0.39rem;
}
@media screen and (min-width: 768px) {
  #restaurant-facility .l-container {
    padding-left: unset;
    padding-right: unset;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: unset;
    margin-top: 0.8rem;
  }
}
#restaurant-facility .l-container .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
@media screen and (min-width: 768px) {
  #restaurant-facility .l-container .l-wrapper {
    width: 5.09rem;
    gap: 0.32rem;
  }
}
#restaurant-facility .l-container .l-wrapper .l-image {
  width: 3.25rem;
  height: 2.15rem;
}
@media screen and (min-width: 768px) {
  #restaurant-facility .l-container .l-wrapper .l-image {
    width: 100%;
    height: 3.38rem;
  }
}
#restaurant-facility .l-container .l-wrapper .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
#restaurant-facility .l-container .l-wrapper .l-heading {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  gap: 0.05rem;
}
@media screen and (min-width: 768px) {
  #restaurant-facility .l-container .l-wrapper .l-heading {
    gap: 0.16rem;
  }
}
#restaurant-facility .l-container .l-wrapper .l-heading strong {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #restaurant-facility .l-container .l-wrapper .l-heading strong {
    font-size: 0.21rem;
    line-height: 0.3rem;
  }
}
#restaurant-facility .l-container .l-wrapper .l-heading strong i {
  font-style: normal;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #restaurant-facility .l-container .l-wrapper .l-heading strong i {
    font-size: 0.23rem;
    line-height: 0.34rem;
  }
}
@media screen and (min-width: 768px) {
  #restaurant-facility .l-container .l-wrapper .l-text {
    padding-left: 0.61rem;
    padding-right: 0.61rem;
  }
}
#restaurant-facility .l-container .l-wrapper .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-top: 0.3rem;
  display: block;
}
@media screen and (min-width: 768px) {
  #restaurant-facility .l-container .l-wrapper .l-desc {
    margin-top: 0.32rem;
  }
}

#cafe-intro {
  padding-top: 0.6rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #cafe-intro {
    padding-top: 1.18rem;
    padding-bottom: 1.18rem;
  }
}
#cafe-intro .l-heading {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #cafe-intro .l-heading {
    text-align: center;
    font-size: 0.17rem;
    line-height: 0.37rem;
    margin-bottom: 0.4rem;
  }
}
#cafe-intro .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #cafe-intro .l-desc {
    width: 6.5rem;
    margin: auto;
  }
}
#cafe-intro .c-order {
  margin-top: 0.4rem;
}
@media screen and (min-width: 768px) {
  #cafe-intro .c-order {
    padding-top: 0.26rem;
    border-top: 0.01rem solid #B6BFBC;
    margin-top: 0.4rem;
  }
}

#cafe-menu {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #cafe-menu {
    padding-bottom: 2rem;
  }
}
#cafe-menu .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (min-width: 768px) {
  #cafe-menu .l-container {
    flex-direction: row;
    gap: 1rem;
  }
}
#cafe-menu .l-container .l-image {
  width: 100%;
  height: 3.5rem;
  overflow: hidden;
  border-radius: 0 0.5rem 0 0;
}
@media screen and (min-width: 768px) {
  #cafe-menu .l-container .l-image {
    border-radisu: 0 1rem 0 0;
    flex: none;
    width: 4.45rem;
    height: 5.6rem;
  }
}
#cafe-menu .l-container .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #cafe-menu .l-container .l-content {
    flex-grow: 1;
    padding-top: 0.08rem;
  }
}
#cafe-menu .l-container .l-content .p-menu {
  margin-top: 0.29rem;
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #cafe-menu .l-container .l-content .p-menu {
    margin-top: 0.22rem;
    margin-bottom: 0.62rem;
  }
}
#cafe-menu .l-container .l-content .c-btn--black {
  margin: auto;
}
@media screen and (min-width: 768px) {
  #cafe-menu #menu1 {
    margin-right: 0.49rem;
  }
}
#cafe-menu #menu1 figure {
  width: 1.47rem;
  height: 2rem;
  margin-bottom: 0.22rem;
}
@media screen and (min-width: 768px) {
  #cafe-menu #menu1 figure {
    margin-bottom: 0.23rem;
    width: 1.61rem;
    height: 2.2rem;
  }
}
#cafe-menu #menu2 {
  margin-top: 0.29rem;
}
@media screen and (min-width: 768px) {
  #cafe-menu #menu2 {
    margin-top: unset;
  }
}
#cafe-menu #menu2 figure {
  width: 2.15rem;
  height: 1.79rem;
  margin-bottom: 0.28rem;
}
@media screen and (min-width: 768px) {
  #cafe-menu #menu2 figure {
    margin-bottom: 0.38rem;
    width: 2.47rem;
    height: 2.05rem;
  }
}

#teien-intro {
  padding-top: 0.6rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #teien-intro {
    padding-top: 1.18rem;
    padding-bottom: 1.18rem;
  }
}
#teien-intro .l-heading {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #teien-intro .l-heading {
    text-align: center;
    font-size: 0.17rem;
    line-height: 0.37rem;
    margin-bottom: 0.4rem;
  }
}
#teien-intro .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #teien-intro .l-desc {
    width: 6.5rem;
    margin: auto;
  }
}
#teien-intro .c-order {
  margin-top: 0.4rem;
}
@media screen and (min-width: 768px) {
  #teien-intro .c-order {
    padding-top: 0.26rem;
    border-top: 0.01rem solid #B6BFBC;
    margin-top: 0.4rem;
  }
}

#teien-menu {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #teien-menu {
    padding-bottom: 2rem;
  }
}
#teien-menu .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (min-width: 768px) {
  #teien-menu .l-container {
    flex-direction: row;
    gap: 0.67rem;
  }
}
#teien-menu .l-container .l-image {
  width: 100%;
  height: 3.5rem;
  overflow: hidden;
  border-radius: 0 0.5rem 0 0;
}
@media screen and (min-width: 768px) {
  #teien-menu .l-container .l-image {
    border-radisu: 0 1rem 0 0;
    flex: none;
    width: 4.45rem;
    height: 5.6rem;
  }
}
#teien-menu .l-container .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #teien-menu .l-container .l-content {
    flex-grow: 1;
    padding-top: 0.08rem;
  }
}
#teien-menu .l-container .l-content .p-menu {
  margin-top: 0.55rem;
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #teien-menu .l-container .l-content .p-menu {
    margin-top: 0.63rem;
    margin-bottom: 0.82rem;
  }
}
#teien-menu .l-container .l-content .c-btn--black {
  margin: auto;
}
@media screen and (min-width: 768px) {
  #teien-menu #menu1 {
    margin-right: 0.49rem;
  }
}
#teien-menu #menu1 figure {
  width: 2.49rem;
  height: 1.48rem;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #teien-menu #menu1 figure {
    margin-bottom: 0.32rem;
    width: 2.85rem;
    height: 1.7rem;
  }
}
#teien-menu #menu2 {
  margin-top: 0.29rem;
}
@media screen and (min-width: 768px) {
  #teien-menu #menu2 {
    margin-top: unset;
    position: relative;
    right: 0.4rem;
  }
}
#teien-menu #menu2 figure {
  width: 2.35rem;
  height: 1.96rem;
  margin-bottom: 0.15rem;
  position: relative;
  left: 0.1rem;
}
@media screen and (min-width: 768px) {
  #teien-menu #menu2 figure {
    margin-bottom: 0.32rem;
    width: 2.14rem;
    height: 1.78rem;
  }
}

#deli-main {
  padding-top: 0.6rem;
  padding-bottom: 0.74rem;
}
@media screen and (min-width: 768px) {
  #deli-main {
    padding-top: 1.17rem;
    padding-bottom: 0.8rem;
  }
}
@media screen and (min-width: 768px) {
  #deli-main .c-order {
    margin-top: 0.2rem;
  }
}

#deli-menu {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #deli-menu {
    padding-bottom: 1.65rem;
  }
}
#deli-menu .p-menu {
  margin-top: 0.43rem;
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #deli-menu .p-menu {
    margin-top: -0.06rem;
    margin-bottom: 0.8rem;
  }
}
#deli-menu .c-btn--black {
  margin: auto;
}
@media screen and (min-width: 768px) {
  #deli-menu #menu1 {
    margin-right: 0.4rem;
  }
}
#deli-menu #menu1 figure {
  width: 1.68rem;
  height: 1.37rem;
  margin-bottom: 0.27rem;
}
@media screen and (min-width: 768px) {
  #deli-menu #menu1 figure {
    width: 1.92rem;
    height: 1.58rem;
  }
}
#deli-menu #menu2 {
  margin-top: 0.39rem;
}
@media screen and (min-width: 768px) {
  #deli-menu #menu2 {
    margin-top: unset;
    margin-right: 0.4rem;
  }
}
#deli-menu #menu2 figure {
  width: 2.17rem;
  height: 1.46rem;
  margin-bottom: 0.3rem;
  position: relative;
  left: 0.05rem;
}
@media screen and (min-width: 768px) {
  #deli-menu #menu2 figure {
    width: 2.37rem;
    height: 1.59rem;
  }
}
#deli-menu #menu3 {
  margin-top: 0.13rem;
}
@media screen and (min-width: 768px) {
  #deli-menu #menu3 {
    margin-top: unset;
    margin-right: 0.15rem;
  }
}
#deli-menu #menu3 figure {
  width: 2.21rem;
  height: 2.08rem;
  margin-bottom: 0.15rem;
  position: relative;
  left: 0.04rem;
}
@media screen and (min-width: 768px) {
  #deli-menu #menu3 figure {
    width: 2.54rem;
    height: 2.37rem;
  }
}
#deli-menu #menu4 {
  margin-top: 0.24rem;
}
@media screen and (min-width: 768px) {
  #deli-menu #menu4 {
    margin-top: unset;
  }
}
#deli-menu #menu4 figure {
  width: 1.68rem;
  height: 1.37rem;
  margin-bottom: 0.03rem;
  position: relative;
  right: 0.04rem;
}
@media screen and (min-width: 768px) {
  #deli-menu #menu4 figure {
    width: 1.46rem;
    height: 2.27rem;
  }
}

#deli-stand {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #deli-stand {
    padding-bottom: 2rem;
  }
}

#market-intro {
  padding-top: 0.6rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #market-intro {
    padding-top: 1.18rem;
    padding-bottom: 2rem;
  }
}
#market-intro .l-heading {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.28rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #market-intro .l-heading {
    text-align: center;
    font-size: 0.17rem;
    line-height: 0.37rem;
    margin-bottom: 0.4rem;
  }
}
#market-intro .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #market-intro .l-desc {
    width: 5.42rem;
    margin: auto;
  }
}
#market-intro .l-image {
  width: 100%;
  height: 1.88rem;
  overflow: hidden;
  border-radius: 0 0.5rem 0 0;
  margin-top: 0.8rem;
}
@media screen and (min-width: 768px) {
  #market-intro .l-image {
    margin-top: 1.17rem;
    height: 5.92rem;
  }
}
#market-intro .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}

#market-main {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #market-main {
    padding-bottom: 2rem;
  }
}

#market-shop {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #market-shop {
    padding-bottom: 2rem;
  }
}

#localsights-main {
  padding-top: 0.6rem;
  padding-bottom: 1.6rem;
}
@media screen and (min-width: 768px) {
  #localsights-main {
    padding-top: 0.78rem;
    padding-bottom: 2.49rem;
  }
}
#localsights-main .c-heading--underline--center--jp strong {
  font-size: 0.19rem;
  line-height: 0.27rem;
}
#localsights-main .p-archive {
  margin-top: 0.58rem;
}
@media screen and (min-width: 768px) {
  #localsights-main .p-archive {
    margin-top: 0.41rem;
    flex-direction: row;
    gap: 0.75rem 0.46rem;
    flex-wrap: wrap;
  }
}
#localsights-main .p-archive .c-btn--chevron--black {
  width: 2.6rem;
  height: 0.54rem;
  margin: 0.6rem auto 0;
  font-family: larken, serif;
  font-size: 0.15rem;
  line-height: 0.16rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  cursor: pointer;
}
#localsights-main .p-archive .c-btn--chevron--black:hover {
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  #localsights-main .p-archive .c-btn--chevron--black {
    margin-top: 0.75rem;
    width: 3.6rem;
    height: 0.6rem;
  }
}
#localsights-main .p-archive .c-btn--chevron--black::after {
  transform: translateY(-50%) rotate(90deg);
  width: 0.07rem;
  height: 0.13rem;
}

#localsights-map {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #localsights-map {
    padding-bottom: 2rem;
  }
}
#localsights-map .c-heading--underline--center--jp {
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  #localsights-map .c-heading--underline--center--jp {
    margin-bottom: 0.75rem;
  }
}
#localsights-map #map {
  padding-bottom: 0.21rem;
  margin-top: 0.42rem;
  margin-bottom: 0.88rem;
}
@media screen and (min-width: 768px) {
  #localsights-map #map {
    margin-top: 0.72rem;
    margin-bottom: 0.86rem;
  }
}
#localsights-map #map .simplebar-content {
  display: flex;
}
#localsights-map #map-image {
  max-width: unset;
  width: 10.24rem;
  display: block;
  height: auto;
  margin-bottom: 0.21rem;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  #localsights-map #map-image {
    width: 100%;
  }
}

#recruit-main {
  padding-top: 0.6rem;
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #recruit-main {
    padding-top: 1.18rem;
    padding-bottom: 2rem;
  }
}
#recruit-main .l-catch {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.3rem;
  letter-spacing: 0.01em;
  font-weight: 700;
  margin-bottom: 0.34rem;
}
@media screen and (min-width: 768px) {
  #recruit-main .l-catch {
    font-size: 0.17rem;
    line-height: 0.37rem;
    text-align: center;
    margin-bottom: 0.38rem;
  }
}
#recruit-main .l-intro {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  #recruit-main .l-intro {
    font-size: 0.15rem;
    width: 6.14rem;
    margin: 0 auto 1.19rem;
  }
}
#recruit-main .l-container {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding-left: 0.1rem;
  padding-right: 0.1rem;
}
@media screen and (min-width: 768px) {
  #recruit-main .l-container {
    padding-left: unset;
    padding-right: unset;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.95rem 0;
  }
}
#recruit-main .l-container .l-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
}
@media screen and (min-width: 768px) {
  #recruit-main .l-container .l-wrapper {
    width: 5.09rem;
    gap: 0.48rem;
  }
}
#recruit-main .l-container .l-wrapper .l-image {
  width: 3.25rem;
  height: 2.15rem;
}
@media screen and (min-width: 768px) {
  #recruit-main .l-container .l-wrapper .l-image {
    width: 100%;
    height: 3.38rem;
  }
}
#recruit-main .l-container .l-wrapper .l-image img {
  display: block;
  width: 100%;
  height: 100%;
}
#recruit-main .l-container .l-wrapper .l-heading {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  gap: 0.04rem;
}
@media screen and (min-width: 768px) {
  #recruit-main .l-container .l-wrapper .l-heading {
    gap: 0.09rem;
  }
}
#recruit-main .l-container .l-wrapper .l-heading strong {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #recruit-main .l-container .l-wrapper .l-heading strong {
    font-size: 0.21rem;
    line-height: 0.3rem;
  }
}
#recruit-main .l-container .l-wrapper .l-heading span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #recruit-main .l-container .l-wrapper .l-heading span {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
@media screen and (min-width: 768px) {
  #recruit-main .l-container .l-wrapper .l-text {
    padding-left: 0.55rem;
    padding-right: 0.55rem;
  }
}
#recruit-main .l-container .l-wrapper .l-catch {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-top: 0.3rem;
}
@media screen and (min-width: 768px) {
  #recruit-main .l-container .l-wrapper .l-catch {
    font-size: 0.15rem;
    margin-top: 0.52rem;
  }
}
#recruit-main .l-container .l-wrapper .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-top: 0.24rem;
  display: block;
}
@media screen and (min-width: 768px) {
  #recruit-main .l-container .l-wrapper .l-desc {
    font-size: 0.15rem;
    height: 0.47rem;
    font-size: 0.15rem;
    line-height: 0.26rem;
  }
}
#recruit-main .l-container .l-wrapper .c-btn--half-arrow {
  margin: 0.36rem auto 0;
  width: 2.96rem;
  height: 0.54rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #recruit-main .l-container .l-wrapper .c-btn--half-arrow {
    margin-top: 0.43rem;
    width: 3.87rem;
    height: 0.76rem;
    font-size: 0.16rem;
    line-height: 0.24rem;
  }
}

#member-login {
  padding-bottom: 1.4rem;
}
#member-login .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  #member-login .l-desc {
    margin-bottom: 0.67rem;
  }
}
@media screen and (min-width: 768px) {
  #member-login {
    padding-bottom: 2rem;
  }
}
#member-login .swpm-login-widget-action-msg::after {
  content: "入力されたユーザー名またはメールアドレスが無効です。";
}
#member-login .swpm-login-widget-action-msg .swpm-login-error-msg {
  display: none;
}

#member-login-after {
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  #member-login-after {
    padding-bottom: 3.68rem;
  }
}
#member-login-after .l-box {
  border: 0.01rem solid #B6BFBC;
  border-radius: 0.04rem;
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  #member-login-after .l-box {
    padding-top: 1.17rem;
    padding-bottom: 0.89rem;
  }
}
#member-login-after .l-desc {
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 0.68rem;
}
#member-login-after .l-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.24rem;
  margin-bottom: 0.58rem;
}
@media screen and (min-width: 768px) {
  #member-login-after .l-button {
    flex-direction: row;
    justify-content: center;
  }
}
#member-login-after .l-button--item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 500;
  gap: 0.16rem;
}
#member-login-after .l-button .c-btn--black {
  text-align: center;
  width: 2.8rem;
  height: 0.75rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
}
@media screen and (min-width: 768px) {
  #member-login-after .l-button .c-btn--black {
    font-size: 0.18rem;
    line-height: 0.29rem;
    width: 3.1rem;
    height: 0.95rem;
  }
}
#member-login-after .c-btn--white {
  width: 2.8rem;
  height: 0.6rem;
  margin: auto;
}
#member-login-after .l-hidden {
  display: none;
}

#member-password-reset {
  padding-bottom: 1.4rem;
}
#member-password-reset .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  #member-password-reset .l-desc {
    margin-bottom: 0.67rem;
  }
}
@media screen and (min-width: 768px) {
  #member-password-reset {
    padding-bottom: 2rem;
  }
}
#member-password-reset .c-btn--white {
  margin: 0.5rem auto 0;
}

#member-registration {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #member-registration {
    padding-bottom: 2rem;
  }
}
#member-registration .l-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 0.25rem;
}
@media screen and (min-width: 768px) {
  #member-registration .l-desc {
    margin-bottom: 0.35rem;
  }
}
#member-registration .l-desc small {
  display: block;
  margin-top: 0.17rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0em;
  font-weight: 400;
}

#download {
  padding-bottom: 1.4rem;
}
@media screen and (min-width: 768px) {
  #download {
    padding-bottom: 2rem;
  }
}
#download .l-desc {
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  #download .l-desc {
    margin-bottom: 0.67rem;
  }
}
#download .l-search {
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  #download .l-search {
    margin-bottom: 0.85rem;
  }
}
#download .l-search--main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  margin-bottom: 0.12rem;
}
@media screen and (min-width: 768px) {
  #download .l-search--main {
    flex-direction: row;
    margin-bottom: 0.22rem;
  }
}
#download .l-search--main input[type=search] {
  flex-grow: 1;
  height: 0.47rem;
  border: 0.01rem solid #B6BFBC;
  padding-left: 0.42rem;
  background-image: url("../img/common/icon_search.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-size: 0.15rem 0.15rem;
  background-position: 0.19rem center;
  border-radius: 0.04rem;
  outline: none;
}
#download .l-search--main input[type=search]::placeholder {
  color: #B6BFBC;
}
#download .l-search--main input[type=button] {
  flex: none;
  width: 1rem;
  height: 0.47rem;
  color: white;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
  border-radius: 0.04rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
  background-color: #2E483F;
  border: none;
}
#download .l-search--main input[type=button]:hover {
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  #download .l-search--main input[type=button] {
    width: 1.59rem;
    flex: none;
  }
}
#download .l-search--info {
  display: flex;
  align-items: baseline;
  gap: 0.19rem;
}
#download .l-search--info--result {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
}
#download .l-search--info--reset {
  text-decoration: underline;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
  cursor: pointer;
}
#download .l-search--info--reset:hover {
  opacity: 0.7;
}
#download .l-heading {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-bottom: 0.11rem;
}
#download .l-container {
  display: flex;
  flex-direction: column;
  border-top: 0.01rem solid #E6E6E6;
  --pdf: url("../img/common/icon_pdf_gray.svg");
  --image: url("../img/common/icon_image.svg");
  --folder: url("../img/common/icon_folder.svg");
}
#download .l-container .l-wrapper {
  display: flex;
  gap: 0.1rem;
  padding: 0.2rem 0;
  border-bottom: 0.01rem solid #E6E6E6;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #download .l-container .l-wrapper {
    padding: 0.27rem 0;
  }
}
#download .l-container .l-wrapper--hidden {
  display: none;
}
#download .l-container .l-wrapper::before {
  content: "";
  width: 0.22rem;
  height: 0.21rem;
  flex: none;
  background-size: contain;
  background-repeat: no-repeat;
}
#download .l-container .l-wrapper:has(a[href$=".pdf"])::before {
  background-image: var(--pdf);
}
#download .l-container .l-wrapper:has(a[href$=".ai"])::before {
  background-image: var(--image);
}
#download .l-container .l-wrapper:has(a[href$=".jpg"])::before {
  background-image: var(--image);
}
#download .l-container .l-wrapper:has(a[href$=".jpeg"])::before {
  background-image: var(--image);
}
#download .l-container .l-wrapper:has(a[href$=".png"])::before {
  background-image: var(--image);
}
#download .l-container .l-wrapper:has(a[href$=".gif"])::before {
  background-image: var(--image);
}
#download .l-container .l-wrapper:has(a[href$=".svg"])::before {
  background-image: var(--image);
}
#download .l-container .l-wrapper:has(a[href$=".zip"])::before {
  background-image: var(--folder);
}
#download .l-container .l-wrapper:has(a[href$=".7z"])::before {
  background-image: var(--folder);
}
#download .l-container .l-name {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
  flex-grow: 1;
  display: block;
}
@media screen and (min-width: 768px) {
  #download .l-container .l-name {
    max-width: 7rem;
  }
}
#download .l-container .l-link {
  border: 0.01rem solid #CAD0CD;
  flex: none;
  color: #2E483F;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
  width: 1.2rem;
  height: 0.4rem;
  border-radius: 0.04rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F8F8F8;
  width: 1rem;
  height: 0.4rem;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  #download .l-container .l-link {
    width: 1.59rem;
  }
}
#download .swpm-partial-protection {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0.2rem;
}
#download .swpm-partial-protection::before {
  white-space: pre;
  content: "会員専用コンテンツです。";
}
#download .swpm-partial-protection::after {
  content: "ログインしてご利用ください。";
}
#download .swpm-partial-protection-text {
  display: none;
}
#download .l-hidden {
  display: none;
}
#download .c-btn--white, #download .c-btn--black {
  margin: 0.5rem auto 0;
}

#wpadminbar {
  display: none;
}
@media screen and (min-width: 768px) {
  #wpadminbar {
    display: flex;
  }
}

.p-body {
  overflow-x: hidden;
}

.p-header--trans ~ .p-main .p-banner {
  position: absolute;
  top: calc(100vh - 2.36rem);
  animation: unset;
}
@media screen and (min-width: 768px) {
  .p-header--trans ~ .p-main .p-banner {
    position: absolute;
    top: calc(100vh - 2.63rem);
  }
}

@keyframes banner-appear-sp {
  0% {
    opacity: 0;
    top: calc(100vh + 2rem);
  }
  100% {
    opacity: 1;
    top: calc(100vh - 0.1rem);
  }
}
@keyframes banner-appear-pc {
  0% {
    opacity: 0;
    top: calc(100vh + 3rem);
  }
  100% {
    opacity: 1;
    top: calc(100vh - 0.2rem);
  }
}
.p-banner {
  position: fixed;
  top: calc(100vh - 0.1rem);
  transform: translateY(-100%);
  right: 0.11rem;
  width: 0.92rem;
  height: 0.94rem;
  z-index: 20;
  transition: 0.3s;
  opacity: 0;
  pointer-events: none;
  animation: banner-appear-sp 0.3s forwards;
}
@media screen and (min-width: 768px) {
  .p-banner {
    animation: banner-appear-pc 0.3s forwards;
    z-index: 60;
    right: 0.23rem;
    top: calc(100vh - 0.2rem);
    transform: translateY(-100%);
    width: 1.46rem;
    height: 1.45rem;
  }
}
.p-banner:has(input:checked) {
  opacity: 1;
  pointer-events: all;
  transition: 0.7s;
}
.p-banner:not(:has(input:checked)) {
  opacity: 0 !important;
  pointer-events: none !important;
  transition: 0.3s;
}
.p-banner--main {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  image-rendering: smooth;
  overflow: hidden;
}
.p-banner--close {
  position: absolute;
  display: block;
  z-index: 2;
  width: 0.17rem;
  height: 0.17rem;
  border-radius: 100%;
  top: -0.02rem;
  right: 0.09rem;
  cursor: pointer;
  background-image: url("../img/common/icon_close.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-banner--close {
    width: 0.22rem;
    height: 0.22rem;
    top: 0;
    right: 0.2rem;
  }
}
.p-banner input {
  display: none;
}

.p-header {
  z-index: 100000;
  width: 100%;
  height: 0.55rem;
  position: fixed;
  top: 0;
  left: 0;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.24rem;
  line-height: 0.35rem;
  letter-spacing: 0em;
  font-weight: 400;
  --color: #365349;
  --f-color: brightness(0) saturate(100%) invert(28%) sepia(7%) saturate(1737%) hue-rotate(108deg) brightness(94%) contrast(87%);
  transition: 0.6s;
  opacity: 1;
  animation: 1s header-in forwards;
  background-color: var(--bg);
  --box-color: #C99E00;
  --bg: white;
  --logo-color: brightness(0) saturate(100%) invert(55%) sepia(86%) saturate(842%) hue-rotate(14deg) brightness(94%) contrast(101%);
  --button-bg: #C99E00;
  --button-color: #ffffff;
  --button-border: #C99E00;
  --button-icon: brightness(0) invert(1);
  --sns-color: brightness(0) saturate(100%) invert(55%) sepia(86%) saturate(842%) hue-rotate(14deg) brightness(94%) contrast(101%);
}
@media screen and (min-width: 768px) {
  .p-header {
    height: 0.7rem;
  }
}
.p-header--trans {
  --color: #ffffff;
  --f-color: brightness(0) invert(1);
  --box-color: white;
  --bg: transparent;
  --logo-color: brightness(0) invert(1);
  --button-bg: transparent;
  --button-color: white;
  --button-border: white;
  --button-icon: brightness(0) invert(1);
  --sns-color: brightness(0) invert(1);
}
.p-header__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 1.93rem;
  height: 0.26rem;
  filter: var(--logo-color);
}
@media screen and (min-width: 768px) {
  .p-header__logo {
    align-items: flex-start;
    gap: 0.03rem;
    width: 2.63rem;
    height: 0.36rem;
    top: 0.46rem;
    left: 0.5rem;
  }
}
.p-header__logo h1 {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-header__logo h1 {
    transform: unset;
    bottom: -0.34rem;
    left: unset;
    right: calc(50% + 4.63rem);
  }
}
.p-header__logo h1 span {
  display: none;
}
.p-header__logo h1 img {
  display: block;
  transition: 0.3s;
  object-fit: contain;
  object-position: left center;
  width: 100%;
  height: 100%;
}
.p-header__sns {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-header__sns {
    align-items: center;
    gap: 0.2rem;
    display: flex;
    margin-left: auto;
  }
}
.p-header__sns [href*="facebook.com"] {
  display: flex;
}
.p-header__sns [href*="facebook.com"]::before {
  content: "";
  width: 0.24rem;
  height: 0.24rem;
  background-image: url("../img/common/icon_facebook.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: var(--sns-color);
}
@media screen and (min-width: 768px) {
  .p-header__sns [href*="facebook.com"]::before {
    width: 0.27rem;
    height: 0.27rem;
  }
}
.p-header__sns [href*="instagram.com"] {
  display: flex;
}
.p-header__sns [href*="instagram.com"]::before {
  content: "";
  width: 0.22rem;
  height: 0.22rem;
  background-image: url("../img/common/icon_instagram.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: var(--sns-color);
}
@media screen and (min-width: 768px) {
  .p-header__sns [href*="instagram.com"]::before {
    width: 0.25rem;
    height: 0.25rem;
  }
}
.p-header__sns [href*="x.com"] {
  display: flex;
}
.p-header__sns [href*="x.com"]::before {
  content: "";
  width: 0.22rem;
  height: 0.22rem;
  background-image: url("../img/common/icon_x.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: var(--sns-color);
}
@media screen and (min-width: 768px) {
  .p-header__sns [href*="x.com"]::before {
    width: 0.24rem;
    height: 0.24rem;
  }
}
.p-header__container {
  position: relative;
  z-index: 50;
  width: 100%;
  height: 100%;
  display: flex;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-header__container {
    display: flex;
    width: 100%;
    padding-left: 0.5rem;
    padding-right: 0.2rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0.33rem;
  }
}
.p-header__ticket {
  padding: 0.02rem 0.07rem 0.03rem;
  background-color: var(--button-bg);
  color: var(--button-color);
  border: 0.01rem solid var(--button-border);
  margin-right: 0.21rem;
  margin-left: auto;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.11rem;
  line-height: 0.16rem;
  letter-spacing: 0em;
  font-weight: 700;
  border-radius: 0.04rem;
}
@media screen and (min-width: 768px) {
  .p-header__ticket::before {
    content: "";
    filter: var(--button-icon);
  }
}
@media screen and (min-width: 768px) {
  .p-header__ticket {
    margin-left: 0.24rem;
    height: 0.38rem;
    padding: 0.08rem 0.19rem 0.09rem;
    font-size: 0.15rem;
    line-height: 0.21rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.12rem;
    border-width: 0.025rem;
  }
  .p-header__ticket::before {
    content: "";
    display: block;
    width: 0.21rem;
    height: 0.16rem;
    background-image: url("../img/common/icon_ticket.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }
}
.p-header__nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: #E9B800;
  color: white;
  transition: 0.3s;
  padding-top: 0.8rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-bottom: 1rem;
  overflow: scroll;
  display: flex;
  opacity: 0;
  z-index: -1;
  pointer-events: none;
  filter: blur(10px);
  will-change: blur, opacity;
}
@media screen and (min-width: 768px) {
  .p-header__nav {
    width: 100%;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding: 1.51rem 0 0.98rem;
    display: flex;
    align-items: center;
  }
  .p-header__nav::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-header__nav .c-btn--kimono {
    width: 2.23rem;
    height: 0.58rem;
  }
}
.p-header__nav--container {
  display: flex;
  flex-direction: column;
  flex: none;
  max-height: unset;
  height: fit-content;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-header__nav--container {
    width: 9.86rem;
    margin: auto;
    flex-direction: row;
    justify-content: space-between;
  }
}
.p-header__nav--menu {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu {
    width: 5.55rem;
    flex-direction: row;
    justify-content: space-between;
    flex: none;
    padding-bottom: 0.53rem;
    border-bottom: 0.01rem solid white;
    white-space: nowrap;
  }
}
.p-header__nav--menu--sub {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--sub {
    width: 2.4rem;
    flex: none;
    gap: 0.28rem;
  }
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--sub:nth-of-type(2) {
    gap: 0.16rem;
  }
}
.p-header__nav--menu--parent {
  border-bottom: 0.01rem solid white;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--parent {
    border-bottom: unset;
  }
  .p-header__nav--menu--parent:nth-last-of-type(1) {
    margin-bottom: unset;
  }
}
.p-header__nav--menu--major {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: -0.05em;
  font-weight: 700;
  cursor: pointer;
  padding-top: 0.17rem;
  padding-bottom: 0.17rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--major {
    padding-top: unset;
    padding-bottom: unset;
    font-size: 0.16rem;
    padding-bottom: unset;
    line-height: 0.24rem;
  }
}
.p-header__nav--menu--switch {
  display: none;
}
.p-header__nav--menu--switch:checked ~ .p-header__nav--menu--minor {
  height: auto;
  padding-bottom: 0.17rem;
}
.p-header__nav--menu--switch:checked ~ .p-header__nav--menu--display::before {
  transform: translaate(-50%, -50%) rotate(-90deg);
  opacity: 0;
}
.p-header__nav--menu--display {
  position: absolute;
  top: 0.21rem;
  right: 0;
  width: 0.13rem;
  height: 0.13rem;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--display {
    display: none;
  }
}
.p-header__nav--menu--display::before {
  content: "";
  display: block;
  position: absolute;
  width: 0.01rem;
  height: 100%;
  left: 50%;
  top: 0;
  transition: 0.3s;
  transform: translateX(-50%);
  background-color: white;
}
.p-header__nav--menu--display::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 0.01rem;
  left: 0;
  top: 50%;
  transition: 0.3s;
  transform: translateY(-50%);
  background-color: white;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--display {
    display: none;
  }
}
.p-header__nav--menu--minor {
  overflow: hidden;
  padding-left: 0.16rem;
  height: 0;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.28rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--minor {
    padding-left: 0.2rem;
    padding-top: 0.06rem;
    padding-bottom: unset;
    height: fit-content;
    overflow: initial;
    line-height: 0.27rem;
  }
}
.p-header__nav--menu--small {
  display: flex;
  margin-top: 0.24rem;
  flex-wrap: wrap;
  gap: 0.12rem 0;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--small {
    display: none;
  }
}
.p-header__nav--menu--small a {
  display: block;
  width: 50%;
}
.p-header__nav--menu--button {
  margin-top: 0.27rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--button {
    flex-direction: column;
    gap: 0.14rem;
    margin-top: auto;
  }
}
.p-header__nav--menu--button .c-btn--trans {
  width: 1.56rem;
  height: 0.54rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--button .c-btn--trans {
    width: 2.4rem;
    height: 0.5rem;
    font-size: 0.15rem;
    line-height: 0.21rem;
  }
}
.p-header__nav--menu--button .c-btn--ticket {
  background-color: white;
  color: #E9B800;
  width: 1.56rem;
  height: 0.54rem;
  justify-content: center;
  gap: 0.11rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
  padding-left: unset;
  padding-right: unset;
}
.p-header__nav--menu--button .c-btn--ticket::before {
  filter: brightness(0) saturate(100%) invert(78%) sepia(32%) saturate(2951%) hue-rotate(3deg) brightness(95%) contrast(101%);
}
@media screen and (min-width: 768px) {
  .p-header__nav--menu--button .c-btn--ticket {
    width: 2.4rem;
    height: 0.5rem;
    font-size: 0.15rem;
    line-height: 0.21rem;
  }
}
.p-header__nav--bottom {
  padding-top: 0.27rem;
}
@media screen and (min-width: 768px) {
  .p-header__nav--bottom {
    display: flex;
    justify-content: space-between;
  }
}
.p-header__nav--bottom--link {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-header__nav--bottom--link {
    display: flex;
    gap: 0.24rem;
    font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 0.13rem;
    line-height: 0.19rem;
    letter-spacing: 0em;
    font-weight: 500;
  }
}
.p-header__nav--bottom--info address {
  font-style: normal;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
.p-header__nav--bottom--info a {
  font-family: acumin-pro, serif;
  font-size: 0.22rem;
  line-height: 0.22rem;
  letter-spacing: 0.02em;
  font-weight: 600;
  margin-top: 0.07rem;
  display: block;
}
.p-header__nav--bottom--sns {
  display: flex;
  gap: 0.23rem;
  align-items: center;
  margin-top: 0.19rem;
}
@media screen and (min-width: 768px) {
  .p-header__nav--bottom--sns {
    display: none;
  }
}
.p-header__nav--bottom--sns [href*="facebook.com"] {
  display: flex;
}
.p-header__nav--bottom--sns [href*="facebook.com"]::before {
  content: "";
  width: 0.24rem;
  height: 0.24rem;
  background-image: url("../img/common/icon_facebook.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.p-header__nav--bottom--sns [href*="instagram.com"] {
  display: flex;
}
.p-header__nav--bottom--sns [href*="instagram.com"]::before {
  content: "";
  width: 0.22rem;
  height: 0.22rem;
  background-image: url("../img/common/icon_instagram.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.p-header__nav--bottom--sns [href*="x.com"] {
  display: flex;
}
.p-header__nav--bottom--sns [href*="x.com"]::before {
  content: "";
  width: 0.22rem;
  height: 0.22rem;
  background-image: url("../img/common/icon_x.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.p-header__nav--logo {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-header__nav--logo {
    display: block;
    width: 3.23rem;
    height: 2.6rem;
  }
  .p-header__nav--logo img {
    display: block;
    width: 100%;
    height: 100%;
  }
}
.p-header__nav--link {
  display: flex;
  align-items: center;
  gap: 0.23rem;
  padding-bottom: 0.49rem;
  border-bottom: 0.01rem solid white;
  margin-top: 0.27rem;
  margin-bottom: 0.27rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-header__nav--link {
    margin-top: unset;
    margin-bottom: 0.32rem;
    gap: 0.26rem;
    padding-bottom: unset;
    border: unset;
    padding-top: 0.23rem;
    margin-bottom: 0.25rem;
    height: unset;
  }
}
.p-header__nav--link--separate {
  display: block;
  width: 0.01rem;
  height: 0.2rem;
  background-color: #2E483F;
}
.p-header__nav--link a {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.22rem;
  letter-spacing: 0.00005em;
  font-weight: 50000;
}
.p-header__nav--link [href*="facebook.com"] {
  display: flex;
}
.p-header__nav--link [href*="facebook.com"]::before {
  content: "";
  width: 0.24rem;
  height: 0.24rem;
  background-image: url("../img/common/icon_facebook.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-header__nav--link [href*="facebook.com"]::before {
    width: 0.27rem;
    height: 0.27rem;
  }
}
.p-header__nav--link [href*="instagram.com"] {
  display: flex;
}
.p-header__nav--link [href*="instagram.com"]::before {
  content: "";
  width: 0.22rem;
  height: 0.22rem;
  background-image: url("../img/common/icon_instagram.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-header__nav--link [href*="instagram.com"]::before {
    width: 0.25rem;
    height: 0.25rem;
  }
}
.p-header__nav--link [href*="x.com"] {
  display: flex;
}
.p-header__nav--link [href*="x.com"]::before {
  content: "";
  width: 0.22rem;
  height: 0.22rem;
  background-image: url("../img/common/icon_x.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-header__nav--link [href*="x.com"]::before {
    width: 0.24rem;
    height: 0.24rem;
  }
}
.p-header__nav--info {
  display: flex;
  flex-direction: column;
  gap: 0.09rem;
}
@media screen and (min-width: 768px) {
  .p-header__nav--info {
    gap: 0.06rem;
    margin-bottom: -0.06rem;
  }
}
.p-header__nav--info span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-header__nav--info span {
    line-height: 0.24rem;
  }
}
.p-header__nav--info strong {
  font-family: acumin-pro, serif;
  font-size: 0.25rem;
  line-height: 0.25rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-header__nav--info strong {
    font-size: 0.26rem;
    line-height: 0.34rem;
  }
}
.p-header__nav--box {
  z-index: 100000;
  width: 0.27rem;
  height: 0.17rem;
  cursor: pointer;
  --color: #2E483F;
  --f-color: brightness(0) saturate(100%) invert(24%) sepia(47%) saturate(295%) hue-rotate(108deg) brightness(87%) contrast(89%);
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-header__nav--box {
    line-height: 0.15rem;
    right: unset;
    width: 0.36rem;
    height: 0.21rem;
  }
}
.p-header__nav--box--check {
  display: none;
}
.p-header__nav--box--check:checked ~ .p-header {
  --color: #ffffff;
  --f-color: brightness(0) invert(1);
  --box-color: white;
  --bg: transparent;
  --logo-color: brightness(0) invert(1);
  --button-bg: transparent;
  --button-color: white;
  --button-border: white;
  --button-icon: brightness(0) invert(1);
  --sns-color: brightness(0) invert(1);
}
@media screen and (max-width: 767px) {
  .p-header__nav--box--check:checked ~ .p-header {
    animation: 1s header-in forwards;
    --f-color: brightness(0) invert(1) !important;
    --color: #ffffff !important;
  }
}
@media screen and (min-width: 768px) {
  .p-header__nav--box--check:checked ~ .p-header {
    animation: unset;
  }
}
.p-header__nav--box--check:checked ~ .p-header .p-header__nav--box {
  --color: #ffffff !important;
  --f-color: brightness(0) invert(1) !important;
}
.p-header__nav--box--check:checked ~ .p-header .p-header__nav--box::after {
  opacity: 0;
}
.p-header__nav--box--check:checked ~ .p-header .p-header__nav--box .p-header__nav--box--line:nth-of-type(1) {
  transform: translateY(-50%) rotate(28.05deg);
  height: 0.01rem;
}
@media screen and (min-width: 768px) {
  .p-header__nav--box--check:checked ~ .p-header .p-header__nav--box .p-header__nav--box--line:nth-of-type(1) {
    height: 0.015rem;
  }
}
.p-header__nav--box--check:checked ~ .p-header .p-header__nav--box .p-header__nav--box--line:nth-of-type(2) {
  opacity: 0;
}
.p-header__nav--box--check:checked ~ .p-header .p-header__nav--box .p-header__nav--box--line:nth-of-type(3) {
  transform: translateY(-50%) rotate(-28.05deg);
  height: 0.01rem;
}
@media screen and (min-width: 768px) {
  .p-header__nav--box--check:checked ~ .p-header .p-header__nav--box .p-header__nav--box--line:nth-of-type(3) {
    height: 0.015rem;
  }
}
.p-header__nav--box--check:checked ~ .p-header__nav {
  opacity: 1;
  z-index: 99999;
  pointer-events: all;
  filter: blur(0px);
}
.p-header__nav--box--line {
  position: absolute;
  z-index: 1;
  top: 50%;
  transition: 0.3s;
  width: 100%;
  height: 0.02rem;
  background-color: var(--box-color);
}
@media screen and (min-width: 768px) {
  .p-header__nav--box--line {
    height: 0.02rem;
  }
}
.p-header__nav--box--line:nth-of-type(1) {
  transform: translateY(calc(-0.06rem - 50%));
}
@media screen and (min-width: 768px) {
  .p-header__nav--box--line:nth-of-type(1) {
    transform: translateY(calc(-0.08rem - 50%));
  }
}
.p-header__nav--box--line:nth-of-type(2) {
  transform: translateY(-50%);
}
.p-header__nav--box--line:nth-of-type(3) {
  transform: translateY(calc(0.06rem - 50%));
}
@media screen and (min-width: 768px) {
  .p-header__nav--box--line:nth-of-type(3) {
    transform: translateY(calc(0.08rem - 50%));
  }
}

@keyframes header-in {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    pointer-events: all;
  }
}
@keyframes header-out {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    pointer-events: none;
  }
}
.p-footer {
  position: relative;
  z-index: 50;
  background-color: #E9B800;
  color: #ffffff;
  padding: 0.4rem 0.25rem 0.31rem;
}
@media screen and (min-width: 768px) {
  .p-footer {
    padding: 0.84rem 0 0.49rem;
  }
}
.p-footer__container {
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
}
@media screen and (min-width: 768px) {
  .p-footer__container {
    width: 10.24rem;
    margin: auto;
    gap: unset;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1.02rem;
  }
}
.p-footer__top {
  width: 100%;
  border-bottom: 0.01rem solid white;
  padding-bottom: 0.23rem;
}
@media screen and (min-width: 768px) {
  .p-footer__top {
    width: 6.62rem;
    border-bottom: unset;
    margin-bottom: unset;
    flex-grow: 1;
    padding-bottom: unset;
  }
}
.p-footer__menu {
  display: flex;
  flex-direction: column;
  gap: 0.26rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.37rem;
}
@media screen and (min-width: 768px) {
  .p-footer__menu {
    flex-direction: row;
    flex-wrap: wrap;
    font-size: 0.16rem;
    line-height: 0.24rem;
    gap: 0.91rem;
    margin-bottom: 0.49rem;
  }
}
.p-footer__menu div {
  display: flex;
  flex-direction: column;
  gap: 0.26rem;
}
@media screen and (min-width: 768px) {
  .p-footer__menu div {
    gap: 0.35rem;
  }
}
.p-footer__menu div:not(:has(ul)) {
  gap: 0.11rem;
}
@media screen and (min-width: 768px) {
  .p-footer__menu div:not(:has(ul)) {
    gap: 0.22rem;
  }
}
.p-footer__menu li ul {
  margin-top: 0.09rem;
}
.p-footer__menu li ul li {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.23rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-footer__menu li ul li {
    line-height: 0.27rem;
  }
}
.p-footer__button {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  width: 2.6rem;
  margin: 0 auto 0.7rem;
}
@media screen and (min-width: 768px) {
  .p-footer__button {
    order: 3;
    margin-bottom: 0.25rem;
  }
}
.p-footer__button a {
  height: 0.54rem;
  width: 100%;
  border-radius: 0.04rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
  gap: 0.15rem;
}
.p-footer__button--contact {
  border: 0.01rem solid #ffffff;
  color: white;
}
.p-footer__button--ticket {
  background-color: white;
  color: #E9B800;
}
.p-footer__button--ticket::before {
  content: "";
  width: 0.22rem;
  height: 0.16rem;
  background-image: url("../img/common/icon_ticket.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) saturate(100%) invert(78%) sepia(32%) saturate(2951%) hue-rotate(3deg) brightness(95%) contrast(101%);
}
.p-footer__sub-menu {
  display: flex;
  gap: 0.2rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-footer__sub-menu {
    gap: 0.32rem;
  }
}
.p-footer__sns {
  display: flex;
  align-items: baseline;
  gap: 0.21rem;
  margin-bottom: 0.23rem;
}
@media screen and (min-width: 768px) {
  .p-footer__sns {
    gap: 0.18rem;
    order: 4;
    margin-bottom: unset;
  }
}
.p-footer__sns [href*="facebook.com"] {
  display: flex;
}
.p-footer__sns [href*="facebook.com"]::before {
  content: "";
  width: 0.24rem;
  height: 0.24rem;
  background-image: url("../img/common/icon_facebook.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-footer__sns [href*="facebook.com"]::before {
    width: 0.22rem;
    height: 0.22rem;
  }
}
.p-footer__sns [href*="instagram.com"] {
  display: flex;
}
.p-footer__sns [href*="instagram.com"]::before {
  content: "";
  width: 0.22rem;
  height: 0.22rem;
  background-image: url("../img/common/icon_instagram.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-footer__sns [href*="instagram.com"]::before {
    width: 0.2rem;
    height: 0.21rem;
  }
}
.p-footer__sns [href*="x.com"] {
  display: flex;
}
.p-footer__sns [href*="x.com"]::before {
  content: "";
  width: 0.22rem;
  height: 0.22rem;
  background-image: url("../img/common/icon_x.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-footer__sns [href*="x.com"]::before {
    width: 0.19rem;
    height: 0.19rem;
  }
}
.p-footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-footer__bottom {
    align-items: flex-start;
    width: 2.43rem;
    flex: none;
    border-left: 0.01rem solid white;
    padding-left: 1.02rem;
    box-sizing: content-box;
    padding-top: 0.1rem;
  }
}
.p-footer__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.21rem;
  margin-bottom: 0.37rem;
}
@media screen and (min-width: 768px) {
  .p-footer__logo {
    margin-bottom: 0.55rem;
    order: 0.01rem;
    gap: 0.41rem;
  }
}
.p-footer__logo::before {
  content: "";
  width: 1.19rem;
  height: 0.22rem;
  background-image: url("../img/common/catch_enjoy.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-footer__logo::before {
    width: 1.52rem;
    height: 0.28rem;
  }
}
.p-footer__logo img {
  display: block;
  width: 2.41rem;
  height: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-footer__logo img {
    width: 2.43rem;
    height: 1.26rem;
  }
}
.p-footer__info {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  align-items: center;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-footer__info {
    gap: 0.12rem;
    margin-bottom: 0.22rem;
    order: 0.02rem;
    align-items: flex-start;
  }
}
.p-footer__info span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
.p-footer__info strong {
  font-family: acumin-pro, serif;
  font-size: 0.26rem;
  line-height: 0.26rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
.p-footer__about {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.22rem;
  letter-spacing: 0em;
  font-weight: 700;
  padding-top: 0.36rem;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-footer__about {
    padding-top: 0.26rem;
    border-top: unset;
  }
}
.p-footer__copyright {
  margin-top: 0.47rem;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.11rem;
  line-height: 0.16rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-footer__copyright {
    font-size: 0.12rem;
    line-height: 0.17rem;
    margin-top: 0.86rem;
  }
}

.p-page-header {
  margin-top: 0.55rem;
  padding-top: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-page-header {
    padding-top: 0.2rem;
    margin-top: 1.31rem;
  }
}
.p-page-header__menu {
  display: none;
  height: 0.61rem;
  background-color: #F7F7EA;
  color: #2E483F;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.15rem;
  letter-spacing: -0.05em;
  font-weight: 700;
  text-align: center;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.2rem;
  position: fixed;
  z-index: 100;
  width: 100%;
  top: 0.7rem;
  transition: 0.7s;
}
@media screen and (min-width: 768px) {
  .p-page-header__menu {
    display: flex;
  }
}
.p-page-header__menu--hidden {
  opacity: 0;
  pointer-events: none;
}
.p-page-header__menu--container {
  display: none;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-page-header__menu--container {
    display: flex;
  }
}
.p-page-header__menu--container li {
  border-right: 0.01rem solid #E2E2E2;
  padding-left: 0.3rem;
  padding-right: 0.3rem;
}
.p-page-header__menu--container li:nth-last-of-type(1) {
  border-right: unset;
}
.p-page-header__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: #2E483F;
  margin-top: 0.34rem;
  margin-bottom: 0.57rem;
  gap: 0.08rem;
}
@media screen and (min-width: 768px) {
  .p-page-header__heading {
    margin-top: 0.44rem;
    margin-bottom: 0.8rem;
    gap: 0.12rem;
  }
}
.p-page-header__heading strong {
  font-family: larken, serif;
  font-size: 0.34rem;
  line-height: 0.37rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-page-header__heading strong {
    font-size: 0.55rem;
    line-height: 0.59rem;
  }
}
.p-page-header__heading b {
  font-family: acumin-pro, serif;
  font-size: 0.26rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-bottom: -0.06rem;
}
@media screen and (min-width: 768px) {
  .p-page-header__heading b {
    font-size: 0.47rem;
    line-height: 0.47rem;
  }
}
.p-page-header__heading i {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.22rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
  font-style: normal;
  padding-left: 0.2em;
  position: relative;
  top: -0.05em;
}
@media screen and (min-width: 768px) {
  .p-page-header__heading i {
    font-size: 0.39rem;
    line-height: 0.56rem;
  }
}
.p-page-header__heading span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0.04em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-header__heading span {
    font-size: 0.21rem;
    line-height: 0.3rem;
  }
}
.p-page-header__heading em {
  position: relative;
  font-size: 0.19rem;
  line-height: 0.29rem;
  margin-top: 0.7rem;
  font-style: normal;
  padding-bottom: 0.15rem;
}
@media screen and (min-width: 768px) {
  .p-page-header__heading em {
    font-size: 0.29rem;
    line-height: 0.42rem;
    margin-top: 0.8rem;
    padding-bottom: 0.21rem;
  }
}
.p-page-header__heading em small {
  white-space: nowrap;
  max-width: unset;
  display: block;
  position: absolute;
  top: -0.08rem;
  left: 50%;
  transform: translate(-50%, -100%);
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-page-header__heading em small {
    font-size: 0.15rem;
  }
}
.p-page-header__heading em::after {
  content: "";
  width: 0.3rem;
  height: 0.02rem;
  position: absolute;
  left: 50%;
  bottom: 0;
  display: block;
  background-color: #BA9041;
  transform: translateX(-50%);
}
.p-page-header__heading .c-heading--underline--center span {
  font-size: 0.18rem;
  line-height: 0.3rem;
}
@media screen and (min-width: 768px) {
  .p-page-header__heading .c-heading--underline--center span {
    font-size: 0.17rem;
    line-height: 0.25rem;
  }
}
.p-page-header__image {
  width: 100%;
  height: 2.8rem;
}
@media screen and (min-width: 768px) {
  .p-page-header__image {
    height: 4.47rem;
  }
}
.p-page-header__image img {
  display: block;
  width: 100%;
  height: 100%;
  user-select: none;
  pointer-events: none;
}

.p-news-list {
  display: flex;
  flex-direction: column;
}
.p-news-list__wrapper {
  padding-top: 0.16rem;
  padding-bottom: 0.16rem;
  border-bottom: 0.01rem solid #EFF0F0;
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
}
.p-news-list__wrapper:nth-of-type(1) {
  padding-top: unset;
}
@media screen and (min-width: 768px) {
  .p-news-list__wrapper {
    flex-direction: row;
    gap: 0.48rem;
    align-items: baseline;
    padding-top: 0.24rem;
    padding-bottom: 0.24rem;
  }
}
.p-news-list__date {
  font-family: acumin-pro, serif;
  font-size: 0.16rem;
  line-height: 0.16rem;
  letter-spacing: 0.04em;
  font-weight: 500;
  color: #BA9041;
}
@media screen and (min-width: 768px) {
  .p-news-list__date {
    flex: none;
    white-space: nowrap;
    font-size: 0.2rem;
    line-height: 0.2rem;
  }
}
.p-news-list__title {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.22rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.p-news-list__title[href=""] {
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-news-list__title {
    font-size: 0.2rem;
    line-height: 0.34rem;
  }
}

.p-archive {
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
}
@media screen and (min-width: 768px) {
  .p-archive {
    flex-direction: row;
    gap: 0.75rem 0.47rem;
    flex-wrap: wrap;
  }
}
.p-archive:has(.p-archive__more) .p-archive__wrapper {
  display: none;
}
.p-archive__wrapper {
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-archive__wrapper {
    width: 3.1rem;
  }
}
.p-archive__wrapper--visible {
  display: block !important;
}
.p-archive__top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.05rem;
  color: #9BA59F;
}
@media screen and (min-width: 768px) {
  .p-archive__top {
    margin-bottom: 0.1rem;
  }
}
.p-archive__term {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: #5E6563;
}
@media screen and (min-width: 768px) {
  .p-archive__term {
    font-size: 0.11rem;
    line-height: 0.16rem;
  }
}
.p-archive__date {
  font-family: acumin-pro, serif;
  font-size: 0.13rem;
  line-height: 0.13rem;
  letter-spacing: 0.04em;
  font-weight: 500;
}
.p-archive__category {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  display: flex;
  list-style: none;
  gap: 0.05rem;
  justify-content: flex-end;
}
@media screen and (min-width: 768px) {
  .p-archive__category {
    font-size: 0.11rem;
    line-height: 0.16rem;
  }
}
.p-archive__category li {
  display: flex;
  gap: 0.05rem;
}
.p-archive__category li::after {
  content: "/";
}
.p-archive__category li:nth-last-of-type(1)::after {
  content: unset;
}
.p-archive__thumb {
  width: 100%;
  height: 2.16rem;
  margin-bottom: 0.1rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-archive__thumb {
    height: 2.06rem;
  }
}
.p-archive__thumb img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-archive__thumb figcaption {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  color: white;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 500;
  padding: 0.03rem 0.06rem 0.04rem;
}
.p-archive__thumb--end {
  background-color: #848484;
}
.p-archive__thumb--progress {
  background-color: #BA9041;
}
.p-archive__title {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.22rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.04rem;
}
@media screen and (min-width: 768px) {
  .p-archive__title {
    font-size: 0.16rem;
    line-height: 0.23rem;
    margin-bottom: 0.06rem;
  }
}
.p-archive__desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-bottom: 0.1rem;
}
@media screen and (min-width: 768px) {
  .p-archive__desc {
    font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 0.14rem;
    line-height: 0.2rem;
    letter-spacing: 0em;
    font-weight: 500;
    margin-bottom: 0.12rem;
  }
}
.p-archive__tags {
  display: flex;
  gap: 0.11rem;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-archive__tags {
    gap: 0.08rem;
  }
}
.p-archive__tags li {
  display: flex;
  padding: 0.03rem 0.05rem 0.04rem;
  border: 0.01rem solid #2E483F;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0em;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  order: 2;
}
@media screen and (min-width: 768px) {
  .p-archive__tags li {
    font-size: 0.13rem;
    line-height: 0.19rem;
    padding: 0.03rem 0.05rem 0.04rem;
  }
}
.p-archive__tags li[data-slug=everyday] {
  order: 1;
  background-color: #EA423C;
  color: white;
  border: unset;
  display: flex !important;
}
.p-archive__tags:has([data-end]) li {
  display: none;
}
.p-archive__tags:has([data-end]) [data-end] {
  display: flex !important;
}
.p-archive__name {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-archive__name {
    gap: 0.02rem;
  }
}
.p-archive__name strong {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-archive__name strong {
    font-size: 0.15rem;
    line-height: 0.21rem;
  }
}
.p-archive__name span {
  font-family: acumin-pro, serif;
  font-size: 0.1rem;
  line-height: 0.12rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: #70847D;
}
@media screen and (min-width: 768px) {
  .p-archive__name span {
    font-size: 0.12rem;
    line-height: 0.15rem;
  }
}
.p-archive__more {
  width: 100%;
}
.p-archive__more--switch {
  display: none;
  /*
  &:checked{
      & ~ .p-archive__wrapper{
          display: block !important;
          opacity: 1;
      }
      & ~ .p-archive__more{
          display: none !important;
      }
  }
  */
}
.p-archive__more--hidden {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
}
.p-archive__more--button {
  position: relative;
  width: 2.6rem;
  height: 0.54rem;
  color: white;
  background-color: #2E483F;
  font-family: larken, serif;
  font-size: 0.15rem;
  line-height: 0.16rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.04rem;
  margin: auto;
  transition: 0.3s;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-archive__more--button {
    width: 3.6rem;
    height: 0.6rem;
  }
}
.p-archive__more--button:hover {
  opacity: 0.7;
}
.p-archive__more--button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.27rem;
  width: 0.07rem;
  height: 0.12rem;
  background-image: url("../img/common/chevron_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%) rotate(90deg);
  filter: brightness(0) invert(1);
}
.p-calendar {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  align-items: center;
  user-select: none;
  position: relative;
}
.p-calendar__switch {
  display: none;
}
.p-calendar__switch:checked ~ .p-calendar__button {
  --bg-color: white;
  --color: #A1AAA7;
  --border-color: #A1AAA7;
  --f-color: brightness(0) saturate(100%) invert(72%) sepia(9%) saturate(168%) hue-rotate(109deg) brightness(93%) contrast(91%);
}
.p-calendar__switch:checked ~ .p-calendar__button::after {
  transform: translateY(-50%) rotate(180deg);
}
.p-calendar__switch:checked ~ .p-calendar__main {
  max-height: fit-content;
  opacity: 1;
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
}
@media screen and (min-width: 768px) {
  .p-calendar__switch:checked ~ .p-calendar__main {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
  }
}
.p-calendar__button {
  width: 2.86rem;
  height: 0.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.04rem;
  position: relative;
  --bg-color: #2E483F;
  --color: white;
  --border-color: #2E483F;
  --f-color: brightness(0) invert(1);
  background-color: var(--bg-color);
  color: var(--color);
  border: 0.01rem solid var(--border-color);
  transition: 0.3s;
  cursor: pointer;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
}
.p-calendar__button:hover {
  opacity: 0.7;
}
.p-calendar__button::before {
  content: "";
  width: 0.14rem;
  height: 0.17rem;
  background-image: url("../img/common/icon_calendar.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 0.22rem;
  top: 50%;
  transform: translateY(-50%);
  filter: var(--f-color);
  transition: 0.3s;
}
.p-calendar__button::after {
  content: "";
  width: 0.12rem;
  height: 0.07rem;
  background-image: url("../img/common/chevron_bottom.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 0.22rem;
  top: 50%;
  transform: translateY(-50%);
  filter: var(--f-color);
  transition: 0.3s;
}
.p-calendar__main {
  width: 8.92rem;
  margin: auto;
  background-color: white;
  border-radius: 0.1rem;
  padding: 0 0.1rem;
  overflow: hidden;
  max-height: 0;
  transition: 0.3s;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-calendar__main {
    padding: 0 0.38rem;
  }
}
.p-calendar__legend {
  position: absolute;
  display: flex;
  align-items: ceter;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.15rem;
  letter-spacing: 0em;
  font-weight: 500;
  top: 0.37rem;
  right: 0.1rem;
  gap: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-calendar__legend {
    top: 0.44rem;
    right: 0.49rem;
    gap: 0.12rem;
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
.p-calendar__legend::before {
  content: "";
  display: block;
  background-color: #F3F4F4;
  border: 0.01rem solid #707070;
  position: relative;
  width: 0.1rem;
  height: 0.1rem;
  top: 0.02rem;
}
@media screen and (min-width: 768px) {
  .p-calendar__legend::before {
    width: 0.22rem;
    height: 0.22rem;
    top: -0.03rem;
  }
}
.p-calendar__year {
  display: inline-flex;
  gap: 0.07rem;
  align-items: baseline;
  font-family: acumin-pro, serif;
  font-size: 0.19rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.p-calendar__year::after {
  content: "年";
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.p-calendar__month {
  display: inline-flex;
  gap: 0.1rem;
  align-items: baseline;
  font-family: acumin-pro, serif;
  font-size: 0.27rem;
  line-height: 0.27rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.p-calendar__month::after {
  content: "月";
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.p-calendar__note {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.17rem;
  letter-spacing: 0em;
  font-weight: 400;
  margin-top: 0.1rem;
  display: block;
  text-align: right;
}
.p-calendar .fc-view-harness {
  height: fit-content !important;
}
.p-calendar .fc-header-toolbar {
  display: flex;
  justify-content: center;
  gap: 0.3rem;
  align-items: center;
  margin-bottom: 0.22rem;
}
.p-calendar .fc-col-header-cell-cushion {
  pointer-events: none;
}
.p-calendar .fc-toolbar-title {
  display: flex;
  justify-content: ceter;
  gap: 0.13rem;
}
.p-calendar .fc-button {
  background-color: unset;
  outline: unset;
  border: unset;
  width: fit-content;
  height: fit-content;
  transition: 0.3s;
  cursor: pointer;
}
.p-calendar .fc-button:hover {
  opacity: 0.3;
}
.p-calendar .fc-button[disabled] {
  opacity: 0;
  pointer-events: none;
}
.p-calendar .fc-icon-chevron-left {
  width: 0.08rem;
  height: 0.13rem;
  background-image: url("../img/common/chevron_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transform: scaleX(-1);
  display: block;
}
.p-calendar .fc-icon-chevron-right {
  width: 0.08rem;
  height: 0.13rem;
  background-image: url("../img/common/chevron_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
}
.p-calendar .fc-scrollgrid {
  width: 100%;
}
.p-calendar .fc-col-header {
  width: 100% !important;
  border-top: 0.01rem solid #EFF0F0;
  border-bottom: 0.01rem solid #EFF0F0;
  height: 0.43rem;
}
.p-calendar .fc-scrollgrid-sync-inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-calendar .fc-scrollgrid-sync-inner [aria-label=日曜日] {
  color: #E06C7F;
}
.p-calendar .fc-scrollgrid-sync-inner [aria-label=土曜日] {
  color: #3C77B4;
}
.p-calendar .fc-daygrid-body {
  width: 100% !important;
}
.p-calendar .fc-scrollgrid-sync-table {
  width: 100% !important;
}
.p-calendar .fc-day-other {
  background-color: white !important;
}
.p-calendar .fc-day-other .fc-scrollgrid-sync-inner {
  opacity: 0;
}
.p-calendar .fc-daygrid-day {
  width: 14.2857142857% !important;
  height: 0.43rem;
  border-right: 0.01rem solid #EFF0F0;
  border-bottom: 0.01rem solid #EFF0F0;
  background-color: #F3F4F4;
}
.p-calendar .fc-daygrid-day:nth-of-type(1) {
  border-left: 0.01rem solid #EFF0F0;
}
.p-calendar .fc-daygrid-day .fc-scrollgrid-sync-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.p-calendar .fc-daygrid-day:has(.fc-daygrid-event-harness) {
  background-color: white;
}
.p-calendar .fc-daygrid-day:not(:has(.fc-daygrid-event-harness)) {
  background-color: #F3F4F4;
  pointer-events: none;
}
.p-calendar .fc-daygrid-day:has(.fc-event[style]) {
  background-color: #F7F5E3;
}
.p-calendar .fc-daygrid-day-events {
  display: none;
}
.p-calendar .fc-daygrid-day-top {
  width: 100%;
  height: 100%;
}
.p-calendar .fc-daygrid-day-top .fc-daygrid-day-number {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-calendar .fc-daygrid-day-top .fc-daygrid-day-number:hover {
  opacity: 0.3;
}

.p-search {
  background-color: white;
  border-radius: 0.1rem;
  padding: 0.29rem 0.21rem 0.3rem;
}
@media screen and (min-width: 768px) {
  .p-search {
    padding: 0.5rem 0.52rem 0.66rem;
  }
}
.p-search [data-hidden] {
  display: none;
}
.p-search [data-active] {
  display: flex;
}
.p-search__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.32rem;
}
@media screen and (min-width: 768px) {
  .p-search__heading {
    font-size: 0.21rem;
    line-height: 0.3rem;
    gap: 0.13rem;
    margin-bottom: 0.6rem;
  }
}
.p-search__heading::before {
  content: "";
  width: 0.2rem;
  height: 0.12rem;
  background-image: url("../img/common/icon_stripe.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.p-search__main--container {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}
.p-search__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 0.04rem;
  margin-top: 0.3rem;
}
@media screen and (min-width: 768px) {
  .p-search__bottom {
    margin-top: 0.4rem;
    justify-content: center;
    gap: 0.35rem;
  }
}
.p-search__number {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
  display: flex;
  align-items: baseline;
  gap: 0.03rem;
  padding-bottom: 0.03rem;
  border-bottom: 0.01rem solid #2E483F;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-search__number {
    font-size: 0.19rem;
    line-height: 0.27rem;
    gap: 0.05rem;
    padding-bottom: 0.04rem;
  }
}
.p-search__number::after {
  content: "件";
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.11rem;
  line-height: 0.16rem;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-search__number::after {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
.p-search__button {
  display: flex;
  gap: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-search__button {
    gap: 0.08rem;
  }
}
.p-search__button input {
  width: 1.1rem;
  height: 0.39rem;
  border-radius: 0.04rem;
  cursor: pointer;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 700;
  transition: 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  border: unset;
  outline: unset;
}
@media screen and (min-width: 768px) {
  .p-search__button input {
    width: 1.56rem;
    height: 0.46rem;
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
.p-search__button input:hover {
  opacity: 0.7;
}
.p-search__button input[type=submit] {
  background-color: #2E483F;
  color: white;
}
.p-search__button input[type=reset] {
  background-color: #E4E8E8;
  color: #2E483F;
}
.p-search__item {
  display: flex;
  flex: none;
  padding-bottom: 0.22rem;
  border-bottom: 0.01rem dashed #E5E8E8;
}
@media screen and (min-width: 768px) {
  .p-search__item {
    padding-bottom: 0.18rem;
  }
}
.p-search__item dt {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.23rem;
  letter-spacing: 0em;
  font-weight: 700;
  width: 0.72rem;
  flex: none;
}
@media screen and (min-width: 768px) {
  .p-search__item dt {
    width: 2.33rem;
    font-size: 0.15rem;
    line-height: 0.21rem;
  }
}
.p-search__item--freeword {
  flex-grow: 1;
}
.p-search__item--freeword input[type=text] {
  background-color: white;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
  border-radius: 0.04rem;
  border: 0.01rem solid #CAD0CD;
  padding-left: 0.18rem;
  padding-bottom: 0.02rem;
  width: 100%;
  height: 0.46rem;
  transition: 0.3s;
}
.p-search__item--freeword input[type=text]::placeholder {
  color: #AAAAAA;
}
.p-search__item--radio {
  display: flex;
  flex-direction: column;
  gap: 0.07rem;
  padding-top: 0.02rem;
}
@media screen and (min-width: 768px) {
  .p-search__item--radio {
    flex-direction: row;
    gap: 0.1rem 0.26rem;
    flex-wrap: wrap;
  }
}
.p-search__item--radio--hori {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.06rem 0.17rem;
}
.p-search__item--radio label {
  display: flex;
  cursor: pointer;
  gap: 0.06rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 700;
  color: #485F57;
}
@media screen and (min-width: 768px) {
  .p-search__item--radio label {
    font-size: 0.15rem;
    line-height: 0.21rem;
    gap: 0.1rem;
  }
}
.p-search__item--radio label::before {
  content: "";
  width: 0.18rem;
  height: 0.18rem;
  border-radius: 0.04rem;
  border: 0.01rem solid #CAD0CD;
  background-image: url("../img/common/icon_check.svg");
  background-size: 0.12rem 0.09rem;
  background-repeat: no-repeat;
  background-position: center;
  flex: none;
}
@media screen and (min-width: 768px) {
  .p-search__item--radio label::before {
    width: 0.2rem;
    height: 0.2rem;
    background-size: 0.13rem 0.09rem;
  }
}
.p-search__item--radio label input {
  display: none;
}
.p-search__item--radio label:has(input:checked)::before {
  background-color: #2E483F;
  border-color: #2E483F;
}
.p-search__item--checkbox {
  display: flex;
  gap: 0.06rem;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-search__item--checkbox {
    gap: 0.1rem;
  }
}
.p-search__item--checkbox label {
  padding: 0.03rem 0.07rem;
  background-color: white;
  cursor: pointer;
  border: 0.01rem solid #D5D9D7;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.04rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: #70847D;
  flex: none;
}
@media screen and (min-width: 768px) {
  .p-search__item--checkbox label {
    padding: 0.05rem 0.1rem;
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
.p-search__item--checkbox label input {
  display: none;
}
.p-search__item--checkbox label:has(input:checked) {
  background-color: #2E483F;
  color: white;
  border-color: #2E483F;
}
.p-search__item--vert {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-search__item--vert {
    flex-direction: row;
    gap: unset;
  }
}

.p-faq {
  display: flex;
  align-items: center;
  width: 100%;
  flex-direction: column;
  gap: 0.04rem;
}
@media screen and (min-width: 768px) {
  .p-faq {
    margin: auto;
  }
}
.p-faq__title {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.17rem;
  line-height: 0.25rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.1rem;
}
@media screen and (min-width: 768px) {
  .p-faq__title {
    font-size: 0.19rem;
    line-height: 0.27rem;
    margin-bottom: 0.18rem;
  }
}
.p-faq__wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: white;
}
@media screen and (min-width: 768px) {
  .p-faq__wrapper {
    border-top: unset;
  }
}
.p-faq__switch {
  display: none;
}
.p-faq__switch:checked ~ .p-faq__answer {
  max-height: inherit;
  opacity: 1;
  padding-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-faq__switch:checked ~ .p-faq__answer {
    padding-bottom: 0.3rem;
  }
}
.p-faq__switch:checked ~ .p-faq__question .p-faq__display::after {
  transform: translateY(-50%) rotate(0deg);
  opacity: 0;
}
.p-faq__question {
  position: relative;
  padding-top: 0.22rem;
  padding-left: 0.18rem;
  padding-right: 0.5rem;
  padding-bottom: 0.22rem;
  cursor: pointer;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.22rem;
  letter-spacing: 0em;
  font-weight: 700;
  transition: 0.3s;
  display: flex;
  align-items: center;
  gap: 0.18rem;
  color: #2D313B;
}
@media screen and (min-width: 768px) {
  .p-faq__question {
    padding-top: 0.24rem;
    padding-left: 0.27rem;
    padding-right: 1rem;
    padding-bottom: 0.2rem;
    font-size: 0.15rem;
    line-height: 0.21rem;
  }
}
.p-faq__display {
  position: absolute;
  right: 0.18rem;
  top: 0.25rem;
  width: 0.13rem;
  height: 0.13rem;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-faq__display {
    top: 0.24rem;
    width: 0.13rem;
    height: 0.13rem;
    right: 0.29rem;
  }
}
.p-faq__display::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.01rem;
  background-color: #5E6563;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: inherit;
}
.p-faq__display::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.01rem;
  background-color: #5E6563;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-90deg);
  transition: inherit;
}
.p-faq__answer {
  position: relative;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.3s;
  font-weight: 300;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.25rem;
  letter-spacing: 0em;
  font-weight: 400;
  padding-left: 0.18rem;
  padding-right: 0.18rem;
}
@media screen and (min-width: 768px) {
  .p-faq__answer {
    padding-left: 0.27rem;
    padding-right: 0.58rem;
    font-size: 0.14rem;
    line-height: 0.24rem;
  }
}
.p-faq__answer a {
  text-decoration: underline;
}
.p-faq__answer > *:not(:last-child) {
  margin-bottom: 0.2rem;
}
.p-faq__answer .wp-block-gallery {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
}
@media screen and (min-width: 768px) {
  .p-faq__answer .wp-block-gallery {
    justify-content: center;
    flex-direction: row;
  }
}
.p-faq__answer .wp-block-gallery .wp-block-image {
  width: 100% !important;
}
@media screen and (min-width: 768px) {
  .p-faq__answer .wp-block-gallery .wp-block-image {
    max-width: 33%;
  }
}
.p-faq__answer .wp-block-gallery img {
  display: block;
  width: 100%;
  height: auto;
}
.p-faq__answer p:last-child:empty {
  height: 0;
  margin-top: -0.2rem;
}

.p-category-nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.09rem 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-category-nav {
    gap: 0.18rem;
    justify-content: flex-start;
  }
}
.p-category-nav__wrapper {
  display: flex;
  align-items: center;
  flex: none;
  width: 1.58rem;
  height: 0.57rem;
  border-radius: 0.04rem;
  border: 0.01rem solid #B4C6BF;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0.02em;
  font-weight: 700;
  padding-left: 0.12rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-category-nav__wrapper {
    width: 3.29rem;
    height: 0.54rem;
    padding-left: unset;
    justify-content: center;
  }
}
.p-category-nav__wrapper::after {
  content: "";
  width: 0.08rem;
  height: 0.05rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 0.16rem;
  transform: translateY(-50%);
  background-image: url("../img/common/chevron_bottom.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) saturate(100%) invert(24%) sepia(47%) saturate(295%) hue-rotate(108deg) brightness(87%) contrast(89%);
}
@media screen and (min-width: 768px) {
  .p-category-nav__wrapper::after {
    width: 0.1rem;
    height: 0.06rem;
    right: 0.18rem;
  }
}

.p-slider {
  position: relative;
}
.p-slider .swiper {
  overflow: initial;
}
@media screen and (min-width: 768px) {
  .p-slider .swiper {
    overflow: hidden;
  }
}
.p-slider .swiper-wrapper {
  overflow: initial;
}
@media screen and (min-width: 768px) {
  .p-slider__next, .p-slider__prev {
    position: absolute;
    width: 0.3rem;
    height: 0.3rem;
    background-image: url("../img/common/arrow_next.svg");
    background-size: contain;
    background-repeat: no-repeat;
    top: 0.94rem;
    right: -0.28rem;
    transform: translateX(100%);
    cursor: pointer;
    background-size: 99% 99%;
  }
  .p-slider__next:hover, .p-slider__prev:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .p-slider__prev {
    left: -0.28rem;
    transform: translateX(-100%) scaleX(-1);
  }
}
.p-slider__pagination {
  position: absolute;
  bottom: -0.36rem !important;
  display: flex;
  justify-content: center;
  transform: translateY(100%);
  gap: 0.06rem;
}
@media screen and (min-width: 768px) {
  .p-slider__pagination {
    gap: 0.12rem;
    bottom: -0.28rem;
  }
}
.p-slider__pagination .swiper-pagination-bullet {
  width: 0.07rem;
  height: 0.07rem;
  background-color: #DDDDDD;
  opacity: 1;
  margin: 0 !important;
}
@media screen and (min-width: 768px) {
  .p-slider__pagination .swiper-pagination-bullet {
    width: 0.08rem;
    height: 0.08rem;
  }
}
.p-slider__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #2E483F;
}

.p-category-tab {
  display: flex;
  gap: 0.08rem;
  flex-wrap: wrap;
  align-items: center;
}
.p-category-tab__item {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 0.25rem;
  width: 1.03rem;
  border-radius: 0.25rem;
  border: 0.01rem solid #B4C6BF;
  color: #365349;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0em;
  font-weight: 500;
  background-color: white;
  flex: none;
  transition: 0.3s;
  padding-left: 0.05rem;
  padding-right: 0.05rem;
  padding-bottom: 0.02rem;
}
@media screen and (min-width: 768px) {
  .p-category-tab__item {
    padding-left: 0.13rem;
    padding-right: 0.13rem;
    width: fit-content;
    font-size: 0.13rem;
    line-height: 0.19rem;
  }
}
.p-category-tab__item:hover {
  opacity: 0.7;
}
.p-category-tab__item--active {
  background-color: #6F887F;
  color: white;
}
.p-category-tab__container {
  position: relative;
}
.p-category-tab__wrapper {
  opacity: 0;
  pointer-events: none;
  top: 0;
  position: absolute;
  transition: 0.3s;
}
.p-category-tab__wrapper--active {
  position: initial;
  opacity: 1;
  pointer-events: all;
}

.p-form-phase {
  display: flex;
  justify-content: center;
  gap: 0.7rem;
}
@media screen and (min-width: 768px) {
  .p-form-phase {
    flex-direction: column;
    gap: 0.14rem;
    justify-content: initial;
  }
}
.p-form-phase__wrapper {
  position: relative;
  width: fit-content;
  height: fit-content;
}
@media screen and (min-width: 768px) {
  .p-form-phase__wrapper {
    display: flex;
    gap: 0.11rem;
    align-items: center;
  }
}
.p-form-phase__wrapper:nth-last-of-type(1) i::after {
  content: unset;
}
.p-form-phase__wrapper[data-current] i {
  background-color: #BA9041;
  color: white;
}
.p-form-phase__wrapper i {
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: #2E483F;
  background-color: #EFF0F0;
  font-style: normal;
}
.p-form-phase__wrapper i::after {
  content: "";
  position: absolute;
  right: -0.08rem;
  top: 50%;
  transform: translate(100%, -50%);
  width: 0.53rem;
  height: 0.02rem;
  background: linear-gradient(to right, #E0E0E0 0%, #E0E0E0 50%, transparent 50%, transparent 100%);
  background-repeat: repeat;
  background-size: 0.06rem 0.02rem;
}
@media screen and (min-width: 768px) {
  .p-form-phase__wrapper i::after {
    content: unset;
  }
}
.p-form-phase__wrapper span {
  position: absolute;
  white-space: nowrap;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  bottom: -0.16rem;
  left: 50%;
  transform: translate(-50%, 100%);
  max-width: unset;
  display: block;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-form-phase__wrapper span {
    position: initial;
    bottom: unset;
    left: unset;
    transform: unset;
    padding-bottom: 0.02rem;
  }
}

.p-form__switch {
  display: none;
  margin: auto;
  margin-top: 2rem;
}
.p-form__switch#form-switch-first:checked ~ .p-form__first {
  display: block !important;
}
.p-form__switch#form-switch-second:checked ~ .p-form__second {
  display: block !important;
}
.p-form__switch#form-switch-third:checked ~ .p-form__third {
  display: block !important;
}
.p-form__first {
  display: none;
}
.p-form__second {
  display: none;
}
.p-form__third {
  display: none;
}
.p-form__error {
  padding: 0.17rem;
  background-color: #ffe0e0;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.22rem;
  letter-spacing: 0em;
  font-weight: 400;
  border-radius: 0.04rem;
  color: red;
  display: none;
  margin-bottom: 0.23rem;
  margin-top: -0.4rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-form__error {
    margin-top: unset;
    margin-bottom: 0.3rem;
    padding: 0.24rem;
  }
}
.p-form__main:has(.wpcf7-not-valid) .p-form__error {
  display: block;
}
.p-form__main--container {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-form__main--container {
    gap: 0.3rem;
  }
}
.p-form__main--space {
  height: 0.25rem;
}
.p-form__main--space--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-form__main--space--pc {
    display: block;
    height: 0.3rem;
  }
}
.p-form__main--line {
  width: 100%;
  height: 0.005rem;
  background-color: #B0C4CE;
  margin-top: 0.15rem;
  margin-bottom: 0.15rem;
}
@media screen and (min-width: 768px) {
  .p-form__main--line {
    margin-top: 0.16rem;
    margin-bottom: 0.16rem;
  }
}
.p-form__main--subject {
  max-width: unset;
  width: 100vw;
  height: 0.59rem;
  padding-left: 0.18rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.18rem;
  line-height: 0.26rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  display: flex;
  align-items: center;
  margin-bottom: 0.25rem;
  background-color: #F0F4F6;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .p-form__main--subject {
    width: 100%;
    max-width: usnet;
    left: unset;
    transform: unset;
    margin-bottom: 0.16rem;
  }
}
.p-form__hidden {
  display: none !important;
}
.p-form__select {
  position: relative;
  width: 100%;
  height: 0.46rem;
  border: unset;
  display: flex;
  flex-direction: column;
  --active: transparent;
  --active-check: 0;
  z-index: 3;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-form__select {
    width: 3.76rem;
  }
}
.p-form__select::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 0.15rem;
  transform: translateY(-50%);
  width: 0.1rem;
  height: 0.08rem;
  background-color: #3C77B4;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
@media screen and (min-width: 768px) {
  .p-form__select::after {
    right: 0.22rem;
  }
}
.p-form__select--container {
  display: flex;
  flex-direction: column;
  border-radius: 0.05rem;
  background-color: #F0F0F0;
  width: 100%;
  height: fit-content;
  position: absolute;
  top: 0;
  left: 0;
  min-height: 0.46rem;
  padding-top: 0.03rem;
  border-bottom: 0.01rem solid #DBE6EB;
}
@media screen and (min-width: 768px) {
  .p-form__select--container {
    gap: 0.03rem;
  }
}
.p-form__select--item {
  width: 100%;
  height: 0.4rem;
  border: 0.05rem solid transparent;
  background-clip: padding-box;
  display: none;
  overflow: hidden;
  pointer-events: none;
  cursor: pointer;
  position: relative;
}
.p-form__select--item:nth-of-type(1) {
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p-form__select--item {
    height: 0.4rem;
    border-width: 0.06rem;
  }
}
.p-form__select--item span {
  padding-left: 0.09rem;
  border-radius: 0.04rem;
  display: block;
  width: 100%;
  height: 100%;
  transition: 0.3s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  padding-left: 0.26rem;
  height: 0.3rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-form__select--item span {
    padding-left: 0.26rem;
  }
}
.p-form__select--item span:hover {
  background-color: #B0C4CE;
  color: white;
}
.p-form__select--item--active {
  display: block;
}
.p-form__select--item--active span {
  background-color: var(--active);
  color: var(--active-font);
}
.p-form__select--item--active span::before {
  content: "";
  background-image: url("../img/common/check.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 0.1rem;
  height: 0.08rem;
  position: absolute;
  top: 50%;
  left: 0.11rem;
  transform: translateY(-50%);
  opacity: var(--active-check);
  transition: 0.3s;
}
.p-form__select:focus {
  --active: #B0C4CE;
  --active-font: white;
  --active-check: 1;
}
.p-form__select:focus .p-form__select--container {
  background-color: #F2F6F8;
}
.p-form__select:focus .p-form__select--item {
  display: block !important;
  pointer-events: all !important;
}
.p-form__select:focus .p-form__select--item:nth-of-type(n+2) {
  border-top-width: unset;
}
@media screen and (min-width: 768px) {
  .p-form__select:focus .p-form__select--item:nth-of-type(n+2) {
    border-top-width: unset;
  }
}
.p-form__item {
  display: flex;
  flex-direction: column;
  gap: 0.09rem;
}
@media screen and (min-width: 768px) {
  .p-form__item {
    flex-direction: row;
    gap: 0.18rem;
    align-items: flex-start;
  }
}
.p-form__item:has(.wpcf7-not-valid) .p-form__item--invalid {
  display: block;
}
.p-form__item > dt {
  display: flex;
  align-items: center;
  gap: 0.1rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-form__item > dt {
    font-size: 0.16rem;
    line-height: 0.25rem;
    flex-wrap: 1;
    justify-content: space-between;
    gap: 0.05rem;
    width: 2.08rem;
    flex: none;
    padding-top: 0.12rem;
  }
}
.p-form__item > dt small {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-form__item > dt small {
    justify-self: flex-start;
    margin-right: auto;
  }
}
.p-form__item > dd {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-form__item > dd {
    flex-grow: 1;
    display: flex;
    fllex-direction: column;
    justify-content: center;
    min-height: 0.46rem;
  }
}
.p-form__item > dd small {
  display: block;
  margin-top: 0.15rem;
  margin-bottom: 0.1rem;
}
@media screen and (min-width: 768px) {
  .p-form__item > dd small {
    font-size: 0.15rem;
    line-height: 0.21rem;
    margin-top: 0.16rem;
  }
}
.p-form__item > dd.p-form__item--half {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  gap: 0.17rem;
}
@media screen and (min-width: 768px) {
  .p-form__item > dd.p-form__item--half {
    justify-content: flex-start;
    gap: 0.21rem;
  }
  .p-form__item > dd.p-form__item--half > *:has(input) {
    width: 50%;
  }
}
.p-form__item--invalid {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0em;
  font-weight: 400;
  color: red;
  margin-top: 0.05rem;
  display: none;
}
.p-form__item--required > dt::after {
  content: "必須";
  width: 0.31rem;
  height: 0.16rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  margin-top: 0.02rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.11rem;
  line-height: 0.11rem;
  letter-spacing: 0em;
  font-weight: 500;
  padding-bottom: 0.01rem;
  background-color: #BA9041;
}
.p-form__item--flex {
  display: flex;
  flex-direction: column;
  gap: 0.07rem;
}
@media screen and (min-width: 768px) {
  .p-form__item--flex {
    gap: 0.12rem;
  }
}
.p-form__item--flex > dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-form__item--flex > dl {
    justify-content: flex-start;
  }
}
.p-form__item--flex > dl dt {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-form__item--flex > dl dt {
    width: 2.58rem;
  }
}
.p-form__item--flex > dl dt strong {
  font-weight: 700;
  font-size: 0.14rem;
}
.p-form__item--flex > dl dd {
  display: flex;
  justify-content: flex-end;
  gap: 0.05rem;
  align-items: center;
  flex: none;
}
.p-form__item--flex > dl dd span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-form__item--full {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-form__item--middle {
    width: 4.5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .p-form__item--short {
    width: 2.64rem !important;
  }
}
.p-form__item--tiny {
  width: 0.48rem !important;
  padding: unset !important;
  text-align: center;
}
.p-form__item--caution {
  margin-top: 0.05rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
  word-break: break-all;
}
@media screen and (min-width: 768px) {
  .p-form__item--caution {
    margin-top: 0.08rem;
  }
}
.p-form__item--hori {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.06rem;
}
.p-form__item--hori .wpcf7-form-control {
  display: flex;
  flex-direction: column;
  gap: 0.14rem;
}
.p-form__item--hori--select {
  display: flex;
  flex-direction: column;
  gap: 0.14rem;
  padding-top: 0.12rem;
}
.p-form__item--hori--select .first {
  margin-bottom: 0.16rem !important;
}
.p-form__item--hori--wrapper {
  display: flex;
  align-items: center;
  gap: 0.17rem;
}
.p-form__item--hori--wrapper input {
  width: 0.72rem !important;
  text-align: right;
  padding-right: 0.13rem;
}
.p-form__item--date {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-form__item--date {
    width: fit-content;
  }
}
.p-form__item--date:has(input[data-inputed])::before {
  content: unset;
}
.p-form__item--date::before {
  content: "カレンダーを表示";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background-color: #F0F0F0;
  padding-left: 0.18rem;
  display: flex;
  align-items: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
  pointer-events: none;
}
.p-form__item--date::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 0.16rem;
  height: 0.17rem;
  right: 0.17rem;
  top: 0.14rem;
  pointer-events: none;
  background-image: url("../img/common/icon_calendar.svg");
  background-size: contain;
  background-repeat: no-repeat;
  top: 0.12rem;
}
.p-form__item--date input::-webkit-calendar-picker-indicator {
  opacity: 0 !important;
  cursor: pointer;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}
.p-form__item--date span {
  display: block;
}
.p-form__item--radio--vertical {
  display: flex;
  flex-direction: column;
}
.p-form__item--radio--vert .wpcf7-radio {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-form__item--radio--vert .wpcf7-radio {
    fllex-direction: row;
  }
}
.p-form__item--file {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  margin-top: 0.12rem;
  width: fit-content;
  cursor: pointer;
}
.p-form__item--file::before {
  content: "ファイルを選択";
  width: 1.47rem;
  height: 0.46rem;
  border-radius: 0.04rem;
  background-color: #F0F0F0;
  color: #1E2945;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.p-form__item--file .wpcf7-form-control-wrap {
  display: none;
}
.p-form__item--file--name {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
  color: #2D313B;
  word-break: break-all;
}
.p-form__button {
  background-color: white;
  padding-top: 0.41rem;
  margin-top: 0.4rem;
  border-top: 0.01rem solid #D5D9D7;
}
@media screen and (min-width: 768px) {
  .p-form__button {
    padding-top: 0.65rem;
    margin-top: 1rem;
  }
}
.p-form__button--desc {
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.25rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  .p-form__button--desc {
    margin-bottom: 0.15rem;
    font-size: 0.13rem;
    line-height: 0.26rem;
  }
}
.p-form__button--desc a {
  color: #BA9041;
  text-decoration: underline;
}
.p-form__button--check {
  display: flex;
  justify-content: center;
  position: relative;
  margin-bottom: 0.54rem;
}
@media screen and (min-width: 768px) {
  .p-form__button--check {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.65rem;
  }
}
.p-form__button--check .wpcf7-list-item-label::before {
  border-radius: 0.04rem !important;
}
.p-form__button--check input[type=checkbox]:checked ~ .wpcf7-list-item-label::before {
  background-image: url("../img/common/check.svg");
  background-color: #2E483F;
  background-size: 0.13rem 0.08rem;
  border: unset;
}
.p-form__button--check:has(.wpcf7-not-valid) {
  color: red;
}
.p-form__button--check:has(.wpcf7-not-valid) .p-form__item--invalid {
  display: block !important;
}
.p-form__button--check .p-form__item--invalid {
  position: absolute;
  bottom: -0.2rem;
  left: 50%;
  transform: translateX(-50%);
}
.p-form__button:has(input[type=checkbox]:checked) ~ label[for=form-switch-second] {
  opacity: 1;
  pointer-events: all;
  filter: grayscale(0);
}
.p-form__send {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  align-items: center;
  margin-top: 0.6rem;
}
@media screen and (min-width: 768px) {
  .p-form__send {
    margin-top: 0.83rem;
    flex-direction: row;
    justify-content: center;
  }
}
.p-form__send .c-btn--white {
  padding-right: unset;
  transition: 0.3s;
  cursor: pointer;
}
.p-form__send .c-btn--white:hover {
  opacity: 0.7;
}
.p-form__send .c-btn--arrow--blue {
  padding-right: unset;
  transition: 0.3s;
  cursor: pointer;
}
.p-form__send .c-btn--arrow--blue:hover {
  opacity: 0.7;
}
.p-form input[type=text],
.p-form input[type=email],
.p-form input[type=tel],
.p-form input[type=date],
.p-form input[type=number],
.p-form select {
  width: 100%;
  height: 0.46rem;
  outline: unset;
  border: unset;
  background-color: white;
  padding-left: 0.12rem;
  padding-right: 0.12rem;
  color: #2E483F;
  border-radius: 0.04rem;
  background-color: #F1F2F2;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-form input[type=text],
  .p-form input[type=email],
  .p-form input[type=tel],
  .p-form input[type=date],
  .p-form input[type=number],
  .p-form select {
    height: 0.45rem;
    font-size: 0.16rem;
    line-height: 0.24rem;
    padding-left: 0.2rem;
  }
}
.p-form input[type=text]::placeholder,
.p-form input[type=email]::placeholder,
.p-form input[type=tel]::placeholder,
.p-form input[type=date]::placeholder,
.p-form input[type=number]::placeholder,
.p-form select::placeholder {
  color: #AAAAAA;
  font-weight: 400;
}
.p-form .wpcf7-list-item {
  margin: unset;
}
.p-form input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.p-form input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.p-form input[type=radio], .p-form input[type=checkbox] {
  display: none;
}
.p-form input[type=radio] ~ span, .p-form input[type=checkbox] ~ span {
  display: flex;
  align-items: center;
  gap: 0.04rem;
  cursor: pointer;
  min-width: 1.48rem;
}
@media screen and (min-width: 768px) {
  .p-form input[type=radio] ~ span, .p-form input[type=checkbox] ~ span {
    min-width: unset;
  }
}
.p-form input[type=radio] ~ span::before, .p-form input[type=checkbox] ~ span::before {
  content: "";
  width: 0.2rem;
  height: 0.2rem;
  border: 0.01rem solid #C1C1C1;
  display: block;
  border-radius: 0.04rem;
  box-sizing: border-box;
  background-color: white;
  background-size: 0.13rem 0.09rem;
  background-repeat: no-repeat;
  background-position: center center;
  transition: 0.3s;
}
.p-form input[type=radio]:checked ~ span::before {
  content: "";
  background-image: url("../img/common/icon_check.svg");
  background-color: #2E483F;
  border: unset;
}
.p-form input[type=checkbox]:checked ~ span::before {
  content: "";
  background-image: url("../img/common/icon_check.svg");
  background-color: #2E483F;
  border: unset;
}
.p-form .codedropz-upload-wrapper .codedropz-upload-handler {
  background-color: #FCFCFC;
  border: 0.015rem dotted #B2BCB6;
  width: 100%;
  height: 1.54rem;
}
.p-form .codedropz-upload-wrapper .codedropz-upload-container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-form .codedropz-upload-wrapper .codedropz-upload-container {
    padding: 0 0 0.1rem;
  }
}
.p-form .codedropz-upload-wrapper .codedropz-upload-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  position: relative;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-form .codedropz-upload-wrapper .codedropz-upload-inner {
    flex-direction: row;
    gap: unset;
  }
}
.p-form .codedropz-upload-wrapper .codedropz-upload-inner::after {
  content: "（合計最大アップロードサイズ：25MB）";
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-form .codedropz-upload-wrapper .codedropz-upload-inner::after {
    position: absolute;
    bottom: 0.25rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
.p-form .codedropz-upload-wrapper .codedropz-upload-inner h3 {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-form .codedropz-upload-wrapper .codedropz-upload-inner h3 {
    display: flex;
    gap: 0.17rem;
    font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 0.13rem;
    line-height: 0.19rem;
    letter-spacing: 0em;
    font-weight: 500;
  }
  .p-form .codedropz-upload-wrapper .codedropz-upload-inner h3::before {
    content: "";
    width: 0.19rem;
    height: 0.19rem;
    background-image: url("../img/common/icon_upload.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }
}
.p-form .codedropz-upload-wrapper .codedropz-upload-inner span {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-form .codedropz-upload-wrapper .codedropz-upload-inner span {
    display: block;
    font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 0.13rem;
    line-height: 0.19rem;
    letter-spacing: 0em;
    font-weight: 500;
  }
}
.p-form .codedropz-upload-wrapper .codedropz-upload-inner .codedropz-btn-wrap {
  width: 2.4rem;
  height: 0.54rem;
  border-radius: 0.04rem;
  border: 0.01rem solid #CAD0CD;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-form .codedropz-upload-wrapper .codedropz-upload-inner .codedropz-btn-wrap {
    width: 1.25rem;
    height: 0.4rem;
    margin-left: 0.13rem;
  }
}
.p-form .codedropz-upload-wrapper .codedropz-upload-inner .codedropz-btn-wrap .cd-upload-btn {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-form .codedropz-upload-wrapper .dnd-upload-counter {
  display: none;
}
.p-form .codedropz-upload-wrapper .dnd-upload-status .dnd-upload-image {
  width: 0.3rem;
  height: 0.3rem;
}
.p-form .codedropz-upload-wrapper .dnd-upload-status .dnd-upload-image .file {
  width: 0.18rem;
  height: 0.18rem;
  background-size: contain;
}
.p-form .codedropz-upload-wrapper .dnd-upload-status .name {
  display: flex;
  align-items: center;
}
.p-form .codedropz-upload-wrapper .dnd-upload-status .name span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 400;
  color: #3C77B4;
}
.p-form .codedropz-upload-wrapper .dnd-upload-status .name em {
  font-style: normal;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.1rem;
  line-height: 0.15rem;
  letter-spacing: 0em;
  font-weight: 400;
}
.p-form .codedropz-upload-wrapper .dnd-upload-status .remove-file {
  top: 50%;
  transform: translateY(-50%);
}
.p-form .codedropz-upload-wrapper .dnd-upload-status .remove-file .dnd-icon-remove::after {
  background-image: url("../img/common/icon_close.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.p-form .codedropz-upload-wrapper .dnd-upload-status .dnd-progress-bar {
  display: none;
}
.p-form input[type=submit] {
  display: none;
}
.p-form textarea {
  width: 100%;
  min-height: 2.52rem;
  background-color: #F0F0F0;
  outline: unset;
  border: unset;
  outline: unset;
  padding: 0.12rem 0.18rem;
  transition: 0.3s;
  color: #2E483F;
  display: block;
  border-radius: 0.04rem;
}
@media screen and (min-width: 768px) {
  .p-form textarea {
    font-size: 0.16rem;
    line-height: 0.24rem;
    padding: 0.16rem;
  }
}
.p-form textarea::placeholder {
  color: #AAAAAA;
  font-weight: 400;
}
.p-form .wpcf7-spinner {
  display: none;
}
.p-form .wpcf7-radio, .p-form .wpcf7-checkbox {
  gap: 0.06rem 0.2rem;
  display: flex;
  flex-wrap: wrap;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
.p-form input.wpcf7-not-valid, .p-form textarea.wpcf7-not-valid {
  background-color: #ffe0e0 !important;
  border: 0.01rem solid #ffc0c0 !important;
}
.p-form .wpcf7-not-valid-tip {
  display: none;
  margin-left: auto;
  position: absolute;
  bottom: 105%;
  right: 0;
  font-size: 0.12rem;
  line-height: 0.17rem;
  font-weight: 700;
  color: #a00000;
  white-space: nowrap;
  max-width: unset;
}
@media screen and (min-width: 768px) {
  .p-form .wpcf7-not-valid-tip {
    top: 100%;
    right: -0.1rem;
    transform: translate(100%, -100%);
    bottom: unset;
  }
}
.p-form .wpcf7-response-output {
  border-radius: 0.05rem;
  display: none;
}
@media screen and (min-width: 768px) {
  .p-form .wpcf7-response-output {
    font-size: 0.16rem;
    line-height: 0.24rem;
  }
}
.p-form .c-btn--arrow--navy {
  margin: auto;
}

.p-form-confirm {
  display: flex;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-form-confirm {
    width: 8.05rem;
    margin-left: auto;
  }
}
.p-form-confirm__main {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-form-confirm__main {
    padding-top: 0.05rem;
  }
}
.p-form-confirm__main--container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
}
@media screen and (min-width: 768px) {
  .p-form-confirm__main--container {
    gap: 0.21rem;
  }
}
.p-form-confirm__item {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  padding-bottom: 0.16rem;
  border-bottom: 0.01rem solid #D5D9D7;
}
@media screen and (min-width: 768px) {
  .p-form-confirm__item {
    flex-direction: row;
    gap: unset;
    padding-bottom: 0.22rem;
  }
}
.p-form-confirm__item dt {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #2B3833;
}
@media screen and (min-width: 768px) {
  .p-form-confirm__item dt {
    width: 2.13rem;
    flex: none;
    padding-right: 0.1rem;
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
.p-form-confirm__item dd {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
  word-break: break-all;
  color: #485F57;
}
@media screen and (min-width: 768px) {
  .p-form-confirm__item dd {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
}
.p-form-confirm__item dd i {
  display: inline-block;
  font-style: normal;
  padding-right: 0.1rem;
}
.p-form-confirm__item ul {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  padding-right: 0.12rem;
}
@media screen and (min-width: 768px) {
  .p-form-confirm__item ul {
    width: 3.11rem;
  }
}
.p-form-confirm__item ul li {
  display: flex;
  justify-content: space-between;
}
.p-form-confirm__item ul div {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
}
.p-form-confirm__item ul p {
  white-space: nowrap;
  align-self: flex-end;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 400;
}
.p-form-confirm__item ul p span {
  font-style: normal;
}
.p-form-confirm__send {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  margin-top: 0.52rem;
}
@media screen and (min-width: 768px) {
  .p-form-confirm__send {
    margin-top: 0.99rem;
  }
}
.p-form-confirm__send .c-btn--black, .p-form-confirm__send .c-btn--white {
  cursor: pointer;
  transition: 0.3s;
}
.p-form-confirm__send .c-btn--black:hover, .p-form-confirm__send .c-btn--white:hover {
  opacity: 0.7;
}

.p-category-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.14rem 0;
}
.p-category-list__item {
  flex: none;
  padding-bottom: 0.14rem;
  text-align: center;
  color: #A1AAA7;
  border-bottom: 0.01rem solid #A1AAA7;
  width: 1.58rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-category-list__item {
    width: 1.18rem;
    padding-bottom: 0.17rem;
    font-size: 0.12rem;
    line-height: 0.17rem;
  }
}
.p-category-list__item--current {
  color: #2E483F;
  border-color: #2E483F;
}

.p-pagination {
  margin: auto;
}
.p-pagination ul.page-numbers {
  display: flex;
  gap: 0.04rem;
  align-items: center;
  position: relative;
  width: fit-content;
  margin: auto;
}
.p-pagination ul.page-numbers li {
  width: 0.34rem;
  height: 0.34rem;
}
.p-pagination ul.page-numbers li a, .p-pagination ul.page-numbers li span {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.01rem solid #B9B9B9;
  color: #B9B9B9;
}
.p-pagination ul.page-numbers li .current {
  background-color: #B9B9B9;
  color: #2E483F;
}
.p-pagination ul.page-numbers li .dots {
  border: unset;
}
.p-pagination ul.page-numbers li .next, .p-pagination ul.page-numbers li .prev {
  border: unset;
  width: fit-content;
  height: fit-content;
}
.p-pagination ul.page-numbers li:has(.prev) {
  position: absolute;
  bottom: -0.26rem;
  left: 0;
  transform: translateY(100%);
  width: fit-content;
  height: fit-content;
}
@media screen and (min-width: 768px) {
  .p-pagination ul.page-numbers li:has(.prev) {
    bottom: 50%;
    left: -0.81rem;
    transform: translate(-100%, 50%);
  }
}
.p-pagination ul.page-numbers li .prev {
  font-family: acumin-pro, serif;
  font-size: 0.13rem;
  line-height: 0.13rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  color: #2E483F;
  display: flex;
  gap: 0.11rem;
  align-items: center;
}
.p-pagination ul.page-numbers li .prev::before {
  content: "";
  width: 0.06rem;
  height: 0.1rem;
  background-image: url("../img/common/chevron_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transform: scaleX(-1);
  display: block;
  filter: brightness(0) saturate(100%) invert(24%) sepia(47%) saturate(295%) hue-rotate(108deg) brightness(87%) contrast(89%);
  flex: none;
}
.p-pagination ul.page-numbers li:has(.next) {
  position: absolute;
  bottom: -0.26rem;
  right: 0;
  transform: translateY(100%);
  width: fit-content;
  height: fit-content;
}
@media screen and (min-width: 768px) {
  .p-pagination ul.page-numbers li:has(.next) {
    bottom: 50%;
    right: -0.81rem;
    transform: translate(100%, 50%);
  }
}
.p-pagination ul.page-numbers li .next {
  font-family: acumin-pro, serif;
  font-size: 0.13rem;
  line-height: 0.13rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  color: #2E483F;
  display: flex;
  gap: 0.11rem;
  align-items: center;
}
.p-pagination ul.page-numbers li .next::after {
  content: "";
  width: 0.06rem;
  height: 0.1rem;
  background-image: url("../img/common/chevron_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  filter: brightness(0) saturate(100%) invert(24%) sepia(47%) saturate(295%) hue-rotate(108deg) brightness(87%) contrast(89%);
  flex: none;
}

.p-article {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-article {
    gap: 0.4rem;
  }
}
.p-article__info {
  display: flex;
  align-items: baseline;
  gap: 0.15rem;
}
@media screen and (min-width: 768px) {
  .p-article__info {
    gap: 0.31rem;
  }
}
.p-article__date {
  font-family: acumin-pro, serif;
  font-size: 0.14rem;
  line-height: 0.14rem;
  letter-spacing: 0.04em;
  font-weight: 500;
  color: #9BA59F;
}
@media screen and (min-width: 768px) {
  .p-article__date {
    font-size: 0.16rem;
    line-height: 0.16rem;
  }
}
.p-article__category {
  display: flex;
  gap: 0.1rem;
  flex-wrap: wrap;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.15rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
.p-article__category a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.02rem 0.08rem 0.03rem;
  color: #5E6563;
  border-radius: 0.02rem;
  flex: none;
  white-space: nowrap;
  background-color: #EFF0F0;
}
.p-article__type {
  display: flex;
  gap: 0.11rem;
  flex-wrap: wrap;
  margin-top: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-article__type {
    gap: 0.08rem;
    margin-top: 0.26rem;
  }
}
.p-article__type li {
  display: flex;
  padding: 0.03rem 0.05rem 0.04rem;
  border: 0.01rem solid #2E483F;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0em;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  order: 2;
}
@media screen and (min-width: 768px) {
  .p-article__type li {
    font-size: 0.13rem;
    line-height: 0.19rem;
    padding: 0.03rem 0.05rem 0.04rem;
  }
}
.p-article__type li[data-slug=everyday] {
  order: 1;
  background-color: #EA423C;
  color: white;
  border: unset;
  display: flex !important;
}
.p-article__type:has([data-end]) li {
  display: none;
}
.p-article__type:has([data-end]) [data-end] {
  display: flex !important;
}
.p-article__title {
  display: block;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.17rem;
  line-height: 0.27rem;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin-top: 0.1rem;
}
@media screen and (min-width: 768px) {
  .p-article__title {
    font-size: 0.21rem;
    line-height: 0.32rem;
    margin-top: 0.24rem;
  }
}
.p-article__thumb {
  display: block;
  width: 100%;
}
.p-article__thumb img {
  display: block;
  width: 100%;
}
.p-article__content {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-article__content {
    line-height: 0.29rem;
  }
}
.p-article__content > * {
  margin-bottom: 0.3rem;
}
.p-article__content > *:last-child {
  margin-bottom: unset;
}
.p-article__content .wp-block-image:first-child {
  max-width: unset;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translate(-50%);
  margin-bottom: 0.4rem;
}
@media screen and (min-width: 768px) {
  .p-article__content .wp-block-image:first-child {
    width: 100%;
    max-width: 100%;
    left: unset;
    transform: unset;
    position: initial;
    margin-bottom: 0.69rem;
  }
}
.p-article__content .wp-block-image:first-child img {
  display: block;
  width: 100%;
  height: auto;
}
.p-article__content img {
  display: block;
}
.p-article__content h2 {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.27rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-article__content h2 {
    font-size: 0.18rem;
    line-height: 0.25rem;
  }
}
.p-article__content h3 {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 700;
  padding-left: 0.1rem;
  position: relative;
  margin-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-article__content h3 {
    margin-bottom: 0.21rem;
  }
}
.p-article__content h3::before {
  content: "";
  position: absolute;
  top: 0.06rem;
  left: 0;
  width: 0.02rem;
  height: 0.15rem;
  background-color: #BA9041;
}
.p-article__content h4, .p-article__content h5, .p-article__content h6, .p-article__content b, .p-article__content strong {
  font-weight: 700;
}
.p-article__content ul {
  display: flex;
  flex-direction: column;
  gap: 0.17rem;
}
@media screen and (min-width: 768px) {
  .p-article__content ul {
    gap: 0.08rem;
  }
}
.p-article__content ul li {
  padding-left: 1em;
  position: relative;
}
.p-article__content ul li::before {
  content: "";
  position: absolute;
  width: 0.33em;
  height: 0.33em;
  background-color: #2E483F;
  border-radius: 100%;
  top: 0.7em;
  left: 0;
  display: block;
  flex: none;
}
.p-article__content ol {
  display: flex;
  flex-direction: column;
  gap: 0.17rem;
  counter-reset: count 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .p-article__content ol {
    gap: 0.08rem;
  }
}
.p-article__content ol li {
  padding-left: 1.6em;
  position: relative;
  counter-increment: count 1;
}
.p-article__content ol li::before {
  content: counter(count);
  position: absolute;
  width: 1.5em;
  height: 1.5em;
  background-color: #2E483F;
  border-radius: 100%;
  top: 0.45em;
  left: 0;
  display: block;
  color: white;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.17rem;
  letter-spacing: 0em;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 0.1em;
  box-sizing: border-box;
  flex: none;
}
.p-article__content a:not([class]) {
  color: #BA9041;
  text-decoration: underline;
}
.p-article__content a:not([class])[href*=".pdf"] {
  display: inline-flex;
  gap: 0.11rem;
  align-items: center;
}
.p-article__content a:not([class])[href*=".pdf"]::before {
  content: "";
  width: 0.19rem;
  height: 0.19rem;
  flex: none;
  display: inline-block;
  background-image: url("../img/common/icon_pdf.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.p-article__table {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  width: 100%;
}
.p-article__table div {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.p-article__table div dl {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-article__table div dl {
    flex-direction: row;
    border-top: 0.01rem solid #D5D9D7;
  }
}
.p-article__table div dl:nth-last-of-type(1) {
  border-bottom: 0.01rem solid #D5D9D7;
}
.p-article__table div dl dt {
  border-top: 0.01rem solid #D5D9D7;
  background-color: #F5F5F2;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
  padding: 0.14rem 0.11rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-article__table div dl dt {
    padding: 0.24rem 0.18rem 0.25rem;
    width: 2.13rem;
    flex: none;
    border: unset;
  }
}
.p-article__table div dl dd {
  border-top: 0.01rem solid #D5D9D7;
  width: 100%;
  background-color: white;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 400;
  padding-top: 0.16rem;
  padding-bottom: 0.16rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-article__table div dl dd {
    flex-grow: 1;
    padding: 0.25rem;
    border: unset;
  }
}
.p-article__table div dl .c-btn--ticket {
  margin: auto;
  width: 2.96rem;
  height: 0.73rem;
  justify-content: center;
  gap: 0.28rem;
  margin-top: 0.4rem;
  padding-right: 0.3rem;
  margin-bottom: 0.35rem;
}
@media screen and (min-width: 768px) {
  .p-article__table div dl .c-btn--ticket {
    margin-top: 0.51rem;
    width: 3.87rem;
    height: 0.76rem;
    margin-left: unset;
    font-size: 0.17rem;
  }
}
.p-article__table--date {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.5em;
}
.p-article__table--date span {
  display: block;
  width: fit-content;
}
.p-article__table--date span::after {
  content: " / ";
}
.p-article__table--date span:nth-last-of-type(1)::after {
  content: unset;
}
.p-article__table--date i {
  font-style: normal;
}

.p-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-navigation__next {
  display: flex;
  align-items: center;
  gap: 0.12rem;
}
.p-navigation__next span {
  font-family: acumin-pro, serif;
  font-size: 0.13rem;
  line-height: 0.13rem;
  letter-spacing: 0.06em;
  font-weight: 500;
}
.p-navigation__next::after {
  content: "";
  width: 0.06rem;
  height: 0.1rem;
  background-image: url("../img/common/chevron_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  flex: none;
  position: relative;
  top: -0.015rem;
}
.p-navigation__back {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 500;
  padding-bottom: 0.13rem;
  border-bottom: 0.01rem solid #D5D9D7;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-navigation__back {
    padding-bottom: 0.16rem;
    padding-left: 0.17rem;
    padding-right: 0.17rem;
  }
}
.p-navigation__prev {
  display: flex;
  align-items: center;
  gap: 0.12rem;
}
.p-navigation__prev span {
  font-family: acumin-pro, serif;
  font-size: 0.13rem;
  line-height: 0.13rem;
  letter-spacing: 0.06em;
  font-weight: 500;
}
.p-navigation__prev::before {
  content: "";
  width: 0.06rem;
  height: 0.1rem;
  background-image: url("../img/common/chevron_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  flex: none;
  transform: scaleX(-1);
  position: relative;
  top: -0.015rem;
}
.p-navigation a[href=""] {
  pointer-events: none;
  opacity: 0.2;
}

.p-flower a {
  color: #BA9041;
  text-decoration: underline;
}
.p-flower strong, .p-flower b {
  font-weight: 700;
}
.p-flower__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.04rem;
  margin-bottom: 0.3rem;
}
@media screen and (min-width: 768px) {
  .p-flower__heading {
    gap: 0.1rem;
    margin-bottom: 0.63rem;
  }
}
.p-flower__heading strong {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.19rem;
  line-height: 0.27rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-flower__heading strong {
    font-size: 0.27rem;
    line-height: 0.39rem;
  }
}
.p-flower__heading span {
  font-family: acumin-pro, serif;
  font-size: 0.14rem;
  line-height: 0.14rem;
  letter-spacing: 0em;
  font-weight: 500;
  color: #70847D;
}
.p-flower__image {
  width: 100%;
  margin-bottom: 0.4rem;
}
@media screen and (min-width: 768px) {
  .p-flower__image {
    margin-bottom: 0.55rem;
  }
}
.p-flower__image img {
  display: block;
  width: 100%;
  height: auto;
}
.p-flower__table {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 0.95rem;
}
@media screen and (min-width: 768px) {
  .p-flower__table {
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 1.72rem;
  }
}
.p-flower__table[data-rose] [data-rose] {
  display: flex !important;
}
.p-flower__table[data-hydrangea] [data-hydrangea] {
  display: flex !important;
}
.p-flower__table[data-clematis] [data-clematis] {
  display: flex !important;
}
.p-flower__table--sub {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-flower__table--sub {
    flex: none;
    width: 4.83rem;
  }
}
.p-flower__table--sub dl {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.p-flower__table--sub dl dt {
  padding: 0.07rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
  background-color: #F5F5F2;
}
.p-flower__table--sub dl dd {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.23rem;
  letter-spacing: 0em;
  font-weight: 400;
  padding-top: 0.16rem;
  padding-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  .p-flower__table--sub dl dd {
    padding-left: 0.07rem;
    padding-right: 0.07rem;
  }
}
.p-flower__table--sub dl dd i {
  font-style: normal;
}
.p-flower__table--sub dl dd i::after {
  content: "、";
}
.p-flower__table--sub dl dd i:nth-last-of-type(1) {
  content: unset;
}
.p-flower__table--sub [data-rose], .p-flower__table--sub [data-clematis], .p-flower__table--sub [data-hydrangea] {
  display: none;
}
.p-flower__comment {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.6rem 0.25rem;
  background-color: #F5F5F2;
  margin-bottom: 0.6rem;
}
@media screen and (min-width: 768px) {
  .p-flower__comment {
    padding: 0.52rem 0.53rem 0.61rem;
    gap: 0.4rem;
    margin-bottom: 0.8rem;
  }
}
.p-flower__comment p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
.p-flower__profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.38rem;
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  .p-flower__profile {
    padding-left: 0.53rem;
    padding-right: 0.53rem;
    gap: 0.4rem;
    margin-bottom: 0.87rem;
  }
}
.p-flower__profile--main {
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-flower__profile--main {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.63rem;
  }
}
.p-flower__profile--text {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-flower__profile--text {
    flex-grow: 1;
  }
}
.p-flower__profile--text h3 {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-flower__profile--text h3 {
    font-size: 0.16rem;
    line-height: 0.24rem;
    margin-bottom: 0.15rem;
  }
}
.p-flower__profile--image {
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  text-align: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-flower__profile--image {
    gap: 0.14rem;
    flex: none;
    padding-top: 0.15rem;
  }
}
.p-flower__profile--image img {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 100%;
}
.p-flower__profile--image figcaption {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-flower__profile--image figcaption {
    font-size: 0.16rem;
    line-height: 0.24rem;
  }
}
.p-flower__content {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.p-flower__content--wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
@media screen and (min-width: 768px) {
  .p-flower__content--wrapper {
    gap: 0.4rem;
  }
}
.p-flower__content--main {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-flower__content--main {
    padding-left: 0.53rem;
    padding-right: 0.53rem;
  }
}

.p-separate {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-separate {
    flex-direction: row;
    align-items: flex-start;
    gap: 0.82rem 0;
    flex-wrap: wrap;
  }
}
.p-separate__heading {
  display: flex;
  flex-direction: column;
  gap: 0.03rem;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-bottom: 0.26rem;
}
@media screen and (min-width: 768px) {
  .p-separate__heading {
    order: 1;
    align-items: flex-start;
    justify-content: flex-start;
    width: 2.88rem;
    flex: none;
  }
}
.p-separate__heading::after {
  content: "";
  width: 0.38rem;
  height: 0.01rem;
  background-color: #BA9041;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-separate__heading::after {
    content: unset;
  }
}
.p-separate__heading span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
}
.p-separate__heading strong {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.2rem;
  line-height: 0.29rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-separate__heading strong {
    font-size: 0.29rem;
    line-height: 0.42rem;
  }
}
.p-separate__heading i {
  font-style: normal;
  font-family: acumin-pro, serif;
  font-size: 0.15rem;
  line-height: 0.15rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-top: 0.07rem;
}
@media screen and (min-width: 768px) {
  .p-separate__heading i {
    font-size: 0.19rem;
    line-height: 0.19rem;
    margin-top: 0.15rem;
  }
}
.p-separate__image {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-separate__image {
    order: 3;
    flex-direction: row;
    height: 5.51rem;
  }
}
.p-separate__image figure {
  overflow: hidden;
  width: 100%;
  height: fit-content;
}
@media screen and (min-width: 768px) {
  .p-separate__image figure {
    flex-grow: 1;
    width: unset;
  }
}
.p-separate__image figure:nth-of-type(1) {
  border-radius: 0 0.5rem 0 0;
}
@media screen and (min-width: 768px) {
  .p-separate__image figure:nth-of-type(1) {
    border-radius: unset;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-separate__image figure:nth-last-of-type(1):not(:nth-of-type(1)) {
    width: 3.91rem;
    flex: none;
  }
}
@media screen and (min-width: 768px) {
  .p-separate__image figure:nth-last-of-type(1) {
    border-radius: 0 1rem 0 0;
  }
}
.p-separate__image figure img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-separate__image figure img {
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-separate__image--small {
    height: 4.32rem !important;
  }
}
.p-separate__content {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
@media screen and (min-width: 768px) {
  .p-separate__content {
    gap: 0.15rem;
    order: 2;
    min-width: 50%;
    width: min-content;
    flex-grow: 1;
    padding-left: 0.46rem;
    border-left: 0.01rem solid #BA9041;
  }
}
.p-separate__content strong {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 700;
}
.p-separate__content p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 400;
}
.p-separate__content .c-btn--round {
  margin: auto;
}
@media screen and (min-width: 768px) {
  .p-separate__content .c-btn--round {
    margin-left: unset;
    min-width: 1.9rem;
    height: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.17rem;
    line-height: 0.25rem;
  }
}

.p-menu {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-menu {
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
  }
}
.p-menu__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.p-menu__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-menu__name {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-menu__name {
    display: block;
    height: 0.41rem;
  }
}

.p-map #map-tab1:checked ~ .p-map__tab label[for=map-tab1] {
  background-color: #2E483F;
  color: white;
}
.p-map #map-tab1:checked ~ .p-map__tab--content #map-content1 {
  opacity: 1;
  position: initial;
  pointer-events: all;
  height: fit-content;
}
.p-map #map-tab2:checked ~ .p-map__tab label[for=map-tab2] {
  background-color: #2E483F;
  color: white;
}
.p-map #map-tab2:checked ~ .p-map__tab--content #map-content2 {
  opacity: 1;
  position: initial;
  pointer-events: all;
  height: fit-content;
}
.p-map #map-tab3:checked ~ .p-map__tab label[for=map-tab3] {
  background-color: #2E483F;
  color: white;
}
.p-map #map-tab3:checked ~ .p-map__tab--content #map-content3 {
  opacity: 1;
  position: initial;
  pointer-events: all;
  height: fit-content;
}
.p-map #map-content1 .p-map__content--button {
  justify-content: space-between;
  gap: 0.08rem 0;
}
.p-map #map-content1 .p-map__content--button--item {
  padding-left: 0.05rem;
  padding-right: 0.05rem;
  width: 0.9rem;
}
@media screen and (min-width: 768px) {
  .p-map #map-content1 .p-map__content--button--item {
    width: 1.55rem;
  }
}
@media screen and (min-width: 768px) {
  .p-map #map-content2 .p-map__content--button--item {
    padding-left: 0.2rem;
    padding-right: 0.2rem;
  }
}
.p-map #map-content3 .p-map__content--button {
  justify-content: space-between;
  gap: 0.08rem 0;
}
.p-map #map-content3 .p-map__content--button--item {
  padding-left: 0.05rem;
  padding-right: 0.05rem;
  width: 1.4rem;
}
@media screen and (min-width: 768px) {
  .p-map #map-content3 .p-map__content--button--item {
    width: 2.3rem;
  }
}
.p-map__tab {
  display: flex;
  border-radius: 0.05rem 0.05rem 0 0;
  overflow: hidden;
}
.p-map__tab--switch {
  display: none;
}
.p-map__tab--item {
  width: 33.3333333333%;
  height: 0.52rem;
  background-color: #F2F2F2;
  color: #9BA59F;
  cursor: pointer;
  transition: 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.14rem;
  line-height: 0.16rem;
  letter-spacing: 0em;
  font-weight: 700;
  border-right: 0.01rem solid #DEDEDE;
}
@media screen and (min-width: 768px) {
  .p-map__tab--item {
    height: 0.67rem;
    font-size: 0.17rem;
    line-height: 0.25rem;
  }
}
.p-map__tab--item:nth-last-of-type(1) {
  border-right: unset;
}
.p-map__tab--item:hover {
  color: #2E483F;
}
.p-map__tab--content {
  padding: 0.2rem;
  background-color: white;
  min-height: 1.34rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-map__tab--content {
    padding: 0.39rem 0.33rem;
    min-height: 1.17rem;
  }
}
.p-map__content {
  opacity: 0;
  pointer-events: none;
  height: 0;
  position: absolute;
  width: 100%;
}
.p-map__content--button {
  display: flex;
  gap: 0.07rem 0.08rem;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-map__content--button {
    justify-content: space-between;
  }
}
.p-map__content--button--item {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.16rem;
  letter-spacing: 0em;
  font-weight: 500;
  padding: 0.05rem 0.12rem 0.05rem;
  border-radius: 1rem;
  color: #72837E;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.01rem solid #6F887F;
  transition: 0.3s;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-map__content--button--item {
    font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 0.14rem;
    line-height: 0.2rem;
    letter-spacing: 0em;
    font-weight: 700;
    padding: 0.1rem;
  }
}
.p-map__content--button--item:hover {
  color: #2E483F;
  border-color: #2E483F;
}
.p-map__content--button--item--active {
  background-color: #6F887F;
  color: white !important;
  border: unset;
}
.p-map__content--data {
  display: none;
}
.p-map__content--data--pc {
  display: none;
}

.p-membership input[type=text], .p-membership input[type=password] {
  width: 100%;
  height: 0.46rem;
  background-color: #F1F2F2;
  border: unset;
  border-radius: 0.04rem;
  padding: 0.03rem 0.15rem;
  outline: none;
  width: 100%;
}
.p-membership .c-btn--black {
  margin: auto;
  transition: 0.3s;
  border: unset;
  outline: unset;
  margin: 0.3rem auto 0 !important;
}
.p-membership .c-btn--black:hover {
  opacity: 0.7;
}
.p-membership__form-builder {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
}
.p-membership__form-builder * {
  font-size: inherit !important;
  font-family: inherit !important;
}
.p-membership__form-builder *::placeholder {
  color: #AAAAAA;
}
.p-membership__form-builder .swpm-desc:has(.swpm-required-asterisk) {
  display: flex;
  gap: 0.15rem;
  align-items: center;
}
.p-membership__form-builder .swpm-desc:has(.swpm-required-asterisk)::after {
  content: "必須";
  width: 0.33rem;
  height: 0.18rem;
  background-color: #BA9041;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.11rem !important;
}
.p-membership__form-builder .swpm-desc:has(.swpm-required-asterisk) .swpm-required-asterisk {
  display: none;
}
.p-membership__form-builder .swpm-item {
  padding-left: unset !important;
  padding-right: unset !important;
}
.p-membership__form-builder .swpm-item p {
  font-size: 0.12rem !important;
}
.p-membership__form-builder .swpm-item:has(input[type=hidden]) {
  display: none;
}
.p-membership__form-builder input[type=text], .p-membership__form-builder input[type=password], .p-membership__form-builder input[type=tel], .p-membership__form-builder input[type=email] {
  background-color: #F1F2F2 !important;
  border: unset !important;
  width: 100%;
  min-height: 0.46rem;
  border-radius: 0.04rem;
  box-shadow: unset !important;
  padding-left: 0.1rem !important;
  padding-right: 0.1rem !important;
}
.p-membership__form-builder .swpm-fieldset {
  background-color: transparent !important;
  border: unset !important;
}
.p-membership__form-builder .swpm-fieldset .swpm-legend {
  display: none;
}
.p-membership__form-builder .swpm-section {
  margin: unset !important;
}
.p-membership__button {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  align-items: center;
}
.p-membership__box {
  border-radius: 0.04rem;
  background-color: white;
  padding: 0.2rem 0.1rem 0.2rem;
  border: 0.01rem solid #E1E8E8;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-membership__box {
    padding: 0.5rem 1.53rem 0.58rem;
  }
}
.p-membership__box .swpm-remember-me {
  justify-content: center;
  margin-top: 0.32rem;
  margin-bottom: 0.32rem;
}
.p-membership__box input[type=submit] {
  margin-top: unset !important;
}
.p-membership__box .swpm-forgot-pass-link {
  position: absolute;
  text-align: center;
  bottom: -0.3rem;
  left: 50%;
  transform: translate(-50%, 100%);
  max-width: unset;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-membership__box .swpm-forgot-pass-link {
    bottom: -0.51rem;
  }
}
.p-membership__box .swpm-pw-reset-submit-button {
  margin-top: 0.5rem;
}
.p-membership .swpm-form-row {
  margin-bottom: 0.2rem !important;
}
.p-membership .swpm-login-form-inner {
  display: flex;
  flex-direction: column;
}
.p-membership .swpm-username-label {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-membership .swpm-username-label {
    font-size: 0.17rem;
    line-height: 0.28rem;
  }
}
.p-membership .swpm-remember-me {
  display: flex;
  align-items: center;
  gap: 0.04rem;
  cursor: pointer;
  min-width: 1.48rem;
}
@media screen and (min-width: 768px) {
  .p-membership .swpm-remember-me {
    min-width: unset;
  }
}
.p-membership .swpm-remember-me::before {
  content: "";
  width: 0.2rem;
  height: 0.2rem;
  border: 0.01rem solid #C1C1C1;
  display: block;
  border-radius: 0.04rem;
  box-sizing: border-box;
  background-color: white;
  background-size: 0.13rem 0.09rem;
  background-repeat: no-repeat;
  background-position: center center;
  transition: 0.3s;
  background-image: url("../img/common/check.svg");
  background-repeat: no-repeat;
  background-size: 0.12rem 0.12rem;
}
.p-membership .swpm-remember-me input {
  display: none;
}
.p-membership .swpm-remember-me:has(input:checked)::before {
  background-color: #2E483F;
}
.p-membership .swpm-join-us-link {
  display: none;
}
.p-membership .swpm-login-submit input[type=submit], .p-membership .swpm-login-submit button[type=submit], .p-membership .swpm-pw-reset-submit-button input[type=submit], .p-membership .swpm-pw-reset-submit-button button[type=submit], .p-membership .swpm-registration-submit-section input[type=submit], .p-membership .swpm-registration-submit-section button[type=submit] {
  background-color: #2E483F;
  color: white;
  border-radius: 0.04rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: unset;
  transition: 0.3s;
  margin: 0.5rem auto 0;
  font-size: 0.16rem;
  line-height: 0.16rem;
  letter-spacing: 0.009em;
  font-weight: 700;
  width: 2.8rem;
  height: 0.6rem;
  cursor: pointer !important;
}
@media screen and (min-width: 768px) {
  .p-membership .swpm-login-submit input[type=submit], .p-membership .swpm-login-submit button[type=submit], .p-membership .swpm-pw-reset-submit-button input[type=submit], .p-membership .swpm-pw-reset-submit-button button[type=submit], .p-membership .swpm-registration-submit-section input[type=submit], .p-membership .swpm-registration-submit-section button[type=submit] {
    margin-top: 0.8rem;
  }
}
.p-membership .swpm-login-submit input[type=submit]:hover, .p-membership .swpm-login-submit button[type=submit]:hover, .p-membership .swpm-pw-reset-submit-button input[type=submit]:hover, .p-membership .swpm-pw-reset-submit-button button[type=submit]:hover, .p-membership .swpm-registration-submit-section input[type=submit]:hover, .p-membership .swpm-registration-submit-section button[type=submit]:hover {
  opacity: 0.3;
}
.p-membership .swpm-forgot-pass-link {
  text-align: center;
}
.p-membership .swpm-login-action-msg {
  width: fit-content;
  margin: 0.5rem auto 0;
  padding: 0.15rem;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
  background-color: #ffe0e0;
  color: #EA423C;
}
.p-membership .swpm-login-action-msg:has(span:empty) {
  display: none;
}
.p-membership .swpm-membership-level-row {
  display: none;
}
.p-membership .swpm-warning.swpm-yellow-box p {
  display: none;
}
.p-membership .swpm-warning.swpm-yellow-box::after {
  content: "パスワードが一致していません。";
}
.p-membership .swpm-item-phone .swpm-form-builder-error[generated=true] {
  display: none !important;
}
.p-membership .swpm-item-phone:has(.swpm-form-builder-error)::after {
  height: auto !important;
  color: red;
  content: "有効な電話番号を入力してください。";
  visibility: visible !important;
}
.p-membership .swpm-item-text:has(.uniqueUsername) .swpm-form-builder-error[generated=true] {
  display: none !important;
}
.p-membership .swpm-item-text:has(.uniqueUsername):has(.swpm-form-builder-error)::after {
  height: auto !important;
  color: red;
  content: "「未入力」 または 「既に使用」されています。";
  visibility: visible !important;
}
.p-membership .swpm-item-email .swpm-form-builder-error[generated=true] {
  display: none !important;
}
.p-membership .swpm-item-email:has(.swpm-form-builder-error)::after {
  height: auto !important;
  color: red;
  content: "「未入力」 または 「既に使用」されています。";
  visibility: visible !important;
}

.c-bg--beige, .c-bg--deep-beige, .c-bg--beige--border, .c-bg--white--border {
  background-color: #FBFBF0;
}
.c-bg--beige--border, .c-bg--white--border {
  position: relative;
}
.c-bg--beige--border::before, .c-bg--white--border::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -0.01rem);
  width: 0.27rem;
  height: 0.02rem;
  background-color: #BA9041;
}
@media screen and (min-width: 768px) {
  .c-bg--beige--border::before, .c-bg--white--border::before {
    width: 0.3rem;
  }
}
.c-bg--deep-beige {
  background-color: #F8F6E7;
}
.c-bg--white {
  background-color: white;
}
.c-bg--white--border {
  background-color: white;
}

.c-desc {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.26rem;
  letter-spacing: 0em;
  font-weight: 40000;
}
@media screen and (min-width: 768px) {
  .c-desc {
    font-size: 0.16rem;
    line-height: 0.28rem;
    letter-spacing: 0.05em;
  }
}

.c-full {
  max-width: unset;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .c-full {
    transform: unset;
    left: unset;
    position: initial;
    width: auto;
    max-width: 100%;
  }
}

.c-overflow {
  width: 100%;
  overflow-x: scroll;
  overflow-y: hidden;
}
@media screen and (min-width: 768px) {
  .c-overflow {
    overflow-x: initial;
    padding-bottom: unset;
  }
}
.c-overflow > * {
  max-width: unset;
  width: fit-content;
  height: unset;
  flex-wrap: nowrap;
  flex-direction: row;
  align-items: flex-start;
  padding-bottom: 0.1rem;
}
@media screen and (min-width: 768px) {
  .c-overflow > * {
    padding-bottom: unset;
  }
}

.c-order {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
@media screen and (min-width: 768px) {
  .c-order {
    flex-direction: row;
    align-items: baseline;
    gap: 0.16rem;
  }
}
.c-order i {
  font-style: normal;
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
  border-top: 0.01rem solid #B6BFBC;
  border-bottom: 0.01rem solid #B6BFBC;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-order i {
    padding: 0.05rem 0.12rem 0.06rem;
    width: fit-content;
    flex: none;
    border: 0.01rem solid #B6BFBC;
  }
}
.c-order em {
  font-style: normal;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.c-color--black {
  --color: #2E483F;
  --f-color: brightness(0) saturate(100%) invert(24%) sepia(47%) saturate(295%) hue-rotate(108deg) brightness(87%) contrast(89%);
}
.c-color--white {
  --color: #ffffff;
  --f-color: brightness(0) invert(1);
}

.c-btn, .c-btn--ticket, .c-btn--chevron, .c-btn--chevron--black, .c-btn--instagram, .c-btn--black, .c-btn--trans, .c-btn--white {
  display: flex;
  align-items: center;
  justify-content: center;
  filter: var(--f-color);
  color: var(--color);
  position: relative;
}
.c-btn i, .c-btn--ticket i, .c-btn--chevron i, .c-btn--chevron--black i, .c-btn--instagram i, .c-btn--black i, .c-btn--trans i, .c-btn--white i {
  font-family: larken, serif;
  font-size: 1.2em;
  line-height: 1.2em;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.06em;
}
.c-btn--black, .c-btn--trans, .c-btn--white {
  background-color: #2E483F;
  color: white;
  border-radius: 0.04rem;
  width: 2.6rem;
  height: 0.54rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-btn--black, .c-btn--trans, .c-btn--white {
    width: 2.8rem;
    height: 0.6rem;
    font-size: 0.16rem;
    line-height: 0.24rem;
  }
}
.c-btn--white {
  background-color: white;
  color: #2E483F;
  border: 0.01rem solid #D5D9D7;
}
.c-btn--trans {
  border: 0.01rem solid white;
  color: white;
  background-color: transparent;
}
.c-btn--half-arrow, .c-btn--half-arrow--brown, .c-btn--half-arrow--center {
  position: relative;
  width: 2.6rem;
  height: 0.54rem;
  color: white;
  background-color: #2E483F;
  font-family: larken, serif;
  font-size: 0.15rem;
  line-height: 0.16rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.04rem;
  margin: auto;
  transition: 0.3s;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .c-btn--half-arrow, .c-btn--half-arrow--brown, .c-btn--half-arrow--center {
    width: 2.8rem;
    height: 0.6rem;
  }
}
.c-btn--half-arrow:hover, .c-btn--half-arrow--brown:hover, .c-btn--half-arrow--center:hover {
  opacity: 0.7;
}
.c-btn--half-arrow::after, .c-btn--half-arrow--brown::after, .c-btn--half-arrow--center::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.27rem;
  width: 0.14rem;
  height: 0.05rem;
  background-image: url("../img/common/arrow_right_half.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
}
.c-btn--half-arrow--center {
  justify-content: center;
  padding-left: unset;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.c-btn--half-arrow--center i {
  font-style: normal;
  font-family: larken, serif;
}
.c-btn--half-arrow--brown {
  background-color: white;
  border: 0.01rem solid #BA9041;
  color: #BA9041;
  padding-left: unset;
  justify-content: center;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.13rem;
  line-height: 0.19rem;
  letter-spacing: 0.02em;
  font-weight: 500;
}
.c-btn--half-arrow--brown span {
  font-family: larken, serif;
  font-size: 0.15rem;
  line-height: 0.19rem;
  letter-spacing: 0.02em;
  font-weight: 400;
  padding-top: 0.04rem;
  padding-right: 0.02rem;
}
.c-btn--half-arrow--brown::after {
  filter: brightness(0) saturate(100%) invert(54%) sepia(58%) saturate(420%) hue-rotate(1deg) brightness(96%) contrast(91%);
}
.c-btn--more {
  position: relative;
  display: block;
  font-family: larken, serif;
  font-size: 0.14rem;
  line-height: 0.15rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  padding-bottom: 0.045rem;
  color: #2E483F;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .c-btn--more {
    font-size: 0.15rem;
    line-height: 0.16rem;
    padding-bottom: 0.06rem;
  }
}
.c-btn--more::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.01rem;
  bottom: 0;
  left: 0;
  background-color: #2E483F;
}
.c-btn--round {
  padding: 0.07rem 0.19rem;
  border: 0.01rem solid #5E6563;
  border-radius: 1rem;
  color: #5E6563;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
  width: fit-content;
  text-align: center;
}
.c-btn--instagram {
  border: 0.015rem solid var(--color);
  width: 2.8rem;
  height: 0.6rem;
  display: 0.1rem;
  gap: 0.13rem;
  font-family: "EB Garamond", serif;
  font-size: 0.18rem;
  line-height: 0.23rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  border-radius: 0.04rem;
}
.c-btn--instagram::before {
  content: "";
  width: 0.14rem;
  height: 0.14rem;
  background-image: url("../img/common/icon_instagram.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.c-btn--chevron, .c-btn--chevron--black {
  width: 2.6rem;
  height: 0.54rem;
  background-color: white;
  border-radius: 0.04rem;
  color: #2E483F;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-btn--chevron, .c-btn--chevron--black {
    width: 3.66rem;
    height: 0.8rem;
    font-size: 0.15rem;
    line-height: 0.21rem;
  }
}
.c-btn--chevron::after, .c-btn--chevron--black::after {
  content: "";
  width: 0.07rem;
  height: 0.1rem;
  background-image: url("../img/common/chevron_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 0.27rem;
  transform: translateY(-50%);
}
.c-btn--chevron--black {
  color: white;
  background-color: #2E483F;
}
.c-btn--chevron--black::after {
  transform: translateY(-50%);
  filter: brightness(0) invert(1);
}
.c-btn--ticket {
  background-color: #C99E00;
  color: white;
  border-radius: 0.04rem;
  justify-content: space-between;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.19rem;
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
  width: 2.96rem;
  height: 0.73rem;
  padding-left: 0.23rem;
  padding-right: 0.23rem;
}
@media screen and (min-width: 768px) {
  .c-btn--ticket {
    width: 4.25rem;
    height: 0.76rem;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    font-size: 0.17rem;
    line-height: 0.25rem;
  }
}
.c-btn--ticket::before {
  content: "";
  width: 0.22rem;
  height: 0.16rem;
  background-image: url("../img/common/icon_ticket.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) invert(1);
}
@media screen and (min-width: 768px) {
  .c-btn--ticket::before {
    width: 0.23rem;
    height: 0.17rem;
  }
}

.c-heading {
  display: flex;
  flex-direction: column;
  width: fit-content;
  align-items: center;
  gap: 0.08rem;
  color: var(--color);
}
.c-heading strong {
  font-family: larken, serif;
  font-size: 0.4rem;
  line-height: 0.42rem;
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-heading strong {
    font-size: 0.56rem;
    line-height: 0.6rem;
  }
}
.c-heading span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0.04em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-heading span {
    font-size: max(0.15rem, 15px);
    line-height: 0.32rem;
  }
}
.c-heading--number {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  align-items: center;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-heading--number {
    align-items: flex-start;
    gap: 0.61rem;
  }
}
.c-heading--number span {
  color: #BA9041;
  font-family: larken, serif;
  font-size: 0.37rem;
  line-height: 0.39rem;
  letter-spacing: 0.02em;
  font-weight: 400;
  padding-bottom: 0.07rem;
  position: relative;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .c-heading--number span {
    padding-bottom: 0.1rem;
    font-size: 0.49rem;
    line-height: 0.52rem;
  }
}
.c-heading--number span::after {
  content: "";
  width: 0.35rem;
  height: 0.02rem;
  background-color: #BA9041;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .c-heading--number span::after {
    width: 0.58rem;
  }
}
.c-heading--number strong {
  font-family: larken, serif;
  font-size: 0.36rem;
  line-height: 0.39rem;
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-heading--number strong {
    font-size: 0.55rem;
    line-height: 0.59rem;
  }
}
.c-heading--side-border {
  padding-left: 0.11rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.17rem;
  line-height: 0.25rem;
  letter-spacing: 0em;
  font-weight: 700;
  display: block;
  position: relative;
}
.c-heading--side-border::before {
  content: "";
  width: 0.02rem;
  height: 0.17rem;
  background-color: #BA9041;
  position: absolute;
  top: 0.04rem;
  left: 0;
}
.c-heading--bg {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.23rem;
  letter-spacing: 0.009em;
  font-weight: 700;
  padding: 0.1rem 0.18rem;
  background-color: #F5F5F2;
  width: 100%;
  display: block;
}
.c-heading--border, .c-heading--border--light-gray {
  width: 100%;
  padding-bottom: 0.08rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.17rem;
  line-height: 0.25rem;
  letter-spacing: 0em;
  font-weight: 700;
  border-bottom: 0.01rem solid #2E483F;
}
@media screen and (min-width: 768px) {
  .c-heading--border, .c-heading--border--light-gray {
    font-size: 0.18rem;
    line-height: 0.26rem;
  }
}
.c-heading--border--light-gray {
  border-color: #D5D9D7;
  padding-bottom: 0.06rem;
  font-size: 0.15rem;
  line-height: 0.21rem;
}
.c-heading--underline, .c-heading--underline--en, .c-heading--underline--center, .c-heading--underline--center--jp {
  display: flex;
  flex-direction: column;
  gap: 0.01rem;
  padding-bottom: 0.17rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-heading--underline, .c-heading--underline--en, .c-heading--underline--center, .c-heading--underline--center--jp {
    gap: 0.06rem;
    padding-bottom: 0.18rem;
  }
}
.c-heading--underline::after, .c-heading--underline--en::after, .c-heading--underline--center::after, .c-heading--underline--center--jp::after {
  content: "";
  width: 0.27rem;
  height: 0.02rem;
  background-color: #BA9041;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .c-heading--underline::after, .c-heading--underline--en::after, .c-heading--underline--center::after, .c-heading--underline--center--jp::after {
    width: 0.3rem;
  }
}
.c-heading--underline strong, .c-heading--underline--en strong, .c-heading--underline--center strong, .c-heading--underline--center--jp strong {
  font-family: acumin-pro, serif;
  font-size: 0.32rem;
  line-height: 0.32rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-heading--underline strong, .c-heading--underline--en strong, .c-heading--underline--center strong, .c-heading--underline--center--jp strong {
    font-size: 0.43rem;
    line-height: 0.43rem;
  }
}
.c-heading--underline span, .c-heading--underline--en span, .c-heading--underline--center span, .c-heading--underline--center--jp span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-heading--underline span, .c-heading--underline--en span, .c-heading--underline--center span, .c-heading--underline--center--jp span {
    line-height: 0.21rem;
    font-size: max(0.15rem, 15px);
  }
}
.c-heading--underline i, .c-heading--underline--en i, .c-heading--underline--center i, .c-heading--underline--center--jp i {
  font-style: normal;
  font-family: larken, serif;
}
.c-heading--underline--center, .c-heading--underline--center--jp {
  align-items: cneter;
  text-align: center;
}
.c-heading--underline--center::after, .c-heading--underline--center--jp::after {
  content: "";
  left: 50%;
  transform: translateX(-50%);
}
.c-heading--underline--center p, .c-heading--underline--center--jp p {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-heading--underline--center p, .c-heading--underline--center--jp p {
    font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
    font-size: 0.15rem;
    line-height: 0.21rem;
    letter-spacing: 0em;
    font-weight: 700;
  }
}
.c-heading--underline--center em, .c-heading--underline--center--jp em {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.24rem;
  line-height: 0.35rem;
  letter-spacing: 0em;
  font-weight: 700;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .c-heading--underline--center em, .c-heading--underline--center--jp em {
    font-size: 0.29rem;
    line-height: 0.42rem;
  }
}
.c-heading--underline--center--jp {
  gap: 0.04rem;
  padding-bottom: 0.12rem;
}
@media screen and (min-width: 768px) {
  .c-heading--underline--center--jp {
    gap: 0.14rem;
    padding-bottom: 0.2rem;
  }
}
.c-heading--underline--center--jp strong {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.24rem;
  line-height: 0.35rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-heading--underline--center--jp strong {
    font-size: 0.29rem;
    line-height: 0.42rem;
  }
}
.c-heading--underline--center--jp span {
  font-family: acumin-pro, serif;
  font-size: 0.16rem;
  line-height: 0.16rem;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-heading--underline--center--jp span {
    font-size: 0.19rem;
    line-height: 0.19rem;
  }
}
.c-heading--underline--en {
  align-items: center;
  gap: 0.06rem;
  padding-bottom: 0.19rem;
}
@media screen and (min-width: 768px) {
  .c-heading--underline--en {
    align-items: flex-start;
    gap: 0.08rem;
    padding-bottom: 0.23rem;
  }
}
.c-heading--underline--en::after {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0.35rem;
}
@media screen and (min-width: 768px) {
  .c-heading--underline--en::after {
    left: 0;
    transform: unset;
    width: 0.3rem;
  }
}
.c-heading--underline--en strong {
  font-family: larken, serif;
  font-size: 0.36rem;
  line-height: 0.39rem;
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c-heading--underline--en strong {
    font-size: 0.49rem;
    line-height: 0.52rem;
  }
}
.c-heading--underline--en span {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-heading--underline--en span {
    font-size: 0.15rem;
    line-height: 0.21rem;
  }
}

.c-download--pdf {
  display: flex;
  gap: 0.1rem;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 400;
  color: #BA9041;
  text-decoration: underline;
}
.c-download--pdf::before {
  content: "";
  width: 0.21rem;
  height: 0.21rem;
  background-image: url("../img/common/icon_pdf.svg");
  background-size: contain;
  background-repeat: no-repeat;
  flex: none;
}

.c-list, .c-list--brown-disc {
  display: flex;
  flex-direction: column;
}
.c-list--caution, .c-list--dot {
  display: flex;
  flex-direction: column;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
}
.c-list--caution li, .c-list--dot li {
  position: relative;
  padding-left: 1em;
}
.c-list--caution li::before, .c-list--dot li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.c-list--dot {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: inherit;
}
.c-list--dot li::before {
  content: "・";
}
.c-list--brown-disc {
  gap: 0.11rem;
}
@media screen and (min-width: 768px) {
  .c-list--brown-disc {
    gap: 0.08rem;
  }
}
.c-list--brown-disc li {
  padding-left: 0.6em;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.21rem;
  letter-spacing: 0em;
  font-weight: 700;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-list--brown-disc li {
    font-size: 0.16rem;
    line-height: 0.24rem;
    padding-left: 0.8em;
  }
}
.c-list--brown-disc li::before {
  content: "";
  width: 0.3em;
  height: 1.4em;
  position: absolute;
  top: 0;
  left: 0;
  background: radial-gradient(closest-corner, #BA9041 0%, #BA9041 68%, transparent 71%, transparent 100%);
  background-size: 0.3em 0.3em;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (min-width: 768px) {
  .c-list--brown-disc li::before {
    width: 0.4em;
    height: 1.6em;
    background-image: radial-gradient(closest-corner, #BA9041 0%, #BA9041 68%, transparent 71%, transparent 100%);
    background-size: 0.4em 0.4em;
  }
}
.c-list--brown-disc li small {
  display: inline-block;
  font-size: 0.8em;
  font-weight: 500;
}

.c-table {
  width: 100%;
}
.c-table--note {
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.12rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
  margin-top: 0.2rem;
}
@media screen and (min-width: 768px) {
  .c-table--note {
    margin-top: 0.19rem;
  }
}
.c-table table {
  width: 100%;
}
.c-table table thead {
  display: none;
}
.c-table table tbody {
  border-bottom: 0.01rem solid #A1AAA7;
}
.c-table table td {
  padding: 0.14rem 0.18rem;
  border-top: 0.01rem solid #A1AAA7;
  border-left: 0.01rem solid #A1AAA7;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.15rem;
  line-height: 0.2rem;
  letter-spacing: 0em;
  font-weight: 500;
  vertical-align: middle;
}
@media screen and (min-width: 768px) {
  .c-table table td {
    padding: 0.18rem 0.19rem;
    font-size: 0.16rem;
  }
}
.c-table table td b {
  font-weight: 700;
}
.c-table table td i {
  font-style: italic;
}
.c-table table td a {
  text-decoration: underline;
}
.c-table table td:nth-of-type(1) {
  border-left: unset;
}
.c-table [data-gray] {
  background-color: #EEEEEA;
}
.c-table [data-light-gray] {
  background-color: #FAFAF7;
}

.u-width, .u-width--375, .u-width--375-1024, .u-width--355, .u-width--355-1320, .u-width--325-1320, .u-width--325-1200, .u-width--325-600, .u-width--325-986, .u-width--325-808, .u-width--325-880, .u-width--325-980, .u-width--325-1024 {
  box-sizing: border-box;
  width: 100%;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
@media screen and (min-width: 768px) {
  .u-width, .u-width--375, .u-width--375-1024, .u-width--355, .u-width--355-1320, .u-width--325-1320, .u-width--325-1200, .u-width--325-600, .u-width--325-986, .u-width--325-808, .u-width--325-880, .u-width--325-980, .u-width--325-1024 {
    padding: 0;
    width: 10.24rem;
    padding-left: unset;
    padding-right: unset;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .u-width--325-980 {
    width: 9.8rem;
  }
}
@media screen and (min-width: 768px) {
  .u-width--325-880 {
    width: 8.8rem;
  }
}
@media screen and (min-width: 768px) {
  .u-width--325-808 {
    width: 8.08rem;
  }
}
@media screen and (min-width: 768px) {
  .u-width--325-986 {
    width: 9.86rem;
  }
}
@media screen and (min-width: 768px) {
  .u-width--325-600 {
    width: 6rem;
  }
}
@media screen and (min-width: 768px) {
  .u-width--325-1200 {
    width: 12rem;
  }
}
@media screen and (min-width: 768px) {
  .u-width--325-1320 {
    width: 13.2rem;
  }
}
.u-width--355, .u-width--355-1320 {
  padding-left: unset;
  padding-right: unset;
  margin: auto;
  width: 3.55rem;
}
@media screen and (min-width: 768px) {
  .u-width--355-1320 {
    width: 13.2rem;
  }
}
.u-width--375, .u-width--375-1024 {
  padding-left: unset;
  padding-right: unset;
}
@media screen and (min-width: 768px) {
  .u-width--375-1024 {
    width: 10.24rem;
  }
}

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

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
.swiper {
  opacity: 0;
  transition: 0.3s opacity ease;
  transition-delay: 0.3s;
  user-select: none;
}
.swiper.swiper-initialized {
  opacity: 1;
}

.swiper-warpper {
  transition-timing-function: linear;
}

[class^=simplebar] {
  max-width: unset;
}

.simplebar-track {
  background: #DFE2E2 !important;
  height: 0.04rem !important;
  width: 3.25rem;
  left: 50% !important;
  transform: translateX(-50%);
  border-radius: 0.1rem;
  overflow: hidden;
  padding: 0 !important;
}
@media screen and (min-width: 768px) {
  .simplebar-track {
    display: none;
  }
}

.simplebar-scrollbar {
  min-height: 0.04rem;
  background: #2E483F !important;
  border-radius: 0.1rem;
}
.simplebar-scrollbar::before {
  z-index: 10;
  background: #2E483F !important;
  opacity: 1 !important;
}

.breadcrumbs {
  display: flex;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.1rem;
  line-height: 0.15rem;
  letter-spacing: 0em;
  font-weight: 400;
  gap: 0.05rem;
  color: #7B8481;
  align-items: center;
}
.breadcrumbs span[property=name] {
  display: block;
  position: relative;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
}
.breadcrumbs span[property=name]::after {
  content: "";
}
.breadcrumbs i {
  display: block;
  width: 0.04rem;
  height: 0.05rem;
  background-image: url("../img/common/chevron_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  flex: none;
  position: relative;
  top: 0.01rem;
}
@media screen and (min-width: 768px) {
  .breadcrumbs i {
    width: 0.06rem;
    height: 0.07rem;
  }
}
.breadcrumbs > span:last-child span[property=name]::after {
  content: unset;
}

.js-fade {
  animation-duration: 1s;
  animation-fill-mode: forwards;
  pointer-events: none;
  opacity: 0;
}
.js-fade--active {
  animation: fade-appear 1.5s forwards;
}

@keyframes fade-appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    pointer-events: all;
  }
}
.js-hover--zoomin {
  overflow: hidden;
}
.js-hover--zoomin img {
  transition: 1s;
}
.js-hover--zoomin:hover img {
  transform: scale(1.1);
}

.js-fv #fv-animation1 {
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  display: block;
  animation: 3s 0.2s forwards fv-width;
}
.js-fv #fv-animation2 {
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  display: block;
  animation: 3s 1s forwards fv-width;
}
.js-fv #fv-animation3 {
  opacity: 0;
  transform: translateY(0.5rem);
  animation: 1s 1.5s forwards fv-fade-up;
}
.js-fv #fv-animation4 {
  opacity: 0;
  transform: translateY(0.5rem);
  animation: 1s 2s forwards fv-fade-up;
}

@keyframes fv-width {
  0% {
    max-width: 0;
    opacity: 1;
  }
  100% {
    max-width: 100%;
    opacity: 1;
  }
}
@keyframes fv-fade-up {
  0% {
    opacity: 0;
    transform: translateY(0.5rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.js-load {
  position: fixed;
  z-index: 1000000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 2s;
}
.js-load--hidden {
  opacity: 0;
  pointer-events: none;
  transition-delay: 3s;
}
.js-load__logo {
  width: 1.45rem;
  height: 1.87rem;
  opacity: 0;
  background-image: url("../img/common/logo_v.svg");
  background-size: contain;
  background-repeat: no-repeat;
  animation: 2s 1s forwards js-load-logo;
}

@keyframes js-load-logo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}/*# sourceMappingURL=style.css.map */