@charset "UTF-8";
/* リキッドレイアウト対応 */
body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}

html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.5094339623vw;
  }
}
@media (min-width: 1060px) {
  html {
    font-size: 16px;
  }
}

html {
  scroll-padding-top: 5.6875rem;
  scroll-behavior: smooth;
}
@media screen and (min-width: 768px) {
  html {
    scroll-padding-top: 8.125rem;
  }
}

body {
  color: #444443;
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-image: url("../images/common/bgImage-sp.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  body::before {
    background-image: url("../images/common/bgImage.jpg");
  }
}

/* pcの電話番号発信対応 */
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* ホバー */
a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.7;
  }
}

.lum-lightbox-inner img {
  width: auto;
  display: inline-block;
  max-width: 100%;
}

.lum-lightbox {
  z-index: 3;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.7142857143;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* フォームリセット */
input,
button,
select,
textarea {
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

::-webkit-input-placeholder {
  color: #ccc;
}

::-moz-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

::-ms-input-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

select::-ms-expand {
  display: none;
}

table {
  border-collapse: collapse;
}

.back-btn {
  display: inline-block;
  padding-bottom: 0.125rem;
  border-bottom: 0.0625rem solid #18486F;
  padding-left: 1.875rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: #18486F;
  position: relative;
}

.back-btn input {
  color: #18486F;
  padding: 0;
  letter-spacing: 0.05em;
}

.back-btn::before {
  content: "";
  display: block;
  width: 0.4375rem;
  height: 0.0625rem;
  background-color: #18486F;
  position: absolute;
  top: 50%;
  left: 0.8125rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

.back-btn::after {
  content: "";
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  border-top: 0.0625rem solid #18486F;
  border-left: 0.0625rem solid #18486F;
  position: absolute;
  top: 50%;
  left: 0.75rem;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

.back-btn:hover::before,
.back-btn:hover::after {
  left: 0.125rem;
}

.back-btn--reverse {
  padding-left: 0;
  padding-right: 1.5rem;
  padding-bottom: 0.875rem;
  text-align: left;
  padding-right: 3rem;
  min-width: 20.875rem;
}
.back-btn--reverse::before {
  left: initial;
  right: 0.625rem;
  -webkit-transform: translateY(-0.34375rem);
          transform: translateY(-0.34375rem);
}

.back-btn--reverse::after {
  left: initial;
  right: 0.625rem;
  -webkit-transform: translateY(-0.5rem) rotate(135deg);
          transform: translateY(-0.5rem) rotate(135deg);
}

.back-btn--reverse:hover::before,
.back-btn--reverse:hover::after {
  left: initial;
  right: 0.125rem;
}

.bread {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.375rem;
     -moz-column-gap: 0.375rem;
          column-gap: 0.375rem;
}

.bread__item {
  font-size: 0.75rem;
  color: #7B7F80;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .bread__item {
    font-size: 0.875rem;
  }
}

.bread__arrow {
  display: block;
  width: 0.46875rem;
  height: 0.46875rem;
  border-top: 0.0625rem solid #CBB483;
  border-right: 0.0625rem solid #CBB483;
  position: relative;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
  margin-right: -0.125rem;
  margin-left: -0.125rem;
}
@media screen and (min-width: 768px) {
  .bread__arrow {
    width: 0.53125rem;
    height: 0.53125rem;
  }
}

.common-btn {
  display: inline-block;
  font-size: 0.9375rem;
  color: #18486F;
  text-align: center;
  letter-spacing: 0.05em;
  padding: 0.9375rem 1.6875rem 0.8125rem;
  border: 0.0625rem solid #18486F;
  border-radius: 1.75rem;
  position: relative;
  width: 100%;
  min-width: 16.25rem;
  max-width: 18.75rem;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  .common-btn {
    font-size: 0.9375rem;
    width: auto;
    min-width: 16.25rem;
    max-width: none;
    padding: 1rem 1.9375rem 0.8125rem;
  }
}

.common-btn--arrow {
  padding: 0.9375rem 1.5rem 0.8125rem;
}
@media screen and (min-width: 768px) {
  .common-btn--arrow {
    padding: 1rem 2.6875rem 0.8125rem 1.25rem;
  }
}

.common-btn:hover {
  background-color: #18486F;
  color: #ffffff;
  opacity: 1;
}

.common-btn--arrow::before,
.common-btn--arrow::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
}

.common-btn--arrow::before {
  width: 0.5rem;
  height: 0.0625rem;
  background-color: #18486F;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.25rem;
}

.common-btn--arrow::after {
  width: 0.4375rem;
  height: 0.4375rem;
  border-top: 0.0625rem solid #18486F;
  border-right: 0.0625rem solid #18486F;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  right: 1.25rem;
}

.common-btn--arrow:hover::before {
  background-color: #CBB483;
}

.common-btn--arrow:hover::after {
  border-top: 0.0625rem solid #CBB483;
  border-right: 0.0625rem solid #CBB483;
}

.commonTable {
  width: 95.522%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .commonTable {
    max-width: 60rem;
  }
}

.commonTable th,
.commonTable td {
  display: block;
  padding-block: 0.609375rem;
  padding-inline: 1rem;
}
@media screen and (min-width: 768px) {
  .commonTable th,
  .commonTable td {
    display: table-cell;
    padding-block: 1.15625rem;
  }
}

@media screen and (min-width: 768px) {
  .commonTable tr:last-child th {
    border-bottom: 0.0625rem solid #D6D6D6;
  }
}

.commonTable tr:last-child td {
  border-bottom: 0.0625rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .commonTable tr:last-child td {
    border-top: 0.0625rem solid #D6D6D6;
  }
}

.commonTable th {
  width: 100%;
  text-align: center;
  font-weight: 400;
  font-size: 0.875rem;
  background-color: #FBF8F3;
  border-top: 0.0625rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .commonTable th {
    width: 16.666%;
  }
}

.commonTable td {
  background-color: #ffffff;
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .commonTable td {
    border-top: 0.0625rem solid #D6D6D6;
  }
}

.commonTable__tel {
  font-size: 1.875rem;
  line-height: 1.3;
  font-family: "Libre Caslon Display", serif;
  color: #CBB483;
  display: block;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .commonTable__tel {
    text-align: left;
    line-height: 1.15;
  }
}

.commonTable__tel span {
  font-size: 1.25rem;
}

.commonTable thead th {
  padding-top: 0;
  padding-inline: 0;
  border: none;
  background-color: transparent;
  font-size: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .commonTable thead th {
    font-size: 0.875rem;
  }
}

.fairList__list {
  margin-top: 0.4375rem;
  padding-top: 0.625rem;
  padding-bottom: 2.5rem;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .fairList__list {
    margin-top: 0.4375rem;
    padding-top: 1.875rem;
    padding-bottom: 2.625rem;
  }
}

@media screen and (min-width: 768px) {
  .fairList__title span {
    margin-top: 0.9375rem !important;
  }
}

.fairList__item {
  background-color: #ffffff;
  border: 0.0625rem solid #D6D6D6;
  width: calc(100% - 2.5rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .fairList__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
}

.fairList__new {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 3rem;
  height: 3rem;
  color: #CBB483;
  background-color: #ffffff;
  font-family: "Libre Caslon Display", serif;
  text-transform: uppercase;
  border: 0.0625rem solid #CBB483;
  font-size: 0.6875rem;
  border-radius: 50%;
  position: absolute;
  top: -0.625rem;
  left: 0.625rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .fairList__new {
    width: 3.75rem;
    height: 3.75rem;
    font-size: 0.875rem;
    top: -1.875rem;
    left: -1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .fairList__image {
    width: 35.833%;
  }
}

.fairList__image img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .fairList__image img {
    height: 100%;
  }
}

.fairList__body {
  padding: 1.25rem 1.25rem 1.875rem;
}
@media screen and (min-width: 768px) {
  .fairList__body {
    width: 64.167%;
    padding: 1.75rem 2.8125rem;
  }
}

.fairList__date {
  color: #CBB483;
  font-size: 0.8125rem;
  font-weight: 500;
}

.fairList__fairTitle {
  margin-top: 0.375rem;
  font-size: 0.9375rem;
  text-align: left;
  font-weight: 700;
  line-height: 1.5333333333;
  letter-spacing: 0.0875rem;
}
@media screen and (min-width: 768px) {
  .fairList__fairTitle {
    margin-top: 0.5625rem;
  }
}

.fairList__time {
  margin-top: 0.875rem;
  font-size: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .fairList__time {
    margin-top: 0.8125rem;
  }
}

.fairList__item span {
  white-space: nowrap;
}

.fairList__time ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 12.5rem;
}

.fairList__time ul li {
  padding-inline: 0.625rem;
  position: relative;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.fairList__time ul li:not(:nth-child(3n), :last-child)::before {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 0.75rem;
  background-color: #D6D6D6;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.fairList__btns {
  margin-top: 2.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .fairList__btns {
    margin-top: 2.875rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 1.125rem;
  }
}

.fairList__btns a {
  padding: 0.625rem 0.6875rem 0.5rem;
  border: 0.0625rem solid #18486F;
  border-radius: 1.3125rem;
  text-align: center;
  font-size: 0.8125rem;
  color: #18486F;
  min-width: 8.5625rem;
}
@media screen and (min-width: 768px) {
  .fairList__btns a {
    min-width: 12.214vw;
  }
}

.fairList--sub {
  margin-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .fairList--sub {
    margin-top: 9.625rem;
  }
}

.fairList__lead {
  display: block;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  color: #18486F;
  margin-bottom: 3.5rem;
}
@media screen and (min-width: 768px) {
  .fairList__lead {
    font-size: 2.5rem;
    margin-bottom: 5.125rem;
  }
}

.fairList--sub .fairList__list {
  margin-top: 0.6875rem;
  padding-top: 1.875rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .fairList--sub .fairList__list {
    margin-top: 0.4375rem;
    padding-bottom: 2.625rem;
  }
}

.fairList__list .swiper-button-prev {
  left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .fairList__list .swiper-button-prev {
    left: 20.7vw;
  }
}

.fairList__list .swiper-button-next {
  right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .fairList__list .swiper-button-next {
    right: 20.7vw;
  }
}

.faqList__item {
  padding-block: 0.90625rem;
  padding-left: 0.9375rem;
  border-top: 0.0625rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .faqList__item {
    padding-block: 1.1875rem;
    padding-left: 0.875rem;
  }
}

.faqList__item:last-child {
  border-bottom: 0.0625rem solid #D6D6D6;
}

.faqList__question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  cursor: pointer;
  padding-right: 1.0625rem;
}

.faqList__question::before,
.faqList__question::after {
  content: "";
  display: block;
  width: 0.875rem;
  height: 0.0625rem;
  background-color: #18486F;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

.faqList__question::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.faqList__question.active::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}

.faqList__question span {
  font-size: 1.25rem;
  font-family: "Libre Caslon Display", serif;
  color: #CBB483;
}

.faqList__question p {
  margin-left: 0.75rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .faqList__question p {
    margin-left: 0.9375rem;
  }
}

.faqList__answer {
  padding-top: 0.9375rem;
  display: none;
}
@media screen and (min-width: 768px) {
  .faqList__answer {
    padding-top: 1.25rem;
  }
}

.faqList__answer div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.faqList__answer span {
  font-size: 1.25rem;
  font-family: "Libre Caslon Display", serif;
  color: #18486F;
}

.faqList__answer p {
  margin-left: 0.9375rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .faqList__answer p {
    margin-left: 1.0625rem;
    padding-right: 2.75rem;
  }
}

.featureList {
  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.9375rem;
  width: 95.82%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .featureList {
    width: 100%;
    gap: 3.125rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-inline: 0;
  }
}

@media screen and (min-width: 768px) {
  .featureList__item {
    width: calc(33.3333333333% - 2.0833333333rem);
  }
}

.featureList__image img {
  aspect-ratio: 320/240;
  -o-object-fit: cover;
     object-fit: cover;
}

.featureList__title {
  margin-top: 0.875rem;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  color: #18486F;
}

.featureList__text {
  margin-top: 0.5625rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.footer {
  border-top: 1px solid #CBB483;
  padding-top: 2.375rem;
  padding-bottom: 3.25rem;
}
@media screen and (min-width: 768px) {
  .footer {
    padding-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .footer__inner {
    max-width: 64.375rem !important;
  }
}

.footer__logo {
  margin-inline: auto;
  width: 10rem;
}
@media screen and (min-width: 768px) {
  .footer__logo {
    width: 14.125rem;
  }
}

.footer__address {
  margin-top: 0.3125rem;
  text-align: center;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .footer__address {
    margin-top: 0.875rem;
    font-size: 0.8125rem;
  }
}

.footer__navWrap {
  margin-top: 2.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .footer__navWrap {
    margin-top: 1.25rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.footer__nav {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .footer__nav {
    margin-top: 0.75rem;
    width: 57.142%;
  }
}

.footer__navList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  row-gap: 1.0625rem;
  max-width: 17.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .footer__navList {
    row-gap: 1.0625rem;
    max-width: none;
  }
}

.footer__navItem {
  width: 50%;
}
@media screen and (min-width: 768px) {
  .footer__navItem {
    width: 25%;
    padding-right: 1em;
  }
}

.footer__navLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-size: 0.6875rem;
  letter-spacing: 0.04375rem;
  position: relative;
}

.footer__navLink::before {
  content: "";
  display: block;
  width: 0.5625rem;
  height: 0.4375rem;
  background-image: url("../images/common/icon_diamond-filled.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.footer__contact {
  padding-bottom: 1.875rem;
  border-bottom: 0.03125rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .footer__contact {
    padding-bottom: 0;
    border-bottom: none;
  }
}

.footer__tel > span {
  display: block;
  text-align: center;
  font-size: 0.75rem;
  letter-spacing: 0.03125rem;
}
@media screen and (min-width: 768px) {
  .footer__tel > span {
    display: inline-block;
    text-align: left;
  }
}

.footer__tel a {
  color: #CBB483;
  display: block;
  font-size: 2.125rem;
  line-height: 1.5;
  font-family: "Libre Caslon Display", serif;
  text-align: center;
  padding-left: 0.5rem;
}
@media screen and (min-width: 768px) {
  .footer__tel a {
    display: inline-block;
    padding-left: 0.75rem;
  }
}

.footer__tel a span {
  font-size: 1.5rem;
}

.footer__btnWrap {
  margin-top: 0.5625rem;
  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: 0.5rem;
}
@media screen and (min-width: 768px) {
  .footer__btnWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0.4375rem;
  }
}

.footer__btn {
  display: inline-block;
  padding: 0.9375rem;
  width: 100%;
  max-width: 20.3125rem;
  margin-inline: auto;
  border: 0.0625rem solid #18486F;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  font-size: 0.875rem;
  color: #18486F;
  letter-spacing: 0.0625rem;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  .footer__btn {
    width: calc(33.3333333333% - 0.2916666667rem);
    padding: 0.25rem;
    gap: 0.25rem;
  }
}

.footer__btn:hover {
  background-color: #18486F;
  color: #ffffff;
  opacity: 1;
}

.footer__btn img {
  width: 0.9375rem;
}

.footer__btn:hover img {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.footer__btn--reserve {
  margin-top: 0.5rem;
  background-color: #CBB483;
  border-color: #CBB483;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .footer__btn--reserve {
    margin-top: 0.9375rem;
    width: 100%;
    max-width: none;
    padding: 0.9375rem;
    gap: 0.5rem;
  }
}

.footer__btn--reserve:hover {
  background-color: #CBB483;
  color: #ffffff;
  opacity: 0.7;
}

.footer__btn--reserve:hover img {
  -webkit-filter: none;
          filter: none;
}

.footer__bottom {
  margin-top: 1.6875rem;
  background-color: #18486F;
  padding-top: 0.6875rem;
  padding-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .footer__bottom {
    margin-top: 3.5rem;
  }
}

.footer__bottomLinks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.footer__bottomLinks a {
  padding-inline: 1.1875rem;
  color: #ffffff;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  position: relative;
}

.footer__bottomLinks a:first-child::after {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 0.75rem;
  background-color: #ffffff;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.footer__copyright {
  margin-top: 0.1875rem;
  font-size: 0.75rem;
  color: #ffffff;
  text-align: center;
}

.form__item {
  text-decoration: none;
  line-height: 1.6875;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .form__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.form__item:not(:first-of-type) {
  margin-top: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .form__item:not(:first-of-type) {
    margin-top: 2rem;
  }
}

.form__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.875rem;
  margin-bottom: 0.5625rem;
}
@media screen and (min-width: 768px) {
  .form__label {
    width: 28.723%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 0.8125rem;
    margin-bottom: 0;
  }
}

.form__required,
.form__optional {
  display: inline-block;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  letter-spacing: 0;
  font-weight: 700;
}

.form__required {
  color: #ffffff;
  background-color: #D20606;
}

.form__optional {
  border: 0.0625rem solid #18486F;
  color: #18486F;
}

.form__label label {
  margin-left: 0.75rem;
  letter-spacing: 0.05em;
}

.form__date {
  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 screen and (min-width: 768px) {
  .form__date {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 71.277%;
  }
}

.form__date span {
  width: 100%;
  max-width: 16.25rem;
}
@media screen and (min-width: 768px) {
  .form__date span {
    width: calc(50% - 0.5rem);
    max-width: none;
  }
}

.form__item > span {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .form__item > span {
    width: 71.277%;
  }
}

.form__item input[type=text],
.form__item input[type=email],
.form__item input[type=tel],
.form__day,
.form__time,
.form__item textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 0.0625rem solid #D6D6D6;
  background-color: #ffffff;
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #444443;
}
@media screen and (min-width: 768px) {
  .form__item input[type=text],
  .form__item input[type=email],
  .form__item input[type=tel],
  .form__day,
  .form__time,
  .form__item textarea {
    padding: 0.6875rem 1rem;
  }
}

.form__item textarea {
  max-height: 8.75rem;
}
@media screen and (min-width: 768px) {
  .form__item textarea {
    max-height: 12.5rem;
  }
}

.form__notice {
  font-size: 0.75rem;
  letter-spacing: 0;
  display: block;
}

@media screen and (min-width: 768px) {
  .form__addressWrap {
    width: 70%;
  }
}

.form__zipcode {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  letter-spacing: 0;
}

.form__zipcode input[type=text] {
  width: 8.75rem;
  letter-spacing: 0.05em;
}

.form__privacy {
  text-align: center;
  margin-top: 1.9375rem;
}
@media screen and (min-width: 768px) {
  .form__privacy {
    margin-top: 1.8125rem;
  }
}

.form__privacy .wpcf7-list-item {
  margin: 0;
}

.form__privacyLink {
  display: inline-block;
  margin-left: 0.4375rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.form__privacyLink a {
  text-decoration: underline;
}

.form__privacy input + span {
  display: none;
}

input[type=checkbox] {
  position: relative;
  cursor: pointer;
  width: 1.25rem;
  height: 1.25rem;
  border: 0.0625rem solid #ccc;
  background-color: #ffffff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  vertical-align: middle;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  margin: 0 0 0.3125rem;
}

input[type=checkbox]:checked {
  background-color: #18486F;
  border-color: #18486F;
}

input[type=checkbox]:checked::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.4375rem;
  border-bottom: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: relative;
  top: 0.1875rem;
  left: 0.1875rem;
}

.form__confirm {
  margin-top: 1.625rem;
  text-align: center;
}

.form__confirm input[type=submit],
.form__submit input[type=submit] {
  display: inline-block;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
  color: #18486F;
  text-align: center;
  padding: 1rem 3.75rem 0.875rem;
  border: 0.0625rem solid #18486F;
  border-radius: 1.75rem;
  position: relative;
  width: 100%;
  max-width: 16.25rem;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  .form__confirm input[type=submit],
  .form__submit input[type=submit] {
    font-size: 0.9375rem;
  }
}

.form__confirm input[type=submit]:hover,
.form__submit input[type=submit]:hover {
  background-color: #18486F;
  color: #ffffff;
  opacity: 1;
}

.form__submit {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .form__submit {
    margin-top: 3.75rem;
  }
}

.form__back {
  margin-top: 2.3125rem;
}

.wpcf7-spinner {
  display: none;
}

.header {
  width: 100%;
  height: 5.0625rem;
  position: fixed;
  top: 0;
  z-index: 2;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  .header {
    height: 7.5rem;
  }
}

.header.scrolled {
  background-color: #ffffff;
  -webkit-box-shadow: 0 0.0625rem 0.625rem rgba(68, 68, 67, 0.1);
          box-shadow: 0 0.0625rem 0.625rem rgba(68, 68, 67, 0.1);
}

.header__inner {
  padding: 0 1.25rem;
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .header__inner {
    padding: 0 1.875rem;
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .header__inner {
    padding: 0 min(3.75rem, 4.2857vw);
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .header__topWrap {
    padding-top: 1rem;
    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;
  }
}

.header__logo {
  width: 8.125rem;
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  .header__logo {
    width: min(10rem, 11.428vw);
  }
}

.header__logo a {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .header__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 0.125rem;
  }
}

@media screen and (min-width: 768px) {
  .header__topLinks {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .header__topLink {
    display: inline-block;
    padding-inline: min(1.4375rem, 1.642vw);
    position: relative;
    font-size: 0.9375rem;
    line-height: 1;
    color: #18486F;
    font-family: "Shippori Mincho", serif;
    font-weight: 700;
  }
}

.header__topLink::after {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 1rem;
  background-color: #D6D6D6;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .header__tell {
    font-size: min(2.357vw, 2.0625rem);
    letter-spacing: 0;
    font-family: "Libre Caslon Display", serif;
    color: #CBB483;
    margin-left: 1.428vw;
  }
}

@media screen and (min-width: 768px) {
  .header__tell a span {
    font-size: min(1.642vw, 1.4375rem);
  }
}

@media screen and (min-width: 768px) {
  .header__btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: min(0.625rem, 0.714vw);
    margin-left: min(1.4375rem, 1.642vw);
  }
}

.header__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  border: 0.0625rem solid #18486F;
  padding: 0.75rem;
  color: #18486F;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  background-color: #ffffff;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  .header__btn {
    padding: 0.25rem 0.3125rem;
    min-width: 6.25rem;
  }
}

.header__btn:hover {
  background-color: #18486F;
  color: #ffffff;
  opacity: 1;
}

.header__btn img {
  width: 0.9375rem;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.header__btn:hover img {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.header__btn--reserve {
  background-color: #CBB483;
  color: #ffffff;
  border-color: #CBB483;
  min-width: 6.625rem;
}
@media screen and (min-width: 768px) {
  .header__btn--reserve {
    margin-left: 0.3125rem;
  }
}

.header__btn--reserve:hover {
  background-color: #CBB483;
  color: #ffffff;
  opacity: 0.7;
}

.header__btn--reserve:hover img {
  -webkit-filter: none;
          filter: none;
}

.header__burger {
  width: 1.875rem;
  height: 0.5rem;
  position: absolute;
  top: 2.25rem;
  right: 1.25rem;
  padding: 0;
  z-index: 5;
}

.header__burger-bar {
  width: 100%;
  height: 100%;
  position: relative;
  padding: 0;
  margin-inline: auto;
  display: block;
}

.header__burger-bar::before,
.header__burger-bar::after {
  content: "";
  position: absolute;
  width: 100%;
  display: block;
  height: 0.0625rem;
  background-color: #444443;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.header__burger-bar::before {
  top: 0;
}

.header__burger-bar::after {
  bottom: 0;
}

.header__burger.open .header__burger-bar::before,
.header__burger.open .header__burger-bar::after {
  content: "";
  position: absolute;
  width: 100%;
  display: block;
  height: 0.0625rem;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.header__burger.open .header__burger-bar::before {
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
}

.header__burger.open .header__burger-bar::after {
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
}

.header__spnav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/common/bgImage-sp.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 5rem;
  padding-bottom: 5rem;
  padding-inline: 1.25rem;
  opacity: 0;
  visibility: hidden;
  z-index: 4;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.header__spnavItem {
  width: 100%;
  border-bottom: 0.0625rem solid #D6D6D6;
}

.header__spnavLink {
  display: inline-block;
  width: inherit;
  height: inherit;
  padding-block: 0.925rem;
  text-align: center;
  font-size: 0.9375rem;
  color: #18486F;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  line-height: 1.4285714286;
  position: relative;
}

.header__spnavSub {
  margin-top: 1.8125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.header__spnavSub a {
  display: inline-block;
  width: 50%;
  font-size: 0.875rem;
  color: #18486F;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.0625rem;
}

.header__spnavBtns {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__spnavBtn {
  width: calc((100% - 0.625rem) * 1 / 2);
}

.header__spnav.open {
  opacity: 1;
  visibility: visible;
  overflow-y: auto;
}

.header__fixed {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 6;
}

.header__fixedWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header__fixedBtn {
  width: 33.3333333333%;
  gap: 0.375rem;
  padding: 0.8125rem;
}

.header__fixedBtn:last-child {
  border-left: none;
}

.header__fixedBtn img {
  width: 1.25rem;
}

.header__bottomWrap {
  margin-top: 0.75rem;
}

.header__pcnavList {
  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;
}

.header__pcnavItem {
  position: relative;
}

.header__pcnavItem:not(:last-child)::after {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 1rem;
  background-color: #D6D6D6;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.header__pcnavLink {
  font-size: 0.9375rem;
  color: #18486F;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  display: block;
  padding-inline: 0.625rem;
  letter-spacing: 0.075rem;
}
@media screen and (min-width: 1400px) {
  .header__pcnavLink {
    padding-inline: 1.25rem;
  }
}

.inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 1110px;
    padding-right: 25px;
    padding-left: 25px;
  }
}

.mediaList__item {
  padding: 0.75rem 1.25rem 1.875rem;
  background-color: #ffffff;
  border: 0.0625rem solid #D6D6D6;
  position: relative;
}
@media screen and (min-width: 768px) {
  .mediaList__item {
    padding: 3.125rem;
  }
}

.mediaList__item:nth-child(n+2) {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .mediaList__item:nth-child(n+2) {
    margin-top: 2.4375rem;
  }
}

@media screen and (min-width: 768px) {
  .mediaList__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3.125rem;
  }
}

.mediaList__image {
  position: relative;
  top: -0.75rem;
  left: -1.25rem;
  width: 6.5rem;
  float: left;
  margin-right: -0.25rem;
}
@media screen and (min-width: 768px) {
  .mediaList__image {
    position: initial;
    float: none;
    width: 30.625%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 0;
  }
}

.mediaList__image img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .mediaList__infoWrap {
    width: calc(72.265% - 3.125rem);
  }
}

.mediaList__title {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .mediaList__title {
    font-size: 1.125rem;
    margin-left: 0;
  }
}

.mediaList__categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .mediaList__categories {
    margin-left: 0;
  }
}

.mediaList__category {
  padding: 0 0.9375rem;
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #CBB483;
  border: 0.0625rem solid #CBB483;
}

.mediaList__text {
  margin-top: 1.125rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.mediaList__detail {
  margin-top: 3.875rem;
  background-color: #CBB483;
  padding: 0.75rem 1.25rem 1.125rem;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .mediaList__detail {
    margin-top: 1.125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1.125rem 2rem;
  }
}

.mediaList__detalIcon {
  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.375rem;
  padding-bottom: 0.5625rem;
  border-bottom: 0.0625rem solid #ffffff;
}
@media screen and (min-width: 768px) {
  .mediaList__detalIcon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.40625rem;
    padding-bottom: 0;
    padding-right: 2rem;
    border-right: 0.0625rem solid #ffffff;
    border-bottom: none;
  }
}

.mediaList__detalIcon img {
  width: 0.785625rem;
}
@media screen and (min-width: 768px) {
  .mediaList__detalIcon img {
    width: 1.25rem;
    margin-inline: auto;
  }
}

.mediaList__detalIcon span {
  display: inline-block;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .mediaList__detalIcon span {
    font-size: 0.75rem;
  }
}

.mediaList__detalText {
  margin-top: 0.625rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .mediaList__detalText {
    margin-top: 0;
    padding-left: 2rem;
  }
}

.mediaList__info {
  margin-top: 1.125rem;
  background-color: #FBF8F3;
  padding: 1.125rem 1.25rem;
}

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

.mediaList__info dl:nth-child(n+2) {
  margin-top: 1rem;
  padding-top: 0.6875rem;
  border-top: 0.0625rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .mediaList__info dl:nth-child(n+2) {
    margin-top: 1.1875rem;
    padding-top: 0.9375rem;
  }
}

.mediaList__info dt {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .mediaList__info dt {
    min-width: 3.75rem;
  }
}

.mediaList__info dd {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .mediaList__info dd {
    margin-left: 1.25rem;
  }
}

.mediaList__infoTitle {
  font-weight: 700;
  color: #18486F;
}

.madiaList__infoList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  row-gap: 0;
}

.mediaList__btns {
  margin-top: 2.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: 1.25rem;
}
@media screen and (min-width: 768px) {
  .mediaList__btns {
    margin-top: 2.25rem;
    -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;
  }
}

.newsList__item {
  border-top: 0.0625rem solid #D6D6D6;
}

.newsList__item:last-child {
  border-bottom: 0.0625rem solid #D6D6D6;
}

.newsList__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-block: 0.71875rem;
}

