/*!
 * Luminous v2.3.5
 * Copyright 2015-2021, Zebrafish Labs
 * Licensed under BSD-2 (https://github.com/imgix/luminous/blob/main/LICENSE.md)
 */
@keyframes a {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes b {
  0% {
    opacity: 0;
    transform: scale(.5)
  }

  to {
    opacity: 1;
    transform: scale(1)
  }
}

@keyframes c {
  0% {
    transform: translate(-50%, -50%) rotate(0)
  }

  50% {
    transform: translate(-50%, -50%) rotate(-180deg)
  }

  to {
    transform: translate(-50%, -50%) rotate(-1turn)
  }
}

@keyframes d {
  0% {
    transform: scale(1)
  }

  10% {
    transform: scale(1.2) translateX(6px)
  }

  25% {
    transform: scale(1.3) translateX(8px)
  }

  40% {
    transform: scale(1.2) translateX(6px)
  }

  50% {
    transform: scale(1)
  }

  60% {
    transform: scale(.8) translateX(6px)
  }

  75% {
    transform: scale(.7) translateX(8px)
  }

  90% {
    transform: scale(.8) translateX(6px)
  }

  to {
    transform: scale(1)
  }
}

@keyframes e {
  0% {
    transform: scale(1)
  }

  10% {
    transform: scale(1.2) translateX(-6px)
  }

  25% {
    transform: scale(1.3) translateX(-8px)
  }

  40% {
    transform: scale(1.2) translateX(-6px)
  }

  50% {
    transform: scale(1)
  }

  60% {
    transform: scale(.8) translateX(-6px)
  }

  75% {
    transform: scale(.7) translateX(-8px)
  }

  90% {
    transform: scale(.8) translateX(-6px)
  }

  to {
    transform: scale(1)
  }
}

.lum-lightbox {
  background: rgba(0, 0, 0, .6)
}

.lum-lightbox-inner {
  bottom: 2.5%;
  left: 2.5%;
  right: 2.5%;
  top: 2.5%
}

.lum-lightbox-inner img {
  position: relative
}

.lum-lightbox-inner .lum-lightbox-caption {
  color: #fff;
  margin: 0 auto;
  max-width: 700px;
  text-align: center
}

.lum-loading .lum-lightbox-loader {
  animation: c 1.8s linear infinite;
  display: block;
  height: 20px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 66px
}

.lum-lightbox-loader:after,
.lum-lightbox-loader:before {
  background: hsla(0, 0%, 100%, .9);
  border-radius: 20px;
  content: "";
  display: block;
  height: 20px;
  margin-top: -10px;
  position: absolute;
  top: 50%;
  width: 20px
}

.lum-lightbox-loader:before {
  animation: d 1.8s linear infinite;
  left: 0
}

.lum-lightbox-loader:after {
  animation: e 1.8s linear infinite;
  animation-delay: -.9s;
  right: 0
}

.lum-lightbox.lum-opening {
  animation: a .18s ease-out
}

.lum-lightbox.lum-opening .lum-lightbox-inner {
  animation: b .18s ease-out
}

.lum-lightbox.lum-closing {
  animation: a .3s ease-in;
  animation-direction: reverse
}

.lum-lightbox.lum-closing .lum-lightbox-inner {
  animation: b .3s ease-in;
  animation-direction: reverse
}

.lum-img {
  transition: opacity .12s ease-out
}

.lum-loading .lum-img {
  opacity: 0
}

.lum-gallery-button {
  background: transparent;
  border: 0;
  cursor: pointer;
  height: 100px;
  margin: 0;
  max-height: 100%;
  outline: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  text-indent: 150%;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  width: 60px
}

.lum-close-button {
  height: 32px;
  opacity: .3;
  position: absolute;
  right: 5px;
  top: 5px;
  width: 32px
}

.lum-close-button:hover {
  opacity: 1
}

.lum-close-button:after,
.lum-close-button:before {
  background-color: #fff;
  content: " ";
  height: 33px;
  left: 15px;
  position: absolute;
  width: 2px
}

.lum-close-button:before {
  transform: rotate(45deg)
}

.lum-close-button:after {
  transform: rotate(-45deg)
}

.lum-previous-button {
  left: 12px
}

.lum-next-button {
  right: 12px
}

.lum-gallery-button:after {
  border-top: 4px solid hsla(0, 0%, 100%, .8);
  content: "";
  display: block;
  height: 36px;
  position: absolute;
  top: 50%;
  width: 36px
}

.lum-previous-button:after {
  border-left: 4px solid hsla(0, 0%, 100%, .8);
  border-radius: 3px 0 0 0;
  box-shadow: -2px 0 rgba(0, 0, 0, .2);
  left: 12%;
  transform: translateY(-50%) rotate(-45deg)
}

.lum-next-button:after {
  border-radius: 0 3px 0 0;
  border-right: 4px solid hsla(0, 0%, 100%, .8);
  box-shadow: 2px 0 rgba(0, 0, 0, .2);
  right: 12%;
  transform: translateY(-50%) rotate(45deg)
}

@media (max-width:460px) {
  .lum-lightbox-image-wrapper {
    -webkit-overflow-scrolling: touch;
    display: flex;
    overflow: auto
  }

  .lum-lightbox-caption {
    bottom: 0;
    position: absolute;
    width: 100%
  }

  .lum-lightbox-position-helper {
    margin: auto
  }

  .lum-lightbox-inner img {
    max-height: none;
    max-width: none
  }
}

@charset "UTF-8";

/* ===================================================================
 Theme Name:
 Theme URI:
 Description:
 Author: FURAZOA inc
 Author URI: https://furazoa.com
 Version: 1.0.1
 =================================================================== */
/*
 * flocss: https://github.com/hiloki/flocss
 */
/* ==========================================================================
    Foundation
    ========================================================================== */
/* ==========================================================================
    Plugin
    ========================================================================== */
/*!
  * ress.css • v4.0.0
  * MIT License
  * github.com/filipelinhares/ress
  */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
}

*,
:after,
:before {
  background-repeat: no-repeat;
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details,
main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b,
strong {
  font-weight: bolder;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

/* Base
    ----------------------------------------------------------------- */
/* ==========================================================================
    Global
    ========================================================================== */
/* Noto Sansを使わない場合
 $font-sans: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3",
   Meiryo, メイリオ, sans-serif;
 */
/* ==========================================================================
    Global
    ========================================================================== */
/* Mixin
    ----------------------------------------------------------------- */
html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", meiryo, メイリオ, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
  text-align: left;
  background: #fff;
}

body.is-fixed {
  height: 100%;
  overflow: hidden;
}

body.is-stand .l-header {
  opacity: 0.01;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

body.is-stand .page-front .mainview {
  opacity: 0.01;
}

/* Noto Sans使用時 IEはメイリオに変更 */
/* stylelint-disable-next-line selector-type-no-unknown, selector-pseudo-class-no-unknown */
_:input-placeholder,
:root body {
  font-family: Meiryo, "メイリオ", sans-serif;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

table {
  border-collapse: collapse;
}

a {
  color: #333;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

ul,
li {
  list-style-type: none;
}

select {
  color: #333;
}

::-moz-selection {
  color: #333;
  text-shadow: none;
  background-color: #EBE6E0;
  /* Required when declaring ::selection */
}

::selection {
  color: #333;
  text-shadow: none;
  background-color: #EBE6E0;
  /* Required when declaring ::selection */
}

.legacy-ie {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  padding: 100px 0;
  text-align: center;
  background: #eee;
}

.legacy-ie a {
  text-decoration: none;
}

.noscript {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  padding: 100px 0;
  text-align: center;
}

/* ==========================================================================
    Layout
    ========================================================================== */
/* Base
    ----------------------------------------------------------------- */
/* Layout
    ----------------------------------------------------------------- */
.l-page__breadcrumb {
  padding: 0 3vw;
  overflow: hidden;
}

.l-page__breadcrumb .wrap {
  margin: 0 -18px;
}

.l-page-head {
  position: relative;
  z-index: 0;
  padding-top: calc(72px + 3vw);
  margin-bottom: 40px;
}

.l-page-head::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  content: "";
  background-image: url("../img/common/page_head_bg_sp.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
}

.l-page-title {
  margin-top: 28px;
}

.l-page-title__en {
  font-family: "Baskervville", serif;
  font-size: 40px;
}

.l-page-title__ja {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 300;
}

/* Base
    ----------------------------------------------------------------- */
/* Header
    ----------------------------------------------------------------- */
.l-header {
  position: fixed;
  top: 3vw;
  left: 3vw;
  z-index: 100;
  width: 94vw;
  opacity: 1;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.l-header.is-scroll {
  opacity: 0;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

.l-header.is-scroll.is-show {
  opacity: 1;
  -webkit-transform: none;
  transform: none;
}

.l-header.is-open {
  opacity: 1;
  -webkit-transition: none;
  transition: none;
  -webkit-transform: none !important;
  transform: none !important;
}

.l-header.is-open .l-menu {
  width: 100%;
  visibility: visible;
  opacity: 1;
}

.l-header.is-open .l-menu__content {
  opacity: 1;
}

.l-header__inner {
  position: relative;
  z-index: 101;
  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-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 72px;
  padding: 0 3vw;
  margin: 0 auto;
  background: #fff;
  border-radius: 4px;
}

.l-header__logo {
  position: relative;
  z-index: 1000;
}

.l-header__logo .text {
  margin-bottom: 6px;
  font-size: 10px;
  font-weight: 300;
}

.l-header__logo .logo {
  display: inline-block;
  width: 102px;
}

.l-header__logo .logo img {
  display: block;
}

.l-header__nav {
  display: none;
}

.l-header__nav .nav-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.l-header__nav .nav-top .icon {
  position: relative;
  width: 24px;
}

.l-header__nav .nav-top .icon img {
  image-rendering: optimize-contrast;
}

.l-header__nav .nav-top .icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
  background-image: url("../img/icon/icon_instagram_color.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10; /* for fuwel */
}

.l-header__nav .nav-top .text {
  position: relative;
  display: none;
  font-size: 12px;
  font-weight: 300;
}

.l-header__nav .nav-top .text::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  content: "";
  border-top: solid 1px #333;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-header__nav .nav-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 13px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-right: 68px;
  margin-top: 4px;
}

.l-header__nav .nav-bottom__text {
  display: none;
}

.l-header__nav .nav-bottom__text>a {
  position: relative;
  font-size: 12px;
  font-weight: 300;
}

.l-header__nav .nav-bottom__text>a::before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 0;
  content: "";
  border-top: solid 1px #333;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-header__nav .js-haschild-pc>p {
  position: relative;
  padding-right: 19px;
  font-size: 12px;
  font-weight: 300;
  cursor: pointer;
}

.l-header__nav .js-haschild-pc>p::before {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 11px;
  height: 1px;
  content: "";
  background-color: #959595;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-header__nav .js-haschild-pc>p::after {
  position: absolute;
  top: 4px;
  right: 5px;
  display: block;
  width: 1px;
  height: 11px;
  content: "";
  background-color: #959595;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform-origin: center center;
  transform-origin: center center;
}

.l-header__nav .js-haschild-pc .childnav {
  position: absolute;
  bottom: 19px;
  left: 0;
  width: 100%;
  padding: 48px 40px;
  pointer-events: none;
  background-color: #fff;
  border-radius: 0 0 4px 4px;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}

.l-header__nav .js-haschild-pc .childnav__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  max-width: 1200px;
  margin: 0 auto;
}

.l-header__nav .js-haschild-pc .childnav__card .text {
  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;
  margin-top: 8px;
}

.l-header__nav .js-haschild-pc .childnav__card .text span {
  position: relative;
  display: inline-block;
}

.l-header__nav .js-haschild-pc .childnav__card .text span::before {
  position: absolute;
  bottom: -1px;
  left: 0;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-top: solid 1px #333;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-header__nav .js-haschild-pc .childnav__card .text svg {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-header__nav .js-haschild-pc .childnav__card .image {
  overflow: hidden;
}

.l-header__nav .js-haschild-pc .childnav__card .image img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-header__nav .js-haschild-pc.is-hover>p::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.l-header__nav .js-haschild-pc.is-hover .childnav {
  pointer-events: all;
  visibility: visible;
  opacity: 1;
}

.l-header__nav .nav-bottom__button a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 180px;
  height: 34px;
  overflow: hidden;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(rgb(216, 134, 134)), to(rgb(215, 176, 160)));
  background: linear-gradient(90deg, rgb(216, 134, 134) 0%, rgb(215, 176, 160) 100%);
  border-radius: 40px;
}

.l-header__nav .nav-bottom__button a span {
  position: relative;
  z-index: 1;
}

.l-header__nav .nav-bottom__button a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(rgb(215, 176, 160)), to(rgb(216, 134, 134)));
  background: linear-gradient(90deg, rgb(215, 176, 160) 0%, rgb(216, 134, 134) 100%);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.l-header .js-haschild-pc__bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-color: rgba(51, 51, 51, 0.2);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.l-header .js-haschild-pc__bg.is-show {
  pointer-events: all;
  opacity: 1;
}

/* Base
    ----------------------------------------------------------------- */
/* Footer
    ----------------------------------------------------------------- */
.l-footer {
  position: relative;
}

.l-footer::before {
  position: absolute;
  top: -34px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 35px;
  content: "";
  background-color: #fff;
  border-radius: 24px 24px 0 0;
}

.l-footer__image {
  position: relative;
  z-index: 0;
}

.l-footer__image::before {
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 25px;
  content: "";
  background-color: #fff;
  border-radius: 0 0 24px 24px;
}

.l-footer__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-flow: column-reverse;
  flex-flow: column-reverse;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1280px;
  padding: 0 5vw;
  margin: 0 auto;
}

.l-footer__address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 32px;
}

.l-footer__address a {
  position: relative;
  display: inline-block;
  padding-left: 19px;
  margin-top: 8px;
}

.l-footer__address a::after {
  position: absolute;
  right: 0;
  bottom: -3px;
  display: block;
  width: calc(100% - 19px);
  height: 0;
  content: "";
  border-top: solid 1px #333;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-footer__address a::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 15px;
  height: 20px;
  content: "";
  background-image: url("../img/icon/icon_map.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-footer__tel {
  position: relative;
  padding-top: 18px;
  margin-top: 26px;
  text-align: center;
}

.l-footer__tel::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.l-footer__tel a {
  position: relative;
  padding-left: 27px;
  font-size: 24px;
  letter-spacing: 0.08em;
}

.l-footer__tel a::before {
  position: absolute;
  top: calc(50% + 2px);
  left: 0;
  display: block;
  width: 18px;
  height: 26px;
  content: "";
  background-image: url("../img/icon/icon_phone.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-filter: invert(16%) sepia(52%) saturate(6%) hue-rotate(336deg) brightness(92%) contrast(90%);
  filter: invert(16%) sepia(52%) saturate(6%) hue-rotate(336deg) brightness(92%) contrast(90%);
}

.l-footer__date {
  margin-top: 8px;
  text-align: center;
}

.l-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 32px;
}

.l-footer__sns .instagram {
  position: relative;
  display: inline-block;
}

.l-footer__sns .instagram span {
  display: inline-block;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-footer__sns .instagram::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
  background-image: url("../img/icon/icon_instagram_color.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.l-footer__nav {
  padding: 0 24px;
}

.l-footer__nav .navlist>li {
  position: relative;
}

.l-footer__nav .navlist>li::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.l-footer__nav .navlist>li>a {
  position: relative;
  display: block;
  padding: 16px 0;
}

.l-footer__nav .navlist>li>a span {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-footer__nav .navlist>li>a::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-top: solid 1px #959595;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-footer__nav .navlist>li.haschild>p {
  position: relative;
  padding: 16px 0;
  color: #959595;
}

.l-footer__nav .navlist>li.haschild>p::before {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 17px;
  height: 1px;
  content: "";
  background-color: #959595;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-footer__nav .navlist>li.haschild>p::after {
  position: absolute;
  top: 50%;
  right: 8px;
  display: block;
  width: 1px;
  height: 17px;
  content: "";
  background-color: #959595;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-footer__nav .navlist>li.haschild>p.is-open::after {
  height: 0;
  opacity: 0;
}

.l-footer__nav .navlist>li.haschild ul {
  display: none;
  padding-bottom: 24px;
}

.l-footer__nav .navlist>li.haschild ul li+li {
  margin-top: 16px;
}

.l-footer__nav .navlist>li.haschild ul a {
  position: relative;
  display: inline-block;
}

.l-footer__nav .navlist>li.haschild ul a::before {
  position: absolute;
  bottom: -1px;
  left: 0;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-top: solid 1px #333;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-footer__logo {
  margin-top: 40px;
}

.l-footer__logo .logo {
  text-align: center;
}

.l-footer__logo .text {
  padding-top: 24px;
  text-align: center;
}

.l-footer__bottom {
  max-width: 1280px;
  padding: 0 5vw;
  margin: 40px auto 0;
}

.l-footer__bottom .subnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-bottom: 5px;
}

.l-footer__bottom .subnav li a {
  position: relative;
  display: inline-block;
}

.l-footer__bottom .subnav li a::after {
  position: absolute;
  right: 0;
  bottom: -3px;
  display: block;
  width: 100%;
  height: 0;
  content: "";
  border-top: solid 1px #333;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-footer__bottom .copyright {
  margin: 32px 0 16px;
  font-size: 12px;
  text-align: center;
}

/* Base
    ----------------------------------------------------------------- */
/* Layout
    ----------------------------------------------------------------- */
.l-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  width: 0;
  height: 100%;
  overflow-y: auto;
  visibility: hidden;
  background-color: #fff;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.l-menu .c-menu-icon {
  top: 77px;
  right: 56px;
}

.l-menu__content {
  position: relative;
  opacity: 0;
  -webkit-transition: opacity 0.3s 0.4s;
  transition: opacity 0.3s 0.4s;
}

.l-menu__content::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 41%;
  height: 100%;
  background-image: url("../img/common/menu_image_pc.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.l-menu__logo {
  display: none;
}

.l-menu__logo .text {
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 300;
}

.l-menu__logo .logo {
  width: 140px;
}

.l-menu__logo .logo img {
  display: block;
}

.l-menu__wrap {
  display: grid;
  grid-template-columns: 1fr;
  padding: calc(72px + 4vw) 5vw 34px;
}

.l-menu__nav {
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  padding: 0 24px;
  margin-top: 8px;
}

.l-menu__nav .navlist>li {
  position: relative;
}

.l-menu__nav .navlist>li::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.l-menu__nav .navlist>li>a {
  position: relative;
  display: block;
  padding: 16px 0;
}

.l-menu__nav .navlist>li>a span {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-menu__nav .navlist>li>a::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-top: solid 1px #959595;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-menu__nav .navlist>li.haschild>p {
  position: relative;
  padding: 16px 0;
  color: #959595;
}

.l-menu__nav .navlist>li.haschild>p::before {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 17px;
  height: 1px;
  content: "";
  background-color: #959595;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-menu__nav .navlist>li.haschild>p::after {
  position: absolute;
  top: 50%;
  right: 8px;
  display: block;
  width: 1px;
  height: 17px;
  content: "";
  background-color: #959595;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-menu__nav .navlist>li.haschild>p.is-open::after {
  height: 0;
  opacity: 0;
}

.l-menu__nav .navlist>li.haschild ul {
  display: none;
  padding-bottom: 24px;
}

.l-menu__nav .navlist>li.haschild ul li+li {
  margin-top: 16px;
}

.l-menu__nav .navlist>li.haschild ul a {
  position: relative;
  display: inline-block;
}

.l-menu__nav .navlist>li.haschild ul a::before {
  position: absolute;
  bottom: -1px;
  left: 0;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-top: solid 1px #333;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

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

.l-menu__other .other-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.l-menu__other .other-list__card {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 12px;
  background-color: #fff;
}

.l-menu__other .other-list__card .icon {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 40px;
  overflow: hidden;
  border-radius: 8px;
}

.l-menu__other .other-list__card .content {
  font-size: 15px;
  font-weight: 300;
}

.l-menu__other .other-list__card .arrow {
  position: absolute;
  top: 50%;
  right: 32px;
  width: 26px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-menu__other .other-list__card .arrow svg {
  display: block;
}

.l-menu__other .other-list__card.card-mail {
  display: none;
  border: solid 1px #E3D5CB;
}

.l-menu__other .other-list__card.card-mail::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 0;
  height: 100%;
  content: "";
  background-color: #E3D5CB;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-menu__other .other-list__card.card-mail .icon {
  background-color: #E3D5CB;
}

.l-menu__other .other-list__card.card-mail .icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 31px;
  height: 24px;
  content: "";
  background-image: url("../img/icon/icon_mail.svg");
  opacity: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-filter: invert(90%) sepia(10%) saturate(700%) hue-rotate(322deg) brightness(106%) contrast(78%);
  filter: invert(90%) sepia(10%) saturate(700%) hue-rotate(322deg) brightness(106%) contrast(78%);
}

.l-menu__other .other-list__card.card-mail .icon img {
  -webkit-filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(74deg) brightness(108%) contrast(101%);
  filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(74deg) brightness(108%) contrast(101%);
}

.l-menu__other .other-list__card.card-mail .arrow svg {
  fill: #333;
}

.l-menu__other .other-list__card.card-fair {
  border: solid 1px transparent;
}

.l-menu__other .other-list__card.card-fair::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(rgb(216, 134, 134)), to(rgb(215, 176, 160)));
  background: linear-gradient(90deg, rgb(216, 134, 134) 0%, rgb(215, 176, 160) 100%);
  opacity: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-menu__other .other-list__card.card-fair .icon {
  position: relative;
  z-index: 0;
  background-color: #fff;
}

.l-menu__other .other-list__card.card-fair .icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 36px;
  height: 28px;
  content: "";
  background-image: url("../img/icon/icon_fair.svg");
  opacity: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(74deg) brightness(108%) contrast(101%);
  filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(74deg) brightness(108%) contrast(101%);
}

.l-menu__other .other-list__card.card-fair .icon::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(rgb(216, 134, 134)), to(rgb(215, 176, 160)));
  background: linear-gradient(90deg, rgb(216, 134, 134) 0%, rgb(215, 176, 160) 100%);
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-menu__other .other-list__card.card-fair .icon img {
  -webkit-filter: invert(90%) sepia(10%) saturate(700%) hue-rotate(322deg) brightness(106%) contrast(78%);
  filter: invert(90%) sepia(10%) saturate(700%) hue-rotate(322deg) brightness(106%) contrast(78%);
  width: 26px;
}

.l-menu__other .other-list__card.card-fair .content {
  color: #fff;
}

.l-menu__other .other-list__card.card-fair .arrow svg {
  fill: #fff;
}

.l-menu__information {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  margin-top: 48px;
}

.l-menu__information .title {
  color: #959595;
  text-align: center;
}

.l-menu__information .title span {
  position: relative;
  display: inline-block;
  padding-left: 32px;
}

.l-menu__information .title span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 0;
  content: "";
  border-top: solid 1px #959595;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-menu__information .tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 16px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 16px;
}

.l-menu__information .tel__number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}

.l-menu__information .tel__number .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #E3D5CB;
  border-radius: 4px;
}

.l-menu__information .tel__number .icon ::-moz-selection {
  background-color: transparent;
}

.l-menu__information .tel__number .icon ::selection {
  background-color: transparent;
}

.l-menu__information .tel__number .icon img {
  -webkit-filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(74deg) brightness(108%) contrast(101%);
  filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(74deg) brightness(108%) contrast(101%);
}

.l-menu__information .tel__number .number {
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 0.08em;
}

.l-menu__information .tel__date {
  font-weight: 300;
}

.l-menu__information .address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 24px;
}

