@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,500;1,6..96,500&family=Cormorant:wght@400&family=Inter:wght@300&family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500&family=Playfair+Display:wght@400;500&display=swap");
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

ul,
ol {
  list-style: none;
}

img,
video {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: inherit;
}

blockquote,
q {
  quotes: none;
}

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

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  font: inherit;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  color: #383838;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

@media (max-width: 1024px) {
  .pc {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .sp {
    display: none !important;
  }
}
sub,
sup {
  font-size: 60%;
}

table {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 10rem;
  background: #F8F6F1;
  z-index: 100;
  -webkit-transition: height 0.3s ease, background 0.4s ease;
  transition: height 0.3s ease, background 0.4s ease;
}
@media (max-width: 1024px) {
  .l-header {
    height: 9.4rem;
  }
}
@media (min-width: 1025px) {
  .l-header.is-scroll {
    height: 8rem;
    background: rgba(255, 255, 255, 0.9);
  }
}
@media (max-width: 1024px) {
  .l-header.is-scroll {
    background: transparent;
  }
}
.l-header--top {
  height: 8rem;
  background: transparent;
}
@media (max-width: 1024px) {
  .l-header--top {
    height: 9.4rem;
    background: transparent;
  }
}
@media (min-width: 1025px) {
  .l-header--top.is-scroll {
    background: rgba(255, 255, 255, 0.9);
  }
}
.l-header:has(.l-header__nav.is-open) {
  background: #F8F6F1;
}
.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
  padding: 0 3.4rem;
}
@media (max-width: 1024px) {
  .l-header__inner {
    height: auto;
    padding: 1.8rem 2rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.l-header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.9rem;
  padding-right: 1rem;
}
@media (max-width: 1024px) {
  .l-header__logo {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1.4rem;
    overflow: visible;
    padding-right: 0;
  }
}
.l-header__logo-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .l-header__logo-link:hover {
    opacity: 0.7;
  }
}
.l-header__logo-img {
  height: 4.324rem;
  width: 25.45rem;
}
@media (max-width: 1024px) {
  .l-header__logo-img {
    height: 3.1rem;
    width: 18rem;
  }
}
.l-header__logo-caption {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.05em;
  line-height: 1;
  -ms-flex-item-align: end;
      align-self: flex-end;
  padding-bottom: 0.8rem;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1024px) {
  .l-header__logo-caption {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    font-size: 1rem;
    letter-spacing: 0;
    -ms-flex-item-align: auto;
        -ms-grid-row-align: auto;
        align-self: auto;
    padding-bottom: 0;
    white-space: normal;
    line-height: 1.2;
  }
}
.l-header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.l-header__fair-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.8rem;
  height: 4rem;
  width: 17.4rem;
  padding: 0 2rem;
  background: #696969;
  color: #FFFFFF;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.3em;
  white-space: nowrap;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
@media (min-width: 1025px) {
  .l-header__fair-btn:hover {
    background: #383838;
  }
}
@media (max-width: 1024px) {
  .l-header__fair-btn {
    display: none;
  }
}
.l-header__fair-icon {
  width: 2rem;
  height: auto;
}
.l-header__menu-toggle {
  width: 5rem;
  height: 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
}
.l-header__menu-toggle span {
  display: block;
  height: 0.1rem;
  background: #383838;
  position: absolute;
  right: 0;
  -webkit-transition: top 0.3s ease, width 0.3s ease, -webkit-transform 0.3s ease;
  transition: top 0.3s ease, width 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, top 0.3s ease, width 0.3s ease;
  transition: transform 0.3s ease, top 0.3s ease, width 0.3s ease, -webkit-transform 0.3s ease;
}
.l-header__menu-toggle span:nth-child(1) {
  width: 3.2rem;
  top: calc(50% - 0.3rem);
}
.l-header__menu-toggle span:nth-child(2) {
  width: 2.8rem;
  top: calc(50% + 0.3rem);
}
.l-header__menu-toggle.is-active span:nth-child(1) {
  width: 100%;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(20deg);
          transform: translateY(-50%) rotate(20deg);
}
.l-header__menu-toggle.is-active span:nth-child(2) {
  width: 100%;
  bottom: auto;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-20deg);
          transform: translateY(-50%) rotate(-20deg);
}
@media (min-width: 1025px) {
  .l-header__menu-toggle:hover {
    opacity: 0.7;
  }
}
@media (max-width: 1024px) {
  .l-header__menu-toggle {
    position: absolute;
    right: 1.8rem;
    top: 5.95rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 3rem;
  }
}
.l-header__nav {
  position: fixed;
  top: 10rem;
  left: 0;
  right: 0;
  bottom: 0;
  background: #F8F6F1;
  z-index: 99;
  overflow-y: auto;
  display: none;
  -webkit-transition: top 0.3s ease;
  transition: top 0.3s ease;
}
.l-header__nav.is-open {
  display: block;
}
@media (min-width: 1025px) {
  .l-header--top .l-header__nav {
    top: 8rem;
  }
}
@media (min-width: 1025px) {
  .l-header.is-scroll .l-header__nav {
    top: 8rem;
  }
}
@media (max-width: 1024px) {
  .l-header__nav {
    top: 9.4rem;
  }
}
.l-header__nav-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4rem;
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  padding: 4rem 0;
}
@media (max-width: 1024px) {
  .l-header__nav-inner {
    width: 100%;
    max-width: 100%;
    margin: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    padding: 0 2rem;
  }
}
.l-header__nav-groups {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8rem;
}
@media (max-width: 1024px) {
  .l-header__nav-groups {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    width: 100%;
  }
}
.l-header__nav-col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
  padding-left: 8rem;
  border-left: 0.1rem solid rgba(56, 56, 56, 0.15);
}
@media (max-width: 1024px) {
  .l-header__nav-col2 {
    gap: 0;
    padding-left: 0;
    border-left: none;
  }
}
.l-header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
@media (max-width: 1024px) {
  .l-header__nav-list {
    gap: 1.5rem;
    padding: 3rem 2rem;
  }
}
@media (max-width: 1024px) {
  .l-header__nav-list--main, .l-header__nav-list--sub {
    border-bottom: 0.1rem solid rgba(56, 56, 56, 0.15);
  }
}
.l-header__nav-link {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 400;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.5;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .l-header__nav-link:hover {
    opacity: 0.6;
  }
}
@media (max-width: 1024px) {
  .l-header__nav-link {
    font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    line-height: 1.6;
  }
}
.l-header__nav-side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1024px) {
  .l-header__nav-side {
    gap: 3.6rem;
    width: 100%;
    padding: 1.8rem 2rem 6rem;
  }
}
.l-header__nav-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media (max-width: 1024px) {
  .l-header__nav-cta {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.l-header__nav-cta-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.2rem;
  height: 6rem;
  width: 31rem;
  max-width: 100%;
  border: 0.1rem solid #383838;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.36em;
  text-align: center;
  line-height: 1.6;
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  transition: background 0.3s ease, color 0.3s ease;
}
.l-header__nav-cta-btn span {
  font-size: 1.2rem;
  letter-spacing: 0.3em;
}
@media (min-width: 1025px) {
  .l-header__nav-cta-btn:hover {
    background: #696969;
    color: #FFFFFF;
  }
}
.l-header__nav-instagram {
  display: inline-block;
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 1024px) {
  .l-header__nav-instagram {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
@media (min-width: 1025px) {
  .l-header__nav-instagram:hover {
    opacity: 0.6;
  }
}
.l-header__nav-instagram-icon {
  display: block;
  width: 3rem;
  height: 3rem;
}
@media (max-width: 1024px) {
  .l-header__nav-instagram-icon {
    width: 2.6rem;
    height: 2.6rem;
  }
}

.l-footer {
  background: #F8FCFD;
}
.l-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 110rem;
  max-width: calc(100% - 2rem);
  margin: 0 auto;
  padding: 10rem 0 0;
}
@media (max-width: 1024px) {
  .l-footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5rem;
    padding: 6rem 4rem 0;
  }
}
.l-footer__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30.8rem;
}
@media (max-width: 1024px) {
  .l-footer__info {
    width: 100%;
    gap: 2rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.l-footer__logo-link {
  display: inline-block;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .l-footer__logo-link:hover {
    opacity: 0.7;
  }
}
.l-footer__logo {
  height: 5.4rem;
  width: auto;
}
.l-footer__business {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 1.6;
}
.l-footer__contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
}
@media (max-width: 1024px) {
  .l-footer__contacts {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
}
.l-footer__contact-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 6rem;
  width: 30.8rem;
  border: 0.1rem solid #383838;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.3em;
  text-align: center;
  line-height: 1.6;
  gap: 0.2rem;
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  transition: background 0.3s ease, color 0.3s ease;
}
@media (min-width: 1025px) {
  .l-footer__contact-btn:hover {
    background: #696969;
    color: #FFFFFF;
  }
}
@media (max-width: 1024px) {
  .l-footer__contact-btn {
    width: 100%;
  }
}
.l-footer__nav-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10.8rem;
}
@media (max-width: 1024px) {
  .l-footer__nav-area {
    width: 100%;
    gap: 6rem;
  }
}
.l-footer__sitemap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 9.6rem;
}
@media (max-width: 1024px) {
  .l-footer__sitemap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 4rem;
  }
}
.l-footer__sitemap-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.7rem;
}
@media (max-width: 1024px) {
  .l-footer__sitemap-col {
    gap: 1rem;
  }
}
.l-footer__sitemap-col a {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 1.6;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .l-footer__sitemap-col a:hover {
    opacity: 0.6;
  }
}
.l-footer__instagram {
  display: inline-block;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .l-footer__instagram:hover {
    opacity: 0.6;
  }
}
.l-footer__instagram-icon {
  width: 2.6rem;
  height: 2.6rem;
}
.l-footer__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  padding: 8rem 0 4rem;
}
@media (max-width: 1024px) {
  .l-footer__bottom {
    padding: 6rem 0 6rem;
  }
}
.l-footer__bottom-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 1024px) {
  .l-footer__bottom-links {
    max-width: 37.5rem;
    width: 100%;
    gap: 0.4rem 1.2rem;
    padding: 0 2.4rem;
  }
  .l-footer__bottom-links a:nth-child(2)::before,
  .l-footer__bottom-links a:nth-child(5)::before {
    content: "|";
    margin-right: 1.2rem;
    letter-spacing: 0;
  }
}
.l-footer__bottom-links a {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 1.6;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .l-footer__bottom-links a:hover {
    opacity: 0.6;
  }
}
.l-footer__copyright {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 1.6;
  text-align: center;
  width: 100%;
  border-top: 0.1rem solid #383838;
  padding-top: 1.6rem;
}

.l-footer-sp-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.1rem;
  z-index: 200;
}
@media (min-width: 1025px) {
  .l-footer-sp-bar {
    display: none;
  }
}
.l-footer-sp-bar__btn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.6rem;
  background: #696969;
  color: #FFFFFF;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.l-footer-sp-bar__btn--tel {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 4rem;
          flex: 0 0 4rem;
  width: 4rem;
}
.l-footer-sp-bar__icon {
  width: 1.6rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.l-main {
  padding-top: 10rem;
}
@media (max-width: 1024px) {
  .l-main {
    padding-top: 9.4rem;
  }
}

.c-article-filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.8rem;
  margin-bottom: 6.6rem;
}
@media (max-width: 1024px) {
  .c-article-filter {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.8rem;
    margin-bottom: 5rem;
  }
}
.c-article-filter__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 28.4rem;
  max-width: 100%;
  min-height: 4.8rem;
  padding: 1rem 1.6rem;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.16em;
  line-height: 1.7;
  background: #FFFCF7;
  color: #423026;
  cursor: pointer;
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  transition: background 0.3s ease, color 0.3s ease;
}
@media (max-width: 1024px) {
  .c-article-filter__item {
    width: 28.4rem;
  }
}
.c-article-filter__item.is-active {
  background: #423026;
  color: #FFFCF7;
}
@media (min-width: 1025px) {
  .c-article-filter__item:not(.is-active):hover {
    background: rgb(255, 244.35, 226.6);
  }
}
@media (min-width: 1025px) {
  .c-article-filter--faq {
    gap: 2.2rem;
  }
  .c-article-filter--faq .c-article-filter__item {
    width: 22.7rem;
  }
}
@media (min-width: 1025px) {
  .c-article-filter--grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 3.7rem 1fr 3.7rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.2rem 3.7rem;
  }
  .c-article-filter--grid .c-article-filter__item {
    width: 100%;
  }
}

.c-article-filter--report .c-article-filter__group {
  position: relative;
}
.c-article-filter--report .c-article-filter__item {
  position: relative;
  padding-right: 2.8rem;
}
.c-article-filter--report .c-article-filter__item::after {
  content: "";
  position: absolute;
  right: 1.9rem;
  top: 50%;
  width: 0.7rem;
  height: 0.7rem;
  border-right: 0.1rem solid #423026;
  border-bottom: 0.1rem solid #423026;
  -webkit-transform: translateY(-70%) rotate(45deg);
          transform: translateY(-70%) rotate(45deg);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.c-article-filter--report .c-article-filter__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 28.6rem;
  background: rgba(66, 48, 38, 0.95);
  padding: 2.3rem 2.6rem 3.7rem;
  z-index: 10;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.c-article-filter--report .c-article-filter__group.is-open .c-article-filter__dropdown {
  opacity: 1;
  pointer-events: auto;
}
.c-article-filter--report .c-article-filter__group.is-open .c-article-filter__item::after {
  -webkit-transform: translateY(-30%) rotate(-135deg);
          transform: translateY(-30%) rotate(-135deg);
}
.c-article-filter--report .c-article-filter__dropdown-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.3rem;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.c-article-filter--report .c-article-filter__dropdown-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.3rem;
  width: 100%;
  border-bottom: 0.1rem solid rgba(255, 252, 247, 0.3);
}
.c-article-filter--report .c-article-filter__dropdown-item button {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #FFFCF7;
  letter-spacing: 0.16em;
  line-height: 1.7;
  text-align: center;
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
@media (min-width: 1025px) {
  .c-article-filter--report .c-article-filter__dropdown-item button:hover {
    opacity: 0.7;
  }
}

.c-article-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.8rem 1fr 2.8rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem 2.8rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 1024px) {
  .c-article-list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 5rem;
    max-width: 35rem;
    margin: 0 auto;
  }
}