.newsList__image {
  width: 7.5rem;
  height: 7.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.newsList__image img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}

.newsList__body {
  margin-left: 1rem;
}
@media screen and (min-width: 768px) {
  .newsList__body {
    margin-left: 2rem;
  }
}

.newsList__date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}

.newsList__date time {
  font-size: 0.75rem;
  color: #7B7F80;
}

.newsList__date span {
  display: block;
  color: #CBB483;
  font-family: "Libre Caslon Display", serif;
  text-transform: uppercase;
  font-size: 0.75rem;
  text-align: center;
  padding: 0 1rem;
  border: 0.0625rem solid #CBB483;
}

.newsList__title {
  margin-top: 0.4375rem;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 400;
  letter-spacing: 0.05em;
  display: inline-block;
  margin-top: 0.25rem;
}

.pageTop {
  position: fixed;
  bottom: 4.3125rem;
  right: 1.25rem;
  display: none; /* 初期状態では非表示 */
  width: 3.75rem;
  height: 3.75rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .pageTop {
    width: 5rem;
    height: 5rem;
    right: 2.5rem;
    bottom: 2.1875rem;
  }
}

.pageTop__btn {
  padding: 0;
  position: relative;
}

.pageTop__btn::before {
  content: "";
  display: block;
  width: 0.65125rem;
  height: 1.42125rem;
  background-image: url("../images/common/pageTop_arrow.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  position: absolute;
  top: 50%;
  left: 50%;
}
@media screen and (min-width: 768px) {
  .pageTop__btn::before {
    width: 0.8625rem;
    height: 1.8825rem;
  }
}

.pageTop__btn img {
  -webkit-animation: rotation 12s linear infinite;
          animation: rotation 12s linear infinite;
}

/* アニメーション */
@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* 追従をやめるためのクラス */
.pageTop--absolute {
  position: absolute !important;
  right: 1.25rem;
}
@media screen and (min-width: 768px) {
  .pageTop--absolute {
    right: 2.5rem;
  }
}

.pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.page-numbers {
  display: block;
  font-size: 0.9375rem;
  height: 2.75rem;
  line-height: 2.75rem;
  margin-inline: 0.375rem;
  min-width: 2.75rem;
  padding: 0;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  width: auto;
  border: 0.0625rem solid #18486F;
  color: #18486F;
}

.page-numbers.current {
  background-color: #18486F;
  color: #ffffff;
}

a.page-numbers:hover {
  background-color: #989CA5;
  color: #ffffff;
  opacity: 1;
}

.page-numbers.next::before,
.page-numbers.prev::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.875rem;
  width: 0.53125rem;
  height: 0.531875rem;
  border-top: 0.0625rem solid #18486F;
  border-right: 0.0625rem solid #18486F;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

.page-numbers.prev::before {
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
  left: 1.125rem;
}

.page-numbers.prev:hover,
.page-numbers.next:hover {
  background-color: initial;
  opacity: 0.7;
}

.reportCard {
  background-color: #F8F8F8;
  -webkit-box-shadow: 0 0 1.25rem rgba(95, 69, 44, 0.2);
          box-shadow: 0 0 1.25rem rgba(95, 69, 44, 0.2);
  position: relative;
}

.reportCard__new {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 3rem;
  height: 3rem;
  color: #CBB483;
  text-transform: uppercase;
  background-color: #ffffff;
  border: 0.0625rem solid #CBB483;
  font-size: 0.6875rem;
  font-family: "Libre Caslon Display", serif;
  border-radius: 50%;
  position: absolute;
  top: -1.25rem;
  left: -0.625rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .reportCard__new {
    width: 3.75rem;
    height: 3.75rem;
    top: -1.25rem;
    left: -1.25rem;
    font-size: 0.875rem;
  }
}

.reportCard__link {
  display: inline-block;
  width: 100%;
  padding: 1.125rem 1.125rem 1.875rem;
}
@media screen and (min-width: 768px) {
  .reportCard__link {
    padding: 1.25rem 1.25rem 2.5rem;
  }
}

.reportCard__image img {
  aspect-ratio: 260/178;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .reportCard__image img {
    aspect-ratio: 394/270;
  }
}

.reportCard__itemTitle {
  margin-top: 0.625rem;
  font-size: 0.9375rem;
  font-weight: 700;
  font-family: "Shippori Mincho", serif;
  color: #18486F;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .reportCard__itemTitle {
    margin-top: 0.75rem;
    font-size: 1.25rem;
  }
}