.l-menu__information .address a {
  position: relative;
  display: inline-block;
  padding-left: 19px;
  margin-top: 8px;
}

.l-menu__information .address a::after {
  position: absolute;
  right: 0;
  bottom: -3px;
  display: block;
  width: calc(100% - 19px);
  height: 0;
  content: "";
  border-top: solid 1px #333;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-menu__information .address a::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 15px;
  height: 20px;
  content: "";
  background-image: url("../img/icon/icon_map.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-menu__information .sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 24px;
}

.l-menu__information .sns .instagram {
  position: relative;
  display: inline-block;
}

.l-menu__information .sns .instagram span {
  display: inline-block;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-menu__information .sns .instagram::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
  background-image: url("../img/icon/icon_instagram_color.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* ==========================================================================
    Object
    ========================================================================== */
/* Base
    ----------------------------------------------------------------- */
/* Project
    ----------------------------------------------------------------- */
/* Base
    ----------------------------------------------------------------- */
.p-form {
  max-width: 840px;
  margin: 0 auto;
  border-top: 2px solid #EBEBEB;
  /**
   * error message
   */
}

.p-form .error {
  display: block;
  margin-top: 0.5em;
  font-size: 85%;
  color: #b70000;
}

.p-form__group {
  padding: 12px 0;
}

.p-form__group+.p-form__group {
  border-top: 2px solid #EBEBEB;
}

.p-form__row {
  padding: 12px 0;
}

.p-form__row>dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-form__row>dt>label {
  padding-right: 16px;
  font-size: 13px;
  font-weight: 500;
}

.p-form__row>dt>label>small {
  display: block;
  font-size: 12px;
  font-weight: normal;
  color: #959595;
}

.p-form__row>dt>.tag {
  display: inline-block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: 18px;
  padding: 0 6px;
  font-size: 10px;
  line-height: 18px;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  background-color: #959595;
  border-radius: 2px;
}

.p-form__row>dt>.tag--required {
  color: #fff;
  background-color: #EBE6E0;
}

.p-form__row>dd {
  margin-top: 6px;
}

.p-form-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -8px;
}

.p-form-controls .p-form-control {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 0 8px;
}

.p-form-controls .p-form-control+.p-form-control {
  margin-top: 0;
}

.p-form-control {
  position: relative;
}

.p-form-control+.p-form-control {
  margin-top: 10px;
}

.p-form-control input[type=text],
.p-form-control input[type=number],
.p-form-control input[type=email],
.p-form-control input[type=tel] {
  width: 100%;
  padding: 12px;
  font-size: 14px;
  vertical-align: middle;
  background-color: #f0f1f7;
  -webkit-transition: border 0.2s ease-out;
  transition: border 0.2s ease-out;
}

.p-form-control input[type=text]::-webkit-input-placeholder,
.p-form-control input[type=number]::-webkit-input-placeholder,
.p-form-control input[type=email]::-webkit-input-placeholder,
.p-form-control input[type=tel]::-webkit-input-placeholder {
  color: rgba(149, 149, 149, 0.4);
}

.p-form-control input[type=text]::-moz-placeholder,
.p-form-control input[type=number]::-moz-placeholder,
.p-form-control input[type=email]::-moz-placeholder,
.p-form-control input[type=tel]::-moz-placeholder {
  color: rgba(149, 149, 149, 0.4);
}

.p-form-control input[type=text]:-ms-input-placeholder,
.p-form-control input[type=number]:-ms-input-placeholder,
.p-form-control input[type=email]:-ms-input-placeholder,
.p-form-control input[type=tel]:-ms-input-placeholder {
  color: rgba(149, 149, 149, 0.4);
}

.p-form-control input[type=text]::-ms-input-placeholder,
.p-form-control input[type=number]::-ms-input-placeholder,
.p-form-control input[type=email]::-ms-input-placeholder,
.p-form-control input[type=tel]::-ms-input-placeholder {
  color: rgba(149, 149, 149, 0.4);
}

.p-form-control input[type=text]::placeholder,
.p-form-control input[type=number]::placeholder,
.p-form-control input[type=email]::placeholder,
.p-form-control input[type=tel]::placeholder {
  color: rgba(149, 149, 149, 0.4);
}

.p-form-control input[type=text]:focus,
.p-form-control input[type=number]:focus,
.p-form-control input[type=email]:focus,
.p-form-control input[type=tel]:focus {
  border-color: #0016ff;
  outline: 0;
  -webkit-box-shadow: rgba(0, 22, 255, 0.5) 0 0 5px 2px;
  box-shadow: rgba(0, 22, 255, 0.5) 0 0 5px 2px;
}

.p-form-control textarea {
  width: 100%;
  padding: 12px;
  font-size: 12px;
  vertical-align: middle;
  background-color: #f0f1f7;
  -webkit-transition: border 0.2s ease-out;
  transition: border 0.2s ease-out;
}

.p-form-control textarea::-webkit-input-placeholder {
  color: #959595;
}

.p-form-control textarea::-moz-placeholder {
  color: #959595;
}

.p-form-control textarea:-ms-input-placeholder {
  color: #959595;
}

.p-form-control textarea::-ms-input-placeholder {
  color: #959595;
}

.p-form-control textarea::placeholder {
  color: #959595;
}

.p-form-control textarea:focus {
  border-color: #0016ff;
  outline: 0;
  -webkit-box-shadow: rgba(0, 22, 255, 0.5) 0 0 5px 2px;
  box-shadow: rgba(0, 22, 255, 0.5) 0 0 5px 2px;
}

.p-form-control>p {
  margin-top: 4px;
  color: #959595;
}

.p-form-control--zip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-form-control--zip .c-input {
  position: relative;
  min-width: 120px;
}

.p-form-control--zip .c-input+.c-input {
  margin-left: 20px;
}

.p-form-control--zip .c-input+.c-input::before {
  position: absolute;
  top: calc(50% + 12px);
  left: -13px;
  line-height: 0;
  content: "-";
}

.p-form__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 20px;
  text-align: center;
}

.p-form__actions .back-btn {
  display: block;
  margin: 24px auto;
}

.p-form__actions .back-btn:hover {
  text-decoration: underline;
}

.mw_wp_form .horizontal-item+.horizontal-item {
  margin-left: 0;
}

.page-contact-confirm .p-form__row--labeled dt,
.page-contact-confirm .p-form__row--top dt {
  padding-top: 0;
}

.page-contact-confirm .p-form-controls .p-form-control {
  -webkit-box-flex: initial;
  -ms-flex-positive: initial;
  flex-grow: initial;
}

.page-contact-confirm .p-form-control .c-input label {
  display: none;
}

.page-contact-confirm .p-form-control .c-select::before {
  display: none;
}

.page-contact-confirm .p-form-control--zip .c-input {
  min-width: 0;
}

.page-contact-confirm .p-form-control--zip .c-input+.c-input::before {
  top: 50%;
}

.page-contact-confirm .p-form-radios--horizontal {
  margin: 0;
}

/* Base
    ----------------------------------------------------------------- */
.p-editor-content h1 {
  margin: 24px 0 15px;
  font-size: 22px;
  font-weight: 300;
}

.p-editor-content h2 {
  padding-bottom: 16px;
  margin: 32px 0 24px;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.3;
  border-bottom: solid 1px #DDD;
}

.p-editor-content h3 {
  position: relative;
  padding-left: 14px;
  margin: 32px 0 16px;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.4;
}

.p-editor-content h3::before {
  position: absolute;
  top: 5px;
  left: 0;
  width: 6px;
  height: 6px;
  content: "";
  background: #E3D5CB;
  border-radius: 50%;
}

.p-editor-content h4 {
  position: relative;
  margin: 24px 0 15px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
}

.p-editor-content h5 {
  margin: 15px 0 10px;
  font-size: 15px;
  font-weight: 300;
}

.p-editor-content h6 {
  margin: 15px 0 10px;
  font-size: 14px;
  font-weight: normal;
}

.p-editor-content p {
  margin-bottom: 0.5em;
  font-weight: 300;
  letter-spacing: normal;
}

.p-editor-content p a {
  text-decoration: underline;
}

.p-editor-content p+p {
  margin-top: 0.5em;
}

.p-editor-content .wp-block-image {
  margin: 16px 0;
}

.p-editor-content img {
  height: auto;
}

.p-editor-content .aligncenter {
  display: block;
  text-align: center;
}

.p-editor-content ul {
  margin: 16px 0;
  list-style: none;
}

.p-editor-content ul>li {
  position: relative;
  padding-left: 1.1em;
  font-weight: 300;
}

.p-editor-content ul>li::before {
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #333;
  border-radius: 50%;
}

.p-editor-content ul>li:nth-child(n+2) {
  margin-top: 0.25em;
}

.p-editor-content ol {
  margin: 16px 0;
  counter-reset: number 0;
}

.p-editor-content ol>li {
  position: relative;
  padding-left: 1.1em;
  font-weight: 300;
}

.p-editor-content ol>li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: #333;
  content: counter(number) ".";
  counter-increment: number 1;
}

.p-editor-content ol>li:nth-child(n+2) {
  margin-top: 0.25em;
}

.p-editor-content blockquote {
  position: relative;
  padding: 24px 16px;
  margin: 16px 0;
  font-style: italic;
  font-weight: 300;
  background: #F6EFE5;
}

.p-editor-content blockquote::before {
  position: absolute;
  top: -1px;
  left: -1px;
  z-index: 1;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-color: #fff transparent transparent transparent;
  border-style: solid;
  border-width: 21px 21px 0 0;
}

.p-editor-content blockquote::after {
  position: absolute;
  right: -1px;
  bottom: -1px;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-color: transparent transparent #fff transparent;
  border-style: solid;
  border-width: 0 0 21px 21px;
}

.p-editor-content blockquote cite {
  margin-top: 12px;
}

.p-editor-content blockquote p {
  margin-bottom: 0;
  letter-spacing: 0;
}

.p-editor-content hr {
  display: block;
  width: 100%;
  height: auto;
  margin: 1.2em auto;
  border: 0;
  border-top: 1px solid #ccc;
}

.p-editor-content table {
  margin: 15px 0;
  font-weight: 300;
}

.p-editor-content table th {
  background-color: #f8fff0;
}

.p-editor-content table th,
.p-editor-content table td {
  padding: 5px 10px;
  word-break: break-all;
  vertical-align: top;
  border: solid 1px #ddd;
}

.p-editor-content iframe {
  max-width: 100%;
}

/* Base
    ----------------------------------------------------------------- */
.p-pagination {
  margin-top: 56px;
}

.p-pagination .p-pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -4px;
}

.p-pagination .p-pagination__item .page-numbers {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 20px;
  height: 40px;
  margin: 4px;
  font-size: 11px;
  font-weight: 300;
  color: #959595;
  letter-spacing: 0;
  background-color: #fff;
  border-radius: 16px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.p-pagination .p-pagination__item .page-numbers::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.p-pagination .p-pagination__item .page-numbers::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 0;
  height: 1px;
  content: "";
  background-color: #333;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-pagination .p-pagination__item .page-numbers.dots {
  margin: 4px 2px;
}

.p-pagination .p-pagination__item .page-numbers.dots::before,
.p-pagination .p-pagination__item .page-numbers.dots::after {
  content: none;
}

.p-pagination .p-pagination__item .page-numbers.current {
  color: #333;
}

.p-pagination .p-pagination__item .page-numbers.current::after {
  width: 100%;
  opacity: 1;
}

.p-pagination .p-pagination__item .page-numbers.prev,
.p-pagination .p-pagination__item .page-numbers.next {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: solid 1px #E3D5CB;
  border-radius: 50%;
}

.p-pagination .p-pagination__item .page-numbers.prev::before,
.p-pagination .p-pagination__item .page-numbers.prev::after,
.p-pagination .p-pagination__item .page-numbers.next::before,
.p-pagination .p-pagination__item .page-numbers.next::after {
  content: none;
}

.p-pagination .p-pagination__item .page-numbers.prev svg,
.p-pagination .p-pagination__item .page-numbers.next svg {
  width: 13px;
  fill: #333;
}

.p-pagination .p-pagination__item .page-numbers.next svg {
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.p-container {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 1280px;
  padding-right: 5vw;
  padding-left: 5vw;
  margin: 0 auto;
}

.p-container--lg {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 1680px;
  padding-right: 5vw;
  padding-left: 5vw;
  margin: 0 auto;
}

.p-container--sm {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 880px;
  padding-right: 5vw;
  padding-left: 5vw;
  margin: 0 auto;
}

.p-section-title__main {
  font-family: "Baskervville", serif;
  font-size: 32px;
  font-weight: normal;
  text-align: center;
}

.p-section-title__sub {
  margin-top: 16px;
  font-weight: 300;
  text-align: center;
}

.p-section-title.title--line .p-section-title__main {
  position: relative;
  z-index: 0;
}

.p-section-title.title--line .p-section-title__main::before {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-section-title.title--line .p-section-title__main span {
  display: inline-block;
  padding: 0 48px;
  background-color: #fff;
}

.p-breadcrumb {
  padding: 8px 0;
  overflow-x: auto;
  font-size: 12px;
  color: #959595;
  white-space: nowrap;
}

.p-breadcrumb span {
  display: inline-block;
  font-weight: 300;
}

.p-breadcrumb a {
  position: relative;
  margin: 0 18px;
  font-weight: 300;
  color: #959595;
}

.p-breadcrumb a::before {
  position: absolute;
  bottom: -3px;
  left: 0;
  display: block;
  width: 0;
  height: 1px;
  content: "";
  background-color: #959595;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-breadcrumb a::after {
  position: absolute;
  top: 50%;
  right: -24px;
  width: 8px;
  height: 8px;
  content: "";
  background-color: #E3D5CB;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-breadcrumb .breadcrumb_last {
  margin: 0 18px;
  color: #333;
}

.p-reportlist {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.p-reportlist__card {
  position: relative;
  display: block;
}

.p-reportlist__card .thumbnail {
  overflow: hidden;
}

.p-reportlist__card .thumbnail img {
  width: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-reportlist__card .information {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  margin-top: 8px;
}

.p-reportlist__card .date {
  width: 76px;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 300;
  color: #959595;
}

.p-reportlist__card .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.p-reportlist__card .category li {
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 300;
  background-color: #F5EAE6;
  border-radius: 30px;
}

.p-reportlist__card .title {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 300;
}

.p-reportlist__card .name {
  position: relative;
  padding: 0 20px 0 13px;
  margin-top: 16px;
  font-size: 12px;
  font-weight: 300;
}

.p-reportlist__card .name::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 6px;
  height: 6px;
  content: "";
  background-color: #333;
  border-radius: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-reportlist__card .arrow {
  position: absolute;
  right: 0;
  bottom: 0;
  display: none;
  width: 18px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-reportlist__card .arrow svg {
  fill: #333;
}

.p-newslist {
  display: grid;
  grid-template-columns: 1fr;
}

.p-newslist>li {
  position: relative;
}

.p-newslist>li:first-child::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.p-newslist__card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding: 20px 0 16px;
  border-bottom: solid 1px #959595;
}

.p-newslist__card::before {
  position: absolute;
  right: 0;
  bottom: -1px;
  display: block;
  width: 143px;
  height: 1px;
  content: "";
  background-color: #000;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-newslist__card .thumbnail {
  width: 120px;
  height: 120px;
  overflow: hidden;
}

.p-newslist__card .thumbnail img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-newslist__card .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  width: calc(100% - 120px);
  padding-left: 16px;
}

.p-newslist__card .information {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.p-newslist__card .date {
  width: 76px;
  font-size: 12px;
  font-weight: 300;
  color: #959595;
}

.p-newslist__card .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
  width: calc(100% - 76px);
}

.p-newslist__card .category li {
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 300;
  background-color: #F5EAE6;
  border-radius: 30px;
}

.p-newslist__card .title {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-top: 16px;
  font-size: 14px;
  font-weight: 300;
}

.p-newslist__card .more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  height: 28px;
  padding-right: 8px;
  margin-top: 18px;
  font-weight: 300;
}

.p-newslist__card .more span {
  position: relative;
  display: block;
  padding-left: 20px;
  margin-left: 24px;
}

.p-newslist__card .more span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 20px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-y;
  background-position: left top;
  background-size: 1px 4px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-newslist__card .more span svg {
  display: block;
  width: 18px;
  fill: #333;
}

.p-planlist__card {
  position: relative;
  display: block;
}

.p-planlist__card::before {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 0;
  content: "";
  border-bottom: solid 1px #333;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-planlist__card .title {
  position: relative;
  padding: 30px 0 0 16px;
  font-size: 14px;
  font-weight: 300;
}

.p-planlist__card .title::before {
  position: absolute;
  top: 16px;
  left: 0;
  width: 8px;
  height: 8px;
  content: "";
  background-color: #fff;
  border-radius: 50%;
}

.p-planlist__card .thumbnail {
  overflow: hidden;
}

.p-planlist__card .thumbnail img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-planlist__card .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.p-planlist__card .category li {
  padding: 2px 8px;
  font-weight: 300;
  background-color: #fff;
  border-radius: 20px;
}

.p-planlist__card .information {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 16px;
}

.p-planlist__card .information .count {
  font-weight: 300;
}

.p-planlist__card .information .price {
  position: relative;
  padding-left: 16px;
  margin-left: 16px;
  font-weight: 300;
  line-height: 1;
}

.p-planlist__card .information .price::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 0;
  height: 14px;
  content: "";
  border-left: solid 1px #333;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-planlist__card .information .price span {
  margin-right: 2px;
  font-size: 18px;
}

.p-planlist__card .more {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 20px 0 20px 16px;
  margin-top: 16px;
  font-weight: 300;
}

.p-planlist__card .more::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.p-planlist__card .more .arrow {
  position: relative;
  display: block;
  width: 58px;
}

.p-planlist__card .more .arrow::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 29px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-y;
  background-position: left top;
  background-size: 1px 4px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-planlist__card .more .arrow svg {
  display: block;
  margin: 0 auto;
  fill: #333;
}

.p-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 64px;
  pointer-events: none;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-fixed__container {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 8px;
  height: 100%;
  padding: 8px 5vw;
}

.p-fixed__button1 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  gap: 5px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-weight: 300;
  line-height: 1;
  background-color: #E3D5CB;
  border-radius: 4px;
}

.p-fixed__button2 a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-size: 15px;
  font-weight: 300;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(rgb(216, 134, 134)), to(rgb(215, 176, 160)));
  background: linear-gradient(90deg, rgb(216, 134, 134) 0%, rgb(215, 176, 160) 100%);
  border-radius: 40px;
}

.p-fixed.is-active {
  pointer-events: all;
  opacity: 1;
}

.p-weddingfair {
  position: relative;
  padding: 48px 0 56px;
}

.p-weddingfair__title {
  text-align: center;
}

.p-weddingfair__title .en {
  font-family: "Great Vibes", cursive;
  font-size: 48px;
  line-height: 1.2;
  color: #E3D5CB;
}

.p-weddingfair__title .ja {
  margin-top: 4px;
  font-size: 16px;
  font-weight: 300;
}

.p-weddingfair__content {
  margin: 40px 0;
}

.p-nopost__title {
  font-size: 18px;
  font-weight: 300;
  text-align: center;
}

.p-nopost__action {
  margin-top: 40px;
}

.p-contact {
  position: relative;
  z-index: 0;
  padding: 64px 0 74px;
  overflow: hidden;
  background-color: #F6EFE5;
  border-radius: 24px 24px 0 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.p-contact__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #F6EFE5;
}

.p-contact__circle {
  position: absolute;
  width: 140vw;
  height: 140vw;
}

.p-contact__circle.circle-top {
  top: -50vw;
  left: -65vw;
}

.p-contact__circle.circle-bottom {
  right: -55vw;
  bottom: -45vw;
}

.p-contact-link {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 24px;
}

.p-contact-link__card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 10px 16px 16px;
  overflow: hidden;
  background-color: #fff;
}