.c-article-card__link {
  display: block;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .c-article-card__link:hover {
    opacity: 0.8;
  }
}
.c-article-card__img-wrap {
  overflow: hidden;
  aspect-ratio: 391/266;
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  .c-article-card__img-wrap {
    aspect-ratio: 350/238;
  }
}
.c-article-card__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.c-article-card__body {
  padding: 1.2rem 2.2rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.9rem;
}
@media (max-width: 1024px) {
  .c-article-card__body {
    gap: 1.2rem;
  }
}
.c-article-card__meta {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.4rem;
  color: #B2B2B2;
  letter-spacing: 0.16em;
  line-height: 1.6;
}
@media (max-width: 1024px) {
  .c-article-card__meta {
    font-size: 1.2rem;
  }
}
.c-article-card__title {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
.c-article-card__title-jp {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.16em;
  line-height: 1.6;
}
@media (max-width: 1024px) {
  .c-article-card__title {
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .c-article-card__title-jp {
    font-size: 1.2rem;
  }
}

.c-post-body {
  padding: 8rem 0 10rem;
  background: #FFFCF7;
}
@media (max-width: 1024px) {
  .c-post-body {
    padding: 5rem 0 8rem;
  }
}
.c-post-body__inner {
  width: 107rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media (max-width: 1024px) {
  .c-post-body__inner {
    gap: 2rem;
  }
}
.c-post-body__head {
  text-align: center;
  margin: 8.6rem 0 3.3rem;
}
@media (max-width: 1024px) {
  .c-post-body__head {
    margin: 5.8rem 0 3.5rem;
  }
}
.c-post-body__back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 11.8rem;
}
@media (max-width: 1024px) {
  .c-post-body__back {
    margin-top: 4rem;
  }
}
.c-post-body__back-btn {
  width: 20rem;
}

.c-post-block--3col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
}
@media (min-width: 1025px) {
  .c-post-block--3col .c-post-block__item {
    width: calc((100% - 4rem) / 3);
  }
}
@media (max-width: 1024px) {
  .c-post-block--3col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}
.c-post-block--3col .c-post-block__fig {
  aspect-ratio: 342/350;
}
@media (max-width: 1024px) {
  .c-post-block--3col .c-post-block__fig {
    aspect-ratio: 350/358;
  }
}
.c-post-block--1col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
.c-post-block--1col .c-post-block__imgs {
  display: block;
}
.c-post-block--2col {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.8rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.8rem;
}
@media (max-width: 1024px) {
  .c-post-block--2col {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 4rem;
  }
}
.c-post-block--2col .c-post-block__fig {
  aspect-ratio: 526/288;
}
@media (max-width: 1024px) {
  .c-post-block--2col .c-post-block__fig {
    aspect-ratio: 350/192;
  }
}
.c-post-block--center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-post-block--center > * {
  width: 59.7rem;
}
@media (max-width: 1024px) {
  .c-post-block--center > * {
    width: 100%;
  }
}
.c-post-block--split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.7rem;
}
.c-post-block--split .c-post-block__fig {
  width: 49.1588785047%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 526/415;
}
.c-post-block--split .c-post-block__body {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media (min-width: 1025px) {
  .c-post-block--split-rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media (max-width: 1024px) {
  .c-post-block--split {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .c-post-block--split .c-post-block__fig {
    width: 100%;
    aspect-ratio: 320/252;
  }
}
.c-post-block__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
.c-post-block__fig {
  overflow: hidden;
  margin: 0;
  display: block;
}
.c-post-block__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.c-post-block__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .c-post-block__text {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}

.c-video-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.c-video-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}
.c-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  cursor: pointer;
}
.c-video-modal__inner {
  position: relative;
  z-index: 1;
  width: min(90vw, 96rem);
}
.c-video-modal__close {
  position: absolute;
  top: -4rem;
  right: 0;
  width: 3.2rem;
  height: 3.2rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.c-video-modal__close::before, .c-video-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 0.1rem;
  background: #FFFCF7;
}
.c-video-modal__close::before {
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.c-video-modal__close::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.c-video-modal__video-wrap {
  aspect-ratio: 16/9;
  background: #383838;
}
.c-video-modal__video {
  width: 100%;
  height: 100%;
  display: block;
}

.c-iframe {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}
.c-iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-btn-viewmore {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-btn-viewmore__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  height: 1.9rem;
  width: 100%;
}
.c-btn-viewmore__txt {
  font-family: "Cormorant", serif;
  font-weight: 400;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
  white-space: nowrap;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.c-btn-viewmore__dot {
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background: #383838;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.c-btn-viewmore::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.1rem;
  background: #383838;
  margin-top: 0.1rem;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
@media (min-width: 1025px) {
  .c-btn-viewmore:hover .c-btn-viewmore__txt {
    color: #B2B2B2;
  }
  .c-btn-viewmore:hover .c-btn-viewmore__dot {
    background: #B2B2B2;
  }
  .c-btn-viewmore:hover::after {
    background: #B2B2B2;
  }
}

.c-btn-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.3rem;
  border: 0.1rem solid #A8926F;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.c-btn-cta--pk {
  background: linear-gradient(90.61deg, #e77f80 7.1%, #d24e8b 93.1%);
}
@media (min-width: 1025px) {
  .c-btn-cta--pk:hover {
    background: linear-gradient(90.61deg, #e77f80 7.1%, #e77f80 93.1%);
  }
}
.c-btn-cta--tl {
  background: linear-gradient(90.61deg, #6cb19b 7.1%, #26949e 93.1%);
}
@media (min-width: 1025px) {
  .c-btn-cta--tl:hover {
    background: linear-gradient(90.61deg, #6cb19b 7.1%, #6cb19b 93.1%);
  }
}
.c-btn-cta--or {
  background: linear-gradient(90.61deg, #e19e30 7.1%, #e36b16 93.1%);
}
@media (min-width: 1025px) {
  .c-btn-cta--or:hover {
    background: linear-gradient(90.61deg, #e26b16 7.1%, #e26b16 93.1%);
  }
}
.c-btn-cta--pu {
  background: linear-gradient(90.61deg, #ab3179 7.1%, #6d005c 93.1%);
}
@media (min-width: 1025px) {
  .c-btn-cta--pu:hover {
    background: linear-gradient(90.61deg, #6d005c 7.1%, #6d005c 93.1%);
  }
}
.c-btn-cta__sub {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #FFFFFF;
  letter-spacing: 0.18em;
  line-height: 1.8;
  text-align: center;
}
.c-btn-cta__en-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-btn-cta__en-area::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.1rem;
  background: #FFFFFF;
  margin-top: 0.1rem;
}
.c-btn-cta__en-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  height: 1.9rem;
}
.c-btn-cta__en {
  font-family: "Cormorant", serif;
  font-weight: 400;
  font-size: 1.6rem;
  color: #FFFFFF;
  letter-spacing: 0.18em;
  line-height: 1.8;
  white-space: nowrap;
}
.c-btn-cta__dot {
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background: #FFFFFF;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.c-btn-primary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.9rem 0.5rem;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  color: #FFFFFF;
  letter-spacing: 0.36em;
  position: relative;
  overflow: hidden;
  width: 31rem;
  max-width: 100%;
}
.c-btn-primary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.18);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .c-btn-primary:hover::before {
    opacity: 0;
  }
}
.c-btn-primary--pu {
  background: #6D005C;
}
.c-btn-primary--tl {
  background: #005C64;
}
@media (min-width: 1025px) {
  .c-btn-primary--lg {
    width: 37.5rem;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
@media (min-width: 1025px) {
  .c-btn-primary--md {
    width: 28.9rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

.c-btn-txt {
  display: inline-block;
  text-decoration: underline;
}
@media (min-width: 1025px) {
  .c-btn-txt:hover {
    text-decoration: none;
  }
}

.c-list__item {
  padding-left: 1em;
  position: relative;
}
.c-list__item:before {
  content: "・";
  position: absolute;
  left: 0;
}

.c-lead {
  padding: 10rem 0;
}
.c-lead--be {
  background: #FFFCF7;
}
@media (max-width: 1024px) {
  .c-lead {
    padding: 6rem 0;
  }
}
.c-lead__inner {
  width: min(100% - 6.8rem, 122rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  text-align: center;
}
@media (max-width: 1024px) {
  .c-lead__inner {
    width: calc(100% - 4rem);
    gap: 2rem;
  }
}
.c-lead__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .c-lead__text {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}

.c-ttl-serif {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.8rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .c-ttl-serif {
    font-size: 2.2rem;
  }
}
.c-ttl-serif--sm {
  font-size: 2.4rem;
  line-height: 2.1;
}
@media (max-width: 1024px) {
  .c-ttl-serif--sm {
    font-size: 2rem;
  }
}
.c-ttl-serif--sm::after {
  width: 22.6rem;
  margin-top: 1rem;
}
@media (max-width: 1024px) {
  .c-ttl-serif--sm::after {
    width: 12.4rem;
  }
}
.c-ttl-serif--en {
  font-family: "Bodoni Moda", serif;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media (max-width: 1024px) {
  .c-ttl-serif--en {
    font-size: 2rem;
  }
}
@media (min-width: 1025px) {
  .c-ttl-serif--en::after {
    width: 22.6rem;
  }
}
.c-ttl-serif--en::after {
  margin-top: 1rem;
}
@media (max-width: 1024px) {
  .c-ttl-serif--en::after {
    margin-top: 0.8rem;
  }
}

.c-lower-mv {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-lower-mv--sm {
  min-height: 35.1rem;
}
@media (max-width: 1024px) {
  .c-lower-mv--sm {
    min-height: 28.6rem;
  }
}
.c-lower-mv--lg {
  min-height: 52.6rem;
}
@media (max-width: 1024px) {
  .c-lower-mv--lg {
    min-height: 52.6rem;
  }
}
.c-lower-mv--wh .c-lower-mv__title,
.c-lower-mv--wh .c-lower-mv__sub-title,
.c-lower-mv--wh .c-lower-mv__lead,
.c-lower-mv--wh .c-lower-mv__text {
  color: #fff;
  text-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.75), 0 0 1.2rem rgba(0, 0, 0, 0.5);
}
.c-lower-mv__img {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.c-lower-mv__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.c-lower-mv__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 2.1rem;
  padding: 1rem 3.4rem 5rem max(3.4rem, 50% - 61rem);
}
@media (max-width: 1024px) {
  .c-lower-mv__inner {
    gap: 2.8rem;
    padding: 18.2rem 2rem 5rem 2rem;
  }
}
.c-lower-mv__title {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 6.4rem;
  color: #424242;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  text-shadow: 0 0.1rem 0.3rem rgba(255, 255, 255, 0.9), 0 0 1.2rem rgba(255, 255, 255, 0.7);
}
@media (max-width: 1024px) {
  .c-lower-mv__title {
    font-size: 3.6rem;
    color: #423026;
    text-transform: none;
  }
}
.c-lower-mv__sub-title {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2rem;
  color: #423026;
  letter-spacing: 0.16em;
  line-height: 1.45;
  overflow-wrap: anywhere;
  text-shadow: 0 0.1rem 0.3rem rgba(255, 255, 255, 0.9), 0 0 1.2rem rgba(255, 255, 255, 0.7);
}
@media (max-width: 1024px) {
  .c-lower-mv__sub-title {
    font-size: 1.4rem;
  }
}
.c-lower-mv__lead {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2rem;
  color: #423026;
  letter-spacing: 0.16em;
  line-height: 1.8;
  text-shadow: 0 0.1rem 0.3rem rgba(255, 255, 255, 0.9), 0 0 1.2rem rgba(255, 255, 255, 0.7);
}
@media (max-width: 1024px) {
  .c-lower-mv__lead {
    font-size: 1.6rem;
  }
}
.c-lower-mv__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
  text-shadow: 0 0.1rem 0.3rem rgba(255, 255, 255, 0.9), 0 0 1.2rem rgba(255, 255, 255, 0.7);
}
@media (max-width: 1024px) {
  .c-lower-mv__text {
    font-size: 1.4rem;
    letter-spacing: 0.14em;
  }
}
@media (max-width: 1024px) {
  .c-lower-mv__btn .c-btn-primary {
    margin: 0 auto;
    padding: 1rem 0.5rem;
  }
}

.c-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.5rem;
  margin-top: 8rem;
}
@media (max-width: 1024px) {
  .c-pager {
    margin-top: 6rem;
    gap: 3.8rem;
  }
}
.c-pager__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4rem;
}
@media (max-width: 1024px) {
  .c-pager__list {
    gap: 3.8rem;
  }
}
.c-pager__item {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 2rem;
  letter-spacing: 0.16em;
  line-height: 1;
  color: #423026;
}
.c-pager__item a {
  color: #423026;
  display: block;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .c-pager__item a:hover {
    opacity: 0.6;
  }
}
.c-pager__item.is-current span {
  color: rgba(66, 48, 38, 0.5);
}
.c-pager__item--ellipsis span {
  color: #423026;
}
.c-pager__arrow {
  width: 1rem;
  height: 2rem;
  position: relative;
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-pager__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 0.1rem solid #423026;
  border-right: 0.1rem solid #423026;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.c-pager__arrow--prev::before {
  -webkit-transform: translate(-30%, -50%) rotate(-135deg);
          transform: translate(-30%, -50%) rotate(-135deg);
}
.c-pager__arrow--next::before {
  -webkit-transform: translate(-70%, -50%) rotate(45deg);
          transform: translate(-70%, -50%) rotate(45deg);
}
@media (min-width: 1025px) {
  .c-pager__arrow:hover::before {
    border-color: rgba(66, 48, 38, 0.5);
  }
}

.c-post-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 1024px) {
  .c-post-nav {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    row-gap: 6.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.c-post-nav__prev, .c-post-nav__next {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 2rem;
  color: #423026;
  letter-spacing: 0.16em;
  line-height: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .c-post-nav__prev:hover, .c-post-nav__next:hover {
    opacity: 0.6;
  }
}
@media (max-width: 1024px) {
  .c-post-nav__next {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column-align: end;
        justify-self: end;
  }
}
.c-post-nav__arrow {
  display: block;
  width: 1rem;
  height: 2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
.c-post-nav__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 0.1rem solid #423026;
  border-right: 0.1rem solid #423026;
}
.c-post-nav__arrow--prev::before {
  -webkit-transform: translate(-30%, -50%) rotate(-135deg);
          transform: translate(-30%, -50%) rotate(-135deg);
}
.c-post-nav__arrow--next::before {
  -webkit-transform: translate(-70%, -50%) rotate(45deg);
          transform: translate(-70%, -50%) rotate(45deg);
}
.c-post-nav__back {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 20rem;
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1;
  border-bottom: 0.1rem solid #383838;
  padding-bottom: 1rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.c-post-nav__back::after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #383838;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 1025px) {
  .c-post-nav__back:hover {
    opacity: 0.6;
  }
}
@media (max-width: 1024px) {
  .c-post-nav__back {
    grid-column: 1/-1;
    -ms-grid-row: 2;
    grid-row: 2;
    -ms-grid-column-align: center;
        justify-self: center;
  }
}

.c-faq {
  background: #F7F5EE;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-bottom: 10rem;
}
@media (max-width: 1024px) {
  .c-faq {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-bottom: 5rem;
  }
}
.c-faq__content {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6rem;
  padding: 10rem 17rem 0;
}
@media (max-width: 1024px) {
  .c-faq__content {
    padding: 4rem 0 0;
    gap: 4rem;
    width: 100%;
    max-width: calc(100% - 4rem);
    margin: 0 auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.c-faq__text-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.c-faq__title-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 3.2rem;
  color: #383838;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media (max-width: 1024px) {
  .c-faq__title-en {
    font-size: 2rem;
  }
}
.c-faq__title-jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
.c-faq__deco {
  width: 38rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .c-faq__deco {
    width: 100%;
    max-height: 30rem;
  }
}
.c-faq__deco-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.c-faq-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
.c-faq-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-faq-list__q {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 1rem;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  gap: 2rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .c-faq-list__q:hover {
    opacity: 0.6;
  }
}
@media (max-width: 1024px) {
  .c-faq-list__q {
    padding: 0;
    gap: 1rem;
  }
}
.c-faq-list__q-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
@media (max-width: 1024px) {
  .c-faq-list__q-left {
    gap: 1rem;
  }
}
.c-faq-list__q-icon {
  width: 3.74rem;
  height: 2.948rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
}
.c-faq-list__q-txt {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .c-faq-list__q-txt {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
.c-faq-list__toggle {
  width: 2rem;
  height: 2rem;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-faq-list__toggle::before, .c-faq-list__toggle::after {
  content: "";
  display: block;
  position: absolute;
  background: #383838;
}
.c-faq-list__toggle::before {
  width: 100%;
  height: 0.1rem;
  top: 50%;
  left: 0;
}
.c-faq-list__toggle::after {
  width: 0.1rem;
  height: 100%;
  top: 0;
  left: 50%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-faq-list__toggle--open::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.c-faq-list__sep {
  width: 100%;
  height: 0.1rem;
  background: rgba(56, 56, 56, 0.3);
  display: block;
  margin-top: 1.2rem;
}
.c-faq-list__a {
  opacity: 0;
  padding: 0 6rem 0 6.8rem;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.5)), to(rgba(214, 207, 182, 0.5)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0.5), rgba(214, 207, 182, 0.5));
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.c-faq-list__a p {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  color: #383838;
  letter-spacing: 0.08em;
  line-height: 1.8;
  text-align: justify;
  font-size: 0;
}
.c-faq-list__a.is-open {
  padding: 3rem 6rem 3rem 6.8rem;
  opacity: 1;
}
.c-faq-list__a.is-open p {
  font-size: 1.4rem;
}
@media (max-width: 1024px) {
  .c-faq-list__a {
    padding: 0 2.2rem 0 5rem;
  }
  .c-faq-list__a.is-open {
    padding: 3rem 2.2rem 3rem 5rem;
  }
  .c-faq-list__a.is-open p {
    font-size: 1.2rem;
    line-height: 1.6;
    letter-spacing: 0.18em;
  }
}

.c-detail-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-detail-toggle__item + .c-detail-toggle__item {
  margin-top: 5rem;
}
.c-detail-toggle__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
}
@media (max-width: 1024px) {
  .c-detail-toggle__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5rem;
  }
}
.c-detail-toggle__label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.6rem;
  color: #B2B2B2;
  letter-spacing: 0.16em;
  width: 9rem;
}
@media (max-width: 1024px) {
  .c-detail-toggle__label {
    font-size: 1.4rem;
    width: 100%;
  }
}
.c-detail-toggle__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 1024px) {
  .c-detail-toggle__content {
    width: 100%;
  }
}
.c-detail-toggle__panel {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease;
}
.c-detail-toggle__panel.is-open {
  padding-bottom: 3rem;
}
.c-detail-toggle__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .c-detail-toggle__text {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.c-detail-toggle__list-item {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .c-detail-toggle__list-item {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.c-detail-toggle__btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .c-detail-toggle__btn:hover {
    opacity: 0.6;
  }
}
@media (max-width: 1024px) {
  .c-detail-toggle__btn {
    gap: 1.2rem;
  }
}
.c-detail-toggle__txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
}
@media (max-width: 1024px) {
  .c-detail-toggle__txt {
    font-size: 1.4rem;
  }
}
.c-detail-toggle__icon {
  position: relative;
  width: 2.8rem;
  height: 2.8rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border: solid 1px #fff;
}
.c-detail-toggle__icon::before, .c-detail-toggle__icon::after {
  content: "";
  position: absolute;
  background: #FFFCF7;
  width: 2rem;
  height: 0.1rem;
  top: 50%;
  left: 0.3rem;
}
.c-detail-toggle__icon::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-detail-toggle__btn[aria-expanded=true] .c-detail-toggle__icon::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.c-report {
  background: #FFFFFF;
  padding: 10rem 0;
}
@media (max-width: 1024px) {
  .c-report {
    padding: 6rem 0 13rem;
    position: relative;
  }
  .c-report .c-btn-viewmore {
    position: absolute;
    bottom: 5rem;
    left: 4rem;
  }
}
.c-report__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 1024px) {
  .c-report__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
}
.c-report__head {
  width: 28.4722222222%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  padding-left: 17rem;
}
@media (max-width: 1024px) {
  .c-report__head {
    width: 100%;
    padding: 0 4rem;
  }
}
.c-report__heading {
  position: relative;
}
.c-report__ttl-jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .c-report__ttl-jp {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
.c-report__ttl-en {
  font-family: "Bodoni Moda", serif;
  font-style: italic;
  font-weight: 500;
  font-size: 1.8rem;
  color: #383838;
  letter-spacing: 0.15em;
  white-space: nowrap;
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  position: absolute;
  top: -1em;
  left: -5rem;
}
@media (max-width: 1024px) {
  .c-report__ttl-en {
    -webkit-transform: none;
            transform: none;
    position: static;
  }
}
.c-report__slider-col {
  width: 69.4444444444%;
}
@media (max-width: 1024px) {
  .c-report__slider-col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .c-report__swiper {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0px;
            flex: 1 0 0;
    min-width: 0;
  }
}
.c-report__arr {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5rem;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.c-report__arr::before {
  content: "";
  position: absolute;
  top: 6rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #B2B2B2;
}
.c-report__arr::after {
  content: "";
  position: absolute;
  top: 7.6rem;
  width: 0.8rem;
  height: 0.8rem;
}
.c-report__arr--prev::after {
  left: 50%;
  border-left: 0.15rem solid #383838;
  border-bottom: 0.15rem solid #383838;
  -webkit-transform: translateX(-30%) rotate(45deg);
          transform: translateX(-30%) rotate(45deg);
}
.c-report__arr--next::after {
  left: 50%;
  border-right: 0.15rem solid #383838;
  border-bottom: 0.15rem solid #383838;
  -webkit-transform: translateX(-70%) rotate(-45deg);
          transform: translateX(-70%) rotate(-45deg);
}

.c-report-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-report-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
  height: 100%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 1024px) {
  .c-report-card__link {
    gap: 1.6rem;
  }
}
@media (min-width: 1025px) {
  .c-report-card__link:hover {
    opacity: 0.75;
  }
}
.c-report-card__img-wrap {
  width: 100%;
  height: 16rem;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-report-card__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-report-card__ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
.c-report-card__ttl-jp {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: -1rem;
}
@media (max-width: 1024px) {
  .c-report-card__ttl {
    padding: 0 2rem;
  }
  .c-report-card__ttl-jp {
    padding: 0 2rem;
  }
}
.c-report-card__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: justify;
}
@media (max-width: 1024px) {
  .c-report-card__desc {
    padding: 0 2rem;
  }
}
.c-report-card__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.6rem;
}
@media (max-width: 1024px) {
  .c-report-card__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.4rem;
    padding: 0 2rem;
  }
}
.c-report-card__badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 2rem;
  padding: 0 1rem;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 1.2rem;
  color: #FFFFFF;
  letter-spacing: 0.18em;
  white-space: nowrap;
}
.c-report-card__badge--pu {
  background: #9C007C;
}
.c-report-card__badge--gd {
  background: #C88A23;
}
.c-report-card__meta-txt {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 1.8;
  white-space: nowrap;
}

.c-bridal-fair {
  background: #F7F5EE;
  padding: 10rem 0;
}
@media (max-width: 1024px) {
  .c-bridal-fair {
    padding: 6rem 0;
  }
}
.c-bridal-fair__inner {
  width: 120rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 5.5rem;
}
@media (max-width: 1024px) {
  .c-bridal-fair__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5rem;
  }
}
.c-bridal-fair__calendar-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 69rem;
}
@media (max-width: 1024px) {
  .c-bridal-fair__calendar-col {
    width: 100%;
    gap: 3rem;
  }
}
.c-bridal-fair__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media (max-width: 1024px) {
  .c-bridal-fair__titles {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 0.4rem;
  }
}
.c-bridal-fair__title-en {
  font-family: "Bodoni Moda", serif;
  font-style: italic;
  font-weight: 500;
  font-size: 3.2rem;
  color: #383838;
  letter-spacing: 0.15em;
  line-height: 1.4;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .c-bridal-fair__title-en {
    font-size: 1.8rem;
    white-space: normal;
  }
}
.c-bridal-fair__title-jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .c-bridal-fair__title-jp {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
.c-bridal-fair__calendar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
}
.c-bridal-fair__calendar .calendar td,
.c-bridal-fair__calendar .calendar th {
  padding: 0;
  border: 0.1rem solid #eae5d4;
}
.c-bridal-fair__calendar .calendar th {
  background-color: #f9f9f9;
  font-weight: bold;
}
.c-bridal-fair__calendar .calendar th:nth-of-type(6) {
  background-color: #ece7d8;
}
.c-bridal-fair__calendar .calendar th:nth-of-type(7) {
  background-color: #f5bd62;
}
.c-bridal-fair__calendar .calendar .calendar__header {
  position: relative;
  line-height: 1;
  background: #A8926F;
  padding: 1.4rem 2.5rem;
}
@media (max-width: 1024px) {
  .c-bridal-fair__calendar .calendar .calendar__header {
    margin-bottom: 2rem;
    padding: 1rem 2.5rem;
  }
}
.c-bridal-fair__calendar .calendar .ttl__date {
  text-align: center;
  font-size: 1.6rem;
  color: #FFFFFF;
}
.c-bridal-fair__calendar .calendar .ttl__date .month {
  margin-left: 1rem;
}
@media (max-width: 1024px) {
  .c-bridal-fair__calendar .calendar .ttl__date {
    font-size: 1.2rem;
  }
}
.c-bridal-fair__calendar .calendar .paging__inner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}
.c-bridal-fair__calendar .calendar .paging__inner .prev-month,
.c-bridal-fair__calendar .calendar .paging__inner .next-month {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4rem;
}
.c-bridal-fair__calendar .calendar .paging__inner .prev-month a,
.c-bridal-fair__calendar .calendar .paging__inner .next-month a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
.c-bridal-fair__calendar .calendar .paging__inner .prev-month {
  left: 0;
}
.c-bridal-fair__calendar .calendar .paging__inner .prev-month a::before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 0.1rem solid #FFFFFF;
  border-left: 0.1rem solid #FFFFFF;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.c-bridal-fair__calendar .calendar .paging__inner .next-month {
  right: 0;
}
.c-bridal-fair__calendar .calendar .paging__inner .next-month a::before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 0.1rem solid #FFFFFF;
  border-right: 0.1rem solid #FFFFFF;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (min-width: 1025px) {
  .c-bridal-fair__calendar .calendar .paging__inner .prev-month a::before,
  .c-bridal-fair__calendar .calendar .paging__inner .next-month a::before {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .c-bridal-fair__calendar .calendar .paging__inner .prev-month:hover a::before,
  .c-bridal-fair__calendar .calendar .paging__inner .next-month:hover a::before {
    opacity: 0.5;
  }
}
.c-bridal-fair__calendar .calendar .detail {
  width: 100%;
  margin-top: 2rem;
  background-color: #f7f5ee;
  table-layout: fixed;
}
.c-bridal-fair__calendar .calendar .detail tr {
  border-bottom: 0.1rem solid #e9e6e2;
}
.c-bridal-fair__calendar .calendar .detail th {
  font-size: 1.1rem;
}
.c-bridal-fair__calendar .calendar .detail th .inner {
  padding: 0.3rem 0;
  text-align: center;
}
.c-bridal-fair__calendar .calendar .detail td {
  height: 8.5rem;
  position: relative;
  background-color: #fefefe;
}
.c-bridal-fair__calendar .calendar .detail td:nth-of-type(6), .c-bridal-fair__calendar .calendar .detail td:nth-of-type(7) {
  background-color: #fbfaf6;
}
.c-bridal-fair__calendar .calendar .detail td.is_disabled {
  color: #bbb;
}
@media (max-width: 1024px) {
  .c-bridal-fair__calendar .calendar .detail td {
    height: 5rem;
  }
}
.c-bridal-fair__calendar .calendar .detail td .inner {
  height: 100%;
  text-align: center;
}
.c-bridal-fair__calendar .calendar .detail td .inner .day a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}
.c-bridal-fair__calendar .calendar .detail td .inner .day a p {
  padding-top: 1rem;
  font-size: 1.4rem;
}
.c-bridal-fair__calendar .calendar .detail td .inner img {
  position: absolute;
  top: 46%;
  left: 0;
  right: 0;
  margin: auto;
  width: 0.9rem;
  height: auto;
}
@media (max-width: 1024px) {
  .c-bridal-fair__calendar .calendar .detail td .inner .day a p {
    padding-top: 0.3rem;
    font-size: 1rem;
  }
  .c-bridal-fair__calendar .calendar .detail td .inner img {
    top: 50%;
  }
}
.c-bridal-fair__calendar-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #A8926F;
  padding: 0.8rem 2.5rem;
  width: 100%;
}
.c-bridal-fair__calendar-month {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  color: #FFFFFF;
  letter-spacing: 0.2em;
  line-height: 1.8;
}
.c-bridal-fair__calendar-arrow {
  display: block;
  width: 0.7rem;
  height: 1.2rem;
  border-top: 0.1rem solid #FFFFFF;
  border-right: 0.1rem solid #FFFFFF;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-bridal-fair__calendar-embed {
  width: 100%;
  aspect-ratio: 103/80;
  background: rgba(255, 255, 255, 0.5);
  border: 0.1rem solid rgba(56, 56, 56, 0.1);
}
@media (max-width: 1024px) {
  .c-bridal-fair__fair-btn {
    margin: 0 auto;
  }
}
.c-bridal-fair__fair-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  gap: 4rem;
  width: 45.4rem;
}
@media (max-width: 1024px) {
  .c-bridal-fair__fair-col {
    width: 100%;
  }
}
.c-bridal-fair__fair-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.c-bridal-fair__fair-heading {
  border-top: 0.05rem solid #383838;
  border-bottom: 0.05rem solid #383838;
  padding: 0.8rem 0;
  text-align: center;
}
.c-bridal-fair__fair-heading p {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.2em;
  line-height: 1.8;
}
.c-bridal-fair__fair-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.c-bridal-fair__fair-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  border: 0.1rem solid #eae5d4;
  background: #fff;
  position: relative;
  padding: 2rem 2rem 2rem 18rem;
}
@media (min-width: 1025px) {
  .c-bridal-fair__fair-card {
    min-height: 12.5rem;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .c-bridal-fair__fair-card:hover {
    opacity: 0.7;
  }
}
@media (max-width: 1024px) {
  .c-bridal-fair__fair-card {
    min-height: 9.4rem;
    padding: 1rem 0.5rem 1rem 17rem;
  }
}
.c-bridal-fair__fair-img-wrap {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 16rem;
  overflow: hidden;
}
.c-bridal-fair__fair-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-bridal-fair__fair-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.c-bridal-fair__fair-date {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  color: #9C007C;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.c-bridal-fair__fair-title {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.3rem;
  color: #383838;
  letter-spacing: 0.05em;
  line-height: 1.7;
}

.c-pickup-fair {
  background: #F7F5EE;
  padding: 10rem 0;
}
@media (max-width: 1024px) {
  .c-pickup-fair {
    padding: 5rem 0;
  }
}
.c-pickup-fair__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-pickup-fair__head {
  text-align: center;
  margin-bottom: 6rem;
}
@media (max-width: 1024px) {
  .c-pickup-fair__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    text-align: left;
    padding: 0 4rem;
    margin-bottom: 5rem;
  }
}
.c-pickup-fair__title-en {
  font-family: "Bodoni Moda", serif;
  font-style: italic;
  font-weight: 500;
  font-size: 1.8rem;
  color: #383838;
  letter-spacing: 0.15em;
  line-height: 1;
  margin-bottom: 1rem;
}
@media (max-width: 1024px) {
  .c-pickup-fair__title-en {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    line-height: 1.4;
    margin-bottom: 0;
    margin-top: 0.4rem;
  }
}
.c-pickup-fair__title-jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .c-pickup-fair__title-jp {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
.c-pickup-fair__slider-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
@media (min-width: 1025px) {
  .c-pickup-fair__slider-col {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.c-pickup-fair__swiper {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
}
@media (min-width: 1025px) {
  .c-pickup-fair__swiper {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 110rem;
    max-width: calc(100% - 15rem);
    margin: 0;
  }
}
.c-pickup-fair__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 1024px) {
  .c-pickup-fair__slider-col.is-static .c-pickup-fair__swiper {
    padding: 0 7.5rem;
  }
}
@media (min-width: 1025px) {
  .c-pickup-fair__slider-col.is-static .c-pickup-fair__swiper {
    overflow: visible;
  }
  .c-pickup-fair__slider-col.is-static .c-pickup-fair__list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 8rem;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
  .c-pickup-fair__slider-col.is-static .c-pickup-fair__item {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 1 30rem !important;
            flex: 0 1 30rem !important;
    min-width: 0;
    height: auto !important;
  }
}
.c-pickup-fair__card {
  display: block;
  text-decoration: none;
  color: inherit;
}
@media (min-width: 1025px) {
  .c-pickup-fair__card {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .c-pickup-fair__card:hover {
    opacity: 0.7;
  }
}
.c-pickup-fair__img-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-bottom: 2.4rem;
}
.c-pickup-fair__img {
  width: 100%;
  display: block;
}
.c-pickup-fair__badge {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #9C007C;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 2rem;
  padding: 0 1rem;
}
.c-pickup-fair__badge span {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 1.2rem;
  color: #FFFFFF;
  letter-spacing: 0.18em;
  line-height: 1.4;
  white-space: nowrap;
}
.c-pickup-fair__item-title {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.c-pickup-fair__arr {
  display: block;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 7.5rem;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.c-pickup-fair__arr::before {
  content: "";
  position: absolute;
  top: calc(50% - 4rem);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #B2B2B2;
}
.c-pickup-fair__arr::after {
  content: "";
  position: absolute;
  top: calc(50% - 2.5rem);
  width: 0.8rem;
  height: 0.8rem;
}
.c-pickup-fair__arr--prev::after {
  left: 50%;
  border-left: 0.15rem solid #383838;
  border-bottom: 0.15rem solid #383838;
  -webkit-transform: translateX(-30%) rotate(45deg);
          transform: translateX(-30%) rotate(45deg);
}
.c-pickup-fair__arr--next::after {
  left: 50%;
  border-right: 0.15rem solid #383838;
  border-bottom: 0.15rem solid #383838;
  -webkit-transform: translateX(-70%) rotate(-45deg);
          transform: translateX(-70%) rotate(-45deg);
}
.c-pickup-fair__slider-col.is-static .c-pickup-fair__arr {
  display: none;
}
.c-pickup-fair__btn-wrap {
  margin-top: 6rem;
}
@media (max-width: 1024px) {
  .c-pickup-fair__btn-wrap {
    margin-top: 5rem;
  }
}

.c-movie {
  position: relative;
  width: 100%;
  max-width: 82rem;
  margin-inline: auto;
  overflow: hidden;
}
.c-movie::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none;
  z-index: 1;
}
.c-movie__video {
  width: 100%;
  height: auto;
  display: block;
  cursor: pointer;
}
.c-movie__play {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 2;
  pointer-events: none;
}
.c-movie__play[hidden] {
  display: none;
}
.c-movie__play-icon {
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #fff;
  border: 0.15rem solid #FFFFFF;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-movie__play-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 56%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 1rem 0 1rem 1.7rem;
  border-color: transparent transparent transparent #D9D9D9;
}
.c-movie__play-txt {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #fffcf7;
  letter-spacing: 0.16em;
  white-space: nowrap;
}

.c-modal-movie__btn {
  display: block;
  width: 100%;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
@media (min-width: 1025px) {
  .c-modal-movie__btn {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .c-modal-movie__btn:hover {
    opacity: 0.7;
  }
}
.c-modal-movie__thumb {
  display: block;
  margin: 0;
  aspect-ratio: 526/288;
  overflow: hidden;
  position: relative;
}
.c-modal-movie__thumb:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  background: url(../img/common/ic_play.svg) center/auto no-repeat;
}
@media (max-width: 1024px) {
  .c-modal-movie__thumb {
    aspect-ratio: 350/197;
  }
}
.c-modal-movie__thumb-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.c-media-modal__counter {
  position: absolute;
  left: 50%;
  bottom: -3.6rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin: 0;
  color: #fffcf7;
  font-family: "Inter", sans-serif, "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  line-height: 1;
}
@media (max-width: 1024px) {
  .c-media-modal__counter {
    bottom: -2.8rem;
    font-size: 1.2rem;
  }
}

.c-creator {
  background: #423026;
  padding: 14.8rem 0 11rem;
  overflow: hidden;
  position: relative;
}
@media (max-width: 1024px) {
  .c-creator {
    padding: 4rem 0 8rem;
  }
}
.c-creator--gy {
  background: #424242;
}
@media (max-width: 1024px) {
  .c-creator--music .c-creator__head {
    position: relative;
    padding-bottom: 2.5rem;
  }
  .c-creator--music .c-creator__title-jp {
    position: absolute;
    left: 0;
    bottom: 0;
  }
}
.c-creator__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.c-creator__bg-text {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 10rem;
  line-height: 0.6;
  letter-spacing: 0.05em;
  color: rgba(178, 178, 178, 0.3);
  white-space: nowrap;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 1024px) {
  .c-creator__bg-text {
    font-size: 3.3rem;
    line-height: 1.33;
    letter-spacing: 0.05em;
    color: #767676;
  }
}
.c-creator__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
  margin: 0 0 10rem;
}
@media (max-width: 1024px) {
  .c-creator__head {
    gap: 0.8rem;
    margin: 0.8rem 0 3rem;
  }
}
.c-creator__title-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 6.4rem;
  line-height: 1.1;
  letter-spacing: 0.05em;
  color: #FFFCF7;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .c-creator__title-en {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.16em;
  }
}
.c-creator__title-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}
@media (max-width: 1024px) {
  .c-creator__title-sub {
    width: 100%;
  }
}
.c-creator__title-jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 2.1;
  letter-spacing: 0.16em;
  color: #FFFCF7;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .c-creator__title-jp {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.4;
  }
}
.c-creator__line {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  height: 1px;
  background: #fff;
}
.c-creator__list {
  list-style: none;
}
.c-creator__item + .c-creator__item {
  margin-top: 10rem;
  padding-top: 10rem;
  border-top: 0.1rem solid #fff;
}
@media (max-width: 1024px) {
  .c-creator__item + .c-creator__item {
    margin-top: 5rem;
    padding-top: 5rem;
  }
}
.c-creator__item-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 9.6rem;
  margin-bottom: 8rem;
}
@media (max-width: 1024px) {
  .c-creator__item-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    margin-bottom: 3rem;
  }
}
.c-creator__item-info {
  min-width: 0;
}
@media (min-width: 1025px) {
  .c-creator__item-info {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 48rem;
            flex: 0 1 48rem;
  }
}
.c-creator__item-name {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 2.1;
  letter-spacing: 0.16em;
  color: #FFFCF7;
  margin-bottom: 4rem;
}
@media (max-width: 1024px) {
  .c-creator__item-name {
    font-size: 2rem;
    line-height: 1.8;
    margin-bottom: 1.5rem;
  }
}
.c-creator__item-desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.16em;
  color: #FFFCF7;
  margin-bottom: 3.5rem;
}
@media (max-width: 1024px) {
  .c-creator__item-desc {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 2rem;
  }
}
.c-creator__item-links {
  margin-bottom: 3.4rem;
}
@media (max-width: 1024px) {
  .c-creator__item-links {
    margin-bottom: 2.4rem;
  }
}
.c-creator__item-link-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.6rem;
}
.c-creator__item-link-row:last-child {
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  .c-creator__item-link-row {
    margin-bottom: 1.2rem;
  }
}
.c-creator__item-link-label {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  color: #B2B2B2;
}
@media (max-width: 1024px) {
  .c-creator__item-link-label {
    font-size: 1.4rem;
  }
}
.c-creator__item-link-value a {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.16em;
  color: #FFFCF7;
  text-decoration: none;
  word-break: break-all;
}
@media (min-width: 1025px) {
  .c-creator__item-link-value a {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .c-creator__item-link-value a:hover {
    opacity: 0.6;
  }
}
@media (max-width: 1024px) {
  .c-creator__item-link-value a {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.c-creator__item-sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
}
.c-creator__item-sns {
  display: block;
  width: 2.5rem;
}
@media (min-width: 1025px) {
  .c-creator__item-sns {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .c-creator__item-sns:hover {
    opacity: 0.6;
  }
}
.c-creator__item-sns-icon {
  width: 100%;
  height: 100%;
  display: block;
}
.c-creator__item-photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 36rem;
  aspect-ratio: 360/440;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .c-creator__item-photo {
    width: 100%;
    max-width: 23rem;
    margin: 0 auto;
  }
}
.c-creator__item-photo-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.c-creator__item-movie .c-movie {
  max-width: 82rem;
}
.c-creator__panel {
  display: none;
}
.c-creator__panel.is-active {
  display: block;
}
.c-creator__gallery {
  margin-top: 8rem;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .c-creator__gallery {
    margin-top: 4rem;
  }
}
.c-creator__gallery .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.c-creator__gallery.is-static .swiper-wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.3888888889vw;
  -webkit-transform: none !important;
          transform: none !important;
  -webkit-transition: none !important;
  transition: none !important;
}
.c-creator__gallery.is-static .swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc((100% - 1.3888888889vw * 6.5) / 7.5) !important;
}
@media (max-width: 1024px) {
  .c-creator__gallery.is-static .swiper-slide {
    width: calc((100% - 2.8205128205vw * 1.24) / 2.24) !important;
  }
}
@media (max-width: 1024px) {
  .c-creator__gallery.is-static .swiper-wrapper {
    gap: 2.8205128205vw;
  }
}
.c-creator__gallery-img {
  aspect-ratio: 300/400;
  overflow: hidden;
}
.c-creator__gallery-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.c-creator__switch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 6rem;
}
@media (max-width: 1024px) {
  .c-creator__switch {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 3rem;
  }
}
.c-creator__switch-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 4.6rem;
  width: 24rem;
  background: none;
  border: 0.1rem solid #FFFCF7;
  cursor: pointer;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.08em;
  color: #FFFCF7;
  text-align: center;
  white-space: nowrap;
}
@media (min-width: 1025px) {
  .c-creator__switch-item {
    -webkit-transition: background 0.3s ease, color 0.3s ease;
    transition: background 0.3s ease, color 0.3s ease;
  }
  .c-creator__switch-item:hover {
    background: rgba(255, 252, 247, 0.12);
  }
}
@media (max-width: 1024px) {
  .c-creator__switch-item {
    width: 100%;
  }
}
.c-creator__switch-item.is-active {
  background: #FFFCF7;
  color: #383838;
}
@media (min-width: 1025px) {
  .c-creator__switch-item.is-active:hover {
    background: #FFFCF7;
  }
}