.reportCard__name {
  margin-top: 0.3125rem;
  font-size: 0.875rem;
  color: #7B7F80;
  letter-spacing: 0.05em;
}

.reportCard__date {
  margin-top: 0.1875rem;
  font-size: 0.875rem;
  color: #7B7F80;
  letter-spacing: 0.05em;
}

.sectionTitle {
  text-transform: uppercase;
  font-size: 1.5rem;
  font-family: "Libre Caslon Display", serif;
  font-weight: 400;
  color: #18486F;
  letter-spacing: 0.0625rem;
}
@media screen and (min-width: 768px) {
  .sectionTitle {
    font-size: 2rem;
    text-align: left;
    letter-spacing: 0.09375rem;
  }
}

.sectionTitle span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.1875rem;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP", sans-serif;
  color: #7B7F80;
  margin-top: -0.1875rem;
}
@media screen and (min-width: 768px) {
  .sectionTitle span {
    margin-top: -0.4375rem;
    text-align: left;
  }
}

.sectionTitle span::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  background-image: url("../images/common/icon_diamond.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.sectionTitle--center {
  font-size: 1.5rem;
  font-family: "Libre Caslon Display", serif;
  font-weight: 400;
  letter-spacing: 0.0625rem;
  color: #18486F;
  text-align: center;
  text-transform: uppercase;
  line-height: 1.75;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .sectionTitle--center {
    font-size: 2rem;
    letter-spacing: 0.09375rem;
  }
}

.sectionTitle--center span {
  display: block;
  font-size: 0.75rem;
  font-family: "Noto Sans JP", sans-serif;
  color: #7B7F80;
  text-align: center;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .sectionTitle--center span {
    margin-top: 0.25rem;
  }
}

.sectionTitle--center::before,
.sectionTitle--center::after {
  content: "";
  display: block;
  width: calc((100% - 1.875rem) / 2);
  height: 0.0625rem;
  background-color: #CBB483;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(0.25rem);
          transform: translateY(0.25rem);
}
@media screen and (min-width: 768px) {
  .sectionTitle--center::before,
  .sectionTitle--center::after {
    -webkit-transform: translateY(0.5625rem);
            transform: translateY(0.5625rem);
  }
}

.sectionTitle--center::before {
  left: 0;
}

.sectionTitle--center::after {
  right: 0;
}

.sectionTitle--center span::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  background-image: url("../images/common/icon_diamond.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .sectionTitle--center span::before {
    -webkit-transform: translateX(-50%) translateY(0.25rem);
            transform: translateX(-50%) translateY(0.25rem);
  }
}

.sectionTitle--bg {
  position: relative;
}

.sectionTitle--bg *:first-child {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
  font-family: "Libre Caslon Display", serif;
  color: #18486F;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .sectionTitle--bg *:first-child {
    font-size: 2rem;
    line-height: 1.5;
  }
}

.sectionTitle--bg *:first-child span {
  display: block;
  font-size: 0.75rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #7B7F80;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 768px) {
  .sectionTitle--bg *:first-child span {
    font-size: 0.75rem;
  }
}

.sectionTitle--bg > span {
  position: absolute;
  top: -1.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 4rem;
  font-family: "Libre Caslon Display", serif;
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: 0.05em;
  line-height: 0.78125;
  text-align: center;
  color: #F5F5F5;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .sectionTitle--bg > span {
    top: -2.75rem;
    font-size: 7rem;
    letter-spacing: 0.375rem;
  }
}

.subHeading {
  padding-bottom: 0.8125rem;
  border-bottom: 0.0625rem solid #D6D6D6;
  position: relative;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  color: #18486F;
}

.subHeading::after {
  content: "";
  display: block;
  width: 3.125rem;
  height: 0.0625rem;
  background-color: #CBB483;
  position: absolute;
  bottom: -0.0625rem;
  left: 0rem;
}

.swiper-pagination {
  bottom: 0 !important;
}

.swiper-pagination-bullet {
  background-color: #7B7F80;
  opacity: 1;
  width: 0.3125rem;
  height: 0.3125rem;
  margin: 0 0.46875rem !important;
}

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

.swiper-button-prev--ptn1,
.swiper-button-next--ptn1 {
  border: 0.0625rem solid #18486F;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  top: initial;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .swiper-button-prev--ptn1,
  .swiper-button-next--ptn1 {
    width: 1.875rem;
    height: 1.875rem;
  }
}

.swiper-button-prev--ptn1::after,
.swiper-button-next--ptn1::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-top: 0.0625rem solid #18486F;
  border-right: 0.0625rem solid #18486F;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
@media screen and (min-width: 768px) {
  .swiper-button-prev--ptn1::after,
  .swiper-button-next--ptn1::after {
    width: 0.5rem;
    height: 0.5rem;
  }
}

.swiper-button-next--ptn1::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.swiper-button-prev--ptn2,
.swiper-button-next--ptn2 {
  background-color: #D6D6D6;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  -webkit-transform: translateY(-0.625rem);
          transform: translateY(-0.625rem);
}
.swiper-button-prev--ptn2::after,
.swiper-button-next--ptn2::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-top: 0.125rem solid #ffffff;
  border-right: 0.125rem solid #ffffff;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
@media screen and (min-width: 768px) {
  .swiper-button-prev--ptn2::after,
  .swiper-button-next--ptn2::after {
    width: 0.5rem;
    height: 0.5rem;
  }
}

.swiper-button-next--ptn2::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.titleArea {
  margin-top: 5.0625rem;
  padding-top: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .titleArea {
    margin-top: 7.5rem;
    padding-top: 1.25rem;
  }
}

.titleArea__title {
  font-size: 1.5rem;
  color: #18486F;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .titleArea__title {
    font-size: 2.5rem;
    margin-top: 2rem;
  }
}

.titleArea__title span {
  display: inline-block;
}

.mv {
  padding-top: 5.0625rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .mv {
    padding-top: 7.5rem;
  }
}

.mv__copyJp {
  margin-top: 1.6875rem;
  margin-left: 4vw;
  font-size: 5.866vw;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  line-height: 1.7272727273;
  letter-spacing: 0.0625rem;
  color: #18486F;
}
@media screen and (min-width: 768px) {
  .mv__copyJp {
    position: absolute;
    margin-top: 0;
    margin-left: 0;
    font-size: 2.285vw;
    bottom: 15.5vw;
    left: 6.785vw;
    letter-spacing: 0.09375rem;
  }
}

.mv__copyDesc {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  padding-inline: 20px;
}
@media screen and (min-width: 768px) {
  .mv__copyDesc {
    position: absolute;
    margin-top: 0;
    padding-inline: 0;
    font-size: 1vw;
    letter-spacing: 0.1em;
    bottom: 9.5vw;
    left: 6.785vw;
    width: 33.85714vw;
  }
}

.mv__images {
  margin-top: 2.25rem;
}
@media screen and (min-width: 768px) {
  .mv__images {
    width: 40vw;
    margin-top: 2.142vw;
    margin-left: auto;
    margin-right: 8.142vw;
    position: relative;
  }
}

.mv__imageL {
  margin-left: auto;
  width: 74.666vw;
  aspect-ratio: 280/250;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .mv__imageL {
    width: 100%;
    aspect-ratio: 560/450;
  }
}

.mv__imageS {
  margin-top: -28vw;
  margin-left: 6.4vw;
  width: 42.666vw;
  aspect-ratio: 160/169;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .mv__imageS {
    margin: 0;
    width: 39.107%;
    position: absolute;
    bottom: -2%;
    left: -14.5%;
  }
}

.mv__copyEn {
  margin-top: -7.733vw;
  margin-left: auto;
  margin-right: 3.466vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 12.533vw;
  text-transform: uppercase;
  line-height: 1.170212766;
  letter-spacing: 0.125rem;
  color: #ffffff;
  font-family: "Libre Caslon Display", serif;
  text-shadow: 0 0 0.375rem rgba(95, 69, 44, 0.2);
}
@media screen and (min-width: 768px) {
  .mv__copyEn {
    margin: 0;
    position: absolute;
    font-size: 5.142vw;
    bottom: -3.5vw;
    left: 6.785vw;
    letter-spacing: 0.225rem;
  }
}

.mv__scroll {
  position: absolute;
  left: 1.333vw;
  bottom: 29.3%;
  height: 3.75rem;
}
@media screen and (min-width: 768px) {
  .mv__scroll {
    right: 3.5%;
    bottom: 13.2%;
    left: initial;
  }
}

.mv__scroll-text {
  color: #CBB483;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  text-transform: uppercase;
  font-size: 0.6875rem;
  font-family: "Libre Caslon Display", serif;
  letter-spacing: 0.125rem;
  position: relative;
}

.mv__scroll-text::after {
  content: "";
  position: absolute;
  top: 3.75rem;
  left: 49%;
  width: 0.0625rem;
  height: 1.875rem;
  background: #CBB483;
  -webkit-animation: pathmoveSp 1.4s ease-in-out infinite;
          animation: pathmoveSp 1.4s ease-in-out infinite;
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .mv__scroll-text::after {
    -webkit-animation: pathmovePc 1.6s ease-in-out infinite;
            animation: pathmovePc 1.6s ease-in-out infinite;
    height: 3.125rem;
  }
}

@-webkit-keyframes pathmoveSp {
  0% {
    height: 0;
    top: 3.75rem;
    opacity: 0;
  }
  30% {
    height: 2.5rem;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 7.5rem;
    opacity: 0;
  }
}

@keyframes pathmoveSp {
  0% {
    height: 0;
    top: 3.75rem;
    opacity: 0;
  }
  30% {
    height: 2.5rem;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 7.5rem;
    opacity: 0;
  }
}
@-webkit-keyframes pathmovePc {
  0% {
    height: 0;
    top: 3.75rem;
    opacity: 0;
  }
  30% {
    height: 3.125rem;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 8.75rem;
    opacity: 0;
  }
}
@keyframes pathmovePc {
  0% {
    height: 0;
    top: 3.75rem;
    opacity: 0;
  }
  30% {
    height: 3.125rem;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 8.75rem;
    opacity: 0;
  }
}
.topBanner {
  margin-top: 3.125rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .topBanner {
    margin-top: 5.5rem;
    overflow: visible;
  }
}

.topBanner__list {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  padding-top: 0.9375rem;
  padding-bottom: 2.625rem;
}
@media screen and (min-width: 768px) {
  .topBanner__list {
    width: 100%;
    max-width: 60rem;
    margin: auto;
    padding: 0;
    overflow: visible;
  }
}

.topBanner__item {
  -webkit-box-shadow: 0 0.375rem 1.25rem rgba(95, 69, 44, 0.15);
          box-shadow: 0 0.375rem 1.25rem rgba(95, 69, 44, 0.15);
}

.topBanner__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.topBanner__link:hover {
  opacity: 1;
}

.topBanner__image {
  width: 50%;
}

.topBanner__image img {
  aspect-ratio: 150/140;
  -o-object-fit: cover;
     object-fit: cover;
}