.p-contact-link__card .arrow {
  position: absolute;
  right: 20px;
  bottom: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background-color: #E3D5CB;
  border: soldi 1px #fff;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-contact-link__card .arrow svg {
  width: 15px;
  fill: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-contact-link__card .head {
  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;
  width: 100%;
}

.p-contact-link__card .head .title {
  font-size: 18px;
  font-weight: normal;
}

.p-contact-link__card .head .en {
  font-family: "Great Vibes", cursive;
  font-size: 24px;
  font-weight: 400;
  color: #EBE6E0;
}

.p-contact-link__card .image {
  position: relative;
  width: 50%;
  margin-top: 8px;
  overflow: hidden;
}

.p-contact-link__card .text {
  position: relative;
  width: 50%;
  padding-left: 18px;
  margin-top: 8px;
  font-size: clamp(12px, 4vw, 15px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-contact-link__card .text br {
  display: none;
}

.p-contact-other {
  margin-top: 32px;
}

.p-contact-other__text {
  font-weight: 300;
  text-align: center;
}

.p-contact-other__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 12px;
}

.p-contact-other__card {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 16px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 12px;
  background-color: #fff;
}

.p-contact-other__card .icon {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 86px;
  background-color: #E3D5CB;
  border-radius: 8px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-contact-other__card .icon ::-moz-selection {
  background-color: transparent;
}

.p-contact-other__card .icon ::selection {
  background-color: transparent;
}

.p-contact-other__card .icon img {
  -webkit-filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(74deg) brightness(108%) contrast(101%);
  filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(74deg) brightness(108%) contrast(101%);
}

.p-contact-other__card .content {
  font-size: 15px;
  font-weight: 300;
}

.p-contact-other__card .content .large {
  font-size: 24px;
  letter-spacing: 0.08em;
}

.p-contact-other__card .content .small {
  margin-top: 4px;
  font-size: 14px;
}

.p-contact-other__card .content .small br {
  display: none;
}

.p-contact-other__card.card-mail::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 0;
  height: 100%;
  content: "";
  background-color: #E3D5CB;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-contact-other__card.card-mail .icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 48px;
  height: 38px;
  content: "";
  background-image: url("../img/icon/icon_mail.svg");
  opacity: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-filter: invert(90%) sepia(10%) saturate(700%) hue-rotate(322deg) brightness(106%) contrast(78%);
  filter: invert(90%) sepia(10%) saturate(700%) hue-rotate(322deg) brightness(106%) contrast(78%);
}

.p-contact-other__card.card-mail .arrow {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 26px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-contact-other__card.card-mail .arrow svg {
  fill: #333;
}

/* Base
    ----------------------------------------------------------------- */
/* Component
    ----------------------------------------------------------------- */
/* Base
    ----------------------------------------------------------------- */
.c-button {
  position: relative;
  display: block;
  width: 100%;
  max-width: 540px;
  height: 72px;
  overflow: hidden;
  font-weight: 300;
  background-color: #fff;
  border: solid 1px #E3D5CB;
  border-radius: 80px;
}

.c-button__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: calc(100% - 62px);
  height: 70px;
  padding: 0 20px;
  margin-left: -1px;
  background-color: #E3D5CB;
  border-radius: 80px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-button__arrow {
  position: absolute;
  top: 50%;
  right: 23px;
  z-index: 1;
  display: block;
  width: 26px;
  height: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.c-button__arrow svg {
  fill: #E3D5CB;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-button.c-button--small {
  max-width: 487px;
}

.c-button.c-button--small .c-button__arrow {
  right: 24px;
}

.c-button-white {
  position: relative;
  display: block;
  width: 100%;
  max-width: 540px;
  height: 72px;
  overflow: hidden;
  font-weight: 300;
  border-radius: 80px;
}

.c-button-white::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
  border: solid 1px #fff;
  border-radius: 80px;
}

.c-button-white .c-button-white__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: calc(100% - 64px);
  height: 72px;
  padding: 0 32px;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-radius: 80px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.c-button-white .c-button-white__arrow {
  position: absolute;
  top: 50%;
  right: 23px;
  z-index: 1;
  display: block;
  width: 26px;
  height: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.c-button-white .c-button-white__arrow svg {
  fill: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-button-wrapper {
  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-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-menu-icon {
  position: absolute;
  right: 16px;
  bottom: 15px;
  z-index: 300;
  display: block;
  cursor: pointer;
}

.c-menu-icon__wrap {
  position: relative;
  width: 40px;
  height: 20px;
  margin-right: auto;
  margin-left: auto;
}

.c-menu-icon__wrap>span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #333;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}

.c-menu-icon__wrap>span:nth-child(1) {
  top: 4px;
  -webkit-transform: translateY(5px) rotate(-30deg);
  transform: translateY(5px) rotate(-30deg);
}

.c-menu-icon__wrap>span:nth-child(2) {
  top: 14px;
  -webkit-transform: translateY(-5px) rotate(30deg);
  transform: translateY(-5px) rotate(30deg);
}

.c-menu-icon.is-close .c-menu-icon__wrap>span:nth-child(1) {
  -webkit-transform: none;
  transform: none;
}

.c-menu-icon.is-close .c-menu-icon__wrap>span:nth-child(2) {
  -webkit-transform: none;
  transform: none;
}

.c-input label {
  display: inline-block;
  padding-bottom: 8px;
  font-size: 12px;
  line-height: 1;
  color: #959595;
}

.c-select {
  position: relative;
}

.c-select::before {
  position: absolute;
  top: calc(50% - 3px);
  right: 12px;
  z-index: 2;
  width: 6px;
  height: 6px;
  content: "";
  border-top: solid 1px #0016ff;
  border-right: solid 1px #0016ff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.mw_wp_form_confirm .c-select::before {
  display: none;
}

.c-select select {
  position: relative;
  width: 100%;
  padding: 12px;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #f0f1f7;
  border-radius: 4px;
}

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

.c-select select:focus {
  outline: 0;
  -webkit-box-shadow: rgba(0, 22, 255, 0.5) 0 0 5px 2px;
  box-shadow: rgba(0, 22, 255, 0.5) 0 0 5px 2px;
}

.c-radio,
.mwform-radio-field label {
  display: block;
  padding: 8px 0;
}

.c-radio input[type=radio],
.mwform-radio-field label input[type=radio] {
  position: absolute;
  opacity: 0;
}

.c-radio input[type=radio]+.text,
.c-radio input[type=radio]+.mwform-radio-field-text,
.mwform-radio-field label input[type=radio]+.text,
.mwform-radio-field label input[type=radio]+.mwform-radio-field-text {
  position: relative;
  cursor: pointer;
}

.c-radio input[type=radio]+.text::before,
.c-radio input[type=radio]+.mwform-radio-field-text::before,
.mwform-radio-field label input[type=radio]+.text::before,
.mwform-radio-field label input[type=radio]+.mwform-radio-field-text::before {
  position: relative;
  top: calc(50% - 12px);
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  text-align: center;
  vertical-align: top;
  cursor: pointer;
  content: "";
  background: #f0f1f7;
  border: 1px solid #f0f1f7;
  border-radius: 100%;
}

.c-radio input[type=radio]:focus+.text::before,
.c-radio input[type=radio]:focus+.mwform-radio-field-text::before,
.mwform-radio-field label input[type=radio]:focus+.text::before,
.mwform-radio-field label input[type=radio]:focus+.mwform-radio-field-text::before {
  border-color: #f0f1f7;
  outline: none;
}

.c-radio input[type=radio]:disabled+.text::before,
.c-radio input[type=radio]:disabled+.mwform-radio-field-text::before,
.mwform-radio-field label input[type=radio]:disabled+.text::before,
.mwform-radio-field label input[type=radio]:disabled+.mwform-radio-field-text::before {
  background: #959595;
  border-color: #959595;
}

.c-radio input[type=radio]:checked+.text::after,
.c-radio input[type=radio]:checked+.mwform-radio-field-text::after,
.mwform-radio-field label input[type=radio]:checked+.text::after,
.mwform-radio-field label input[type=radio]:checked+.mwform-radio-field-text::after {
  position: absolute;
  top: 50%;
  left: 6px;
  width: 12px;
  height: 12px;
  content: "";
  background-color: #333;
  border-radius: 50%;
  -webkit-transform: translateY(-40%);
  transform: translateY(-40%);
}

.c-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 40px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100vw;
}

.c-navigation .swiper-horizontal>.swiper-pagination-bullets,
.c-navigation .swiper-pagination-bullets.swiper-pagination-horizontal,
.c-navigation .swiper-pagination-custom,
.c-navigation .swiper-pagination-fraction {
  width: auto;
}

.c-navigation .pagination--gray .swiper-pagination-bullet {
  background: #EBEBEB;
}

.c-navigation .pagination--gray .swiper-pagination-bullet-active {
  background: #333;
}

.c-navigation .pagination--white .swiper-pagination-bullet {
  background: #fff;
}

.c-navigation .pagination--white .swiper-pagination-bullet-active {
  background: #333;
}

.c-navigation .swiper-pagination-bullet {
  opacity: 1;
}

.c-navigation .c-navigation__prev,
.c-navigation .c-navigation__next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  cursor: pointer;
  background-color: #fff;
  border: solid 1px #E3D5CB;
  border-radius: 50%;
}

.c-navigation .c-navigation__prev svg,
.c-navigation .c-navigation__next svg {
  fill: #333;
}

.c-navigation .c-navigation__prev.swiper-button-disabled,
.c-navigation .c-navigation__next.swiper-button-disabled {
  background-color: transparent;
  border-color: #EBEBEB;
}

.c-navigation .c-navigation__prev.swiper-button-disabled svg,
.c-navigation .c-navigation__next.swiper-button-disabled svg {
  fill: #EBEBEB;
}

.c-navigation .c-navigation__prev.swiper-button-lock,
.c-navigation .c-navigation__next.swiper-button-lock {
  display: none;
}

.c-navigation .c-navigation__prev svg {
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

/* Base
    ----------------------------------------------------------------- */
/* Utility
    ----------------------------------------------------------------- */

.u-show-up-xxs {
  display: none;
}

.u-show-up-xs {
  display: none;
}

.u-show-up-sm {
  display: none;
}

.u-show-up-md {
  display: none;
}

.u-show-up-lg {
  display: none;
}

.u-show-up-xl {
  display: none;
}

.m-fadeInCircle {
  z-index: -1;
  background-color: hsla(0, 0%, 100%, 0);
  background-image: radial-gradient(at 52% 46%, hsl(15, 42%, 93%) 0, transparent 50%);
  mix-blend-mode: multiply;
  -webkit-transition: all 3.8s cubic-bezier(0.25, 1, 0.5, 1);
  transition: all 3.8s cubic-bezier(0.25, 1, 0.5, 1);
  -webkit-transform: scale(0);
  transform: scale(0);
}

.m-fadeInCircle.is-active {
  -webkit-transform: scale(1) !important;
  transform: scale(1) !important;
}

.m-fadeinGroup>* {
  opacity: 0;
  -webkit-transition: all ease-out 1s;
  transition: all ease-out 1s;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
}

.m-fadeinGroup>*:nth-child(1) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.m-fadeinGroup>*:nth-child(2) {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.m-fadeinGroup>*:nth-child(3) {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.m-fadeinGroup>*:nth-child(4) {
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.m-fadeinGroup>*:nth-child(5) {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

.m-fadeinGroup>*:nth-child(6) {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s;
}

.m-fadeinGroup>*:nth-child(7) {
  -webkit-transition-delay: 1.4s;
  transition-delay: 1.4s;
}

.m-fadeinGroup>*:nth-child(8) {
  -webkit-transition-delay: 1.6s;
  transition-delay: 1.6s;
}

.m-fadeinGroup>*:nth-child(9) {
  -webkit-transition-delay: 1.8s;
  transition-delay: 1.8s;
}

.m-fadeinGroup>*:nth-child(10) {
  -webkit-transition-delay: 2s;
  transition-delay: 2s;
}

.m-fadeinGroup>*:nth-child(11) {
  -webkit-transition-delay: 2.2s;
  transition-delay: 2.2s;
}

.m-fadeinGroup>*:nth-child(12) {
  -webkit-transition-delay: 2.4s;
  transition-delay: 2.4s;
}

.m-fadeinGroup.is-active>* {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.m-fadeinText>* {
  -webkit-transition: all ease-out 1s;
  transition: all ease-out 1s;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}

.m-fadeinText>*:nth-child(1) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.m-fadeinText>*:nth-child(2) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.m-fadeinText>*:nth-child(3) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.m-fadeinText>*:nth-child(4) {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.m-fadeinText>*:nth-child(5) {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

.m-fadeinText>*:nth-child(6) {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.m-fadeinText>*:nth-child(7) {
  -webkit-transition-delay: 0.7s;
  transition-delay: 0.7s;
}

.m-fadeinText>*:nth-child(8) {
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.m-fadeinText>*:nth-child(9) {
  -webkit-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

.m-fadeinText>*:nth-child(10) {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

.m-fadeinText>*:nth-child(11) {
  -webkit-transition-delay: 1.1s;
  transition-delay: 1.1s;
}

.m-fadeinText>*:nth-child(12) {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s;
}

.m-fadeinText.is-active>* {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.m-fadeinText2 {
  color: transparent;
  -webkit-transition: all 1.2s ease;
  transition: all 1.2s ease;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
}

.m-fadeinText2.is-active {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-animation: m-fadeinText2-anime 0.8s linear forwards;
  animation: m-fadeinText2-anime 0.8s linear forwards;
}

@-webkit-keyframes m-fadeinText2-anime {
  0% {
    text-shadow: 0 0 10px rgba(0, 0, 0, 0);
  }

  100% {
    text-shadow: 0 0 0 rgb(0, 0, 0);
  }
}

@keyframes m-fadeinText2-anime {
  0% {
    text-shadow: 0 0 10px rgba(0, 0, 0, 0);
  }

  100% {
    text-shadow: 0 0 0 rgb(0, 0, 0);
  }
}

.m-fadeinImage img {
  -webkit-filter: blur(4px);
  filter: blur(4px);
  opacity: 0;
  -webkit-transition: all 1.2s ease;
  transition: all 1.2s ease;
}

.m-fadeinImage.is-active img {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
}

.js-parallax {
  overflow: hidden;
}

.js-parallax img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

/* ==========================================================================
    Pages
    ========================================================================== */
/* Base
    ----------------------------------------------------------------- */
.page-front .front-head__text {
  margin-top: 32px;
  font-weight: 300;
  line-height: 1.6;
  text-align: center;
}

.page-front .mainview {
  position: relative;
  height: 100vh;
  height: 100svh;
  -webkit-transition: all 1.2s ease 0.2s;
  transition: all 1.2s ease 0.2s;
}

.page-front .mainview__content {
  position: absolute;
  bottom: 4vw;
  left: 4vw;
  z-index: 2;
  width: 92vw;
}

.page-front .mainview__recommend {
  width: 100%;
  max-width: 565px;
  padding: 16px 16px 8px;
  margin: 16px 0 0;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: solid 1px #fff;
  border-radius: 4px;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.page-front .mainview__recommend .recommend__title {
  margin-bottom: 8px;
  font-weight: 300;
  color: #656565;
}

.page-front .mainview__recommend .recommend-slider a {
  font-size: 15px;
  font-weight: 300;
  text-decoration: underline;
  text-decoration-thickness: 0.7px;
}

.page-front .mainview__recommend .recommend-slider__action {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  margin-top: 6px;
}

.page-front .mainview__copy {
  font-size: clamp(24px, 32 / 1920 * 100vw, 32px);
  font-weight: 300;
  color: #fff;
}

.page-front .mainview__slider {
  height: 100%;
}

.page-front .mainview__slider img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.page-front .mainview__slider .swiper-img {
  height: 100%;
}

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

.page-front .mainview__slider .swiper-slide-active .swiper-img,
.page-front .mainview__slider .swiper-slide-duplicate-active .swiper-img,
.page-front .mainview__slider .swiper-slide-prev .swiper-img {
  -webkit-animation: zoomUp 7s linear 0s normal both;
  animation: zoomUp 7s linear 0s normal both;
}

.page-front .campaign {
  overflow: hidden;
}

.page-front .campaign__content {
  position: relative;
  padding: 24px 0 84px;
}

.page-front .campaign__circle {
  position: absolute;
  top: -10vw;
  left: -10vw;
  width: 45vw;
  height: 45vw;
}

.page-front .campaign__wrap {
  padding-left: 5vw;
  overflow: hidden;
}

.page-front .campaign-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.page-front .campaign-title__en {
  font-family: "Great Vibes", cursive;
  font-size: 42px;
  color: #E3D5CB;
}

.page-front .campaign-title__ja {
  position: relative;
  padding-left: 19px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
}

.page-front .campaign-title__ja::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  background-color: #E3D5CB;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.page-front .campaign-slider {
  position: static;
  padding-right: 40px;
  margin-top: 12px;
  overflow: visible;
}

.page-front .campaign-slider__action {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.page-front .p-weddingfair {
  padding: 80px 0 120px;
}

.page-front .lead {
  position: relative;
  padding: 0 0 32px;
}

.page-front .lead::after {
  position: absolute;
  bottom: -50px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 51px;
  content: "";
  background-color: #fff;
  border-radius: 0 0 24px 24px;
}

.page-front .lead-top__list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.7%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.page-front .lead-top__list li+li {
  margin-top: 8px;
}

.page-front .lead-top__list li:nth-child(1) .text {
  width: 46%;
}

.page-front .lead-top__list li:nth-child(1) .image {
  width: 52%;
}

.page-front .lead-top__list li:nth-child(2) .text {
  width: 52%;
  font-style: italic;
}

.page-front .lead-top__list li:nth-child(2) .image {
  width: 48%;
}

.page-front .lead-top__list li:nth-child(3) .text {
  width: 41%;
}

.page-front .lead-top__list li:nth-child(3) .image {
  width: 43%;
}

.page-front .lead-top__list .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  font-family: "Baskervville", serif;
  font-size: clamp(40px, 21.3333333333cqw, 160px);
  line-height: 1;
  color: #EBE6E0;
}

.page-front .lead-top__list .text span {
  display: inline-block;
}

.page-front .lead-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-flow: column-reverse;
  flex-flow: column-reverse;
  padding: 88px 5vw 0;
  overflow: hidden;
}

.page-front .lead-bottom__circle {
  position: absolute;
  top: -10vw;
  right: -100vw;
  width: 220vw;
  height: 220vw;
}

.page-front .lead-bottom__image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  width: 100%;
  margin-top: 80px;
}

.page-front .lead-bottom__image .image01 {
  width: 100%;
}

.page-front .lead-bottom__image .image02 {
  width: 78%;
  margin-top: 8px;
}

.page-front .lead-bottom__lead {
  font-size: 22px;
  font-weight: 300;
  line-height: 2;
}

.page-front .lead-bottom__text {
  margin-top: 40px;
}

.page-front .lead-bottom__text p {
  font-weight: 300;
  line-height: 2;
}

.page-front .lead-bottom__text p+p {
  margin-top: 1.5rem;
}

.page-front .lead-bottom__action {
  margin-top: 48px;
}

.page-front .lead-bottom__content {
  position: relative;
  width: 100%;
}

.page-front .plan {
  position: relative;
  z-index: 0;
  padding: 56px 0 74px;
  margin-top: -24px;
  overflow: hidden;
  background-color: #F6EFE5;
  border-radius: 24px;
}

.page-front .plan .p-container {
  max-width: 1300px;
}

.page-front .plan__circle {
  position: absolute;
  top: -30vw;
  left: -46vw;
  z-index: -1;
  width: 145vw;
  height: 145vw;
  pointer-events: none;
}

.page-front .plan-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.page-front .plan-title__en {
  font-family: "Great Vibes", cursive;
  font-size: 42px;
  line-height: 1.2;
  color: #fff;
}

.page-front .plan-title__ja {
  position: relative;
  padding-left: 19px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
}

.page-front .plan-title__ja::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  background-color: #fff;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.page-front .plan__iframe {
  margin-top: 40px;
}

.page-front .plan-slider__action {
  position: absolute;
  bottom: 0;
  left: 50%;
  padding-right: 5vw;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.page-front .plan__action {
  margin-top: 24px;
}

.page-front .ceremony {
  padding: 48px 0;
}

.page-front .ceremony-slider {
  padding: 0 16px;
  margin-top: 24px;
}

.page-front .ceremony-slider .swiper-slide {
  opacity: 1 !important;
}

.page-front .ceremony-slider .swiper-img {
  width: 100%;
  height: auto;
  overflow: hidden;
}

.page-front .ceremony-slider .img-svg {
  width: 0;
  height: 0;
}

.page-front .ceremony-slider .js-clip {
  -webkit-transform: scale(0.000764, 0.000844);
  transform: scale(0.000764, 0.000844);
}

.page-front .ceremony-slider .swiper-img {
  visibility: hidden;
  opacity: 0;
}

.page-front .ceremony-slider .swiper-slide-active .swiper-img {
  visibility: visible;
  opacity: 1;
}

.page-front .ceremony-slider .swiper-img.show {
  visibility: visible;
  opacity: 1;
}

.page-front .ceremony-slider__action {
  position: absolute;
  right: -4px;
  bottom: 0;
  width: auto;
}

.page-front .ceremony-slider__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  gap: 5px;
}

.page-front .ceremony__action {
  margin-top: 24px;
}

.page-front .banquet {
  position: relative;
  padding: 0 0 16px;
}

.page-front .banquet::before {
  position: absolute;
  bottom: -50px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 51px;
  content: "";
  background-color: #fff;
  border-radius: 0 0 24px 24px;
}

.page-front .banquet-list {
  margin: 32px 0 0;
}

.page-front .banquet-list li {
  width: 100%;
  height: 337px;
  margin: 16px 0 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.page-front .banquet-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  padding: 5vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.page-front .banquet-list li .title {
  font-family: "Baskervville", serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 1.2;
  color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}

.page-front .banquet-list li:nth-child(1) a {
  background-image: url("../img/front/banquet_image01.jpg");
}

.page-front .banquet-list li:nth-child(2) a {
  background-image: url("../img/front/banquet_image02.jpg");
}

.page-front .banquet-list li:nth-child(3) a {
  background-image: url("../img/front/banquet_image03.jpg");
}

.page-front .banquet__action {
  margin-top: 24px;
}

.page-front .banquet-other {
  padding: 0 8px;
  margin-top: 56px;
}

.page-front .banquet-other__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
}

.page-front .banquet-other__card .title {
  position: relative;
  z-index: 0;
  font-family: "Baskervville", serif;
  font-size: 32px;
  font-weight: 400;
}

.page-front .banquet-other__card .title::before {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.page-front .banquet-other__card .title span {
  display: inline-block;
  padding-right: 40px;
  background-color: #fff;
}

.page-front .banquet-other__card .image {
  margin-top: 24px;
  overflow: hidden;
}

.page-front .banquet-other__card .image img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.page-front .banquet-other__card .text {
  margin: 16px 0;
  font-weight: 300;
}

.page-front .banquet-other__card .more {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 28px;
  padding: 0 8px 16px 0;
  font-weight: 300;
}

.page-front .banquet-other__card .more::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 143px;
  height: 0;
  content: "";
  border-top: solid 1px #000;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.page-front .banquet-other__card .more span {
  position: relative;
  display: block;
  padding-left: 20px;
  margin-left: 24px;
}

.page-front .banquet-other__card .more span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 20px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-y;
  background-position: left top;
  background-size: 1px 4px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.page-front .banquet-other__card .more span svg {
  display: block;
  width: 18px;
  fill: #333;
}

.page-front .banquet__banner {
  margin-top: 56px;
}

.page-front .background {
  width: 100%;
  height: 500px;
}

.page-front .background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.page-front .report {
  position: relative;
  padding: 16px 0 72px;
}

.page-front .report::before {
  position: absolute;
  top: -50px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 51px;
  content: "";
  background-color: #fff;
  border-radius: 24px 24px 0 0;
}

.page-front .report__list {
  padding: 0 8px;
  margin-top: 32px;
}

.page-front .report__action {
  margin-top: 40px;
}

.page-front .gallery {
  position: relative;
}

.page-front .gallery__content {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.page-front .gallery__title {
  text-align: center;
}

.page-front .gallery__title img {
  max-width: 82%;
}

.page-front .gallery__action {
  padding: 0 5vw;
  margin-top: 40px;
}

.page-front .gallery-bg__list .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}

.page-front .gallery-bg__list .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  list-style: none;
}

.page-front .gallery-bg__list .list--left {
  -webkit-animation: infinity-scroll-left 80s infinite linear 0.5s both;
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.page-front .gallery-bg__list .item {
  width: 50vw;
}

.page-front .gallery-bg__list .item img {
  width: 100%;
}

@-webkit-keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

.page-front .news {
  padding: 56px 0 64px;
}

.page-front .news__list {
  margin-top: 32px;
}

.page-front .news__action {
  margin-top: 32px;
}

/* Base
    ----------------------------------------------------------------- */
.single-news .news-article {
  margin: 0 0 64px;
}

.single-news .news-article__header {
  position: relative;
  padding: 16px 0;
  margin-bottom: 16px;
}

.single-news .news-article__header::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.single-news .news-article__header::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.single-news .news-article__header .information {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.single-news .news-article__header .date {
  width: 76px;
  font-size: 12px;
  font-weight: 300;
  color: #959595;
}

.single-news .news-article__header .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
  width: calc(100% - 76px);
}

.single-news .news-article__header .category li {
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 300;
  background-color: #F5EAE6;
  border-radius: 30px;
}

.single-news .news-article__header .title {
  margin-top: 16px;
  font-size: 20px;
  font-weight: 300;
}

.single-news .news-article__content {
  margin-bottom: 48px;
}

.single-news .news-article__share {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 16px;
}

.single-news .news-article__share::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.single-news .news-article__share .title {
  font-size: 12px;
  font-weight: 300;
}

.single-news .news-article__share ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.single-news .news-article__action {
  margin-top: 32px;
}

.single-news .p-weddingfair::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.single-report .report-article {
  margin: 0 0 64px;
}

.single-report .report-article__header {
  position: relative;
  padding: 16px 0;
  margin-bottom: 16px;
}

.single-report .report-article__header::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.single-report .report-article__header::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.single-report .report-article__header .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
}

.single-report .report-article__header .category li {
  padding: 2px 10px;
  font-size: 12px;
  font-weight: 300;
  background-color: #F5EAE6;
  border-radius: 30px;
}

.single-report .report-article__header .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 4px 0;
  margin-top: 8px;
}

.single-report .report-article__header .description li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  margin-right: 32px;
}

.single-report .report-article__header .description__title {
  margin-right: 8px;
  font-size: 12px;
  color: #959595;
}

.single-report .report-article__header .description__text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: 300;
}

.single-report .report-article__header .title {
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 300;
}

.single-report .report-article__mainview {
  margin: 16px 0;
}

.single-report .report-article__content {
  margin-bottom: 48px;
}

.single-report .report-article__share {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 16px;
}

.single-report .report-article__share::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.single-report .report-article__share .title {
  font-size: 12px;
  font-weight: 300;
}

.single-report .report-article__share ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.single-report .report-article__action {
  margin-top: 32px;
}

/* Base
    ----------------------------------------------------------------- */
.archive-column .archive-column__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 16px;
}

.archive-column .archive-column__item+.archive-column__item {
  margin-top: 16px;
}

.archive-column .column-nopost {
  margin-top: 40px;
}

.archive-column .column-nopost .column-nopost__title {
  font-size: 20px;
  text-align: center;
}

.archive-column .column-nopost .column-nopost__action {
  margin-top: 40px;
}

/* Base
    ----------------------------------------------------------------- */
.archive-news .news-content {
  margin: 0 0 64px;
}

.archive-news .p-weddingfair::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.archive-report .p-nopost {
  margin-top: 64px;
}

.archive-report .report-content {
  margin: 0 0 64px;
}

.archive-report .report-search {
  padding: 18px 12px 32px;
  background-color: #F6EFE5;
}

.archive-report .report-search__select {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.archive-report .report-search__select .text {
  font-weight: 300;
}

.archive-report .report-search__select .select {
  position: relative;
  margin-top: 8px;
}

.archive-report .report-search__select .select::before {
  position: absolute;
  top: 50%;
  right: 24px;
  display: block;
  width: 14px;
  height: 8px;
  pointer-events: none;
  content: "";
  background-image: url("../img/icon/icon_select_arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.archive-report .report-search__select .select select {
  width: 100%;
  padding: 16px 36px 16px 24px;
  font-weight: 300;
  background-color: #fff;
  border-radius: 4px;
}

.archive-report .report-search__submit {
  position: relative;
  margin-top: 16px;
}

.archive-report .report-search__submit .button--submit {
  position: relative;
  width: 100%;
  max-width: 184px;
  margin: 0 auto;
  border-bottom: solid 1px #959595;
}

.archive-report .report-search__submit .button--submit::before {
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 42px;
  height: 1px;
  content: "";
  background-color: #333;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.archive-report .report-search__submit .button--submit button {
  width: 100%;
  padding: 20px 0 20px 6px;
  font-weight: 300;
  text-align: left;
}

.archive-report .report-search__submit .button--submit .arrow {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 42px;
  pointer-events: none;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.archive-report .report-search__submit .button--submit .arrow::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 29px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-y;
  background-position: left top;
  background-size: 1px 4px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.archive-report .report-search__submit .button--submit .arrow svg {
  display: block;
  margin: 0 auto;
  fill: #333;
}

.archive-report .report-search__submit .button--reset {
  margin-top: 24px;
  text-align: center;
}

.archive-report .report-search__submit .button--reset a {
  position: relative;
  display: inline-block;
  font-weight: 300;
}

.archive-report .report-search__submit .button--reset a::before {
  position: absolute;
  right: 0;
  bottom: -2px;
  display: block;
  width: 100%;
  height: 0;
  content: "";
  border-bottom: solid 1px #333;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.archive-report .report__list {
  margin-top: 24px;
}

.archive-report .p-weddingfair::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

/* Base
    ----------------------------------------------------------------- */
.page-privacy .privacy__content {
  margin: 0 0 64px;
}

.page-privacy .privacy-head {
  margin-bottom: 80px;
}

.page-privacy .privacy-head__title {
  font-size: 20px;
  font-weight: 300;
}

.page-privacy .privacy-head__text {
  margin-top: 24px;
  font-weight: 300;
  line-height: 1.8;
}

.page-privacy .privacy-block+.privacy-block {
  margin-top: 40px;
}

.page-privacy .privacy-block__title {
  padding-bottom: 24px;
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 300;
  border-bottom: solid 1px #DDD;
}

.page-privacy .privacy-block__text {
  font-weight: 300;
}

/* Base
    ----------------------------------------------------------------- */
.page-guest .section-comp {
  position: relative;
  padding-bottom: 72px;
}

.page-guest .section-comp__inner {
  display: grid;
  gap: 24px 0;
}

.page-guest .section-comp__block .title {
  padding-bottom: 12px;
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 300;
  line-height: 150%;
  border-bottom: 1px solid #DDD;
}

.page-guest .section-comp__block .content {
  display: grid;
  gap: 16px 0;
}

.page-guest .section-comp__block .text {
  font-weight: 300;
  line-height: 160%;
}

.page-guest .section-comp__block .image {
  position: relative;
  padding-top: 100%;
}

.page-guest .section-comp__block .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
  object-fit: cover;
}

.page-guest .section-comp__block .image.image01 img {
  -o-object-position: right center;
  object-position: right center;
}

.page-guest .section-comp__block .action {
  margin-top: 16px;
  text-align: center;
}

.page-guest .section-comp__block .action>a {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 44px;
  padding-bottom: 16px;
  font-weight: 300;
}

.page-guest .section-comp__block .action>a::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 170px;
  height: 0;
  content: "";
  border-top: solid 1px #000;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.page-guest .section-comp__block .action>a span {
  position: relative;
  display: block;
  padding-left: 20px;
  margin-left: 24px;
}

.page-guest .section-comp__block .action>a span::before {
  position: absolute;
  top: calc(50% - 10px);
  left: 0;
  width: 1px;
  height: 20px;
  content: "";
  background-image: radial-gradient(circle, #959595 1px, transparent 1px);
  background-repeat: repeat-y;
  background-position: left top;
  background-size: 1px 4px;
}

.page-guest .section-comp__block .action>a span svg {
  display: block;
  width: 18px;
  fill: #333;
}

/* Base
    ----------------------------------------------------------------- */
.page-access .p-weddingfair::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.page-access .outline {
  position: relative;
  padding-bottom: 48px;
}

.page-access .outline__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 10px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-bottom: 24px;
}

.page-access .outline__title--en {
  width: 158px;
}

.page-access .outline__title--jp {
  font-size: 10px;
  font-weight: 300;
  line-height: 180%;
}

.page-access .outline__table {
  border-top: 1px solid #DDD;
}

.page-access .outline__table .item {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 0 36px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 24px 0;
  font-weight: 300;
  line-height: 180%;
  border-bottom: 1px solid #DDD;
}

.page-access .outline__table dt {
  position: relative;
}

.page-access .outline__table dt::after {
  position: absolute;
  top: calc(50% - 8px);
  right: -18px;
  width: 1px;
  height: 16px;
  content: "";
  background-image: radial-gradient(circle, #959595 1px, transparent 1px);
  background-repeat: repeat-y;
  background-position: left top;
  background-size: 1px 4px;
}

.page-access .outline__image {
  margin-top: 16px;
}

.page-access .outline__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.page-access .access {
  position: relative;
  padding-bottom: 56px;
}

.page-access .access__list {
  display: grid;
  gap: 16px 0;
}

.page-access .access__item {
  display: grid;
  grid-template: "icon title" auto "icon text" auto/78px auto;
  gap: 8px 22px;
  padding: 22px;
  border: 1px solid #E3D5CB;
}

.page-access .access__item:nth-child(1) .icon img {
  width: 56px;
}

.page-access .access__item:nth-child(2) .icon img {
  width: 48px;
}

.page-access .access__item:nth-child(3) .icon img {
  width: 57px;
}

.page-access .access__item .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-area: icon;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  aspect-ratio: 1;
  background-color: #E3D5CB;
  border-radius: 7px;
}

.page-access .access__item .title {
  grid-area: title;
  align-self: end;
  font-size: 16px;
  font-weight: 300;
  line-height: normal;
}

.page-access .access__item .text {
  grid-area: text;
  font-size: 12px;
  font-weight: 300;
  line-height: 140%;
}

.page-access .access__map {
  position: relative;
  width: 100%;
  aspect-ratio: 343/124;
  margin-top: 16px;
}

.page-access .access__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Base
    ----------------------------------------------------------------- */
.page-banquet .p-weddingfair {
  padding-top: 74px;
  margin-top: -50px;
  background-color: #fff;
  border-radius: 24px 24px 0 0;
}

.page-banquet .intro__bottom-inner {
  margin-top: 32px;
}

.page-banquet .intro__anchor-list {
  display: grid;
  gap: 8px 0;
  padding: 0 1.4vw;
}

.page-banquet .intro__anchor-item .text {
  position: absolute;
  right: 0;
  bottom: 8.8888888889%;
  left: 0;
  z-index: 1;
  padding-bottom: 26px;
  margin: 0 auto;
  font-family: "Baskervville", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: normal;
  color: #fff;
  text-align: center;
}

.page-banquet .intro__anchor-item .text::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 11px;
  margin: 0 auto;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 11"><path d="M20 1.27124C20 0.978403 19.9092 0.685568 19.7276 0.450028C19.3191 -0.0847118 18.6041 -0.148369 18.1275 0.303614L10.002 8.05734L1.87076 0.303613C1.39412 -0.154735 0.679168 -0.0847126 0.270622 0.450027C-0.137924 0.984767 -0.0755057 1.78688 0.401132 2.24523L9.26431 10.6992C9.68988 11.1003 10.3084 11.1003 10.7339 10.6992L19.6028 2.24523C19.8695 1.99059 20 1.6341 20 1.27124Z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 11"><path d="M20 1.27124C20 0.978403 19.9092 0.685568 19.7276 0.450028C19.3191 -0.0847118 18.6041 -0.148369 18.1275 0.303614L10.002 8.05734L1.87076 0.303613C1.39412 -0.154735 0.679168 -0.0847126 0.270622 0.450027C-0.137924 0.984767 -0.0755057 1.78688 0.401132 2.24523L9.26431 10.6992C9.68988 11.1003 10.3084 11.1003 10.7339 10.6992L19.6028 2.24523C19.8695 1.99059 20 1.6341 20 1.27124Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.page-banquet .intro__anchor-item .image {
  overflow: hidden;
}

.page-banquet .intro__anchor-item .image img {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.page-banquet .intro__anchor-item>a {
  position: relative;
  display: block;
}

.page-banquet .intro__anchor-item img {
  width: 100%;
}

.page-banquet .section-comp {
  position: relative;
  z-index: 1;
  overflow: clip;
  background-color: #fff;
}

.page-banquet .section-comp.--creer {
  margin-bottom: -50px;
  border-radius: 0 0 24px 24px;
}

.page-banquet .section-comp.--creer .section-comp__block {
  padding-bottom: 90px;
}

.page-banquet .section-comp__mainVisual {
  position: sticky;
  top: 0;
  z-index: 1;
  height: 100svh;
  margin: 0 calc(50% - 50vw);
}

.page-banquet .section-comp__mainVisual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.page-banquet .section-comp__images img {
  width: 100%;
}

.page-banquet .section-comp__block {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 40px 0;
  padding: 25vh 0 80px;
  margin-top: 40px;
}

.page-banquet .section-comp__card .title {
  display: inline-grid;
  grid-template: "en en" auto "jp capa" 1fr/max-content 1fr;
  gap: 16px 24px;
  margin-bottom: 32px;
}

.page-banquet .section-comp__card .title .title-en {
  grid-area: en;
  font-family: "Baskervville", serif;
  font-size: 32px;
  font-weight: normal;
  line-height: normal;
}

.page-banquet .section-comp__card .title .title-jp {
  grid-area: jp;
  align-self: center;
  font-size: 14px;
  font-weight: 300;
}

.page-banquet .section-comp__card .title .capacity {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-area: capa;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: 30px;
  padding: 0 8px;
  font-size: 14px;
  font-weight: 300;
  border: 1px solid #959595;
}

.page-banquet .section-comp__card .tagline {
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 300;
  line-height: 180%;
}

.page-banquet .section-comp__card .text {
  margin-bottom: 32px;
  font-weight: 300;
  line-height: 180%;
}

.page-banquet .section-comp__card .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px 8px;
}

.page-banquet .section-comp__card .tags span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 25px;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 300;
  border: 1px solid #959595;
  border-radius: 13px;
}

.p-direction {
  position: relative;
}

.p-direction .p-container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.p-direction__inner {
  position: relative;
  height: 100%;
}

.p-direction__content {
  position: absolute;
  top: 50%;
  width: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-direction__title {
  text-align: center;
}

.p-direction__title-en {
  display: inline-block;
  font-family: "Great Vibes", cursive;
  font-size: 40px;
  color: #fff;
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.p-direction__title-ja {
  font-size: 20px;
  font-weight: 400;
  line-height: 180%;
  color: #fff;
}

.p-direction__action {
  margin-top: 32px;
}

.p-direction__action .c-button {
  background: transparent;
}

.p-direction__action .c-button__text {
  position: relative;
  overflow: hidden;
  background: transparent;
  -webkit-transform: translate(0);
  transform: translate(0);
}

.p-direction__action .c-button__text::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: "";
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border-radius: 35px;
}

.p-direction__background {
  position: relative;
  z-index: -1;
  height: 425px;
}

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

/* Base
    ----------------------------------------------------------------- */
.page-ceremony {
  overflow: clip;
}

.page-ceremony .p-weddingfair {
  padding-top: 74px;
  margin-top: -50px;
  background-color: #fff;
  border-radius: 24px 24px 0 0;
}

.page-ceremony .js-trigger {
  position: relative;
  overflow: clip;
}

.page-ceremony .intro {
  position: static;
}

.page-ceremony .intro__content {
  margin-bottom: calc(25.6vw + 46px);
}

.page-ceremony .intro__anchor-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 16px;
  max-width: 476px;
  margin-top: 32px;
}

.page-ceremony .intro__anchor-item>a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 44px;
  padding: 0 0 16px;
  font-weight: 300;
}

.page-ceremony .intro__anchor-item>a::before {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  content: "";
  border-top: solid 1px #000;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.page-ceremony .intro__anchor-item>a::after {
  position: absolute;
  top: 10px;
  right: 0;
  width: 12px;
  height: 6.6px;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 11"><path d="M20 1.27124C20 0.978403 19.9092 0.685568 19.7276 0.450028C19.3191 -0.0847118 18.6041 -0.148369 18.1275 0.303614L10.002 8.05734L1.87076 0.303613C1.39412 -0.154735 0.679168 -0.0847126 0.270622 0.450027C-0.137924 0.984767 -0.0755057 1.78688 0.401132 2.24523L9.26431 10.6992C9.68988 11.1003 10.3084 11.1003 10.7339 10.6992L19.6028 2.24523C19.8695 1.99059 20 1.6341 20 1.27124Z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 11"><path d="M20 1.27124C20 0.978403 19.9092 0.685568 19.7276 0.450028C19.3191 -0.0847118 18.6041 -0.148369 18.1275 0.303614L10.002 8.05734L1.87076 0.303613C1.39412 -0.154735 0.679168 -0.0847126 0.270622 0.450027C-0.137924 0.984767 -0.0755057 1.78688 0.401132 2.24523L9.26431 10.6992C9.68988 11.1003 10.3084 11.1003 10.7339 10.6992L19.6028 2.24523C19.8695 1.99059 20 1.6341 20 1.27124Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.page-ceremony .intro .intro__image {
  position: relative;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  margin: 0;
}

.page-ceremony .intro .intro__image.js-active {
  position: absolute;
}

.page-ceremony .intro .intro__image.js-active .container {
  max-width: calc(100% - 10vw);
  margin: 0 auto;
}

.page-ceremony .intro .intro__image .container {
  height: 100%;
}

.page-ceremony .intro .intro__image .image {
  position: sticky;
  top: 50%;
  width: 100%;
  height: 51.2vw;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.page-ceremony .intro .intro__image .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.page-ceremony .section-comp {
  position: relative;
}

.page-ceremony .section-comp.--chapel .section-comp__mainVisual {
  height: 250vh;
}

.page-ceremony .section-comp.--chapel .section-comp__mainVisual::before {
  position: absolute;
  top: -25%;
  left: 0;
  width: 100vw;
  height: 150%;
  pointer-events: none;
  content: "";
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  -webkit-transition: opacity 0.4s ease 0.1s;
  transition: opacity 0.4s ease 0.1s;
}

.page-ceremony .section-comp.--chapel .section-comp__mainVisual.js-active::before {
  opacity: 1;
}

.page-ceremony .section-comp.--chapel .section-comp__mainVisual.js-active .content {
  opacity: 1;
  -webkit-transition: opacity 1.2s ease 0.15s;
  transition: opacity 1.2s ease 0.15s;
}

.page-ceremony .section-comp.--chapel .section-comp__content::before {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(246, 239, 229, 0)), color-stop(60%, rgba(246, 239, 229, 0.7)), color-stop(98.5%, rgb(246, 239, 229)));
  background: linear-gradient(180deg, rgba(246, 239, 229, 0) 0%, rgba(246, 239, 229, 0.7) 60%, rgb(246, 239, 229) 98.5%);
}

.page-ceremony .section-comp.--chapel .section-comp__content::after {
  background: #F6EFE5;
}

.page-ceremony .section-comp.--chapel .section-comp__specBox {
  background: #fff;
}

.page-ceremony .section-comp.--chapel .section-comp__specBox .specBox-title {
  background: #F6EFE5;
}

.page-ceremony .section-comp.--izumoden .section-comp__content {
  margin-top: -140px;
}

.page-ceremony .section-comp.--izumoden .section-comp__top-inner {
  padding-top: 180px;
  margin-top: -180px;
}

.page-ceremony .section-comp__mainVisual {
  position: relative;
  z-index: 0;
  width: 100vw;
  height: 100svh;
  margin: 0 calc(50% - 50vw);
}

.page-ceremony .section-comp__mainVisual .content {
  position: relative;
  top: 50%;
  right: 0;
  left: 0;
  z-index: 2;
  max-width: calc(87.2vw + 8px);
  padding-top: 50vh;
  margin: 0 auto;
  text-align: center;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 0.15s;
  transition: opacity 0.3s ease 0.15s;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.page-ceremony .section-comp__mainVisual .title {
  display: inline-block;
  font-family: "Great Vibes", cursive;
  font-size: 56px;
  font-weight: 400;
  line-height: normal;
  color: #fff;
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.page-ceremony .section-comp__mainVisual .slider-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.page-ceremony .section-comp__mainVisual .slider-item {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: calc(74.6666666667vw + 8px);
  padding: 0 4px;
}

.page-ceremony .section-comp__mainVisual .image {
  height: 100vh;
}

.page-ceremony .section-comp__mainVisual .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.page-ceremony .section-comp__content {
  position: relative;
  z-index: 2;
  padding: 180px 0 78px;
}

.page-ceremony .section-comp__content::before {
  position: absolute;
  top: 0;
  right: calc(50% - 50vw);
  left: calc(50% - 50vw);
  z-index: -1;
  height: 140px;
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(60%, rgba(255, 255, 255, 0.7)), color-stop(98.5%, rgb(255, 255, 255)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 60%, rgb(255, 255, 255) 98.5%);
}

.page-ceremony .section-comp__content::after {
  position: absolute;
  top: 139px;
  right: calc(50% - 50vw);
  bottom: 0;
  left: calc(50% - 50vw);
  z-index: -1;
  content: "";
  background: #fff;
}

.page-ceremony .section-comp__top-inner {
  margin-bottom: 40px;
}

.page-ceremony .section-comp__middle-inner {
  margin-bottom: 48px;
}

.page-ceremony .section-comp__title {
  margin-bottom: 32px;
  font-size: 32px;
  font-weight: 300;
  line-height: normal;
}

.page-ceremony .section-comp__tagline {
  margin-bottom: 32px;
  font-size: 20px;
  font-weight: 300;
  line-height: 180%;
}

.page-ceremony .section-comp__col {
  display: grid;
  gap: 48px 0;
}

.page-ceremony .section-comp__text {
  font-weight: 300;
  line-height: 180%;
}

.page-ceremony .section-comp__specBox {
  width: 82.1333333333vw;
  max-width: 318px;
  padding: 16px;
  margin: 0 auto;
  background: #F6EFE5;
}

.page-ceremony .section-comp__specBox .specBox-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 30px;
  margin-bottom: 16px;
  font-size: 14px;
  font-weight: 300;
  text-align: center;
  background: #fff;
}

.page-ceremony .section-comp__specBox .specBox-item {
  display: grid;
  grid-template-columns: 57.7777777778% auto;
}

.page-ceremony .section-comp__specBox .specBox-item:not(:last-child) {
  margin-bottom: 8px;
}

.page-ceremony .section-comp__specBox .specBox-item dt,
.page-ceremony .section-comp__specBox .specBox-item dd {
  font-size: 14px;
  font-weight: 300;
  line-height: 160%;
}

.page-ceremony .section-comp__specBox .specBox-item dt {
  position: relative;
  padding-right: 8px;
}

.page-ceremony .section-comp__specBox .specBox-item dt::after {
  position: absolute;
  top: calc(50% - 8px);
  right: 0;
  width: 1px;
  height: 16px;
  content: "";
  background-image: radial-gradient(circle, #959595 1px, transparent 1px);
  background-repeat: repeat-y;
  background-position: left top;
  background-size: 1px 4px;
}

.page-ceremony .section-comp__specBox .specBox-item dd {
  padding-left: 16px;
}

.page-ceremony .section-comp__block01 {
  position: relative;
  margin-bottom: 24px;
}

.page-ceremony .section-comp__block01 .image01 {
  margin-bottom: 24px;
}

.page-ceremony .section-comp__block01 .text01 {
  font-weight: 300;
  line-height: 200%;
}

.page-ceremony .section-comp__block02 {
  position: relative;
  padding: 0 1.4vw;
}

.page-ceremony .section-comp__block02 .image01 {
  width: 82.874617737%;
  margin-bottom: 24px;
}

.page-ceremony .section-comp__block02 .image02 {
  width: 59.9388379205%;
  margin: 0 auto 24px;
}

.page-ceremony .section-comp__block02 .image03 {
  margin-bottom: 16px;
}

.page-ceremony .section-comp__block02 .image04 {
  width: 82.874617737%;
  margin-left: auto;
}

.page-ceremony .section-comp__block02 .text01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-bottom: 24px;
  font-weight: 300;
  line-height: 200%;
}

.page-ceremony .section-comp__block02 .text02 {
  margin-bottom: 24px;
  font-weight: 300;
  line-height: 200%;
}

.page-ceremony .section-comp__list {
  display: grid;
  gap: 24px 0;
  counter-reset: num;
}

.page-ceremony .section-comp__item .image {
  position: relative;
}

.page-ceremony .section-comp__item .image::before {
  position: absolute;
  bottom: -1.1em;
  left: 0;
  font-family: "Great Vibes", cursive;
  font-size: 32px;
  font-weight: 400;
  line-height: 160%;
  color: #E3D5CB;
  content: "Point" counter(num, decimal-leading-zero);
  counter-increment: num;
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.page-ceremony .section-comp__item .image img {
  width: 100%;
}

.page-ceremony .section-comp__item .caption {
  padding: 0 1.4vw;
  margin-top: 16px;
  font-weight: 300;
  line-height: 160%;
}

/* Base
    ----------------------------------------------------------------- */
.page-reason .p-weddingfair::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.page-reason .message {
  position: relative;
  padding-bottom: 48px;
}

.page-reason .message__inner {
  display: grid;
  gap: 40px 0;
}

.page-reason .message__title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 28px;
}

.page-reason .message__title--en {
  position: absolute;
  top: -28px;
  left: 10px;
  font-family: "Great Vibes", cursive;
  font-size: 32px;
  font-weight: 400;
  line-height: 160%;
  color: #E3D5CB;
  -webkit-transform: rotate(-15deg) translateY(-25%);
  transform: rotate(-15deg) translateY(-25%);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.page-reason .message__title--jp {
  font-size: 20px;
  font-weight: 300;
  line-height: 180%;
}

.page-reason .message__title--circle {
  position: absolute;
  top: calc(50% - 10px);
  left: 0;
  width: 178px;
  aspect-ratio: 1;
  border-radius: 50%;
  -webkit-transform: translateY(-50%) scale(0);
  transform: translateY(-50%) scale(0);
}

.page-reason .message__title--circle.m-fadeInCircle {
  background: #F5EAE6;
  -webkit-filter: blur(40px);
  filter: blur(40px);
}

.page-reason .message__title--circle.m-fadeInCircle.is-active {
  -webkit-transform: translateY(-50%) scale(1) !important;
  transform: translateY(-50%) scale(1) !important;
}

.page-reason .message__text {
  font-weight: 300;
  line-height: 180%;
}

.page-reason .message__text:not(:last-child) {
  margin-bottom: 1.8em;
}

.page-reason .choose-us {
  position: relative;
  padding-bottom: 32px;
}

.page-reason .choose-us__heading {
  margin-bottom: 40px;
}

.page-reason .choose-us__heading .p-heading01 {
  margin-bottom: 0;
}

.page-reason .choose-us__heading--jp {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 300;
  line-height: 180%;
  text-align: center;
}

.page-reason .choose-us__anchor-list {
  display: grid;
  gap: 24px 0;
  margin-bottom: 52px;
  counter-reset: num;
}

.page-reason .choose-us__anchor-item>a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 0 24px 36px;
  font-weight: 300;
  line-height: 160%;
}

.page-reason .choose-us__anchor-item>a::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  content: "";
  border-top: solid 1px #000;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.page-reason .choose-us__anchor-item>a::after {
  position: absolute;
  top: calc(50% - 15.85px);
  right: 0;
  width: 14px;
  height: 7.7px;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 11"><path d="M20 1.27124C20 0.978403 19.9092 0.685568 19.7276 0.450028C19.3191 -0.0847118 18.6041 -0.148369 18.1275 0.303614L10.002 8.05734L1.87076 0.303613C1.39412 -0.154735 0.679168 -0.0847126 0.270622 0.450027C-0.137924 0.984767 -0.0755057 1.78688 0.401132 2.24523L9.26431 10.6992C9.68988 11.1003 10.3084 11.1003 10.7339 10.6992L19.6028 2.24523C19.8695 1.99059 20 1.6341 20 1.27124Z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 11"><path d="M20 1.27124C20 0.978403 19.9092 0.685568 19.7276 0.450028C19.3191 -0.0847118 18.6041 -0.148369 18.1275 0.303614L10.002 8.05734L1.87076 0.303613C1.39412 -0.154735 0.679168 -0.0847126 0.270622 0.450027C-0.137924 0.984767 -0.0755057 1.78688 0.401132 2.24523L9.26431 10.6992C9.68988 11.1003 10.3084 11.1003 10.7339 10.6992L19.6028 2.24523C19.8695 1.99059 20 1.6341 20 1.27124Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.page-reason .choose-us__anchor-item>a .number {
  position: absolute;
  top: -0.2em;
  left: 0;
}

.page-reason .choose-us__anchor-item>a .number::before {
  display: block;
  font-family: "Great Vibes", cursive;
  font-size: 24px;
  font-weight: 400;
  content: counter(num, decimal-leading-zero) ".";
  counter-increment: num;
}

.page-reason .choose-us__list {
  max-width: 720px;
  margin: 0 auto;
  counter-reset: num;
}

.page-reason .choose-us__item:not(:last-child) {
  margin-bottom: 32px;
}

.page-reason .choose-us__item:nth-child(3) {
  margin-bottom: 40px;
}

.page-reason .choose-us__item .content {
  padding: 0 1.4vw;
  margin-top: -12px;
}

.page-reason .choose-us__item .number {
  margin-bottom: -22px;
}

.page-reason .choose-us__item .number::before {
  display: inline-block;
  font-family: "Great Vibes", cursive;
  font-size: 32px;
  font-weight: 400;
  line-height: 160%;
  color: #E3D5CB;
  content: "Reason." counter(num, decimal-leading-zero);
  counter-increment: num;
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.page-reason .choose-us__item .title {
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 300;
  line-height: 180%;
}

.page-reason .choose-us__item .text {
  font-weight: 300;
  line-height: 180%;
}

.page-reason .choose-us__item .action01 {
  margin-top: 16px;
  text-align: center;
}

.page-reason .choose-us__item .action01>a {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 44px;
  padding-bottom: 16px;
  font-weight: 300;
}

.page-reason .choose-us__item .action01>a::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  content: "";
  border-top: solid 1px #000;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.page-reason .choose-us__item .action01>a span {
  position: relative;
  display: block;
  padding-left: 20px;
  margin-left: 24px;
}

.page-reason .choose-us__item .action01>a span::before {
  position: absolute;
  top: calc(50% - 10px);
  left: 0;
  width: 1px;
  height: 20px;
  content: "";
  background-image: radial-gradient(circle, #959595 1px, transparent 1px);
  background-repeat: repeat-y;
  background-position: left top;
  background-size: 1px 4px;
}

.page-reason .choose-us__item .action01>a span svg {
  display: block;
  width: 18px;
  fill: #333;
}

.page-reason .choose-us__item .action--button {
  margin-top: 32px;
}

.page-reason .choose-us__item .action--button a {
  margin: 0 auto;
}

.page-reason .choose-us__item .inner-bottom {
  position: relative;
  padding: 32px 12px;
  margin-top: 40px;
  background: #F6EFE5;
}

.page-reason .choose-us__item .bottom-title {
  margin-bottom: 28px;
  font-size: 16px;
  font-weight: 300;
  line-height: 150%;
  text-align: center;
}

.page-reason .choose-us__item .bottom-block {
  display: grid;
  gap: 24px 0;
}

.page-reason .choose-us__item .bottom-card {
  position: relative;
  padding: 32px 36px 24px;
  background: #fff;
}

.page-reason .choose-us__item .bottom-card::before {
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 0;
  height: 0;
  content: "";
  border-color: transparent transparent #F6EFE5 transparent;
  border-style: solid;
  border-width: 0 0 32px 32px;
}

.page-reason .choose-us__item .bottom-card::after {
  position: absolute;
  right: -14px;
  bottom: 14px;
  width: 56px;
  height: 1px;
  content: "";
  background: #959595;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.page-reason .choose-us__item .bottom-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 90px;
  height: 90px;
  margin: 0 auto 14px;
  background: #E3D5CB;
  border-radius: 50%;
}

.page-reason .choose-us__item .bottom-icon.--icon01 img {
  width: 47.6px;
}

.page-reason .choose-us__item .bottom-icon.--icon02 img {
  width: 49.3px;
}

.page-reason .choose-us__item .bottom-icon.--icon03 img {
  width: 52.7px;
}

.page-reason .choose-us__item .bottom-content dt {
  margin-bottom: 16px;
  font-size: 14px;
  font-weight: 300;
  line-height: 160%;
  text-align: center;
}

.page-reason .choose-us__item .bottom-content dd {
  font-size: 14px;
  font-weight: 300;
  line-height: 160%;
}

.page-reason .choose-us__item .bottom-action {
  margin-top: 32px;
}

/* Base
    ----------------------------------------------------------------- */
.page-cuisine {
  overflow: hidden;
}

.page-cuisine .p-weddingfair::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.page-cuisine .intro__card {
  padding: 16px;
  margin: 24px 1.4vw;
  text-align: center;
  background: #F6EFE5;
}

.page-cuisine .intro__card .title {
  position: relative;
  display: inline-block;
  padding: 0 18px;
  margin: 0 -0.5em 14px;
  font-size: 15px;
  font-weight: 300;
  line-height: 160%;
}

.page-cuisine .intro__card .title::before,
.page-cuisine .intro__card .title::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 35px;
  height: 85.098px;
  margin: auto 0;
  content: "";
  background-color: #fff;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 51 124"><path d="M23.6,14.6c5.5-4.1,11.3-10.3,21.1-14.6-7.2,0-18.4,5.3-21.1,14.6ZM29.9,15.9c-1.2.6-2,1-3,1.3-1.8.5-3.3.6-4.8,1.3-1.2.5-2.2,1.2-3.1,2.1-.8.8-1.4,1.5-1.8,2.3-.9,1.5-1.7,4-1.7,5.8.7-.9,1.4-1.5,2.1-2.1,1.1-.9,2.1-1.6,3.3-2.1.8-.4,1.6-.8,2.3-1.2,3-1.8,4.8-4.4,6.9-7.2h0ZM15.4,28.6c0-2.6,2.1-7.1,3.3-8.8.9-1.2,1.5-2.6,2.1-4,1-2.5,1.9-5.4,2.2-7.5-1.3.9-2.6,1.9-4.1,3.2-3.1,2.9-4.8,6.1-4.4,10.4.2,1.6.2,5.2,1,6.7h0ZM21,29c-1,.8-1.8,1.4-2.7,1.8-1.7.8-3.1,1.3-4.5,2.2-1.1.7-2,1.6-2.7,2.6-.6.9-1.1,1.8-1.4,2.6-.6,1.7-.9,4.2-.5,6,.5-1,1.1-1.8,1.6-2.5.9-1.1,1.8-1.9,2.8-2.7.7-.6,1.4-1.1,2-1.6,2.6-2.4,3.9-5.3,5.3-8.4h0ZM9.2,44.3c-.5-2.6.7-7.4,1.5-9.3.6-1.4,1-2.8,1.3-4.3.5-2.6.8-5.6.7-7.8-1.1,1.2-2.2,2.3-3.4,3.9-2.5,3.5-3.6,6.9-2.3,11.1.5,1.6,1.2,5.1,2.2,6.4h0ZM15.5,42.2c-.8,1.2-1.5,2-2.3,2.8-1.5,1.4-2.9,2.4-4.1,3.7-1,1.1-1.6,2.3-2,3.6-.4,1.2-.6,2.2-.6,3.2,0,2,.4,4.8,1.3,6.5.3-1.2.6-2.2.9-3.2.6-1.4,1.3-2.6,2.1-3.8.6-.8,1.1-1.6,1.6-2.4,2-3.3,2.4-6.8,3-10.6h0ZM7.9,62.2c-1.4-2.6-1.6-8.1-1.3-10.4.2-1.6.1-3.3,0-5-.3-3-.9-6.3-1.7-8.5-.8,1.6-1.6,3.2-2.4,5.2-1.5,4.5-1.6,8.5,1.1,12.6,1,1.5,2.9,5,4.4,6.1h0ZM13,57.7c-.6,1.4-1,2.3-1.7,3.3-1.2,1.8-2.4,3-3.3,4.6-.7,1.3-1.1,2.7-1.2,4.1-.1,1.3-.1,2.3,0,3.3.3,2,1.4,4.7,2.7,6.3,0-1.3,0-2.3.3-3.4.3-1.6.7-2.9,1.3-4.2.4-1,.8-1.8,1.1-2.7,1.3-3.8,1-7.4.7-11.3ZM9.6,79.4c-1.9-2.3-3.3-7.8-3.5-10.1-.1-1.7-.6-3.3-1.1-5-.9-2.9-2.2-6.1-3.6-8.2-.5,1.8-.9,3.5-1.3,5.8-.6,4.8.2,8.9,3.7,12.4,1.3,1.3,4,4.4,5.7,5.2ZM13.3,72.5c-.1,1.6-.3,2.7-.7,3.9-.7,2.2-1.5,3.8-1.9,5.8-.3,1.6-.2,3.1,0,4.6.3,1.3.6,2.4,1.1,3.4,1,2,2.9,4.4,4.8,5.6-.4-1.3-.7-2.4-.8-3.6-.2-1.7-.2-3.2,0-4.8.1-1.1.2-2.2.3-3.1.2-4.3-1.4-7.9-2.9-11.8h0ZM16.8,95.9c-2.7-1.7-5.9-6.9-6.9-9.3-.7-1.7-1.7-3.2-2.7-4.8-1.9-2.7-4.2-5.5-6.3-7.3,0,2,.2,3.9.5,6.3,1,5.2,3.1,9.1,7.8,11.5,1.8.9,5.5,3.3,7.6,3.5h0ZM18.4,87.3c.4,1.8.6,3,.6,4.4,0,2.6-.3,4.6,0,6.9.2,1.8.8,3.4,1.6,4.9.8,1.3,1.5,2.4,2.4,3.3,1.7,1.8,4.6,3.7,7.1,4.3-.9-1.3-1.6-2.4-2.1-3.5-.8-1.8-1.3-3.4-1.6-5.1-.2-1.3-.5-2.4-.8-3.4-1.3-4.7-4.2-7.9-7.1-11.7ZM30.1,111.1c-3.5-.9-8.7-5.3-10.5-7.5-1.3-1.6-2.9-2.9-4.6-4.2-2.9-2.3-6.4-4.5-9.2-5.6.8,2.1,1.5,4.2,2.7,6.6,2.8,5.2,6.4,8.6,12.3,9.6,2.2.4,7,1.6,9.2,1.1h0ZM29.1,101.2c1.1,1.6,1.8,2.8,2.3,4.2,1,2.6,1.4,4.7,2.5,6.9.9,1.8,2.1,3.1,3.5,4.3,1.3,1.1,2.5,1.8,3.7,2.4,2.5,1.1,6.3,2,9,1.8-1.4-1-2.5-1.8-3.5-2.8-1.5-1.4-2.6-2.9-3.6-4.5-.7-1.2-1.4-2.2-2.1-3.2-3.1-4.2-7.4-6.5-11.8-9.1h0ZM50.3,120.8c-4,.3-11.2-2.2-13.9-3.8-2-1.1-4.1-1.9-6.4-2.6-4-1.2-8.4-2.2-11.8-2.3,1.6,1.8,3.2,3.6,5.4,5.6,4.9,4.2,9.9,6.3,16.5,5.2,2.5-.4,8-.9,10.2-2.2h0Z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 51 124"><path d="M23.6,14.6c5.5-4.1,11.3-10.3,21.1-14.6-7.2,0-18.4,5.3-21.1,14.6ZM29.9,15.9c-1.2.6-2,1-3,1.3-1.8.5-3.3.6-4.8,1.3-1.2.5-2.2,1.2-3.1,2.1-.8.8-1.4,1.5-1.8,2.3-.9,1.5-1.7,4-1.7,5.8.7-.9,1.4-1.5,2.1-2.1,1.1-.9,2.1-1.6,3.3-2.1.8-.4,1.6-.8,2.3-1.2,3-1.8,4.8-4.4,6.9-7.2h0ZM15.4,28.6c0-2.6,2.1-7.1,3.3-8.8.9-1.2,1.5-2.6,2.1-4,1-2.5,1.9-5.4,2.2-7.5-1.3.9-2.6,1.9-4.1,3.2-3.1,2.9-4.8,6.1-4.4,10.4.2,1.6.2,5.2,1,6.7h0ZM21,29c-1,.8-1.8,1.4-2.7,1.8-1.7.8-3.1,1.3-4.5,2.2-1.1.7-2,1.6-2.7,2.6-.6.9-1.1,1.8-1.4,2.6-.6,1.7-.9,4.2-.5,6,.5-1,1.1-1.8,1.6-2.5.9-1.1,1.8-1.9,2.8-2.7.7-.6,1.4-1.1,2-1.6,2.6-2.4,3.9-5.3,5.3-8.4h0ZM9.2,44.3c-.5-2.6.7-7.4,1.5-9.3.6-1.4,1-2.8,1.3-4.3.5-2.6.8-5.6.7-7.8-1.1,1.2-2.2,2.3-3.4,3.9-2.5,3.5-3.6,6.9-2.3,11.1.5,1.6,1.2,5.1,2.2,6.4h0ZM15.5,42.2c-.8,1.2-1.5,2-2.3,2.8-1.5,1.4-2.9,2.4-4.1,3.7-1,1.1-1.6,2.3-2,3.6-.4,1.2-.6,2.2-.6,3.2,0,2,.4,4.8,1.3,6.5.3-1.2.6-2.2.9-3.2.6-1.4,1.3-2.6,2.1-3.8.6-.8,1.1-1.6,1.6-2.4,2-3.3,2.4-6.8,3-10.6h0ZM7.9,62.2c-1.4-2.6-1.6-8.1-1.3-10.4.2-1.6.1-3.3,0-5-.3-3-.9-6.3-1.7-8.5-.8,1.6-1.6,3.2-2.4,5.2-1.5,4.5-1.6,8.5,1.1,12.6,1,1.5,2.9,5,4.4,6.1h0ZM13,57.7c-.6,1.4-1,2.3-1.7,3.3-1.2,1.8-2.4,3-3.3,4.6-.7,1.3-1.1,2.7-1.2,4.1-.1,1.3-.1,2.3,0,3.3.3,2,1.4,4.7,2.7,6.3,0-1.3,0-2.3.3-3.4.3-1.6.7-2.9,1.3-4.2.4-1,.8-1.8,1.1-2.7,1.3-3.8,1-7.4.7-11.3ZM9.6,79.4c-1.9-2.3-3.3-7.8-3.5-10.1-.1-1.7-.6-3.3-1.1-5-.9-2.9-2.2-6.1-3.6-8.2-.5,1.8-.9,3.5-1.3,5.8-.6,4.8.2,8.9,3.7,12.4,1.3,1.3,4,4.4,5.7,5.2ZM13.3,72.5c-.1,1.6-.3,2.7-.7,3.9-.7,2.2-1.5,3.8-1.9,5.8-.3,1.6-.2,3.1,0,4.6.3,1.3.6,2.4,1.1,3.4,1,2,2.9,4.4,4.8,5.6-.4-1.3-.7-2.4-.8-3.6-.2-1.7-.2-3.2,0-4.8.1-1.1.2-2.2.3-3.1.2-4.3-1.4-7.9-2.9-11.8h0ZM16.8,95.9c-2.7-1.7-5.9-6.9-6.9-9.3-.7-1.7-1.7-3.2-2.7-4.8-1.9-2.7-4.2-5.5-6.3-7.3,0,2,.2,3.9.5,6.3,1,5.2,3.1,9.1,7.8,11.5,1.8.9,5.5,3.3,7.6,3.5h0ZM18.4,87.3c.4,1.8.6,3,.6,4.4,0,2.6-.3,4.6,0,6.9.2,1.8.8,3.4,1.6,4.9.8,1.3,1.5,2.4,2.4,3.3,1.7,1.8,4.6,3.7,7.1,4.3-.9-1.3-1.6-2.4-2.1-3.5-.8-1.8-1.3-3.4-1.6-5.1-.2-1.3-.5-2.4-.8-3.4-1.3-4.7-4.2-7.9-7.1-11.7ZM30.1,111.1c-3.5-.9-8.7-5.3-10.5-7.5-1.3-1.6-2.9-2.9-4.6-4.2-2.9-2.3-6.4-4.5-9.2-5.6.8,2.1,1.5,4.2,2.7,6.6,2.8,5.2,6.4,8.6,12.3,9.6,2.2.4,7,1.6,9.2,1.1h0ZM29.1,101.2c1.1,1.6,1.8,2.8,2.3,4.2,1,2.6,1.4,4.7,2.5,6.9.9,1.8,2.1,3.1,3.5,4.3,1.3,1.1,2.5,1.8,3.7,2.4,2.5,1.1,6.3,2,9,1.8-1.4-1-2.5-1.8-3.5-2.8-1.5-1.4-2.6-2.9-3.6-4.5-.7-1.2-1.4-2.2-2.1-3.2-3.1-4.2-7.4-6.5-11.8-9.1h0ZM50.3,120.8c-4,.3-11.2-2.2-13.9-3.8-2-1.1-4.1-1.9-6.4-2.6-4-1.2-8.4-2.2-11.8-2.3,1.6,1.8,3.2,3.6,5.4,5.6,4.9,4.2,9.9,6.3,16.5,5.2,2.5-.4,8-.9,10.2-2.2h0Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.page-cuisine .intro__card .title::before {
  left: 0;
}

.page-cuisine .intro__card .title::after {
  right: 0;
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.page-cuisine .intro__card .title span {
  position: relative;
  display: block;
  padding-top: 28px;
  margin-bottom: 20px;
}

.page-cuisine .intro__card .title span::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 53px;
  height: 18px;
  margin: 0 auto;
  content: "";
  background-color: #fff;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 53 18"><path d="M26.4,0l2.9,5.8,6.4.9-4.6,4.5,1.1,6.4-5.7-3-5.7,3,1.1-6.4-4.6-4.5,6.4-.9,2.9-5.8ZM46.6,6l1.9,3.9,4.3.6-3.1,3.1.7,4.3-3.9-2-3.9,2,.7-4.3-3.1-3.1,4.3-.6,1.9-3.9ZM6.3,6l1.9,3.9,4.3.6-3.1,3.1.7,4.3-3.9-2-3.9,2,.7-4.3-3.1-3.1,4.3-.6,1.9-3.9Z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 53 18"><path d="M26.4,0l2.9,5.8,6.4.9-4.6,4.5,1.1,6.4-5.7-3-5.7,3,1.1-6.4-4.6-4.5,6.4-.9,2.9-5.8ZM46.6,6l1.9,3.9,4.3.6-3.1,3.1.7,4.3-3.9-2-3.9,2,.7-4.3-3.1-3.1,4.3-.6,1.9-3.9ZM6.3,6l1.9,3.9,4.3.6-3.1,3.1.7,4.3-3.9-2-3.9,2,.7-4.3-3.1-3.1,4.3-.6,1.9-3.9Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.page-cuisine .intro__card .text {
  font-weight: 300;
  line-height: 180%;
  text-align: left;
}

.page-cuisine .intro__action {
  margin-top: 32px;
}

.page-cuisine .cuisine {
  position: relative;
  padding-bottom: 48px;
}

.page-cuisine .cuisine .p-heading01 {
  margin-bottom: 40px;
}

.page-cuisine .cuisine__list {
  counter-reset: num;
}

.page-cuisine .cuisine__item {
  margin-bottom: 32px;
}

.page-cuisine .cuisine__item .image img {
  width: 100%;
}

.page-cuisine .cuisine__item .content {
  padding: 0 1.4vw;
  margin-top: -12px;
}

.page-cuisine .cuisine__item .number {
  margin-bottom: -22px;
}

.page-cuisine .cuisine__item .number::before {
  display: inline-block;
  font-family: "Great Vibes", cursive;
  font-size: 32px;
  font-weight: 400;
  line-height: 160%;
  color: #E3D5CB;
  content: "Point" counter(num, decimal-leading-zero);
  counter-increment: num;
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.page-cuisine .cuisine__item .title {
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 300;
  line-height: 180%;
}

.page-cuisine .cuisine__item .text {
  font-weight: 300;
  line-height: 180%;
}

.page-cuisine .cuisine__images {
  margin-top: 32px;
}

.page-cuisine .cuisine__images img {
  width: 100%;
}

.page-cuisine .chef {
  position: relative;
  padding: 50px 0;
  margin-bottom: 48px;
  background: #F6EFE5;
  border-radius: 24px;
}

.page-cuisine .chef__list {
  padding: 0 1.4vw;
}

.page-cuisine .chef__item .image img {
  width: 100%;
}

.page-cuisine .chef__item:not(:last-child) {
  margin-bottom: 26px;
}

.page-cuisine .chef__item .image {
  margin-bottom: 20px;
}

.page-cuisine .chef__item .title {
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 300;
  line-height: 160%;
}

.page-cuisine .chef__item .title span {
  display: block;
  margin-top: 12px;
  font-size: 24px;
}

.page-cuisine .chef__item .text {
  font-weight: 300;
  line-height: 160%;
}

.page-cuisine .dessert {
  position: relative;
  padding-bottom: 50px;
}

.page-cuisine .dessert .p-heading01 {
  grid-template-columns: 1fr -webkit-max-content 1fr;
  grid-template-columns: 1fr max-content 1fr;
  gap: 1.4814814815%;
}

.page-cuisine .dessert__tagline {
  margin-bottom: 28px;
  font-size: 20px;
  font-weight: 300;
  line-height: 180%;
  text-align: center;
}

.page-cuisine .dessert__text {
  margin-bottom: 32px;
  font-weight: 300;
  line-height: 180%;
  text-align: center;
}

.page-cuisine .dessert__list {
  padding: 0 1.4vw;
}

.page-cuisine .dessert__item img {
  width: 100%;
}

/* Base
    ----------------------------------------------------------------- */
.p-heading01 {
  display: grid;
  grid-template-columns: 1fr 57.7777777778% 1fr;
  gap: 2.962962963%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 28px;
  font-family: "Baskervville", serif;
  font-size: 20px;
  font-weight: 400;
  text-align: center;
}

.p-heading01::before,
.p-heading01::after {
  display: block;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 1px, transparent 1px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.p-intro {
  position: relative;
  padding-bottom: 48px;
}

.p-intro__title {
  font-size: 20px;
  font-weight: 300;
  line-height: 180%;
}

.p-intro__text {
  font-weight: 300;
  line-height: 180%;
}

.p-intro__text:not(:first-child) {
  margin-top: 28px;
}

.p-intro__image img {
  width: 100%;
}

.p-intro__image:not(:first-child) {
  margin-top: 24px;
}

.page-dress .p-weddingfair::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.page-dress .dress {
  position: relative;
  padding-bottom: 64px;
}

.page-dress .dress__title {
  margin-bottom: 28px;
  font-size: 20px;
  font-weight: 300;
  line-height: 180%;
}

.page-dress .dress__text {
  font-weight: 300;
  line-height: 180%;
}

.page-dress .dress__top-inner {
  margin-bottom: 50px;
}

.page-dress .dress__top-content {
  padding: 0 1.4vw;
  margin-bottom: 24px;
}

.page-dress .dress__block:not(:first-child) {
  margin-top: 40px;
}

.page-dress .dress__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 10px;
}

.page-dress .dress__item .image img {
  width: 100%;
}

.page-dress .dress__action {
  margin-top: 32px;
}

.page-dress .feature {
  position: relative;
  padding-bottom: 32px;
}

.page-dress .feature__title {
  margin-bottom: 32px;
  font-size: 20px;
  font-weight: 300;
  line-height: 200%;
  text-align: center;
}

.page-dress .feature__list {
  display: grid;
  gap: 24px 0;
  counter-reset: num;
}

.page-dress .feature__item .image {
  position: relative;
}

.page-dress .feature__item .image::before {
  position: absolute;
  bottom: -1.1em;
  left: 0;
  font-family: "Great Vibes", cursive;
  font-size: 32px;
  font-weight: 400;
  line-height: 160%;
  color: #E3D5CB;
  content: "Feature" counter(num, decimal-leading-zero);
  counter-increment: num;
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.page-dress .feature__item .image img {
  width: 100%;
}

.page-dress .feature__item .caption {
  padding: 0 1.4vw;
  margin-top: 16px;
  font-weight: 300;
  line-height: 160%;
}

.page-dress .feature__action {
  margin-top: 32px;
}

/* Base
    ----------------------------------------------------------------- */
.page-faq .p-weddingfair::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.page-faq .section-comp {
  position: relative;
  padding-bottom: 72px;
}

.page-faq .section-comp__item:not(:last-child) {
  margin-bottom: 48px;
}

.page-faq .section-comp__item .question {
  position: relative;
  padding: 0 0 24px 45px;
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 300;
  line-height: 150%;
  border-bottom: 1px solid #DDD;
}

.page-faq .section-comp__item .question::before {
  position: absolute;
  top: calc(50% - (0.5em + 12px));
  left: 0;
  font-family: "Great Vibes", cursive;
  font-size: 32px;
  line-height: 1;
  color: #E3D5CB;
  content: "Q.";
}

.page-faq .section-comp__item .text {
  font-weight: 300;
  line-height: 160%;
}

.page-faq .section-comp__item .action {
  margin-top: 24px;
}

/* Base
    ----------------------------------------------------------------- */
.archive-gallery .gallery__content {
  padding: 0 0 32px;
}

.archive-gallery .gallery-category {
  padding: 20px 16px;
  margin-top: 32px;
  background-color: #F6EFE5;
}

.archive-gallery .gallery-category__title {
  font-size: 15px;
  font-weight: 300;
}

.archive-gallery .gallery-category__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.archive-gallery .gallery-category__list li a {
  display: inline-block;
  padding: 4px 16px;
  font-weight: 300;
  color: #959595;
  background-color: #fff;
  border-radius: 30px;
}

.archive-gallery .gallery-category__list li a::before {
  content: "#";
}

.archive-gallery .gallery-category__list li a.is-active {
  color: #333;
  background-color: #E3D5CB;
}

.archive-gallery .gallery-list {
  position: relative;
  margin: 12px -4px 0;
  overflow: hidden;
}

.archive-gallery .gallery-list::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 320px;
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(255, 255, 255, 0)), color-stop(80%, #fff));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, #fff 80%);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.archive-gallery .gallery-list.is-loaded::after {
  visibility: hidden;
  opacity: 0;
}

.archive-gallery .gallery-item {
  width: 50%;
  padding: 4px;
  margin-top: 16px;
  cursor: pointer;
}

.archive-gallery .add-button {
  position: relative;
  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;
  width: 100%;
  max-width: 320px;
  padding-bottom: 16px;
  margin: 0 auto;
  font-weight: 300;
  cursor: pointer;
  border-bottom: 1px solid #333;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.archive-gallery .add-button svg {
  fill: #333;
}

.archive-gallery .add-button.is-hidden {
  visibility: hidden;
  opacity: 0;
}

.archive-gallery .add-button.is-disabled {
  pointer-events: none;
  opacity: 0.4;
}

.archive-gallery .loaded-message {
  font-weight: 300;
  text-align: center;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.archive-gallery .loaded-message.is-show {
  visibility: visible;
  opacity: 1;
}

.archive-gallery .p-weddingfair::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.lum-lightbox {
  z-index: 1000;
  background: rgba(51, 51, 51, 0.3);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.lum-lightbox-inner {
  padding-top: 64px;
}

.lum-gallery-button {
  position: absolute;
  top: 26px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 52px !important;
  height: 52px !important;
  overflow: hidden;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #FFF;
  border-radius: 50%;
}

.lum-gallery-button::after {
  content: none;
}

.lum-gallery-button::before {
  position: absolute;
  top: calc(50% - 6.25px);
  left: calc(50% - 10px);
  width: 20px;
  height: 12.5px;
  content: "";
  background-color: #333;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 20"><path d="M8.64211e-07 10.1116L31.6333 0.223258C28.9245 2.87865 27.1688 6.35498 26.6392 10.1116C27.1688 13.8683 28.9245 17.3446 31.6333 20L8.64211e-07 10.1116Z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 20"><path d="M8.64211e-07 10.1116L31.6333 0.223258C28.9245 2.87865 27.1688 6.35498 26.6392 10.1116C27.1688 13.8683 28.9245 17.3446 31.6333 20L8.64211e-07 10.1116Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.lum-gallery-button.lum-next-button {
  right: auto;
  left: 72px;
}

.lum-gallery-button.lum-next-button::before {
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.lum-close-button {
  top: 20px;
  right: 4vw;
  width: 56px;
  height: 56px;
  cursor: pointer;
  opacity: 1;
}

.lum-close-button::before,
.lum-close-button::after {
  left: 50%;
  width: 1px;
  height: 56px;
}

/* Base
    ----------------------------------------------------------------- */
.page-recruit .recruit-head__lead {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
}

.page-recruit .recruit-head__text {
  margin: 24px 0 48px;
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
}

.page-recruit .recruit-requirements {
  position: relative;
  padding: 20px 0 118px;
}

.page-recruit .recruit-requirements::before {
  position: absolute;
  bottom: 40px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.page-recruit .recruit-requirements__title {
  padding-bottom: 16px;
  font-size: 20px;
  font-weight: 300;
  border-bottom: solid 1px #DDD;
}

.page-recruit .recruit-requirements__table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.page-recruit .recruit-requirements__table dt {
  width: 100px;
  padding: 16px 10px 16px 0;
  font-weight: 300;
  line-height: 1.8;
  border-bottom: solid 1px #DDD;
}

.page-recruit .recruit-requirements__table dd {
  position: relative;
  width: calc(100% - 100px);
  padding: 16px 0 16px 18px;
  font-weight: 300;
  line-height: 1.8;
  border-bottom: solid 1px #DDD;
}

.page-recruit .recruit-requirements__table dd::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: calc(100% - 48px);
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-y;
  background-position: left top;
  background-size: 1px 4px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.page-recruit .recruit-requirements__note {
  margin: 80px 0 40px;
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
}

/* Base
    ----------------------------------------------------------------- */
.page-staff .intro__list {
  display: grid;
  gap: 32px 0;
  margin-top: 64px;
}

.page-staff .intro__item .image {
  margin-bottom: 15px;
}

.page-staff .intro__item .title {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 300;
  line-height: 180%;
}

.page-staff .intro__item .position {
  position: relative;
  padding-left: 12px;
  font-size: 12px;
  font-weight: 300;
  line-height: 160%;
}

.page-staff .intro__item .position::before {
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 0.5em;
  aspect-ratio: 1;
  content: "";
  background: #E3D5CB;
  border-radius: 50%;
}

.page-staff .cta {
  position: relative;
  padding: 40px 0;
  overflow: hidden;
  background: #F6EFE5;
}

.page-staff .cta__inner {
  position: relative;
  z-index: 1;
}

.page-staff .cta__title {
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 300;
  line-height: 200%;
  text-align: center;
}

.page-staff .cta__text {
  margin-bottom: 28px;
  font-size: 16px;
  font-weight: 300;
  line-height: 160%;
  text-align: center;
}

.page-staff .cta__action {
  display: grid;
  grid-template-columns: minmax(0, 540px);
  gap: 16px 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.page-staff .cta__action .c-button:first-child .c-button__text {
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#D88686), to(#D7B0A0));
  background: linear-gradient(90deg, #D88686 0%, #D7B0A0 100%);
}

.page-staff .cta__circle {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 74.6666666667vw;
  height: 61.3333333333vw;
}

.page-staff .cta__circle::before {
  position: absolute;
  top: 20%;
  right: -25%;
  width: 87.4666666667%;
  height: 80%;
  content: "";
  background: #F5EAE6;
  -webkit-filter: blur(32.5px);
  filter: blur(32.5px);
  border-radius: 50%;
  mix-blend-mode: multiply;
}

#colorbox,
#cboxOverlay,
#cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

#cboxWrapper {
  max-width: none;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft,
#cboxBottomLeft {
  clear: left;
}

#cboxContent {
  position: relative;
}

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#cboxTitle {
  margin: 0;
}

#cboxLoadingOverlay,
#cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
  cursor: pointer;
}

.cboxPhoto {
  display: block;
  float: left;
  max-width: none;
  margin: auto;
  border: 0;
  interpolation-mode: bicubic;
}

.cboxIframe {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  border: 0;
}

#colorbox.active #cboxClose::before,
#colorbox.active #cboxClose::after {
  visibility: visible;
  opacity: 1;
}

#cboxOverlay {
  background: rgba(167, 167, 167, 0.4);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

#cboxContent {
  padding: 60px 0 0;
}

#cboxLoadedContent {
  width: 100% !important;
  overflow: auto;
}

#cboxPrevious,
#cboxNext {
  position: absolute;
  top: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 52px;
  aspect-ratio: 1;
  overflow: hidden;
  text-indent: 9999%;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #FFF;
  border-radius: 50%;
}

#cboxPrevious::before,
#cboxNext::before {
  position: absolute;
  top: calc(50% - 6.25px);
  left: calc(50% - 10px);
  width: 20px;
  height: 12.5px;
  content: "";
  background-color: #333;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 20"><path d="M8.64211e-07 10.1116L31.6333 0.223258C28.9245 2.87865 27.1688 6.35498 26.6392 10.1116C27.1688 13.8683 28.9245 17.3446 31.6333 20L8.64211e-07 10.1116Z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 20"><path d="M8.64211e-07 10.1116L31.6333 0.223258C28.9245 2.87865 27.1688 6.35498 26.6392 10.1116C27.1688 13.8683 28.9245 17.3446 31.6333 20L8.64211e-07 10.1116Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

#cboxPrevious {
  left: 0;
}

#cboxNext {
  left: 60px;
}

#cboxNext::before {
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

#cboxClose {
  position: absolute;
  top: 12px;
  right: 0;
  width: 40px;
  height: 40px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

#cboxClose::before,
#cboxClose::after {
  position: absolute;
  top: 50%;
  left: -10%;
  width: 120%;
  height: 1px;
  visibility: hidden;
  content: "";
  background: #fff;
  opacity: 0;
  -webkit-transition: all 0.3s ease 0.3s;
  transition: all 0.3s ease 0.3s;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#cboxClose::after {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

#cboxCurrent {
  display: none !important;
}

#colorbox {
  padding: 0 6.4vw;
}

#colorbox,
#cboxOverlay,
#cboxWrapper {
  overflow: visible;
  outline: none;
}

#cboxWrapper {
  left: 6.4vw;
  width: calc(100% - 12.8vw) !important;
}

#cboxContent {
  width: 100% !important;
}

#cboxTitle {
  color: #fff;
}