.c-gallery {
  padding: 22.2rem 0 10rem;
}
@media (max-width: 1024px) {
  .c-gallery {
    padding: 8.7rem 0 4rem;
  }
}
.c-gallery__inner {
  width: 80rem;
  max-width: calc(100% - 10rem);
  margin: 0 auto;
  position: relative;
}
@media (max-width: 1024px) {
  .c-gallery__inner {
    width: 100%;
    max-width: 100%;
  }
}
.c-gallery__ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 10rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: rgba(178, 178, 178, 0.3);
}
@media (min-width: 1025px) {
  .c-gallery__ttl {
    position: absolute;
    top: 0;
    right: 100%;
    -webkit-transform-origin: 100% 0;
            transform-origin: 100% 0;
    -webkit-transform: rotate(-90deg) translateY(-100%);
            transform: rotate(-90deg) translateY(-100%);
    white-space: nowrap;
    pointer-events: none;
  }
}
@media (max-width: 1024px) {
  .c-gallery__ttl {
    font-size: 4rem;
    line-height: 1.1;
    color: #767676;
  }
}
.c-gallery__img {
  width: 100%;
  height: auto;
  display: block;
}

.c-contact {
  background: #FFFCF7;
}
.c-contact--wh {
  background: #fff;
}
.c-contact--wh .c-contact__inner {
  background: #fff;
  padding-top: 0;
}
.c-contact--wh .c-contact__input,
.c-contact--wh .c-contact__select,
.c-contact--wh .c-contact__textarea,
.c-contact--wh .c-contact__date-select,
.c-contact--wh .c-contact__check input[type=checkbox] {
  border: solid 1px #ABABAB;
}
.c-contact--wh .c-contact__privacy-box {
  background: rgba(136, 136, 136, 0.04);
}
.c-contact__inner {
  background: rgba(136, 136, 136, 0.04);
  padding: 9rem 12rem 12rem;
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .c-contact__inner {
    padding: 6.8rem 0 8rem;
  }
}
.c-contact__hd {
  text-align: center;
  margin-bottom: 7rem;
}
@media (max-width: 1024px) {
  .c-contact__hd {
    margin-bottom: 4rem;
  }
}
.c-contact__sec-sub {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
  margin-top: 1.2rem;
}
@media (max-width: 1024px) {
  .c-contact__sec-sub {
    font-size: 1.2rem;
  }
}
.c-contact__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-contact__row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 29.5rem 1.6rem 1fr;
  grid-template-columns: 29.5rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  padding: 1.5rem 0;
}
@media (max-width: 1024px) {
  .c-contact__row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
}
.c-contact__row--date {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-contact__row--textarea {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-contact__label-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.8rem;
}
@media (max-width: 1024px) {
  .c-contact__label-wrap {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.c-contact__label {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .c-contact__label {
    font-size: 1.2rem;
  }
}
.c-contact__req {
  display: inline-block;
  background: #423026;
  color: #fffcf7;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  letter-spacing: 0.16em;
  line-height: 1;
  padding: 0.3rem 0.5rem;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1024px) {
  .c-contact__req {
    font-size: 1.2rem;
  }
}
.c-contact__input, .c-contact__select, .c-contact__textarea {
  width: 100%;
  background: #FFFFFF;
  border: none;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media (max-width: 1024px) {
  .c-contact__input, .c-contact__select, .c-contact__textarea {
    font-size: 1.4rem;
  }
}
.c-contact__input::-webkit-input-placeholder, .c-contact__select::-webkit-input-placeholder, .c-contact__textarea::-webkit-input-placeholder {
  color: #B2B2B2;
}
.c-contact__input::-moz-placeholder, .c-contact__select::-moz-placeholder, .c-contact__textarea::-moz-placeholder {
  color: #B2B2B2;
}
.c-contact__input:-ms-input-placeholder, .c-contact__select:-ms-input-placeholder, .c-contact__textarea:-ms-input-placeholder {
  color: #B2B2B2;
}
.c-contact__input::-ms-input-placeholder, .c-contact__select::-ms-input-placeholder, .c-contact__textarea::-ms-input-placeholder {
  color: #B2B2B2;
}
.c-contact__input::placeholder, .c-contact__select::placeholder, .c-contact__textarea::placeholder {
  color: #B2B2B2;
}
.c-contact__input, .c-contact__select {
  height: 3.3rem;
  padding: 0 1.5rem;
}
@media (max-width: 1024px) {
  .c-contact__input, .c-contact__select {
    height: 4.8rem;
  }
}
.c-contact__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23383838' stroke-width='1' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1.2rem;
  padding-right: 3rem;
  cursor: pointer;
}
.c-contact__select--sm {
  width: 22.4rem;
}
@media (max-width: 1024px) {
  .c-contact__select--sm {
    width: 100%;
  }
}
.c-contact__textarea {
  height: 16.7rem;
  padding: 1rem 1.5rem;
  resize: none;
}
@media (max-width: 1024px) {
  .c-contact__textarea {
    height: 22.5rem;
  }
}
.c-contact__value {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .c-contact__value {
    font-size: 1.4rem;
  }
}
.c-contact__input--date {
  cursor: pointer;
  width: 28.5rem;
}
@media (max-width: 1024px) {
  .c-contact__input--date {
    width: 100%;
  }
}
.c-contact__note {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
  margin-top: 1.5rem;
  padding-left: 1em;
  text-indent: -1em;
  margin-left: 31.1rem;
}
@media (max-width: 1024px) {
  .c-contact__note {
    margin-left: 0;
    font-size: 1.4rem;
  }
}
.c-contact__date-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding-top: 0.3rem;
}
.c-contact__date-select {
  width: 9rem;
  height: 3.3rem;
  background: #FFFFFF;
  border: none;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23383838' stroke-width='1' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.8rem center;
  background-size: 1.2rem;
  padding: 0 2.5rem 0 1rem;
  cursor: pointer;
}
@media (max-width: 1024px) {
  .c-contact__date-select {
    width: 10.7rem;
    height: 4.8rem;
    font-size: 1.4rem;
  }
}
.c-contact__date-unit {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
}
@media (max-width: 1024px) {
  .c-contact__date-unit {
    font-size: 1.4rem;
  }
}
.c-contact__table {
  width: 100%;
  border-collapse: collapse;
}
.c-contact__th {
  width: 31.1rem;
  padding: 1.5rem 1.6rem 1.5rem 0;
  vertical-align: top;
  text-align: left;
  font-weight: normal;
}
@media (max-width: 1024px) {
  .c-contact__th {
    display: block;
    width: 100%;
    padding: 1.5rem 0 0.4rem;
  }
}
.c-contact__td {
  padding: 1.5rem 0;
  vertical-align: middle;
}
@media (max-width: 1024px) {
  .c-contact__td {
    display: block;
    width: 100%;
    padding: 0 0 1.5rem;
  }
}
@media (max-width: 1024px) {
  .c-contact__table tr {
    display: block;
  }
}
.c-contact__tr--top .c-contact__th,
.c-contact__tr--top .c-contact__td {
  vertical-align: top;
}
.c-contact__td .c-contact__note {
  margin-left: 0;
  margin-top: 0.8rem;
}
.c-contact__notice {
  margin-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.7rem;
}
@media (max-width: 1024px) {
  .c-contact__notice {
    margin-top: 4rem;
  }
}
.c-contact__notice-txt {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .c-contact__notice-txt {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.c-contact__check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  cursor: pointer;
}
@media (max-width: 1024px) {
  .c-contact__check {
    font-size: 1.4rem;
  }
}
.c-contact__check input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 2rem;
  height: 2rem;
  background: #FFFFFF;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
  position: relative;
}
.c-contact__check input[type=checkbox]:checked {
  background: #423026;
}
.c-contact__check input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -65%) rotate(45deg);
          transform: translate(-50%, -65%) rotate(45deg);
  width: 0.5rem;
  height: 0.9rem;
  border-right: 2px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
}
.c-contact__privacy {
  margin-top: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5rem;
}
@media (max-width: 1024px) {
  .c-contact__privacy {
    margin-top: 6rem;
    gap: 2rem;
  }
}
.c-contact__privacy-hd {
  text-align: center;
}
.c-contact__privacy-box {
  background: #FFFFFF;
  padding: 3.5rem 3rem;
  width: 100%;
}
@media (max-width: 1024px) {
  .c-contact__privacy-box {
    padding: 2rem 1.5rem;
  }
}
.c-contact__privacy-txt {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .c-contact__privacy-txt {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.c-contact__policy {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media (max-width: 1024px) {
  .c-contact__policy {
    gap: 1.3rem;
  }
}
.c-contact__policy-desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .c-contact__policy-desc {
    font-size: 1.4rem;
  }
}
.c-contact__policy-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #424242;
  letter-spacing: 0.16em;
  line-height: 1.75;
  border-bottom: 1px solid #424242;
  padding-bottom: 0.2rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 1024px) {
  .c-contact__policy-link {
    font-size: 1.2rem;
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media (min-width: 1025px) {
  .c-contact__policy-link:hover {
    opacity: 0.6;
  }
}
.c-contact__policy-arrow {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #424242;
  border-right: 1px solid #424242;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 0.8rem;
}
.c-contact__submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.c-contact__btn {
  display: block;
  background: #c35d8e;
  padding: 1.1rem 3rem 1.1rem 1rem;
  cursor: pointer;
  border: none;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  min-width: 29.8rem;
  max-width: 100%;
  position: relative;
}
@media (min-width: 1025px) {
  .c-contact__btn:hover {
    background: #a84878;
  }
}
.c-contact__btn-txt {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #fffcf7;
  letter-spacing: 0.16em;
  line-height: 1.7;
}
.c-contact__btn-arrow {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #fffcf7;
  border-right: 1px solid #fffcf7;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  right: 2rem;
  top: calc(50% - 0.25rem);
}

.c-lower-fv {
  background: #FFFFFF;
  padding-top: 8rem;
  padding-bottom: 7rem;
  text-align: center;
}
@media (max-width: 1024px) {
  .c-lower-fv {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }
}

.c-lower-fv__ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 6.4rem;
  letter-spacing: 0.12em;
  line-height: 1;
  color: #423026;
}
@media (max-width: 1024px) {
  .c-lower-fv__ttl {
    font-size: 3.6rem;
  }
}

.c-lower-fv__sub {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.16em;
  line-height: 1.45;
  color: #423026;
  margin-top: 2rem;
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1024px) {
  .c-lower-fv__sub {
    font-size: 1.4rem;
    max-width: calc(100% - 4rem);
  }
}

.c-policy {
  background: #FFFFFF;
  padding-bottom: 10rem;
}
@media (max-width: 1024px) {
  .c-policy {
    padding-bottom: 6rem;
  }
}

.c-policy__inner {
  width: 110rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10rem;
}
@media (max-width: 1024px) {
  .c-policy__inner {
    gap: 5rem;
  }
}

.c-policy__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}

.c-policy__ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: 0.16em;
  line-height: 2.1;
  color: #383838;
}
@media (max-width: 1024px) {
  .c-policy__ttl {
    font-size: 1.8rem;
    line-height: 1.8;
  }
}

.c-policy__body {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #383838;
}
.c-policy__body p {
  margin-bottom: 0;
}
.c-policy__body p + p {
  margin-top: 1em;
}
.c-policy__body ul {
  padding-left: 2.4rem;
  list-style: disc;
  margin-top: 1em;
}
.c-policy__body a {
  text-decoration: underline;
  color: inherit;
}
.c-policy__body p + .c-policy__label {
  margin-top: 2rem;
}
@media (max-width: 1024px) {
  .c-policy__body {
    font-size: 1.4rem;
    letter-spacing: 0.12em;
  }
}

.c-policy__label {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #B2B2B2;
}
@media (max-width: 1024px) {
  .c-policy__label {
    font-size: 1.4rem;
    letter-spacing: 0.12em;
  }
}

.c-policy__history {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #383838;
}
.c-policy__history p {
  margin-bottom: 0;
}
.c-policy__history p + p {
  margin-top: 1em;
}
@media (max-width: 1024px) {
  .c-policy__history {
    font-size: 1.4rem;
    letter-spacing: 0.12em;
  }
}

.c-policy__divider {
  width: 110rem;
  max-width: calc(100% - 4rem);
  margin: 10rem auto 7rem;
  border-top: 1px solid #B2B2B2;
  padding-top: 8rem;
}
@media (max-width: 1024px) {
  .c-policy__divider {
    margin-top: 5rem;
    padding-top: 5rem;
  }
}

.c-policy__appendix-hd {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: 0.16em;
  line-height: 2.1;
  color: #383838;
  text-align: center;
  margin-bottom: 4rem;
}
@media (max-width: 1024px) {
  .c-policy__appendix-hd {
    font-size: 1.8rem;
    line-height: 1.8;
    margin-bottom: 2.5rem;
  }
}

.c-policy__foot {
  text-align: center;
  margin-top: 10rem;
}
@media (max-width: 1024px) {
  .c-policy__foot {
    margin-top: 6rem;
  }
}

.p-home-mv {
  background: #F7F5EE url(../img/top/mv_bg.webp) center/cover no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 10rem 8rem 10rem 0;
  position: relative;
  overflow: hidden;
  margin-top: -10rem;
}
@media (max-width: 1024px) {
  .p-home-mv {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    padding: 9.3rem 0 6rem;
    background-image: url(../img/top/mv_bg_sp.webp);
    background-position: top center;
    margin-top: -9.4rem;
  }
}
.p-home-mv__video-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
  position: relative;
  overflow: hidden;
  aspect-ratio: 1072/664.6;
}
@media (min-width: 1025px) {
  .p-home-mv__video-wrap {
    max-height: calc(100vh - 20rem);
  }
}
@media (max-width: 1024px) {
  .p-home-mv__video-wrap {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    aspect-ratio: 390/600;
  }
}
.p-home-mv__video {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-mv__nav-area {
  width: 28.8rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-left: 10rem;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media (max-width: 1024px) {
  .p-home-mv__nav-area {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: calc(100% - 2rem);
    -ms-flex-negative: 1;
        flex-shrink: 1;
    padding: 4.3rem 0 0;
    -ms-flex-item-align: auto;
        -ms-grid-row-align: auto;
        align-self: auto;
    margin: 0 auto;
  }
}
.p-home-mv__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 1.8rem;
}
@media (max-width: 1024px) {
  .p-home-mv__nav-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 1.4rem 4rem;
    width: 31rem;
    max-width: 100%;
  }
}
.p-home-mv__nav-item {
  position: relative;
}
.p-home-mv__nav-link {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 1.8;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  border-bottom: 0.1rem solid #383838;
  padding-bottom: 0.2rem;
  white-space: nowrap;
  -webkit-transition: color 0.3s ease, border-bottom-color 0.3s ease;
  transition: color 0.3s ease, border-bottom-color 0.3s ease;
}
.p-home-mv__nav-link::after {
  content: "";
  display: block;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background: #383838;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
@media (max-width: 1024px) {
  .p-home-mv__nav-link {
    font-size: 1.4rem;
  }
}
@media (min-width: 1025px) {
  .p-home-mv__nav-link:hover {
    color: #B2B2B2;
    border-bottom-color: #B2B2B2;
  }
  .p-home-mv__nav-link:hover::after {
    background: #B2B2B2;
  }
}
.p-home-mv__headline {
  position: absolute;
  top: 25.28%;
  bottom: 43.36%;
  right: 8.546rem;
  left: auto;
  pointer-events: none;
}
@media (max-width: 1024px) {
  .p-home-mv__headline {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    position: relative;
    margin-top: -8rem;
    width: 34rem;
    max-width: calc(100% - 2rem);
    height: auto;
    margin-left: auto;
    margin-right: auto;
    bottom: auto;
    right: auto;
  }
}
.p-home-mv__headline-img {
  height: 100%;
  width: auto;
  max-width: none;
  display: block;
}
@media (max-width: 1024px) {
  .p-home-mv__headline-img {
    width: 100%;
    height: auto;
    max-width: 100%;
  }
}

.p-home-info {
  background: #FFFFFF;
  padding: 10rem 0;
}
@media (max-width: 1024px) {
  .p-home-info {
    padding: 5rem 4rem;
  }
}
.p-home-info__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 110rem;
  max-width: calc(100% - 14rem);
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-home-info__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    width: 100%;
    max-width: 100%;
  }
}
.p-home-info__heading {
  position: relative;
}
.p-home-info__heading-jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .p-home-info__heading-jp {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
.p-home-info__heading-en {
  font-family: "Bodoni Moda", serif;
  font-style: italic;
  font-weight: 500;
  font-size: 1.8rem;
  color: #383838;
  letter-spacing: 0.15em;
  white-space: nowrap;
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  position: absolute;
  top: -1em;
  left: -5rem;
}
@media (max-width: 1024px) {
  .p-home-info__heading-en {
    -webkit-transform: none;
            transform: none;
    position: static;
  }
}
.p-home-info__news-col {
  width: 82rem;
  max-width: calc(100% - 28rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6rem;
}
@media (max-width: 1024px) {
  .p-home-info__news-col {
    width: 100%;
    max-width: 100%;
    gap: 3rem;
  }
}
.p-home-info__news-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
  width: 100%;
}
@media (max-width: 1024px) {
  .p-home-info__news-list {
    gap: 2.8rem;
  }
}
.p-home-info__news-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6rem;
  padding: 0 0 1.2rem;
  border-bottom: 0.1rem solid #383838;
}
@media (max-width: 1024px) {
  .p-home-info__news-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.8rem;
  }
}
.p-home-info__news-date {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-home-info__news-link {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 1024px) {
  .p-home-info__news-link {
    letter-spacing: 0.14em;
    line-height: 1.6;
  }
}
@media (min-width: 1025px) {
  .p-home-info__news-link:hover {
    opacity: 0.6;
  }
}
@media (max-width: 1024px) {
  .p-home-info .c-btn-viewmore .c-btn-viewmore__txt {
    font-size: 1.8rem;
    letter-spacing: 0.22em;
  }
}

.p-home-fair-cta {
  position: relative;
  padding: 4rem 0;
  background: url(../img/top/fair_bg.webp) center/cover no-repeat;
}
@media (max-width: 1024px) {
  .p-home-fair-cta {
    background-image: url(../img/top/fair_bg_sp.webp);
    padding: 4rem 2rem;
  }
}
.p-home-fair-cta__btn {
  width: 42rem;
  height: 14rem;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-home-fair-cta__btn {
    width: 100%;
    max-width: 34rem;
    height: 10rem;
  }
}

.p-home-venue {
  background: #F8FCFD;
  padding: 10rem 0;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-home-venue {
    padding: 5rem 0;
  }
}
.p-home-venue__bg-txt {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 9rem;
  color: #B2B2B2;
  letter-spacing: 0.2em;
  line-height: 1.2;
  white-space: nowrap;
  margin-bottom: 3rem;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-home-venue__bg-txt {
    font-size: 4rem;
  }
}
.p-home-venue__inner {
  width: 132rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-home-venue__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
}
@media (max-width: 1024px) {
  .p-home-venue__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}
.p-home-venue__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5rem;
}
@media (max-width: 1024px) {
  .p-home-venue__item {
    gap: 3rem;
  }
}
.p-home-venue__img-wrap {
  width: 100%;
  aspect-ratio: 420/480;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
.p-home-venue__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 0;
  overflow: hidden;
}
.p-home-venue__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-home-venue__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
  width: 100%;
}
@media (max-width: 1024px) {
  .p-home-venue__text {
    gap: 1.4rem;
  }
}
.p-home-venue__name-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  width: 100%;
}
.p-home-venue__name-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2.6rem;
  color: #383838;
  letter-spacing: 0.15em;
  line-height: 1.6;
  text-align: center;
  width: 100%;
}
.p-home-venue__name-jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
  text-align: center;
  width: 100%;
}
.p-home-venue__sep {
  width: 5.4rem;
  height: 0.1rem;
  background: #383838;
}
.p-home-venue__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 1.8;
  text-align: center;
  width: 100%;
}

.p-home-feature {
  padding: 10rem 0;
  overflow: hidden;
  position: relative;
  isolation: isolate;
}
@media (min-width: 1025px) {
  .p-home-feature {
    position: sticky;
    top: 8rem;
    min-height: calc(100vh - 8rem);
  }
}
@media (max-width: 1024px) {
  .p-home-feature {
    padding: 5rem 0;
  }
}
.p-home-feature::before {
  content: "";
  position: absolute;
  width: 1px;
  z-index: -1;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(12%, #6FD8E3), color-stop(56%, #FFC39B), color-stop(92%, #8DABF1), to(transparent));
  background: linear-gradient(to bottom, transparent 0%, #6FD8E3 12%, #FFC39B 56%, #8DABF1 92%, transparent 100%);
}
@media (min-width: 1025px) {
  .p-home-feature::before {
    height: 200%;
    right: 22%;
    top: -50%;
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate(35deg);
            transform: rotate(35deg);
  }
}
@media (max-width: 1024px) {
  .p-home-feature::before {
    height: 64rem;
    right: 0;
    top: 2rem;
    -webkit-transform-origin: top center;
            transform-origin: top center;
    -webkit-transform: rotate(35deg);
            transform: rotate(35deg);
  }
}
.p-home-feature--cuisine {
  background: #FFFCF7;
}
@media (min-width: 1025px) {
  .p-home-feature--cuisine {
    z-index: 1;
  }
}
.p-home-feature--styling {
  background: #FFFFFF;
}
@media (min-width: 1025px) {
  .p-home-feature--styling {
    z-index: 2;
  }
}
@media (min-width: 1025px) {
  .p-home-feature--styling::before {
    -webkit-transform: rotate(-35deg);
            transform: rotate(-35deg);
  }
}
@media (max-width: 1024px) {
  .p-home-feature--styling::before {
    right: auto;
    left: 5rem;
    -webkit-transform: rotate(-35deg);
            transform: rotate(-35deg);
  }
}
.p-home-feature--creators {
  background: #F8FCFD;
}
@media (min-width: 1025px) {
  .p-home-feature--creators {
    z-index: 3;
  }
}
.p-home-feature__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  max-width: 144rem;
  margin-inline: auto;
}
.p-home-feature__title-col {
  width: 17rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 4.8rem;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
}
@media (max-width: 1024px) {
  .p-home-feature__title-col {
    width: 6rem;
    padding: 0;
    -ms-flex-item-align: start;
        align-self: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    overflow: visible;
  }
}
.p-home-feature__bg-txt {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 9rem;
  color: #B2B2B2;
  letter-spacing: 0.2em;
  line-height: 1.2;
  white-space: nowrap;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media (max-width: 1024px) {
  .p-home-feature__bg-txt {
    font-size: 5rem;
    position: relative;
    left: 6rem;
    top: 0;
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
}
.p-home-feature__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
}
@media (min-width: 1025px) {
  .p-home-feature__body {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 58rem 1fr;
    grid-template-columns: 58rem 1fr;
    padding-top: 9rem;
  }
}
@media (max-width: 1024px) {
  .p-home-feature__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 2rem;
    gap: 4rem;
  }
}
@media (min-width: 1025px) {
  .p-home-feature__body > .c-btn-viewmore {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    padding-left: 8rem;
    margin-top: 13.4rem;
  }
}
.p-home-feature__text-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media (min-width: 1025px) {
  .p-home-feature__text-area {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    padding: 0 8rem;
  }
}
@media (max-width: 1024px) {
  .p-home-feature__text-area {
    gap: 2.8rem;
    padding-right: 2rem;
  }
}
.p-home-feature__heading-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media (max-width: 1024px) {
  .p-home-feature__heading-group {
    gap: 1.4rem;
  }
}
.p-home-feature__heading {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .p-home-feature__heading {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
.p-home-feature__copy {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.26em;
  line-height: 2;
  text-align: justify;
}
@media (max-width: 1024px) {
  .p-home-feature__copy {
    font-size: 1.4rem;
  }
}
.p-home-feature__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 1.8;
  text-align: justify;
  width: 32.9rem;
}
@media (max-width: 1024px) {
  .p-home-feature__desc {
    width: 100%;
  }
}
.p-home-feature__img-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
@media (min-width: 1025px) {
  .p-home-feature__img-col {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
    -ms-grid-row-align: center;
        align-self: center;
    gap: 3rem;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.p-home-feature__img {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 330/420;
}
.p-home-feature__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-home-gallery {
  background: #FFFFFF;
  padding: 10rem 0;
}
@media (min-width: 1025px) {
  .p-home-gallery {
    position: sticky;
    top: 8rem;
    z-index: 4;
  }
}
@media (max-width: 1024px) {
  .p-home-gallery {
    padding: 5rem 0;
  }
}
.p-home-gallery__inner {
  width: 110rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media (max-width: 1024px) {
  .p-home-gallery__inner {
    max-width: calc(100% - 8rem);
  }
}
.p-home-gallery__heading {
  position: relative;
}
.p-home-gallery__heading-jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .p-home-gallery__heading-jp {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
.p-home-gallery__heading-en {
  font-family: "Bodoni Moda", serif;
  font-style: italic;
  font-weight: 500;
  font-size: 1.8rem;
  color: #383838;
  letter-spacing: 0.15em;
  white-space: nowrap;
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  position: absolute;
  top: -1em;
  left: -5rem;
}
@media (max-width: 1024px) {
  .p-home-gallery__heading-en {
    -webkit-transform: none;
            transform: none;
    position: static;
  }
}
.p-home-gallery__img-wrap {
  width: 100%;
}
.p-home-gallery__img {
  width: 100%;
}
.p-home-gallery__more-area {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease;
}

.p-home-plan {
  background: #FFFFFF;
  position: relative;
  overflow: hidden;
  padding: 10rem 0;
}
@media (max-width: 1024px) {
  .p-home-plan {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 5rem 0;
    padding: calc(40% - 6rem) 0 5rem;
    overflow: visible;
  }
}
.p-home-plan__deco {
  position: absolute;
  top: 0;
  left: 0;
  width: 26.3888888889%;
  aspect-ratio: 380/644;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-home-plan__deco {
    width: 100%;
    aspect-ratio: auto;
  }
}
.p-home-plan__deco-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-plan__ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 9rem;
  color: #B2B2B2;
  letter-spacing: 0.2em;
  line-height: 1.2;
  white-space: nowrap;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  position: absolute;
  left: 0;
  top: 0;
}
@media (max-width: 1024px) {
  .p-home-plan__ttl {
    position: static;
    font-size: 5rem;
  }
}
.p-home-plan__inner {
  padding-left: calc(26.3888888889% + 4rem);
  padding-right: 7.6rem;
}
@media (max-width: 1024px) {
  .p-home-plan__inner {
    padding: 0;
  }
}
.p-home-plan__content {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media (max-width: 1024px) {
  .p-home-plan__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
  }
}
.p-home-plan__heading {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
  padding-left: 14rem;
}
@media (max-width: 1024px) {
  .p-home-plan__heading {
    font-size: 1.2rem;
    line-height: 1.6;
    padding-left: 7rem;
  }
}
.p-home-plan__carousel {
  position: relative;
  padding: 0 14rem;
}
@media (max-width: 1024px) {
  .p-home-plan__carousel {
    padding: 0 7rem;
  }
}
.p-home-plan__carousel.is-beginning .p-home-plan__carousel-prev, .p-home-plan__carousel.is-end .p-home-plan__carousel-next {
  display: none;
}
.p-home-plan__swiper {
  width: 100%;
}
.p-home-plan__item {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-home-plan__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  width: 100%;
}
@media (min-width: 1025px) {
  .p-home-plan__card {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .p-home-plan__card:hover {
    opacity: 0.7;
  }
}
.p-home-plan__item-img-wrap {
  width: 100%;
  aspect-ratio: 284/340;
  overflow: hidden;
}
.p-home-plan__item-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-plan__item-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6rem;
}
.p-home-plan__item-badge {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 1.8;
}
.p-home-plan__item-ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.08em;
  line-height: 1.8;
  text-align: justify;
}
.p-home-plan__item-price {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 1.8;
  text-align: justify;
}
.p-home-plan__carousel-prev, .p-home-plan__carousel-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  border: 0.1rem solid #B2B2B2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  z-index: 1;
}
.p-home-plan__carousel-prev::after, .p-home-plan__carousel-next::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-top: 0.1rem solid #383838;
  border-right: 0.1rem solid #383838;
}
@media (min-width: 1025px) {
  .p-home-plan__carousel-prev:hover, .p-home-plan__carousel-next:hover {
    background: #FFFFFF;
  }
}
@media (max-width: 1024px) {
  .p-home-plan__carousel-prev, .p-home-plan__carousel-next {
    width: 4rem;
    height: 4rem;
    background: #B2B2B2;
  }
  .p-home-plan__carousel-prev::after, .p-home-plan__carousel-next::after {
    width: 0.7rem;
    height: 0.7rem;
  }
}
.p-home-plan__carousel-prev {
  left: 1rem;
}
.p-home-plan__carousel-prev::after {
  -webkit-transform: rotate(-135deg) translate(-0.2rem, 0.2rem);
          transform: rotate(-135deg) translate(-0.2rem, 0.2rem);
}
.p-home-plan__carousel-next {
  right: 1rem;
}
.p-home-plan__carousel-next::after {
  -webkit-transform: rotate(45deg) translate(-0.2rem, 0.2rem);
          transform: rotate(45deg) translate(-0.2rem, 0.2rem);
}
.p-home-plan__link-btn {
  width: 31rem;
  margin: 4rem auto 0;
}
@media (max-width: 1024px) {
  .p-home-plan__link-btn {
    max-width: calc(100% - 8rem);
  }
}

.p-home-support {
  position: relative;
  padding: 10rem 0;
  background: url(../img/top/support_bg.webp) center/cover no-repeat;
}
@media (max-width: 1024px) {
  .p-home-support {
    background-image: url(../img/top/support_bg_sp.webp);
    padding: 5rem 0;
  }
}
.p-home-support__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 110rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-home-support__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: auto;
    gap: 2rem;
    max-width: calc(100% - 4.8rem);
  }
}
.p-home-support__card {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #FFFFFF;
  border: 0.2rem solid #A8926F;
  padding: 5rem 1rem 2rem;
  min-height: 28rem;
}
@media (max-width: 1024px) {
  .p-home-support__card {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    min-height: 18rem;
    width: 100%;
    border-width: 0.1rem;
    padding: 3rem 1rem 2rem;
  }
}
@media (min-width: 1025px) {
  .p-home-support__card:hover .p-home-support__card-inner {
    opacity: 0.3;
  }
}
.p-home-support__card-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.4rem;
  width: 100%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 1024px) {
  .p-home-support__card-inner {
    gap: 1rem;
  }
}
.p-home-support__card-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #A8926F;
  letter-spacing: 0.15em;
  line-height: 1.4;
  text-align: center;
}
.p-home-support__card-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.8rem;
  width: 23rem;
}
.p-home-support__card-link::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.1rem;
  background: #383838;
}
@media (max-width: 1024px) {
  .p-home-support__card-link {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-home-support__card-ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.4;
  white-space: nowrap;
}
.p-home-support__card-ttl::after {
  content: "";
  display: inline-block;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background: #383838;
  margin-left: 1.2rem;
  vertical-align: middle;
}
@media (max-width: 1024px) {
  .p-home-support__card-ttl {
    font-size: 1.6rem;
  }
}
.p-home-support__card-desc {
  margin-top: 1.5rem;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 2;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-home-support__card-desc {
    margin-top: 0;
    font-size: 1.2rem;
    line-height: 1.8;
  }
}

.p-news {
  padding: 11rem 0 12rem;
}
@media (max-width: 1024px) {
  .p-news {
    padding: 6rem 0 8rem;
  }
}
.p-news__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}