.topBanner__body {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #F8F8F8;
  position: relative;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.topBanner__body::before,
.topBanner__body::after {
  content: "";
  display: block;
  position: absolute;
  right: 0.75rem;
}

.topBanner__body::before {
  width: 0.5rem;
  height: 0.0625rem;
  background-color: #CBB483;
  bottom: 1rem;
}

.topBanner__body::after {
  width: 0.3125rem;
  height: 0.3125rem;
  border-top: 0.0625rem solid #CBB483;
  border-right: 0.0625rem solid #CBB483;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  bottom: 0.875rem;
}

.topBanner__link:hover .topBanner__body {
  background-color: #18486F;
}

.topBanner__textEn {
  font-size: 0.625rem;
  color: #CBB483;
  font-family: "Libre Caslon Display", serif;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .topBanner__textEn {
    letter-spacing: 0.09375rem;
  }
}

.topBanner__textJa {
  margin-top: 0.3125rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.0625rem;
  color: #18486F;
  text-align: center;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.topBanner__link:hover .topBanner__textJa {
  color: #ffffff;
}

.topCuisine {
  margin-top: 5.3125rem;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .topCuisine {
    margin-top: 14.5rem;
  }
}

.topCuisine__inner {
  position: relative;
  z-index: 1;
  width: 94%;
}
@media screen and (min-width: 768px) {
  .topCuisine__inner {
    width: 100%;
    max-width: 63.125rem;
  }
}

.topCuisine__image {
  margin-top: 1.9375rem;
  width: 70vw;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .topCuisine__image {
    margin-top: -3rem;
    width: 25.25rem;
  }
}

.topCuisine__container {
  margin-top: 1.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .topCuisine__container {
    display: block;
    margin-top: 1.5625rem;
  }
}

.topCuisine__body {
  display: contents;
}
@media screen and (min-width: 768px) {
  .topCuisine__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

.topCuisine__text {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  font-family: "Shippori Mincho", serif;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.75;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .topCuisine__text {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    font-size: 1.125rem;
    line-height: 1.7777777778;
  }
}

.topCuisine__btn {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topCuisine__btn {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    margin-top: 0;
    margin-bottom: 0.1875rem;
    margin-left: 5%;
  }
}

.topCuisine__images {
  margin-top: 1.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.3125rem;
     -moz-column-gap: 0.3125rem;
          column-gap: 0.3125rem;
  row-gap: 0.25rem;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .topCuisine__images {
    margin-top: 2.9375rem;
    gap: 0.25rem;
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    width: 108vw;
    margin-inline: calc(50% - 54vw);
  }
}

.topCuisine__images img {
  aspect-ratio: 185/120;
  -o-object-fit: cover;
     object-fit: cover;
  width: calc(50% - 0.15625rem);
}
@media screen and (min-width: 768px) {
  .topCuisine__images img {
    width: calc(33.3333333333% - 0.1666666667rem);
    aspect-ratio: 500/340;
  }
}

.topCuisine__images img:last-child {
  width: 100%;
  aspect-ratio: 375/255;
}
@media screen and (min-width: 768px) {
  .topCuisine__images img:last-child {
    width: calc(33.3333333333% - 0.1666666667rem);
    aspect-ratio: 500/340;
  }
}

.topCuisine__bgText1,
.topCuisine__bgText2 {
  font-size: 4rem;
  font-family: "Libre Caslon Display", serif;
  color: #F5F5F5;
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: 0.1875rem;
  position: absolute;
  top: 8.75rem;
  left: 2vw;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .topCuisine__bgText1,
  .topCuisine__bgText2 {
    font-size: 7rem;
    letter-spacing: 0.3125rem;
    top: 7%;
    left: 1.6875rem;
  }
}

.topCuisine__bgText2 {
  top: 13.75rem;
}
@media screen and (min-width: 768px) {
  .topCuisine__bgText2 {
    top: 22%;
  }
}

.topFair {
  margin-top: 6.875rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .topFair {
    margin-top: 5.5rem;
  }
}

.topFair__btns {
  margin-top: 2.1875rem;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topFair__btns {
    margin-top: 3.3125rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.25rem;
  }
}

.topImageWide {
  margin-top: 6.25rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topImageWide {
    margin-top: 12.5rem;
  }
}

.topImageWide img {
  width: 100%;
  aspect-ratio: 375/315;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .topImageWide img {
    aspect-ratio: 1400/480;
    max-height: 30rem;
  }
}

.topInstagram {
  margin-top: 5.9375rem;
}
@media screen and (min-width: 768px) {
  .topInstagram {
    margin-top: 14.5625rem;
  }
}

.topInstagram__wrap {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .topInstagram__wrap {
    margin-top: 3.125rem;
  }
}

.topInstagram__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.15625rem;
     -moz-column-gap: 0.15625rem;
          column-gap: 0.15625rem;
  row-gap: 0.125rem;
}
@media screen and (min-width: 768px) {
  .topInstagram__list {
    -webkit-column-gap: 0.125rem;
       -moz-column-gap: 0.125rem;
            column-gap: 0.125rem;
  }
}

.topInstagram__item {
  width: calc(33.3333333333% - 0.1041666667rem);
}
@media screen and (min-width: 768px) {
  .topInstagram__item {
    width: calc(20% - 0.1rem);
  }
}

.topInstagram__link {
  display: block;
  width: 100%;
}

.topInstagram__link img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}

.topInstagram__btn {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topInstagram__btn {
    margin-top: 3.625rem;
  }
}

.topMenu {
  overflow: hidden;
}

.topMenu__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 94%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .topMenu__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 100%;
    max-width: 60rem;
  }
}