.p-modal {
  position: relative;
  margin: 0 auto;
}

.p-modal.--staff .p-modal__inner {
  padding: 16px;
  background: #fff;
}

.p-modal__image {
  margin-bottom: 12px;
}

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

.p-modal__heading {
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 16px;
}

.p-modal__heading::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 1px, transparent 1px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

.p-modal__title {
  font-size: 16px;
  font-weight: 300;
  line-height: 180%;
}

.p-modal__position {
  position: relative;
  padding-left: 12px;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 300;
  line-height: 160%;
}

.p-modal__position::before {
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 0.5em;
  aspect-ratio: 1;
  content: "";
  background: #E3D5CB;
  border-radius: 50%;
}

.p-modal__text {
  font-size: 12px;
  font-weight: 300;
  line-height: 180%;
}

/* Base
    ----------------------------------------------------------------- */
.page-contact .contact__content {
  margin: 120px 0;
}

.page-contact .p-weddingfair::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 4px 1px;
}

/* Base
    ----------------------------------------------------------------- */
.page-fair .fair__content {
  margin: 64px 0;
}

/* Base
    ----------------------------------------------------------------- */
.page-notfound .notfound__content {
  padding: 0 0 64px;
}

.page-notfound .notfound__lead {
  font-size: 20px;
  font-weight: 300;
}