.p-news-detail {
  padding: 12.8rem 0 10rem;
}
@media (max-width: 1024px) {
  .p-news-detail {
    padding: 3.1rem 0 8rem;
  }
}
.p-news-detail__inner {
  width: 100rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-news-detail__title {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.8;
  margin-bottom: 1.5rem;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-news-detail__title {
    text-align: left;
    font-size: 1.4rem;
    margin-bottom: 2.5rem;
  }
}
.p-news-detail__meta {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #b2b2b2;
  letter-spacing: 0.16em;
  line-height: 1.7;
  margin-bottom: 5.4rem;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-news-detail__meta {
    text-align: left;
    font-size: 1.2rem;
    margin-bottom: 4.5rem;
  }
}
.p-news-detail__figure {
  aspect-ratio: 1000/500;
  overflow: hidden;
  margin-bottom: 5rem;
}
@media (max-width: 1024px) {
  .p-news-detail__figure {
    aspect-ratio: 348/174;
    margin-bottom: 3rem;
  }
}
.p-news-detail__img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-news-detail__body {
  width: 80rem;
  max-width: 100%;
  margin: 0 auto 8rem;
}
.p-news-detail__heading, .p-news-detail__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .p-news-detail__heading, .p-news-detail__text {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.p-news-detail__heading {
  margin-bottom: 2em;
}
.p-news-detail .c-post-nav {
  width: 80rem;
  max-width: 100%;
  margin: 0 auto;
}
.p-news-detail__bottom {
  margin-top: 16rem;
}
@media (max-width: 1024px) {
  .p-news-detail__bottom {
    margin-top: 10rem;
  }
}
.p-news-detail__bottom-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-news-detail__bottom-block + .p-news-detail__bottom-block {
  margin-top: 7rem;
}
@media (max-width: 1024px) {
  .p-news-detail__bottom-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .p-news-detail__bottom-block + .p-news-detail__bottom-block {
    margin-top: 4rem;
  }
}
.p-news-detail__bottom-heading {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #b2b2b2;
  letter-spacing: 0.16em;
  line-height: 2.25;
  width: 19.3rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1024px) {
  .p-news-detail__bottom-heading {
    width: 100%;
  }
}
.p-news-detail__cat-list, .p-news-detail__news {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-news-detail__cat-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 3.7rem;
}
.p-news-detail__cat-item {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.7142857143;
}
.p-news-detail__cat-item a {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .p-news-detail__cat-item a:hover {
    opacity: 0.6;
  }
}
@media (max-width: 1024px) {
  .p-news-detail__cat-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.p-news-detail__news {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
  width: 100%;
}
@media (max-width: 1024px) {
  .p-news-detail__news {
    gap: 2.8rem;
  }
}
.p-news-detail__news-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6rem;
  padding: 0 0 1.2rem;
  border-bottom: 0.1rem solid #383838;
}
@media (max-width: 1024px) {
  .p-news-detail__news-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.8rem;
  }
}
.p-news-detail__news-date {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #383838;
  letter-spacing: 0.18em;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-news-detail__news-link {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 1024px) {
  .p-news-detail__news-link {
    letter-spacing: 0.14em;
    line-height: 1.6;
  }
}
@media (min-width: 1025px) {
  .p-news-detail__news-link:hover {
    opacity: 0.6;
  }
}

.p-report {
  padding: 11rem 0 12rem;
}
@media (max-width: 1024px) {
  .p-report {
    padding: 6rem 0 8rem;
  }
}
.p-report__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}

.p-report-hero {
  background: #FFFCF7;
  padding: 16.3rem 0 0;
}
@media (max-width: 1024px) {
  .p-report-hero {
    padding: 1.2rem 0 0;
  }
}
.p-report-hero__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 9.65rem 6.5rem;
}
@media (max-width: 1024px) {
  .p-report-hero__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
@media (min-width: 1025px) {
  .p-report-hero__desc {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40.5rem;
            flex: 0 0 40.5rem;
  }
}
.p-report-hero__theme {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.35;
  color: #B2B2B2;
  margin-bottom: 2.3rem;
}
@media (max-width: 1024px) {
  .p-report-hero__theme {
    font-size: 1.4rem;
    margin-bottom: 3rem;
  }
}
.p-report-hero__ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1.8;
  letter-spacing: 0.16em;
  margin-bottom: 3.2rem;
}
@media (max-width: 1024px) {
  .p-report-hero__ttl {
    font-size: 2rem;
    line-height: 1.8;
    margin-bottom: 5.9rem;
  }
}
.p-report-hero__txt {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.16em;
}
@media (max-width: 1024px) {
  .p-report-hero__txt {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.p-report-hero__tags {
  margin-top: 2.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 2rem;
  padding-right: 1rem;
}
@media (max-width: 1024px) {
  .p-report-hero__tags {
    margin-top: 3rem;
  }
}
.p-report-hero__tags-tag {
  color: #B2B2B2;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.16em;
}
@media (max-width: 1024px) {
  .p-report-hero__tags-tag {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.p-report-hero__mv img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (min-width: 1025px) {
  .p-report-hero__mv {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 75rem;
            flex: 0 1 75rem;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    position: relative;
    aspect-ratio: 750/437;
    max-width: calc(100% - 47rem);
  }
}
@media (max-width: 1024px) {
  .p-report-hero__mv {
    width: 100%;
    aspect-ratio: 350/204;
    margin-top: 4.7rem;
  }
}
.p-report-hero__creators {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem 6.5rem;
}
@media (max-width: 1024px) {
  .p-report-hero__creators {
    max-width: 100%;
    margin: 3rem auto 0;
  }
}
.p-report-hero__creators-link {
  color: #423026;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.16em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: solid 1px #423026;
  padding-bottom: 0.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 1025px) {
  .p-report-hero__creators-link {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .p-report-hero__creators-link:hover {
    border-color: transparent;
  }
}
@media (max-width: 1024px) {
  .p-report-hero__creators-link {
    width: 100%;
  }
}
.p-report-hero__creators-ic {
  margin-right: 1rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-report-hero__creators-type {
  margin-right: 1rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-report-hero__creators-arrow {
  margin-left: 1rem;
  width: 1.3rem;
  height: 100%;
  position: relative;
}
.p-report-hero__creators-arrow:before, .p-report-hero__creators-arrow:after {
  content: "";
  display: block;
  position: absolute;
}
.p-report-hero__creators-arrow:before {
  width: 100%;
  height: 1px;
  background: #423026;
  top: 50%;
}
.p-report-hero__creators-arrow:after {
  width: 0.6rem;
  height: 0.6rem;
  border-top: solid 1px #423026;
  border-right: solid 1px #423026;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  right: 0;
  top: calc(50% - 0.3rem);
}
@media (max-width: 1024px) {
  .p-report-hero__creators-arrow {
    margin-left: auto;
  }
}

.p-report-voice {
  background: #FFFCF7;
  padding-top: 11rem;
}
@media (max-width: 1024px) {
  .p-report-voice {
    padding-top: 8.5rem;
    position: relative;
    padding-bottom: 29.4rem;
  }
}
.p-report-voice__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 118.5rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-report-voice__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    max-width: 100%;
  }
}
.p-report-voice__imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9.7rem;
  width: 39.6624472574%;
  position: relative;
}
@media (max-width: 1024px) {
  .p-report-voice__imgs {
    width: 100%;
    gap: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    position: static;
  }
}
.p-report-voice__body {
  margin-top: 6.5rem;
  margin-left: -3.5rem;
  background: #f8fcfd;
  padding: 6.6rem 6rem 8.6rem 10.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8rem;
  width: 63.2911392405%;
}
@media (max-width: 1024px) {
  .p-report-voice__body {
    margin: -5.2rem auto 0;
    width: calc(100% - 4rem);
    padding: 10.5rem 2.5rem 6rem;
    gap: 4rem;
  }
}
.p-report-voice__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-report-voice__label, .p-report-voice__name {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2rem;
  color: #b2b2b2;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media (max-width: 1024px) {
  .p-report-voice__label, .p-report-voice__name {
    font-size: 1.4rem;
  }
}
.p-report-voice__lead {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.2rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .p-report-voice__lead {
    font-size: 1.6rem;
  }
}
.p-report-voice__qa {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.1rem;
}
.p-report-voice__q {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.9rem;
}
.p-report-voice__q-line {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 6.4rem;
          flex: 0 0 6.4rem;
  height: 0.1rem;
  background: #b2b2b2;
}
@media (max-width: 1024px) {
  .p-report-voice__q-line {
    display: none;
  }
}
.p-report-voice__q-txt {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.6rem;
  color: #b2b2b2;
  letter-spacing: 0.16em;
  line-height: 1;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .p-report-voice__q-txt {
    font-size: 1.2rem;
    white-space: normal;
  }
}
.p-report-voice__ans {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.6rem;
}
.p-report-voice__a {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.7;
}
@media (max-width: 1024px) {
  .p-report-voice__a {
    font-size: 1.2rem;
  }
}
.p-report-voice__fig {
  overflow: hidden;
  margin: 0;
  display: block;
}
.p-report-voice__fig--a {
  aspect-ratio: 470/290;
  width: 100%;
}
@media (max-width: 1024px) {
  .p-report-voice__fig--a {
    width: 76%;
    aspect-ratio: 285/176;
    position: relative;
  }
}
.p-report-voice__fig--b {
  aspect-ratio: 351/469;
  width: 75%;
}
@media (max-width: 1024px) {
  .p-report-voice__fig--b {
    width: 52%;
    aspect-ratio: 196/262;
    position: absolute;
    bottom: 6.6rem;
    left: 0;
  }
}
.p-report-voice__fig--c {
  aspect-ratio: 470/313;
  width: 100%;
}
@media (max-width: 1024px) {
  .p-report-voice__fig--c {
    width: 64%;
    aspect-ratio: 241/161;
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
.p-report-voice__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-report-movie {
  padding-top: 14rem;
  background: #FFFCF7;
}
@media (max-width: 1024px) {
  .p-report-movie {
    padding-top: 5rem;
  }
}

@media (max-width: 1024px) {
  .p-chapel-movie {
    padding: 0 2rem;
  }
}

.p-chapel-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-top: solid #ABABAB 1px;
  border-bottom: solid #ABABAB 1px;
  margin-top: 9rem;
}
@media (max-width: 1024px) {
  .p-chapel-contents {
    border: none;
    margin-top: 8rem;
  }
}

.p-chapel-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 48.4rem;
}
@media (max-width: 1024px) {
  .p-chapel-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 0;
    padding-top: 5.8rem;
  }
}
@media (max-width: 1024px) {
  .p-chapel-content:first-child {
    padding-top: 0;
  }
}
.p-chapel-content--rev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 1024px) {
  .p-chapel-content--rev {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-chapel-content__text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  min-width: 0;
  padding: 1rem 1rem 1rem 7.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
}
@media (max-width: 1024px) {
  .p-chapel-content__text {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    padding: 0 2rem 3rem;
    gap: 2.5rem;
  }
}
.p-chapel-content:not(.p-chapel-content--rev) .p-chapel-content__text {
  padding: 1rem 1rem 1rem 11rem;
}
@media (max-width: 1024px) {
  .p-chapel-content:not(.p-chapel-content--rev) .p-chapel-content__text {
    padding: 4rem 2rem 3rem;
  }
}
.p-chapel-content__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.3rem;
}
@media (max-width: 1024px) {
  .p-chapel-content__head {
    gap: 2.5rem;
  }
}
.p-chapel-content__en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2rem;
  color: #B2B2B2;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media (max-width: 1024px) {
  .p-chapel-content__en {
    font-size: 1.8rem;
  }
}
.p-chapel-content__heading {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.8rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .p-chapel-content__heading {
    font-size: 2rem;
  }
}
.p-chapel-content__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .p-chapel-content__desc {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.p-chapel-content__img-wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  min-width: 0;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  margin: 0;
}
@media (max-width: 1024px) {
  .p-chapel-content__img-wrap {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    aspect-ratio: 720/484;
  }
}
.p-chapel-content__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-chapel-quote {
  padding: 10rem max(3.4rem, 50% - 61rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 1024px) {
  .p-chapel-quote {
    padding: 5.8rem 2rem;
    gap: 1.2rem;
  }
}
.p-chapel-quote__en {
  font-family: "Bodoni Moda", serif;
  font-size: 3rem;
  font-weight: 500;
  color: #B2B2B2;
  letter-spacing: 0.12em;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .p-chapel-quote__en {
    font-size: 2rem;
  }
}
.p-chapel-quote__jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.15em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .p-chapel-quote__jp {
    font-size: 1.2rem;
  }
}

.p-chapel-fullbleed {
  width: 100%;
  overflow: hidden;
}
.p-chapel-fullbleed picture {
  display: block;
}
.p-chapel-fullbleed__img {
  width: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-partner-hero {
  background: #FFFCF7;
  padding: 9rem 0 0;
}
@media (max-width: 1024px) {
  .p-partner-hero {
    padding: 4rem 0 0;
  }
}
.p-partner-hero__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 1024px) {
  .p-partner-hero__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-partner-hero__profile {
  word-break: break-word;
}
@media (min-width: 1025px) {
  .p-partner-hero__profile {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 63.8rem;
            flex: 0 0 63.8rem;
  }
}
@media (max-width: 1024px) {
  .p-partner-hero__profile {
    padding: 3.2rem 0 0;
    width: 100%;
  }
}
.p-partner-hero__category {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #B2B2B2;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-bottom: 3.2rem;
}
@media (min-width: 1025px) {
  .p-partner-hero__category {
    font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
    font-size: 1.6rem;
    letter-spacing: 0.16em;
    margin-bottom: 2.4rem;
  }
}
.p-partner-hero__name-jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.8;
  margin-bottom: 0.6rem;
}
@media (min-width: 1025px) {
  .p-partner-hero__name-jp {
    font-size: 2.4rem;
    line-height: 2.1;
    color: #423026;
    margin-bottom: 0;
  }
}
.p-partner-hero__name-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #B2B2B2;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-bottom: 5.1rem;
}
@media (min-width: 1025px) {
  .p-partner-hero__name-en {
    font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
    letter-spacing: 0.16em;
    margin-bottom: 5.7rem;
  }
}
.p-partner-hero__info {
  margin-bottom: 2rem;
}
@media (min-width: 1025px) {
  .p-partner-hero__info {
    margin-bottom: 2.5rem;
  }
}
.p-partner-hero__info-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.6rem;
  padding: 0.8rem 0;
}
@media (min-width: 1025px) {
  .p-partner-hero__info-row {
    gap: 5.6rem;
  }
}
.p-partner-hero__info-label {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.4rem;
  color: #B2B2B2;
  letter-spacing: 0.16em;
  line-height: 1.7;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 3.5rem;
          flex: 0 0 3.5rem;
}
@media (min-width: 1025px) {
  .p-partner-hero__info-label {
    font-size: 1.6rem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 4rem;
            flex: 0 0 4rem;
  }
}
.p-partner-hero__info-value {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.7;
}
@media (min-width: 1025px) {
  .p-partner-hero__info-value {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
.p-partner-hero__sns-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 5.9rem;
}
.p-partner-hero__sns-row .p-partner-hero__sns {
  margin: 0;
}
@media (min-width: 1025px) {
  .p-partner-hero__sns-row {
    margin-bottom: 5.7rem;
  }
}
.p-partner-hero__sns {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 5.9rem;
}
@media (min-width: 1025px) {
  .p-partner-hero__sns {
    margin-bottom: 5.7rem;
  }
}
.p-partner-hero__sns-icon {
  width: 100%;
  height: 100%;
  display: block;
}
.p-partner-hero__bio {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.7;
  padding-top: 2.4rem;
  border-top: 0.1rem solid rgba(66, 48, 38, 0.2);
}
@media (min-width: 1025px) {
  .p-partner-hero__bio {
    font-size: 1.6rem;
    line-height: 1.75;
    color: #423026;
  }
}
@media (min-width: 1025px) {
  .p-partner-hero__mv {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 43rem;
            flex: 0 1 43rem;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    position: relative;
    aspect-ratio: 430/530;
    max-width: calc(100% - 64.8rem);
  }
}
@media (max-width: 1024px) {
  .p-partner-hero__mv {
    width: 100%;
    aspect-ratio: 350/428;
  }
}
.p-partner-hero__mv-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (min-width: 1025px) {
  .p-partner-hero__mv-img {
    position: absolute;
    top: 0;
    left: 0;
  }
}

.p-partner-body {
  background: #FFFCF7;
  padding-top: 18.8rem;
}
@media (max-width: 1024px) {
  .p-partner-body {
    padding-top: 5rem;
  }
}
.p-partner-body__inner {
  width: 107rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media (max-width: 1024px) {
  .p-partner-body__inner {
    gap: 2rem;
  }
}
@media (max-width: 1024px) {
  .p-partner-body__block--pc {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .p-partner-body__block--sp {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .p-partner-body__block--sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2rem;
  }
}
@media (min-width: 1025px) {
  .p-partner-body__block--video {
    width: 80rem;
    max-width: 100%;
    margin: 0 auto;
  }
}
.p-partner-body__block--video-2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.2rem;
}
.p-partner-body__block--video-2col .p-partner-body__block-item {
  width: calc((100% - 2.2rem) / 2);
}
@media (max-width: 1024px) {
  .p-partner-body__block--video-2col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-partner-body__block--video-2col .p-partner-body__block-item {
    width: 100%;
  }
}
.p-partner-body__block-img {
  margin: 0 auto;
}
.p-partner-body__block-txt {
  margin-top: 1rem;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .p-partner-body__block-txt {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}

.p-partner-back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 6rem 0 8rem;
  background: #FFFCF7;
}
@media (max-width: 1024px) {
  .p-partner-back {
    padding: 4rem 0 6rem;
  }
}
.p-partner-back__btn {
  width: 20rem;
}

.p-partner-gallery {
  padding: 0 0 10rem;
}
@media (max-width: 1024px) {
  .p-partner-gallery {
    padding: 4rem 0 6rem;
  }
}
.p-partner-gallery__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-partner-gallery__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.5rem 1fr 1.5rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem 1.5rem;
  list-style: none;
  margin: 9.5rem 0 0;
  padding: 0;
}
@media (max-width: 1024px) {
  .p-partner-gallery__list {
    -ms-grid-columns: 1fr 0.6rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem;
    margin-top: 6rem;
  }
}
.p-partner-gallery__link {
  position: relative;
  display: block;
  aspect-ratio: 397/486;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-partner-gallery__link {
    aspect-ratio: 172/210;
  }
}
.p-partner-gallery__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-partner-gallery__img--hover {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-partner-gallery__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: auto;
  interpolate-size: allow-keywords;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(66, 48, 38, 0.5);
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.16em;
  line-height: 1.4;
  color: #FFFCF7;
  padding: 1.4rem 1rem;
  -webkit-transition: height 0.4s ease, background 0.4s ease;
  transition: height 0.4s ease, background 0.4s ease;
}
.p-partner-gallery__caption-cat {
  position: relative;
  padding-right: 1em;
}
.p-partner-gallery__caption-cat:after {
  content: "|";
  position: absolute;
  right: 0.5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 1024px) {
  .p-partner-gallery__caption {
    font-size: 1.2rem;
    padding: 0.8rem 1rem;
  }
}
@media (min-width: 1025px) {
  .p-partner-gallery__link:hover .p-partner-gallery__img--hover {
    opacity: 1;
  }
  .p-partner-gallery__link:hover .p-partner-gallery__caption {
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: rgba(66, 48, 38, 0.75);
  }
}

.p-plan-case {
  background: #FFFCF7;
  padding: 2.5rem 0 16rem;
}
@media (max-width: 1024px) {
  .p-plan-case {
    padding: 2rem 0 6rem;
  }
}
.p-plan-case__inner {
  width: min(100% - 6.8rem, 122rem);
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-plan-case__inner {
    width: calc(100% - 4rem);
  }
}
.p-plan-case__item {
  border-bottom: solid 1px #B2B2B2;
  padding-bottom: 6rem;
}
.p-plan-case__item + .p-plan-case__item {
  padding-top: 6rem;
}
@media (max-width: 1024px) {
  .p-plan-case__item {
    padding-bottom: 4rem;
  }
  .p-plan-case__item + .p-plan-case__item {
    padding-top: 4.2rem;
  }
}
.p-plan-case__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 1024px) {
  .p-plan-case__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.p-plan-case__text {
  width: 49.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media (max-width: 1024px) {
  .p-plan-case__text {
    width: 100%;
    gap: 3rem;
  }
}
.p-plan-case__hd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
}
.p-plan-case__hd-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
}
.p-plan-case__num {
  line-height: 1;
  color: #B2B2B2;
}
.p-plan-case__num-label {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
}
@media (max-width: 1024px) {
  .p-plan-case__num-label {
    font-size: 2.2rem;
  }
}
.p-plan-case__num-val {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
}
@media (max-width: 1024px) {
  .p-plan-case__num-val {
    font-size: 3.2rem;
  }
}
.p-plan-case__ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.98;
}
@media (max-width: 1024px) {
  .p-plan-case__ttl {
    font-weight: 400;
    font-size: 1.8rem;
    letter-spacing: 0.16em;
  }
}
.p-plan-case__venue {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.7;
}
.p-plan-case__body {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .p-plan-case__body {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.p-plan-case__media {
  width: 66.3rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.2rem;
}
@media (max-width: 1024px) {
  .p-plan-case__media {
    width: 100%;
    gap: 0;
  }
}
.p-plan-case__imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.8rem;
}
@media (max-width: 1024px) {
  .p-plan-case__imgs {
    margin-top: 3rem;
    gap: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.p-plan-case__img-main {
  width: 36.7rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 367/490;
}
@media (max-width: 1024px) {
  .p-plan-case__img-main {
    width: 55.1428571429%;
    aspect-ratio: 193/259;
  }
}
.p-plan-case__img-main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .p-plan-case__img-sub {
    width: 43.4285714286%;
  }
}
.p-plan-case__img-sm {
  aspect-ratio: 288/240;
}
.p-plan-case__img-sm + .p-plan-case__img-sm {
  margin-top: 1rem;
}
.p-plan-case__img-sm img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .p-plan-case__img-sm {
    aspect-ratio: 152/127;
  }
  .p-plan-case__img-sm + .p-plan-case__img-sm {
    margin-top: 0.5rem;
  }
}
.p-plan-case__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 1024px) {
  .p-plan-case__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2rem;
    margin-top: 2rem;
  }
}
.p-plan-case__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-plan-case__price-label {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.16em;
}
.p-plan-case__price-val {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.8rem;
  color: #383838;
  line-height: 1.8;
}
.p-plan-case__btn {
  width: 28.9rem;
  letter-spacing: 0.06em;
  padding: 1.6rem 0.5rem;
}
@media (max-width: 1024px) {
  .p-plan-case__btn {
    width: 31rem;
    padding: 1rem 0.5rem;
    margin: 0 auto;
  }
}
.p-plan-case__cost {
  padding: 10rem 0 0;
}
.p-plan-case__cost-txt {
  margin-top: 2em;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
.p-plan-case__cost-note {
  margin-top: 2em;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
  padding-left: 1em;
  text-indent: -1em;
}
.p-plan-case__cost-note + .p-plan-case__cost-note {
  margin-top: 0;
}
@media (max-width: 1024px) {
  .p-plan-case__cost {
    padding: 6rem 0 0;
  }
  .p-plan-case__cost-txt, .p-plan-case__cost-note {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}

.p-anniversary-hyatt {
  background: #FFFCF7;
  padding: 9rem 0 3rem;
}
@media (max-width: 1024px) {
  .p-anniversary-hyatt {
    padding: 6.8rem 0 2rem;
  }
}
.p-anniversary-hyatt__inner {
  width: min(100% - 6.8rem, 122rem);
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-anniversary-hyatt__inner {
    width: calc(100% - 4rem);
  }
}
.p-anniversary-hyatt__hd {
  text-align: center;
  margin-bottom: 6rem;
}
@media (max-width: 1024px) {
  .p-anniversary-hyatt__hd {
    margin-bottom: 4rem;
  }
}
.p-anniversary-hyatt__sec-ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.4rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 2.1;
}
@media (max-width: 1024px) {
  .p-anniversary-hyatt__sec-ttl {
    font-size: 2rem;
    line-height: 1.8;
  }
}
.p-anniversary-hyatt__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6rem;
  padding-bottom: 6rem;
}
.p-anniversary-hyatt__item + .p-anniversary-hyatt__item {
  padding-top: 6rem;
  border-top: 1px solid #ABABAB;
}
@media (max-width: 1024px) {
  .p-anniversary-hyatt__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    padding-bottom: 3rem;
  }
  .p-anniversary-hyatt__item + .p-anniversary-hyatt__item {
    padding-top: 3rem;
  }
}
.p-anniversary-hyatt__img {
  width: 48.8rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 488/314;
}
@media (max-width: 1024px) {
  .p-anniversary-hyatt__img {
    width: 100%;
    margin-top: 2.6rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.p-anniversary-hyatt__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-anniversary-hyatt__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.7rem;
  padding-top: 2.7rem;
}
@media (max-width: 1024px) {
  .p-anniversary-hyatt__text {
    padding-top: 0;
    gap: 2rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.p-anniversary-hyatt__item-ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.4rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 2.1;
}
@media (max-width: 1024px) {
  .p-anniversary-hyatt__item-ttl {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}
.p-anniversary-hyatt__item-body {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .p-anniversary-hyatt__item-body {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}

.p-anniversary-case {
  padding: 9rem 0 10rem;
}
@media (max-width: 1024px) {
  .p-anniversary-case {
    padding: 6.8rem 0 8rem;
  }
}
.p-anniversary-case__inner {
  width: min(100% - 6.8rem, 110rem);
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-anniversary-case__inner {
    width: calc(100% - 4rem);
  }
}
.p-anniversary-case__hd {
  text-align: center;
  margin-bottom: 0;
}
.p-anniversary-case__sec-ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.4rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 2.1;
}
@media (max-width: 1024px) {
  .p-anniversary-case__sec-ttl {
    font-size: 2rem;
    line-height: 1.8;
  }
}
.p-anniversary-case__sec-sub {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .p-anniversary-case__sec-sub {
    font-size: 1.4rem;
  }
}
.p-anniversary-case__item {
  padding-top: 7.8rem;
}
@media (max-width: 1024px) {
  .p-anniversary-case__item {
    padding-top: 5.7rem;
    position: relative;
  }
}
.p-anniversary-case__item:first-child {
  padding-top: 10rem;
}
@media (max-width: 1024px) {
  .p-anniversary-case__item:first-child {
    padding-top: 5.9rem;
  }
}
.p-anniversary-case__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 1024px) {
  .p-anniversary-case__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.6rem;
    position: relative;
    padding-bottom: 8rem;
  }
  .p-anniversary-case__row .c-btn-viewmore {
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media (min-width: 1025px) {
  .p-anniversary-case__item--rev .p-anniversary-case__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-anniversary-case__text {
  width: 43.4rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
@media (max-width: 1024px) {
  .p-anniversary-case__text {
    width: 100%;
    gap: 2rem;
  }
}
.p-anniversary-case__item-hd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.2rem;
}
.p-anniversary-case__num {
  line-height: 1;
  color: #B2B2B2;
}
.p-anniversary-case__num-label {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
}
.p-anniversary-case__num-val {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 3.2rem;
  letter-spacing: 0.1em;
}
.p-anniversary-case__ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.8rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .p-anniversary-case__ttl {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}
.p-anniversary-case__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.1rem;
}
@media (min-width: 1025px) {
  .p-anniversary-case__bottom {
    padding-top: 7rem;
  }
}
@media (max-width: 1024px) {
  .p-anniversary-case__bottom {
    gap: 2.4rem;
  }
}
.p-anniversary-case__body {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .p-anniversary-case__body {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.p-anniversary-case__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 1px solid #fffcf7;
  padding: 1.1rem 1.1rem 1.1rem 1.7rem;
  gap: 2rem;
  width: 33.5rem;
  max-width: 100%;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
@media (min-width: 1025px) {
  .p-anniversary-case__btn:hover {
    background: rgba(255, 252, 247, 0.12);
  }
}
@media (max-width: 1024px) {
  .p-anniversary-case__btn {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
}
.p-anniversary-case__btn-txt {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #fffcf7;
  letter-spacing: 0.16em;
  line-height: 1.7;
  white-space: nowrap;
}
.p-anniversary-case__btn-arrow {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #fffcf7;
  border-right: 1px solid #fffcf7;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 0.4rem;
}
.p-anniversary-case__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  aspect-ratio: 606/353;
  overflow: hidden;
}
.p-anniversary-case__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .p-anniversary-case__img {
    margin: 0 auto;
  }
}

.p-fair-pickup {
  padding: 6.4rem 0 0;
}
@media (max-width: 1024px) {
  .p-fair-pickup {
    padding-top: 4.4rem;
  }
}
.p-fair-pickup__inner {
  width: 118.2rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-fair-pickup__ttl {
  font-family: "Bodoni Moda", serif;
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-fair-pickup__ttl {
    font-size: 2.4rem;
    letter-spacing: 0.16em;
  }
}
.p-fair-pickup__items {
  margin-top: 4.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
}
@media (max-width: 1024px) {
  .p-fair-pickup__items {
    margin-top: 3rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}
.p-fair-pickup__item {
  width: calc((100% - 3rem) / 3);
}
@media (max-width: 1024px) {
  .p-fair-pickup__item {
    width: 100%;
  }
}
.p-fair-pickup__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  border: 0.1rem solid #eae5d4;
  background: #fff;
  position: relative;
  padding: 1rem 1.5rem 1rem 16rem;
}
@media (min-width: 1025px) {
  .p-fair-pickup__card {
    min-height: 10.7rem;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .p-fair-pickup__card:hover {
    opacity: 0.7;
  }
}
@media (max-width: 1024px) {
  .p-fair-pickup__card {
    min-height: 9.5rem;
    padding: 1rem 1rem 1rem 14.3rem;
    border: none;
    background: #F7F5EE;
  }
}
.p-fair-pickup__img-wrap {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 14.3rem;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-fair-pickup__img-wrap {
    width: 12.7rem;
  }
}
.p-fair-pickup__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-fair-pickup__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.2rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.p-fair-pickup__date {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: #9C007C;
  letter-spacing: 0.16em;
  line-height: 1.6;
}
.p-fair-pickup__title {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.7;
}
@media (max-width: 1024px) {
  .p-fair-pickup__title {
    font-size: 1.2rem;
  }
}
.p-fair-pickup__btn {
  margin-top: 4.4rem;
}
.p-fair-pickup__btn-link {
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-fair-pickup__btn {
    margin-top: 3rem;
  }
}

.p-fair-point {
  padding-top: 5.9rem;
  padding-bottom: 1rem;
}
@media (min-width: 1025px) {
  .p-fair-point {
    padding-top: 13.5rem;
    padding-bottom: 5.9rem;
  }
}
.p-fair-point__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-fair-point__deco {
  font-family: "Bodoni Moda", serif;
  font-size: 7rem;
  line-height: 0.63;
  letter-spacing: 0.05em;
  color: #B2B2B2;
  opacity: 0.3;
  margin-bottom: 0.7rem;
  display: block;
}
@media (min-width: 1025px) {
  .p-fair-point__deco {
    font-size: 10rem;
    line-height: 0.704;
    margin-bottom: 0.7rem;
  }
}
.p-fair-point__item:nth-of-type(1) .p-fair-point__body {
  background: #F7F5EE;
}
.p-fair-point__item:nth-of-type(2) .p-fair-point__body {
  background: #E4D8E3;
}
.p-fair-point__item:nth-of-type(3) .p-fair-point__body {
  background: #DDE9ED;
}
@media (min-width: 1025px) {
  .p-fair-point__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.8rem;
    height: 46.4rem;
  }
  .p-fair-point__item + .p-fair-point__item {
    margin-top: 0.8rem;
  }
  .p-fair-point__item:nth-child(odd) .p-fair-point__img {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
@media (max-width: 1024px) {
  .p-fair-point__item + .p-fair-point__item {
    margin-top: 2rem;
  }
  .p-fair-point__item:nth-of-type(1) {
    background: #F7F5EE;
  }
  .p-fair-point__item:nth-of-type(2) {
    background: #E4D8E3;
  }
  .p-fair-point__item:nth-of-type(3) {
    background: #DDE9ED;
  }
}
.p-fair-point__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 3.5rem 3rem 3rem;
}
@media (min-width: 1025px) {
  .p-fair-point__body {
    background: #423025;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 0.4rem);
            flex: 0 0 calc(50% - 0.4rem);
    min-width: 0;
  }
}
.p-fair-point__label {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #B2B2B2;
  letter-spacing: 0.16em;
  margin-bottom: 1.5rem;
}
.p-fair-point__label-num {
  font-size: 2.6rem;
}
.p-fair-point__title {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.16em;
  color: #383838;
  margin-bottom: 2rem;
}
@media (min-width: 1025px) {
  .p-fair-point__title {
    font-size: 2.4rem;
    line-height: 2.1;
  }
}
.p-fair-point__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.16em;
  color: #383838;
}
@media (min-width: 1025px) {
  .p-fair-point__text {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
@media (max-width: 1024px) {
  .p-fair-point__img {
    padding: 0 3rem 3rem;
  }
}
@media (min-width: 1025px) {
  .p-fair-point__img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 0.4rem);
            flex: 0 0 calc(50% - 0.4rem);
    min-width: 0;
  }
}
.p-fair-point__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-fair-taste {
  padding: 7rem 0 10rem;
}
@media (max-width: 1024px) {
  .p-fair-taste {
    padding: 4.5rem 0 5.4rem;
  }
}
.p-fair-taste__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-fair-taste__title {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.16em;
  color: #383838;
  text-align: center;
}
@media (min-width: 1025px) {
  .p-fair-taste__title {
    font-size: 2.8rem;
  }
}
.p-fair-taste__lead {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.16em;
  color: #383838;
  text-align: center;
  margin-top: 1.7rem;
}
@media (min-width: 1025px) {
  .p-fair-taste__lead {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 1.7rem;
  }
}
.p-fair-taste__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  margin-top: 3rem;
}
@media (min-width: 1025px) {
  .p-fair-taste__list {
    -ms-grid-columns: 1fr 2.4rem 1fr 2.4rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
    margin-top: 4rem;
  }
}
.p-fair-taste__img-wrap {
  aspect-ratio: 350/182;
  overflow: hidden;
}
@media (min-width: 1025px) {
  .p-fair-taste__img-wrap {
    aspect-ratio: 391/203;
  }
}
.p-fair-taste__img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-fair-taste__name {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: #383838;
  margin-top: 1.5rem;
}
@media (min-width: 1025px) {
  .p-fair-taste__name {
    font-size: 2.2rem;
    font-weight: 600;
    margin-top: 1.5rem;
  }
}
.p-fair-taste__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.16em;
  color: #383838;
  margin-top: 1.7rem;
}
@media (min-width: 1025px) {
  .p-fair-taste__text {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
.p-fair-taste__note {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.16em;
  color: #696969;
  margin-top: 3rem;
  text-indent: -1em;
  padding-left: 1em;
}
@media (min-width: 1025px) {
  .p-fair-taste__note {
    font-size: 1.4rem;
    margin-top: 2.9rem;
    text-align: center;
  }
}

.p-fair-list {
  background: #FFFCF7;
  padding-top: 4.7rem;
  padding-bottom: 5rem;
}
@media (min-width: 1025px) {
  .p-fair-list {
    padding-top: 5rem;
    padding-bottom: 20.7rem;
  }
}
.p-fair-list__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-fair-list__title {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: #383838;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
  margin-bottom: 6rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
@media (min-width: 1025px) {
  .p-fair-list__title {
    font-size: 2.4rem;
    gap: 4.8rem;
    margin-bottom: 3.5rem;
  }
}
.p-fair-list__title::before, .p-fair-list__title::after {
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 4rem;
          flex: 0 0 4rem;
  border-top: 1px solid #383838;
}
@media (min-width: 1025px) {
  .p-fair-list__title::before, .p-fair-list__title::after {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 7.8rem;
            flex: 0 0 7.8rem;
  }
}
@media (max-width: 1024px) {
  .p-fair-list__group + .p-fair-list__group {
    margin-top: 3rem;
  }
}
@media (min-width: 1025px) {
  .p-fair-list__group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #fff;
  }
  .p-fair-list__group + .p-fair-list__group {
    margin-top: 7.6rem;
  }
}
.p-fair-list__date {
  background: #EFE7DA;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  padding: 1.5rem 2rem;
}
@media (min-width: 1025px) {
  .p-fair-list__date {
    width: 16rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
    padding-top: 7.8rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: -10.7rem;
    margin-bottom: 10.7rem;
  }
}
.p-fair-list__day {
  font-family: "Bodoni Moda", serif;
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #383838;
  line-height: 1;
}
.p-fair-list__dow {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: #383838;
  line-height: 1;
}
.p-fair-list__cards {
  background: #FFFFFF;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 2.5rem 2rem;
}
@media (min-width: 1025px) {
  .p-fair-list__cards {
    padding: 7.5rem 5.4rem 9.2rem;
  }
}
@media (min-width: 1025px) {
  .p-fair-list__card + .p-fair-list__card {
    margin-top: 15.2rem;
  }
}
@media (max-width: 1024px) {
  .p-fair-list__card + .p-fair-list__card {
    margin-top: 4rem;
  }
}
.p-fair-list__more {
  border-top: 1px solid #B2B2B2;
  border-bottom: 1px solid #B2B2B2;
  padding: 2.6rem 0;
  text-align: center;
  margin-top: 3rem;
}
@media (min-width: 1025px) {
  .p-fair-list__more {
    margin-top: 5.9rem;
  }
}
.p-fair-list__more-link {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: #383838;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
}
.p-fair-list__more-link::after {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  -webkit-transform: rotate(45deg) translateY(-0.15rem);
          transform: rotate(45deg) translateY(-0.15rem);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-fair-list__more-link[aria-expanded=true]::after {
  -webkit-transform: rotate(-135deg) translateY(0.3rem);
          transform: rotate(-135deg) translateY(0.3rem);
}
@media (min-width: 1025px) {
  .p-fair-list__more-link {
    font-size: 1.4rem;
  }
  .p-fair-list__more-link:hover {
    opacity: 0.6;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
}
.p-fair-list__expand {
  overflow: hidden;
}
@media (min-width: 1025px) {
  .p-fair-list__expand > .p-fair-list__card {
    margin-top: 15.9rem;
  }
  .p-fair-list__expand > .p-fair-list__card + .p-fair-list__card {
    margin-top: 15.2rem;
  }
}
@media (max-width: 1024px) {
  .p-fair-list__expand > .p-fair-list__card {
    margin-top: 3rem;
  }
  .p-fair-list__expand > .p-fair-list__card + .p-fair-list__card {
    margin-top: 4rem;
  }
}
.p-fair-list__name {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.16em;
  color: #383838;
}
@media (min-width: 1025px) {
  .p-fair-list__name {
    font-size: 2rem;
    font-weight: 500;
    padding-left: 2.1rem;
  }
}
.p-fair-list__name + .p-fair-list__desc {
  border-top: 1px solid #B2B2B2;
}
.p-fair-list__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.16em;
  color: #383838;
  padding-top: 2.5rem;
  margin-top: 2.5rem;
}
.p-fair-list__desc.fair_toggle {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.p-fair-list__desc.fair_toggle.is-open {
  display: block;
  overflow: visible;
}
@media (min-width: 1025px) {
  .p-fair-list__desc {
    margin-top: 6rem;
    padding-left: 2.1rem;
  }
}
.p-fair-list__view-more {
  margin: 2rem auto 0;
  display: none;
}
.p-fair-list__view-more.is-visible {
  display: block;
}
.p-fair-list__row {
  margin-top: 2.4rem;
}
@media (min-width: 1025px) {
  .p-fair-list__row {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 34.1111111111% 1.6666666667% minmax(0, 1fr);
    grid-template-columns: 34.1111111111% minmax(0, 1fr);
    -webkit-column-gap: 1.6666666667%;
       -moz-column-gap: 1.6666666667%;
            column-gap: 1.6666666667%;
    margin-top: 2.9rem;
  }
}
.p-fair-list__benefit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 1px solid #423025;
}
@media (min-width: 1025px) {
  .p-fair-list__benefit {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
  }
}
.p-fair-list__label {
  background: #423025;
  color: #FFFCE7;
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.2rem 2rem;
}
@media (min-width: 1025px) {
  .p-fair-list__label {
    width: 15.9rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: 0;
  }
}
.p-fair-list__perks {
  padding: 1.5rem 2rem;
}
@media (min-width: 1025px) {
  .p-fair-list__perks {
    padding: 1.5rem 1.7rem;
  }
}
.p-fair-list__perks li {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.16em;
  color: #383838;
}
.p-fair-list__perks li + li {
  margin-top: 0.8rem;
}
.p-fair-list__img {
  position: static;
  width: 100%;
  aspect-ratio: 310/185;
  margin-top: 2rem;
}
.p-fair-list__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 1025px) {
  .p-fair-list__img {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/span 2;
    aspect-ratio: 307/183;
    margin-top: 0;
  }
}
.p-fair-list__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.8rem;
  margin-top: 2.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 1025px) {
  .p-fair-list__btns {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.9rem;
    margin-top: 2.7rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 2;
    grid-row: 2;
  }
}

.p-fair-body {
  background: #FFFCF7;
  padding: 6.9rem 0 0;
}
@media (max-width: 1024px) {
  .p-fair-body {
    padding: 5rem 0 0;
  }
}
.p-fair-body__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.5);
  padding: 6rem 7.5rem 22.3rem;
}
@media (max-width: 1024px) {
  .p-fair-body__inner {
    padding: 4rem 2rem 5.2rem;
  }
}

.p-fair-detail {
  padding-bottom: 4rem;
  border-bottom: 1px solid #B2B2B2;
}
@media (min-width: 1025px) {
  .p-fair-detail {
    padding-bottom: 10rem;
  }
}
.p-fair-detail__label {
  font-family: "Bodoni Moda", serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #B2B2B2;
}
@media (min-width: 1025px) {
  .p-fair-detail__label {
    font-size: 2rem;
  }
}
.p-fair-detail__title {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.16em;
  color: #383838;
  margin-top: 1.5rem;
}
@media (min-width: 1025px) {
  .p-fair-detail__title {
    font-size: 2.8rem;
    font-weight: 500;
    margin-top: 3.2rem;
  }
}
.p-fair-detail__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin-top: 2rem;
}
.p-fair-detail__block-heading {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
}
.p-fair-detail__block-bottom {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  grid-row: 2;
}
@media (min-width: 1025px) {
  .p-fair-detail__block {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
    margin-top: 4rem;
  }
  .p-fair-detail__block > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-fair-detail__block > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-fair-detail__block > *:nth-child(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-fair-detail__block > *:nth-child(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
}
.p-fair-detail__imgs {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1/3;
  width: 60rem;
}
@media (max-width: 1024px) {
  .p-fair-detail__imgs {
    width: 100%;
  }
}
.p-fair-detail__img-main {
  aspect-ratio: 600/358;
  overflow: hidden;
}
.p-fair-detail__img-main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-fair-detail__time {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #383838;
}
.p-fair-detail__time dt {
  width: 8rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-fair-detail__time dd {
  margin-left: 0;
}
@media (max-width: 1024px) {
  .p-fair-detail__time {
    font-size: 1.4rem;
    line-height: 1.7142857143;
  }
}
.p-fair-detail__caption, .p-fair-detail__comment {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.16em;
  color: #383838;
}
@media (min-width: 1025px) {
  .p-fair-detail__caption, .p-fair-detail__comment {
    font-size: 1.6rem;
  }
}
.p-fair-detail__comment {
  margin-top: 3rem;
}
.p-fair-detail__btns {
  margin-top: 3rem;
}
@media (min-width: 1025px) {
  .p-fair-detail__btns {
    margin-top: 7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-fair-contents {
  padding-top: 4rem;
  padding-bottom: 5rem;
}
@media (min-width: 1025px) {
  .p-fair-contents {
    padding-top: 8.2rem;
  }
}
.p-fair-contents__title {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.16em;
  color: #383838;
  text-align: center;
}
@media (min-width: 1025px) {
  .p-fair-contents__title {
    font-size: 2.4rem;
    line-height: 2.1;
  }
}
.p-fair-contents__list {
  margin-top: 3.4rem;
}
@media (min-width: 1025px) {
  .p-fair-contents__list {
    margin-top: 5.9rem;
  }
}
.p-fair-contents__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1024px) {
  .p-fair-contents__item {
    gap: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .p-fair-contents__item + .p-fair-contents__item {
    margin-top: 2rem;
  }
}
@media (min-width: 1025px) {
  .p-fair-contents__item {
    gap: 4rem;
  }
  .p-fair-contents__item + .p-fair-contents__item {
    margin-top: 3rem;
  }
}
.p-fair-contents__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
  aspect-ratio: 314/187;
}
@media (max-width: 1024px) {
  .p-fair-contents__img {
    width: 100%;
  }
}
@media (min-width: 1025px) {
  .p-fair-contents__img {
    width: 31.4rem;
  }
}
.p-fair-contents__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-fair-contents__name {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.16em;
  color: #383838;
}
@media (min-width: 1025px) {
  .p-fair-contents__name {
    font-size: 2.4rem;
    line-height: 2.1;
  }
}
.p-fair-contents__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.16em;
  color: #383838;
  margin-top: 1.5rem;
}
@media (min-width: 1025px) {
  .p-fair-contents__desc {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 2rem;
  }
}
.p-fair-contents__btns {
  margin-top: 4rem;
}
@media (min-width: 1025px) {
  .p-fair-contents__btns {
    margin-top: 7.7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media (max-width: 1024px) {
  .p-fair-contents__btns .c-btn-primary {
    margin: 0 auto;
  }
}
.p-fair-contents__tel {
  margin-top: 1.6rem;
  text-align: center;
}
.p-fair-contents__tel-label {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  color: #383838;
}
.p-fair-contents__tel-hours {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  color: #383838;
  margin-top: 0.5rem;
}
.p-fair-contents__tel-num {
  display: block;
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: #423026;
  margin-top: 0.5rem;
}
@media (min-width: 1025px) {
  .p-fair-contents__tel-num {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .p-fair-contents__tel-num:hover {
    opacity: 0.7;
  }
}

.p-fair-related {
  padding-top: 5rem;
}
.p-fair-related__title {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.16em;
  color: #383838;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
}
@media (min-width: 1025px) {
  .p-fair-related__title {
    font-size: 2.4rem;
    gap: 4rem;
  }
}
@media (max-width: 1024px) {
  .p-fair-related__title {
    margin: 0 -2rem;
  }
}
.p-fair-related__title::before, .p-fair-related__title::after {
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 4rem;
          flex: 0 0 4rem;
  border-top: 1px solid #383838;
}
.p-fair-related__list {
  margin-top: 3rem;
}
@media (min-width: 1025px) {
  .p-fair-related__list {
    margin-top: 5rem;
  }
}
@media (max-width: 1024px) {
  .p-fair-related__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-fair-related__item + .p-fair-related__item {
    margin-top: 6.5rem;
  }
}
@media (min-width: 1025px) {
  .p-fair-related__item {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 34.8rem 4rem 1fr;
    grid-template-columns: 34.8rem 1fr;
    -ms-grid-rows: (auto)[4];
    grid-template-rows: repeat(4, auto);
    -webkit-column-gap: 4rem;
       -moz-column-gap: 4rem;
            column-gap: 4rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .p-fair-related__item > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-fair-related__item > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-fair-related__item > *:nth-child(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-fair-related__item > *:nth-child(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .p-fair-related__item > *:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-fair-related__item > *:nth-child(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .p-fair-related__item > *:nth-child(7) {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
  }
  .p-fair-related__item > *:nth-child(8) {
    -ms-grid-row: 4;
    -ms-grid-column: 3;
  }
  .p-fair-related__item + .p-fair-related__item {
    margin-top: 7rem;
  }
}
.p-fair-related__img {
  overflow: hidden;
  aspect-ratio: 348/396;
  width: 100%;
}
@media (min-width: 1025px) {
  .p-fair-related__img {
    -ms-grid-column: 1;
    grid-column: 1;
    grid-row: 1/-1;
  }
}
@media (max-width: 1024px) {
  .p-fair-related__img {
    aspect-ratio: 310/353;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 2rem;
  }
}
.p-fair-related__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-fair-related__name {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.16em;
  color: #383838;
}
@media (min-width: 1025px) {
  .p-fair-related__name {
    -ms-grid-column: 2;
    grid-column: 2;
    font-size: 1.8rem;
    line-height: 1.8;
  }
}
.p-fair-related__imgs {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.5rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  margin-top: 1.5rem;
}
@media (max-width: 1024px) {
  .p-fair-related__imgs {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
}
@media (min-width: 1025px) {
  .p-fair-related__imgs {
    -ms-grid-column: 2;
    grid-column: 2;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -ms-grid-columns: 1fr 0.8rem 1fr 0.8rem 1fr 0.8rem 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.8rem;
    margin-top: 2rem;
  }
}
.p-fair-related__imgs figure {
  aspect-ratio: 147/105;
  overflow: hidden;
}
.p-fair-related__imgs figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-fair-related__time {
  margin-top: 1.5rem;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.7;
}
.p-fair-related__time dd {
  margin-left: 0;
}
@media (min-width: 1025px) {
  .p-fair-related__time {
    -ms-grid-column: 2;
    grid-column: 2;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-top: 2rem;
  }
}
@media (max-width: 1024px) {
  .p-fair-related__time {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    font-size: 1.4rem;
  }
}
.p-fair-related__comment {
  margin-top: 2rem;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.7;
}
@media (max-width: 1024px) {
  .p-fair-related__comment {
    font-size: 1.4rem;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
}
.p-fair-related__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.8rem;
  margin-top: 2rem;
}
@media (max-width: 1024px) {
  .p-fair-related__btns {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (min-width: 1025px) {
  .p-fair-related__btns {
    -ms-grid-column: 2;
    grid-column: 2;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3rem;
    margin-top: 2.5rem;
  }
  .p-fair-related__btns .c-btn-primary {
    width: calc((100% - 3rem) / 2);
  }
}

.p-banquet-venue {
  background: #FFFCF7;
  padding-top: 8.8rem;
  padding-bottom: 10rem;
}
@media (max-width: 1024px) {
  .p-banquet-venue {
    padding-top: 5.8rem;
    padding-bottom: 6rem;
  }
}
.p-banquet-venue__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-banquet-venue__hd {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.4rem;
}
.p-banquet-venue__ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.8;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-banquet-venue__ttl {
    font-size: 2.2rem;
  }
}
.p-banquet-venue__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-banquet-venue__desc {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.p-banquet-venue__pair {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 6rem;
}
@media (min-width: 1025px) {
  .p-banquet-venue__pair {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.2rem;
  }
}
@media (max-width: 1024px) {
  .p-banquet-venue__pair {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5rem;
  }
}
.p-banquet-venue__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 1025px) {
  .p-banquet-venue__item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-banquet-venue__pair-img {
  aspect-ratio: 580/326;
  overflow: hidden;
}
.p-banquet-venue__pair-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-banquet-venue__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
  margin-top: 2rem;
}
@media (min-width: 1025px) {
  .p-banquet-venue__body {
    margin-top: 3.5rem;
  }
}
.p-banquet-venue__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
.p-banquet-venue__names {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 1025px) {
  .p-banquet-venue__names {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4rem;
  }
}
@media (max-width: 1024px) {
  .p-banquet-venue__names {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.8rem;
  }
}
.p-banquet-venue__name {
  font-family: "Bodoni Moda", serif;
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-banquet-venue__name {
    font-size: 2rem;
  }
}
.p-banquet-venue__sub {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-banquet-venue__sub {
    font-size: 1.2rem;
  }
}
.p-banquet-venue__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-banquet-venue__text {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.p-banquet-venue__chef {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 7.6rem;
}
@media (min-width: 1025px) {
  .p-banquet-venue__chef {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 5.3rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media (max-width: 1024px) {
  .p-banquet-venue__chef {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 5rem;
  }
}
.p-banquet-venue__chef-img {
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 580/326;
}
@media (min-width: 1025px) {
  .p-banquet-venue__chef-img {
    width: 58rem;
  }
}
@media (max-width: 1024px) {
  .p-banquet-venue__chef-img {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.p-banquet-venue__chef-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-banquet-venue__chef-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
@media (min-width: 1025px) {
  .p-banquet-venue__chef-body {
    padding-top: 3.7rem;
  }
  .p-banquet-venue__chef-body .p-banquet-venue__names {
    gap: 4.6rem;
  }
}

.p-banquet-hotel__img {
  overflow: hidden;
}
@media (min-width: 1025px) {
  .p-banquet-hotel__img {
    height: 76rem;
  }
}
@media (max-width: 1024px) {
  .p-banquet-hotel__img {
    height: 29rem;
  }
}
.p-banquet-hotel__img picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-banquet-hotel__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-banquet-hotel__body {
  background: #424242;
}
.p-banquet-hotel__inner {
  text-align: center;
}
@media (min-width: 1025px) {
  .p-banquet-hotel__inner {
    width: 61.4rem;
    max-width: 100%;
    margin: 0 auto;
    padding: 7rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 7.6rem;
  }
}
@media (max-width: 1024px) {
  .p-banquet-hotel__inner {
    padding: 5rem 2rem 4.8rem;
  }
}
.p-banquet-hotel__ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.8;
  color: #ababab;
}
@media (max-width: 1024px) {
  .p-banquet-hotel__ttl {
    font-size: 1.8rem;
  }
}
.p-banquet-hotel__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #FFFCF7;
  margin-top: 4.7rem;
}
.p-banquet-hotel__desc + .p-banquet-hotel__desc {
  margin-top: 0;
}
@media (max-width: 1024px) {
  .p-banquet-hotel__desc {
    margin-top: 2.4rem;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .p-banquet-hotel__desc + .p-banquet-hotel__desc {
    margin-top: 1em;
  }
}
.p-banquet-hotel__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .p-banquet-hotel__link:hover {
    opacity: 0.6;
  }
}
.p-banquet-hotel__link::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.1rem;
  background: #FFFCF7;
  margin-top: 0.6rem;
}
.p-banquet-hotel__link-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.9rem;
}
.p-banquet-hotel__link-txt {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  color: #FFFCF7;
  white-space: nowrap;
}
.p-banquet-hotel__link-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #FFFCF7;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-bnq-intro {
  padding-top: 13.8rem;
}
@media (max-width: 1024px) {
  .p-bnq-intro {
    padding-top: 6rem;
  }
}
.p-bnq-intro__container {
  width: 144rem;
  max-width: 100%;
  margin: 0 auto;
}
.p-bnq-intro__inner {
  width: 133.2rem;
  max-width: calc(100% - 1rem);
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 9.1rem;
}
@media (min-width: 1025px) {
  .p-bnq-intro__inner {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media (max-width: 1024px) {
  .p-bnq-intro__inner {
    max-width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 7.3rem;
  }
}
.p-bnq-intro__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.8rem;
}
@media (min-width: 1025px) {
  .p-bnq-intro__body {
    width: 42.3rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding-top: 5rem;
  }
}
@media (max-width: 1024px) {
  .p-bnq-intro__body {
    gap: 3rem;
    width: calc(100% - 4rem);
    margin: 0 auto;
  }
}
.p-bnq-intro__ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.8rem;
  letter-spacing: 0.16em;
  line-height: 1.8;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-bnq-intro__ttl {
    font-size: 2rem;
  }
}
.p-bnq-intro__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-bnq-intro__desc {
    font-size: 1.4rem;
  }
}
@media (min-width: 1025px) {
  .p-bnq-intro__slider-wrap {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: hidden;
  }
}
@media (max-width: 1024px) {
  .p-bnq-intro__slider-wrap {
    padding-left: 2rem;
  }
}
.p-bnq-intro__swiper {
  overflow: hidden;
}
.p-bnq-intro__slide-img {
  aspect-ratio: 388/517;
  overflow: hidden;
}
.p-bnq-intro__slide-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-bnq-intro__arrows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
  margin-top: 2.4rem;
}
@media (max-width: 1024px) {
  .p-bnq-intro__arrows {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-right: 2rem;
  }
}
.p-bnq-intro__arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.8rem;
  background: transparent;
  border: none;
  cursor: pointer;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .p-bnq-intro__arrow:hover {
    opacity: 0.6;
  }
}
.p-bnq-intro__arrow::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border-top: 1px solid #383838;
  border-right: 1px solid #383838;
}
@media (max-width: 1024px) {
  .p-bnq-intro__arrow::after {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.p-bnq-intro__arrow--prev::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.p-bnq-intro__arrow--next::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.p-bnq-movie {
  padding: 13.5rem 0 14rem;
}
@media (max-width: 1024px) {
  .p-bnq-movie {
    padding: 4.6rem 2rem 4rem;
  }
}

.p-bnq-feature {
  padding: 9rem 0 13.5rem;
  background: #F8FCFD url(../img/common/bg_line.svg) center/cover no-repeat;
}
@media (max-width: 1024px) {
  .p-bnq-feature {
    padding: 6.4rem 0 4.8rem;
    background: #F8FCFD url(../img/common/bg_line_sp.svg) center top/100% auto repeat-y;
  }
}
.p-bnq-feature__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7.2rem;
}
@media (max-width: 1024px) {
  .p-bnq-feature__inner {
    gap: 3.4rem;
  }
}
.p-bnq-feature__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
@media (min-width: 1025px) {
  .p-bnq-feature__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 9rem;
  }
  .p-bnq-feature__item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-bnq-feature__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 1025px) {
  .p-bnq-feature__body {
    width: 35.7rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.p-bnq-feature__hd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
@media (max-width: 1024px) {
  .p-bnq-feature__hd {
    gap: 1rem;
  }
}
.p-bnq-feature__num {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #B2B2B2;
}
@media (max-width: 1024px) {
  .p-bnq-feature__num {
    font-size: 2.5rem;
    letter-spacing: 0.05em;
    color: #767676;
  }
}
.p-bnq-feature__name {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 4rem;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-bnq-feature__name {
    font-size: 2rem;
    letter-spacing: 0.16em;
  }
}
.p-bnq-feature__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #383838;
  margin-top: 6.7rem;
}
.p-bnq-feature__text + .p-bnq-feature__text {
  margin-top: 1em;
}
@media (max-width: 1024px) {
  .p-bnq-feature__text {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-top: 4.3rem;
  }
}
.p-bnq-feature__visual {
  overflow: hidden;
}
@media (min-width: 1025px) {
  .p-bnq-feature__visual {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-bnq-feature__img {
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 773/398;
}
.p-bnq-feature__img picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-bnq-feature__img img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1024px) {
  .p-bnq-feature__img {
    aspect-ratio: 350/180;
  }
}
@media (min-width: 1025px) {
  .p-bnq-feature__item:first-child .p-bnq-feature__img {
    aspect-ratio: 773/514;
  }
}
.p-bnq-feature__imgs {
  position: relative;
  overflow: hidden;
}
.p-bnq-feature__img-pair {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.3rem;
}
.p-bnq-feature__img-pair .p-bnq-feature__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  aspect-ratio: 385/398;
  height: auto;
}
@media (max-width: 1024px) {
  .p-bnq-feature__img-pair {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-bnq-feature__img-pair .p-bnq-feature__img {
    aspect-ratio: 351/180;
  }
}

.p-bnq-gallery {
  background: #FFFCF7;
  padding-top: 12.4rem;
  padding: 12.4rem 0 6.8rem;
}
@media (max-width: 1024px) {
  .p-bnq-gallery {
    padding: 10rem 0 6.8rem;
  }
}
.p-bnq-gallery__inner {
  width: 122rem;
  max-width: calc(100% - 10rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.7rem;
}
@media (max-width: 1024px) {
  .p-bnq-gallery__inner {
    gap: 1.8rem;
  }
}
.p-bnq-gallery__ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  color: #383838;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-bnq-gallery__ttl {
    font-size: 2rem;
    font-weight: 700;
  }
}
.p-bnq-gallery__slider-wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 100%;
  gap: 2.8rem;
  width: 70.4rem;
}
@media (max-width: 1024px) {
  .p-bnq-gallery__slider-wrap {
    gap: 1.8rem;
  }
}
.p-bnq-gallery__swiper {
  overflow: hidden;
  width: 100%;
}
.p-bnq-gallery__img {
  display: block;
  overflow: hidden;
  aspect-ratio: 704/463;
}
@media (max-width: 1024px) {
  .p-bnq-gallery__img {
    aspect-ratio: 292/183;
  }
}
.p-bnq-gallery__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-bnq-gallery__arrow {
  position: absolute;
  top: 50%;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  background: #B2B2B2;
  border: none;
  cursor: pointer;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 1025px) {
  .p-bnq-gallery__arrow:hover {
    opacity: 0.6;
  }
}
@media (max-width: 1024px) {
  .p-bnq-gallery__arrow {
    width: 4rem;
    height: 4rem;
  }
}
.p-bnq-gallery__arrow::after {
  content: "";
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  border-top: 1px solid #383838;
  border-right: 1px solid #383838;
}
@media (max-width: 1024px) {
  .p-bnq-gallery__arrow::after {
    width: 1.2rem;
    height: 1.2rem;
  }
}
@media (min-width: 1025px) {
  .p-bnq-gallery__arrow--prev {
    left: calc(50% - 35.2rem - 10rem);
  }
}
@media (max-width: 1024px) {
  .p-bnq-gallery__arrow--prev {
    left: -4.5rem;
  }
}
.p-bnq-gallery__arrow--prev::after {
  -webkit-transform: translateX(0.3rem) rotate(-135deg);
          transform: translateX(0.3rem) rotate(-135deg);
}
@media (min-width: 1025px) {
  .p-bnq-gallery__arrow--next {
    right: calc(50% - 35.2rem - 10rem);
  }
}
@media (max-width: 1024px) {
  .p-bnq-gallery__arrow--next {
    right: -4.5rem;
  }
}
.p-bnq-gallery__arrow--next::after {
  -webkit-transform: translateX(-0.3rem) rotate(45deg);
          transform: translateX(-0.3rem) rotate(45deg);
}
.p-bnq-gallery__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
}
.p-bnq-gallery__pag-line {
  display: block;
  width: 14rem;
  height: 0.1rem;
  background: #383838;
}
@media (max-width: 1024px) {
  .p-bnq-gallery__pag-line {
    width: 6rem;
  }
}
.p-bnq-gallery__pag-txt {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  color: #383838;
}
.p-bnq-gallery__info {
  border: 1px solid #424242;
  width: 110.3rem;
  max-width: calc(100% - 4rem);
  margin: 8.9rem auto 0;
}
@media (max-width: 1024px) {
  .p-bnq-gallery__info {
    margin-top: 4rem;
  }
}
.p-bnq-gallery__info-inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 1025px) {
  .p-bnq-gallery__info-inner {
    height: 8.3rem;
  }
}
@media (max-width: 1024px) {
  .p-bnq-gallery__info-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-bnq-gallery__info-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem;
  text-align: center;
}
@media (min-width: 1025px) {
  .p-bnq-gallery__info-item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-bnq-gallery__info-item:first-child {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media (max-width: 1024px) {
  .p-bnq-gallery__info-item {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 3rem 0 2rem;
  }
}
.p-bnq-gallery__info-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.2rem;
  color: #424242;
}
@media (max-width: 1024px) {
  .p-bnq-gallery__info-body {
    gap: 1.2rem;
  }
}
.p-bnq-gallery__info-label {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1;
}
.p-bnq-gallery__info-val {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .p-bnq-gallery__info-val {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.p-bnq-gallery__info-div {
  display: block;
  background: #424242;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 1025px) {
  .p-bnq-gallery__info-div {
    width: 0.1rem;
    height: 3.7rem;
    margin: 0 3rem;
  }
}
@media (max-width: 1024px) {
  .p-bnq-gallery__info-div {
    width: 100%;
    height: 0.1rem;
  }
}

.p-bnq-nav {
  background: #FFFCF7;
  padding: 4.6rem 0 6.2rem;
}
@media (max-width: 1024px) {
  .p-bnq-nav {
    padding: 3.8rem 0 3.5rem;
  }
}
.p-bnq-nav__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.5rem;
}
@media (max-width: 1024px) {
  .p-bnq-nav__inner {
    gap: 2.6rem;
  }
}
.p-bnq-nav__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.6rem;
}
@media (min-width: 1025px) {
  .p-bnq-nav__cards {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.7rem;
  }
}
.p-bnq-nav__card {
  position: relative;
  overflow: hidden;
  display: block;
  height: 10.9rem;
  border: solid 2px rgba(66, 48, 38, 0.78);
}
@media (min-width: 1025px) {
  .p-bnq-nav__card {
    width: calc((100% - 5.4rem) / 3);
  }
  .p-bnq-nav__card:hover {
    border-color: transparent;
  }
  .p-bnq-nav__card:hover .p-bnq-nav__card-overlay,
  .p-bnq-nav__card:hover .p-bnq-nav__card-body {
    opacity: 0;
  }
  .p-bnq-nav__card:hover::after {
    opacity: 0;
  }
}
.p-bnq-nav__card-img {
  position: absolute;
  inset: 0;
}
.p-bnq-nav__card-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-bnq-nav__card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(66, 48, 38, 0.78);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-bnq-nav__card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 2.6rem 2.6rem 0;
  border-color: transparent #FFFCF7 transparent transparent;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-bnq-nav__card-body {
  position: relative;
  z-index: 1;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.2rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-bnq-nav__card-sub {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0.16em;
  color: #FFFFFF;
  text-align: center;
}
.p-bnq-nav__card-name {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
}
.p-bnq-nav__link-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-bnq-nav__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7rem;
  position: relative;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 1025px) {
  .p-bnq-nav__link:hover {
    opacity: 0.6;
  }
}
.p-bnq-nav__link::after {
  content: "";
  position: absolute;
  bottom: -0.3rem;
  left: 0;
  width: 100%;
  height: 0.1rem;
  background: #383838;
}
.p-bnq-nav__link-txt {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  color: #383838;
}
.p-bnq-nav__link-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #383838;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-stay-hero {
  background: #FFFFFF;
}
.p-stay-hero__ttl-wrap {
  padding: 6rem 0 5rem;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-stay-hero__ttl-wrap {
    padding: 0 2.4rem 2rem;
  }
}
.p-stay-hero__ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 9rem;
  letter-spacing: 0.2em;
  line-height: 1.2;
  color: #878787;
}
@media (max-width: 1024px) {
  .p-stay-hero__ttl {
    font-size: 5rem;
    color: #B2B2B2;
  }
}
.p-stay-hero__img {
  overflow: hidden;
  aspect-ratio: 550/351;
}
.p-stay-hero__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-stay-hero__stack .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-stay-hero__stack .p-stay-hero__img {
  width: 100%;
  aspect-ratio: 390/425;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-stay-msg {
  background: #FFFFFF;
  padding: 13.6rem 0 16.8rem;
}
@media (max-width: 1024px) {
  .p-stay-msg {
    padding: 0 0 5.4rem;
  }
}
.p-stay-msg__inner {
  width: 144rem;
  max-width: 100%;
  margin: 0 auto;
}
.p-stay-msg__lead {
  position: relative;
}
@media (min-width: 1025px) {
  .p-stay-msg__lead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media (max-width: 1024px) {
  .p-stay-msg__lead {
    padding-top: 32.7rem;
    padding-bottom: 4.7rem;
  }
}
.p-stay-msg__deco {
  overflow: hidden;
}
.p-stay-msg__deco img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .p-stay-msg__deco {
    position: absolute;
  }
}
@media (min-width: 1025px) {
  .p-stay-msg__deco--01 {
    width: 20.8333333333%;
    aspect-ratio: 280/343;
    margin-right: 5.5555555556%;
  }
}
@media (max-width: 1024px) {
  .p-stay-msg__deco--01 {
    top: 1.8rem;
    left: 2.2rem;
    width: 46.4102564103%;
    max-width: 18.1rem;
    aspect-ratio: 181/222;
  }
}
@media (min-width: 1025px) {
  .p-stay-msg__deco--02 {
    width: 21.9444444444%;
    aspect-ratio: 296/353;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 24rem;
    margin-left: 4.8611111111%;
  }
}
@media (max-width: 1024px) {
  .p-stay-msg__deco--02 {
    right: 0;
    aspect-ratio: 162/193;
    top: 8.2rem;
    width: 41.5384615385%;
    max-width: 16.2rem;
  }
}
.p-stay-msg__body {
  width: 48rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media (min-width: 1025px) {
  .p-stay-msg__body {
    margin-top: 1.2rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media (max-width: 1024px) {
  .p-stay-msg__body {
    margin: 0 auto;
    max-width: calc(100% - 2rem);
  }
}
.p-stay-msg__sub {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.18em;
  line-height: 2.2;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-stay-msg__sub {
    font-size: 1.4rem;
  }
}
.p-stay-msg__text {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  line-height: 2.4;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-stay-msg__text {
    font-size: 1rem;
    letter-spacing: 0.06em;
  }
}
.p-stay-msg__text--gap {
  margin-top: 2rem;
}
.p-stay-msg__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5rem;
}
@media (min-width: 1025px) {
  .p-stay-msg__items {
    gap: 13rem;
    margin-top: -7rem;
  }
}
.p-stay-msg__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media (max-width: 1024px) {
  .p-stay-msg__item:nth-child(even) {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
@media (min-width: 1025px) {
  .p-stay-msg__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8rem;
  }
  .p-stay-msg__item .p-stay-msg__img {
    width: 47.5694444444%;
    aspect-ratio: 585/334;
  }
  .p-stay-msg__item .p-stay-msg__content {
    width: 39.5rem;
  }
  .p-stay-msg__item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .p-stay-msg__item:nth-child(even) .p-stay-msg__img {
    width: 54.3055555556%;
    aspect-ratio: 682/317;
  }
  .p-stay-msg__item:nth-child(even) .p-stay-msg__content {
    width: 35rem;
  }
}
.p-stay-msg__img {
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 35rem;
  aspect-ratio: 350/163;
}
.p-stay-msg__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .p-stay-msg__content {
    padding: 0 2.4rem 0 3.7rem;
  }
}
.p-stay-msg__item-ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.18em;
  line-height: 1.8;
  color: #383838;
}
.p-stay-msg__item-desc {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  line-height: 2.4;
  color: #383838;
  text-align: justify;
  margin-top: 1.4rem;
}
@media (max-width: 1024px) {
  .p-stay-msg__item-desc {
    font-size: 1rem;
    letter-spacing: 0.06em;
    max-width: 28rem;
  }
}

.p-stay-plan {
  position: relative;
}

.p-stay-plan__item {
  position: sticky;
  top: 8rem;
  min-height: 100vh;
}
@media (max-width: 1024px) {
  .p-stay-plan__item {
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-stay-plan__item:nth-child(1) {
  z-index: 1;
}
.p-stay-plan__item:nth-child(2) {
  z-index: 2;
}
.p-stay-plan__item:nth-child(3) {
  z-index: 3;
}
.p-stay-plan__item:nth-child(4) {
  z-index: 4;
}
.p-stay-plan__item:nth-child(5) {
  z-index: 5;
}
.p-stay-plan__item:nth-child(6) {
  z-index: 6;
}
.p-stay-plan__item:nth-child(7) {
  z-index: 7;
}
.p-stay-plan__item:nth-child(8) {
  z-index: 8;
}
.p-stay-plan__item-inner {
  width: 119.4rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  position: relative;
}
.p-stay-plan__item-content {
  width: 50rem;
}
@media (max-width: 1024px) {
  .p-stay-plan__item-content {
    width: 100%;
  }
}

.p-stay-plan__hd {
  padding: 9.4rem 0 6rem;
}
@media (min-width: 1025px) and (max-height: 800px) {
  .p-stay-plan__hd {
    padding: 7vh 0 4vh;
  }
}
.p-stay-plan__hd--1st {
  background: #F7F5EE;
}
.p-stay-plan__hd--1st:before {
  background: #F7F5EE;
}
.p-stay-plan__hd--2nd {
  background: #e4d8e3;
}
.p-stay-plan__hd--2nd:before {
  background: #e4d8e3;
}
.p-stay-plan__hd--3rd {
  background: #dde9ed;
}
.p-stay-plan__hd--3rd:before {
  background: #dde9ed;
}
.p-stay-plan__hd--transparent {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 1024px) {
  .p-stay-plan__hd {
    padding: 7rem 0 1.7rem;
  }
}
@media (max-width: 1024px) and (max-height: 700px) {
  .p-stay-plan__hd {
    padding-bottom: 1.5vh;
  }
}

.p-stay-plan__day-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 5rem;
  letter-spacing: 0.2em;
  line-height: 1.2;
  color: #B2B2B2;
}
@media (max-width: 1024px) {
  .p-stay-plan__day-en {
    font-size: 2.8rem;
  }
}

.p-stay-plan__day-ja {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.18em;
  line-height: 1.8;
  color: #383838;
  margin-top: 1.4rem;
}
@media (min-width: 1025px) and (max-height: 800px) {
  .p-stay-plan__day-ja {
    margin-top: 1.2vh;
  }
}
@media (max-width: 1024px) {
  .p-stay-plan__day-ja {
    font-size: 1.2rem;
    margin-top: 0.8rem;
    line-height: 1.6;
  }
}
@media (max-width: 1024px) and (max-height: 700px) {
  .p-stay-plan__day-ja {
    margin-top: 0.7vh;
  }
}

.p-stay-plan__row {
  margin-top: 6.4rem;
}
@media (min-width: 1025px) {
  .p-stay-plan__row {
    position: relative;
    padding-left: 10rem;
  }
}
@media (min-width: 1025px) and (max-height: 800px) {
  .p-stay-plan__row {
    margin-top: 5vh;
  }
}
@media (max-width: 1024px) {
  .p-stay-plan__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.2rem;
    margin-top: 2rem;
  }
}
@media (max-width: 1024px) and (max-height: 700px) {
  .p-stay-plan__row {
    margin-top: 1.7vh;
  }
}

.p-stay-plan__badge {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 1025px) {
  .p-stay-plan__badge {
    width: 7.4rem;
    height: 7.4rem;
    border-radius: 50%;
    border: 0.5px solid #B2B2B2;
    background: #FFFFFF;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media (max-width: 1024px) {
  .p-stay-plan__badge {
    border: 0.5px solid #B2B2B2;
    border-radius: 2.2rem;
    background: #FFFFFF;
    padding: 0.4rem 1.2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-stay-plan__badge span {
  font-family: "Bodoni Moda", serif;
  font-style: italic;
  font-weight: 500;
  font-size: 1.3rem;
  letter-spacing: 0.15em;
  color: #878787;
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .p-stay-plan__badge span {
    font-size: 1.2rem;
    white-space: nowrap;
  }
}

.p-stay-plan__info-en {
  font-family: "Bodoni Moda", serif;
  font-style: italic;
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: 0.15em;
  line-height: 1.4;
  color: #878787;
}

.p-stay-plan__hd-desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  line-height: 1.8;
  color: #383838;
  text-align: justify;
  margin-top: 1.6rem;
}
@media (min-width: 1025px) and (max-height: 800px) {
  .p-stay-plan__hd-desc {
    margin-top: 1.2vh;
  }
}
@media (max-width: 1024px) {
  .p-stay-plan__hd-desc {
    letter-spacing: 0.04em;
    line-height: 1.6;
    width: 100%;
    margin: 0;
  }
}

.p-stay-plan__body {
  background: #FFFFFF;
  padding: 6.2rem 0 6.7rem;
}
@media (min-width: 1025px) and (max-height: 800px) {
  .p-stay-plan__body {
    padding: 5vh 0 5vh;
  }
}
@media (max-width: 1024px) {
  .p-stay-plan__body {
    padding: 2.4rem 0 1.6rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
@media (max-width: 1024px) and (max-height: 700px) {
  .p-stay-plan__body {
    padding: 2vh 0 1.4vh;
  }
}

.p-stay-plan__place {
  font-family: "Bodoni Moda", serif;
  font-style: italic;
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: 0.15em;
  line-height: 1.4;
  color: #383838;
}
@media (min-width: 1025px) {
  .p-stay-plan__place::after {
    content: "";
    display: block;
    height: 1px;
    background: #B2B2B2;
    margin-top: 1.4rem;
  }
}
@media (min-width: 1025px) and (min-width: 1025px) and (max-height: 800px) {
  .p-stay-plan__place::after {
    margin-top: 1.2vh;
  }
}
@media (max-width: 1024px) {
  .p-stay-plan__place {
    font-size: 1.4rem;
  }
}

.p-stay-plan__sub {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.18em;
  line-height: 1.8;
  color: #383838;
  margin-top: 1.4rem;
}
@media (min-width: 1025px) and (max-height: 800px) {
  .p-stay-plan__sub {
    margin-top: 1.2vh;
  }
}
@media (max-width: 1024px) {
  .p-stay-plan__sub {
    margin-top: 0.2rem;
  }
}
@media (max-width: 1024px) and (max-height: 700px) {
  .p-stay-plan__sub {
    margin-top: 0.2vh;
  }
}

.p-stay-plan__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  line-height: 1.8;
  color: #383838;
  text-align: justify;
  margin-top: 1.6rem;
}
@media (min-width: 1025px) and (max-height: 800px) {
  .p-stay-plan__desc {
    margin-top: 1.2vh;
  }
}
@media (max-width: 1024px) {
  .p-stay-plan__desc {
    letter-spacing: 0.04em;
    line-height: 1.6;
  }
}
@media (max-width: 1024px) and (max-height: 700px) {
  .p-stay-plan__desc {
    margin-top: 1.4vh;
  }
}

.p-stay-plan__img {
  width: 41.8760469012%;
  aspect-ratio: 500/300;
  position: absolute;
  right: 0;
  top: -2rem;
}
.p-stay-plan__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 1025px) and (max-height: 800px) {
  .p-stay-plan__img {
    width: auto;
    height: 32vh;
  }
}
@media (max-width: 1024px) {
  .p-stay-plan__img {
    width: 100%;
    aspect-ratio: 342/190;
    position: static;
    margin-top: 1.6rem;
  }
}
@media (max-width: 1024px) and (max-height: 700px) {
  .p-stay-plan__img {
    margin-top: 1.4vh;
  }
}

.p-stay-exp {
  background: #424242;
  padding-top: 12rem;
  padding-bottom: 12rem;
}
@media (max-width: 1024px) {
  .p-stay-exp {
    padding-top: 7.2rem;
    padding-bottom: 7.2rem;
  }
}

.p-stay-exp__inner {
  width: 110rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}

@media (min-width: 1025px) {
  .p-stay-exp__hd {
    max-width: 50rem;
  }
}

.p-stay-exp__hd-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 5rem;
  letter-spacing: 0.2em;
  line-height: 1.4;
  color: #FFFFFF;
}
@media (max-width: 1024px) {
  .p-stay-exp__hd-en {
    font-size: 2.8rem;
    color: #B2B2B2;
  }
}

.p-stay-exp__hd-ja {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.18em;
  line-height: 1.8;
  color: #FFFFFF;
  margin-top: 3rem;
}
@media (max-width: 1024px) {
  .p-stay-exp__hd-ja {
    font-size: 1.2rem;
    line-height: 1.6;
    margin-top: 2rem;
  }
}

.p-stay-exp__cards {
  margin-top: 8rem;
}
@media (min-width: 1025px) {
  .p-stay-exp__cards {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 36.3rem 10rem 36.3rem;
    grid-template-columns: repeat(2, 36.3rem);
    -webkit-column-gap: 10rem;
       -moz-column-gap: 10rem;
            column-gap: 10rem;
    row-gap: 6rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media (max-width: 1024px) {
  .p-stay-exp__cards {
    margin-top: 4.1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.8rem;
  }
}

.p-stay-exp__card-img {
  height: 22.4rem;
  overflow: hidden;
}
.p-stay-exp__card-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-stay-exp__card-body {
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
}
@media (max-width: 1024px) {
  .p-stay-exp__card-body {
    margin-top: 2rem;
  }
}

.p-stay-exp__card-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.8rem 2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.p-stay-exp__card-en {
  font-family: "Bodoni Moda", serif;
  font-style: italic;
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: 0.15em;
  line-height: 1.4;
  color: #FFFFFF;
}

.p-stay-exp__card-ja {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  line-height: 1.8;
  color: #FFFFFF;
}

.p-stay-exp__card-desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  line-height: 1.8;
  color: #FFFFFF;
  text-align: justify;
}
@media (max-width: 1024px) {
  .p-stay-exp__card-desc {
    letter-spacing: 0.04em;
    line-height: 1.6;
  }
}

.p-stay-exp__dinner {
  width: 82.6rem;
  max-width: calc(100% - 4.8rem);
  margin: 13.2rem auto 0;
}
@media (max-width: 1024px) {
  .p-stay-exp__dinner {
    margin-top: 7.2rem;
  }
}

.p-stay-exp__dinner-hd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.9rem;
}

.p-stay-exp__dinner-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 3.2rem;
  letter-spacing: 0.2em;
  line-height: 1.4;
  color: #FFFFFF;
}
@media (max-width: 1024px) {
  .p-stay-exp__dinner-en {
    font-size: 1.8rem;
  }
}

.p-stay-exp__dinner-ja {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.18em;
  line-height: 1.8;
  color: #FFFFFF;
}

.p-stay-exp__rests {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.8rem;
  margin-top: 5.2rem;
}
@media (max-width: 1024px) {
  .p-stay-exp__rests {
    gap: 1.2rem;
    margin-top: 3.1rem;
  }
}

.p-stay-exp__rest {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 1025px) {
  .p-stay-exp__rest {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media (max-width: 1024px) {
  .p-stay-exp__rest {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-stay-exp__rest-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
}
@media (min-width: 1025px) {
  .p-stay-exp__rest-img {
    width: 25.2rem;
  }
}
@media (max-width: 1024px) {
  .p-stay-exp__rest-img {
    height: 14.5rem;
  }
}
.p-stay-exp__rest-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-stay-exp__rest-body {
  background: #292929;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 1025px) {
  .p-stay-exp__rest-body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    gap: 2.4rem;
    padding: 3.6rem 2rem 2.8rem 2.8rem;
  }
}
@media (max-width: 1024px) {
  .p-stay-exp__rest-body {
    gap: 1.1rem;
    padding: 2rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-stay-exp__rest-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.4rem;
}
@media (max-width: 1024px) {
  .p-stay-exp__rest-text {
    -ms-flex-item-align: start;
        align-self: flex-start;
    width: 100%;
  }
}

.p-stay-exp__rest-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2.6rem;
  letter-spacing: 0.15em;
  line-height: 1.6;
  color: #FFFFFF;
}
@media (max-width: 1024px) {
  .p-stay-exp__rest-en {
    font-size: 1.8rem;
  }
}

.p-stay-exp__rest-ja {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  line-height: 1.8;
  color: #FFFFFF;
}

.p-stay-exp__rest-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 6rem;
  width: 31rem;
  max-width: 100%;
  background: #6D005C;
  color: #FFFFFF;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0.36em;
  text-decoration: none;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
@media (min-width: 1025px) {
  .p-stay-exp__rest-btn:hover {
    background: #550049;
  }
}

.p-stay-stay {
  text-align: center;
  padding: 0 0 10rem;
}
@media (max-width: 1024px) {
  .p-stay-stay {
    padding: 4rem 0;
  }
}
.p-stay-stay__ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 5rem;
  line-height: 140%;
  letter-spacing: 0.02em;
  color: #B2B2B2;
}
@media (max-width: 1024px) {
  .p-stay-stay__ttl {
    font-size: 2.8rem;
  }
}
.p-stay-stay__lead {
  width: 46rem;
  max-width: calc(100% - 4rem);
  margin: 3rem auto 0;
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
}
.p-stay-stay__lead-ttl {
  font-size: 1.4rem;
  line-height: 180%;
  letter-spacing: 0.018em;
  margin-bottom: 2rem;
}
.p-stay-stay__lead-txt {
  font-size: 1.2rem;
  line-height: 240%;
  letter-spacing: 0.08em;
}
@media (max-width: 1024px) {
  .p-stay-stay__lead {
    margin-top: 1.4rem;
  }
  .p-stay-stay__lead-txt {
    font-size: 1rem;
    letter-spacing: 0.06em;
  }
}
.p-stay-stay__imgs {
  width: 139.2rem;
  max-width: calc(100% - 4.8rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 8.8rem auto 0;
}
.p-stay-stay__imgs-item {
  width: calc((100% - 6rem) / 3);
  aspect-ratio: 444/300;
}
.p-stay-stay__imgs-item img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (max-width: 1024px) {
  .p-stay-stay__imgs {
    margin-top: 3.8rem;
    max-width: 100%;
  }
  .p-stay-stay__imgs-item {
    width: calc((100% - 0.8rem) / 3);
    aspect-ratio: 127.33/100;
  }
}

.p-faq {
  padding: 12rem 0 10rem;
}
@media (max-width: 1024px) {
  .p-faq {
    padding: 6rem 0;
  }
}
.p-faq__filter {
  width: 122.4rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-faq__inner {
  width: 72rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-faq__ttl {
  margin-top: 5.2rem;
  text-align: center;
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.16em;
}
@media (max-width: 1024px) {
  .p-faq__ttl {
    margin-top: 6rem;
    font-size: 1.8rem;
  }
}
.p-faq__list {
  margin-top: 5.2rem;
}
@media (max-width: 1024px) {
  .p-faq__list {
    margin-top: 4.2rem;
  }
}

.p-access {
  background: #FFFFFF;
  padding-bottom: 10rem;
}
@media (max-width: 1024px) {
  .p-access {
    padding-bottom: 6rem;
  }
}

.p-access__inner {
  width: 110rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}

.p-access__cat-hd {
  border-top: 0.5px solid #383838;
  border-bottom: 0.5px solid #383838;
  padding: 0.8rem 0;
  text-align: center;
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.2em;
  line-height: 1.8;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-access__cat-hd {
    font-size: 1.4rem;
    padding: 0.4rem 0;
  }
}

.p-access__body {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #383838;
}
.p-access__body p {
  margin-bottom: 0;
}
.p-access__body p + p {
  margin-top: 1em;
}
@media (max-width: 1024px) {
  .p-access__body {
    font-size: 1.4rem;
    letter-spacing: 0.14em;
  }
}

.p-access__note {
  font-size: 1.2rem;
  color: #B2B2B2;
  letter-spacing: 0.16em;
}
@media (max-width: 1024px) {
  .p-access__note {
    display: block;
  }
}

.p-access__sub-ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: 0.16em;
  line-height: 2.1;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-access__sub-ttl {
    font-size: 2rem;
    line-height: 1.8;
  }
}

.p-access__transport {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 1024px) {
  .p-access__transport {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
}

.p-access__col {
  width: 45.5rem;
}
@media (max-width: 1024px) {
  .p-access__col {
    width: 100%;
  }
}
.p-access__col .p-access__cat-hd + .p-access__body {
  margin-top: 3.5rem;
}

.p-access__sec {
  margin-top: 3rem;
}
.p-access__sec + .p-access__sec {
  margin-top: 6rem;
}
.p-access__sec .p-access__sub-ttl + .p-access__body {
  margin-top: 1.5rem;
}
@media (max-width: 1024px) {
  .p-access__sec {
    margin-top: 2rem;
  }
  .p-access__sec + .p-access__sec {
    margin-top: 4rem;
  }
  .p-access__sec .p-access__sub-ttl + .p-access__body {
    margin-top: 0.6rem;
  }
}

.p-access__car {
  margin-top: 12.8rem;
}
.p-access__car .p-access__cat-hd + .p-access__sub-ttl {
  margin-top: 3rem;
}
.p-access__car .p-access__sub-ttl + .p-access__body {
  margin-top: 1.5rem;
}
@media (max-width: 1024px) {
  .p-access__car {
    margin-top: 3rem;
  }
  .p-access__car .p-access__cat-hd + .p-access__sub-ttl {
    margin-top: 2rem;
  }
  .p-access__car .p-access__sub-ttl + .p-access__body {
    margin-top: 0.6rem;
  }
}

.p-access__park-box {
  margin-top: 3rem;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.5)), to(rgba(214, 207, 182, 0.5)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0.5), rgba(214, 207, 182, 0.5));
  padding: 3rem 6rem 3rem 6.8rem;
}
@media (max-width: 1024px) {
  .p-access__park-box {
    margin-top: 5.5rem;
    padding: 3rem 2rem;
  }
}

.p-access__park-sec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-access__park-sec + .p-access__park-sec {
  margin-top: 7rem;
}
@media (max-width: 1024px) {
  .p-access__park-sec + .p-access__park-sec {
    margin-top: 4rem;
  }
}

.p-access__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 10rem;
}
@media (max-width: 1024px) {
  .p-access__info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 6rem;
  }
}

.p-access__gmap {
  width: 40.2rem;
  max-width: 36.5454545455%;
}
.p-access__gmap .c-iframe {
  padding-bottom: 38rem;
}
@media (max-width: 1024px) {
  .p-access__gmap {
    width: 100%;
    max-width: 100%;
  }
  .p-access__gmap .c-iframe {
    padding-bottom: 32.9rem;
  }
}

.p-access__detail {
  margin-left: 6.3rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.8rem;
}
@media (max-width: 1024px) {
  .p-access__detail {
    margin-left: 0;
    margin-top: 2rem;
    width: 100%;
    gap: 2rem;
  }
}

.p-access__dist {
  margin-left: 2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30.5rem;
}
@media (max-width: 1024px) {
  .p-access__dist {
    margin-left: 0;
    margin-top: 3rem;
    width: 100%;
  }
}

.p-access__info-ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.16em;
  line-height: 2.52;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-access__info-ttl {
    line-height: 1.8;
  }
}

.p-access__dist-body {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #383838;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 1024px) {
  .p-access__dist-body {
    font-size: 1.4rem;
    letter-spacing: 0.14em;
  }
}

.p-access__map {
  margin-top: 10rem;
}
.p-access__map img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 1024px) {
  .p-access__map {
    margin-top: 7rem;
  }
  .p-access__map img {
    width: 72.9rem;
    max-width: none;
  }
}

.p-access__foot {
  text-align: center;
  margin-top: 10rem;
}
@media (max-width: 1024px) {
  .p-access__foot {
    margin-top: 6rem;
  }
}

.p-company {
  padding: 0 0 10rem;
}
.p-company__inner {
  width: 110rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-company__dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.8rem;
  border-bottom: solid 1px #B2B2B2;
  padding: 3rem 0;
}
@media (max-width: 1024px) {
  .p-company__dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem 0;
  }
}
.p-company__dt {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  width: 20rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1024px) {
  .p-company__dt {
    width: 100%;
  }
}
.p-company__dd {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-company__dd-txt {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.16em;
}
.p-company__dd-txt + .p-company__dd-txt {
  margin-top: 1em;
}
@media (max-width: 1024px) {
  .p-company__dd {
    width: 100%;
  }
}
.p-company__foot {
  text-align: center;
  margin-top: 10rem;
}
@media (max-width: 1024px) {
  .p-company__foot {
    margin-top: 6rem;
  }
}

.p-cuisine-menu {
  padding: 14.5rem 0 16rem;
  background: url(../img/common/bg_line.svg) center/contain no-repeat;
}
@media (max-width: 1024px) {
  .p-cuisine-menu {
    padding: 5.5rem 0 6rem;
    background: url(../img/common/bg_line_sp.svg) center top/100% auto repeat-y;
  }
}
.p-cuisine-menu__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-cuisine-menu__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 1024px) {
  .p-cuisine-menu__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.4rem;
  }
}
.p-cuisine-menu__ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 6.4rem;
  color: #B2B2B2;
  letter-spacing: 0.05em;
  line-height: 1.1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 58.5rem;
}
@media (max-width: 1024px) {
  .p-cuisine-menu__ttl {
    font-size: 2.4rem;
    font-weight: 500;
    color: #383838;
    letter-spacing: 0.16em;
    width: auto;
  }
}
.p-cuisine-menu__lead {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
  max-width: 64.6rem;
}
@media (max-width: 1024px) {
  .p-cuisine-menu__lead {
    font-size: 1.4rem;
    line-height: 1.7;
    max-width: none;
  }
}
.p-cuisine-menu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 9.2rem;
}
@media (max-width: 1024px) {
  .p-cuisine-menu__list {
    margin-top: 3.4rem;
    gap: 4rem;
  }
}
.p-cuisine-menu__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6.4rem;
}
@media (min-width: 1025px) {
  .p-cuisine-menu__item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media (max-width: 1024px) {
  .p-cuisine-menu__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1.6rem;
  }
}
.p-cuisine-menu__fig {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 58.5rem;
  aspect-ratio: 585/400;
  overflow: hidden;
  margin: 0;
}
.p-cuisine-menu__fig img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .p-cuisine-menu__fig {
    width: 100%;
  }
}
.p-cuisine-menu__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.p-cuisine-menu__label {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.4rem;
  color: #B2B2B2;
  letter-spacing: 0.16em;
}
.p-cuisine-menu__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
  max-width: 34.7rem;
}
@media (max-width: 1024px) {
  .p-cuisine-menu__text {
    max-width: none;
  }
}