@media screen and (min-width: 768px) {
  .topMenu__container--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.topMenu__body {
  display: contents;
}
@media screen and (min-width: 768px) {
  .topMenu__body {
    display: block;
    width: 53.333%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.topMenu__titleWrap {
  position: relative;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.topMenu__title {
  position: relative;
  z-index: 1;
}

.topMenu__titleEn {
  position: absolute;
  color: #F5F5F5;
  font-size: 4rem;
  font-family: "Libre Caslon Display", serif;
  letter-spacing: 0.1875rem;
  text-transform: uppercase;
  top: -3.0625rem;
  left: -6%;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .topMenu__titleEn {
    font-size: 7rem;
    top: -5.5rem;
    left: -20%;
    letter-spacing: 0.375rem;
  }
}

.topMenu__text {
  margin-top: 0.9375rem;
  font-size: 1rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .topMenu__text {
    margin-top: 1.6875rem;
    font-size: 1.125rem;
    line-height: 1.7777777778;
  }
}

.topMenu__btn {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topMenu__btn {
    margin-top: 1.6875rem;
    text-align: left;
  }
}

.topMenu__imageWrap {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.3125rem;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  margin-top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .topMenu__imageWrap {
    width: auto;
    margin-inline: 0;
    margin-top: 5.75rem;
    gap: 0.25rem;
  }
}

.topMenu__imageWrap img {
  width: calc(50% - 0.15625rem);
  aspect-ratio: 185/120;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .topMenu__imageWrap img {
    width: calc(50% - 0.125rem);
    aspect-ratio: 254/165;
  }
}

.topMenu__imageL {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 1.75rem;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .topMenu__imageL {
    width: 53.645%;
    max-width: 32.1875rem;
    margin-top: 0;
    margin-left: 8.071vw;
    margin-right: calc(50% - 50vw + 2.5rem);
  }
}

@media screen and (min-width: 768px) {
  .topMenu__container--reverse .topMenu__imageL {
    margin-right: 13.857vw;
    margin-left: calc(50% - 50vw + 2.5rem);
    width: 45.208%;
    max-width: 27.125rem;
  }
}

.topMenu__imageL img {
  aspect-ratio: 375/315;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .topMenu__imageL img {
    aspect-ratio: 515/773;
    min-height: 48.3125rem;
  }
}

.topMenu__imageSlide {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  margin-top: 1.75rem;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 768px) {
  .topMenu__imageSlide {
    width: 45.208%;
    margin-inline: initial;
    margin-top: 0;
  }
}

.topMenu__imageSlide img {
  aspect-ratio: 230/280;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .topMenu__imageSlide img {
    aspect-ratio: 434/659;
  }
}

.topMenu--chapel {
  padding-top: 3.5625rem;
}
@media screen and (min-width: 768px) {
  .topMenu--chapel {
    padding-top: 0;
    margin-top: -3.1875rem;
  }
}

.topMenu--banquet {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .topMenu--banquet {
    margin-top: 15rem;
  }
}

.topMenu--banquet .topMenu__imageL {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  margin-top: 0;
  margin-bottom: 3.5625rem;
}
@media screen and (min-width: 768px) {
  .topMenu--banquet .topMenu__imageL {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .topMenu--banquet .topMenu__imageL img {
    aspect-ratio: 434/659;
    min-height: 41.1875rem;
  }
}

.topMenu--banquet .topMenu__imageWrap {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .topMenu--banquet .topMenu__imageWrap {
    margin-top: 6.8125rem;
  }
}

.topMenu--dress {
  padding-top: 5.6875rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .topMenu--dress {
    margin-top: 15rem;
    padding-top: 0;
  }
}

.topMenu--dress::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 3.125rem);
  position: absolute;
  top: 3.125rem;
  left: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#F8F4EB), to(transparent));
  background: linear-gradient(180deg, #F8F4EB 0%, transparent 100%);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .topMenu--dress::before {
    top: 14.5rem;
    height: calc(100% - 14.5rem);
  }
}

@media screen and (min-width: 768px) {
  .topMenu--dress .topMenu__container {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .topMenu--dress .topMenu__body {
    margin-bottom: 2rem;
    width: 45%;
  }
}

@media screen and (min-width: 768px) {
  .topMenu--dress .topMenu__titleWrap {
    margin-top: 0;
  }
}

.topMenu--dress .topMenu__titleEn {
  color: #F2EEE4;
}

.topMenu--dress .topMenu__text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.topMenu--dress .topMenu__btn {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

.topMenu--dress .swiper-button-next,
.topMenu--dress .swiper-button-prev {
  width: 4.53125rem;
  height: 3.75rem;
  background-color: #FBF8F3;
  right: 0;
  bottom: 0;
  top: initial;
}
@media screen and (min-width: 768px) {
  .topMenu--dress .swiper-button-next,
  .topMenu--dress .swiper-button-prev {
    width: 3rem;
    height: 3.75rem;
  }
}

.topMenu--dress .swiper-button-next::before,
.topMenu--dress .swiper-button-prev::after {
  content: "";
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  background-image: url("../images/common/arrow_circle.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.topMenu--dress .swiper-button-prev::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.topMenu--dress .swiper-button-prev {
  left: initial;
  right: 4.53125rem;
}
@media screen and (min-width: 768px) {
  .topMenu--dress .swiper-button-prev {
    right: 4.4375rem;
  }
}

.topMenu--dress .swiper-pagination {
  display: none;
}
@media screen and (min-width: 768px) {
  .topMenu--dress .swiper-pagination {
    width: 1.4375rem;
    height: 3.75rem;
    background-color: #FBF8F3;
    right: 3rem;
    left: initial;
    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;
    font-size: 1.25rem;
    font-family: "Libre Caslon Display", serif;
    color: #7B7F80;
  }
}

.topNews {
  margin-top: 5.875rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .topNews {
    margin-top: 14.6875rem;
    margin-bottom: 7.5rem;
  }
}

.topNews__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .topNews__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.topNews__titleWrap {
  display: contents;
}
@media screen and (min-width: 768px) {
  .topNews__titleWrap {
    display: block;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.topNews__title {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.topNews__btn {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topNews__btn {
    text-align: left;
    margin-top: 2.25rem;
  }
}

.topNews__list {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 1.625rem;
}
@media screen and (min-width: 768px) {
  .topNews__list {
    width: 56.132%;
    margin-top: 0.3125rem;
    margin-left: 9.6875rem;
    margin-right: 3.125rem;
  }
}

.topPlan {
  margin-top: 5.875rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .topPlan {
    margin-top: 14.9375rem;
  }
}

.topPlan__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .topPlan__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.topPlan__titleWrap {
  display: contents;
}
@media screen and (min-width: 768px) {
  .topPlan__titleWrap {
    display: block;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 2rem;
  }
}

.topPlan__title {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 768px) {
  .topPlan__title {
    margin-inline: 0;
  }
}

.topPlan__btn {
  margin-top: 1.5625rem;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topPlan__btn {
    margin-top: 2.5rem;
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}

.topPlan__list {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 2.4375rem;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  padding-bottom: 3.5625rem;
}
@media screen and (min-width: 768px) {
  .topPlan__list {
    width: 80.66%;
    width: 61.071vw;
    margin-left: 7.1875rem;
    margin-top: 0;
    padding-bottom: 3.6875rem;
    padding-right: 1.25rem;
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}

.topPlan__link {
  display: inline-block;
  width: 100%;
}

.topPlan__image img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}

.topPlan__text {
  margin-top: 0.8125rem;
  padding: 0 0.375rem 0.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #18486F;
  letter-spacing: 0.04375rem;
  background-color: #F8F8F8;
}
@media screen and (min-width: 768px) {
  .topPlan__text {
    margin-top: 0.75rem;
    font-size: 0.875rem;
  }
}

.topPlan__ItemTitle {
  margin-top: 0.5rem;
  font-size: 0.9375rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  letter-spacing: 0.0625rem;
}
@media screen and (min-width: 768px) {
  .topPlan__ItemTitle {
    margin-top: 0.5rem;
  }
}

.topPlan__list .swiper-pagination {
  bottom: 0.625rem !important;
  z-index: 9;
}
@media screen and (min-width: 768px) {
  .topPlan__list .swiper-pagination {
    width: auto;
  }
}

.topPlan__list .swiper-button-prev {
  right: 4.625rem;
  left: initial;
}
@media screen and (min-width: 768px) {
  .topPlan__list .swiper-button-prev {
    right: 14rem;
  }
}

.topPlan__list .swiper-button-next {
  right: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topPlan__list .swiper-button-next {
    right: 10.625rem;
  }
}

.topReport {
  overflow: hidden;
  margin-top: 5.875rem;
}
@media screen and (min-width: 768px) {
  .topReport {
    margin-top: 14.4375rem;
  }
}

.topReport__list {
  margin-top: 1.1875rem;
  padding-top: 1.25rem;
  padding-bottom: 3.5625rem;
  padding-left: 1.0625rem;
  width: calc(100vw - 1.25rem);
  margin-right: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .topReport__list {
    padding-top: 1.25rem;
    padding-bottom: 3.75rem;
    padding-left: 1.25rem;
    width: auto;
    margin-right: calc(50% - 50vw);
    margin-left: -1.25rem;
  }
}

.topReport__btn {
  margin-top: 1.5625rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topReport__btn {
    margin-top: 3.6875rem;
  }
}

.topReport__list .swiper-pagination {
  bottom: 0.625rem !important;
  z-index: 9;
}
@media screen and (min-width: 768px) {
  .topReport__list .swiper-pagination {
    width: auto;
    left: 1.25rem;
  }
}

.topReport__list .swiper-button-prev {
  right: 4.625rem;
  left: initial;
}
@media screen and (min-width: 768px) {
  .topReport__list .swiper-button-prev {
    right: 14rem;
  }
}

.topReport__list .swiper-button-next {
  right: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topReport__list .swiper-button-next {
    right: 10.625rem;
  }
}

.access {
  margin-top: 2.375rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .access {
    margin-top: 3.625rem;
  }
}

.access__map iframe {
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 335/180;
}
@media screen and (min-width: 768px) {
  .access__map iframe {
    aspect-ratio: 960/400;
    max-width: 60rem;
    margin-inline: auto;
  }
}

.access__mapBtn {
  margin-top: 1.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .access__mapBtn {
    margin-top: 4rem;
  }
}

.access__mapBtn a {
  max-width: 16.25rem;
}

.access__info {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .access__info {
    margin-top: 4.9375rem;
  }
}

.access__route {
  margin-top: 3.8125rem;
}
@media screen and (min-width: 768px) {
  .access__route {
    margin-top: 5.875rem;
  }
}

.access_routeWrap {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .access_routeWrap {
    margin-top: 4rem;
    max-width: 60rem;
    margin-inline: auto;
  }
}

.access__routeBox {
  padding: 1.25rem;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .access__routeBox {
    padding: 3rem 3.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.access__routeBox:nth-child(n+2) {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .access__routeBox:nth-child(n+2) {
    margin-top: 2.5rem;
  }
}

.access__routeHeader {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .access__routeHeader {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.25rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 9.5625rem;
  }
}

.access__routeHeader img {
  max-width: 2.5rem;
}
@media screen and (min-width: 768px) {
  .access__routeHeader img {
    max-width: 4rem;
  }
}

.access__routeBoxTitle {
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  color: #18486F;
  font-size: 1rem;
  letter-spacing: 0.05em;
}

.access__routeList {
  margin-top: 1.375rem;
}
@media screen and (min-width: 768px) {
  .access__routeList {
    margin-top: 0;
    padding-left: 8.3125rem;
    max-width: 39.6875rem;
  }
}

.access__routeItem span {
  display: inline-block;
  padding-left: 1.1875rem;
  position: relative;
  font-size: 1rem;
  letter-spacing: 0.05em;
}

.access__routeItem span::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.0625rem;
  background-color: #CBB483;
  position: absolute;
  left: 0;
  top: 50%;
}

.access__routeItem p {
  margin-top: 0.4375rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .access__routeItem p {
    margin-top: 1rem;
  }
}

.access__routeItem:nth-child(n+2) {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .access__routeItem:nth-child(n+2) {
    margin-top: 2.3125rem;
  }
}

.chapel {
  margin-top: 2.3125rem;
  margin-bottom: 7.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .chapel {
    margin-top: 3.625rem;
  }
}

.chapel__header {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .chapel__header {
    width: 91.428vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    position: relative;
    left: 50%;
  }
}

.chapel__header img {
  aspect-ratio: 335/180;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .chapel__header img {
    aspect-ratio: 1280/400;
  }
}

.chapel__container {
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .chapel__container {
    margin-top: 2.0625rem;
  }
}

.chapel__container--banquet {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .chapel__container--banquet {
    margin-top: 10rem;
  }
}

.chapel__image {
  margin-bottom: 1.125rem;
}
@media screen and (min-width: 768px) {
  .chapel__image {
    margin-bottom: 2.125rem;
  }
}

.chapel__image img {
  aspect-ratio: 335/180;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .chapel__image img {
    aspect-ratio: 1060/400;
  }
}

.chapel__title {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
  font-family: "Libre Caslon Display", serif;
  font-weight: 400;
  color: #18486F;
}
@media screen and (min-width: 768px) {
  .chapel__title {
    font-size: 2rem;
  }
}

.chapel__text {
  margin-top: 0.875rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .chapel__text {
    margin-top: 0.75rem;
    text-align: center;
  }
}

.chaple__features {
  margin-top: 2.3125rem;
}
@media screen and (min-width: 768px) {
  .chaple__features {
    margin-top: 3.75rem;
  }
}

.chapel__data {
  margin-top: 2.4375rem;
}
@media screen and (min-width: 768px) {
  .chapel__data {
    margin-top: 4.8125rem;
  }
}

.company {
  margin-top: 2.3125rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .company {
    margin-top: 3.5625rem;
    max-width: 63.125rem;
    margin-inline: auto;
  }
}

.company dl {
  padding-block: 1.0625rem;
  border-top: 0.0625rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .company dl {
    padding-block: 1.34375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.company dl:last-child {
  border-bottom: 0.0625rem solid #D6D6D6;
}

.company dt {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: #18486F;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .company dt {
    min-width: 6.25rem;
  }
}

.company dd {
  margin-top: 0.5625rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .company dd {
    margin-left: 4rem;
    margin-top: 0;
  }
}

.company__history {
  margin-top: 3.8125rem;
}
@media screen and (min-width: 768px) {
  .company__history {
    margin-top: 5.875rem;
  }
}

.company__historyTitle {
  font-size: 1.125rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  color: #18486F;
}

.company__historyWrap {
  margin-top: 1.375rem;
}
@media screen and (min-width: 768px) {
  .company__historyWrap {
    margin-top: 1.3125rem;
  }
}

.concept {
  margin-top: 2.3125rem;
  margin-bottom: 7.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .concept {
    margin-top: 3.625rem;
  }
}

.concept__anchorWrap {
  padding-top: 1.75rem;
  padding-bottom: 1.875rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .concept__anchorWrap {
    padding-top: 3.5rem;
    padding-bottom: 3.625rem;
  }
}

.concept__anchorWrap::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background-image: url("../images/concept/header.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .concept__anchorWrap::before {
    width: 91.428vw;
  }
}

.concept__anchorTitle {
  font-size: 1.375rem;
  letter-spacing: 0.05em;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  color: #18486F;
}
@media screen and (min-width: 768px) {
  .concept__anchorTitle {
    font-size: 2rem;
  }
}

.concept__anchorList {
  margin-top: 1.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .concept__anchorList {
    margin-top: 2.1875rem;
    -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: 1.3125rem;
  }
}

.concept__anchorItem {
  position: relative;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0.375rem 1.25rem rgba(95, 69, 44, 0.15);
          box-shadow: 0 0.375rem 1.25rem rgba(95, 69, 44, 0.15);
  width: 91.343%;
}
@media screen and (min-width: 768px) {
  .concept__anchorItem {
    width: calc(33.3333333333% - 0.875rem);
    max-width: 19.125rem;
  }
}

.concept__anchorItem::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 0.25rem solid transparent;
  border-left: 0.25rem solid transparent;
  border-top: 0.375rem solid #18486F;
  border-bottom: 0;
  position: absolute;
  top: 50%;
  right: 1.25rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .concept__anchorItem::before {
    top: initial;
    bottom: 1rem;
    right: initial;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
  }
}

.concept__anchorNumber {
  position: absolute;
  left: 0.5rem;
  top: -0.25rem;
  font-size: 1.5rem;
  color: #CBB483;
  font-family: "Libre Caslon Display", serif;
}
@media screen and (min-width: 768px) {
  .concept__anchorNumber {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: -1.4375rem;
    font-size: 1.875rem;
  }
}

.concept__anchorLink {
  display: inline-block;
  width: 100%;
  padding: 1rem 1rem 1rem 3.8125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .concept__anchorLink {
    padding: 2.5rem 1.1875rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.concept__anchorLink img {
  height: 100%;
  max-height: 2.5rem;
  max-width: 4.625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .concept__anchorLink img {
    max-height: 3.75rem;
    max-width: 6.25rem;
  }
}

.concept__anchorText {
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.4615384615;
}
@media screen and (min-width: 768px) {
  .concept__anchorText {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.concept__container {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .concept__container {
    margin-top: 10rem;
  }
}

.concept__titleArea {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  padding-top: 5.8125rem;
  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;
}
@media screen and (min-width: 768px) {
  .concept__titleArea {
    -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;
    padding-top: 8.9375rem;
  }
}

.concept__bgText {
  position: absolute;
  top: -0.3125rem;
  left: 0;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #F2EEE4;
  text-transform: uppercase;
  font-family: "Libre Caslon Display", serif;
}
@media screen and (min-width: 768px) {
  .concept__bgText {
    top: -0.6875rem;
    font-size: 5rem;
  }
}

.concept__titleArea::before {
  content: "";
  display: block;
  width: 100vw;
  height: 206.9333333333vw;
  background-color: #F8F4EB;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .concept__titleArea::before {
    width: 96.428vw;
    height: 64.5vw;
  }
}

.concept__body {
  display: contents;
}
@media screen and (min-width: 768px) {
  .concept__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;
    width: 51.428%;
  }
}

.concept__title {
  font-size: 1.25rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  color: #18486F;
  margin-inline: 1.1875rem;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 768px) {
  .concept__title {
    font-size: 2rem;
    line-height: 1.75;
    white-space: nowrap;
    margin-inline: 0;
    margin-left: 12.142vw;
  }
}

.concept__images {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.1875rem;
  margin-top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .concept__images {
    margin-top: 0;
    gap: 0.25rem;
  }
}

.concept__images img {
  width: calc(50% - 0.09375rem);
  aspect-ratio: 186/125;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .concept__images img {
    width: 43.333%;
    aspect-ratio: 312/208;
  }
}

.concept__imgageL {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .concept__imgageL {
    margin-top: 5.4375rem;
    width: 48.571%;
  }
}

.concept__imgageL img {
  aspect-ratio: 375/251;
}
@media screen and (min-width: 768px) {
  .concept__imgageL img {
    aspect-ratio: 680/453;
  }
}

.concept__features {
  margin-top: 2.9375rem;
}
@media screen and (min-width: 768px) {
  .concept__features {
    margin-top: 8.75rem;
  }
}

.concept__btn {
  margin-top: 2.375rem;
}
@media screen and (min-width: 768px) {
  .concept__btn {
    margin-top: 4.75rem;
    text-align: center;
  }
}

.concept__btn a {
  width: 20.9375rem;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .concept__btn a {
    width: auto;
  }
}

@media screen and (min-width: 768px) {
  .concept__container--reverse .concept__titleArea {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.concept__container--reverse .concept__titleArea::before {
  left: initial;
  right: 0;
}

.concept__container--reverse .concept__bgText {
  left: initial;
  right: 0;
}

.concept__container--reverse .concept__title {
  margin-left: 5.714vw;
}

@media screen and (min-width: 768px) {
  .concept__container--reverse .concept__images {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.contact {
  margin-top: 2.3125rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .contact {
    margin-top: 3.625rem;
  }
}

@media screen and (min-width: 768px) {
  .contact__inner {
    max-width: 58.125rem;
    margin-inline: auto;
  }
}

.contact__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: 2rem;
}
@media screen and (min-width: 768px) {
  .contact__cta {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.contact__ctaBox {
  padding: 1.125rem;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-shadow: 0 0 1.25rem rgba(95, 69, 44, 0.2);
          box-shadow: 0 0 1.25rem rgba(95, 69, 44, 0.2);
}
@media screen and (min-width: 768px) {
  .contact__ctaBox {
    padding: 2.375rem 1.1875rem;
    width: calc(50% - 1rem);
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.contact__tellTitle,
.contact__lineTitle {
  font-family: "Shippori Mincho", serif;
  font-size: 0.875rem;
  color: #18486F;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .contact__tellTitle,
  .contact__lineTitle {
    font-size: 1.125rem;
  }
}

.contact__tell {
  margin-top: 0.3125rem;
  font-size: 1.875rem;
  color: #CBB483;
  font-family: "Libre Caslon Display", serif;
}
@media screen and (min-width: 768px) {
  .contact__tell {
    font-size: 3rem;
    line-height: 1.5833333333;
    margin-top: 0.1875rem;
  }
}

.contact__tell span {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .contact__tell span {
    font-size: 1.875rem;
  }
}

.contact__tellNotice {
  margin-top: 0.3125rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .contact__tellNotice {
    margin-top: 0;
  }
}

.contact__lineText {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  text-align: center;
}

.contact__lineBtn {
  margin-top: 0.875rem;
}
@media screen and (min-width: 768px) {
  .contact__lineBtn {
    margin-top: 0.8125rem;
  }
}

.contact__text {
  margin-top: 2.5rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .contact__text {
    margin-top: 4rem;
    text-align: center;
  }
}

.contact__tabList {
  margin-top: 3.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.09375rem;
  position: relative;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .contact__tabList {
    width: 100%;
    margin-inline: auto;
    margin-top: 3.375rem;
    gap: 1.25rem;
  }
}

.contact__tabList::before {
  content: "";
  display: block;
  width: 100%;
  height: 0.0625rem;
  background-color: #D6D6D6;
  position: absolute;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .contact__tabList::before {
    width: 66.25rem;
    max-width: 90vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.contact__tabItem {
  width: calc(33.3333333333% - 0.0625rem);
}
@media screen and (min-width: 768px) {
  .contact__tabItem {
    width: calc(33.3333333333% - 0.8333333333rem);
  }
}

.contact__tabLink {
  display: inline-block;
  width: 100%;
  background-color: #EBEBEA;
  color: #7B7F80;
  font-size: 0.8125rem;
  text-align: center;
  padding-block: 0.875rem;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
@media screen and (min-width: 768px) {
  .contact__tabLink {
    font-size: 1rem;
    border-radius: 0;
  }
}

.contact__tabItem.current .contact__tabLink {
  background-color: #CBB483;
  color: #ffffff;
}

.contact__formList {
  margin-top: 2.375rem;
}
@media screen and (min-width: 768px) {
  .contact__formList {
    margin-top: 3.375rem;
  }
}

.contact__formTitle {
  font-family: "Shippori Mincho", serif;
  color: #18486F;
  font-weight: 700;
  font-size: 1.125rem;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .contact__formTitle {
    font-size: 1.25rem;
  }
}

.contact__formText {
  margin-top: 1.1875rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .contact__formText {
    text-align: center;
  }
}

.contact__document {
  margin-top: 1.25rem;
  background-color: #F8F8F8;
  padding: 1.1875rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .contact__document {
    padding: 2.5rem;
    margin-bottom: 1.9375rem;
  }
}

.contact__documentTitle {
  padding-bottom: 0.8125rem;
  border-bottom: 0.0625rem solid #D6D6D6;
  font-weight: 400;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .contact__documentTitle {
    font-size: 1rem;
  }
}

.contact__document ul {
  margin-top: 0.875rem;
}

.contact__document ul li {
  padding-left: 1.1875rem;
  position: relative;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .contact__document ul li {
    font-size: 1rem;
  }
}

.contact__document ul li:nth-child(n+2) {
  margin-top: 0.25rem;
}

.contact__document ul li::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.0625rem;
  background-color: #CBB483;
  position: absolute;
  left: 0;
  top: 55%;
}

.contact__steps {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.9375rem;
}
@media screen and (min-width: 768px) {
  .contact__steps {
    margin-top: 1.3125rem;
    gap: 4.75rem;
    max-width: 47rem;
    margin-inline: auto;
  }
}

.contact__step {
  width: calc(33.3333333333% - 1.2916666667rem);
  background-color: #EBEBEA;
  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.8125rem;
  color: #7B7F80;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .contact__step {
    width: calc(33.3333333333% - 3.1666666667rem);
    font-size: 1rem;
    padding: 0.875rem;
  }
}

.contact__step:not(:last-child)::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 0.25rem solid transparent;
  border-bottom: 0.25rem solid transparent;
  border-left: 0.4375rem solid #18486F;
  border-right: 0;
  position: absolute;
  top: 50%;
  right: -1.1875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .contact__step:not(:last-child)::before {
    right: -2.5625rem;
  }
}

.contact__step.current {
  background-color: #18486F;
  color: #ffffff;
}

.contact__form {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .contact__form {
    margin-top: 2.5rem;
    max-width: 47rem;
    margin-inline: auto;
  }
}

.contact__confirm {
  margin-top: 2.1875rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .contact__confirm {
    margin-top: 3.5rem;
    max-width: 50.125rem;
    margin-inline: auto;
  }
}

.contact__confirmText {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .contact__confirmText {
    margin-top: 2.375rem;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .contact__confirm .form__label {
    margin-top: 0;
    width: 30.851%;
  }
}

@media screen and (min-width: 768px) {
  .contact__confirm .form__item:not(:first-of-type) {
    margin-top: 2.3125rem;
  }
}

.contact__confirm .form__zipcode {
  font-size: 1rem;
}

.contact__complete {
  margin-top: 2.8125rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .contact__complete {
    margin-top: 3.5rem;
    max-width: 50.125rem;
    margin-inline: auto;
  }
}

.contact__completeTextL {
  margin-top: 2.3125rem;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  color: #18486F;
  font-size: 1.5rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .contact__completeTextL {
    margin-top: 3.6875rem;
    font-size: 2rem;
    color: #18486F;
  }
}

.contact__completeTextS {
  margin-top: 1.625rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  text-align: left;
  max-width: 18.75rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .contact__completeTextS {
    margin-top: 2.0625rem;
    text-align: center;
    max-width: none;
  }
}

.contact__completeBtn {
  margin-top: 2.375rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact__completeBtn {
    margin-top: 3.875rem;
  }
}

.contact__completeBtn a {
  max-width: 16.25rem;
}

.cuisine {
  margin-top: 2.3125rem;
  margin-bottom: 7.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .cuisine {
    margin-top: 3.3125rem;
  }
}

.cuisine__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .cuisine__container {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    -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;
  }
}

.cuisine__container:nth-child(n+2) {
  margin-top: 10rem;
}
@media screen and (min-width: 768px) {
  .cuisine__container:nth-child(n+2) {
    margin-top: 17.6875rem;
  }
}

.cuisine__body {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 3.4375rem;
}
@media screen and (min-width: 768px) {
  .cuisine__body {
    margin-top: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 51.428%;
    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;
  }
}

@media screen and (min-width: 768px) {
  .cuisine__textWrap {
    margin-left: 6.857vw;
    max-width: 31.5625rem;
    margin-right: 1em;
  }
}

.cuisine__bodyTitle {
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  line-height: 1.75;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  color: #18486F;
}
@media screen and (min-width: 768px) {
  .cuisine__bodyTitle {
    font-size: 2rem;
    line-height: 1.75;
  }
}

.cuisine__bodyText {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .cuisine__bodyText {
    margin-top: 1.0625rem;
  }
}

.cuisine__imageWrap {
  margin-top: 3.875rem;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 768px) {
  .cuisine__imageWrap {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 0;
    width: 100%;
    margin-inline: 0;
  }
}

.cuisine__imageWrap img {
  width: 51.466%;
  aspect-ratio: 193/129;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .cuisine__imageWrap img {
    aspect-ratio: 312/208;
    width: 43.333%;
  }
}

.cuisine__imageWrap img:nth-child(2) {
  bottom: -5rem;
  left: -2.932%;
  z-index: -1;
  position: relative;
}
@media screen and (min-width: 768px) {
  .cuisine__imageWrap img:nth-child(2) {
    left: initial;
    right: -2.5rem;
    bottom: -8rem;
    z-index: 1;
  }
}

.cuisine__imageL {
  position: relative;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .cuisine__imageL {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 48.572%;
    margin-inline: 0;
    margin-top: 7.1875rem;
  }
}

.cuisine__imageL img {
  aspect-ratio: 375/250;
}
@media screen and (min-width: 768px) {
  .cuisine__imageL img {
    aspect-ratio: 680/453;
  }
}

.cuisine__imageL span {
  color: #ffffff;
  text-shadow: 0 0 0.375rem rgba(95, 69, 44, 0.2);
  font-size: 2.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-family: "Libre Caslon Display", serif;
  position: absolute;
  right: 0;
  bottom: -2.5rem;
}
@media screen and (min-width: 768px) {
  .cuisine__imageL span {
    font-size: min(5rem, 5.714vw);
    bottom: -4.25rem;
  }
}

@media screen and (min-width: 768px) {
  .cuisine__container--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  .cuisine__container--reverse .cuisine__textWrap {
    margin-left: 8.857vw;
    margin-right: initial;
  }
}

.cuisine__container--reverse .cuisine__imageWrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.cuisine__container--reverse .cuisine__imageWrap img:nth-child(2) {
  left: initial;
  right: -2.932%;
  bottom: -5rem;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .cuisine__container--reverse .cuisine__imageWrap img:nth-child(2) {
    right: initial;
    left: -2.5rem;
    bottom: -8rem;
    z-index: 1;
  }
}

.cuisine__container--reverse .cuisine__imageL span {
  right: initial;
  left: 0;
}

.cuisine__note {
  margin-top: 9rem;
  background-color: #F8F4EB;
  padding: 1.25rem;
}
@media screen and (min-width: 768px) {
  .cuisine__note {
    margin-top: 15.375rem;
    padding: 1.875rem 3.125rem 2.25rem;
    max-width: 43.75rem;
    margin-inline: auto;
  }
}

.cuisine__noteTitle {
  font-size: 1.125rem;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  color: #18486F;
}
@media screen and (min-width: 768px) {
  .cuisine__noteTitle {
    font-size: 1.125rem;
  }
}

.cuisine__noteText {
  margin-top: 0.75rem;
  padding-top: 0.8125rem;
  border-top: 0.0625rem solid #D6D6D6;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.dress {
  margin-top: 2.3125rem;
  margin-bottom: 7.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .dress {
    margin-top: 3.6875rem;
  }
}

.dress__header {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .dress__header {
    width: 91.428vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    position: relative;
    left: 50%;
  }
}

.dress__header img {
  aspect-ratio: 335/180;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .dress__header img {
    aspect-ratio: 1280/400;
  }
}

.dress__textL {
  margin-top: 1.125rem;
  text-align: center;
  font-family: "Libre Caslon Display", serif;
  color: #18486F;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .dress__textL {
    margin-top: 2.3125rem;
    line-height: 1.6;
    font-size: 2rem;
  }
}

.dress__textL span {
  text-transform: uppercase;
}

.dress__text {
  margin-top: 0.875rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .dress__text {
    margin-top: 0.9375rem;
    text-align: center;
  }
}

.dress__features {
  margin-top: 2.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .dress__features {
    margin-top: 3.6875rem;
    gap: 3.125rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.dress__feature {
  width: 95.522%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .dress__feature {
    width: calc(33.3333333333% - 2.0833333333rem);
    margin-inline: 0;
  }
}

.dress__featureImage img {
  aspect-ratio: 320/240;
  -o-object-fit: cover;
     object-fit: cover;
}

.dress__featureTitle {
  margin-top: 0.875rem;
  font-weight: 700;
  font-family: "Shippori Mincho", serif;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  color: #18486F;
}

.dress__featureText {
  margin-top: 0.5625rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.dress__container {
  margin-top: 6.0625rem;
}
@media screen and (min-width: 768px) {
  .dress__container {
    margin-top: 9.5rem;
  }
}

.dress__collection {
  margin-top: 3.625rem;
}
@media screen and (min-width: 768px) {
  .dress__collection {
    margin-top: 3.75rem;
  }
}

.dress__collection + .dress__collection {
  margin-top: 3.4375rem;
}
@media screen and (min-width: 768px) {
  .dress__collection + .dress__collection {
    margin-top: 7.3125rem;
  }
}

.dress__description {
  margin-top: 1.8125rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.dress__gallery {
  margin-top: 2.375rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .dress__gallery {
    margin-top: 4rem;
    padding-bottom: 3.875rem;
  }
}

.dress__gallery img {
  aspect-ratio: 335/447;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .dress__gallery img {
    aspect-ratio: 350/467;
  }
}

.dress__gallery .swiper-pagination {
  z-index: 9;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .dress__gallery .swiper-pagination {
    bottom: 0.625rem !important;
  }
}

.dress__gallery .swiper-button-prev--ptn1 {
  right: 3.375rem;
  left: initial;
}
@media screen and (min-width: 768px) {
  .dress__gallery .swiper-button-prev--ptn1 {
    right: 3.375rem;
  }
}

.dress__gallery .swiper-button-next--ptn1 {
  right: 0;
}
@media screen and (min-width: 768px) {
  .dress__gallery .swiper-button-next--ptn1 {
    right: 0;
  }
}

.fair {
  margin-top: 2.3125rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .fair {
    margin-top: 3.625rem;
  }
}

.fair__searchBtns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.6875rem;
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .fair__searchBtns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 1.625rem;
  }
}

.fair__searchBtn {
  display: inline-block;
  width: calc(50% - 0.34375rem);
  padding: 0.8125rem 0.75rem;
  text-align: center;
  background-color: #EBEBEA;
  color: #7B7F80;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .fair__searchBtn {
    width: auto;
    padding: 0.9375rem 3.4375rem;
    font-size: 1rem;
  }
}

.fair__searchBtn.active {
  background-color: #18486F;
  color: #ffffff;
}

.fair__calendar {
  opacity: 0;
  visibility: hidden;
  height: 0;
  -webkit-transition: opacity 0.4s ease-out;
  transition: opacity 0.4s ease-out;
  background-color: #ffffff;
  border: 0.0625rem solid #eee;
}
@media screen and (min-width: 768px) {
  .fair__calendar {
    max-width: 52rem;
    width: 100%;
    margin-inline: auto;
  }
}

.fair__calendar.active {
  opacity: 1;
  visibility: visible;
  height: auto;
  padding: 2.3125rem 1.1875rem;
}
@media screen and (min-width: 768px) {
  .fair__calendar.active {
    padding: 2.25rem 3.5rem 2.5rem;
  }
}

.fair__calendarTitle {
  text-align: center;
  font-weight: 700;
  color: #18486F;
  font-size: 0.9375rem;
  letter-spacing: 0.1em;
}

.fair__calendarWrap {
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .fair__calendarWrap {
    margin-top: 2.5rem;
  }
}

.fair__result {
  margin-top: 2.5rem;
  padding-bottom: 0.875rem;
  border-bottom: 0.0625rem solid #D6D6D6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .fair__result {
    margin-top: 6rem;
    padding-bottom: 1.0625rem;
    padding-right: 3.125rem;
    font-size: 1rem;
  }
}

.fair__list {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .fair__list {
    margin-top: 4.5rem;
  }
}

.fair__new {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 3rem;
  height: 3rem;
  color: #CBB483;
  text-transform: uppercase;
  background-color: #ffffff;
  border: 0.0625rem solid #CBB483;
  font-size: 0.6875rem;
  font-family: "Libre Caslon Display", serif;
  border-radius: 50%;
  position: absolute;
  top: -1.25rem;
  left: -0.625rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .fair__new {
    width: 3.75rem;
    height: 3.75rem;
    top: -1.875rem;
    left: -1.875rem;
    font-size: 0.875rem;
  }
}

.fair .pagination {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .fair .pagination {
    margin-top: 4rem;
  }
}

#calendar {
  width: 100%;
  margin-inline: auto;
  position: relative;
  z-index: 0;
}

.fc .fc-multimonth-title {
  font-size: 1rem;
  padding: 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .fc .fc-multimonth-title {
    padding: 0 0 1.5625rem;
  }
}

.fc .fc-toolbar-title {
  font-size: 1rem;
}

.fc .fc-toolbar.fc-header-toolbar {
  position: relative;
  bottom: -1.125rem;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .fc .fc-toolbar.fc-header-toolbar {
    position: absolute;
    top: 26%;
    bottom: initial;
    left: 50%;
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
    width: calc(100% + 15.625rem);
    z-index: 0;
  }
}

.fc .fc-daygrid-body,
.fc .fc-scrollgrid table {
  width: 100% !important;
}

.fc table {
  font-size: 0.8125rem !important;
}

.fc .fc-daygrid-day-number {
  cursor: pointer;
}

.fc .fc-multimonth {
  border: none;
}

.fc .fc-daygrid-day {
  background-image: radial-gradient(circle, #eee calc(60% - 1px), transparent 60%);
}

.fc .fc-daygrid-day.fc-day-today {
  background-color: transparent;
  background-image: radial-gradient(circle, #18486F calc(60% - 1px), transparent 60%) !important;
  color: #ffffff !important;
}

.fc .fc-daygrid-day-frame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 768px) {
  .fc .fc-daygrid-day-frame {
    aspect-ratio: initial;
  }
}

.fc .fc-daygrid-body-natural .fc-daygrid-day-events {
  display: none;
}

.fc-daygrid-day.fc-day-sat,
.fc-day-sat a {
  color: #3460B4;
}

.fc-daygrid-day.fc-day-sun,
.fc-day-sun a {
  color: #A80B0B;
}

.fc-theme-standard .fc-scrollgrid {
  border: none;
}

.fc-theme-standard td,
.fc-theme-standard th {
  border: none;
}

.fc-theme-standard th {
  border-bottom: 0.0625rem solid #ccc;
  padding: 0.375rem 0 0.25rem;
}
@media screen and (min-width: 768px) {
  .fc-theme-standard th {
    padding: 0.375rem 0 0.625rem;
  }
}

@media screen and (min-width: 768px) {
  .fc .fc-multimonth-month {
    padding: 0px 1.2em 1.2em;
    width: 50% !important;
  }
}

.fc .fc-button-primary {
  background-color: transparent;
  border-color: #18486F;
  border-radius: 50%;
  width: 1.875rem;
  height: 1.875rem;
  padding: 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;
}

.fc .fc-button-primary:hover,
.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
  background-color: transparent;
  border-color: #18486F;
  color: #18486F;
}

.fc .fc-button-primary:focus,
.fc .fc-button-primary:not(:disabled).fc-button-active:focus,
.fc .fc-button-primary:not(:disabled):active:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.fc .fc-button .fc-icon {
  color: #18486F;
  font-size: 1rem;
}

.fairDetail {
  margin-top: 2.375rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .fairDetail {
    margin-top: 3.6875rem;
  }
}

.fairDetail__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-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .fairDetail__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-right: 3.125rem;
  }
}

.fairDetail__image {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 47.761%;
  margin-inline: auto;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__image {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    width: 30%;
    margin: 0;
  }
}

.fairDetail__image img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}

.fairDetail__infoWrap {
  display: contents;
}
@media screen and (min-width: 768px) {
  .fairDetail__infoWrap {
    display: block;
  }
}

.fairDetail__title {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-left: 0;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__title {
    font-size: 1.125rem;
  }
}

.fairDetail__categories {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-left: 0;
  margin-top: 0.875rem;
}

.fairDetail__box {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  background-color: #ffffff;
  padding: 1.125rem 1.25rem 1.875rem;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__box {
    background-color: transparent;
    padding: 0;
    margin-top: 0;
  }
}

.fairDetail__text {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .fairDetail__text {
    margin-top: 0.9375rem;
  }
}

.fairDetail__contents {
  margin-top: 1.125rem;
  padding: 1.125rem 1.25rem;
  background-color: #FBF8F3;
}
@media screen and (min-width: 768px) {
  .fairDetail__contents {
    margin-top: 2.375rem;
    padding: 1.8125rem 2.5rem;
  }
}

.fairDetail__contentsHeader {
  padding-bottom: 0.75rem;
  border-bottom: 0.0625rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .fairDetail__contentsHeader {
    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;
  }
}

.fairDetail__subTitle {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #CBB483;
}
@media screen and (min-width: 768px) {
  .fairDetail__subTitle {
    font-size: 1rem;
  }
}

.fairDetail__duration {
  position: relative;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  margin-top: 0.375rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__duration {
    margin-top: 0;
    margin-right: 0.5rem;
  }
}

.fairDetail__duration::before {
  content: "";
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  background-image: url("../images/fair/icon_clock.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.375rem;
  position: relative;
  top: 0.0625rem;
}

.fairDetail__contentsList {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1.5625rem;
     -moz-column-gap: 1.5625rem;
          column-gap: 1.5625rem;
  row-gap: 1.9375rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__contentsList {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 1.3125rem;
       -moz-column-gap: 1.3125rem;
            column-gap: 1.3125rem;
    row-gap: 2.5rem;
    margin-top: 2rem;
  }
}

.fairDetail__contentsItem {
  width: calc(50% - 0.78125rem);
}
@media screen and (min-width: 768px) {
  .fairDetail__contentsItem {
    width: calc(33.3333333333% - 1.6666666667rem);
  }
}

.fairDetail__contentsItem img {
  width: 2.5rem;
  height: 2.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .fairDetail__contentsItem img {
    width: 3.75rem;
    height: 3.75rem;
  }
}

.fairDetail__contentsItem p {
  text-align: center;
  margin-top: 0.75rem;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.5384615385;
}
@media screen and (min-width: 768px) {
  .fairDetail__contentsItem p {
    margin-top: 1rem;
  }
}

.fairDetail__reservation {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__reservation {
    margin-top: 5.875rem;
  }
}

.fairDetail__reservationBox {
  margin-top: 2rem;
  padding: 1.6875rem 1.25rem 0.875rem;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .fairDetail__reservationBox {
    margin-top: 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1.9375rem 3.125rem 0 5rem;
  }
}

.fairDetail__reservationBox:nth-child(n+3) {
  margin-top: 1rem;
}

.fairDetail__reservationDate {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .fairDetail__reservationDate {
    width: 30.107%;
    padding-top: 0.5625rem;
  }
}

.fairDetail__reservationTimes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  margin-top: 0.375rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__reservationTimes {
    width: 69.893%;
    row-gap: 2rem;
    margin-top: 0;
  }
}

.fairDetail__reservationTimes::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.0625rem;
  background-color: #ffffff;
  position: absolute;
  bottom: 0;
}

.fairDetail__reservationTime {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  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: 1.875rem;
  font-size: 0.875rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 0.0625rem solid #D6D6D6;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .fairDetail__reservationTime {
    padding-top: 0;
    padding-bottom: 2rem;
    width: auto;
  }
}

@media screen and (min-width: 768px) {
  .fairDetail__reservationTime:nth-child(2n) {
    padding-left: 5rem;
  }
}

.fairDetail__reservationTime a {
  width: 10.6875rem;
  min-width: initial;
  font-size: 0.8125rem;
  padding: 0.53125rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__reservationTime a {
    font-size: 0.875rem;
    padding: 0.5rem;
  }
}

.fairDetail__form {
  margin-top: 2.1875rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__form {
    margin-top: 5.6875rem;
  }
}

.fairDetail__formLead {
  font-size: 1.375rem;
  letter-spacing: 0.05em;
  line-height: 1.7272727273;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  color: #18486F;
  display: block;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fairDetail__formLead {
    font-size: 2rem;
  }
}

.fairDetail__formTitle {
  margin-top: 2.1875rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__formTitle {
    margin-top: 2.5rem;
  }
}

.fairDetail__formContainer {
  max-width: 50rem;
  margin-inline: auto;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__formContainer {
    margin-top: 4.0625rem;
  }
}

.fairDetail__formWrap {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .fairDetail__formWrap {
    margin-top: 3.1875rem;
    max-width: 47rem;
    margin-inline: auto;
  }
}

.form__item input[name=your-fair-04] {
  background-color: transparent;
  border: none;
  padding-inline: 0;
  padding-bottom: 0;
}

.fairDetail__back {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fairDetail__back {
    margin-top: 1.875rem;
  }
}

.faq {
  margin-top: 2.3125rem;
  margin-bottom: 8.5625rem;
}
@media screen and (min-width: 768px) {
  .faq {
    margin-top: 3.625rem;
    margin-bottom: 7.5rem;
  }
}

.faq__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.6875rem;
     -moz-column-gap: 0.6875rem;
          column-gap: 0.6875rem;
  row-gap: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .faq__btns {
    gap: 1.25rem;
  }
}

.faq__btn {
  display: inline-block;
  width: calc(50% - 0.34375rem);
  padding: 0.875rem 0.75rem;
  text-align: center;
  background-color: #EBEBEA;
  font-size: 0.6875rem;
  color: #7B7F80;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  .faq__btn {
    width: calc(25% - 0.9375rem);
    font-size: 1rem;
    padding: 0.90625rem;
  }
}

.faq__btn:hover {
  background-color: #18486F;
  color: #ffffff;
  opacity: 1;
}

.faq__groupList {
  margin-top: 4.3125rem;
}
@media screen and (min-width: 768px) {
  .faq__groupList {
    margin-top: 5.75rem;
    max-width: 60rem;
    margin-inline: auto;
  }
}

.faq__groupItem:nth-child(n+2) {
  margin-top: 3.875rem;
}
@media screen and (min-width: 768px) {
  .faq__groupItem:nth-child(n+2) {
    margin-top: 5.75rem;
  }
}

.faq__title {
  font-size: 1.125rem;
  text-align: center;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  color: #18486F;
}
@media screen and (min-width: 768px) {
  .faq__title {
    font-size: 1.5rem;
  }
}

.faq__list {
  margin-top: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .faq__list {
    margin-top: 2.3125rem;
  }
}

.lunch {
  margin-top: 2.375rem;
  margin-bottom: 7.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .lunch {
    margin-top: 3.625rem;
  }
}

.lunch__header {
  width: 89.333vw;
  margin-left: calc(50% - 50vw);
  position: relative;
}
@media screen and (min-width: 768px) {
  .lunch__header {
    width: 91.428vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    left: 50%;
    margin-left: initial;
  }
}

.lunch__header img {
  aspect-ratio: 335/180;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .lunch__header img {
    aspect-ratio: 1280/400;
  }
}

.lunch__header::before {
  content: "";
  display: block;
  width: 32vw;
  height: 43.7333333333vw;
  background-image: url("../images/lunch/header_s.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 54%;
  right: -10.666vw;
}
@media screen and (min-width: 768px) {
  .lunch__header::before {
    width: 26.285vw;
    height: 35.7857142857vw;
    top: 80%;
    right: -4.286vw;
  }
}

.lunch__textL {
  margin-top: 6.875rem;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  color: #18486F;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .lunch__textL {
    margin-top: 5.9375rem;
    font-size: 2rem;
  }
}

.lunch__text {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .lunch__text {
    margin-top: 1.125rem;
  }
}

.lunch__anchor {
  margin-top: 2.375rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .lunch__anchor {
    margin-top: 1.375rem;
    text-align: left;
  }
}

.lunch__anchor a::before {
  width: 0.5625rem;
  right: 1.4375rem;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.lunch__anchor a::after {
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
  right: 1.5rem;
}

.lunch__title {
  margin-top: 6.3125rem;
}
@media screen and (min-width: 768px) {
  .lunch__title {
    margin-top: 9.5625rem;
  }
}

.lunch__menuList {
  margin-top: 3.6875rem;
  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.875rem;
}
@media screen and (min-width: 768px) {
  .lunch__menuList {
    margin-top: 4rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
    row-gap: 4.75rem;
  }
}

@media screen and (min-width: 768px) {
  .lunch__menuItem {
    width: calc(50% - 1.25rem);
  }
}

.lunch__menuImages {
  margin-top: 1.1875rem;
  padding-bottom: 2rem;
  margin-bottom: -0.8125rem;
}
@media screen and (min-width: 768px) {
  .lunch__menuImages {
    margin-bottom: -1.375rem;
  }
}

.lunch__menuImages img {
  aspect-ratio: 335/218;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .lunch__menuImages img {
    aspect-ratio: 510/332;
  }
}

.lunch__menuText {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .lunch__menuText {
    margin-top: 2.6875rem;
  }
}

.lunch__menuText li {
  padding-left: 1.5rem;
  position: relative;
}

.lunch__menuText li::before {
  content: "";
  display: block;
  width: 0.9375rem;
  height: 0.0625rem;
  background-color: #CBB483;
  position: absolute;
  left: 0;
  top: 50%;
}

.lunch__menuNote {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.lunch__takeout {
  margin-top: 3.5625rem;
}
@media screen and (min-width: 768px) {
  .lunch__takeout {
    margin-top: 5.5625rem;
  }
}

.lunch__takeout .lunch__menuList {
  margin-top: 2.4375rem;
}
@media screen and (min-width: 768px) {
  .lunch__takeout .lunch__menuList {
    margin-top: 3.9375rem;
  }
}

.lunch__takeout .lunch__menuImages {
  margin-top: 0;
}

.lunch__reserve {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .lunch__reserve {
    margin-top: 4.875rem;
  }
}

.lunch__calender {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .lunch__calender {
    margin-top: 5.9375rem;
  }
}

.lunch__calenderWrap {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .lunch__calenderWrap {
    margin-top: 4rem;
    max-width: 60rem;
    margin-inline: auto;
  }
}

.lunch__calenderWrap iframe {
  width: 100%;
}

.lunch__menuList .swiper-button-prev--ptn2,
.lunch__menuList .swiper-button-next--ptn2 {
  width: 1.875rem;
  height: 1.875rem;
}
@media screen and (min-width: 768px) {
  .lunch__menuList .swiper-button-prev--ptn2,
  .lunch__menuList .swiper-button-next--ptn2 {
    width: 1.875rem;
    height: 1.875rem;
  }
}

.news {
  margin-top: 2.3125rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .news {
    margin-top: 3.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .news__list {
    max-width: 60rem;
    margin-inline: auto;
  }
}

.news__list .newsList__link {
  padding-block: 0.71875rem;
}
@media screen and (min-width: 768px) {
  .news__list .newsList__link {
    padding-block: 1.46875rem;
  }
}

.news .pagination {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .news .pagination {
    margin-top: 4rem;
  }
}

.newsDetail {
  margin-top: 2.1875rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .newsDetail {
    margin-top: 3.5625rem;
  }
}

.newsDetail__article {
  padding-bottom: 2.0625rem;
  border-bottom: 0.0625rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .newsDetail__article {
    padding-bottom: 4.5rem;
  }
}

.newsDetail__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.newsDetail__date {
  font-size: 0.75rem;
  color: #7B7F80;
}
@media screen and (min-width: 768px) {
  .newsDetail__date {
    font-size: 0.875rem;
  }
}

.newsDetail__new {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  color: #CBB483;
  font-family: "Libre Caslon Display", serif;
  margin-left: 0.625rem;
  padding: 0 1rem;
  border: 0.0625rem solid #CBB483;
  text-transform: uppercase;
}

.newsDetail__title {
  margin-top: 0.5625rem;
  color: #18486F;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  padding-bottom: 0.5625rem;
  border-bottom: 0.0625rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .newsDetail__title {
    font-size: 1.5rem;
  }
}

.newsDetail__content {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .newsDetail__content {
    margin-top: 4rem;
    max-width: 55rem;
    margin-inline: auto;
  }
}

.newsDetail__content > * {
  margin-top: 0;
}

.newsDetail__content > * + * {
  margin-top: 2em;
}

.newsDetail__content h2 {
  font-size: 1.125rem;
  font-family: "Shippori Mincho", serif;
  color: #18486F;
  padding-bottom: 0.75rem;
  border-bottom: 0.0625rem solid #D6D6D6;
  position: relative;
}
@media screen and (min-width: 768px) {
  .newsDetail__content h2 {
    margin-top: 3.8125rem;
  }
}

.newsDetail__content h2::before {
  content: "";
  display: block;
  width: 3.125rem;
  height: 0.0625rem;
  background-color: #CBB483;
  position: absolute;
  bottom: -0.0625rem;
  left: 0;
}

.newsDetail__content h3 {
  font-size: 1rem;
  font-family: "Shippori Mincho", serif;
  color: #18486F;
  padding-left: 0.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .newsDetail__content h3 {
    margin-top: 2.5rem;
  }
}

.newsDetail__content h3::before {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 75%;
  background-color: #CBB483;
  position: absolute;
  top: 50%;
  left: -0.0625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.newsDetail__content h4,
.newsDetail__content h5,
.newsDetail__content h6 {
  font-family: "Shippori Mincho", serif;
  color: #18486F;
}

.newsDetail__content p {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  margin-top: 1rem;
}

.newsDetail__content a {
  text-decoration: underline;
}

.newsDetail__content figure {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .newsDetail__content figure {
    margin-top: 2.9375rem;
  }
}

.newsDetail__content .is-provider-youtube iframe {
  aspect-ratio: 16/9;
  height: 100%;
  width: 100%;
}

.newsDetail__back {
  margin-top: 2.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .newsDetail__back {
    margin-top: 3.75rem;
  }
}

.party {
  margin-top: 2.3125rem;
  margin-bottom: 7.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .party {
    margin-top: 3.625rem;
  }
}

.party__header {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .party__header {
    width: 91.428vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    position: relative;
    left: 50%;
  }
}

.party__header img {
  aspect-ratio: 335/180;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .party__header img {
    aspect-ratio: 1280/400;
  }
}

.party__lead {
  margin-top: 1.4375rem;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  color: #18486F;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .party__lead {
    margin-top: 4.75rem;
    font-size: 2rem;
  }
}

.party__text {
  margin-top: 1.1875rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .party__text {
    margin-top: 1.0625rem;
    text-align: center;
  }
}

.party__scene {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .party__scene {
    margin-top: 5.75rem;
  }
}

.party__sceneList {
  margin-top: 1.9375rem;
}
@media screen and (min-width: 768px) {
  .party__sceneList {
    margin-top: 3.9375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3.125rem;
  }
}

@media screen and (min-width: 768px) {
  .party__sceneItem {
    width: calc(33.3333333333% - 2.0833333333rem);
  }
}

.party__sceneItem:nth-child(n+2) {
  margin-top: 2.375rem;
}
@media screen and (min-width: 768px) {
  .party__sceneItem:nth-child(n+2) {
    margin-top: 0;
  }
}

.party__sceneImage img {
  aspect-ratio: 320/135;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .party__sceneImage img {
    aspect-ratio: 320/240;
  }
}

.party__sceneTitle {
  margin-top: 1rem;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  font-family: "Libre Caslon Display", serif;
  font-weight: 700;
  color: #18486F;
}

.party__merit {
  margin-top: 3.8125rem;
}
@media screen and (min-width: 768px) {
  .party__merit {
    margin-top: 5.875rem;
  }
}

.party__meritList {
  margin-top: 1.9375rem;
  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 screen and (min-width: 768px) {
  .party__meritList {
    margin-top: 3.9375rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.party__meritItem {
  width: 95.522%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .party__meritItem {
    width: calc(33.3333333333% - 2.0833333333rem);
    margin-inline: 0;
  }
}

.party__meritImage img {
  aspect-ratio: 320/240;
  -o-object-fit: cover;
     object-fit: cover;
}

.party__meritTitle {
  margin-top: 1.125rem;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  font-family: "Libre Caslon Display", serif;
  font-weight: 700;
  color: #18486F;
  line-height: 1.4444444444;
}

.party__meritText {
  margin-top: 0.625rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.party__price {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .party__price {
    margin-top: 5.75rem;
  }
}

.party__table {
  margin-top: 1.8125rem;
}
@media screen and (min-width: 768px) {
  .party__table {
    margin-top: 3.9375rem;
  }
}

.party__table th {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .party__table th {
    width: 27.083%;
  }
}

.party__included {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .party__included {
    margin-top: 5.75rem;
  }
}

.party__includedWrap {
  background-color: #FBF8F3;
  padding: 1rem;
  margin-top: 2rem;
  margin-inline: 0.46875rem;
}
@media screen and (min-width: 768px) {
  .party__includedWrap {
    padding: 3.125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 60rem;
    margin-inline: auto;
    margin-top: 4rem;
  }
}

.party__includedList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .party__includedList {
    padding-right: 0.8125rem;
    width: 38.721%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    gap: 1.25rem;
  }
}

.party__includedItem {
  width: 50%;
}
@media screen and (min-width: 768px) {
  .party__includedItem {
    width: calc(50% - 0.625rem);
    max-width: 9.375rem;
  }
}

.party__includedItem img {
  width: 3rem;
  height: 3rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .party__includedItem img {
    width: 3.75rem;
    height: 3.75rem;
  }
}

.party__includedText {
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.5384615385;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .party__includedText {
    margin-top: 1rem;
    line-height: 1.5384615385;
  }
}

.party__includedNote {
  margin-top: 1.125rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  padding-top: 1.0625rem;
  border-top: 0.0625rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .party__includedNote {
    margin-top: 0;
    padding-top: 0;
    padding-left: 2.625rem;
    border-top: none;
    border-left: 0.0625rem solid #D6D6D6;
    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;
  }
}

.party__reserve {
  margin-top: 2.3125rem;
}
@media screen and (min-width: 768px) {
  .party__reserve {
    margin-top: 5rem;
  }
}

.plan {
  margin-top: 2.3125rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .plan {
    margin-top: 3.625rem;
  }
}

.plan .pagination {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .plan .pagination {
    margin-top: 4rem;
  }
}

.planDetail {
  margin-top: 2.1875rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .planDetail {
    margin-top: 3.125rem;
    margin-bottom: 6.25rem;
  }
}

.planDetail__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-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .planDetail__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-right: 3.125rem;
  }
}

.planDetail__image {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 47.761%;
  margin-inline: auto;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .planDetail__image {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    width: 30%;
    margin: 0;
  }
}

.planDetail__image img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}

.planDetail__infoWrap {
  display: contents;
}
@media screen and (min-width: 768px) {
  .planDetail__infoWrap {
    display: block;
  }
}

.planDetail__title {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-left: 0;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .planDetail__title {
    font-size: 1.125rem;
  }
}

.planDetail__category {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-left: 0;
  margin-top: 0.75rem;
}

.planDetail__box {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  background-color: #ffffff;
  padding: 1.25rem 1.25rem 2.625rem;
  margin-top: 1.25rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .planDetail__box {
    background-color: transparent;
    padding: 0;
    margin-top: 0;
  }
}

.planDetail__detail {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .planDetail__detail {
    margin-top: 1.25rem;
  }
}

.planDetail__info {
  margin-top: 1.1875rem;
}
@media screen and (min-width: 768px) {
  .planDetail__info {
    margin-top: 1.75rem;
  }
}

.planDetail__info table {
  width: 100%;
}

.planDetail__merit {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .planDetail__merit {
    margin-top: 5.75rem;
  }
}

.planDetail__meritList {
  margin-top: 3.5625rem;
  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.875rem;
  width: 91.343%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .planDetail__meritList {
    margin-top: 4.6875rem;
    max-width: 60rem;
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.3125rem;
  }
}

.planDetail__meritItem {
  background-color: #FBF8F3;
  padding: 2.4375rem 1.4375rem 1.3125rem;
  min-height: 7.1875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  -webkit-box-shadow: 0 0.375rem 1.25rem rgba(95, 69, 44, 0.15);
          box-shadow: 0 0.375rem 1.25rem rgba(95, 69, 44, 0.15);
}
@media screen and (min-width: 768px) {
  .planDetail__meritItem {
    width: calc(33.3333333333% - 0.8333333333rem);
    min-height: 6.8125rem;
  }
}

.planDetail__meritNum {
  position: absolute;
  top: -2.125rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 2.5rem;
  color: #CBB483;
  font-family: "Libre Caslon Display", serif;
}
@media screen and (min-width: 768px) {
  .planDetail__meritNum {
    top: -2.0625rem;
    font-size: 2.5rem;
  }
}

.planDetail__meritText {
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.05em;
  text-align: center;
}

.planDetail__price {
  margin-top: 3.8125rem;
}
@media screen and (min-width: 768px) {
  .planDetail__price {
    margin-top: 5.875rem;
  }
}

.planDetail__priceTable {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .planDetail__priceTable {
    margin-top: 3.5625rem;
  }
}

.planDetail__priceTable tr th {
  display: table-cell;
  width: 37.5%;
}
@media screen and (min-width: 768px) {
  .planDetail__priceTable tr th {
    width: 33.3333333333%;
    text-align: center;
    padding-bottom: 0.5625rem;
  }
}

.planDetail__priceTable tr th:first-child {
  width: 25%;
}
@media screen and (min-width: 768px) {
  .planDetail__priceTable tr th:first-child {
    width: 33.3333333333%;
  }
}

.planDetail__priceTable tr:last-child {
  border-bottom: 0.0625rem solid #D6D6D6;
}

.planDetail__priceTable tr td {
  text-align: center;
  display: table-cell;
  border-top: 0.0625rem solid #D6D6D6;
  padding-block: 1.0625rem;
}

.planDetail__priceTable tr td:last-child {
  font-weight: 700;
}

.planDetail__priceNotice {
  margin-top: 0.625rem;
  margin-inline: auto;
  width: 95.522%;
}
@media screen and (min-width: 768px) {
  .planDetail__priceNotice {
    max-width: 60rem;
  }
}

.planDetail__priceNotice small {
  display: block;
  line-height: 1.8333333333;
  font-size: 0.75rem;
  letter-spacing: 0;
}

.planDetail__included {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .planDetail__included {
    margin-top: 5.75rem;
  }
}

.planDetail__includedTable {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .planDetail__includedTable {
    margin-top: 3.625rem;
  }
}

.planDetail__introductionText {
  margin-top: 1.875rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .planDetail__introductionText {
    margin-top: 2.4375rem;
    max-width: 60rem;
    margin-inline: auto;
  }
}

.planDetail__btn {
  margin-top: 2.3125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .planDetail__btn {
    margin-top: 3.875rem;
  }
}

.planDetail__back {
  margin-top: 2.25rem;
  text-align: center;
}

.privacy {
  margin-top: 2.1875rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .privacy {
    margin-top: 3.5rem;
    max-width: 63.125rem;
    margin-inline: auto;
  }
}

.privacy__lead {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.privacy__contents {
  margin-top: 2.25rem;
}

.privacy_title {
  padding-bottom: 0.3125rem;
  border-bottom: 0.0625rem solid #D6D6D6;
  font-weight: 700;
  font-family: "Shippori Mincho", serif;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
}

.privacy_title:nth-child(n+2) {
  margin-top: 2.1875rem;
}

.privacy__text {
  margin-top: 0.875rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.privacy__signature {
  margin-top: 3.3125rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.report {
  margin-top: 2.9375rem;
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .report {
    margin-top: 3.625rem;
  }
}

.report__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: 2.5rem;
}
@media screen and (min-width: 768px) {
  .report__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    row-gap: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .report__item {
    width: calc(33.3333333333% - 0.8333333333rem);
  }
}

.report__item .reportCard__new {
  width: 3rem;
  height: 3rem;
  font-size: 0.6875rem;
  top: -0.625rem;
  left: -0.625rem;
}
@media screen and (min-width: 768px) {
  .report__item .reportCard__new {
    width: 3.75rem;
    height: 3.75rem;
    top: -0.625rem;
    left: -0.625rem;
    font-size: 0.875rem;
  }
}

.report__item .reportCard__link {
  padding: 1rem 0.875rem 1.8125rem;
}
@media screen and (min-width: 768px) {
  .report__item .reportCard__link {
    padding: 1rem 1rem 1.875rem;
  }
}

.report__item .reportCard__itemTitle {
  font-size: 1rem;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .report__item .reportCard__itemTitle {
    font-size: 1.125rem;
    margin-top: 0.625rem;
  }
}

.report__item .reportCard__name {
  font-size: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .report__item .reportCard__name {
    margin-top: 0.1875rem;
    font-size: 0.875rem;
  }
}

.report__item .reportCard__date {
  font-size: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .report__item .reportCard__date {
    margin-top: 0.125rem;
    font-size: 0.875rem;
  }
}

.report .pagination {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .report .pagination {
    margin-top: 4rem;
  }
}

.reportDetail {
  margin-top: 2.375rem;
  margin-bottom: 7.75rem;
}
@media screen and (min-width: 768px) {
  .reportDetail {
    margin-top: 3.625rem;
    margin-bottom: 7.5rem;
  }
}

.reportDetail__article {
  padding-bottom: 1.125rem;
  border-bottom: 0.0625rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .reportDetail__article {
    padding-bottom: 4.6875rem;
  }
}

.reportDetail__header {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  position: relative;
}
@media screen and (min-width: 768px) {
  .reportDetail__header {
    width: 100%;
    margin-inline: initial;
  }
}

.reportDetail__headerImg {
  aspect-ratio: 375/400;
}
@media screen and (min-width: 768px) {
  .reportDetail__headerImg {
    width: 79.245%;
    aspect-ratio: 840/400;
  }
}

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

.reportDetail__data {
  padding: 2.0625rem 2.5rem;
  background-color: #F8F8F8;
  -webkit-box-shadow: 0 0 1.25rem rgba(95, 69, 44, 0.2);
          box-shadow: 0 0 1.25rem rgba(95, 69, 44, 0.2);
  margin-top: -2.5rem;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .reportDetail__data {
    padding: 2.25rem 2.5rem;
    position: absolute;
    right: 0;
    bottom: -1.1875rem;
    margin-top: 0;
  }
}

.reportDetail__names {
  color: #CBB483;
  font-family: "Libre Caslon Display", serif;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}

.reportDetail__data dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0.75rem;
}

.reportDetail__data dt {
  padding: 0 0.75rem;
  color: #18486F;
  font-size: 0.75rem;
  line-height: 1.5;
  border: 0.0625rem solid #18486F;
}

.reportDetail__data dd {
  margin-left: 1.25rem;
  color: #7B7F80;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.reportDetail__title {
  margin-top: 4.0625rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .reportDetail__title {
    text-align: center;
    margin-top: 5.8125rem;
    font-size: 1.5rem;
  }
}

.reportDetail__text {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .reportDetail__text {
    max-width: 55rem;
    margin-inline: auto;
    margin-top: 1.1875rem;
  }
}

.reportDetail__gallery {
  margin-top: 2.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.4375rem;
     -moz-column-gap: 0.4375rem;
          column-gap: 0.4375rem;
  row-gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .reportDetail__gallery {
    margin-top: 3.875rem;
    gap: 1rem;
    max-width: 55rem;
    margin-inline: auto;
  }
}

.reportDetail__galleryItem {
  width: calc(50% - 0.21875rem);
}
@media screen and (min-width: 768px) {
  .reportDetail__galleryItem {
    width: calc(50% - 0.5rem);
  }
}

.reportDetail__galleryItem a {
  aspect-ratio: 1/1;
  display: inline-block;
}

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

.reportDetail__galleryItem:nth-child(5n+1) {
  width: 100%;
}

.reportDetail__galleryItem:nth-child(5n+1) a {
  aspect-ratio: 335/223;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .reportDetail__galleryItem:nth-child(5n+1) a {
    aspect-ratio: 880/586;
  }
}

.reportDetail__interview {
  margin-top: 6.125rem;
}
@media screen and (min-width: 768px) {
  .reportDetail__interview {
    margin-top: 9.625rem;
  }
}

.reportDetail__interviewList {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .reportDetail__interviewList {
    max-width: 60rem;
    margin-inline: auto;
  }
}

.reportDetail__message {
  margin-top: 3.875rem;
}
@media screen and (min-width: 768px) {
  .reportDetail__message {
    margin-top: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 60rem;
    margin-inline: auto;
  }
}

.reportDetail__messageTitle {
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  color: #18486F;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  text-align: center;
  padding-bottom: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .reportDetail__messageTitle {
    font-size: 1.5rem;
    width: 22.916%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    text-align: left;
    padding-bottom: 0;
  }
}

.reportDetail__messageText {
  padding-top: 1.125rem;
  border-top: 0.0625rem solid #D6D6D6;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .reportDetail__messageText {
    padding-block: 2rem;
    padding-left: 4rem;
    border-top: none;
    border-left: 0.0625rem solid #D6D6D6;
  }
}

.reportDetail__back {
  margin-top: 2.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .reportDetail__back {
    margin-top: 3.8125rem;
  }
}
/*# sourceMappingURL=styles.css.map */