.page-notfound .notfound__text {
  margin: 24px 0;
  font-weight: 300;
  line-height: 1.8;
}

@media screen and (min-width: 375px) {
  .l-footer__bottom .subnav {
    gap: 40px;
  }

  .p-pagination .p-pagination__item .page-numbers {
    margin: 4px 9px;
  }

  .p-pagination .p-pagination__item .page-numbers.dots {
    margin: 4px 6px;
  }

  .p-pagination .p-pagination__item .page-numbers.prev,
  .p-pagination .p-pagination__item .page-numbers.next {
    width: 42px;
    height: 42px;
  }

  .p-pagination .p-pagination__item .page-numbers.prev svg,
  .p-pagination .p-pagination__item .page-numbers.next svg {
    width: 17px;
  }

  .c-button__text {
    padding: 0 24px;
  }

  .u-hide-up-xxs {
    display: none !important;
  }

  .u-show-up-xxs {
    display: inline;
  }

  .page-front .campaign-title__en {
    font-size: 48px;
  }

  .page-front .plan-title__en {
    font-size: 48px;
  }
}

@media screen and (min-width: 425px) {
  .u-hide-up-xs {
    display: none !important;
  }

  .u-show-up-xs {
    display: inline;
  }
}

@media screen and (min-width: 554px) {
  .l-page-head::before {
    background-image: url("../img/common/page_head_bg_pc.png");
  }

  .l-menu__information .address {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .l-menu__information .address a {
    margin-top: 0;
    margin-left: 16px;
  }

  .p-pagination .p-pagination__item .page-numbers {
    font-size: 12px;
  }

  .p-newslist__card .thumbnail {
    width: 160px;
    height: 160px;
  }

  .p-newslist__card .content {
    width: calc(100% - 160px);
    padding-left: 24px;
  }

  .p-contact-link__card {
    height: 114px;
    padding: 10px 16px 16px 140px;
  }

  .p-contact-link__card .arrow {
    top: 50%;
    right: 24px;
    bottom: auto;
    width: 48px;
    height: 48px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .p-contact-link__card .head {
    gap: 32px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .p-contact-link__card .image {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 102px;
    margin-top: 0;
  }

  .p-contact-link__card .text {
    width: 100%;
    padding-right: 72px;
    padding-left: 0;
    margin-top: 0;
  }

  .c-button__text {
    padding: 0 32px;
  }

  .u-hide-up-sm {
    display: none !important;
  }

  .u-show-up-sm {
    display: inline;
  }

  .page-front .ceremony-slider {
    padding: 0;
  }

  .page-front .ceremony-slider .js-clip {
    -webkit-transform: scale(0.000625, 0.001773);
    transform: scale(0.000625, 0.001773);
  }

  .page-front .ceremony-slider__action {
    position: static;
    right: auto;
    bottom: auto;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
  }

  .page-front .ceremony-slider__pagination {
    display: block;
  }

  .archive-report .report-search {
    padding: 18px 24px 32px;
  }

  .page-guest .section-comp__block .image {
    padding-top: 50%;
  }

  .page-access .access__map {
    aspect-ratio: 1200/430;
    margin-top: 40px;
  }

  .page-reason .choose-us__item .inner-bottom {
    padding: 32px 24px;
  }

  .page-cuisine .dessert__list {
    padding: 0;
    margin: 0 calc(50% - 50vw);
  }

  .archive-gallery .gallery-category {
    padding: 24px;
  }

  .archive-gallery .gallery-category__title {
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .l-page__breadcrumb {
    padding: 0 24px;
  }

  .l-page-head {
    padding-top: 112px;
  }

  .l-page-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 32px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 56px;
  }

  .l-page-title__en {
    font-size: 56px;
  }

  .l-page-title__ja {
    margin-top: 0;
  }

  .l-header {
    top: 24px;
    left: 24px;
    width: calc(100% - 48px);
  }

  .l-header__inner {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    height: 84px;
    padding: 0 24px;
  }

  .l-header__nav {
    display: block;
  }

  .l-footer__container {
    padding: 0 40px;
  }

  .l-footer__address {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    margin-top: 40px;
  }

  .l-footer__address a {
    margin-top: 0;
    margin-left: 16px;
  }

  .l-footer__tel {
    text-align: left;
  }

  .l-footer__tel a {
    cursor: default;
  }

  .l-footer__date {
    text-align: left;
  }

  .l-footer__sns {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 48px;
  }

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

  .l-footer__logo .text {
    padding-top: 12px;
    margin-left: 16px;
    text-align: left;
  }

  .l-footer__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 40px;
  }

  .l-footer__bottom .subnav {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .l-footer__bottom .copyright {
    margin: 0;
    text-align: left;
  }

  .l-menu__wrap {
    padding: calc(86px + 4vw) 5vw 34px;
  }

  .p-form__group {
    padding: 20px 0;
  }

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

  .p-form__row--top {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .p-form__row--top>dt {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding-top: 17px;
  }

  .p-form__row--labeled {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .p-form__row--labeled>dt {
    padding-top: 42px;
  }

  .p-form__row>dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 27%;
    padding-right: 20px;
  }

  .p-form__row>dt>.tag {
    height: 22px;
    padding: 0 10px;
    font-size: 12px;
    line-height: 22px;
  }

  .p-form__row>dd {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-top: 0;
  }

  .p-form-controls {
    margin: 0 -12px;
  }

  .p-form-controls .p-form-control {
    padding: 0 12px;
  }

  .p-form-control+.p-form-control {
    margin-top: 16px;
  }

  .p-form-control input[type=text],
  .p-form-control input[type=number],
  .p-form-control input[type=email],
  .p-form-control input[type=tel] {
    padding: 16px;
  }

  .p-form-control textarea {
    padding: 18px 16px;
    font-size: 14px;
  }

  .p-form-control--zip .c-input {
    min-width: 140px;
  }

  .p-form-control--zip .c-input+.c-input {
    margin-left: 22px;
  }

  .p-form-radios--horizontal,
  .mwform-radio-field--horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -12px;
  }

  .p-form__actions {
    margin-top: 48px;
  }

  .p-form__actions .back-btn {
    margin: 40px auto;
  }

  .p-container {
    padding-right: 40px;
    padding-left: 40px;
  }

  .p-container--lg {
    padding-right: 40px;
    padding-left: 40px;
  }

  .p-container--sm {
    padding-right: 40px;
    padding-left: 40px;
  }

  .p-reportlist {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 16px;
  }

  .p-contact-link__card .arrow svg {
    width: 19px;
  }

  .p-contact-other__list {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 24px;
  }

  .p-contact-other__card .content .small br {
    display: inline;
  }

  .c-button-wrapper .c-button {
    margin: 0 8px;
  }

  .c-menu-icon {
    right: 24px;
  }

  .c-input label {
    font-size: 14px;
  }

  .c-select {
    max-width: 220px;
  }

  .c-select::before {
    right: 24px;
  }

  .c-select select {
    padding: 16px;
  }

  .c-radio,
  .mwform-radio-field label {
    padding: 12px;
    font-size: 16px;
  }

  .u-hide-up-md {
    display: none !important;
  }

  .u-show-up-md {
    display: inline;
  }

  .page-front .campaign__wrap {
    padding-left: 40px;
  }

  .page-front .lead-top__list li+li {
    margin-top: 16px;
  }

  .page-front .lead-top__list li:nth-child(1) .text {
    width: 25%;
  }

  .page-front .lead-top__list li:nth-child(1) .image {
    width: 71%;
  }

  .page-front .lead-top__list li:nth-child(2) .text {
    width: 29%;
  }

  .page-front .lead-top__list li:nth-child(2) .image {
    width: 48%;
  }

  .page-front .lead-top__list li:nth-child(3) .text {
    width: 23%;
  }

  .page-front .lead-top__list li:nth-child(3) .image {
    width: 33%;
  }

  .page-front .lead-top__list .text {
    font-size: clamp(80px, 150 / 1300 * 100vw, 150px);
  }

  .page-front .lead-bottom {
    padding: 88px 40px 0;
  }

  .page-front .plan-slider__action {
    padding-right: 40px;
  }

  .page-front .banquet-list li a {
    padding: 40px;
  }

  .page-front .gallery-bg__list .item {
    width: 33.3333333333vw;
  }

  .single-report .report-article__header .information {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
  }

  .single-report .report-article__header .description {
    padding-left: 32px;
    margin-top: 0;
  }

  .archive-column .archive-column__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 24px -16px 0;
  }

  .archive-column .archive-column__item {
    width: 33.3333333333%;
    padding: 24px 16px;
  }

  .archive-column .archive-column__item+.archive-column__item {
    margin-top: 0;
  }

  .page-guest .section-comp__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 40px;
  }

  .page-ceremony .intro .intro__image.js-active .container {
    max-width: calc(100% - 80px);
  }

  .page-ceremony .section-comp.--izumoden .section-comp__top-inner {
    padding-top: 380px;
    margin-top: -380px;
  }

  .page-ceremony .section-comp__mainVisual .content {
    max-width: calc(87.2vw + 32px);
  }

  .page-ceremony .section-comp__mainVisual .slider-item {
    width: calc(74.6666666667vw + 32px);
    padding: 0 16px;
  }

  .page-reason .choose-us__anchor-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 5%;
    max-width: 1200px;
    margin: 0 auto 52px;
  }

  .archive-gallery .gallery-category {
    padding: 40px;
    margin-top: 80px;
  }

  .archive-gallery .loaded-message {
    font-size: 18px;
  }

  .page-staff .intro {
    padding-bottom: 108px;
  }

  .page-staff .intro__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 64px 18px;
    margin-top: 64px;
  }

  .page-staff .cta__circle::before {
    top: 50%;
    right: -30%;
    width: 45.4086781029vw;
    height: 662px;
    -webkit-filter: blur(130px);
    filter: blur(130px);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .page-notfound .notfound__content {
    text-align: center;
  }
}