.p-cuisine-profile {
  background: #FFFCF7;
}
.p-cuisine-profile__banner {
  display: block;
}
.p-cuisine-profile__banner img {
  width: 100%;
  height: auto;
  display: block;
}
.p-cuisine-profile__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
  padding: 14.5rem 0 13rem;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__inner {
    padding: 6.5rem 0 6.4rem;
  }
}
.p-cuisine-profile__hd-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 6.4rem;
  letter-spacing: 0.05em;
  line-height: 1.1;
  color: #B2B2B2;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__hd-en {
    font-size: 4rem;
    color: #767676;
  }
}
.p-cuisine-profile__hd-jp {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  color: #383838;
  margin-top: 1.5rem;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__hd-jp {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.p-cuisine-profile__profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6rem;
  margin-top: 6rem;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__profile {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3rem;
    margin-top: 3.4rem;
  }
}
.p-cuisine-profile__fig {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 43rem;
  aspect-ratio: 430/526;
  overflow: hidden;
}
.p-cuisine-profile__fig img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__fig {
    width: 31rem;
    aspect-ratio: 310/379;
  }
}
.p-cuisine-profile__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 2.2rem;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__body {
    padding-top: 0;
    width: 100%;
  }
}
.p-cuisine-profile__role {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  color: #B2B2B2;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__role {
    font-size: 1.2rem;
  }
}
.p-cuisine-profile__name {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: 0.16em;
  line-height: 2.1;
  color: #383838;
  margin-top: 1.4rem;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__name {
    font-size: 2rem;
    line-height: 1.8;
  }
}
.p-cuisine-profile__name-en {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.4rem;
  letter-spacing: 0.16em;
  color: #B2B2B2;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__name-en {
    font-size: 1.2rem;
  }
}
.p-cuisine-profile .c-detail-toggle {
  margin-top: 4rem;
}
.p-cuisine-profile__caption {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
  margin-top: 2.4rem;
  padding: 2.4rem 9rem 0 0;
  border-top: 0.1rem solid #383838;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__caption {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-top: 5.4rem;
    padding: 2rem 0 0;
  }
}
.p-cuisine-profile__gallery {
  margin-top: 9.5rem;
}
.p-cuisine-profile__gallery img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__gallery {
    margin-top: 6rem;
  }
}
.p-cuisine-profile__interview {
  text-align: center;
  margin-top: 9.7rem;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__interview {
    margin-top: 6rem;
  }
}
.p-cuisine-profile__interview-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__interview-en {
    font-size: 2rem;
  }
}
.p-cuisine-profile__interview-lead {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #383838;
  margin-top: 1.6rem;
}
@media (max-width: 1024px) {
  .p-cuisine-profile__interview-lead {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.p-cuisine-profile .c-movie {
  margin-top: 4.3rem;
}
.p-cuisine-profile--sommelier .p-cuisine-profile__inner {
  padding-top: 9.7rem;
}
@media (max-width: 1024px) {
  .p-cuisine-profile--sommelier .p-cuisine-profile__inner {
    padding-top: 3.6rem;
  }
}

.p-cuisine-dish__banner {
  display: block;
}
.p-cuisine-dish__banner img {
  width: 100%;
  height: auto;
  display: block;
}
.p-cuisine-dish__bg {
  position: relative;
  padding: 13.6rem 0 9.7rem;
}
@media (max-width: 1024px) {
  .p-cuisine-dish__bg {
    padding: 8.9rem 0;
  }
}
.p-cuisine-dish__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.55)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%);
  pointer-events: none;
}
.p-cuisine-dish__bg-img {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-cuisine-dish__bg-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-cuisine-dish__inner {
  position: relative;
  z-index: 2;
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-cuisine-dish__label {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.6rem;
  color: #FFFCF7;
  letter-spacing: 0.16em;
}
@media (max-width: 1024px) {
  .p-cuisine-dish__label {
    font-size: 1.2rem;
  }
}
.p-cuisine-dish__ttl {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.8rem;
  color: #FFFCF7;
  letter-spacing: 0.16em;
  line-height: 1.8;
  margin-top: 1.8rem;
}
@media (max-width: 1024px) {
  .p-cuisine-dish__ttl {
    font-size: 2rem;
    margin-top: 1.6rem;
  }
}
.p-cuisine-dish__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #FFFCF7;
  letter-spacing: 0.16em;
  line-height: 1.75;
  margin-top: 2.6rem;
}
@media (max-width: 1024px) {
  .p-cuisine-dish__text {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-top: 2rem;
  }
}

.p-cuisine-signature {
  padding: 12rem 0 14rem;
}
@media (max-width: 1024px) {
  .p-cuisine-signature {
    padding: 6rem 0 7rem;
  }
}
.p-cuisine-signature__inner {
  width: 122rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
.p-cuisine-signature__ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2.6rem;
  color: #383838;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__ttl {
    font-size: 2rem;
  }
}
.p-cuisine-signature__lead {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
  text-align: center;
  margin-top: 3.7rem;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__lead {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-top: 2.3rem;
  }
}
.p-cuisine-signature__list {
  margin-top: 6.4rem;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__list {
    margin-top: 3.6rem;
  }
}
.p-cuisine-signature__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 5.8rem;
  padding-bottom: 3.7rem;
  border-bottom: 0.1rem solid #B2B2B2;
}
.p-cuisine-signature__item + .p-cuisine-signature__item {
  padding-top: 3.7rem;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
    padding-bottom: 3rem;
  }
  .p-cuisine-signature__item + .p-cuisine-signature__item {
    padding-top: 3rem;
  }
}
.p-cuisine-signature__fig {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 49rem;
  aspect-ratio: 490/315;
  overflow: hidden;
  margin: 0;
}
.p-cuisine-signature__fig img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__fig {
    width: 100%;
  }
}
.p-cuisine-signature__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-top: 2.7rem;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__body {
    padding-top: 0;
  }
}
.p-cuisine-signature__name {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.4rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__name {
    font-size: 2rem;
    line-height: 1.7;
  }
}
.p-cuisine-signature__name-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #B2B2B2;
  letter-spacing: 0.16em;
  margin-top: 0.8rem;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__name-en {
    font-size: 1.2rem;
  }
}
.p-cuisine-signature__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
  margin-top: 2rem;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__text {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-top: 1.6rem;
  }
}
.p-cuisine-signature__other {
  margin: 12rem auto 0;
  width: 144rem;
  max-width: 100%;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__other {
    padding: 0 2rem;
    margin-top: 3rem;
  }
}
.p-cuisine-signature__hospitality {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 9.3rem;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__hospitality {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
}
.p-cuisine-signature__hospitality-fig {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 770/400;
  overflow: hidden;
  margin: 0;
}
.p-cuisine-signature__hospitality-fig img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (min-width: 1025px) {
  .p-cuisine-signature__hospitality-fig {
    width: 77rem;
    max-width: 53.4722222222%;
  }
}
@media (max-width: 1024px) {
  .p-cuisine-signature__hospitality-fig {
    aspect-ratio: 350/180;
  }
}
@media (min-width: 1025px) {
  .p-cuisine-signature__hospitality-body {
    padding-top: 0.4rem;
    width: 36rem;
    max-width: 25%;
  }
}
.p-cuisine-signature__hospitality-label {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #B2B2B2;
  letter-spacing: 0.16em;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__hospitality-label {
    font-size: 1.2rem;
  }
}
.p-cuisine-signature__hospitality-ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2.6rem;
  color: #383838;
  letter-spacing: 0.1em;
  margin-top: 1.4rem;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__hospitality-ttl {
    font-size: 2rem;
    margin-top: 1.2rem;
  }
}
.p-cuisine-signature__hospitality-text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
  margin-top: 2.9rem;
}
@media (max-width: 1024px) {
  .p-cuisine-signature__hospitality-text {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-top: 1.6rem;
  }
}