@media screen and (min-width: 768px) and (hover) {
  .l-footer__tel a:hover {
    pointer-events: none;
  }

  .archive-gallery .add-button:hover {
    opacity: 0.4;
  }
}

@media screen and (min-width: 992px) {
  .l-page__breadcrumb {
    max-width: 1280px;
    padding: 0 40px;
    margin: 0 auto;
  }

  .l-page-head {
    padding-top: 124px;
    margin-bottom: 72px;
  }

  .l-header__inner {
    padding: 0 32px;
  }

  .l-header__logo {
    position: static;
    z-index: 10;
  }

  .l-header__logo .logo {
    width: 140px;
  }

  .l-footer::before {
    top: -100px;
    height: 101px;
    border-radius: 100px 100px 0 0;
  }

  .l-footer__image::before {
    height: 100px;
    border-radius: 0 0 100px 100px;
  }

  .l-footer__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .l-footer__information {
    width: 356px;
  }

  .l-footer__nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    width: calc(100% - 365px);
    max-width: 750px;
    padding: 0 0 0 40px;
  }

  .l-footer__nav .navlist>li.haschild>p {
    padding: 24px 0 16px 34px;
    pointer-events: none;
  }

  .l-footer__nav .navlist>li.haschild>p::before {
    top: 35px;
    right: auto;
    left: 0;
    width: 24px;
    -webkit-transform: none;
    transform: none;
  }

  .l-footer__nav .navlist>li.haschild>p::after {
    content: none;
  }

  .l-footer__nav .navlist>li.haschild ul {
    display: block !important;
  }

  .l-footer__logo {
    margin-top: 0;
  }

  .l-menu__wrap {
    display: block;
    padding: 108px 5vw;
  }

  .l-menu__nav {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    padding: 0;
    margin-top: 0;
  }

  .l-menu__nav .navlist>li.haschild>p {
    padding: 24px 0 16px 34px;
    pointer-events: none;
  }

  .l-menu__nav .navlist>li.haschild>p::before {
    top: 35px;
    right: auto;
    left: 0;
    width: 24px;
    -webkit-transform: none;
    transform: none;
  }

  .l-menu__nav .navlist>li.haschild>p::after {
    content: none;
  }

  .l-menu__nav .navlist>li.haschild ul {
    display: block !important;
  }

  .l-menu__other .other-list {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 72px;
  }

  .l-menu__other .other-list__card {
    grid-template-columns: 56px 1fr;
    gap: 24px;
  }

  .l-menu__other .other-list__card .icon {
    height: 56px;
  }

  .l-menu__other .other-list__card.card-mail {
    display: grid;
  }

  .l-menu__other .other-list__card.card-fair .icon img {
    width: 36px;
  }

  .l-menu__information {
    margin-top: 40px;
  }

  .l-menu__information .title {
    text-align: left;
  }

  .l-menu__information .tel {
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
    margin-top: 24px;
  }

  .l-menu__information .tel__number {
    cursor: default;
  }

  .l-menu__information .address {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .l-menu__information .sns {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 16px;
  }

  .p-form__row>dt>label {
    font-size: 14px;
  }

  .p-form__row>dt>label>small {
    font-size: 13px;
  }

  .p-editor-content h1 {
    margin: 48px 0 25px;
    font-size: 28px;
  }

  .p-editor-content h2 {
    margin: 64px 0 32px;
    font-size: 24px;
  }

  .p-editor-content h3 {
    margin: 24px 0 16px;
    font-size: 20px;
  }

  .p-editor-content h4 {
    margin: 48px 0 16px;
    font-size: 18px;
  }

  .p-editor-content h5 {
    font-size: 16px;
  }

  .p-editor-content p a:hover {
    text-decoration: none;
  }

  .p-editor-content .wp-block-image {
    margin: 24px 0;
  }

  .p-editor-content .alignright {
    float: right;
    margin-left: 15px;
  }

  .p-editor-content .alignleft {
    float: left;
    margin-right: 15px;
  }

  .p-editor-content blockquote {
    padding: 24px;
    margin: 24px 0;
  }

  .p-editor-content table {
    margin: 25px 0;
  }

  .p-pagination {
    margin-top: 120px;
  }

  .p-pagination .p-pagination__item .page-numbers {
    margin: 4px 12px;
    font-size: 14px;
  }

  .p-pagination .p-pagination__item .page-numbers {
    width: 28px;
    height: 52px;
  }

  .p-pagination .p-pagination__item .page-numbers.prev,
  .p-pagination .p-pagination__item .page-numbers.next {
    width: 60px;
    height: 60px;
  }

  .p-pagination .p-pagination__item .page-numbers.prev svg,
  .p-pagination .p-pagination__item .page-numbers.next svg {
    width: 24px;
  }

  .p-section-title__main {
    font-size: 48px;
  }

  .p-section-title.title--line .p-section-title__main span {
    padding: 0 116px;
  }

  .p-breadcrumb {
    padding: 16px 0;
  }

  .p-reportlist {
    gap: 80px 30px;
  }

  .p-reportlist__card .arrow {
    display: block;
  }

  .p-newslist {
    grid-template-columns: 1fr 1fr;
    gap: 24px 40px;
  }

  .p-newslist>li:not(:first-child)::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-image: radial-gradient(circle, #959595 0.5px, transparent 0.5px);
    background-repeat: repeat-x;
    background-position: left top;
    background-size: 4px 1px;
  }

  .p-newslist__card {
    padding: 24px 0;
  }

  .p-fixed {
    display: none;
  }

  .p-weddingfair {
    padding: 56px 0 64px;
  }

  .p-weddingfair__title .en {
    font-size: 64px;
  }

  .p-weddingfair__title .ja {
    font-size: 24px;
  }

  .p-nopost__title {
    font-size: 20px;
  }

  .p-nopost__action {
    margin-top: 80px;
  }

  .p-contact {
    padding: 100px 0 164px;
    border-radius: 100px 100px 0 0;
  }

  .p-contact__circle {
    width: 60vw;
    height: 60vw;
  }

  .p-contact__circle.circle-top {
    top: -20vw;
    left: -25vw;
  }

  .p-contact__circle.circle-bottom {
    right: -25vw;
    bottom: -15vw;
  }

  .p-contact-link {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 28px;
  }

  .p-contact-link__card {
    display: block;
    height: auto;
    padding: 26px 24px 20px;
  }

  .p-contact-link__card .arrow {
    top: auto;
    bottom: clamp(16px, 1.3125vw, 21px);
    width: clamp(32px, 2.8125vw, 45px);
    height: clamp(32px, 2.8125vw, 45px);
    -webkit-transform: none;
    transform: none;
  }

  .p-contact-link__card .arrow svg {
    width: clamp(15px, 1.125vw, 18px);
  }

  .p-contact-link__card .head {
    gap: 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .p-contact-link__card .head .title {
    font-size: clamp(15px, 1.125vw, 18px);
  }

  .p-contact-link__card .head .en {
    font-size: clamp(18px, 1.5vw, 24px);
  }

  .p-contact-link__card .image {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    padding-top: 80%;
    margin-top: 16px;
  }

  .p-contact-link__card .image img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -o-object-fit: cover;
    object-fit: cover;
  }

  .p-contact-link__card .text {
    padding-right: 52px;
    margin-top: 14px;
    font-size: clamp(12px, 0.9375vw, 15px);
  }

  .p-contact-link__card .text br {
    display: inline;
  }

  .p-contact-other {
    margin-top: 44px;
  }

  .p-contact-other__list {
    gap: 40px;
    margin-top: 32px;
  }

  .p-contact-other__card {
    gap: 24px;
  }

  .p-contact-other__card .content .small br {
    display: none;
  }

  .p-contact-other__card.card-mail .arrow {
    right: 32px;
  }

  .p-contact-other__card.card-tel {
    cursor: default;
  }

  .c-button {
    height: 80px;
  }

  .c-button__text {
    width: calc(100% - 70px);
    height: 80px;
    padding: 0 48px;
  }

  .c-button__arrow {
    right: 32px;
  }

  .c-button-white {
    height: 80px;
  }

  .c-button-white .c-button-white__text {
    width: calc(100% - 72px);
    height: 80px;
    padding: 0 48px;
  }

  .c-button-white .c-button-white__arrow {
    right: 32px;
  }

  .c-menu-icon {
    right: 32px;
    bottom: 16px;
  }

  .c-navigation {
    gap: 0 48px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: auto;
  }

  .u-hide-up-lg {
    display: none !important;
  }

  .u-show-up-lg {
    display: inline;
  }

  .page-front .front-head__text {
    margin-top: 48px;
  }

  .page-front .mainview__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .page-front .mainview__recommend {
    width: 430px;
    margin: 0;
  }

  .page-front .mainview__recommend .recommend__title {
    margin-bottom: 16px;
  }

  .page-front .mainview__recommend .recommend-slider__action {
    margin-top: 16px;
  }

  .page-front .campaign__content {
    padding: 48px 0 84px;
  }

  .page-front .campaign-title {
    gap: 52px;
  }

  .page-front .campaign-title__en {
    font-size: 64px;
  }

  .page-front .campaign-title__ja {
    font-size: 24px;
  }

  .page-front .p-weddingfair {
    padding: 110px 0 264px;
  }

  .page-front .lead {
    padding: 0 0 160px;
  }

  .page-front .lead::after {
    bottom: -99px;
    height: 100px;
    border-radius: 0 0 100px 100px;
  }

  .page-front .lead-top__list li+li {
    margin-top: 24px;
  }

  .page-front .lead-top__list .text {
    font-size: clamp(80px, 160 / 1300 * 100vw, 160px);
  }

  .page-front .lead-bottom {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding: 160px 0 0;
  }

  .page-front .lead-bottom__circle {
    right: auto;
    left: -4vw;
    width: 55vw;
    height: 55vw;
  }

  .page-front .lead-bottom__image {
    width: 50%;
    margin-top: 0;
  }

  .page-front .lead-bottom__image .image02 {
    width: 62.5%;
    margin-top: 16px;
  }

  .page-front .lead-bottom__lead {
    font-size: 24px;
  }

  .page-front .lead-bottom__text {
    margin-top: 64px;
  }

  .page-front .lead-bottom__action {
    margin-top: 120px;
  }

  .page-front .lead-bottom__content {
    width: 50%;
    padding-right: 40px;
    padding-left: 6vw;
  }

  .page-front .plan {
    padding: 118px 0 128px;
    margin-top: -100px;
    border-radius: 100px;
  }

  .page-front .plan__circle {
    top: -30vw;
    left: -26vw;
    width: 85vw;
    height: 85vw;
  }

  .page-front .plan-title {
    gap: 52px;
  }

  .page-front .plan-title__en {
    font-size: 64px;
  }

  .page-front .plan-title__ja {
    font-size: 24px;
  }

  .page-front .plan__iframe {
    margin-top: 64px;
  }

  .page-front .plan-slider__action {
    right: 40px;
    bottom: -75px;
    left: auto;
    padding-right: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }

  .page-front .plan__action {
    margin-top: 56px;
  }

  .page-front .ceremony {
    padding: 140px 0;
  }

  .page-front .ceremony-slider {
    margin-top: 40px;
  }

  .page-front .ceremony__action {
    margin-top: 56px;
  }

  .page-front .banquet {
    padding: 0 0 120px;
  }

  .page-front .banquet::before {
    bottom: -99px;
    height: 100px;
    border-radius: 0 0 100px 100px;
  }

  .page-front .banquet-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 48px -8px 0;
  }

  .page-front .banquet-list li {
    width: calc(33.3% - 16px);
    height: 540px;
    margin: 0 8px;
  }

  .page-front .banquet-list li.is-hover {
    width: calc(53.3% - 16px);
  }

  .page-front .banquet-list li.is-small {
    width: calc(23.3% - 16px);
  }

  .page-front .banquet-list li.is-small .title {
    -webkit-transform: scale(0.6);
    transform: scale(0.6);
  }

  .page-front .banquet-list li .title {
    font-size: clamp(32px, 3vw, 48px);
  }

  .page-front .banquet__action {
    margin-top: 40px;
  }

  .page-front .banquet-other {
    padding: 0;
    margin-top: 112px;
  }

  .page-front .banquet-other__list {
    grid-template-columns: 1fr 1fr;
  }

  .page-front .banquet-other__card .title {
    font-size: 40px;
  }

  .page-front .banquet-other__card .image {
    margin-top: 32px;
  }

  .page-front .banquet-other__card .text {
    margin: 24px 0 16px;
  }

  .page-front .banquet-other__card .more {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .page-front .banquet-other__card .more::before {
    right: 0;
    left: auto;
    -webkit-transform: none;
    transform: none;
  }

  .page-front .banquet__banner {
    margin-top: 120px;
  }

  .page-front .background {
    height: 800px;
  }

  .page-front .report {
    padding: 56px 0 120px;
  }

  .page-front .report::before {
    top: -99px;
    height: 100px;
    border-radius: 100px 100px 0 0;
  }

  .page-front .report__list {
    padding: 0;
    margin-top: 48px;
  }

  .page-front .report__action {
    margin-top: 64px;
  }

  .page-front .gallery__content {
    top: auto;
    bottom: 9.5vw;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .page-front .news {
    padding: 80px 0 160px;
  }

  .page-front .news__list {
    margin-top: 48px;
  }

  .page-front .news__action {
    margin-top: 48px;
  }

  .single-news .news-article {
    margin: 0 0 138px;
  }

  .single-news .news-article__header {
    padding: 24px 0;
    margin-bottom: 40px;
  }

  .single-news .news-article__header .title {
    font-size: 24px;
  }

  .single-news .news-article__content {
    margin-bottom: 56px;
  }

  .single-news .news-article__share {
    padding-top: 24px;
  }

  .single-news .news-article__action {
    margin-top: 48px;
  }

  .single-report .report-article {
    margin: 0 0 138px;
  }

  .single-report .report-article__header {
    padding: 24px 0;
    margin-bottom: 40px;
  }

  .single-report .report-article__header .title {
    margin-bottom: 24px;
    font-size: 24px;
  }

  .single-report .report-article__mainview {
    margin: 40px 0;
  }

  .single-report .report-article__content {
    margin-bottom: 56px;
  }

  .single-report .report-article__share {
    padding-top: 24px;
  }

  .single-report .report-article__action {
    margin-top: 48px;
  }

  .archive-column .column-nopost {
    margin-top: 80px;
  }

  .archive-column .column-nopost .column-nopost__title {
    font-size: 28px;
  }

  .archive-column .column-nopost .column-nopost__action {
    margin-top: 80px;
  }

  .archive-news .news-content {
    margin: 0 0 92px;
  }

  .archive-report .p-nopost {
    margin-top: 96px;
  }

  .archive-report .report-content {
    margin: 0 0 120px;
  }

  .archive-report .report-search {
    padding: 28px 56px;
  }

  .archive-report .report-search__select {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }

  .archive-report .report-search__submit {
    margin-top: 8px;
  }

  .archive-report .report-search__submit .button--submit {
    max-width: 300px;
  }

  .archive-report .report-search__submit .button--reset {
    position: absolute;
    right: 0;
    bottom: 8px;
    margin-top: 0;
    text-align: left;
  }

  .archive-report .report__list {
    margin-top: 80px;
  }

  .page-privacy .privacy__content {
    margin: 0 0 160px;
  }

  .page-privacy .privacy-head {
    margin-bottom: 64px;
  }

  .page-privacy .privacy-head__title {
    font-size: 24px;
  }

  .page-privacy .privacy-head__text {
    margin-top: 32px;
  }

  .page-privacy .privacy-block+.privacy-block {
    margin-top: 56px;
  }

  .page-privacy .privacy-block__title {
    font-size: 24px;
  }

  .page-guest .section-comp {
    padding-bottom: 120px;
  }

  .page-guest .section-comp__block .title {
    padding-bottom: 20px;
    margin-bottom: 24px;
    font-size: 24px;
  }

  .page-guest .section-comp__block .content {
    gap: 0;
  }

  .page-guest .section-comp__block .content.--pic {
    grid-template-columns: auto minmax(0, 210px);
    gap: 0 24px;
  }

  .page-guest .section-comp__block .image {
    padding-top: 100%;
  }

  .page-guest .section-comp__block .action {
    margin-top: 28px;
    text-align: left;
  }

  .page-guest .section-comp__block .action>a {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .page-access .outline {
    padding-bottom: 92px;
  }

  .page-access .outline__inner {
    display: grid;
    grid-template: "title image" auto "table image" 1fr/45% min(45.3571428571vw, 762px);
    gap: 0 min(5.8333333333vw, 98px);
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    max-width: 1200px;
    margin: 0 auto;
  }

  .page-access .outline__title {
    grid-area: title;
    gap: 0 16px;
    margin-bottom: 80px;
  }

  .page-access .outline__title--en {
    width: 239px;
  }

  .page-access .outline__title--jp {
    font-size: 14px;
  }

  .page-access .outline__table {
    grid-area: table;
  }

  .page-access .outline__table .item {
    grid-template-columns: 74px 1fr;
    gap: 0 46px;
  }

  .page-access .outline__table dt::after {
    right: -23px;
  }

  .page-access .outline__image {
    grid-area: image;
    margin-top: 0;
  }

  .page-access .access {
    padding-bottom: 120px;
  }

  .page-access .access__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 18px;
  }

  .page-access .access__item {
    grid-template: "icon title" auto "icon text" 1fr/86px auto;
    gap: 8px 24px;
    padding: 24px;
  }

  .page-access .access__item:nth-child(1) .icon img {
    width: 62px;
  }

  .page-access .access__item:nth-child(2) .icon img {
    width: 53px;
  }

  .page-access .access__item:nth-child(3) .icon img {
    width: 65px;
  }

  .page-access .access__item .icon {
    border-radius: 8px;
  }

  .page-access .access__item .title {
    -ms-flex-item-align: start;
    align-self: start;
    font-size: 18px;
  }

  .page-access .access__item .text {
    -ms-flex-item-align: center;
    align-self: center;
    font-size: 14px;
    line-height: 160%;
  }

  .page-banquet .p-weddingfair {
    padding-top: 112px;
    margin-top: -100px;
    border-radius: 100px 100px 0 0;
  }

  .page-banquet .intro__top-inner {
    display: grid;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    gap: 0 10.4166666667%;
    max-width: 1200px;
    margin: 0 auto;
  }

  .page-banquet .intro__top-inner .p-intro__text {
    margin-top: 0.5em;
    text-align: left;
  }

  .page-banquet .intro__bottom-inner {
    margin-top: clamp(93px, 11.0714285714vw, 186px);
  }

  .page-banquet .intro__anchor-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 17px;
    padding: 0;
  }

  .page-banquet .intro__anchor-item .text {
    bottom: 6.6666666667%;
    padding-bottom: 26px;
    font-size: clamp(24px, 2.8571428571vw, 48px);
  }

  .page-banquet .intro__anchor-item .text::after {
    width: 20px;
    height: 11px;
  }

  .page-banquet .section-comp.--creer {
    margin-bottom: -100px;
    border-radius: 0 0 100px 100px;
  }

  .page-banquet .section-comp.--creer .section-comp__block {
    padding-bottom: 160px;
  }

  .page-banquet .section-comp__block {
    grid-template-columns: auto 53.5%;
    gap: 6.6666666667%;
    padding: 35vh 0 120px;
    margin-top: 120px;
  }

  .page-banquet .section-comp__card {
    position: sticky;
    top: 0;
  }

  .page-banquet .section-comp__card .title {
    gap: 24px 24px;
    margin-bottom: clamp(40px, 6.25vw, 80px);
  }

  .page-banquet .section-comp__card .title .title-en {
    font-size: 48px;
  }

  .page-banquet .section-comp__card .tagline {
    margin-bottom: clamp(28px, 4.375vw, 56px);
    font-size: 24px;
  }

  .page-banquet .section-comp__card .text {
    margin-bottom: clamp(15px, 2.34375vw, 30px);
  }

  .p-direction__title-ja {
    font-size: 24px;
  }

  .p-direction__action .c-button__text::before {
    border-radius: 40px;
  }

  .p-direction__background {
    height: 700px;
  }

  .page-ceremony .p-weddingfair {
    padding-top: 112px;
    margin-top: -100px;
    border-radius: 100px 100px 0 0;
  }

  .page-ceremony .intro__content {
    width: 45%;
    margin-bottom: 0;
  }

  .page-ceremony .intro__content .p-intro__title {
    text-align: left;
  }

  .page-ceremony .intro__content .p-intro__text {
    text-align: left;
  }

  .page-ceremony .intro__anchor-list {
    margin-top: clamp(43px, 6.71875vw, 86px);
  }

  .page-ceremony .intro__anchor-item>a {
    padding: 0 8px 16px;
  }

  .page-ceremony .intro__anchor-item>a::after {
    right: 8px;
  }

  .page-ceremony .intro .intro__image {
    position: absolute;
  }

  .page-ceremony .intro .intro__image.js-active .container {
    max-width: 1600px;
  }

  .page-ceremony .intro .intro__image .container {
    max-width: 1600px;
    margin: 0 auto;
  }

  .page-ceremony .intro .intro__image .image {
    top: 0;
    width: 47.625%;
    height: auto;
    margin: 0 0 0 auto;
    -webkit-transform: none;
    transform: none;
  }

  .page-ceremony .section-comp.--chapel .section-comp__mainVisual {
    height: 300vh;
  }

  .page-ceremony .section-comp.--izumoden .section-comp__content {
    margin-top: -280px;
  }

  .page-ceremony .section-comp.--izumoden .section-comp__top-inner {
    padding-top: 0;
    margin-top: 0;
  }

  .page-ceremony .section-comp__mainVisual .content {
    top: 55%;
    max-width: 1018px;
    padding-top: 0;
  }

  .page-ceremony .section-comp__mainVisual .title {
    font-size: 120px;
  }

  .page-ceremony .section-comp__mainVisual .slider-item {
    width: calc(58.6666666667vw + 32px);
    padding: 0 28px;
  }

  .page-ceremony .section-comp__content {
    padding: 376px 0 180px;
  }

  .page-ceremony .section-comp__content::before {
    height: 280px;
  }

  .page-ceremony .section-comp__content::after {
    top: 279px;
  }

  .page-ceremony .section-comp__top-inner {
    margin-bottom: 100px;
  }

  .page-ceremony .section-comp__middle-inner {
    margin-bottom: 160px;
  }

  .page-ceremony .section-comp__title {
    margin-bottom: clamp(26px, 4.0625vw, 52px);
    font-size: 32px;
  }

  .page-ceremony .section-comp__tagline {
    margin-bottom: clamp(27px, 4.21875vw, 54px);
    font-size: 24px;
  }

  .page-ceremony .section-comp__col {
    grid-template-columns: auto 318px;
    gap: 0 8.3333333333%;
  }

  .page-ceremony .section-comp__specBox {
    width: 100%;
    padding: 24px;
    margin-left: 0;
  }

  .page-ceremony .section-comp__block01 {
    margin-bottom: 136px;
  }

  .page-ceremony .section-comp__block01 .image01 {
    margin-bottom: 46px;
  }

  .page-ceremony .section-comp__block01 .text01 {
    position: relative;
    left: 16.6666666667%;
    width: 56.6666666667%;
  }

  .page-ceremony .section-comp__block02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: clamp(40px, 6.25vw, 80px) 0;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0;
  }

  .page-ceremony .section-comp__block02 .image01 {
    width: 61.8333333333%;
    margin-bottom: clamp(78px, 12.1875vw, 156px);
  }

  .page-ceremony .section-comp__block02 .image02 {
    width: 24.1666666667%;
    margin: 0 4% 0 0;
  }

  .page-ceremony .section-comp__block02 .image03 {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
    width: 53.3333333333%;
    margin: 0 0 clamp(43px, 6.71875vw, 86px) 0;
  }

  .page-ceremony .section-comp__block02 .image04 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    width: 40.5%;
    margin: 0;
  }

  .page-ceremony .section-comp__block02 .text01 {
    position: absolute;
    top: 3.86%;
    right: 4%;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 24.1666666667%;
  }

  .page-ceremony .section-comp__block02 .text02 {
    position: absolute;
    top: 50%;
    left: 16.6666666667%;
    width: 30.8333333333%;
  }

  .page-ceremony .section-comp__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 24px;
  }

  .page-ceremony .section-comp__item .image::before {
    font-size: 32px;
  }

  .page-ceremony .section-comp__item .caption {
    padding: 0;
  }

  .page-reason .message {
    padding-bottom: 164px;
  }

  .page-reason .message__inner {
    grid-template-columns: 40.8333333333% auto;
    gap: 0 4.6666666667%;
  }

  .page-reason .message__title {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 0;
  }

  .page-reason .message__title--en {
    top: 0;
    left: 20px;
    font-size: 64px;
  }

  .page-reason .message__title--jp {
    font-size: 24px;
  }

  .page-reason .message__title--circle {
    top: 50%;
    left: 50%;
    width: 79.1836734694%;
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
  }

  .page-reason .message__title--circle.m-fadeInCircle {
    -webkit-filter: blur(60px);
    filter: blur(60px);
  }

  .page-reason .message__title--circle.m-fadeInCircle.is-active {
    -webkit-transform: translate(-50%, -50%) scale(1) !important;
    transform: translate(-50%, -50%) scale(1) !important;
  }

  .page-reason .choose-us {
    padding-bottom: 146px;
  }

  .page-reason .choose-us__heading {
    max-width: 1200px;
    margin: 0 auto 76px;
  }

  .page-reason .choose-us__heading--jp {
    margin-top: 16px;
  }

  .page-reason .choose-us__anchor-list {
    grid-template-columns: repeat(3, 1fr);
    margin: 0 auto 120px;
  }

  .page-reason .choose-us__list {
    max-width: none;
    margin: 0;
  }

  .page-reason .choose-us__item:not(:last-child) {
    margin-bottom: 48px;
  }

  .page-reason .choose-us__item:nth-child(3) {
    margin-bottom: 80px;
  }

  .page-reason .choose-us__item:nth-child(odd) .inner-top {
    grid-template-columns: 45% min(45.3571428571vw, 762px);
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
  }

  .page-reason .choose-us__item:nth-child(odd) .inner-top .image {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .page-reason .choose-us__item:nth-child(odd) .inner-top .content {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .page-reason .choose-us__item .inner-top {
    display: grid;
    grid-template-columns: min(45.3571428571vw, 762px) 45%;
    gap: 0 min(5.8333333333vw, 98px);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    max-width: 1200px;
    margin: 0 auto;
  }

  .page-reason .choose-us__item .content {
    padding: 0;
    margin: 28px 0;
  }

  .page-reason .choose-us__item .number {
    margin-bottom: 0;
  }

  .page-reason .choose-us__item .number::before {
    font-size: 32px;
  }

  .page-reason .choose-us__item .title {
    margin-bottom: clamp(24px, 3.59375vw, 46px);
    font-size: 24px;
  }

  .page-reason .choose-us__item .action01 {
    margin-top: 28px;
    text-align: left;
  }

  .page-reason .choose-us__item .action01>a {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .page-reason .choose-us__item .action--button {
    margin-top: 40px;
  }

  .page-reason .choose-us__item .action--button a {
    margin: 0;
  }

  .page-reason .choose-us__item .inner-bottom {
    max-width: 1200px;
    margin: 60px auto 0;
  }

  .page-reason .choose-us__item .bottom-title {
    margin-bottom: 24px;
    font-size: 20px;
    line-height: 180%;
  }

  .page-reason .choose-us__item .bottom-block {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 18px;
  }

  .page-reason .choose-us__item .bottom-card {
    padding: 32px 36px 36px;
  }

  .page-reason .choose-us__item .bottom-icon {
    width: 105px;
    height: 105px;
    margin: 0 auto 22px;
  }

  .page-reason .choose-us__item .bottom-icon.--icon01 img {
    width: 56px;
  }

  .page-reason .choose-us__item .bottom-icon.--icon02 img {
    width: 58px;
  }

  .page-reason .choose-us__item .bottom-icon.--icon03 img {
    width: 62px;
  }

  .page-cuisine .intro__card {
    display: grid;
    grid-template-columns: 42.6785714286% auto;
    gap: 0 32px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 1200px;
    padding: 40px 40px 48px;
    margin: 64px auto 0;
  }

  .page-cuisine .intro__card .title {
    padding: 0 36px;
    margin: 0;
    font-size: clamp(15px, 1.5625vw, 20px);
  }

  .page-cuisine .intro__card .title::before,
  .page-cuisine .intro__card .title::after {
    width: 51px;
    height: 124px;
  }

  .page-cuisine .intro__card .title span {
    margin-bottom: 28px;
  }

  .page-cuisine .intro__action {
    margin-top: 40px;
  }

  .page-cuisine .cuisine {
    padding-bottom: 160px;
  }

  .page-cuisine .cuisine .p-heading01 {
    max-width: 1200px;
    margin: 0 auto 90px;
  }

  .page-cuisine .cuisine__item {
    display: grid;
    grid-template-columns: min(45.3571428571vw, 762px) 45%;
    gap: 0 min(5.8333333333vw, 98px);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    max-width: 1200px;
    margin: 0 auto;
  }

  .page-cuisine .cuisine__item:nth-child(odd) {
    grid-template-columns: 45% min(45.3571428571vw, 762px);
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
  }

  .page-cuisine .cuisine__item:nth-child(odd) .image {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .page-cuisine .cuisine__item:nth-child(odd) .content {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .page-cuisine .cuisine__item .content {
    padding: 0;
    margin: 28px 0;
  }

  .page-cuisine .cuisine__item .number {
    margin-bottom: 0;
  }

  .page-cuisine .cuisine__item .number::before {
    font-size: 32px;
  }

  .page-cuisine .cuisine__item .title {
    margin-bottom: clamp(24px, 3.59375vw, 46px);
    font-size: 24px;
  }

  .page-cuisine .cuisine__images {
    max-width: 1200px;
    margin: 48px auto 0;
  }

  .page-cuisine .chef {
    padding: 100px 0;
    margin-bottom: 110px;
    border-radius: 100px;
  }

  .page-cuisine .chef__list {
    padding: 0;
  }

  .page-cuisine .chef__item {
    display: grid;
    grid-template: "title image" 1fr "text image" auto/auto 68.75%;
    gap: 0 35px;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
  }

  .page-cuisine .chef__item:nth-child(even) {
    grid-template: "image title" 1fr "image text" auto/68.75% auto;
  }

  .page-cuisine .chef__item:not(:last-child) {
    margin-bottom: 40px;
  }

  .page-cuisine .chef__item .image {
    grid-area: image;
    margin-bottom: 0;
  }

  .page-cuisine .chef__item .title {
    margin-bottom: 40px;
  }

  .page-cuisine .chef__item .title {
    grid-area: title;
  }

  .page-cuisine .chef__item .text {
    grid-area: text;
  }

  .page-cuisine .dessert {
    padding-bottom: 160px;
  }

  .page-cuisine .dessert .p-heading01 {
    grid-template-columns: 1fr 33.3333333333% 1fr;
    gap: 1.6666666667%;
    margin-bottom: 56px;
  }

  .page-cuisine .dessert__tagline {
    margin-bottom: 46px;
    font-size: 24px;
  }

  .page-cuisine .dessert__text {
    margin-bottom: 80px;
  }

  .p-heading01 {
    grid-template-columns: 1fr 33.3333333333% 1fr;
    gap: 1.6666666667%;
    margin-bottom: 36px;
    font-size: 24px;
  }

  .p-intro {
    padding-bottom: 88px;
  }

  .p-intro__title {
    font-size: 24px;
    text-align: center;
  }

  .p-intro__text {
    text-align: center;
  }

  .p-intro__text:not(:first-child) {
    margin-top: 42px;
  }

  .p-intro__image:not(:first-child) {
    margin-top: 60px;
  }

  .page-dress .dress {
    padding-bottom: 120px;
  }

  .page-dress .dress__title {
    margin-bottom: clamp(28px, 4.0625vw, 52px);
    font-size: 24px;
  }

  .page-dress .dress__top-inner {
    display: grid;
    grid-template-columns: 45% min(45.3571428571vw, 762px);
    gap: 0 min(5.8333333333vw, 98px);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    max-width: 1200px;
    margin: 0 auto 120px;
  }

  .page-dress .dress__top-content {
    padding: 0;
    margin-bottom: 0;
  }

  .page-dress .dress__bottom-inner {
    max-width: 1200px;
    margin: 0 auto;
  }

  .page-dress .dress__block:not(:first-child) {
    margin-top: 80px;
  }

  .page-dress .dress__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 0 16px;
  }

  .page-dress .dress__action {
    margin-top: 64px;
  }

  .page-dress .feature {
    padding-bottom: 120px;
  }

  .page-dress .feature__title {
    margin-bottom: 60px;
    font-size: 24px;
  }

  .page-dress .feature__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 24px;
  }

  .page-dress .feature__item .image::before {
    font-size: 32px;
  }

  .page-dress .feature__item .caption {
    padding: 0;
  }

  .page-dress .feature__action {
    margin-top: 64px;
  }

  .page-faq .section-comp {
    padding-bottom: 120px;
  }

  .page-faq .section-comp__list {
    max-width: 960px;
    margin: 0 auto;
  }

  .page-faq .section-comp__item:not(:last-child) {
    margin-bottom: 50px;
  }

  .archive-gallery .gallery__content {
    padding: 40px 0 108px;
  }

  .archive-gallery .gallery-list {
    margin: 20px -8px 0;
  }

  .archive-gallery .gallery-list::after {
    height: 640px;
  }

  .archive-gallery .gallery-item {
    width: 33.3333333333%;
    padding: 8px;
  }

  .lum-lightbox-inner {
    padding-top: 0;
  }

  .lum-gallery-button {
    top: calc(50% - 12px);
    width: 80px !important;
    height: 80px !important;
  }

  .lum-gallery-button::before {
    top: calc(50% - 10px);
    left: calc(50% - 16px);
    width: 32px;
    height: 20px;
  }

  .lum-gallery-button.lum-next-button {
    right: 12px;
    left: auto;
  }

  .lum-close-button {
    width: 64px;
    height: 64px;
  }

  .lum-close-button::before,
  .lum-close-button::after {
    left: 32px;
    height: 64px;
  }

  .page-recruit .recruit-head__lead {
    font-size: 24px;
  }

  .page-recruit .recruit-head__text {
    margin: 48px 0 72px;
  }

  .page-recruit .recruit-requirements {
    padding: 72px 0 220px;
  }

  .page-recruit .recruit-requirements::before {
    bottom: 100px;
  }

  .page-recruit .recruit-requirements__title {
    font-size: 24px;
  }

  .page-recruit .recruit-requirements__table dt {
    width: 172px;
    padding: 24px 16px 24px 0;
  }

  .page-recruit .recruit-requirements__table dd {
    width: calc(100% - 172px);
    padding: 24px 0 24px 32px;
  }

  .page-recruit .recruit-requirements__note {
    margin: 56px 0 98px;
  }

  .page-staff .intro__list {
    grid-template-columns: repeat(3, 1fr);
  }

  .page-staff .cta {
    padding: 54px 0 64px;
  }

  .page-staff .cta__title {
    margin-bottom: 28px;
    font-size: 16px;
  }

  .page-staff .cta__text {
    margin-bottom: 36px;
    font-size: 20px;
  }

  .page-staff .cta__action {
    grid-template-columns: repeat(2, minmax(0, 486px));
    gap: 0 24px;
  }

  .page-staff .cta__circle {
    top: 0;
    width: 37.8125vw;
    height: auto;
  }

  .page-staff .cta__circle::before {
    width: 34.1666666667vw;
  }

  #cboxContent {
    padding: 56px 0 0;
  }

  #cboxPrevious,
  #cboxNext {
    top: calc(50% - 12px);
    width: 80px;
  }

  #cboxPrevious::before,
  #cboxNext::before {
    top: calc(50% - 10px);
    left: calc(50% - 16px);
    width: 32px;
    height: 20px;
  }

  #cboxPrevious {
    left: -10px;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }

  #cboxNext {
    right: -10px;
    left: auto;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }

  #cboxClose {
    top: 0;
  }

  #colorbox {
    padding: 0 130px;
  }

  #cboxWrapper {
    left: 130px;
    width: calc(100% - 260px) !important;
  }

  .p-modal {
    max-width: 1240px;
  }

  .p-modal.--staff .p-modal__inner {
    display: grid;
    grid-template-columns: 388px 1fr;
    gap: 24px;
    padding: 54px 48px 48px;
  }

  .p-modal__image {
    margin-bottom: 24px;
  }

  .p-modal__heading {
    padding-bottom: 24px;
    margin-bottom: 24px;
  }

  .p-modal__title {
    font-size: 24px;
  }

  .p-modal__position {
    margin-top: 16px;
  }

  .p-modal__text {
    font-size: 14px;
  }

  .page-fair .fair__content {
    margin: 120px 0;
  }

  .page-notfound .notfound__content {
    padding: 0 0 120px;
  }

  .page-notfound .notfound__lead {
    font-size: 24px;
  }

  .page-notfound .notfound__text {
    margin: 32px 0 56px;
  }
}