.p-cuisine-beverage__visual {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  aspect-ratio: 1440/536;
  overflow: hidden;
  padding-bottom: 7.2rem;
}
@media (max-width: 1024px) {
  .p-cuisine-beverage__visual {
    aspect-ratio: 390/280;
    padding-bottom: 2.9rem;
  }
}
.p-cuisine-beverage__visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.45)), color-stop(60%, rgba(0, 0, 0, 0)));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0) 60%);
  pointer-events: none;
}
@media (max-width: 1024px) {
  .p-cuisine-beverage__visual::before {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.4)), to(rgba(0, 0, 0, 0.1)));
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.1));
  }
}
.p-cuisine-beverage__visual-img {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-cuisine-beverage__visual-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-cuisine-beverage__mark {
  position: relative;
  z-index: 2;
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 6.4rem;
  letter-spacing: 0.12em;
  color: #FFFCF7;
  padding-left: max(3.4rem, 50% - 61rem);
}
@media (max-width: 1024px) {
  .p-cuisine-beverage__mark {
    font-size: 3.6rem;
    padding-left: 2rem;
  }
}
.p-cuisine-beverage__body {
  background: #FFFCF7;
  text-align: center;
  padding: 6rem 2rem;
}
@media (max-width: 1024px) {
  .p-cuisine-beverage__body {
    padding: 4.5rem 2rem;
  }
}
.p-cuisine-beverage__label {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  color: #383838;
}
@media (max-width: 1024px) {
  .p-cuisine-beverage__label {
    font-size: 2rem;
  }
}
.p-cuisine-beverage__text {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
  line-height: 1.75;
  color: #383838;
  margin-top: 2.4rem;
}
@media (max-width: 1024px) {
  .p-cuisine-beverage__text {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-top: 2rem;
  }
}

.p-concept-nav {
  background: #F7F5EE;
  padding: 2rem;
}
.p-concept-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 144rem;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-concept-nav__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.6rem;
  }
}
.p-concept-nav__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
}
@media (max-width: 1024px) {
  .p-concept-nav__item {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    height: 12rem;
  }
}
.p-concept-nav__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}
@media (min-width: 1025px) {
  .p-concept-nav__link {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .p-concept-nav__link:hover {
    opacity: 0.7;
  }
}
.p-concept-nav__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(16rem, 11.1111111111vw);
  height: 18.8rem;
}
@media (max-width: 1024px) {
  .p-concept-nav__img {
    width: min(10rem, 25.641025641vw);
    height: 100%;
  }
}
.p-concept-nav__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-concept-nav__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
  height: 18.8rem;
  background: #FFFFFF;
  padding: 3.6rem 0.5rem 2.6rem 1rem;
}
@media (max-width: 1024px) {
  .p-concept-nav__body {
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 2rem 0.5rem 1.4rem 1rem;
  }
}
.p-concept-nav__ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: min(2.6rem, 1.8055555556vw);
  color: #383838;
  letter-spacing: 0.15em;
  line-height: 1.6;
}
@media (max-width: 1024px) {
  .p-concept-nav__ttl {
    font-size: min(2rem, 5.1282051282vw);
    line-height: 1.4;
  }
}
.p-concept-nav__link-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-concept-nav__link-row::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.1rem;
  background: #383838;
  margin-top: 0.2rem;
}
.p-concept-nav__link-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.8rem;
  width: 100%;
}
.p-concept-nav__link-txt {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: min(1.2rem, 0.8333333333vw);
  color: #383838;
  letter-spacing: 0.12em;
  line-height: 1.8;
  text-align: right;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .p-concept-nav__link-txt {
    font-size: min(1.4rem, 3.5897435897vw);
    text-align: left;
  }
}
.p-concept-nav__link-dot {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.3rem;
  height: 0.3rem;
  background: #383838;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.p-concept-hotel-movie {
  position: relative;
  height: 90rem;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-concept-hotel-movie {
    height: 60rem;
  }
}
.p-concept-hotel-movie__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-concept-hotel-movie__ttl {
  position: absolute;
  top: 6rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: min(9rem, 6.25vw);
  color: #FFFFFF;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .p-concept-hotel-movie__ttl {
    top: 3rem;
    font-size: min(5rem, 12.8205128205vw);
  }
}

.p-concept-hotel-message {
  background: #FFFFFF;
}
.p-concept-hotel-message__canvas {
  position: relative;
  width: min(144rem, 100%);
  aspect-ratio: 1440/1000;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__canvas {
    width: 100%;
    aspect-ratio: auto;
    display: block;
    padding: 3.6rem 0;
  }
}
@media (min-width: 1025px) {
  .p-concept-hotel-message__row {
    display: contents;
  }
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__row--a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.p-concept-hotel-message__text {
  position: absolute;
  left: 50%;
  top: 14.8%;
  width: 51.042%;
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__text {
    position: static;
    width: 100%;
    padding: 5.2rem 2.4rem;
    -webkit-transform: none;
            transform: none;
  }
}
.p-concept-hotel-message__lead-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.4rem;
  width: 100%;
  margin-bottom: 5.6rem;
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__lead-group {
    gap: 3rem;
    margin-bottom: 3rem;
  }
}
.p-concept-hotel-message__lead-jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: min(1.4rem, 0.9722222222vw);
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__lead-jp {
    font-size: min(1.4rem, 3.5897435897vw);
  }
}
.p-concept-hotel-message__lead-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: min(2.6rem, 1.8055555556vw);
  color: #B2B2B2;
  letter-spacing: 0.15em;
  line-height: 1.6;
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__lead-en {
    font-size: min(2rem, 5.1282051282vw);
    line-height: 1.6;
  }
}
.p-concept-hotel-message__body {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: min(1.2rem, 0.8333333333vw);
  color: #383838;
  letter-spacing: 0.08em;
  line-height: 2.4;
}
.p-concept-hotel-message__body p + p {
  margin-top: 2em;
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__body {
    font-size: min(1rem, 2.5641025641vw);
    letter-spacing: 0.06em;
  }
}
.p-concept-hotel-message__img {
  position: absolute;
  overflow: hidden;
}
.p-concept-hotel-message__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__img {
    position: static;
  }
}
.p-concept-hotel-message__img--01 {
  left: 6.25%;
  top: 12.076%;
  width: 17.153%;
  height: 32.1%;
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__img--01 {
    width: 38.7179487179%;
    height: auto;
    aspect-ratio: 151/196;
    margin-left: 4.1025641026%;
  }
}
.p-concept-hotel-message__img--03 {
  left: 78.333%;
  top: 26.5%;
  width: 21.667%;
  height: 35.3%;
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__img--03 {
    width: 43.59%;
    height: auto;
    aspect-ratio: 170/192;
    margin-top: 4.6rem;
  }
}
.p-concept-hotel-message__img--02 {
  left: 0;
  top: 62.8%;
  width: 27.361%;
  height: 25.1%;
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__img--02 {
    width: 56.41%;
    height: auto;
    aspect-ratio: 220/140;
  }
}
.p-concept-hotel-message__img--04 {
  left: 63.403%;
  top: 77.6%;
  width: 22.083%;
  height: 14.5%;
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__img--04 {
    width: 57.1794871795%;
    height: auto;
    aspect-ratio: 223/101;
    margin-top: 1.1rem;
    margin-left: 37.4358974359%;
  }
}
.p-concept-hotel-message__location {
  width: 100%;
  height: 36rem;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-concept-hotel-message__location {
    height: 20rem;
  }
}
.p-concept-hotel-message__location img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-concept-features {
  position: relative;
}
.p-concept-features__slider {
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-concept-features__slider {
    overflow: visible;
  }
}
@media (max-width: 1024px) {
  .p-concept-features .swiper-wrapper {
    display: block;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}
.p-concept-features__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: min(144rem, 100vw);
  height: 80rem;
  padding: min(13rem, 9.0277777778vw) min(10rem, 6.9444444444vw) min(14rem, 9.7222222222vw) min(15rem, 10.4166666667vw);
}
@media (max-width: 1024px) {
  .p-concept-features__slide {
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    padding: 5rem 2.4rem;
  }
}
.p-concept-features__slide--art {
  background: #424242;
}
.p-concept-features__slide--social {
  background: #423026;
}
.p-concept-features__slide--cuisine {
  background: #FFFCF7;
}
.p-concept-features__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 110rem;
  max-width: 100%;
}
@media (max-width: 1024px) {
  .p-concept-features__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
}
.p-concept-features__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8rem;
  width: 50rem;
  max-width: 100%;
}
@media (max-width: 1024px) {
  .p-concept-features__text {
    gap: 2rem;
    width: 100%;
  }
}
.p-concept-features__ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 5rem;
  color: #B2B2B2;
  letter-spacing: 0.2em;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .p-concept-features__ttl {
    font-size: 2.8rem;
  }
}
.p-concept-features__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
  padding-right: min(6rem, 4.1666666667vw);
}
@media (max-width: 1024px) {
  .p-concept-features__content {
    gap: 3rem;
    padding-right: 0;
  }
}
.p-concept-features__lead-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.p-concept-features__lead {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #FFFFFF;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .p-concept-features__lead {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
.p-concept-features__slide--cuisine .p-concept-features__lead {
  color: #383838;
}
.p-concept-features__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: 0.12em;
  line-height: 1.8;
  text-align: justify;
}
.p-concept-features__slide--cuisine .p-concept-features__desc {
  color: #383838;
}
.p-concept-features__desc p + p {
  margin-top: 1.8em;
}
.p-concept-features__recommend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media (max-width: 1024px) {
  .p-concept-features__recommend {
    gap: 1rem;
  }
}
.p-concept-features__recommend-ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #B2B2B2;
  letter-spacing: 0.15em;
  line-height: 1.4;
}
.p-concept-features__recommend-list {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.2rem;
  color: #FFFFFF;
  letter-spacing: 0.12em;
  line-height: 1.8;
  text-align: justify;
  min-height: 9.6rem;
}
@media (max-width: 1024px) {
  .p-concept-features__recommend-list {
    min-height: 0;
  }
}
.p-concept-features__slide--cuisine .p-concept-features__recommend-list {
  color: #383838;
}
.p-concept-features__img-group {
  position: relative;
  width: 100%;
  aspect-ratio: 550/440;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 1025px) {
  .p-concept-features__img-group {
    width: min(55rem, 38.1944444444vw);
  }
}
.p-concept-features__img {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.p-concept-features__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-concept-features__nav {
  position: absolute;
  left: 50%;
  bottom: 4rem;
  -webkit-transform: translateX(calc(-50% + 27.5rem));
          transform: translateX(calc(-50% + 27.5rem));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
  z-index: 2;
}
.p-concept-features__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1rem;
  height: 1rem;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.p-concept-features__arrow::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-style: solid;
  border-width: 1px 1px 0 0;
  border-color: #FFFFFF;
  -webkit-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
}
.p-concept-features__arrow--prev::before {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.p-concept-features__arrow--next::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.p-concept-features__num {
  font-family: "Cormorant", serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #FFFFFF;
  letter-spacing: 0.15em;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.p-concept-features__progress {
  position: relative;
  width: 9rem;
  height: 0.1rem;
  background: rgba(255, 255, 255, 0.4);
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.p-concept-features__progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background: #FFFFFF;
  -webkit-transition: width 0.3s ease, background 0.3s ease;
  transition: width 0.3s ease, background 0.3s ease;
}
.p-concept-features__nav.is-dark .p-concept-features__arrow::before {
  border-color: #383838;
}
.p-concept-features__nav.is-dark .p-concept-features__num {
  color: #383838;
}
.p-concept-features__nav.is-dark .p-concept-features__progress {
  background: rgba(56, 56, 56, 0.4);
}
.p-concept-features__nav.is-dark .p-concept-features__progress-fill {
  background: #383838;
}

.p-concept-wedding-movie__ttl {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: min(9rem, 6.25vw);
  color: #B2B2B2;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .p-concept-wedding-movie__ttl {
    font-size: min(3.6rem, 9.2307692308vw);
  }
}
.p-concept-wedding-movie__content {
  position: relative;
  height: 80.2rem;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-concept-wedding-movie__content {
    height: 21.7rem;
  }
}
.p-concept-wedding-movie__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-concept-wedding-movie__play {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: #FFFFFF;
}
.p-concept-wedding-movie__play::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 56%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 1rem 0 1rem 1.7rem;
  border-color: transparent transparent transparent #D9D9D9;
}