@media screen and (min-width: 992px) and (hover) {
  .l-menu__information .tel__number:hover {
    pointer-events: none;
  }

  .p-contact-link__card:hover {
    -webkit-box-shadow: 0 0 24px rgba(0, 0, 0, 0.16);
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.16);
  }

  .p-contact-link__card:hover .image img {
    opacity: 0.8;
    -webkit-transform: translate(-50%, -50%) scale(1.2);
    transform: translate(-50%, -50%) scale(1.2);
  }

  .p-contact-other__card.card-tel:hover {
    pointer-events: none;
  }
}

@media screen and (min-width: 1200px) {
  .l-header.is-open .l-header__nav {
    pointer-events: none;
    opacity: 0;
  }

  .l-header.is-open .l-header__inner {
    background: transparent;
  }

  .l-header.is-open .l-header__logo {
    pointer-events: none;
    opacity: 0;
  }

  .l-header__nav .nav-top .text {
    display: block;
  }

  .l-header__nav .nav-bottom__text {
    display: block;
  }

  .l-header__nav .nav-bottom__button a {
    width: 134px;
    height: 32px;
  }

  .l-menu__content {
    padding-left: 41%;
  }

  .l-menu__content::before {
    content: "";
  }

  .l-menu__logo {
    position: absolute;
    top: 48px;
    left: 3vw;
    display: block;
  }

  .l-menu__wrap {
    position: relative;
    padding: 158px 3vw 108px;
  }

  .l-menu__other .other-list__card .arrow {
    right: 24px;
  }

  .p-form__row>dt {
    padding-right: 30px;
  }

  .u-hide-up-xl {
    display: none !important;
  }

  .u-show-up-xl {
    display: inline;
  }

  .page-front .mainview__recommend {
    width: 565px;
  }

  .page-front .banquet-other__list {
    gap: 80px;
  }
}