.p-concept-wedding-message {
  background: #FFFFFF;
  overflow: hidden;
}
.p-concept-wedding-message__canvas {
  position: relative;
  width: min(144rem, 100%);
  aspect-ratio: 1440/1150;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__canvas {
    width: 100%;
    aspect-ratio: auto;
    display: block;
    padding: 3.8rem 0 0;
  }
}
@media (min-width: 1025px) {
  .p-concept-wedding-message__row {
    display: contents;
  }
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__row--a, .p-concept-wedding-message__row--b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .p-concept-wedding-message__row--a {
    margin-bottom: -4.4rem;
  }
  .p-concept-wedding-message__row--b {
    margin-top: 4rem;
  }
}
.p-concept-wedding-message__intro-row {
  position: absolute;
  left: 11.806%;
  top: 10.24%;
  width: 76.389%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10.3rem;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__intro-row {
    position: static;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    padding: 0 2rem;
    margin-bottom: 3rem;
  }
}
.p-concept-wedding-message__ttl-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 43.7rem;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__ttl-img {
    width: 32rem;
    max-width: 100%;
    mix-blend-mode: multiply;
  }
}
.p-concept-wedding-message__ttl-img img {
  width: 100%;
  height: auto;
  display: block;
}
.p-concept-wedding-message__intro {
  width: 48rem;
  max-width: 100%;
  text-align: left;
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: min(1.6rem, 1.1111111111vw);
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 2.2;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__intro {
    width: 100%;
    text-align: center;
    font-size: min(1rem, 2.5641025641vw);
  }
}
.p-concept-wedding-message__text {
  position: absolute;
  left: 23.681%;
  top: 43.11%;
  width: 51.042%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__text {
    position: static;
    width: 100%;
    padding: 0 2rem;
  }
}
.p-concept-wedding-message__lead {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: min(1.6rem, 1.1111111111vw);
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__lead {
    font-size: min(1.4rem, 3.5897435897vw);
  }
}
.p-concept-wedding-message__body {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: min(1.2rem, 0.8333333333vw);
  color: #383838;
  letter-spacing: 0.06em;
  line-height: 2.4;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__body {
    font-size: min(1rem, 2.5641025641vw);
  }
}
.p-concept-wedding-message__copy {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: min(2.6rem, 1.8055555556vw);
  color: #B2B2B2;
  letter-spacing: 0.15em;
  line-height: 1.6;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__copy {
    font-size: min(2rem, 5.1282051282vw);
  }
}
.p-concept-wedding-message__img {
  position: absolute;
  overflow: hidden;
}
.p-concept-wedding-message__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__img {
    position: static;
  }
}
.p-concept-wedding-message__img-c {
  left: 0;
  top: 36.501%;
  width: 27.917%;
  height: 21.826%;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__img-c {
    width: 54.8717948718%;
    height: auto;
    aspect-ratio: 214/134;
    margin-top: 8.5rem;
  }
}
.p-concept-wedding-message__img-a {
  left: 72.153%;
  top: 29.979%;
  width: 20.139%;
  height: 30.87%;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__img-a {
    width: 43.59%;
    height: auto;
    aspect-ratio: 170/208;
    margin-top: 2.8rem;
  }
}
.p-concept-wedding-message__img-d {
  left: 10.625%;
  top: 70.849%;
  width: 13.889%;
  height: 21.13%;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__img-d {
    width: 35.1282051282%;
    height: auto;
    aspect-ratio: 137/175;
    margin-left: 4.8717948718%;
  }
}
.p-concept-wedding-message__img-e {
  left: 27.292%;
  top: 84.762%;
  width: 13.889%;
  height: 14.348%;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__img-e {
    width: 38.9743589744%;
    height: auto;
    aspect-ratio: 152/132;
  }
}
.p-concept-wedding-message__img-b {
  right: 0;
  top: 70.849%;
  width: 33.764%;
  height: 21.826%;
}
@media (max-width: 1024px) {
  .p-concept-wedding-message__img-b {
    width: 100%;
    height: auto;
    aspect-ratio: 390/200;
    margin-top: 4.8rem;
  }
}

.p-concept-cta {
  background: #FFFFFF;
  padding: 7rem 2rem 12rem;
}
@media (max-width: 1024px) {
  .p-concept-cta {
    padding: 4rem 2.4rem;
  }
}
.p-concept-cta__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5.4rem;
  max-width: 110rem;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-concept-cta__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
}
.p-concept-cta__btn {
  width: 42rem;
  max-width: 100%;
  height: 14rem;
}
@media (max-width: 1024px) {
  .p-concept-cta__btn {
    width: 34.2rem;
    height: 12.2rem;
  }
}

.p-concept-creators {
  background: #FFFFFF;
  padding: 0 2rem 5rem;
}
@media (max-width: 1024px) {
  .p-concept-creators {
    padding: 4rem 0 0;
  }
}
.p-concept-creators__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10rem;
  width: 110rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-concept-creators__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3rem;
    max-width: 100%;
    padding: 0 2rem;
  }
}
.p-concept-creators__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.4rem;
  width: 41rem;
  max-width: 100%;
  text-align: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1024px) {
  .p-concept-creators__head {
    gap: 3rem;
  }
}
.p-concept-creators__head-jp {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #383838;
  letter-spacing: 0.18em;
  line-height: 2.2;
}
.p-concept-creators__head-en {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-size: 2.6rem;
  color: #B2B2B2;
  letter-spacing: 0.15em;
  line-height: 1.6;
}
@media (max-width: 1024px) {
  .p-concept-creators__head-en {
    font-size: 2rem;
    line-height: 1.4;
  }
}
.p-concept-creators__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #383838;
  letter-spacing: 0.06em;
  line-height: 2.4;
  text-align: left;
}
.p-concept-creators__body p + p {
  margin-top: 2em;
}
@media (max-width: 1024px) {
  .p-concept-creators__body {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    text-align: center;
    font-size: 1rem;
  }
}
.p-concept-creators__gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
  padding: 0 2.4rem;
  margin-top: 6.2rem;
}
@media (max-width: 1024px) {
  .p-concept-creators__gallery {
    gap: 0.4rem;
    padding: 0;
    margin-top: 3rem;
  }
}
.p-concept-creators__gallery-item {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
  height: 24rem;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .p-concept-creators__gallery-item {
    height: 10rem;
  }
}
.p-concept-creators__gallery-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-styling-morning {
  background: #FFFCF7;
  overflow: hidden;
}
.p-styling-morning__canvas {
  position: relative;
  width: min(144rem, 100%);
  aspect-ratio: 1440/2920;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .p-styling-morning__canvas {
    width: min(39rem, 100%);
    aspect-ratio: 390/2635;
  }
}
.p-styling-morning__line {
  position: absolute;
  width: 0.1rem;
  pointer-events: none;
  z-index: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, #6FD8E3), color-stop(85%, #8DABF1), to(transparent));
  background: linear-gradient(to bottom, transparent 0%, #6FD8E3 15%, #8DABF1 85%, transparent 100%);
}
.p-styling-morning__line--01 {
  left: 100%;
  top: -0.51%;
  height: 52.9%;
  -webkit-transform-origin: top left;
          transform-origin: top left;
  -webkit-transform: rotate(42.35deg);
          transform: rotate(42.35deg);
}
@media (max-width: 1024px) {
  .p-styling-morning__line--01 {
    left: 100%;
    top: 7.18%;
    height: 36.518%;
    -webkit-transform: rotate(23.92deg);
            transform: rotate(23.92deg);
  }
}
.p-styling-morning__line--02 {
  left: 27.71%;
  top: 38.55%;
  height: 52.9%;
  -webkit-transform-origin: top left;
          transform-origin: top left;
  -webkit-transform: rotate(-42.35deg);
          transform: rotate(-42.35deg);
}
@media (max-width: 1024px) {
  .p-styling-morning__line--02 {
    left: 0;
    top: 40.564%;
    height: 36.518%;
    -webkit-transform: rotate(-23.92deg);
            transform: rotate(-23.92deg);
  }
}
.p-styling-morning__ttl {
  position: absolute;
  left: 6.736%;
  top: 4.555%;
  width: 4.931%;
  height: 34.932%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1;
}
@media (max-width: 1024px) {
  .p-styling-morning__ttl {
    left: 81.795%;
    top: 1.783%;
    width: 18.205%;
    height: 14.725%;
  }
}
.p-styling-morning__ttl span {
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
  font-size: 9rem;
  color: #B2B2B2;
  letter-spacing: 0.2em;
  line-height: 1.2;
  white-space: nowrap;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media (max-width: 1024px) {
  .p-styling-morning__ttl span {
    font-size: 3.4rem;
  }
}
.p-styling-morning__text {
  position: absolute;
  left: 56.458%;
  top: 13.151%;
  width: 35.903%;
  z-index: 1;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-styling-morning__text {
    left: 50%;
    top: 3.112%;
    width: 88.462%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.p-styling-morning__lead {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
  font-weight: 500;
  font-size: min(2.4rem, 1.6666666667vw);
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 2.1;
  margin-bottom: 1.9rem;
}
@media (max-width: 1024px) {
  .p-styling-morning__lead {
    font-size: min(1.8rem, 4.6153846154vw);
    letter-spacing: 0.16em;
    margin-bottom: 3.5rem;
  }
}
.p-styling-morning__desc {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  font-size: min(1.6rem, 1.1111111111vw);
  color: #383838;
  letter-spacing: 0.16em;
  line-height: 1.75;
}
.p-styling-morning__desc p + p {
  margin-top: 1.75em;
}
@media (max-width: 1024px) {
  .p-styling-morning__desc {
    font-size: min(1.4rem, 3.5897435897vw);
    line-height: 1.7;
  }
}
.p-styling-morning__img {
  position: absolute;
  overflow: hidden;
}
.p-styling-morning__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-styling-morning__img--01 {
  left: 17.014%;
  top: 7.705%;
  width: 31.111%;
  height: 23.048%;
}
@media (max-width: 1024px) {
  .p-styling-morning__img--01 {
    left: 37.692%;
    top: 21.365%;
    width: 62.308%;
    height: 13.851%;
  }
}
.p-styling-morning__img--02 {
  left: 59.792%;
  top: 27.26%;
  width: 32.569%;
  height: 10.719%;
}
@media (max-width: 1024px) {
  .p-styling-morning__img--02 {
    left: 0;
    top: 12.296%;
    width: 75.897%;
    height: 7.514%;
  }
}
.p-styling-morning__img--03 {
  left: 10.833%;
  top: 42.192%;
  width: 43.403%;
  height: 32.157%;
}
@media (max-width: 1024px) {
  .p-styling-morning__img--03 {
    left: 5.385%;
    top: 39.848%;
    width: 70.769%;
    height: 15.711%;
  }
}
.p-styling-morning__img--04 {
  left: 59.792%;
  top: 52.397%;
  width: 32.569%;
  height: 10.719%;
}
@media (max-width: 1024px) {
  .p-styling-morning__img--04 {
    left: 32.308%;
    top: 57.836%;
    width: 62.821%;
    height: 6.186%;
  }
}
.p-styling-morning__img--05 {
  left: 59.792%;
  top: 64.829%;
  width: 24.375%;
  height: 16.062%;
}
@media (max-width: 1024px) {
  .p-styling-morning__img--05 {
    left: 17.949%;
    top: 66.297%;
    width: 59.231%;
    height: 11.727%;
  }
}
.p-styling-morning__img--06 {
  left: 9.236%;
  top: 83.87%;
  width: 40.069%;
  height: 12.192%;
}
@media (max-width: 1024px) {
  .p-styling-morning__img--06 {
    left: 5.385%;
    top: 80.342%;
    width: 83.077%;
    height: 7.59%;
  }
}
.p-styling-morning__img--07 {
  left: 50.694%;
  top: 83.87%;
  width: 40.069%;
  height: 12.192%;
}
@media (max-width: 1024px) {
  .p-styling-morning__img--07 {
    left: 12.051%;
    top: 89.829%;
    width: 83.077%;
    height: 7.59%;
  }
}

.u-ta--l {
  text-align: left;
}
.u-ta--r {
  text-align: right;
}
.u-ta--c {
  text-align: center;
}
@media (max-width: 1024px) {
  .u-ta--l-sp {
    text-align: left;
  }
  .u-ta--r-sp {
    text-align: right;
  }
  .u-ta--c-sp {
    text-align: center;
  }
}

.u-fw--medium {
  font-weight: 500;
}
.u-fw--semibold {
  font-weight: 600;
}
.u-fw--bold {
  font-weight: bold;
}

.u-fsz-16 {
  font-size: 1.6rem;
  line-height: 1.6;
}
@media (max-width: 1024px) {
  .u-fsz-16--sp14 {
    font-size: 1.4rem;
  }
}
.u-fsz-14 {
  font-size: 1.4rem;
  line-height: 1.6;
}

.u-c--bk {
  color: #383838;
}
.u-c--wh {
  color: #FFFFFF;
}
.u-c--rd {
  color: #ff0000;
}

.u-font--gothic {
  font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", sans-serif;
}
.u-font--mincho {
  font-family: "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Noto Serif JP", serif;
}
.u-font--bodoni {
  font-family: "Bodoni Moda", serif;
}
.u-font--cormorant {
  font-family: "Cormorant", serif;
}
.u-font--inter {
  font-family: "Inter", sans-serif;
}

.u-mt--0 {
  margin-top: 0rem !important;
}

.u-mb--0 {
  margin-bottom: 0rem !important;
}

.u-mr--0 {
  margin-right: 0rem !important;
}

.u-ml--0 {
  margin-left: 0rem !important;
}

.u-pt--0 {
  padding-top: 0rem !important;
}

.u-pb--0 {
  padding-bottom: 0rem !important;
}

.u-pr--0 {
  padding-right: 0rem !important;
}

.u-pl--0 {
  padding-left: 0rem !important;
}

.u-mt--1 {
  margin-top: 1rem !important;
}

.u-mb--1 {
  margin-bottom: 1rem !important;
}

.u-mr--1 {
  margin-right: 1rem !important;
}

.u-ml--1 {
  margin-left: 1rem !important;
}

.u-pt--1 {
  padding-top: 1rem !important;
}

.u-pb--1 {
  padding-bottom: 1rem !important;
}

.u-pr--1 {
  padding-right: 1rem !important;
}

.u-pl--1 {
  padding-left: 1rem !important;
}

.u-mt--2 {
  margin-top: 2rem !important;
}

.u-mb--2 {
  margin-bottom: 2rem !important;
}

.u-mr--2 {
  margin-right: 2rem !important;
}

.u-ml--2 {
  margin-left: 2rem !important;
}

.u-pt--2 {
  padding-top: 2rem !important;
}

.u-pb--2 {
  padding-bottom: 2rem !important;
}

.u-pr--2 {
  padding-right: 2rem !important;
}

.u-pl--2 {
  padding-left: 2rem !important;
}

.u-mt--3 {
  margin-top: 3rem !important;
}

.u-mb--3 {
  margin-bottom: 3rem !important;
}

.u-mr--3 {
  margin-right: 3rem !important;
}

.u-ml--3 {
  margin-left: 3rem !important;
}

.u-pt--3 {
  padding-top: 3rem !important;
}

.u-pb--3 {
  padding-bottom: 3rem !important;
}

.u-pr--3 {
  padding-right: 3rem !important;
}

.u-pl--3 {
  padding-left: 3rem !important;
}

.u-mt--4 {
  margin-top: 4rem !important;
}

.u-mb--4 {
  margin-bottom: 4rem !important;
}

.u-mr--4 {
  margin-right: 4rem !important;
}

.u-ml--4 {
  margin-left: 4rem !important;
}

.u-pt--4 {
  padding-top: 4rem !important;
}

.u-pb--4 {
  padding-bottom: 4rem !important;
}

.u-pr--4 {
  padding-right: 4rem !important;
}

.u-pl--4 {
  padding-left: 4rem !important;
}

.u-mt--5 {
  margin-top: 5rem !important;
}

.u-mb--5 {
  margin-bottom: 5rem !important;
}

.u-mr--5 {
  margin-right: 5rem !important;
}

.u-ml--5 {
  margin-left: 5rem !important;
}

.u-pt--5 {
  padding-top: 5rem !important;
}

.u-pb--5 {
  padding-bottom: 5rem !important;
}

.u-pr--5 {
  padding-right: 5rem !important;
}

.u-pl--5 {
  padding-left: 5rem !important;
}

.u-mt--6 {
  margin-top: 6rem !important;
}

.u-mb--6 {
  margin-bottom: 6rem !important;
}

.u-mr--6 {
  margin-right: 6rem !important;
}

.u-ml--6 {
  margin-left: 6rem !important;
}

.u-pt--6 {
  padding-top: 6rem !important;
}

.u-pb--6 {
  padding-bottom: 6rem !important;
}

.u-pr--6 {
  padding-right: 6rem !important;
}

.u-pl--6 {
  padding-left: 6rem !important;
}

.u-mt--7 {
  margin-top: 7rem !important;
}

.u-mb--7 {
  margin-bottom: 7rem !important;
}

.u-mr--7 {
  margin-right: 7rem !important;
}

.u-ml--7 {
  margin-left: 7rem !important;
}

.u-pt--7 {
  padding-top: 7rem !important;
}

.u-pb--7 {
  padding-bottom: 7rem !important;
}

.u-pr--7 {
  padding-right: 7rem !important;
}

.u-pl--7 {
  padding-left: 7rem !important;
}

.u-mt--8 {
  margin-top: 8rem !important;
}

.u-mb--8 {
  margin-bottom: 8rem !important;
}

.u-mr--8 {
  margin-right: 8rem !important;
}

.u-ml--8 {
  margin-left: 8rem !important;
}

.u-pt--8 {
  padding-top: 8rem !important;
}

.u-pb--8 {
  padding-bottom: 8rem !important;
}

.u-pr--8 {
  padding-right: 8rem !important;
}

.u-pl--8 {
  padding-left: 8rem !important;
}

.u-mt--9 {
  margin-top: 9rem !important;
}

.u-mb--9 {
  margin-bottom: 9rem !important;
}

.u-mr--9 {
  margin-right: 9rem !important;
}

.u-ml--9 {
  margin-left: 9rem !important;
}

.u-pt--9 {
  padding-top: 9rem !important;
}

.u-pb--9 {
  padding-bottom: 9rem !important;
}

.u-pr--9 {
  padding-right: 9rem !important;
}

.u-pl--9 {
  padding-left: 9rem !important;
}

.u-mt--10 {
  margin-top: 10rem !important;
}

.u-mb--10 {
  margin-bottom: 10rem !important;
}

.u-mr--10 {
  margin-right: 10rem !important;
}

.u-ml--10 {
  margin-left: 10rem !important;
}

.u-pt--10 {
  padding-top: 10rem !important;
}

.u-pb--10 {
  padding-bottom: 10rem !important;
}

.u-pr--10 {
  padding-right: 10rem !important;
}

.u-pl--10 {
  padding-left: 10rem !important;
}

.u-mt--11 {
  margin-top: 11rem !important;
}

.u-mb--11 {
  margin-bottom: 11rem !important;
}

.u-mr--11 {
  margin-right: 11rem !important;
}

.u-ml--11 {
  margin-left: 11rem !important;
}

.u-pt--11 {
  padding-top: 11rem !important;
}

.u-pb--11 {
  padding-bottom: 11rem !important;
}

.u-pr--11 {
  padding-right: 11rem !important;
}

.u-pl--11 {
  padding-left: 11rem !important;
}

.u-mt--12 {
  margin-top: 12rem !important;
}

.u-mb--12 {
  margin-bottom: 12rem !important;
}

.u-mr--12 {
  margin-right: 12rem !important;
}

.u-ml--12 {
  margin-left: 12rem !important;
}

.u-pt--12 {
  padding-top: 12rem !important;
}

.u-pb--12 {
  padding-bottom: 12rem !important;
}

.u-pr--12 {
  padding-right: 12rem !important;
}

.u-pl--12 {
  padding-left: 12rem !important;
}

.u-mt--13 {
  margin-top: 13rem !important;
}

.u-mb--13 {
  margin-bottom: 13rem !important;
}

.u-mr--13 {
  margin-right: 13rem !important;
}

.u-ml--13 {
  margin-left: 13rem !important;
}

.u-pt--13 {
  padding-top: 13rem !important;
}

.u-pb--13 {
  padding-bottom: 13rem !important;
}

.u-pr--13 {
  padding-right: 13rem !important;
}

.u-pl--13 {
  padding-left: 13rem !important;
}

.u-mt--14 {
  margin-top: 14rem !important;
}

.u-mb--14 {
  margin-bottom: 14rem !important;
}

.u-mr--14 {
  margin-right: 14rem !important;
}

.u-ml--14 {
  margin-left: 14rem !important;
}

.u-pt--14 {
  padding-top: 14rem !important;
}

.u-pb--14 {
  padding-bottom: 14rem !important;
}

.u-pr--14 {
  padding-right: 14rem !important;
}

.u-pl--14 {
  padding-left: 14rem !important;
}

.u-mt--15 {
  margin-top: 15rem !important;
}

.u-mb--15 {
  margin-bottom: 15rem !important;
}

.u-mr--15 {
  margin-right: 15rem !important;
}

.u-ml--15 {
  margin-left: 15rem !important;
}

.u-pt--15 {
  padding-top: 15rem !important;
}

.u-pb--15 {
  padding-bottom: 15rem !important;
}

.u-pr--15 {
  padding-right: 15rem !important;
}

.u-pl--15 {
  padding-left: 15rem !important;
}

.u-mt--16 {
  margin-top: 16rem !important;
}

.u-mb--16 {
  margin-bottom: 16rem !important;
}

.u-mr--16 {
  margin-right: 16rem !important;
}

.u-ml--16 {
  margin-left: 16rem !important;
}

.u-pt--16 {
  padding-top: 16rem !important;
}

.u-pb--16 {
  padding-bottom: 16rem !important;
}

.u-pr--16 {
  padding-right: 16rem !important;
}

.u-pl--16 {
  padding-left: 16rem !important;
}

.u-mt--17 {
  margin-top: 17rem !important;
}

.u-mb--17 {
  margin-bottom: 17rem !important;
}

.u-mr--17 {
  margin-right: 17rem !important;
}

.u-ml--17 {
  margin-left: 17rem !important;
}

.u-pt--17 {
  padding-top: 17rem !important;
}

.u-pb--17 {
  padding-bottom: 17rem !important;
}

.u-pr--17 {
  padding-right: 17rem !important;
}

.u-pl--17 {
  padding-left: 17rem !important;
}

.u-mt--18 {
  margin-top: 18rem !important;
}

.u-mb--18 {
  margin-bottom: 18rem !important;
}

.u-mr--18 {
  margin-right: 18rem !important;
}

.u-ml--18 {
  margin-left: 18rem !important;
}

.u-pt--18 {
  padding-top: 18rem !important;
}

.u-pb--18 {
  padding-bottom: 18rem !important;
}

.u-pr--18 {
  padding-right: 18rem !important;
}

.u-pl--18 {
  padding-left: 18rem !important;
}

.u-mt--19 {
  margin-top: 19rem !important;
}

.u-mb--19 {
  margin-bottom: 19rem !important;
}

.u-mr--19 {
  margin-right: 19rem !important;
}

.u-ml--19 {
  margin-left: 19rem !important;
}

.u-pt--19 {
  padding-top: 19rem !important;
}

.u-pb--19 {
  padding-bottom: 19rem !important;
}

.u-pr--19 {
  padding-right: 19rem !important;
}

.u-pl--19 {
  padding-left: 19rem !important;
}

.u-mt--20 {
  margin-top: 20rem !important;
}

.u-mb--20 {
  margin-bottom: 20rem !important;
}

.u-mr--20 {
  margin-right: 20rem !important;
}

.u-ml--20 {
  margin-left: 20rem !important;
}

.u-pt--20 {
  padding-top: 20rem !important;
}

.u-pb--20 {
  padding-bottom: 20rem !important;
}

.u-pr--20 {
  padding-right: 20rem !important;
}

.u-pl--20 {
  padding-left: 20rem !important;
}

.u-mt--auto {
  margin-top: auto !important;
}

.u-mb--auto {
  margin-bottom: auto !important;
}

.u-mr--auto {
  margin-right: auto !important;
}

.u-ml--auto {
  margin-left: auto !important;
}