@media screen and (min-width: 1280px) {
  .page-front .campaign__wrap {
    padding-left: calc(50vw - 600px);
  }

  .page-front .plan-slider__action {
    right: calc(50vw - 600px);
  }

  .page-front .gallery-bg__list .item {
    width: 25vw;
  }
}

@media screen and (min-width: 1480px) {
  .l-header__inner {
    height: 100px;
  }

  .l-header__logo .text {
    font-size: 12px;
  }

  .l-header__nav .nav-bottom {
    gap: 32px;
    padding-right: 80px;
    margin-top: 8px;
  }

  .l-header__nav .nav-bottom__text>a {
    font-size: 14px;
  }

  .l-header__nav .js-haschild-pc>p {
    font-size: 14px;
  }

  .l-header__nav .js-haschild-pc>p::after {
    top: 5px;
  }

  .l-header__nav .js-haschild-pc .childnav {
    bottom: 23px;
  }

  .l-header__nav .nav-bottom__button a {
    width: 180px;
    height: 40px;
    font-size: 14px;
  }

  .l-menu__logo {
    left: 5vw;
  }

  .l-menu__wrap {
    padding: 188px 5vw 108px;
  }

  .l-menu__other .other-list__card .arrow {
    right: 32px;
  }

  .c-menu-icon {
    bottom: 21px;
  }

  .c-menu-icon__wrap {
    width: 48px;
    height: 24px;
  }

  .c-menu-icon__wrap>span:nth-child(1) {
    -webkit-transform: translateY(8px) rotate(-30deg);
    transform: translateY(8px) rotate(-30deg);
  }

  .c-menu-icon__wrap>span:nth-child(2) {
    top: 20px;
    -webkit-transform: translateY(-8px) rotate(30deg);
    transform: translateY(-8px) rotate(30deg);
  }

  .page-ceremony .section-comp__mainVisual .slider-item {
    width: 1018px;
  }
}

@media (hover) {
  .l-header__nav .nav-top .icon:hover span {
    opacity: 0;
  }

  .l-header__nav .nav-top .icon:hover::before {
    opacity: 1;
  }

  .l-header__nav .nav-top .text:hover::before {
    width: 100%;
    opacity: 1;
  }

  .l-header__nav .nav-bottom__text>a:hover::before {
    width: 100%;
    opacity: 1;
  }

  .l-header__nav .js-haschild-pc .childnav__card:hover .image img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  .l-header__nav .js-haschild-pc .childnav__card:hover .text span::before {
    width: 100%;
    opacity: 1;
  }

  .l-header__nav .js-haschild-pc .childnav__card:hover .text svg {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
  }

  .l-header__nav .nav-bottom__button a:hover::before {
    opacity: 1;
  }

  .l-footer__address a:hover {
    opacity: 0.5;
  }

  .l-footer__address a:hover::after {
    width: 0;
    opacity: 0;
  }

  .l-footer__sns .instagram:hover span {
    opacity: 0;
  }

  .l-footer__sns .instagram:hover::before {
    opacity: 1;
  }

  .l-footer__nav .navlist>li>a:hover span {
    opacity: 0.7;
  }

  .l-footer__nav .navlist>li>a:hover::before {
    width: 100%;
    opacity: 1;
  }

  .l-footer__nav .navlist>li.haschild ul a:hover {
    opacity: 0.7;
  }

  .l-footer__nav .navlist>li.haschild ul a:hover::before {
    width: 100%;
    opacity: 1;
  }

  .l-footer__bottom .subnav li a:hover {
    opacity: 0.5;
  }

  .l-footer__bottom .subnav li a:hover::after {
    width: 0;
    opacity: 0;
  }

  .l-menu__nav .navlist>li>a:hover span {
    opacity: 0.7;
  }

  .l-menu__nav .navlist>li>a:hover::before {
    width: 100%;
    opacity: 1;
  }

  .l-menu__nav .navlist>li.haschild ul a:hover {
    opacity: 0.7;
  }

  .l-menu__nav .navlist>li.haschild ul a:hover::before {
    width: 100%;
    opacity: 1;
  }

  .l-menu__other .other-list__card.card-mail:hover::before {
    width: 100%;
    opacity: 1;
  }

  .l-menu__other .other-list__card.card-mail:hover .icon {
    background-color: #fff;
  }

  .l-menu__other .other-list__card.card-mail:hover .icon::after {
    opacity: 1;
  }

  .l-menu__other .other-list__card.card-mail:hover .icon img {
    opacity: 0;
  }

  .l-menu__other .other-list__card.card-fair:hover {
    border-color: rgb(216, 134, 134);
  }

  .l-menu__other .other-list__card.card-fair:hover .content {
    color: #333;
  }

  .l-menu__other .other-list__card.card-fair:hover .icon::before {
    opacity: 1;
  }

  .l-menu__other .other-list__card.card-fair:hover .icon::after {
    opacity: 1;
  }

  .l-menu__other .other-list__card.card-fair:hover .icon img {
    opacity: 0;
  }

  .l-menu__other .other-list__card.card-fair:hover .arrow svg {
    fill: #333;
  }

  .l-menu__other .other-list__card.card-fair:hover::before {
    width: 0;
    opacity: 0;
  }

  .l-menu__information .address a:hover {
    opacity: 0.5;
  }

  .l-menu__information .address a:hover::after {
    width: 0;
    opacity: 0;
  }

  .l-menu__information .sns .instagram:hover span {
    opacity: 0;
  }

  .l-menu__information .sns .instagram:hover::before {
    opacity: 1;
  }

  .p-pagination .p-pagination__item a.page-numbers:hover {
    color: #333;
  }

  .p-pagination .p-pagination__item a.page-numbers:hover::after {
    width: 100%;
    opacity: 1;
  }

  .p-breadcrumb a:hover::before {
    width: 100%;
    opacity: 1;
  }

  .p-reportlist__card:hover .thumbnail img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  .p-reportlist__card:hover .title {
    text-decoration: underline;
  }

  .p-reportlist__card:hover .arrow {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
  }

  .p-newslist__card:hover::before {
    width: 100%;
  }

  .p-newslist__card:hover .content {
    opacity: 0.7;
  }

  .p-newslist__card:hover .thumbnail img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  .p-planlist__card:hover .thumbnail img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  .p-planlist__card:hover::before {
    width: 0;
  }

  .p-contact-other__card.card-mail:hover::before {
    width: 100%;
    opacity: 1;
  }

  .p-contact-other__card.card-mail:hover .icon {
    background-color: #fff;
  }

  .p-contact-other__card.card-mail:hover .icon::after {
    opacity: 1;
  }

  .p-contact-other__card.card-mail:hover .icon img {
    opacity: 0;
  }

  .c-button:hover .c-button__text {
    width: calc(100% + 2px);
  }

  .c-button:hover .c-button__arrow svg {
    fill: #fff;
  }

  .c-button-white:hover .c-button-white__text {
    width: 100%;
  }

  .c-button-white:hover .c-button-white__arrow svg {
    fill: #fff;
  }

  .c-menu-icon.is-close:hover .c-menu-icon__wrap>span:nth-child(1) {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }

  .c-menu-icon.is-close:hover .c-menu-icon__wrap>span:nth-child(2) {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  .page-front .mainview__recommend .recommend-slider a:hover {
    text-decoration: none;
  }

  .page-front .campaign-slider a:hover {
    opacity: 0.8;
  }

  .page-front .banquet-other__card:hover .image img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  .page-front .banquet-other__card:hover .more::before {
    width: 0;
  }

  .page-front .banquet__banner a:hover {
    opacity: 0.7;
  }

  .archive-report .report-search__submit .button--submit:hover::before {
    width: 100%;
  }

  .archive-report .report-search__submit .button--reset a:hover {
    color: #959595;
  }

  .archive-report .report-search__submit .button--reset a:hover::before {
    width: 0;
    opacity: 0;
  }

  .page-guest .section-comp__block .action>a:hover::before {
    width: 0;
  }

  .page-banquet .intro__anchor-item>a:hover .text::after {
    bottom: -7px;
  }

  .page-banquet .intro__anchor-item>a:hover .image img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  .page-ceremony .intro__anchor-item>a:hover::before {
    width: 0;
  }

  .page-reason .choose-us__anchor-item>a:hover::before {
    width: 0;
  }

  .page-reason .choose-us__item .action01>a:hover::before {
    width: 0;
  }
}