/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js!./src/scss/style.scss ***!
  \******************************************************************************************************************************************/
  @import url(https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap);
  /*!**********************************************************************************************************************************************!*\
    !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js!./src/scss/style.scss (1) ***!
    \**********************************************************************************************************************************************/
  @import url(https://use.typekit.net/vjp3cbn.css);
  /*!**********************************************************************************************************************************************!*\
    !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js!./src/scss/style.scss (2) ***!
    \**********************************************************************************************************************************************/
  @import url(https://use.typekit.net/iqg3mld.css);
  /*!**********************************************************************************************************************************************!*\
    !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js!./src/scss/style.scss (3) ***!
    \**********************************************************************************************************************************************/
  @charset "UTF-8";
  /*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
  /* Reset box-model and set borders */
  /* ============================================ */
  *,
  ::before,
  ::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
  }
  c-title-english c-title-english--small
  /* Document */
  /* ============================================ */
  /**
   * 1. Correct the line height in all browsers.
   * 2. Prevent adjustments of font size after orientation changes in iOS.
   * 3. Remove gray overlay on links for iOS.
   */
  html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -webkit-tap-highlight-color: transparent; /* 3*/
  }
  
  /* Sections */
  /* ============================================ */
  /**
   * Remove the margin in all browsers.
   */
  body {
    margin: 0;
    position: relative!important;
  }
  
  /**
   * Render the `main` element consistently in IE.
   */
  main {
    display: block;
  }
  
  /* Vertical rhythm */
  /* ============================================ */
  p,
  table,
  blockquote,
  address,
  pre,
  iframe,
  form,
  figure,
  dl {
    margin: 0;
  }
  
  /* Headings */
  /* ============================================ */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
  }
  
  /* Lists (enumeration) */
  /* ============================================ */
  ul,
  ol {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  
  /* Lists (definition) */
  /* ============================================ */
  dt {
    font-weight: bold;
  }
  
  dd {
    margin-left: 0;
  }
  
  /* Grouping content */
  /* ============================================ */
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
  }
  
  address {
    font-style: inherit;
  }
  
  /* Text-level semantics */
  /* ============================================ */
  /**
   * Remove the gray background on active links in IE 10.
   */
  a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
  }
  
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  abbr[title] {
    text-decoration: underline dotted; /* 2 */
  }
  
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  b,
  strong {
    font-weight: bolder;
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
  }
  
  /**
   * Add the correct font size in all browsers.
   */
  small {
    font-size: 80%;
  }
  
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  sup {
    top: -0.5em;
  }
  
  /* Replaced content */
  /* ============================================ */
  /**
   * Prevent vertical alignment issues.
   */
  svg,
  img,
  embed,
  object,
  iframe {
    vertical-align: bottom;
  }
  
  /* Forms */
  /* ============================================ */
  /**
   * Reset form fields to make them styleable.
   * 1. Make form elements stylable across systems iOS especially.
   * 2. Inherit text-transform from parent.
   */
  button,
  input,
  optgroup,
  select,
  textarea {
    -webkit-appearance: none; /* 1 */
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit; /* 2 */
  }
  
  /**
   * Reset radio and checkbox appearance to preserve their look in iOS.
   */
  [type=checkbox] {
    -webkit-appearance: checkbox;
    appearance: checkbox;
  }
  
  [type=radio] {
    -webkit-appearance: radio;
    appearance: radio;
  }
  
  /**
   * Correct cursors for clickable elements.
   */
  button,
  [type=button],
  [type=reset],
  [type=submit] {
    cursor: pointer;
  }
  
  button:disabled,
  [type=button]:disabled,
  [type=reset]:disabled,
  [type=submit]:disabled {
    cursor: default;
  }
  
  /**
   * Improve outlines for Firefox and unify style with input elements & buttons.
   */
  :-moz-focusring {
    outline: auto;
  }
  
  select:disabled {
    opacity: inherit;
  }
  
  /**
   * Remove padding
   */
  option {
    padding: 0;
  }
  
  /**
   * Reset to invisible
   */
  fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
  }
  
  legend {
    padding: 0;
  }
  
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  progress {
    vertical-align: baseline;
  }
  
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  textarea {
    overflow: auto;
  }
  
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  [type=number]::-webkit-inner-spin-button,
  [type=number]::-webkit-outer-spin-button {
    height: auto;
  }
  
  /**
   * 1. Correct the outline style in Safari.
   */
  [type=search] {
    outline-offset: -2px; /* 1 */
  }
  
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  [type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Fix font inheritance.
   */
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  
  /**
   * Clickable labels
   */
  label[for] {
    cursor: pointer;
  }
  
  /* Interactive */
  /* ============================================ */
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  details {
    display: block;
  }
  
  /*
   * Add the correct display in all browsers.
   */
  summary {
    display: list-item;
  }
  
  /*
   * Remove outline for editable content.
   */
  [contenteditable]:focus {
    outline: auto;
  }
  
  /* Tables */
  /* ============================================ */
  /**
  1. Correct table border color inheritance in all Chrome and Safari.
  */
  table {
    border-color: inherit; /* 1 */
    border-collapse: collapse;
  }
  
  caption {
    text-align: left;
  }
  
  td,
  th {
    vertical-align: top;
    padding: 0;
  }
  
  th {
    text-align: left;
    font-weight: bold;
  }
  
  /*--- break point ---*/
  body {
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
    padding-top: 120px;
    letter-spacing: 0.05em;
    line-height: 1.6666;
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    body {
      overflow-y: scroll;
      -webkit-overflow-scrolling: touch;
      padding-top: 60px;
    }
  }
  
  .l-footer__cta-tel br {
    display: none;
  }
  @media screen and (max-width: 767px) {
    .l-footer__cta-tel br {
      display: block;
    }
  }
  
  .p-omoi-swiper {
    overflow: hidden;
  }
  
  .inner {
    overflow: hidden;
  }
  
  .inner2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  
  img {
    -webkit-overflow-scrolling: touch;
  }
  
  /*================================
  .l-container
  ================================*/
  .l-container {
    margin: 0 auto;
    max-width: 1340px;
    padding: 0 30px;
  }
  @media screen and (max-width: 767px) {
    .l-container {
      padding: 0 5.406vw;
    }
  }
  
  /*================================
  .l-wrapper
  ================================*/
  .l-wrapper {
    position: relative;
    z-index: 10;
    overflow: hidden;
  }
  
  /*================================
  .l-footer
  ================================*/
  .l-footer {
    color: #fff;
    position: relative;
    z-index: 10;
    padding: 150px 0 13px;
    background-image: url(../images/common/bg_all.png);
    background-size: 100% auto;
  }
  @media screen and (max-width: 767px) {
    .l-footer {
      padding: 40px 0;
      margin-bottom: 18vw;
    }
  }
  
  .l-footer__faq {
    text-align: right;
    margin-top: 25px;
  }
  .l-footer__faq a {
    color: #FFF;
    font-weight: 700;
    font-size: 16px;
  }
  
  .l-footer__cta {
    border-bottom: 1px solid #525d63;
    border-top: 1px solid #525d63;
    padding: 40px 0;
  }
  
  .l-footer__cta-contact {
    display: flex;
  }
  
  .l-footer__cta-title {
    font-size: 12px;
    line-height: 1;
  }
  .l-footer__cta-title strong {
    font-family: "kepler-std-display", serif;
    font-size: 32px;
    font-weight: normal;
  }
  
  .l-footer__cta-link {
    margin-left: auto;
  }
  @media screen and (max-width: 767px) {
    .l-footer__cta-link {
      text-align: right;
    }
  }
  .l-footer__cta-link a {
    align-items: center;
    display: inline-flex;
    font-size: 16px;
    font-weight: bold;
    margin-left: 80px;
  }
  .l-footer__cta-link a:after {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
    height: 0.6em;
    transform: rotate(45deg);
    width: 0.6em;
    margin-left: 0.5em;
  }
  
  .l-footer__cta-text {
    font-size: 12px;
    line-height: 1.6;
    margin-top: 80px;
    text-align: right;
  }
  @media screen and (max-width: 767px) {
    .l-footer__cta-text {
      margin-top: 40px;
      text-align: center;
    }
  }
  .l-footer__cta-text a {
    color: #e70000;
    text-decoration: underline;
    text-underline-offset: 0.25em;
  }
  
  .l-footer__cta-tel {
    font-size: 12px;
    line-height: 1;
    margin-top: 15px;
    text-align: right;
  }
  @media screen and (max-width: 767px) {
    .l-footer__cta-tel a {
      margin-right: 0!important;
    }
  }
  .l-footer__cta-tel a {
    font-family: "kepler-std-display", serif;
    font-size: 30px;
    margin: 0 0.2em;
  }
  .l-footer__cta-tel:before {
    content: url(../../assets/images/icon/icon_sp.svg);
    display: inline-block;
    margin-top: -1em;
    vertical-align: middle;
    width: 18px;
  }
  
  .l-footer__sns {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    margin-top: 50px;
  }
  
  .l-footer__sns-item {
    width: 25px;
    height: 23px;
  }
  .l-footer__sns-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  
  .l-footer__contents {
    padding: 140px 0 120px;
    display: flex;
  }
  @media screen and (max-width: 767px) {
    .l-footer__contents {
      display: block;
      padding: 0 0 45px;
    }
  }
  
  .l-footer__logo-wrap {
    width: calc(100% - 316px);
  }
  @media screen and (max-width: 767px) {
    .l-footer__logo-wrap {
      width: 100%;
    }
  }
  
  .l-footer__logo {
    display: inline-block;
    width: 135px;
  }
  .l-footer__logo img {
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .l-footer__logo {
      transform: translateY(-23px);
      width: 100px;
    }
  }
  
  .l-footer__group {
    display: block;
    font-size: 12px;
    margin-top: 60px;
  }
  @media screen and (max-width: 767px) {
    .l-footer__group {
      margin: 10px 0 30px;
      text-align: right;
    }
  }
  
  .l-footer__text {
    width: 318px;
    text-align: right;
    padding-left: 20px;
    font-size: 12px;
  }
  @media screen and (max-width: 767px) {
    .l-footer__text {
      padding: 0;
      text-align: right;
      width: 100%;
    }
  }
  
  .l-footer__copy {
    font-size: 10px;
    text-align: right;
  }
  @media screen and (max-width: 767px) {
    .l-footer__copy {
      text-align: center;
    }
  }
  
  /*================================
  .l-header
  ================================*/
  .l-header {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    right: 0;
    height: 120px;
    display: flex;
    align-items: center;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
  }
  .l-header a {
    color: #FFF;
  }
  .l-header.is--load .l-header__logo,
  .l-header.is--load .l-header__toggle,
  .l-header.is--load .l-header__nav1,
  .l-header.is--load .l-header__nav2 {
    opacity: 1;
  }
  @media screen and (max-width: 1059px) {
    .l-header {
      height: 60px;
      justify-content: space-between;
      background-image: url(../images/common/bg_all.png);
      background-size: 100% auto;
    }
  }
  
  .l-header__logo {
    width: 145px;
    display: block;
    margin-left: 55px;
    margin-right: 80px;
    opacity: 0;
    transition: opacity 0.6s;
  }
  .l-header__logo img {
    width: 100%;
  }
  @media screen and (max-width: 1390px) {
    .l-header__logo {
      width: 130px;
      margin-left: 30px;
      margin-right: 40px;
    }
  }
  @media screen and (max-width: 1059px) {
    .l-header__logo {
      width: 91px;
      margin-left: 15px;
      margin-right: 0;
    }
  }
  
  .l-header__nav1 {
    width: calc(100% - 720px);
    opacity: 0;
    transition: opacity 0.87s 0.85s;
  }
  @media screen and (max-width: 1390px) {
    .l-header__nav1 {
      width: calc(100% - 240px);
    }
  }
  @media screen and (max-width: 1059px) {
    .l-header__nav1 {
      display: none;
    }
  }
  
  .l-header__nav1-list {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
  }
  
  @media screen and (min-width: 1600px) {
    .l-header__nav1-list {
      gap: 45px;
    }
  }
  
  .l-header__nav1-list a {
    font-size: clamp(12px, 1vw, 15px);
    font-weight: 700;
  }
  
  .l-header__nav2 {
    width: 320px;
    opacity: 0;
    transition: opacity 0.87s 0.85s;
  }
  @media screen and (max-width: 1059px) {
    .l-header__nav2 {
      display: none;
    }
  }
  
  .l-header__nav2-list {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    gap: 32px;
  }
  .l-header__nav2-list li {
    height: 100%;
    display: flex;
    align-items: center;
  }
  .l-header__nav2-list li:first-child {
    position: relative;
  }
  .l-header__nav2-list li:first-child::after {
    position: absolute;
    top: 0;
    right: -16px;
    width: 1px;
    height: 100%;
    background-color: #e70000;
    content: "";
  }
  .l-header__nav2-list a {
    color: #e70000;
    font-size: 18px;
    font-weight: 700;
  }
  
  .l-header__toggle {
    position: relative;
    width: 120px;
    height: 100%;
    -webkit-appearance: none;
    background-color: #e70000;
    opacity: 0;
    transition: 1s 0.6s;
    font-size: 10px;
  }
  @media screen and (max-width: 1059px) {
    .l-header__toggle {
      width: 60px;
      height: 100%;
    }
  }
  .l-header__toggle span {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 63px;
    height: 1px;
    background-color: #000;
  }
  @media screen and (max-width: 1059px) {
    .l-header__toggle span {
      width: 35px;
    }
  }
  .l-header__toggle span:first-child {
    top: calc(50% - 6px);
    transition: top 0.2s 0.2s, transform 0.2s;
  }
  .l-header__toggle span:last-child {
    top: calc(50% + 6px);
    transition: top 0.2s 0.2s, transform 0.2s;
  }
  .l-header__toggle.is--open span:first-child {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    transition: top 0.2s, transform 0.2s 0.2s;
  }
  .l-header__toggle.is--open span:last-child {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    transition: top 0.2s, transform 0.2s 0.2s;
  }
  
  /*--------- c-button ---------*/
  .c-button {
    color: #e70000;
    font-weight: 700;
    font-size: 16px;
  }
  /*--------- c-button02 ---------*/
  /*--------- c-button-underline ---------*/
  .c-button-underline {
    position: relative;
    display: inline-block;
    color: #e70000;
    font-weight: 700;
    font-size: 16px;
    padding-bottom: 14px;
  }
  .c-button-underline::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #e70000;
  }
  .c-button-underline:hover::after {
    animation: line-fill 1.1s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0.5s infinite;
  }
  @keyframes line-fill {
    0% {
      transform: scale(1);
      transform-origin: right center;
    }
    35% {
      transform: scale(0);
      transform-origin: right center;
    }
    36% {
      transform: scale(0);
      transform-origin: left center;
    }
    71%, to {
      transform: scale(1);
      transform-origin: left center;
    }
  }
  
  .c-button-underline:hover {
    cursor: pointer;
  }
  
  /*--------- c-title-english ---------*/
  .c-title-english {
    display: block;
    font-size: 35px;
    font-weight: 700;
    line-height: 1;
    padding-bottom: 34px;
    border-bottom: 4px solid #000;
  }
  .c-title-english .lh {
    line-height: 1.35;
  }
  .c-title-english .ja {
    font-size: 12px;
    transform: translateY(-11px);
  }
  .c-title-english--small {
    font-size: 18px;
    font-weight: 500;
    padding-bottom: 15px;
    border-bottom-width: 1px;
  }
  .c-title-english--white {
    color: #FFF;
    border-bottom-color: #4d4d4d;
  }
  @media screen and (max-width: 767px) {
    .c-title-english {
      font-size: 24px;
      padding-bottom: 12px;
    }
  }
  
  /*--------- c-title-section ---------*/
  .c-title-section {
    color: #b88f0d;
    font-family: "kepler-std-display", serif;
    font-size: 130px;
    font-weight: 300;
    line-height: 1.2;
    overflow: hidden;
  }
  @media screen and (max-width: 1340px) {
    .c-title-section {
      font-size: 100px;
    }
  }
  @media screen and (max-width: 767px) {
    .c-title-section {
      font-size: 52px;
    }
  }
  
  /*--------- .c-title-ja ---------*/
  .c-title-ja {
    border-bottom: 4px solid #000;
    color: #000;
    font-size: 35px;
    font-weight: 600;
    line-height: 1.4;
    padding-bottom: 22px;
  }
  @media screen and (max-width: 767px) {
    .c-title-ja {
      font-size: 6.082vw;
      padding-bottom: 3.109vw;
    }
  }
  .c-title-ja--white {
    color: #FFF;
    border-bottom-color: #FFF;
  }
  
  .c-simply-fade {
    pointer-events: none;
    opacity: 0;
    transition: opacity 1s;
  }
  .c-simply-fade.is--scrollTrigger {
    opacity: 1;
    pointer-events: all;
  }
  
  .c-img-effect {
    opacity: 0;
    transform: scale(1.1);
    filter: brightness(300);
    transition: opacity 1s, transform 2s, filter 0.6s cubic-bezier(1, -0.01, 0.25, 1);
  }
  .c-img-effect.is--delayLevel1 {
    transition: opacity 1s 0.5s, transform 2s 0.5s, filter 0.6s cubic-bezier(1, -0.01, 0.25, 1) 0.5s;
  }
  .c-img-effect.is--delayLevel2 {
    transition: opacity 1s 1s, transform 2s 1s, filter 0.6s cubic-bezier(1, -0.01, 0.25, 1) 1s;
  }
  .c-img-effect.is--scrollTrigger {
    opacity: 1;
    transform: scale(1.01);
    filter: brightness(100%);
  }
  @media screen and (max-width: 767px) {
    .c-img-effect {
      transition: opacity 1s, transform 2s, filter 0.6s cubic-bezier(1, -0.01, 0.25, 1) !important;
    }
  }
  
  /*================================
  .c-bg-white1
  ================================*/
  .c-bg-white1 {
    background-image: url(../../assets/images/common/bg_white1.jpg);
    background-size: 100% auto;
  }
  
  /*================================
  .c-bg-white2
  ================================*/
  .c-bg-white2 {
    background-image: url(../../assets/images/common/bg_white2.jpg);
    background-size: 100% auto;
  }
  
  /*================================
  .c-bg-white3
  ================================*/
  .c-bg-white3 {
    background-image: url(../../assets/images/common/bg_white3.jpg);
    background-size: 100% auto;
  }
  
  .c-pagination {
    align-items: center;
    column-gap: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 145px;
  }
  @media screen and (max-width: 767px) {
    .c-pagination {
      column-gap: 5.406vw;
      margin-top: 16.217vw;
    }
  }
  
  .c-pagination__link {
    font-family: "kepler-std-display", serif;
    font-size: 26px;
    font-style: italic;
    font-weight: bold;
  }
  @media screen and (max-width: 767px) {
    .c-pagination__link {
      font-size: 4.865vw;
    }
  }
  .c-pagination__link.is--prev, .c-pagination__link.is--next {
    border-left: 1px solid #000;
    border-top: 1px solid #000;
    font-size: 0;
    height: 28px;
    margin-right: 60px;
    transform: rotate(-45deg);
    width: 28px;
  }
  @media screen and (max-width: 767px) {
    .c-pagination__link.is--prev, .c-pagination__link.is--next {
      border-left-width: 0.271vw;
      border-top-width: 0.271vw;
      height: 5.406vw;
      margin-right: 5.406vw;
      width: 5.406vw;
    }
  }
  .c-pagination__link.is--next {
    margin: 0 0 0 60px;
    transform: rotate(135deg);
  }
  @media screen and (max-width: 767px) {
    .c-pagination__link.is--next {
      margin-left: 5.406vw;
    }
  }
  .c-pagination__link.is--current {
    text-decoration: underline;
  }
  
  .c-openning {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    background-color: #0F0F0F;
    transition: 0.2s;
  }
  .c-openning.is--fadeOut {
    opacity: 0;
    pointer-events: none;
  }
  
  /*================================
  .p-curtain
  ================================*/
  .p-curtain {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: calc(100vh - 120px);
    margin-top: 120px;
    overflow: hidden;
    pointer-events: none;
  }
  @media screen and (max-width: 1059px) {
    .p-curtain {
      height: calc(100vh - 60px);
      margin-top: 60px;
    }
  }
  .p-curtain.is--fadeOut {
    transition: opacity 0.3s;
    opacity: 0;
  }
  .p-curtain__inner {
    position: relative;
    max-width: 1280px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
  }
  .p-curtain__inner > div {
    position: absolute;
    top: 0;
    width: 25%;
    height: 100%;
    background-image: url(../images/common/bg_all.png);
  }
  .p-curtain__inner > div.is--animate {
    height: 340px;
  }
  @media screen and (max-width: 767px) {
    .p-curtain__inner > div.is--animate {
      height: 70px;
    }
  }
  .p-curtain.is--page .is--animate {
    height: 0;
  }
  .p-curtain .item1 {
    left: 25%;
    transition: height 0.8s cubic-bezier(0.11, 1.12, 1, 1);
  }
  .p-curtain .item2 {
    left: 50%;
    transition: height 0.8s cubic-bezier(0.11, 1.12, 1, 1) 0.4s;
  }
  .p-curtain .item3 {
    left: 0;
    transition: height 0.8s cubic-bezier(0.11, 1.12, 1, 1) 0.8s;
  }
  .p-curtain .item4 {
    left: 75%;
    transition: height 0.8s cubic-bezier(0.11, 1.12, 1, 1) 0.2s;
  }
  .p-curtain .item5 {
    left: -100%;
    width: 100%;
    transition: height 0.8s cubic-bezier(0.11, 1.12, 1, 1) 0.8s;
  }
  .p-curtain .item6 {
    left: 100%;
    width: 100%;
    transition: height 0.8s cubic-bezier(0.11, 1.12, 1, 1) 0.2s;
  }
  
  /*================================
  .p-fixed-line
  ================================*/
  .p-fixed-line {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    pointer-events: none;
  }
  @media screen and (max-width: 1340px) {
    .p-fixed-line {
      padding: 0 30px;
    }
  }
  @media screen and (max-width: 767px) {
    .p-fixed-line {
      padding: 0 15px;
    }
  }
  
  .p-fixed-line__inner {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
    height: 100%;
  }
  
  .p-fixed-line__item {
    position: absolute;
    top: 0;
    width: 1px;
    height: 100%;
    transform: translateX(-50%);
    background-color: rgba(198, 198, 198, 0.12);
  }
  @media screen and (max-width: 1059px) {
    .p-fixed-line__item {
      background-color: rgba(198, 198, 198, 0.06);
    }
  }
  .p-fixed-line__item:nth-of-type(1) {
    left: 0;
  }
  .p-fixed-line__item:nth-of-type(2) {
    left: 25%;
  }
  .p-fixed-line__item:nth-of-type(3) {
    left: 50%;
  }
  .p-fixed-line__item:nth-of-type(4) {
    left: 75%;
  }
  .p-fixed-line__item:nth-of-type(5) {
    left: 100%;
  }
  
  /*================================
  .p-background
  ================================*/
  .p-background {
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }
  .p-background.is--bgWhite .p-background__inner {
    background-color: #fff;
    transition: none;
  }
  
  .p-background__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: background-color 0s 1.5s;
    -webkit-overflow-scrolling: touch;
  }
  
  .p-background__item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: 100% auto;
    transition: opacity 1.5s;
    opacity: 0;
  }
  .p-background__item.is--show {
    opacity: 1;
  }
  
  .p-background__type1 {
    background-image: url(../images/common/bg_all.png);
  }
  
  .p-background__type2 {
    background-image: url(../images/common/bg_white1.jpg);
  }
  
  .p-background__type3 {
    background-image: url(../images/common/bg_white2.jpg);
  }
  
  /*================================
  .p-background-img
  ================================*/
  .p-background-img {
    position: fixed;
    z-index: 8;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }
  
  .p-background-img__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.1);
  }
  
  .p-background-img__item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 0.2s;
  }
  .p-background-img__item.is--show {
    opacity: 1;
  }
  
  .p-background-img__type1 {
    background-image: url(../images/top/pic01@2x.jpg);
  }
  
  .p-background-img__type2 {
    background-image: url(../images/top/pic02@2x.jpg);
  }
  
  .p-background-img__type2 {
    z-index: 2;
  }
  
  /*================================
  .p-global-nav
  ================================*/
  .p-global-nav {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: #380000;
    padding-top: 160px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s;
  }
  @media screen and (max-width: 767px) {
    .p-global-nav {
      padding-top: 21.622vw;
    }
  }
  .p-global-nav.is--open {
    opacity: 1;
    pointer-events: all;
  }
  
  .p-global-nav__inner {
    max-width: 1020px;
    height: 100%;
    padding: 0 30px;
    margin: 0 auto;
    overflow: hidden;
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__inner {
      padding: 0 5.4054vw;
    }
  }
  
  .p-global-nav__wrapper {
    height: 100%;
    overflow-y: auto;
    padding-bottom: 35px;
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__wrapper {
      padding-bottom: 30vw;
    }
  }
  
  .p-global-nav__main {
    height: 690px;
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__main {
      height: 127.028vw;
    }
  }
  
  .p-global-nav__main-list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    height: 100%;
    gap: 60px 0;
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__main-list {
      gap: 5vw 0;
    }
  }
  .p-global-nav__main-list > li:nth-of-type(1), .p-global-nav__main-list > li:nth-of-type(2), .p-global-nav__main-list > li:nth-of-type(3), .p-global-nav__main-list > li:nth-of-type(4), .p-global-nav__main-list > li:nth-of-type(5) {
    width: 42.5%;
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__main-list > li:nth-of-type(1), .p-global-nav__main-list > li:nth-of-type(2), .p-global-nav__main-list > li:nth-of-type(3), .p-global-nav__main-list > li:nth-of-type(4), .p-global-nav__main-list > li:nth-of-type(5) {
      width: 50%;
    }
  }
  .p-global-nav__main-list > li:nth-of-type(6), .p-global-nav__main-list > li:nth-of-type(7), .p-global-nav__main-list > li:nth-of-type(8), .p-global-nav__main-list > li:nth-of-type(9), .p-global-nav__main-list > li:nth-of-type(10) {
    width: 39.5%;
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__main-list > li:nth-of-type(6), .p-global-nav__main-list > li:nth-of-type(7), .p-global-nav__main-list > li:nth-of-type(8), .p-global-nav__main-list > li:nth-of-type(9), .p-global-nav__main-list > li:nth-of-type(10) {
      width: 50%;
    }
  }
  .p-global-nav__main-list > li:nth-of-type(11), .p-global-nav__main-list > li:nth-of-type(12), .p-global-nav__main-list > li:nth-of-type(13), .p-global-nav__main-list > li:nth-of-type(14), .p-global-nav__main-list > li:nth-of-type(15) {
    width: 18%;
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__main-list > li:nth-of-type(11), .p-global-nav__main-list > li:nth-of-type(12), .p-global-nav__main-list > li:nth-of-type(13), .p-global-nav__main-list > li:nth-of-type(14), .p-global-nav__main-list > li:nth-of-type(15) {
      width: 50%;
    }
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__main-list > li:nth-of-type(n + 8) {
      padding-left: 4.73vw;
    }
  }
  .p-global-nav__main-list > li > a {
    display: flex;
    flex-direction: column;
  }
  .p-global-nav__main-list > li > a > span:first-child {
    font-family: "kepler-std-display", serif;
    line-height: 1;
    color: #b88f0d;
    font-size: 55px;
  }
  @media screen and (max-width: 991px) {
    .p-global-nav__main-list > li > a > span:first-child {
      font-size: 46px;
    }
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__main-list > li > a > span:first-child {
      font-size: 7.2972vw;
      white-space: nowrap;
    }
  }
  .p-global-nav__main-list > li > a > span:last-child {
    font-size: 15px;
    margin-top: 10px;
    font-weight: 700;
    color: #fff;
  }
  @media screen and (max-width: 991px) {
    .p-global-nav__main-list > li > a > span:last-child {
      font-size: 14px;
    }
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__main-list > li > a > span:last-child {
      margin-top: 1.3513vw;
      font-size: 2.8378vw;
      white-space: nowrap;
    }
  }
  
  .p-global-nav__sub {
    margin-top: 100px;
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__sub {
      margin-top: 5.406vw;
    }
  }
  
  .p-global-nav__sub-list {
    display: flex;
    flex-wrap: wrap;
    gap: 13px 60px;
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__sub-list {
      gap: 5.406vw 0;
    }
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__sub-list > li {
      width: 50%;
    }
  }
  .p-global-nav__sub-list > li > a {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
  }
  @media screen and (max-width: 767px) {
    .p-global-nav__sub-list > li > a {
      font-size: 3.3783vw;
    }
  }
  
  /*================================
  .p-page-fv
  ================================*/
  .p-page-fv {
    padding-top: 130px;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv {
      padding-top: 21.622vw;
    }
  }
  
  .p-page-fv__heading {
    border-bottom: 4px solid #b88f0d;
    margin-bottom: 90px;
    position: relative;
    z-index: 3;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__heading {
      border-bottom-width: 0.541vw;
      margin-bottom: 7.433vw;
      padding-bottom: 1.757vw;
    }
  }
  .p-page-fv__heading h1 {
    color: #b88f0d;
    font-family: "kepler-std-display", serif;
    font-size: 76px;
    line-height: 1.25;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__heading h1 {
      font-size: 10.271vw;
    }
  }
  
  .p-page-fv__img {
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__img {
      transform: translateX(-5.405vw);
      width: calc(100% + 10.811vw);
    }
  }
  
  .p-page-fv__img-inner {
    aspect-ratio: 1280/530;
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__img-inner {
      aspect-ratio: 740/845;
    }
  }
  .p-page-fv__img-inner img {
    height: 100%;
    object-fit: cover;
    transform: scale(1.2);
    transition: transform 2.7s;
    width: 100%;
  }
  .p-page-fv__img-inner.is--scaleOut img {
    transform: scale(1);
  }
  @media screen and (max-width: 767px) {
    .page-template-party-style .p-page-fv__img-inner {
      aspect-ratio: 750/460;
    }
  }
  @media screen and (max-width: 767px) {
    .page-template-photo-wedding .p-page-fv__img-inner {
      aspect-ratio: 750/460;
    }
    .page-template-photo-wedding .p-page-fv__img-inner img {
      transform-origin: 15% 80%;
      transform: scale(1.8);
    }
    .page-template-photo-wedding .p-page-fv__img-inner.is--scaleOut img {
      transform: scale(1.6);
    }
  }
  .page-template-item .p-page-fv__img-inner {
    aspect-ratio: 1280/715;
  }
  
  .p-page-fv__img-white {
    background-image: url(../../assets/images/common/bg_white2.jpg);
    background-size: 100% auto;
    bottom: 0;
    height: 50%;
    position: absolute;
    width: 100%;
  }
  
  .p-page-fv__text {
    font-size: 14px;
    line-height: 2;
    padding-top: 30px;
    position: relative;
    z-index: 3;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__text {
      font-size: 3.784vw;
      padding: 6.082vw 5.406vw 0;
    }
  }
  
  .p-page-fv__catch {
    color: #fff;
    font-size: 35px;
    font-weight: 500;
    line-height: 2;
    margin-top: 100px;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__catch {
      font-size: 6.082vw;
      margin: 13.514vw 5.406vw 0;
    }
  }
  
  .p-page-fv__nav {
    display: flex;
    justify-content: space-between;
    padding: 100px 0 150px;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__nav {
      flex-direction: column;
      gap: 16.217vw;
      padding: 13.514vw 5.406vw 32.433vw;
    }
  }
  
  .p-page-fv__nav-item {
    width: 25%;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__nav-item {
      width: 100%;
    }
  }
  .p-page-fv__nav-item a {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 25px;
    height: 100%;
    justify-content: flex-end;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__nav-item a {
      flex-direction: row;
      flex-wrap: wrap;
      gap: 5.406vw 2.703vw;
      justify-content: flex-start;
    }
  }
  
  .p-page-fv__nav-item a img {
    transition: filter 0.3s ease;
  }
  
  .p-page-fv__nav-item a:hover img {
    filter: brightness(150%);
  }
  
  .p-page-fv__nav-item:not(:first-child) a img {
    transition: opacity 0.3s ease;
  }
  
  .p-page-fv__nav-item:not(:first-child) a:hover img {
    transform: unset;
    opacity: 0.5;
    filter: unset;
  }
  
  .p-page-fv__nav-text {
    color: #e70000;
    font-size: 25px;
    line-height: 1.2;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__nav-text {
      font-size: 4.865vw;
      order: 3;
    }
  }
  
  .p-page-fv__nav-img {
    overflow: hidden;
    width: 100%;
  }
  .p-page-fv__nav-img img {
    transition: transform 0.4s;
    width: 100%;
  }
  
  .p-page-fv__nav-icon {
    align-items: center;
    aspect-ratio: 1;
    border: 1px solid #e70000;
    border-radius: 50%;
    display: flex;
    font-size: 0;
    justify-content: center;
    width: 45px;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__nav-icon {
      border-width: 0.271vw;
      width: 9.46vw;
    }
  }
  .p-page-fv__nav-icon:before {
    aspect-ratio: 1;
    border-bottom: 1px solid #e70000;
    border-right: 1px solid #e70000;
    content: "";
    transform: translateY(-25%) rotate(45deg);
    width: 10px;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__nav-icon:before {
      border-bottom-width: 0.271vw;
      border-right-width: 0.271vw;
      width: 2.703vw;
    }
  }
  
  .p-page-fv__intro {
    color: #fff;
    font-size: 14px;
    line-height: 2;
    padding-bottom: 120px;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__intro {
      font-size: 3.784vw;
      padding-bottom: 8.109vw;
    }
  }
  .p-page-fv__intro strong {
    font-size: 14px;
    font-weight: normal;
    line-height: 2;
  }
  @media screen and (max-width: 767px) {
    .p-page-fv__intro strong {
      font-size: 3.784vw;
    }
  }
  
  /*================================
  .p-pictures
  ================================*/
  .p-pictures__list {
    display: flex;
    flex-wrap: wrap;
    gap: 45px 40px;
  }
  @media screen and (max-width: 767px) {
    .p-pictures__list {
      gap: 5.406vw;
    }
  }
  
  .p-pictures__item {
    width: calc(33.3333333333% - 26.6666666667px);
  }
  @media screen and (max-width: 767px) {
    .p-pictures__item {
      width: calc(50% - 2.703vw);
    }
  }
  
  .p-pictures__item-inner {
    position: relative;
    padding-bottom: 100%;
    overflow: hidden;
  }
  .p-pictures__item-inner img {
    position: absolute;
    top: 0;
    left: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .p-pictures__button {
    text-align: right;
    padding-top: 85px;
  }
  @media screen and (max-width: 767px) {
    .p-pictures__button {
      padding-top: 4.055vw;
    }
  }
  .p-pictures__button a {
    position: relative;
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    color: #e70000;
    transition: 0.2s opacity;
  }
  .p-pictures__button a:hover {
    opacity: 0.6;
  }
  @media screen and (max-width: 767px) {
    .p-pictures__button a {
      font-size: 3.784vw;
    }
  }
  .p-pictures__button a::before {
    content: "<";
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-150%);
    color: #e70000;
  }
  
  /*================================
  .p-article
  ================================*/
  .p-article {
    padding: 150px 0;
  }
  @media screen and (max-width: 767px) {
    .p-article {
      padding: 14.865vw 0 27.028vw;
    }
  }
  
  /*================================
  .p-article-filter
  ================================*/
  .p-article-filter {
    display: flex;
    flex-wrap: wrap;
    font-weight: bold;
    gap: 40px 80px;
    line-height: 1.4;
  }
  @media screen and (max-width: 767px) {
    .p-article-filter {
      row-gap: 5.406vw;
    }
  }
  .p-article-filter a {
    display: inline-block;
  }
  .p-article-filter a.is--current {
    text-decoration: underline;
    text-underline-offset: 0.25em;
  }
  
  @media screen and (max-width: 767px) {
    .p-article-filter__column {
      width: 100%;
    }
  }
  
  .p-article-filter__title {
    font-family: "kepler-std-display", serif;
    font-size: 15px;
    line-height: 1;
  }
  @media screen and (max-width: 767px) {
    .p-article-filter__title {
      font-size: 3.784vw;
    }
  }
  
  .p-article-filter__categories {
    font-size: 20px;
    font-weight: 600;
    margin-top: 10px;
  }
  @media screen and (max-width: 767px) {
    .p-article-filter__categories {
      font-size: 4.325vw;
      margin-top: 2.703vw;
    }
  }
  
  .p-article-filter__tags {
    font-size: 16px;
    margin-top: 15px;
  }
  @media screen and (max-width: 767px) {
    .p-article-filter__tags {
      font-size: 3.784vw;
      margin-top: 2.703vw;
    }
  }
  .p-article-filter__tags a {
    margin-right: 0.5em;
  }
  .p-article-filter__tags a:before {
    content: "#";
  }
  
  /*================================
  .p-article-list
  ================================*/
  .p-article-list {
    display: flex;
    flex-wrap: wrap;
    gap: 100px 12.5%;
    margin-top: 100px;
  }
  @media screen and (max-width: 767px) {
    .p-article-list {
      margin-top: 16.217vw;
      row-gap: 16.217vw;
    }
  }
  .p-article-list:first-child {
    margin: 0;
  }
  
  .p-article-list__item {
    width: 25%;
  }
  .p-article-list__item a {
    display: block;
  }
  .p-article-list__item a:hover img {
    transform: scale(1.12);
  }
  @media screen and (max-width: 991px) {
    .p-article-list__item {
      width: 43.75%;
    }
  }
  @media screen and (max-width: 767px) {
    .p-article-list__item {
      width: 100%;
    }
  }
  
  .p-article-list__thumbnail {
    aspect-ratio: 320/214;
    overflow: hidden;
  }
  .p-article-list__thumbnail img {
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
    width: 100%;
  }
  
  .p-article-list__title {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.375;
    margin-top: 20px;
  }
  @media screen and (max-width: 767px) {
    .p-article-list__title {
      font-size: 4.325vw;
      margin-top: 5.406vw;
    }
  }
  .p-article-list__title span {
    display: block;
    font-size: 11px;
    line-height: 2;
  }
  @media screen and (max-width: 767px) {
    .p-article-list__title span {
      font-size: 2.973vw;
    }
  }
  
  .p-article-list__text {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.8;
    margin-top: 15px;
  }
  @media screen and (max-width: 767px) {
    .p-article-list__text {
      font-size: 3.244vw;
      margin-top: 4.055vw;
    }
  }
  
  .p-article-list__more {
    color: #e70000;
    font-family: "minion-pro", serif;
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    margin-top: 20px;
  }
  @media screen and (max-width: 767px) {
    .p-article-list__more {
      font-size: 3.784vw;
      margin-top: 5.406vw;
    }
  }
  
  /*================================
  .p-article-title
  ================================*/
  .p-article-title {
    border-bottom: 2px solid #000;
    font-size: 35px;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 135px;
    padding-bottom: 0.4em;
  }
  @media screen and (max-width: 767px) {
    .p-article-title {
      border-bottom-width: 0.541vw;
      font-size: 6.082vw;
      margin-top: 13.514vw;
    }
  }
  .p-article-title:first-child {
    margin: 0;
  }
  
  /*================================
  .p-article-terms
  ================================*/
  .p-article-terms {
    color: #e70000;
    font-size: 18px;
    font-weight: 600;
    margin-top: 15px;
  }
  @media screen and (max-width: 767px) {
    .p-article-terms {
      font-size: 3.784vw;
      margin-top: 2.703vw;
    }
  }
  .p-article-terms span {
    margin-right: 45px;
  }
  @media screen and (max-width: 767px) {
    .p-article-terms span {
      margin-right: 5.406vw;
    }
  }
  
  /*================================
  .p-article-inner
  ================================*/
  .p-article-inner {
    margin: 95px auto 0;
    max-width: 960px;
  }
  @media screen and (max-width: 767px) {
    .p-article-inner {
      margin-top: 16.217vw;
    }
  }
  
  /*================================
  .p-article-thumbnail
  ================================*/
  .p-article-thumbnail img {
    width: 100%;
  }
  
  /*================================
  .p-article-content
  ================================*/
  .p-article-content h2,
  .p-article-content h3 {
    font-size: 35px;
    font-weight: 600;
    margin-top: 90px;
  }
  @media screen and (max-width: 767px) {
    .p-article-content h2,
    .p-article-content h3 {
      font-size: 6.487vw;
      margin-top: 13.514vw;
    }
  }
  .p-article-content h3 {
    font-size: 25px;
  }
  @media screen and (max-width: 767px) {
    .p-article-content h3 {
      font-size: 4.865vw;
    }
  }
  .p-article-content p {
    font-size: 14px;
    line-height: 2;
    margin-top: 35px;
  }
  @media screen and (max-width: 767px) {
    .p-article-content p {
      font-size: 3.784vw;
      margin-top: 6.757vw;
    }
  }
  .p-article-content .wp-block-columns,
  .p-article-content .wp-block-gallery {
    --wp--style--unstable-gallery-gap: 20 / 960 * 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 2.0833333333%;
    margin: 70px 0;
  }
  @media screen and (max-width: 767px) {
    .p-article-content .wp-block-columns,
    .p-article-content .wp-block-gallery {
      --wp--style--unstable-gallery-gap: 5.406vw;
      gap: 5.406vw;
      margin: 13.514vw 0;
    }
  }
  
  /*================================
  .p-article-planner
  ================================*/
  .p-article-planner {
    border-bottom: 1px dotted #000;
    border-top: 1px dotted #000;
    column-gap: 8.3333333333%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 120px;
    padding: 60px 0;
  }
  @media screen and (max-width: 767px) {
    .p-article-planner {
      border-bottom-width: 0.271vw;
      border-top-width: 0.271vw;
      margin-top: 13.514vw;
      padding: 8.109vw 0 6.757vw;
      row-gap: 8.109vw;
    }
  }
  
  .p-article-planner__column {
    flex-basis: 0;
    flex-grow: 1;
  }
  @media screen and (max-width: 767px) {
    .p-article-planner__column {
      flex-basis: 100%;
    }
  }
  .p-article-planner__column img {
    width: 100%;
  }
  
  .p-article-planner__title {
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
  }
  @media screen and (max-width: 767px) {
    .p-article-planner__title {
      font-size: 4.865vw;
    }
  }
  
  .p-article-planner__text {
    font-size: 14px;
    line-height: 2;
    margin-top: 25px;
  }
  @media screen and (max-width: 767px) {
    .p-article-planner__text {
      font-size: 3.784vw;
      margin-top: 6.082vw;
    }
  }
  
  /*================================
  .p-article-nav
  ================================*/
  .p-article-nav {
    align-items: center;
    column-gap: 80px;
    display: flex;
    justify-content: center;
    margin-top: 145px;
  }
  @media screen and (max-width: 767px) {
    .p-article-nav {
      column-gap: 10.811vw;
      margin-top: 16.217vw;
    }
  }
  
  .p-article-nav__link {
    font-family: "kepler-std-display", serif;
    font-size: 26px;
    font-style: italic;
    font-weight: bold;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .p-article-nav__link {
      font-size: 4.865vw;
    }
  }
  .p-article-nav__link.is--prev, .p-article-nav__link.is--next {
    align-items: center;
    display: flex;
  }
  .p-article-nav__link.is--prev:before, .p-article-nav__link.is--next:before {
    border-left: 1px solid #000;
    border-top: 1px solid #000;
    content: "";
    height: 28px;
    transform: rotate(-45deg);
    width: 28px;
  }
  @media screen and (max-width: 767px) {
    .p-article-nav__link.is--prev:before, .p-article-nav__link.is--next:before {
      border-left-width: 0.271vw;
      border-top-width: 0.271vw;
      height: 5.406vw;
      width: 5.406vw;
    }
  }
  .p-article-nav__link.is--next {
    column-gap: 0.15em;
    flex-direction: row-reverse;
  }
  .p-article-nav__link.is--next:before {
    transform: rotate(135deg);
  }
  .p-article-nav__link.is--list:before {
    aspect-ratio: 1;
    background: #000;
    border-radius: 50%;
    bottom: 100%;
    content: "";
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 0.3em;
  }
  
  /*================================
  .p-article-related
  ================================*/
  .p-article-related {
    margin-top: 130px;
  }
  @media screen and (max-width: 767px) {
    .p-article-related {
      margin-top: 27.028vw;
    }
  }
  
  .p-article-related__title {
    align-items: center;
    column-gap: 0.7em;
    display: flex;
    font-size: 28px;
    font-weight: 600;
    line-height: 1;
  }
  @media screen and (max-width: 767px) {
    .p-article-related__title {
      font-size: 6.082vw;
    }
  }
  .p-article-related__title:after {
    border-top: 2px solid #000;
    content: "";
    flex-grow: 1;
  }
  @media screen and (max-width: 767px) {
    .p-article-related__title:after {
      border-top-width: 0.541vw;
    }
  }
  
  /*================================
  .p-form
  ================================*/
  .p-form {
    font-weight: 600;
    padding: 90px 0 150px;
  }
  @media screen and (max-width: 767px) {
    .p-form {
      padding: 16.217vw 0 27.028vw;
    }
  }
  
  .page-template-tmp-pagesform-php .p-page-fv {
    display: none;
  }
  
  /*================================
  .p-form-flow
  ================================*/
  .p-form-flow {
    border-bottom: 1px dotted #000;
    display: flex;
    justify-content: center;
    padding-bottom: 80px;
  }
  @media screen and (max-width: 767px) {
    .p-form-flow {
      border-bottom-width: 0.271vw;
      padding-bottom: 13.514vw;
    }
  }
  
  .p-form-flow__text {
    font-size: 18px;
    line-height: 2.5;
    padding: 0 2.2em;
  }
  @media screen and (max-width: 767px) {
    .p-form-flow__text {
      font-size: 3.784vw;
    }
  }
  .p-form-flow__text + .p-form-flow__text {
    margin-left: 1em;
  }
  .p-form-flow__text.is--current {
    background: #fff;
    border-radius: 3px;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .p-form-flow__text.is--current {
      border-radius: 0.811vw;
    }
  }
  .p-form-flow__text.is--current:after {
    background: #fff;
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    content: "";
    height: 0.6em;
    left: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 0.6em;
  }
  .p-form-flow__text.is--current:last-child:after {
    display: none;
  }
  
  /*================================
  .p-form-content
  ================================*/
  .p-form-content {
    font-weight: 600;
    margin-top: 80px;
  }
  @media screen and (max-width: 767px) {
    .p-form-content {
      margin-top: 13.514vw;
    }
  }
  .p-form-content .wpcf7-acceptance {
    display: block;
    font-size: 14px;
    margin-top: 40px;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .p-form-content .wpcf7-acceptance {
      font-size: 3.784vw;
      margin-top: 8.109vw;
    }
  }
  .p-form-content .wpcf7-acceptance input {
    height: 20px;
    margin-right: 0.5em;
    width: 20px;
  }
  @media screen and (max-width: 767px) {
    .p-form-content .wpcf7-acceptance input {
      height: 5.406vw;
      width: 5.406vw;
    }
  }
  .p-form-content .wpcf7-acceptance a {
    text-decoration: underline;
    text-underline-offset: 0.25em;
  }
  .p-form-content .wpcf7-submit {
    background: #e70000;
    border-radius: 3px;
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: bold;
    height: 60px;
    margin: 30px auto 0;
    text-align: center;
    width: 300px;
  }
  @media screen and (max-width: 767px) {
    .p-form-content .wpcf7-submit {
      border-radius: 0.811vw;
      font-size: 4.865vw;
      height: 16.217vw;
      margin-top: 5.406vw;
      width: 81.082vw;
    }
  }
  .page-child .p-form-content .wpcf7-submit {
    margin-top: 80px;
  }
  @media screen and (max-width: 767px) {
    .page-child .p-form-content .wpcf7-submit {
      margin-top: 13.514vw;
    }
  }
  .p-form-content .wpcf7-spinner {
    display: none;
  }
  .wpcf7 .p-form-content .wpcf7-response-output {
    border: none;
    color: #e70000;
    font-size: 14px;
    margin: 25px 0 0;
    padding: 0;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .wpcf7 .p-form-content .wpcf7-response-output {
      font-size: 3.784vw;
      margin-top: 4.055vw;
    }
  }
  
  .p-form-content__row {
    display: flex;
    flex-wrap: wrap;
    margin-top: 25px;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__row {
      margin-top: 4.055vw;
    }
  }
  
  .p-form-content__item {
    font-size: 18px;
    line-height: 2;
    max-width: 250px;
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__item {
      font-size: 4.325vw;
      max-width: none;
    }
  }
  .p-form-content__item strong {
    color: #e70000;
  }
  
  .p-form-content__input {
    width: calc(100% - 250px);
  }
  @media screen and (max-width: 767px) {
    .p-form-content__input {
      width: 100%;
    }
  }
  .p-form-content__input input,
  .p-form-content__input select,
  .p-form-content__input textarea {
    background: #fff;
    border: 1px solid #d2d2d2;
    border-radius: 5px;
    font-size: 14px;
    height: 36px;
    max-width: 400px;
    padding: 0 1em;
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__input input,
    .p-form-content__input select,
    .p-form-content__input textarea {
      border-radius: 1.352vw;
      border-width: 0.271vw;
      font-size: 3.784vw;
      height: 9.73vw;
      max-width: none;
    }
  }
  .p-form-content__input .wpcf7-select {
    padding-right: 2em;
  }
  .p-form-content__input .wpcf7-textarea {
    height: 200px;
    max-width: 100%;
    padding: 0.5em 1em;
    width: 800px;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__input .wpcf7-textarea {
      height: 40.541vw;
      width: 100%;
    }
  }
  .p-form-content__input .wpcf7-form-control-wrap + * {
    margin-left: 0.5em;
  }
  .p-form-content__input .wpcf7-form-control-wrap[data-name^=date], .p-form-content__input .wpcf7-form-control-wrap[data-name^=time] {
    display: inline-block;
    vertical-align: top;
  }
  .p-form-content__input .wpcf7-form-control-wrap[data-name^=time] {
    position: relative;
  }
  .p-form-content__input .wpcf7-form-control-wrap[data-name^=time]:after {
    content: "▼";
    font-size: 8px;
    pointer-events: none;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
  @media screen and (max-width: 767px) {
    .p-form-content__input .wpcf7-form-control-wrap[data-name^=time]:after {
      font-size: 2.163vw;
      right: 2.703vw;
    }
  }
  .p-form-content__input .wpcf7-not-valid-tip {
    color: #e70000;
    font-size: 14px;
    font-weight: 600;
    margin-top: 0.25em;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__input .wpcf7-not-valid-tip {
      font-size: 3.784vw;
    }
  }
  
  .p-form-content__text {
    font-size: 14px;
    line-height: 2;
    margin: 25px 0 0 250px;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__text {
      font-size: 3.784vw;
      margin: 4.055vw 0 0;
    }
  }
  .p-form-content__text strong {
    color: #e70000;
    font-size: 18px;
    line-height: 1;
    vertical-align: middle;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__text strong {
      font-size: 4.325vw;
    }
  }
  .p-form-content__text:first-of-type {
    margin: 0;
  }
  
  .p-form-content__note {
    font-size: 16px;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__note {
      font-size: 4.325vw;
    }
  }
  
  .p-form-content__list {
    border-bottom: 1px dotted #000;
    padding: 60px 0 80px;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__list {
      border-bottom-width: 0.271vw;
      padding: 13.514vw 0;
    }
  }
  
  .p-form-content__list-item {
    font-size: 18px;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__list-item {
      font-size: 4.325vw;
    }
  }
  .p-form-content__list-item span {
    font-size: 14px;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__list-item span {
      font-size: 3.784vw;
    }
  }
  .p-form-content__list-item + .p-form-content__list-item {
    margin-top: 30px;
  }
  @media screen and (max-width: 767px) {
    .p-form-content__list-item + .p-form-content__list-item {
      margin-top: 5.406vw;
    }
  }
  
  /*================================
  .p-form-complete
  ================================*/
  .p-form-complete {
    font-size: 14px;
    line-height: 2;
    margin-top: 95px;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .p-form-complete {
      font-size: 3.784vw;
      margin-top: 13.514vw;
    }
  }
  .p-form-complete + .p-form-back {
    margin-top: 90px;
  }
  @media screen and (max-width: 767px) {
    .p-form-complete + .p-form-back {
      margin-top: 13.514vw;
    }
  }
  
  /*================================
  .p-form-back
  ================================*/
  .p-form-back {
    margin-top: 20px;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .p-form-back {
      margin-top: 4.055vw;
    }
  }
  .p-form-back a {
    display: inline-block;
    font-size: 16px;
  }
  @media screen and (max-width: 767px) {
    .p-form-back a {
      font-size: 4.325vw;
    }
  }
  .p-form-back a:before {
    content: "<";
    margin-right: 0.5em;
  }
  
  /*================================
  .p-slider-modal
  ================================*/
  .p-slider-modal {
    background: rgba(255, 255, 255, 0.95);
    display: flex;
    height: 100dvh;
    left: 0;
    opacity: 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 30px;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: opacity 0.4s;
    width: 100%;
    z-index: 10000;
  }
  @media screen and (max-width: 767px) {
    .p-slider-modal {
      padding: 5.406vw;
    }
  }
  .p-slider-modal.is--active {
    opacity: 1;
    pointer-events: auto;
  }
  
  .p-slider-modal__content {
    margin: auto;
    max-width: 1280px;
    width: 100%;
  }
  
  .p-slider-modal__title {
    align-items: center;
    border-bottom: 1px solid #000;
    display: flex;
    font-size: 30px;
    font-weight: 600;
    justify-content: space-between;
    line-height: 1;
    padding-bottom: 20px;
  }
  @media screen and (max-width: 767px) {
    .p-slider-modal__title {
      border-bottom-width: 0.271vw;
      font-size: 4.865vw;
      padding-bottom: 2.703vw;
    }
  }
  .p-slider-modal__title button {
    aspect-ratio: 1;
    flex-shrink: 0;
    position: relative;
    width: 40px;
  }
  @media screen and (max-width: 767px) {
    .p-slider-modal__title button {
      width: 8.109vw;
    }
  }
  .p-slider-modal__title button:before, .p-slider-modal__title button:after {
    border-top: 1px solid #000;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    width: 140%;
  }
  @media screen and (max-width: 767px) {
    .p-slider-modal__title button:before, .p-slider-modal__title button:after {
      border-top-width: 0.271vw;
    }
  }
  .p-slider-modal__title button:after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  
  .p-slider-modal__slider {
    overflow: hidden;
    padding: 50px 12.5%;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .p-slider-modal__slider {
      padding: 8.109vw 8.9552238806%;
    }
  }
  .p-slider-modal__slider img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  .p-slider-modal__slider .swiper-slide {
    aspect-ratio: 1/1.5;
    opacity: 0;
    transition: opacity 1s;
  }
  .p-slider-modal__slider .swiper-slide.swiper-slide-active {
    opacity: 1;
  }
  .p-slider-modal__slider .swiper-slide.swiper-slide-next {
    opacity: 1;
  }
  @media screen and (max-width: 767px) {
    .p-slider-modal__slider .swiper-slide.swiper-slide-next {
      opacity: 0;
    }
  }
  .p-slider-modal__slider .swiper-button-prev,
  .p-slider-modal__slider .swiper-button-next {
    color: #e70000;
    height: auto;
    margin: 0;
    transform: translateY(-50%);
    width: auto;
  }
  .p-slider-modal__slider .swiper-button-prev:after,
  .p-slider-modal__slider .swiper-button-next:after {
    font-size: 40px;
  }
  @media screen and (max-width: 767px) {
    .p-slider-modal__slider .swiper-button-prev:after,
    .p-slider-modal__slider .swiper-button-next:after {
      font-size: 5.406vw;
    }
  }
  .p-slider-modal__slider .swiper-button-prev {
    left: 0;
  }
  .p-slider-modal__slider .swiper-button-next {
    right: 0;
  }
  .p-slider-modal__slider .swiper-pagination {
    bottom: 20px !important;
    font-size: 0;
  }
  @media screen and (max-width: 767px) {
    .p-slider-modal__slider .swiper-pagination {
      bottom: 2.703vw !important;
    }
  }
  .p-slider-modal__slider .swiper-pagination-bullet {
    margin: 0 6px !important;
    opacity: 1;
  }
  @media screen and (max-width: 767px) {
    .p-slider-modal__slider .swiper-pagination-bullet {
      margin: 0 1.622vw !important;
    }
  }
  .p-slider-modal__slider .swiper-pagination-bullet-active {
    background: #e70000;
  }
  
  .p-slider-modal__img {
    display: block;
    margin: 50px auto;
    max-width: 880px;
  }
  .p-slider-modal__img img {
    width: 100%;
  }
  
  .p-slider-modal__text {
    border-top: 1px solid #000;
    font-size: 14px;
    line-height: 2;
    margin-top: 20px;
    padding-top: 35px;
  }
  @media screen and (max-width: 767px) {
    .p-slider-modal__text {
      border-top-width: 0.271vw;
      font-size: 3.784vw;
      margin-top: 5.406vw;
      padding-top: 6.082vw;
    }
  }
  .p-slider-modal__text a {
    color: #e70000;
    display: inline-block;
    margin-top: 1em;
  }
  
  /*================================
  .p-sp-cta
  ================================*/
  .p-sp-cta {
    position: fixed;
    z-index: 998;
    bottom: 0;
    left: 0;
    right: 0;
    display: none;
  }
  @media screen and (max-width: 767px) {
    .p-sp-cta {
      display: block;
    }
  }
  .p-sp-cta img {
    width: 100%;
    height: auto;
  }
  .p-sp-cta a {
    position: absolute;
    top: 0;
    display: block;
    height: 100%;
  }
  .p-sp-cta a.tel {
    left: 0;
    width: 16.6666666667%;
    pointer-events: all !important;
  }
  .p-sp-cta a.contact {
    left: 16.6666666667%;
    width: 16.6666666667%;
  }
  .p-sp-cta a.reserve {
    right: 50%;
    width: 16.6666666667%;
  }
  .p-sp-cta a.fair {
    width: 50%;
    right: 0;
  }
  
  /*================================
  .p-home
  ================================*/
  .p-home {
    overflow: hidden;
  }
  
  /*================================
  .p-home-mv
  ================================*/
  .p-home-mv {
    position: relative;
    padding-bottom: calc(87.77% + 340px);
  }
  @media screen and (max-width: 767px) {
    .p-home-mv {
      margin-top: 70px;
      padding-bottom: 0;
      height: 100vh;
    }
  }
  
  .p-home-mv.is--omoi {
    position: relative;
    padding-bottom: 30px;
  }
  
  .p-home-mv.is--mtMinus {
    margin-top: -120px;
  }
  
  .p-home-mv__catch {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    font-family: "kepler-std-display", serif;
    color: #b88f0d;
    font-size: 220px;
    font-weight: 300;
    margin-left: calc((100% - 1280px) / 2);
  }
  @media screen and (max-width: 1340px) {
    .p-home-mv__catch {
      margin-left: 30px;
    }
  }
  @media screen and (max-width: 1059px) {
    .p-home-mv__catch {
      font-size: 170px;
    }
  }
  @media screen and (max-width: 767px) {
    .p-home-mv__catch {
      margin-left: 15px;
      font-size: 20vw;
    }
  }
  .p-home-mv__catch span {
    display: block;
    transform: translateY(100%);
  }
  .p-home-mv__catch.text1 {
    top: 45px;
  }
  @media screen and (max-width: 767px) {
    .p-home-mv__catch.text1 {
      top: -20vw;
    }
  }
  .p-home-mv__catch.text2 {
    top: 220px;
    left: 260px;
  }
  @media screen and (max-width: 1059px) {
    .p-home-mv__catch.text2 {
      top: -2vw;
      left: 33vw;
    }
  }
  .p-home-mv__catch.text3 {
    top: 407px;
    left: 150px;
  }
  @media screen and (max-width: 1059px) {
    .p-home-mv__catch.text3 {
      top: 17vw;
      left: 3vw;
    }
  }
  
  .p-home-mv__catch.is--omoi {
    position: relative;
    line-height: 1.15;
  }
  .p-home-mv__catch.is--omoi.text1 {
    top: 0;
    margin-top: -150px;
  }
  .p-home-mv__catch.is--omoi.text2 {
    top: 0;
    left: 260px;
  }
  .p-home-mv__catch.is--omoi.text3 {
    top: 0;
    left: 150px;
  }
  
  .p-home-mv__black.is--page {
    margin-top: 0;
    height: 100%;
  }
  .p-home-mv__black.is--page .p-home-mv__black-inner > div.is--animate {
    height: 0;
  }
  
  .p-home-mv__img {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: calc(100% - 340px);
    margin-top: 340px;
    overflow: hidden;
  }
  @media screen and (max-width: 767px) {
    .p-home-mv__img {
      height: calc(100% - 70px);
      margin-top: 100px;
    }
  }
  .p-home-mv__img img {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 125%;
    object-fit: cover;
    object-position: right;
    transform: scale(1.2);
    transition: transform 3.4s;
  }
  .p-home-mv__img.is--scaleOut img {
    transform: scale(1);
  }
  
  .p-home-mv__img .p-home-mv-img__sp {
    display: none;
  }
  @media screen and (max-width: 767px) {
    .p-home-mv__img .p-home-mv-img__sp {
      display: inline;
      object-position: center!important;
    }
  }
  
  .p-home-mv__img .p-home-mv-img__pc {
    display: inline;
  }
  @media screen and (max-width: 767px) {
    .p-home-mv__img .p-home-mv-img__pc {
      display: none;
    }
  }
  
  .p-home-mv__img.is--omoi {
    position: relative;
    height: auto;
    margin-top: 0;
    padding-bottom: 22%;
  }
  
  .p-home-mv__news {
    position: absolute;
    z-index: 4;
    top: 68%;
    left: 0;
    width: 50%;
    padding: 0 0 0 calc((100% - 1280px) / 2);
  }
  @media screen and (max-width: 1340px) {
    .p-home-mv__news {
      padding: 0 0 0 30px;
      width: 75%;
    }
  }
  @media screen and (max-width: 767px) {
    .p-home-mv__news {
      position: relative;
      padding: 0 15px;
      width: 100%;
    }
  }
  .p-home-mv__news.pc {
    display: block;
  }
  @media screen and (max-width: 767px) {
    .p-home-mv__news.pc {
      display: none;
    }
  }
  .p-home-mv__news.sp {
    display: none;
  }
  @media screen and (max-width: 767px) {
    .p-home-mv__news.sp {
      display: block;
      padding-top: 55px;
    }
  }
  
  .p-home-mv__news-heading {
    margin-bottom: 57px;
  }
  @media screen and (max-width: 767px) {
    .p-home-mv__news-heading {
      margin-bottom: 22px;
    }
  }
  
  .p-home-mv__news-button {
    margin-top: 30px;
  }
  @media screen and (max-width: 767px) {
    .p-home-mv__news-button {
      margin-top: 28px;
    }
  }
  
  .p-home-mv__text {
    position: absolute;
    bottom: -50px;
    left: calc((100% - 1280px) / 2);
    color: #fff;
    font-size: 25px;
  }
  @media screen and (max-width: 1340px) {
    .p-home-mv__text {
      position: static;
      text-align: right;
      padding-right: 30px;
      margin-top: 35px;
    }
  }
  /*================================
  .p-home-cta
  ================================*/
  .p-home-cta {
    bottom: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    transition: opacity 1s 0.6s;
    width: 320px;
    z-index: 998;
  }
  @media screen and (max-width: 767px) {
    .p-home-cta {
      display: none !important;
    }
  }
  .p-home-cta a {
    display: block;
  }
  .p-home-cta img {
    width: 100%;
  }
  .p-home-cta.is--load {
    opacity: 1;
  }
  
  .page .p-home-cta {
    opacity: 1;
  }
  
  /*================================
  .p-home-description
  ================================*/
  .p-home-description {
    padding: 200px 0;
    color: #fff;
  }
  @media screen and (max-width: 767px) {
    .p-home-description {
      padding: 100px 0;
    }
  }
  .p-home-description.is--scrollTrigger .p-home-description__header {
    opacity: 1;
  }
  .p-home-description.is--scrollTrigger .p-home-description__contents {
    opacity: 1;
  }
  
  .p-home-description__inner {
    display: flex;
  }
  @media screen and (max-width: 767px) {
    .p-home-description__inner {
      display: block;
    }
  }
  
  .p-home-description__header {
    width: 50%;
    padding-right: 30px;
    opacity: 0;
    transition: opacity 1s;
  }
  @media screen and (max-width: 767px) {
    .p-home-description__header {
      width: 100%;
      padding-right: 0;
    }
  }
  .p-home-description__header h2 {
    font-size: 24px;
    line-height: 2;
  }
  @media screen and (max-width: 767px) {
    .p-home-description__header h2 {
      font-size: 16px;
    }
  }
  .p-home-description__header p {
    font-size: 11px;
    margin-top: 42px;
  }
  @media screen and (max-width: 767px) {
    .p-home-description__header p {
      font-size: 10px;
      margin-top: 18px;
    }
  }
  
  .p-home-description__contents {
    width: 50%;
    opacity: 0;
    transition: opacity 1s 0.6s;
  }
  @media screen and (max-width: 767px) {
    .p-home-description__contents {
      width: 100%;
      margin-top: 42px;
    }
  }
  .p-home-description__contents p {
    font-size: 16px;
    line-height: 2.5;
  }
  @media screen and (max-width: 767px) {
    .p-home-description__contents p {
      font-size: 14px;
    }
  }
  
  /*================================
  .p-home-fixed
  ================================*/
  .p-home-fixed {
    width: 100%;
    pointer-events: none;
  }
  .p-home-fixed1 {
    padding-bottom: 54.25%;
  }
  @media screen and (max-width: 767px) {
    .p-home-fixed1 {
      display:block !important;
      padding-bottom: 125%!important;
    }
    .p-home-philosophy .p-home-philosophy-top{
      display: none!important;
    }
  }
  .p-home-fixed2 {
    padding-bottom: 70%;
  }
  @media screen and (max-width: 767px) {
    .p-home-fixed2 {
      padding-bottom: 125%;
    }
  }
  
  .p-home-fixed__inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }
  
  /*================================
  .p-home-philosophy
  ================================*/
  .p-home-philosophy-top {
    display: none;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy-top {
      display: block;
      padding: 0!important;
      background-image: url(../images/common/bg_all.png)!important;
      height: 280px;
      margin-top: -100px;
    }
    .p-home-philosophy-top .l-container {
      padding: 0!important;
    }
    .p-home-philosophy-top .p-home-ceremony__img {
      padding-bottom: 63%!important;
      margin-top: -50px!important;
    }
    .p-home-philosophy-top-img {
      max-width: 100%;
    }
  }
  
  .p-home-philosophy {
    position: relative;
    padding: 370px 0 440px;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy {
      padding: 60px 0 140px;
      margin-top: -5px;
    }
  }
  .p-home-philosophy::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/common/bg_all.png);
    background-size: 100% auto;
  }
  .p-home-philosophy.is--bgNone::after {
    opacity: 0;
    transition: opacity 0.3s;
  }
  .p-home-philosophy .l-container {
    position: relative;
    z-index: 1;
  }
  
  .p-home-philosophy__heading {
    position: relative;
    text-align: right;
    z-index: 1;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy__heading {
      text-align: left;
    }
  }
  
  .p-home-philosophy__content {
    color: #fff;
  }
  .p-home-philosophy__content h3 {
    font-size: 24px;
    line-height: 1.8;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy__content h3 {
      font-size: 16px;
    }
  }
  .p-home-philosophy__content p {
    font-size: 16px;
    line-height: 2;
    margin-top: 54px;
    color: #c6c6c6;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy__content p {
      font-size: 14px;
      margin-top: 20px;
      line-height: 1.75;
    }
  }
  
  .p-home-philosophy__contents1 {
    display: flex;
    width: calc(100% + 30px);
    transform: translateX(-30px) translateY(-53px);
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy__contents1 {
      width: 100%;
      flex-direction: column;
      transform: none;
    }
  }
  .p-home-philosophy__contents1 + .p-home-philosophy__contents1 {
    margin-top: 74px;
  }
  .p-home-philosophy__contents1.is--inverse .p-home-philosophy__contents1-img {
    order: 2;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy__contents1.is--inverse .p-home-philosophy__contents1-img {
      order: 1;
    }
  }
  .p-home-philosophy__contents1.is--inverse .p-home-philosophy__contents1-content {
    order: 1;
    padding-left: 0px;
    padding-right: 50px;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy__contents1.is--inverse .p-home-philosophy__contents1-content {
      order: 2;
      padding-right: 0;
      margin-left: 0;
    }
  }
  
  .p-home-philosophy__contents1-img {
    width: 59%;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy__contents1-img {
      width: 100%;
    }
  }
  .p-home-philosophy__contents1-img .inner {
    position: relative;
    width: 100%;
    padding-bottom: 73%;
    overflow: hidden;
  }
  .p-home-philosophy__contents1-img .inner img {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .p-home-philosophy__contents1-content {
    width: 43%;
    padding-top: 74px;
    padding-left: 55px;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy__contents1-content {
      width: 100%;
      padding-left: 0;
    }
  }
  
  .p-home-philosophy__contents2 {
    margin-top: 130px;
    display: flex;
    justify-content: space-between;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy__contents2 {
      flex-direction: column;
    }
  }
  .p-home-philosophy__contents2.is--inverse .p-home-philosophy__contents2-img {
    order: 2;
  }
  .p-home-philosophy__contents2.is--inverse .p-home-philosophy__contents2-content {
    order: 1;
  }
  
  @media screen and (max-width: 767px) {
    .p-home-philosophy__contents2-img,
    .p-home-philosophy__contents2-content {
      max-width: none;
    }
  }
  
  @media screen and (max-width: 767px) {
    .p-home-philosophy__contents2-content {
      order: 2 !important;
      margin-top: 24px;
    }
  }
  
  @media screen and (max-width: 767px) {
    .p-home-philosophy__contents2-img {
      order: 1 !important;
    }
  }
  
  .p-home-philosophy__button {
    text-align: right;
    margin-top: 150px;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy__button {
      margin-top: 80px;
    }
  }
  .p-home-philosophy__button a {
    display: inline-block;
    width: 25%;
  }
  @media screen and (max-width: 767px) {
    .p-home-philosophy__button a {
      width: 50%;
    }
  }
  
  /*================================
  .p-home-ceremony
  ================================*/
  .p-home-ceremony {
    position: relative;
    padding: 0 0 380px;
  }
  @media screen and (max-width: 767px) {
    .p-home-ceremony {
      padding: 0 0 180px;
    }
  }
  
  .p-home-ceremony__heading {
    position: relative;
    z-index: 1;
  }
  
  .p-home-ceremony__body {
    transform: translateY(-50px);
  }
  @media screen and (max-width: 767px) {
    .p-home-ceremony__body {
      transform: none;
    }
  }
  
  .p-home-ceremony__item + .p-home-ceremony__item {
    margin-top: 150px;
  }
  @media screen and (max-width: 767px) {
    .p-home-ceremony__item + .p-home-ceremony__item {
      margin-top: 90px;
    }
  }
  
  .p-home-ceremony__img {
    position: relative;
    padding-bottom: 66.19%;
    overflow: hidden;
  }
  .p-home-ceremony__img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .p-home-ceremony__contents {
    padding-top: 80px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }
  @media screen and (max-width: 767px) {
    .p-home-ceremony__contents {
      flex-direction: column;
      padding-top: 39px;
    }
  }
  
  .p-home-ceremony__contents-text {
    width: 50%;
    padding-right: 150px;
    color: #fff;
  }
  @media screen and (max-width: 767px) {
    .p-home-ceremony__contents-text {
      width: 100%;
      padding-right: 0;
    }
  }
  .p-home-ceremony__contents-text h3 {
    font-size: 16px;
    font-weight: 700;
  }
  .p-home-ceremony__contents-text p {
    font-size: 14px;
    color: #c6c6c6;
    line-height: 1.8;
    margin-top: 40px;
  }
  @media screen and (max-width: 767px) {
    .p-home-ceremony__contents-text p {
      margin-top: 20px;
    }
  }
  
  .p-home-ceremony__contents-button {
    width: 50%;
    text-align: right;
  }
  @media screen and (max-width: 767px) {
    .p-home-ceremony__contents-button {
      width: 100%;
      padding-top: 80px;
    }
  }
  .p-home-ceremony__contents-button a {
    display: inline-block;
    width: 50%;
  }
  
  /*================================
  .p-home-style
  ================================*/
  .p-home-style {
    padding: 0 0 160px;
  }
  @media screen and (max-width: 767px) {
    .p-home-style {
      padding: 0 0 80px;
    }
  }
  
  .p-home-style__row {
    display: flex;
    margin-top: 60px;
  }
  @media screen and (max-width: 767px) {
    .p-home-style__row {
      flex-wrap: wrap;
      gap: 80px;
      margin-top: unset;
    }
  }
  .p-home-style__row.is--2nd {
    gap: 80px;
    margin-top: 230px;
  }
  @media screen and (max-width: 767px) {
    .p-home-style__row.is--2nd {
      margin-top: 80px;
    }
  }
  
  .p-home-style__row-column {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-home-style__row-column {
      width: 100%;
    }
  }
  
  .p-home-style__row-pic {
    aspect-ratio: 1;
    overflow: hidden;
    width: 86.5%;
  }
  @media screen and (max-width: 767px) {
    .p-home-style__row-pic {
      width: 100%;
    }
  }
  .p-home-style__row-pic img {
    height: 83%;
    object-fit: cover;
    width: 100%;
    margin-left: -1px;
  }
  .is--2nd .p-home-style__row-pic {
    aspect-ratio: 600/170;
    width: 100%;
  }
  
  .p-home-style__row-title {
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    margin-top: 40px;
  }
  @media screen and (max-width: 767px) {
    .p-home-style__row-title {
      margin: 0;
    }
  }
  .is--2nd .p-home-style__row-title {
    margin: 0;
  }
  
  .p-home-style__row-text {
    color: #b3b3b3;
    font-size: 14px;
    line-height: 2;
  }
  
  .p-home-style__row-button {
    margin-top: auto;
    text-align: right;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-home-style__row-button {
      margin-left: auto;
    }
  }
  .p-home-style__row-button a {
    width: 100%;
  }
  .is--2nd .p-home-style__row-button {
    margin-left: auto;
  }
  
  /*================================
  .p-home-plan
  ================================*/
  .p-home-plan {
    padding: 320px 0 180px;
  }
  @media screen and (max-width: 767px) {
    .p-home-plan {
      padding: 120px 0 90px;
    }
  }
  
  .p-home-plan__heading {
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-home-plan__heading {
      width: 100%;
    }
  }
  
  .p-home-plan__button {
    margin-top: 150px;
    text-align: right;
  }
  @media screen and (max-width: 767px) {
    .p-home-plan__button {
      margin-top: 80px;
    }
  }
  .p-home-plan__button a {
    display: inline-block;
    width: 25%;
  }
  @media screen and (max-width: 767px) {
    .p-home-plan__button a {
      width: 50%;
    }
  }
  
  /*================================
  .p-home-report
  ================================*/
  .p-home-report {
    padding: 0 0 215px;
  }
  @media screen and (max-width: 767px) {
    .p-home-report {
      padding: 0 0 120px;
    }
  }
  
  .p-home-report__header {
    position: relative;
    width: calc(100% + 30px);
  }
  @media screen and (max-width: 767px) {
    .p-home-report__header {
      width: 100%;
    }
  }
  
  .p-home-report__img {
    width: calc((100% + 10px) * 0.75);
    margin-left: auto;
  }
  @media screen and (max-width: 767px) {
    .p-home-report__img {
      width: calc((100% + 10px) * 0.85);
    }
  }
  .p-home-report__img .inner {
    position: relative;
    padding-bottom: 74.5%;
  }
  .p-home-report__img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .p-home-report__heading {
    position: absolute;
    top: 32%;
    left: 0;
    z-index: 1;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-home-report__heading {
      position: static;
      margin-bottom: 20px;
    }
  }
  
  .is--page .p-home-report__heading {
    position: static;
  }
  
  .p-home-report__list {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 120px 25%;
    margin-top: -110px;
  }
  @media screen and (max-width: 767px) {
    .p-home-report__list {
      margin-top: 0;
      gap: 67px;
      flex-direction: column;
    }
  }
  
  .is--page .p-home-report__list {
    margin-top: 100px;
  }
  
  .p-home-report__item {
    width: 25%;
  }
  @media screen and (max-width: 767px) {
    .p-home-report__item {
      width: 100%;
    }
  }
  .p-home-report__item a {
    display: block;
    padding-bottom: 21px;
    border-bottom: 2px solid #000;
  }
  
  .p-home-report__item a:hover img {
    transform: scale(1.12);
  }
  .p-home-report__item:nth-child(3) {
    margin-left: 25%;
  }
  @media screen and (max-width: 767px) {
    .p-home-report__item:nth-child(3) {
      margin: 0;
    }
  }
  
  .p-home-report__item-thumb {
    aspect-ratio: 320/214;
    overflow: hidden;
  }
  .p-home-report__item-thumb img {
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
    width: 100%;
  }
  
  .p-home-report__item-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    margin-top: 20px;
  }
  
  .p-home-report__item-tags {
    font-size: 11px;
    font-weight: 700;
    margin-top: 4px;
  }
  
  .p-home-report__item-text {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    overflow: hidden;
    font-size: 12px;
    margin-top: 14px;
  }
  
  .p-home-report__button {
    text-align: right;
    width: 25%;
    margin-left: auto;
    margin-top: 185px;
  }
  @media screen and (max-width: 767px) {
    .p-home-report__button {
      margin-top: 60px;
      width: 50%;
    }
  }
  .p-home-report__button a {
    width: 100%;
  }
  
  /*================================
  .p-home-menu
  ================================*/
  .p-home-menu {
    background-image: url(../images/common/bg_all.png);
    background-size: 100% auto;
    padding: 250px 0 310px;
  }
  @media screen and (max-width: 767px) {
    .p-home-menu {
      padding: 120px 0 150px;
    }
  }
  
  .p-home-menu__list {
    display: flex;
    flex-wrap: wrap;
    gap: 160px 0;
  }
  @media screen and (max-width: 767px) {
    .p-home-menu__list {
      flex-direction: column;
      gap: 67px;
    }
  }
  
  .p-home-menu__item {
    color: #fff;
    display: flex;
    flex-direction: column;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-home-menu__item {
      width: 100%;
    }
  }
  
  .p-home-menu__item-title {
    font-family: "kepler-std-display", serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.1;
  }
  @media screen and (max-width: 767px) {
    .p-home-menu__item-title {
      font-size: 22px;
    }
  }
  
  .p-home-menu__item-subtitle {
    font-size: 12px;
    font-weight: 500;
  }
  
  .p-home-menu__item-thumb {
    position: relative;
    margin-top: 33px;
    width: 50%;
    padding-bottom: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-home-menu__item-thumb {
      margin-top: 28px;
      width: 100%;
      padding-bottom: 100%;
    }
  }
  .p-home-menu__item-thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .p-home-menu__item-text {
    padding-right: 30px;
    font-size: 12px;
    color: #b3b3b3;
    margin-top: 25px;
  }
  @media screen and (max-width: 767px) {
    .p-home-menu__item-text {
      margin-top: 20px;
      padding-right: 0;
    }
  }
  
  .p-home-menu__item-button {
    margin-top: auto;
    padding-top: 25px;
    text-align: right;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-home-menu__item-button {
      padding-top: 20px;
      width: 100%;
    }
  }
  .p-home-menu__item-button a {
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-home-menu__item-button a {
      width: 50%;
    }
  }
  
  /*================================
  .p-home-faq
  ================================*/
  .p-home-faq {
    padding: 300px 0 295px;
    background-image: url(../images/common/bg_white2.jpg);
    background-size: 100% auto;
  }
  @media screen and (max-width: 767px) {
    .p-home-faq {
      padding: 120px 0 100px;
    }
  }
  .p-home-faq.page {
    background-image: none;
  }
  
  .p-home-faq__heading {
    width: 50%;
    margin-bottom: 130px;
  }
  @media screen and (max-width: 767px) {
    .p-home-faq__heading {
      width: 100%;
      margin-bottom: 60px;
    }
  }
  
  .p-home-faq__button {
    margin-top: 165px;
    text-align: right;
  }
  @media screen and (max-width: 767px) {
    .p-home-faq__button {
      margin-top: 80px;
    }
  }
  .p-home-faq__button a {
    width: 25%;
  }
  @media screen and (max-width: 767px) {
    .p-home-faq__button a {
      width: 50%;
    }
  }
  
  /*================================
  .p-home-map
  ================================*/
  .p-home-map iframe {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
  }
  @media screen and (max-width: 767px) {
    .p-home-map iframe {
      height: 250px;
    }
  }
  
  /*================================
  .p-omoi-days
  ================================*/
  .p-omoi-days__container {
    display: flex;
    flex-wrap: wrap;
    gap: 160px 6.25%;
  }
  @media screen and (max-width: 767px) {
    .p-omoi-days__container {
      gap: 21.622vw;
    }
  }
  
  .p-omoi-days__item.is--vertical {
    width: 46.875%;
  }
  @media screen and (max-width: 767px) {
    .p-omoi-days__item.is--vertical {
      width: 100%;
    }
  }
  .p-omoi-days__item.is--horizontal-left {
    flex-direction: row-reverse;
    gap: 6.25%;
  }
  .p-omoi-days__item[class*=is--horizontal] {
    align-items: center;
    display: flex;
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-omoi-days__item[class*=is--horizontal] {
      display: block;
    }
  }
  
  .p-omoi-days__item-img img {
    width: 100%;
  }
  .is--horizontal-left .p-omoi-days__item-img {
    width: 62.5%;
  }
  @media screen and (max-width: 767px) {
    .is--horizontal-left .p-omoi-days__item-img {
      width: 100%;
    }
  }
  .is--horizontal-right .p-omoi-days__item-img {
    margin-right: -4.6875%;
    width: 73.4375%;
  }
  @media screen and (max-width: 767px) {
    .is--horizontal-right .p-omoi-days__item-img {
      margin: 0;
      width: 100%;
    }
  }
  
  @media screen and (max-width: 767px) {
    .p-omoi-days__item-content {
      margin-top: 6.082vw;
    }
  }
  .is--vertical .p-omoi-days__item-content {
    margin-top: 35px;
  }
  @media screen and (max-width: 767px) {
    .is--vertical .p-omoi-days__item-content {
      margin-top: 6.082vw;
    }
  }
  [class*=is--horizontal] .p-omoi-days__item-content {
    width: 31.25%;
  }
  @media screen and (max-width: 767px) {
    [class*=is--horizontal] .p-omoi-days__item-content {
      width: 100%;
    }
  }
  
  .p-omoi-days__item-title {
    color: #b88f0d;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.2;
  }
  @media screen and (max-width: 767px) {
    .p-omoi-days__item-title {
      font-size: 5.406vw;
    }
  }
  .p-omoi-days__item-title span {
    font-family: "kepler-std-display", serif;
    font-style: italic;
  }
  .is--horizontal-right .p-omoi-days__item-title {
    padding-right: 1em;
  }
  @media screen and (max-width: 767px) {
    .is--horizontal-right .p-omoi-days__item-title {
      padding: 0;
    }
  }
  
  .p-omoi-days__item-text {
    color: #b3b3b3;
    font-size: 14px;
    line-height: 2;
    margin-top: 20px;
    margin-bottom: 30px;
  }
  @media screen and (max-width: 767px) {
    .p-omoi-days__item-text {
      font-size: 3.784vw;
      margin-top: 2.703vw;
      margin-bottom: 4.055vw;
    }
  }
  .is--horizontal-right .p-omoi-days__item-text {
    padding-right: 1em;
  }
  @media screen and (max-width: 767px) {
    .is--horizontal-right .p-omoi-days__item-text {
      padding: 0;
    }
  }
  
  /*================================
  .p-omoi-menu
  ================================*/
  .p-omoi-menu {
    padding: 260px 0 80px;
  }
  @media screen and (max-width: 767px) {
    .p-omoi-menu {
      padding: 35.136vw 0 10.811vw;
    }
  }
  
  .p-omoi-menu__container {
    display: flex;
    justify-content: space-between;
  }
  @media screen and (max-width: 767px) {
    .p-omoi-menu__container {
      flex-direction: column;
      gap: 15.541vw;
    }
  }
  .p-omoi-menu__container > * {
    width: 25%;
  }
  @media screen and (max-width: 767px) {
    .p-omoi-menu__container > * {
      width: 100%;
    }
  }
  .p-omoi-menu__container > * .p-home-menu__item-thumb {
    width: 100%;
    padding-bottom: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-omoi-menu__container > * .p-home-menu__item-thumb {
      padding-bottom: 69%;
    }
  }
  .p-omoi-menu__container > * .p-home-menu__item-button {
    width: 100%;
  }
  
  /*================================
  .p-ceremony-anchor
  ================================*/
  .p-ceremony-anchor {
    display: flex;
    justify-content: space-around;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-anchor {
      flex-direction: column;
      gap: 14.19vw;
      padding-top: 18.919vw;
    }
  }
  
  .p-ceremony-anchor__item {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 25%;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-anchor__item {
      position: relative;
      width: 100%;
    }
  }
  
  .p-ceremony-anchor__heading {
    text-align: center;
    font-size: 25px;
    color: #fff;
    padding-bottom: 15px;
    line-height: 1.2;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-anchor__heading {
      position: absolute;
      bottom: 6.757vw;
      left: 12.163vw;
      padding-bottom: 0;
      font-size: 5vw;
      transform: translateY(50%);
      text-align: left;
    }
  }
  
  .p-ceremony-anchor__img {
    position: relative;
    padding-bottom: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-anchor__img {
      padding-bottom: 42.4%;
    }
  }
  .p-ceremony-anchor__img-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .p-ceremony-anchor__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .p-ceremony-anchor__button {
    padding-top: 25px;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-anchor__button {
      text-align: left;
      padding-top: 4.73vw;
    }
  }
  .p-ceremony-anchor__button .circle {
    position: relative;
    width: 46px;
    height: 46px;
    display: inline-block;
    border: 1px solid #e70000;
    border-radius: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-anchor__button .circle {
      width: 9.46vw;
      height: 9.46vw;
    }
  }
  .p-ceremony-anchor__button .circle::before,
  .p-ceremony-anchor__button .circle::after {
    content: "";
    position: absolute;
    top: 60%;
    width: 10px;
    height: 1px;
    background-color: #e70000;
  }
  .p-ceremony-anchor__button .circle::before {
    left: 50%;
    transform-origin: left;
    transform: rotate(-45deg);
  }
  .p-ceremony-anchor__button .circle::after {
    right: 50%;
    transform-origin: right;
    transform: rotate(45deg);
  }
  
  /*================================
  .p-ceremony-section
  ================================*/
  .p-ceremony-section {
    margin-top: -120px;
    padding-top: 120px;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-section {
      margin-top: -60px;
      padding-top: 60px;
    }
  }
  .p-ceremony-section:not(:last-child) {
    padding-bottom: 195px;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-section:not(:last-child) {
      padding-bottom: 36.487vw;
    }
  }
  
  .p-ceremony-section__wrapper {
    padding: 190px 0 250px;
    margin-top: 120px;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-section__wrapper {
      padding: 33.784vw 0 37.838vw;
      margin-top: 31.082vw;
    }
  }
  
  .p-ceremony-section__heading {
    display: inline-block;
    min-width: 50%;
    padding-bottom: 80px;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-section__heading {
      padding-bottom: 11.622vw;
      width: 100%;
    }
  }
  
  .p-ceremony-section__img-inner {
    position: relative;
    padding-bottom: 67.4%;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-section__img-inner {
      padding-bottom: 100%;
    }
  }
  .p-ceremony-section__img-inner img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-section__img-inner img.position {
      /*object-position: -79vw;*/
    }
  }
  
  .p-ceremony-section__contents {
    padding-top: 55px;
  }
  .p-ceremony-section__contents h3 {
    margin: 110px 0 40px;
    font-size: 24px;
    font-weight: 700;
  }
  .p-ceremony-section__contents a:hover {
    text-decoration: underline;
  }
  @media screen and (max-width: 767px) {
    .p-ceremony-section__contents {
      padding-top: 9.46vw;
    }
    .p-ceremony-section__contents h3 {
      margin: 21.622vw 0 6.757vw;
      font-size: 4.595vw;
    }
    .p-ceremony-section__contents p {
      font-size: 3.784vw;
      line-height: 2;
    }
  }
  
  /*================================
  .p-faq
  ================================*/
  .p-faq {
    padding: 150px 0;
  }
  @media screen and (max-width: 767px) {
    .p-faq {
      padding: 16.217vw 0 27.028vw;
    }
  }
  
  /*================================
  .p-faq-list
  ================================*/
  .p-faq-list {
    display: flex;
    flex-wrap: wrap;
    gap: 120px 50px;
  }
  @media screen and (max-width: 767px) {
    .p-faq-list {
      flex-direction: column;
      gap: 13.514vw;
    }
  }
  .page-template-faq .p-faq-list {
    margin-top: 75px;
  }
  @media screen and (max-width: 767px) {
    .page-template-faq .p-faq-list {
      margin-top: 14.865vw;
    }
  }
  
  .p-faq-list__item {
    width: calc(50% - 25px);
  }
  @media screen and (max-width: 767px) {
    .p-faq-list__item {
      width: 100%;
    }
  }
  
  .p-faq-list__heading {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 25px;
  }
  @media screen and (max-width: 767px) {
    .p-faq-list__heading {
      font-size: 4.595vw;
      margin-bottom: 5.406vw;
    }
  }
  
  .p-faq-list__contents {
    font-size: 12px;
  }
  @media screen and (max-width: 767px) {
    .p-faq-list__contents {
      font-size: 3.784vw;
    }
  }
  
  /*================================
  .p-news-list
  ================================*/
  .p-news-list {
    display: flex;
    flex-direction: column;
    gap: 14px 0;
  }
  
  .p-news-list__item {
    display: block;
  }
  
  .p-news-list__link {
    display: flex;
    align-items: center;
    color: #fff;
  }
  @media screen and (max-width: 767px) {
    .p-news-list__link {
      flex-direction: column;
      align-items: flex-start;
      gap: 3px;
    }
  }
  .p-news-list__link:hover .p-news-list__title .text {
    color: #9e9e9e;
  }
  .p-news-list__link:hover .p-news-list__title .line {
    animation: line-fill 1.4s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0.5s infinite;
  }
  
  .p-news-list__title {
    position: relative;
    width: calc(100% - 72px);
    overflow: hidden;
    font-size: 14px;
    font-weight: 500;
    display: flex;
    align-items: center;
  }
  @media screen and (max-width: 767px) {
    .p-news-list__title {
      width: 100%;
      padding-bottom: 10px;
      order: 2;
    }
  }
  .p-news-list__title .text {
    position: relative;
    display: inline-block;
    transition: color 0.2s;
    padding-right: 13px;
  }
  @media screen and (max-width: 767px) {
    .p-news-list__title .text {
      padding-right: 0;
    }
  }
  .p-news-list__title .line {
    min-width: 100px;
    flex: 1;
    height: 1px;
    background-color: #e70000;
  }
  @media screen and (max-width: 767px) {
    .p-news-list__title .line {
      display: none;
    }
  }
  @keyframes line-fill {
    0% {
      transform: scale(1);
      transform-origin: right center;
    }
    35% {
      transform: scale(0);
      transform-origin: right center;
    }
    36% {
      transform: scale(0);
      transform-origin: left center;
    }
    71%, to {
      transform: scale(1);
      transform-origin: left center;
    }
  }
  
  .p-news-list__date {
    width: 72px;
    display: block;
    text-align: right;
    font-size: 10px;
    font-weight: 500;
  }
  @media screen and (max-width: 767px) {
    .p-news-list__date {
      order: 1;
      font-size: 12px;
      transform: translateX(-3px);
    }
  }
  
  /*================================
  .p-about-contents
  ================================*/
  .p-about-contents {
    padding: 190px 0 230px;
  }
  @media screen and (max-width: 767px) {
    .p-about-contents {
      padding: 25.676vw 0 21.622vw;
    }
  }
  .p-about-contents h2 {
    margin-bottom: 55px;
  }
  @media screen and (max-width: 767px) {
    .p-about-contents h2 {
      margin-bottom: 13.514vw;
    }
  }
  .p-about-contents h3 {
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 16px;
  }
  @media screen and (max-width: 767px) {
    .p-about-contents h3 {
      font-size: 4.595vw;
      margin-bottom: 6.352vw;
    }
  }
  .p-about-contents h3.mt {
    margin-top: 90px;
  }
  @media screen and (max-width: 767px) {
    .p-about-contents h3.mt {
      margin-top: 15.541vw;
    }
  }
  .p-about-contents p {
    margin-top: 20px;
    font-size: 14px;
    line-height: 2;
  }
  @media screen and (max-width: 767px) {
    .p-about-contents p {
      margin-top: 6.352vw;
      font-size: 3.784vw;
    }
  }
  /*================================
  .p-interior-images
  ================================*/
  .p-interior-images {
  
  }
  
  .p-interior-images__wrapper {
    display: flex;
  
  }
  
  .p-interior-images__inner {
    width: 33.3%;
  }
  
  .p-interior-images__inner > img {
    display: block;
    height: 800px;
    width: 100%;
    object-fit: cover;
  }
  @media screen and (max-width: 767px) {
    .p-interior-images__inner > img {
      height: 320px;
    }
  }
  /*================================
  .p-message-book
  ================================*/
  .p-message-book {
    padding: 120px 0 130px;
  }
  
  .p-message-book__wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  
  @media screen and (max-width: 767px) {
    .p-message-book__wrapper {
      flex-direction: column;
      gap: 30px;
    }
  }
  
  .p-message-book__inner {
  
  }
  
  .p-message-book__head {
    font-weight: 700;
  }
  
  .p-message-book__text {
    font-size: 14px;
    margin-top: 28px;
    line-height: 1.8;
  }
  
  .p-message-book__inner {}
  
  .p-message-book__img {
    width: fit-content;
    margin: auto;
  }
  
  .p-message-book__img > img {
    display: block;
    max-width: 256px;
  }
  
  .p-message-book__text-inner {
    font-size: 12px;
    margin-top: 20px;
  }
  
  /*================================
  .p-architecture-feature
  ================================*/
  .p-architecture-feature {
    background: #fff;
    padding: 200px 0 210px;
  }
  
  .p-architecture-feature__body {
  
  }
  
  .p-architecture-feature__wrapper {
    display: flex;
    align-items: center;
  }
  
  @media screen and (max-width: 1080px) {
    .p-architecture-feature__wrapper {
      flex-direction: column;
      gap: 40px;
      max-width: 640px;
      margin: auto;
    }
  }
  
  .p-architecture-feature__wrapper:not(:first-child) {
    margin-top: 80px;
  }
  
  .p-architecture-feature__wrapper:nth-child(even) {
    flex-direction: row-reverse;
  }
  
  @media screen and (max-width: 1080px) {
    .p-architecture-feature__wrapper:nth-child(even) {
      flex-direction: column;
    }
  }
  
  .p-architecture-feature__img {
   
  }
  
  .p-architecture-feature__img > img {
    display: block;
    max-width: 100%;
  }
  
  .p-architecture-feature__explanation {
    width: calc(100% - 610px);
  }
  
  @media screen and (max-width: 1080px) {
    .p-architecture-feature__explanation {
      width: 100%;
    }
  }
  
  .p-architecture-feature__head {
    position: relative;
  }
  
  .p-architecture-feature__head::before {
    content: '';
    height: 1px;
    width: 100%;
    background: #000;
    position: absolute;
    left: 0;
    bottom: -20px;
  }
  
  .p-architecture-feature__wrapper:nth-child(even) .p-architecture-feature__head::before {
    left: unset;
    right: 0;
  }
  
  .p-architecture-feature__head-inner {
    margin-left: 40px;
    font-weight: 700;
  }
  
  @media screen and (max-width: 1080px) {
    .p-architecture-feature__head-inner {
      margin-left: unset;
    }
  }
  
  .p-architecture-feature__wrapper:nth-child(even) .p-architecture-feature__head-inner {
    margin-left: unset;
    margin-right: 40px;
  }
  
  @media screen and (max-width: 1080px) {
    .p-architecture-feature__wrapper:nth-child(even) .p-architecture-feature__head-inner {
      margin-right: unset;
    }
  }
  
  .p-architecture-feature__head-sub-inner {
    font-size: 80%;
  }
  
  .p-architecture-feature__text {
    margin-left: 40px;
    margin-top: 40px;
  }
  
  @media screen and (max-width: 1080px) {
    .p-architecture-feature__text {
      margin-left: unset;
    }
  }
  
  .p-architecture-feature__wrapper:nth-child(even) .p-architecture-feature__text {
    margin-left: unset;
    margin-right: 40px;
  }
  
  @media screen and (max-width: 1080px) {
    .p-architecture-feature__wrapper:nth-child(even) .p-architecture-feature__text {
      margin-right: unset;
    }
  }
  
  .p-architecture-feature__text-inner {
    font-size: clamp(14px, 1vw, 16px);
    line-height: 2.2;
  }
  /*================================
  .p-about-map
  ================================*/
  .p-about-map {
    background: #fff;
    padding: 20px 0 50px;
  }
  
  .p-about-map__img {
    margin: auto;
    max-width: 840px;
  }
  .p-about-map__img .imgl-marker {
    animation: marker 2s infinite;
    cursor: pointer;
  }
  @keyframes marker {
    50% {
      transform: scale(1.5);
    }
  }
  .p-about-map__img .imgl-tooltips img {
    margin: 0.5em 0;
  }
  
  .p-about-map__view {
    margin: 120px 0 60px;
    text-align: center;
  }
  .p-about-map__view iframe {
    height: 400px;
  }
  @media screen and (max-width: 767px) {
    .p-about-map__view iframe {
      width: 100% !important;
      height: 81.082vw;
    }
  }
  
  /*------ fix ------*/
  .p-about-map__floor {
    position: relative;
    overflow-x: scroll;
  }
  
  @media screen and (min-width: 960px) {
    .p-about-map__floor {
      overflow-x: unset;
    }
  }
  
  .p-about-map__floor-img {
    position: relative;
    width: 840px;
    margin: auto;
  }
  
  @media screen and (max-width: 620px) {
    .p-about-map__floor-img  {
      width: 360px;
    }
  }
  
  .p-about-map__floor-img > img {
    display: block;
    width: 100%;
    /* max-width: 840px; */
    height: auto;
    margin: auto;
  }
  
  
  .p-about-map__pin {
    background: url(../../assets/images/architecture/floor-pin.png) center center / cover no-repeat;
    /* background: red; */
    width: 100px;
    height: 100px;
    display: inline-block;
    cursor: pointer;
    position: absolute;
  }
  
  @media screen and (max-width: 620px) {
    .p-about-map__pin {
      width: 42px;
      height: 45px;
    }
  }
  
  .p-about-map__pin:first-child {}
  
  .p-about-map__pin:nth-child(2) {
    top: 8%;
    right: 9%;
  }
  .p-about-map__pin:nth-child(3) {
    top: 12%;
    right: 27%;
  }
  .p-about-map__pin:nth-child(4) {
    top: 13%;
    right: 44%;
  }
  .p-about-map__pin:nth-child(5) {
    top: 21%;
    left: 21%;
  }
  .p-about-map__pin:nth-child(6) {
    top: 26%;
    right: 33%;
  }
  .p-about-map__pin:nth-child(7) {
    top: 28%;
    left: 35%;
  }
  .p-about-map__pin:nth-child(8) {
    top: 31%;
    left: 10%;
  }
  .p-about-map__pin:nth-child(9) {
    bottom: 40%;
    right: 19%;
  }
  .p-about-map__pin:nth-child(10) {
    bottom: 25%;
    right: 29%;
  }
  .p-about-map__pin:nth-child(11) {
    bottom: 29%;
    left: 18%;
  }
  
  /* 
  .p-about-map__floor-pin-img {
    display: inline-block;
  }
  
  .p-about-map__floor-pin-img > img {
    display: inline-block;
  } */
  .p-about-map__modal {
    /* 初期状態では非表示にする */
    opacity: 0;
    visibility: hidden;
    /* トランジションを設定 */
    transition: opacity 0.3s linear, visibility 0.3s linear;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    /* 必要に応じて他のスタイルを追加 */
  }
  
  /* モーダルが表示されるときのスタイル */
  .p-about-map__modal.show {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s linear, visibility 0s linear 0s; /* visibilityの遅延を0に設定 */
  }
  
  .p-about-map__modal-content {
    background: #fff;
    padding: 20px;
    position: relative;
    max-width: 500px;
    width: 92%;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
  }
  
  @media screen and (min-width: 767px) {
    .p-about-map__modal-content {
      margin-top: 80px;
    }
  }
  
  .p-about-map__modal-head {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
  }
  
  .p-about-map__modal-text {
    margin-top: 20px;
  }
  
  .p-about-map__modal-content > img {
    display: block;
    width: 92%;
    margin: 20px auto 0;
  }
  
  .modal-close-btn {
    /* ボタンのスタイリング */
    aspect-ratio: 1;
    position: absolute;
    right: -5px;
    top: -10px;
    width: 50px;
    background: #e70000;
    border-radius: 999px;
  }
  
  @media screen and (min-width: 767px) {
    .modal-close-btn {
      right: -25px;
      top: -10px;
    }
  }
  
  .modal-close-btn::before {
    border-top: 1px solid #fff;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    width: 60%;
  }
  .modal-close-btn::after {
    border-top: 1px solid #fff;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    width: 60%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  
  /*================================
  .p-about-members
  ================================*/
  .p-about-members {
    padding: 250px 0 240px;
  }
  @media screen and (max-width: 767px) {
    .p-about-members {
      padding: 35.136vw 0 41.892vw;
    }
  }
  
  .p-about-members__item {
    display: flex;
    align-items: center;
    gap: 35px;
  }
  @media screen and (max-width: 767px) {
    .p-about-members__item {
      position: relative;
      gap: 0;
    }
    .p-about-members__item + .p-about-members__item {
      margin-top: 21.622vw;
    }
  }
  
  .p-about-members__thumbnail {
    width: 350px;
    height: 350px;
    margin-right: 35px;
  }
  @media screen and (max-width: 767px) {
    .p-about-members__thumbnail {
      position: absolute;
      top: 0;
      left: 0;
      width: 44.595vw;
      height: 44.595vw;
      margin-right: 0;
    }
  }
  .p-about-members__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .p-about-members__contents {
    width: calc(100% - 350px - 35px);
    color: #fff;
  }
  @media screen and (max-width: 767px) {
    .p-about-members__contents {
      width: 100%;
    }
  }
  
  @media screen and (max-width: 767px) {
    .p-about-members__contents-head {
      position: absolute;
      top: 0;
      right: 0;
      width: 44.595vw;
      height: 44.595vw;
      padding-left: 2.703vw;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
  }
  
  .p-about-members__contents-position {
    font-size: 14px;
  }
  @media screen and (max-width: 767px) {
    .p-about-members__contents-position {
      font-size: 3.784vw;
      line-height: 1.5;
    }
  }
  
  .p-about-members__contents-name {
    font-size: 24px;
    margin: 4px 0 27px;
    letter-spacing: 0.15em;
    line-height: 1;
  }
  @media screen and (max-width: 767px) {
    .p-about-members__contents-name {
      margin: 2.028vw 0 0;
      font-size: 6.217vw;
    }
  }
  .p-about-members__contents-name span {
    font-size: 14px;
  }
  @media screen and (max-width: 767px) {
    .p-about-members__contents-name span {
      font-size: 3.784vw;
      line-height: 1;
      display: inline-block;
      line-height: 1.3;
      margin-top: 2.703vw;
    }
  }
  
  .p-about-members__contents-text {
    font-size: 14px;
    line-height: 2;
  }
  @media screen and (max-width: 767px) {
    .p-about-members__contents-text {
      padding-top: 52.028vw;
      font-size: 3.784vw;
    }
  }
  
  .p-about-members__map {
    margin-top: 110px;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .p-about-members__map {
      margin-top: 18.919vw;
    }
  }
  .p-about-members__map iframe {
    aspect-ratio: 600/450;
    max-width: 100%;
    width: 600px;
  }
  
  /*================================
  .p-about-gallery
  ================================*/
  .p-about-gallery {
    padding: 260px 0 220px;
  }
  @media screen and (max-width: 767px) {
    .p-about-gallery {
      padding: 29.73vw 0 28.379vw;
    }
  }
  
  /*================================
  .p-party-contents
  ================================*/
  .p-party-contents {
    padding-top: 150px;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents {
      padding-top: 16.217vw;
    }
  }
  .p-party-contents + .p-party-contents {
    padding: 0;
  }
  
  .p-party-contents__heading {
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__heading {
      width: 100%;
    }
  }
  
  .p-party-contents__style {
    align-items: center;
    display: flex;
    gap: 20px;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__style {
      flex-direction: column;
      gap: 6.757vw;
    }
  }
  .p-party-contents__style + .p-party-contents__style {
    margin-top: 45px;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__style + .p-party-contents__style {
      margin-top: 20.271vw;
    }
  }
  
  .p-party-contents__style-slider {
    flex-shrink: 0;
    overflow: hidden;
    width: 57.8125%;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__style-slider {
      width: 100%;
    }
  }
  
  .p-party-contents__style-title {
    font-size: 16px;
    font-weight: bold;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__style-title {
      font-size: 4.325vw;
    }
  }
  
  .p-party-contents__style-text {
    font-size: 14px;
    line-height: 2;
    margin-top: 35px;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__style-text {
      font-size: 3.784vw;
      margin-top: 6.757vw;
    }
  }
  
  .p-party-contents__item {
    margin-top: 120px;
    display: flex;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__item {
      margin-top: 22.973vw;
      flex-direction: column;
    }
  }
  .p-party-contents__item.is--inverse .p-party-contents__thumbnail {
    order: 2;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__item.is--inverse .p-party-contents__thumbnail {
      order: 1;
    }
  }
  .p-party-contents__item.is--inverse .p-party-contents__content {
    order: 1;
    padding-left: 0;
    padding-right: 40px;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__item.is--inverse .p-party-contents__content {
      order: 2;
      padding-right: 0;
    }
  }
  
  .p-party-contents__thumbnail {
    order: 1;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__thumbnail {
      width: 100%;
    }
  }
  
  .p-party-contents__thumbnail-inner {
    overflow: hidden;
  }
  .p-party-contents__thumbnail-inner img {
    width: 100%;
  }
  
  .p-party-contents__content {
    order: 2;
    width: 50%;
    padding-left: 40px;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__content {
      width: 100%;
      padding-left: 0;
      padding-top: 6.082vw;
    }
  }
  
  .p-party-contents__content-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 24px;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__content-title {
      font-size: 4.055vw;
      margin-bottom: 6.217vw;
    }
  }
  
  .p-party-contents__content-text {
    font-size: 14px;
    line-height: 2;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__content-text {
      font-size: 3.784vw;
    }
  }
  
  .p-party-contents__content-button {
    width: 50%;
    padding-top: 125px;
    margin-left: auto;
  }
  @media screen and (max-width: 767px) {
    .p-party-contents__content-button {
      padding-top: 8.649vw;
    }
  }
  .p-party-contents__content-button a {
    display: block;
    text-align: right;
  }
  
  /*================================
  .p-party-gallery
  ================================*/
  .p-party-gallery {
    padding: 0 0 330px;
  }
  @media screen and (max-width: 767px) {
    .p-party-gallery {
      padding: 0 0 35.136vw;
    }
  }
  
  /*================================
  .p-photo-top
  ================================*/
  .p-photo-top {
    padding: 180px 0 130px;
  }
  @media screen and (max-width: 767px) {
    .p-photo-top {
      padding: 27.028vw 0;
    }
  }
  
  .p-photo-top__catch {
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
  }
  @media screen and (max-width: 767px) {
    .p-photo-top__catch {
      font-size: 3.784vwvw;
      line-height: 2.0;
    }
  }
  
  .p-photo-top__list {
    display: flex;
    gap: 30px;
    justify-content: space-between;
    padding-top: 130px;
  }
  @media screen and (max-width: 767px) {
    .p-photo-top__list {
      flex-wrap: wrap;
      gap: 5.406vw;
      padding-top: 27.028vw;
    }
  }
  
  .p-photo-top__list-item {
    background: #fff;
    border-radius: 2px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
    max-width: 320px;
    padding: 60px 20px;
    text-align: center;
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-photo-top__list-item {
      border-radius: 0.541vw;
      box-shadow: 0 0 0.676vw rgba(0, 0, 0, 0.25);
      max-width: none;
      padding: 8.109vw 5.406vw;
    }
  }
  
  .p-photo-top__list-title {
    font-size: 20px;
    font-weight: bold;
  }
  @media screen and (max-width: 767px) {
    .p-photo-top__list-title {
      font-size: 4.73vw;
    }
  }
  
  .p-photo-top__list-price {
    border-bottom: 1px dashed #000;
    border-top: 1px dashed #000;
    font-size: 24px;
    font-weight: bold;
    margin: 30px 0;
    padding: 26px 0;
  }
  @media screen and (max-width: 767px) {
    .p-photo-top__list-price {
      border-bottom-width: 0.271vw;
      border-top-width: 0.271vw;
      font-size: 6.757vw;
      margin: 5.406vw 0;
      padding: 4.055vw 0;
    }
  }
  
  .p-photo-top__list-content {
    font-size: 14px;
    font-weight: bold;
    line-height: 2;
  }
  @media screen and (max-width: 767px) {
    .p-photo-top__list-content {
      font-size: 3.244vw;
    }
  }
  
  .p-photo-top__supply {
    font-size: 12px;
    font-weight: bold;
    line-height: 2;
    padding-top: 60px;
    text-align: right;
  }
  @media screen and (max-width: 767px) {
    .p-photo-top__supply {
      font-size: 2.703vw;
      line-height: 1.5;
      padding-top: 8.109vw;
    }
  }
  
  .p-photo-img {
    aspect-ratio: 1400/590;
    max-height: 590px;
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-photo-img {
      aspect-ratio: 1;
      max-height: none;
    }
  }
  .p-photo-img img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-photo-img img {
      object-position: 55.5%;
    }
  }
  
  .p-photo-plan {
    color: #fff;
    padding: 100px 0 170px;
  }
  @media screen and (max-width: 767px) {
    .p-photo-plan {
      padding: 16.217vw 0 21.622vw;
    }
  }
  
  .p-photo-plan__heading {
    margin-bottom: 76px;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-photo-plan__heading {
      margin-bottom: 10.811vw;
      width: 100%;
    }
  }
  
  .p-photo-plan__price {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 34px;
  }
  @media screen and (max-width: 767px) {
    .p-photo-plan__price {
      font-size: 6.757vw;
      margin-bottom: 9.46vw;
    }
  }
  
  .p-photo-plan__text {
    font-size: 14px;
    line-height: 2;
    margin-bottom: 35px;
  }
  @media screen and (max-width: 767px) {
    .p-photo-plan__text {
      font-size: 3.784vw;
      margin-bottom: 10.811vw;
    }
  }
  
  .p-photo-plan__content {
    font-size: 14px;
    font-weight: bold;
    line-height: 2;
    margin-bottom: 35px;
  }
  @media screen and (max-width: 767px) {
    .p-photo-plan__content {
      font-size: 3.244vw;
      margin-bottom: 12.163vw;
    }
  }
  
  .p-photo-plan__supply {
    font-size: 14px;
    font-weight: bold;
  }
  @media screen and (max-width: 767px) {
    .p-photo-plan__supply {
      font-size: 2.703vw;
    }
  }
  
  /*================================
  .p-cuisine-media
  ================================*/
  .p-cuisine-media {
    overflow: hidden;
    padding: 150px 0;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-media {
      padding: 18.919vw 0 0;
    }
  }
  
  .p-cuisine-media__item {
    position: relative;
    display: flex;
    align-items: center;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-media__item {
      width: calc(100% + 10.811vw);
      transform: translateX(-5.405vw);
    }
  }
  .p-cuisine-media__item:nth-of-type(2n) .p-cuisine-media__img {
    margin-left: auto;
    transform: translateX(60px);
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-media__item:nth-of-type(2n) .p-cuisine-media__img {
      transform: none;
    }
  }
  .p-cuisine-media__item:nth-of-type(2n) .p-cuisine-media__contents {
    left: 0;
    right: auto;
    transform: translateY(-50%) translateX(-60px);
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-media__item:nth-of-type(2n) .p-cuisine-media__contents {
      left: 50%;
      transform: translateX(-50%);
      bottom: 12.163vw;
    }
  }
  .p-cuisine-media__item + .p-cuisine-media__item {
    margin-top: 150px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-media__item + .p-cuisine-media__item {
      margin-top: 0;
    }
  }
  
  .p-cuisine-media__img {
    width: 79.5%;
    transform: translateX(-60px);
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-media__img {
      width: 100%;
      transform: none;
    }
  }
  .p-cuisine-media__img img {
    width: 100%;
  }
  
  .p-cuisine-media__contents {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) translateX(60px);
    width: 46.5%;
    background-color: #fff;
    padding: 60px 50px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-media__contents {
      top: auto;
      left: 50%;
      bottom: 12.163vw;
      transform: translate(-50%);
      width: calc(100% - 10.811vw);
      padding: 12.838vw 5.406vw 12.163vw;
    }
  }
  
  .p-cuisine-media__contents-title {
    font-size: 16px;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-media__contents-title {
      font-size: 4.595vw;
    }
  }
  
  .p-cuisine-media__contents-text {
    font-size: 14px;
    line-height: 2;
    margin-top: 19px;
  }
  .p-cuisine-media__contents-text strong {
    font-size: 16px;
    font-weight: bold;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-media__contents-text {
      font-size: 3.784vw;
      margin-top: 6.082vw;
    }
  }
  
  .p-cuisine-sections {
    padding: 150px 0 220px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections {
      padding: 20.271vw 0 33.784vw;
    }
  }
  
  .p-cuisine-sections__item + .p-cuisine-sections__item {
    margin-top: 130px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__item + .p-cuisine-sections__item + .p-cuisine-sections__item + .p-cuisine-sections__item {
      margin-top: 27.028vw;
    }
  }
  
  .p-cuisine-sections__heading {
    width: 50%;
    margin-bottom: 60px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__heading {
      width: 100%;
      margin-bottom: 9.46vw;
    }
  }
  
  .p-cuisine-sections__slider {
    position: relative;
    margin-top: 70px;
    overflow: hidden;
    width: calc(100% + 120px);
    transform: translateX(-60px);
    padding-left: 60px;
    padding-right: 60px;
  }
  .p-cuisine-sections__slider .swiper-button-prev,
  .p-cuisine-sections__slider .swiper-button-next {
    width: 20px;
    height: 36px;
    top: 50%;
    transform: translateY(-50%);
    background-position: center center;
    background-size: contain;
  }
  .p-cuisine-sections__slider .swiper-button-prev::after,
  .p-cuisine-sections__slider .swiper-button-next::after {
    content: none;
  }
  .p-cuisine-sections__slider .swiper-button-prev {
    background-image: url(../../assets/images/common/icon_arrow_left_red@2x.png);
  }
  .p-cuisine-sections__slider .swiper-button-next {
    background-image: url(../../assets/images/common/icon_arrow_right_red@2x.png);
  }
  .p-cuisine-sections__slider img {
    width: 100%;
  }
  @media screen and (max-width: 1400px) {
    .p-cuisine-sections__slider .swiper-button-prev {
      left: 35px;
    }
    .p-cuisine-sections__slider .swiper-button-next {
      right: 35px;
    }
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__slider {
      width: calc(100% + 10.811vw);
      margin-top: 10.811vw;
      transform: translateX(-5.405vw);
      padding: 0 5.406vw;
    }
    .p-cuisine-sections__slider .swiper-button-prev,
    .p-cuisine-sections__slider .swiper-button-next {
      width: 3.109vw;
      height: 5.946vw;
      transform: none;
    }
    .p-cuisine-sections__slider .swiper-button-prev {
      left: 1.082vw;
    }
    .p-cuisine-sections__slider .swiper-button-next {
      right: 1.082vw;
    }
  }
  
  .p-cuisine-sections__text {
    font-size: 14px;
    line-height: 2;
    margin-top: 55px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__text {
      font-size: 3.784vw;
      margin-top: 8.109vw;
    }
  }
  .p-cuisine-sections__text strong {
    font-size: 16px;
    font-weight: bold;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__text strong {
      font-size: 3.784vw;
    }
  }
  
  .p-cuisine-sections__profile {
    display: flex;
    gap: 40px;
    margin-top: 90px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__profile {
      gap: 0;
      margin-top: 13.514vw;
      position: relative;
    }
  }
  
  .p-cuisine-sections__profile-img {
    aspect-ratio: 1;
    width: 320px;
  }
  .p-cuisine-sections__profile-img img {
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__profile-img {
      left: 0;
      position: absolute;
      top: 0;
      width: 44.595vw;
    }
  }
  
  .p-cuisine-sections__profile-contents {
    width: calc(100% - 320px - 40px);
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__profile-contents {
      width: 100%;
    }
  }
  
  .p-cuisine-sections__profile-head {
    letter-spacing: 0.15em;
    line-height: 1.4;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__profile-head {
      display: flex;
      flex-direction: column;
      gap: 1.352vw;
      height: 44.595vw;
      justify-content: center;
      position: absolute;
      right: 0;
      top: 0;
      width: 41.892vw;
    }
  }
  .p-cuisine-sections__profile-head span {
    display: block;
    font-size: 14px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__profile-head span {
      font-size: 3.784vw;
    }
  }
  .p-cuisine-sections__profile-head strong {
    font-size: 24px;
    font-weight: normal;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__profile-head strong {
      font-size: 6.352vw;
    }
  }
  .p-cuisine-sections__profile-head sub {
    bottom: 0;
    font-size: 14px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__profile-head sub {
      font-size: 3.784vw;
      letter-spacing: 0;
      line-height: 1.6;
      margin-top: 1.352vw;
    }
  }
  
  .p-cuisine-sections__profile-body {
    margin-top: 15px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__profile-body {
      margin-top: 51.352vw;
    }
  }
  
  .p-cuisine-sections__profile-url {
    font-size: 14px;
    letter-spacing: 0.15em;
  }
  .p-cuisine-sections__profile-url a:hover {
    text-decoration: underline;
  }
  
  .p-cuisine-sections__profile-text {
    font-size: 12px;
    margin-top: 20px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__profile-text {
      font-size: 3.784vw;
      line-height: 2;
    }
  }
  
  .p-cuisine-sections__profile-message {
    border-top: 1px dashed #000;
    font-size: 14px;
    line-height: 2;
    margin-top: 30px;
    padding-top: 25px;
  }
  @media screen and (max-width: 767px) {
    .p-cuisine-sections__profile-message {
      border-top-width: 0.271vw;
      font-size: 3.784vw;
      margin-top: 6.757vw;
      padding-top: 6.757vw;
    }
  }
  
  /*================================
  .p-item
  ================================*/
  .p-item {
    padding-top: 150px;
  }
  @media screen and (max-width: 767px) {
    .p-item {
      padding-top: 16.217vw;
    }
  }
  
  /*================================
  .p-item-title
  ================================*/
  .p-item-title {
    border-bottom: 3px solid #b88f0d;
    color: #b88f0d;
    font-size: 50px;
    line-height: 1.4;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-item-title {
      border-bottom-width: 0.541vw;
      font-size: 6.487vw;
      width: 100%;
    }
  }
  .p-item-title .gsap-textSplit span {
    min-width: 0.35em;
  }
  
  /*================================
  .p-item-subtitle
  ================================*/
  .p-item-subtitle {
    font-size: 30px;
    font-weight: 600;
    line-height: 1;
  }
  @media screen and (max-width: 767px) {
    .p-item-subtitle {
      font-size: 6.082vw;
    }
  }
  
  /*================================
  .p-item-dress
  ================================*/
  .p-item-dress {
    margin-top: 120px;
  }
  @media screen and (max-width: 767px) {
    .p-item-dress {
      margin-top: 16.217vw;
    }
  }
  
  .p-item-dress__row {
    align-items: flex-start;
    display: flex;
    margin-top: 35px;
  }
  @media screen and (max-width: 767px) {
    .p-item-dress__row {
      flex-direction: column;
      margin-top: 8.109vw;
    }
  }
  
  .p-item-dress__slider {
    overflow: hidden;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-item-dress__slider {
      width: 100%;
    }
  }
  .p-item-dress__slider img {
    height: 100%;
    object-fit: cover;
    width: 100%;
    transition: filter 0.3s ease;
  }
  
  .p-item-dress__slider img:hover {
    filter: brightness(150%);
  }
  
  .p-item-dress__slider .swiper-slide {
    aspect-ratio: 1/1.5;
    cursor: pointer;
    position: relative;
    overflow: hidden;
  }
  .p-item-dress__slider .swiper-slide:after {
    bottom: 18px;
    content: url(../../assets/images/item/icon_zoom.svg);
    font-size: 0;
    pointer-events: none;
    position: absolute;
    right: 18px;
    width: 18px;
  }
  @media screen and (max-width: 767px) {
    .p-item-dress__slider .swiper-slide:after {
      bottom: 2.433vw;
      right: 2.433vw;
      width: 4.865vw;
    }
  }
  .p-item-dress__slider .swiper-slide:empty {
    cursor: default;
  }
  .p-item-dress__slider .swiper-slide:empty:after {
    display: none;
  }
  
  .p-item-dress__pagination {
    align-items: center;
    display: flex;
    justify-content: center;
  }
  .p-item-dress__pagination .swiper-button-prev,
  .p-item-dress__pagination .swiper-button-next {
    color: #000;
    height: auto;
    margin-top: 20px;
    position: static;
    width: auto;
    transition: opacity 0.3s ease;
  }
  
  .p-item-dress__pagination .swiper-button-prev:hover,
  .p-item-dress__pagination .swiper-button-next:hover {
    opacity: 0.5;
  }
  
  @media screen and (max-width: 767px) {
    .p-item-dress__pagination .swiper-button-prev,
    .p-item-dress__pagination .swiper-button-next {
      margin-top: 5.406vw;
    }
  }
  .p-item-dress__pagination .swiper-button-prev:after,
  .p-item-dress__pagination .swiper-button-next:after {
    font-size: 15px;
  }
  @media screen and (max-width: 767px) {
    .p-item-dress__pagination .swiper-button-prev:after,
    .p-item-dress__pagination .swiper-button-next:after {
      font-size: 4.055vw;
    }
  }
  .p-item-dress__pagination .swiper-pagination {
    font-size: 0;
    margin: 20px 14px 0;
    position: static;
    width: auto !important;
  }
  @media screen and (max-width: 767px) {
    .p-item-dress__pagination .swiper-pagination {
      margin: 5.406vw 3.784vw 0;
    }
  }
  .p-item-dress__pagination .swiper-pagination-bullet {
    margin: 0 6px !important;
    opacity: 1;
    transition: opacity 0.3s ease;
  }
  
  .p-item-dress__pagination .swiper-pagination-bullet:hover {
    opacity: 0.5;
  }
  
  @media screen and (max-width: 767px) {
    .p-item-dress__pagination .swiper-pagination-bullet {
      margin: 0 1.622vw !important;
    }
  }
  .p-item-dress__pagination .swiper-pagination-bullet-active {
    background: #e70000;
  }
  
  .p-item-dress__detail {
    font-size: 14px;
    line-height: 2;
    padding-left: 40px;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-item-dress__detail {
      font-size: 3.784vw;
      padding: 8.109vw 0 0;
      width: 100%;
    }
  }
  
  .p-item-dress__logo img {
    width: 46.6666666667%;
  }
  @media screen and (max-width: 767px) {
    .p-item-dress__logo img {
      width: 47.0149253731%;
    }
  }
  .p-item-dress__logo a {
    color: #e70000;
    display: inline-block;
    margin-top: 0.25em;
  }
  
  .p-item-dress__text {
    margin-top: 30px;
  }
  @media screen and (max-width: 767px) {
    .p-item-dress__text {
      margin-top: 4.055vw;
    }
  }
  
  /*================================
  .p-item-other
  ================================*/
  .p-item-other {
    margin-top: 100px;
  }
  @media screen and (max-width: 767px) {
    .p-item-other {
      margin-top: 16.217vw;
    }
  }
  
  .p-item-other__row {
    display: flex;
    gap: 40px;
    margin-top: 40px;
  }
  @media screen and (max-width: 767px) {
    .p-item-other__row {
      flex-direction: column;
      gap: 8.109vw;
      margin-top: 8.109vw;
    }
  }
  
  .p-item-other__logo {
    flex-shrink: 0;
    width: 280px;
  }
  @media screen and (max-width: 767px) {
    .p-item-other__logo {
      width: 47.0149253731%;
    }
  }
  .p-item-other__logo img {
    width: 100%;
  }
  
  .p-item-other__text {
    font-size: 14px;
    line-height: 2;
    margin-top: -0.5em;
  }
  @media screen and (max-width: 767px) {
    .p-item-other__text {
      font-size: 3.784vw;
    }
  }
  .p-item-other__text a {
    color: #e70000;
    display: inline-block;
    margin-top: 0.75em;
  }
  
  /*================================
  .p-gallery
  ================================*/
  .p-gallery {
    padding: 150px 0;
  }
  @media screen and (max-width: 767px) {
    .p-gallery {
      padding: 16.217vw 0 27.028vw;
    }
  }
  .home .p-gallery {
    padding: 160px 0 300px;
  }
  @media screen and (max-width: 767px) {
    .home .p-gallery {
      padding: 21.622vw 0 40.541vw;
    }
  }
  .page-template-ceremony .p-gallery, .page-template-cuisine .p-gallery {
    padding-bottom: 0;
  }
  .page-template-photo-wedding .p-gallery {
    padding: 240px 0;
  }
  @media screen and (max-width: 767px) {
    .page-template-photo-wedding .p-gallery {
      padding: 32.433vw 0;
    }
  }
  .page-template-item .p-gallery {
    padding: 150px 0 0;
  }
  @media screen and (max-width: 767px) {
    .page-template-item .p-gallery {
      padding-top: 29.73vw;
    }
  }
  .page-template-item .p-gallery:last-child {
    padding-bottom: 260px;
  }
  @media screen and (max-width: 767px) {
    .page-template-item .p-gallery:last-child {
      padding-bottom: 32.433vw;
    }
  }
  
  /*================================
  .p-gallery-list
  ================================*/
  .p-gallery-list {
    display: grid;
    gap: 40px;
    grid-auto-flow: dense;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 75px;
  }
  @media screen and (max-width: 767px) {
    .p-gallery-list {
      gap: 5.406vw;
      grid-template-columns: repeat(3, 1fr);
      margin-top: 14.865vw;
    }
  }
  .p-gallery-list:first-child {
    margin: 0;
  }
  .page-template-item .p-gallery-list {
    margin-top: 100px;
  }
  @media screen and (max-width: 767px) {
    .page-template-item .p-gallery-list {
      margin-top: 14.865vw;
    }
  }
  
  .p-gallery-list__item {
    cursor: pointer;
  }
  .p-gallery-list__item img {
    height: 100%;
    object-fit: cover;
    width: 100%;
    transition: filter 0.3s ease;
  }
  
  .p-gallery-list__item img:hover {
    filter: brightness(150%);
  }
  
  .p-gallery-list__item.is--vertical-1col {
    grid-row: span 5;
  }
  .p-gallery-list__item.is--horizontal-1col {
    grid-row: span 2;
  }
  .p-gallery-list__item.is--horizontal-2col {
    grid-column: span 2;
    grid-row: span 4;
  }
  
  /*================================
  .p-gallery-modal
  ================================*/
  .p-gallery-modal {
    background: rgba(255, 255, 255, 0.95);
    height: 100dvh;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: opacity 0.4s;
    width: 100%;
    z-index: 10000;
  }
  .p-gallery-modal.is--active {
    opacity: 1;
    pointer-events: auto;
  }
  
  .p-gallery-modal__content {
    display: flex;
    height: 100%;
  }
  .p-gallery-modal__content img,
  .p-gallery-modal__content iframe {
    margin: auto;
    max-height: calc(100dvh - 240px);
    max-width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-gallery-modal__content img,
    .p-gallery-modal__content iframe {
      max-height: calc(100dvh - 48.649vw);
    }
  }
  .p-gallery-modal__content iframe {
    aspect-ratio: 16/9;
    width: 1920px;
  }
  
  .p-gallery-modal__close {
    aspect-ratio: 1;
    position: absolute;
    right: 40px;
    top: 40px;
    width: 40px;
  }
  @media screen and (max-width: 767px) {
    .p-gallery-modal__close {
      right: 8.109vw;
      top: 8.109vw;
      width: 8.109vw;
    }
  }
  .p-gallery-modal__close:before, .p-gallery-modal__close:after {
    border-top: 1px solid #000;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    width: 140%;
  }
  @media screen and (max-width: 767px) {
    .p-gallery-modal__close:before, .p-gallery-modal__close:after {
      border-top-width: 0.271vw;
    }
  }
  .p-gallery-modal__close:after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  
  /*================================
  .p-gallery-button
  ================================*/
  .p-gallery-button {
    margin-top: 150px;
    text-align: right;
  }
  @media screen and (max-width: 767px) {
    .p-gallery-button {
      margin-top: 16.217vw;
    }
  }
  .p-gallery-button a {
    display: inline-block;
    width: 25%;
  }
  @media screen and (max-width: 767px) {
    .p-gallery-button a {
      width: 50%;
    }
  }
  
  /*================================
  .p-fair
  ================================*/
  .p-fair {
    padding: 190px 0 240px;
  }
  @media screen and (max-width: 767px) {
    .p-fair {
      padding: 14.865vw 0 27.028vw;
    }
  }
  .p-fair .page-template-plan {
    padding: 200px 0;
  }
  
  /*================================
  .p-fair-section
  ================================*/
  .p-fair-section {
    margin-top: 170px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section {
      margin-top: 14.865vw;
    }
  }
  .p-fair-section:first-child {
    margin: 0;
  }
  .p-fair-section .xo-event-calendar {
    font-family: inherit;
    font-weight: bold;
    margin: 55px 20px 0;
    overflow: visible;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar {
      margin: 14.865vw 2.703vw 0;
    }
  }
  .p-fair-section .xo-event-calendar table {
    border-collapse: collapse;
  }
  .p-fair-section .xo-event-calendar table.xo-month {
    border: none;
    border-bottom: 1px solid #aea6a2;
    margin: 0;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar table.xo-month {
      border-bottom-width: 0.271vw;
    }
  }
  .p-fair-section .xo-event-calendar table.xo-month button {
    height: 40px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar table.xo-month button {
      height: 5.406vw;
      width: 2.703vw;
    }
  }
  .p-fair-section .xo-event-calendar table.xo-month button span.nav-prev,
  .p-fair-section .xo-event-calendar table.xo-month button span.nav-next {
    border-right: 1px solid #e70000;
    border-top: 1px solid #e70000;
    padding-top: 150%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: rotate(45deg);
    transform-origin: right top;
    width: 150%;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar table.xo-month button span.nav-prev,
    .p-fair-section .xo-event-calendar table.xo-month button span.nav-next {
      border-right-width: 0.271vw;
      border-top-width: 0.271vw;
    }
  }
  .p-fair-section .xo-event-calendar table.xo-month button:hover span.nav-prev, .p-fair-section .xo-event-calendar table.xo-month button:hover span.nav-next {
    border-width: 1px 1px 0 0;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar table.xo-month button:hover span.nav-prev, .p-fair-section .xo-event-calendar table.xo-month button:hover span.nav-next {
      border-width: 0.271vw 0.271vw 0 0;
    }
  }
  .p-fair-section .xo-event-calendar table.xo-month > thead th {
    border: none;
    font-size: 16px;
    line-height: 1;
    padding-bottom: 0.75em !important;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar table.xo-month > thead th {
      font-size: 3.244vw;
    }
  }
  .p-fair-section .xo-event-calendar table.xo-month .month-header {
    font-size: 16px;
    line-height: 5;
    margin: 0;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar table.xo-month .month-header {
      font-size: 3.244vw;
    }
  }
  .p-fair-section .xo-event-calendar table.xo-month .month-prev {
    left: -40px;
    transform: translateY(-50%) scale(-1);
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar table.xo-month .month-prev {
      left: -5.405vw;
    }
  }
  .p-fair-section .xo-event-calendar table.xo-month .month-next {
    right: -40px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar table.xo-month .month-next {
      right: -5.405vw;
    }
  }
  .p-fair-section .xo-event-calendar table.xo-month .month-week {
    overflow: visible;
    position: static;
  }
  .p-fair-section .xo-event-calendar table.xo-month .month-dayname {
    position: static;
  }
  .p-fair-section .xo-event-calendar table.xo-month .month-dayname td {
    border: 1px solid #aea6a2;
    border-bottom: none;
    cursor: pointer;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar table.xo-month .month-dayname td {
      border-width: 0.271vw;
    }
  }
  .p-fair-section .xo-event-calendar table.xo-month .month-dayname td.is--active {
    background: #eadebf!important;
  }
  .p-fair-section .xo-event-calendar table.xo-month .month-dayname div {
    border: none;
    font-size: 18px;
    height: 3em;
    line-height: 1;
    padding: 0.25em;
    text-align: left;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar table.xo-month .month-dayname div {
      font-size: 3.244vw;
      height: 2.5em;
    }
  }
  .p-fair-section .xo-event-calendar table.xo-month .month-dayname div.other-month {
    opacity: 0.2;
  }
  .p-fair-section .xo-event-calendar table.xo-month .month-dayname-space,
  .p-fair-section .xo-event-calendar table.xo-month .month-event-space {
    display: none;
  }
  .p-fair-section .xo-event-calendar .calendars.xo-months {
    column-gap: 6.25%;
    display: flex;
  }
  .p-fair-section .xo-event-calendar .calendar.xo-month-wrap {
    background: #fff;
    padding: 0 20px 20px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section .xo-event-calendar .calendar.xo-month-wrap {
      padding: 0 2.703vw 2.703vw;
    }
  }
  
  .p-fair-section__title {
    border-bottom: 2px solid #000;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.4;
    padding-bottom: 0.2em;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section__title {
      border-bottom-width: 0.541vw;
      font-size: 6.082vw;
      width: 100%;
    }
  }
  .p-fair-section__title .gsap-textSplit span {
    min-width: 0.35em;
  }
  
  .p-fair-section__subtitle {
    border-bottom: 1px dotted #000;
    font-size: 28px;
    font-weight: 600;
    line-height: 1;
    padding-bottom: 0.7em;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section__subtitle {
      border-bottom-width: 0.271vw;
      font-size: 6.082vw;
    }
  }
  
  .p-fair-section__note {
    font-size: 14px;
    line-height: 2;
    margin-top: 0.5em;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section__note {
      font-size: 3.784vw;
    }
  }
  
  .p-fair-section__text {
    font-size: 14px;
    line-height: 2;
    margin-top: 40px;
    text-align: center;
    white-space: nowrap;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section__text {
      font-size: 3.784vw;
      margin-top: 6.082vw;
    }
  }
  
  .p-fair-section__back {
    margin-top: 45px;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section__back {
      margin-top: 6.757vw;
    }
  }
  .p-fair-section__back a {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .p-fair-section__back a {
      font-size: 4.325vw;
    }
  }
  .p-fair-section__back a:before {
    content: "<";
    margin-right: 0.5em;
  }
  
  /*================================
  .p-fair-slider
  ================================*/
  .p-fair-slider {
    margin-top: 60px;
    overflow: hidden;
    padding: 0 60px;
    transform: translateX(-60px);
    width: calc(100% + 120px);
  }
  @media screen and (max-width: 767px) {
    .p-fair-slider {
      margin-top: 14.865vw;
      padding: 0;
      transform: none;
      width: 100%;
    }
  }
  .p-fair-slider .swiper-button-prev,
  .p-fair-slider .swiper-button-next {
    background-position: center center;
    background-size: contain;
    height: 36px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-slider .swiper-button-prev,
    .p-fair-slider .swiper-button-next {
      display: none;
    }
  }
  .p-fair-slider .swiper-button-prev::after,
  .p-fair-slider .swiper-button-next::after {
    content: none;
  }
  .p-fair-slider .swiper-button-prev {
    background-image: url(../../assets/images/common/icon_arrow_left_red@2x.png);
  }
  .p-fair-slider .swiper-button-next {
    background-image: url(../../assets/images/common/icon_arrow_right_red@2x.png);
  }
  .p-fair-slider img {
    width: 100%;
  }
  .p-fair-slider:first-child {
    margin: 0;
  }
  @media screen and (max-width: 1400px) {
    .p-fair-slider .swiper-button-prev {
      left: 35px;
    }
    .p-fair-slider .swiper-button-next {
      right: 35px;
    }
  }
  
  /*================================
  .p-fair-item
  ================================*/
  .p-fair-item {
    display: flex !important;
    position: relative;
  }
  .p-fair-item:before {
    aspect-ratio: 1/0.625;
    content: "";
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item:before {
      display: none;
    }
  }
  
  .p-fair-item__contents {
    padding-left: 40px;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__contents {
      padding: 0;
      width: 100%;
    }
  }
  
  .p-fair-item__date {
    align-items: flex-end;
    display: flex;
    font-family: "kepler-std-display", serif;
    font-style: italic;
    font-weight: 600;
    gap: 8px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__date {
      gap: 0;
    }
  }
  .p-fair-item__date .date {
    font-size: 60px;
    line-height: 1;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__date .date {
      font-size: 9.19vw;
    }
  }
  .p-fair-item__date .week {
    display: inline-block;
    font-size: 20px;
    padding-bottom: 2px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__date .week {
      font-size: 4.73vw;
      line-height: 1;
      padding-bottom: 1.082vw;
    }
  }
  
  .p-fair-item__time {
    font-family: "kepler-std-display", serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__time {
      font-size: 3.784vw;
    }
  }
  
  .p-fair-item__title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 30px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__title {
      font-size: 5.811vw;
      line-height: 1.2;
      margin-top: 4.055vw;
    }
  }
  
  .p-fair-item__tags {
    color: #e70000;
    font-size: 12px;
    margin-top: 2px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__tags {
      font-size: 3.244vw;
      margin-top: 2.703vw;
    }
  }
  
  .p-fair-item__thumbnail {
    aspect-ratio: 1/0.625;
    left: 0;
    position: absolute;
    top: 0;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__thumbnail {
      margin-top: 6.757vw;
      position: static;
      width: 100%;
    }
  }
  .p-fair-item__thumbnail img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  
  .p-fair-item__text {
    font-size: 14px;
    line-height: 2;
    margin-top: 20px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__text {
      font-size: 3.784vw;
      margin-top: 5.406vw;
    }
  }
  body:not(.fair-template-default) .p-fair-item__text {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    overflow: hidden;
  }
  
  .p-fair-item__button {
    margin-left: auto;
    padding-top: 50px;
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__button {
      padding-top: 4.055vw;
    }
  }
  .p-fair-item__button a {
    display: block;
    text-align: right;
  }
  .p-fair-item__button.is--red {
    padding-top: 40px;
    margin: 0;
    width: 300px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__button.is--red {
      margin: auto;
      padding-top: 6.757vw;
      width: 81.082vw;
    }
  }
  .p-fair-item__button.is--red a {
    background: #e70000;
    border-radius: 3px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    line-height: 60px;
    text-align: center;
    padding-left: 10px;
    padding-right: 10px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-item__button.is--red a {
      border-radius: 0.811vw;
      font-size: 4.865vw;
      line-height: 16.217vw;
    }
  }
  
  /*================================
  .p-fair-accordion
  ================================*/
  .p-fair-accordion {
    margin-top: 160px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-accordion {
      margin-top: 14.865vw;
    }
  }
  .p-fair-accordion .p-fair-item {
    margin-top: 60px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-accordion .p-fair-item {
      margin-top: 6.757vw;
    }
  }
  .p-fair-accordion:first-child {
    margin-top: 100px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-accordion:first-child {
      margin-top: 13.514vw;
    }
  }
  
  .p-fair-accordion__title {
    align-items: flex-end;
    border-bottom: 2px solid #000;
    display: flex;
    font-weight: 600;
    line-height: 1;
    padding-bottom: 1em;
  }
  @media screen and (max-width: 767px) {
    .p-fair-accordion__title {
      border-bottom-width: 0.541vw;
    }
  }
  .p-fair-accordion__title strong {
    font-size: 50px;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .p-fair-accordion__title strong {
      font-size: 6.487vw;
    }
  }
  .p-fair-accordion__title sub {
    bottom: 0;
    font-size: 17px;
    line-height: 1;
  }
  @media screen and (max-width: 767px) {
    .p-fair-accordion__title sub {
      font-size: 3.244vw;
    }
  }
  .p-fair-accordion__title span {
    font-size: 20px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-accordion__title span {
      font-size: 3.784vw;
    }
  }
  
  .p-fair-accordion__content {
    height: 0;
    overflow: hidden;
    transition: 0.4s;
  }
  
  .p-fair-accordion__toggle {
    color: #e70000;
    display: block;
    font-size: 16px;
    font-weight: bold;
    margin: 50px auto 0;
  }
  @media screen and (max-width: 767px) {
    .p-fair-accordion__toggle {
      font-size: 4.325vw;
      margin-top: 6.757vw;
    }
  }
  .p-fair-accordion__toggle:before {
    content: ">";
    margin-right: 0.5em;
  }
  
  /*================================
  .p-fair-benefit
  ================================*/
  .p-fair-benefit {
    margin-top: 40px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-benefit {
      margin-top: 8.109vw;
    }
  }
  .p-fair-benefit:first-of-type {
    margin-top: 75px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-benefit:first-of-type {
      margin-top: 14.865vw;
    }
  }
  
  .p-fair-benefit__title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.45;
  }
  @media screen and (max-width: 767px) {
    .p-fair-benefit__title {
      font-size: 4.865vw;
    }
  }
  
  .p-fair-benefit__text {
    font-size: 14px;
    line-height: 2;
    margin-top: 15px;
  }
  @media screen and (max-width: 767px) {
    .p-fair-benefit__text {
      font-size: 3.784vw;
      margin-top: 2.703vw;
    }
  }
  
  /*================================
  .p-plan
  ================================*/
  .p-plan {
    padding: 150px 0 200px;
  }
  @media screen and (max-width: 767px) {
    .p-plan {
      padding: 16.217vw 0 27.028vw;
    }
  }
  
  /*================================
  .p-plan-item
  ================================*/
  .p-plan-item {
    align-items: flex-start;
    display: flex;
    margin-top: 160px;
  }
  @media screen and (max-width: 767px) {
    .p-plan-item {
      display: block;
      margin-top: 24.325vw;
    }
  }
  .p-plan-item:first-child {
    margin: 0;
  }
  .p-plan-item + .p-plan-item {
    margin-top: 190px;
  }
  @media screen and (max-width: 767px) {
    .p-plan-item + .p-plan-item {
      margin-top: 14.865vw;
    }
  }
  
  .p-plan-item__img,
  .p-plan-item__contents {
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-plan-item__img,
    .p-plan-item__contents {
      width: 100%;
    }
  }
  
  .p-plan-item__img {
    aspect-ratio: 1/0.53125;
  }
  .p-plan-item__img img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }
  
  .p-plan-item__contents {
    padding-left: 40px;
  }
  @media screen and (max-width: 767px) {
    .p-plan-item__contents {
      padding: 5.406vw 0 0;
    }
  }
  .p-plan-item__contents .en {
    display: block;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
  }
  @media screen and (max-width: 767px) {
    .p-plan-item__contents .en {
      font-size: 2.703vw;
    }
  }
  .p-plan-item__contents .title {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 0.4em;
  }
  @media screen and (max-width: 767px) {
    .p-plan-item__contents .title {
      font-size: 4.865vw;
    }
  }
  .p-plan-item__contents .num-price {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
  }
  @media screen and (max-width: 767px) {
    .p-plan-item__contents .num-price {
      font-size: 3.784vw;
    }
  }
  .p-plan-item__contents .num-price strong {
    font-size: 30px;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .p-plan-item__contents .num-price strong {
      font-size: 5.406vw;
    }
  }
  .p-plan-item__contents .text {
    font-size: 14px;
    line-height: 2;
    margin-top: 30px;
  }
  .p-plan-item__contents .text strong {
    font-weight: bold;
  }
  @media screen and (max-width: 767px) {
    .p-plan-item__contents .text {
      font-size: 3.784vw;
      margin-top: 8.109vw;
    }
  }
  
  /*================================
  .p-access
  ================================*/
  .p-access {
    font-size: 14px;
    line-height: 2;
    padding: 150px 0;
  }
  @media screen and (max-width: 767px) {
    .p-access {
      font-size: 3.784vw;
      padding: 16.217vw 0 27.028vw;
    }
  }
  
  .p-access__map iframe {
    display: block;
    height: 560px;
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-access__map iframe {
      height: 113.514vw;
    }
  }
  
  .p-access__text {
    margin-top: 90px;
  }
  @media screen and (max-width: 767px) {
    .p-access__text {
      margin-top: 16.217vw;
    }
  }
  
  .p-access__link {
    color: #b81b1e;
    display: block;
    text-decoration: underline;
    text-underline-offset: 0.25em;
  }
  
  .p-access__img {
    max-width: 95%;
  }
  @media screen and (max-width: 767px) {
    .p-access__img {
      max-width: 100%;
    }
  }
  
  .p-access__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 90px;
    row-gap: 60px;
  }
  @media screen and (max-width: 767px) {
    .p-access__list {
      margin-top: 16.217vw;
      row-gap: 16.217vw;
    }
  }
  
  .p-access__item {
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-access__item {
      width: 100%;
    }
  }
  .p-access__item strong {
    font-weight: bold;
  }
  .p-access__item:first-child {
    padding-right: 1em;
  }
  @media screen and (max-width: 767px) {
    .p-access__item:first-child {
      padding: 0;
    }
  }
  
  /*================================
  .p-company
  ================================*/
  .p-company {
    padding: 150px 0;
  }
  @media screen and (max-width: 767px) {
    .p-company {
      padding: 16.217vw 0 27.028vw;
    }
  }
  
  .p-company__row {
    display: flex;
    flex-wrap: wrap;
  }
  
  .p-company__column {
    width: 50%;
  }
  @media screen and (max-width: 767px) {
    .p-company__column {
      width: 100%;
    }
  }
  @media screen and (max-width: 767px) {
    .p-company__column + .p-company__column {
      margin-top: 16.217vw;
    }
  }
  
  .p-company__list + .p-company__list {
    margin-top: 70px;
  }
  @media screen and (max-width: 767px) {
    .p-company__list + .p-company__list {
      margin-top: 16.217vw;
    }
  }
  
  .p-company__item {
    font-size: 14px;
    line-height: 2;
    padding-right: 1em;
  }
  @media screen and (max-width: 767px) {
    .p-company__item {
      font-size: 3.784vw;
      padding: 0;
    }
  }
  .p-company__item strong {
    font-weight: bold;
  }
  .p-company__item + .p-company__item {
    margin-top: 20px;
  }
  @media screen and (max-width: 767px) {
    .p-company__item + .p-company__item {
      margin-top: 6.757vw;
    }
  }
  
  /*================================
  .p-policy
  ================================*/
  .p-policy {
    padding: 150px 0;
  }
  @media screen and (max-width: 767px) {
    .p-policy {
      padding: 16.217vw 0 27.028vw;
    }
  }
  
  .p-policy__text {
    font-size: 14px;
    line-height: 2;
  }
  @media screen and (max-width: 767px) {
    .p-policy__text {
      font-size: 3.784vw;
    }
  }
  .p-policy__text strong {
    font-weight: bold;
  }
  
  .u-mt10 {
    margin-top: 10px;
  }
  .u-mt20 {
    margin-top: 20px;
  }
  .u-mt30 {
    margin-top: 30px;
  }
  .u-mt40 {
    margin-top: 40px;
  }
  .u-mt50 {
    margin-top: 50px;
  }
  .u-mt60 {
    margin-top: 60px;
  }
  .u-mt70 {
    margin-top: 70px;
  }
  
  .u-mb10 {
    margin-bottom: 10px;
  }
  .u-mb20 {
    margin-bottom: 20px;
  }
  .u-mb30 {
    margin-bottom: 30px;
  }
  .u-mb40 {
    margin-bottom: 40px;
  }
  .u-mb50 {
    margin-bottom: 50px;
  }
  .u-mb60 {
    margin-bottom: 60px;
  }
  .u-mb70 {
    margin-bottom: 70px;
  }
  
  .is--sp {
    display: none;
  }
  @media screen and (max-width: 767px) {
    .is--sp {
      display: block;
    }
  }
  
  .is--pc {
    display: block;
  }
  @media screen and (max-width: 767px) {
    .is--pc {
      display: none;
    }
  }
  /*!*******************************************************************************************************************************************!*\
    !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js!./src/js/gsap/gsap.css ***!
    \*******************************************************************************************************************************************/
  .gsap-bottomToTop {
    line-height: 1.25;
    overflow: hidden;
  }
  
  .gsap-bottomToTop > * {
    display: block;
    transform: translateY(100%);
  }
  
  .gsap-textSplit {
    display: inline-block;
    overflow: hidden;
  }
  
  .gsap-textSplit span {
    display: inline-block;
    min-width: 20px;
    transform: translateY(100%);
  }
  
  @media screen and (max-width: 767px) {
    .gsap-textSplit span {
      min-width: 10px;
    }
  }
  /*!************************************************************************************************************************************************************!*\
    !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js!./node_modules/swiper/swiper-bundle.css ***!
    \************************************************************************************************************************************************************/
  /**
   * Swiper 11.0.5
   * Most modern mobile touch slider and framework with hardware accelerated transitions
   * https://swiperjs.com
   *
   * Copyright 2014-2023 Vladimir Kharlampidi
   *
   * Released under the MIT License
   *
   * Released on: November 22, 2023
   */
  /* FONT_START */
  @font-face {
    font-family: "swiper-icons";
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal;
  }
  /* FONT_END */
  :root {
    --swiper-theme-color: #007aff;
    /*
    --swiper-preloader-color: var(--swiper-theme-color);
    --swiper-wrapper-transition-timing-function: initial;
    */
  }
  
  :host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
  }
  
  .swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    /* Fix of Webkit flickering */
    z-index: 1;
    display: block;
  }
  
  .swiper-vertical > .swiper-wrapper {
    flex-direction: column;
  }
  
  .swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
  }
  
  .swiper-android .swiper-slide,
  .swiper-ios .swiper-slide,
  .swiper-wrapper {
    transform: translate3d(0px, 0, 0);
  }
  
  .swiper-horizontal {
    touch-action: pan-y;
  }
  
  .swiper-vertical {
    touch-action: pan-x;
  }
  
  .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
  }
  
  .swiper-slide-invisible-blank {
    visibility: hidden;
  }
  
  /* Auto Height */
  .swiper-autoheight,
  .swiper-autoheight .swiper-slide {
    height: auto;
  }
  
  .swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
  }
  
  .swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  
  /* 3D Effects */
  .swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
  }
  
  .swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
  }
  
  .swiper-3d {
    perspective: 1200px;
  }
  
  .swiper-3d .swiper-slide,
  .swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
  
  /* CSS Mode */
  .swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    /* For Firefox */
    -ms-overflow-style: none;
    /* For Internet Explorer and Edge */
  }
  
  .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
  }
  
  .swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  
  .swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
  }
  
  .swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
  }
  
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
  }
  
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
  }
  
  .swiper-css-mode.swiper-centered > .swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999;
  }
  
  .swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
  }
  
  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before);
  }
  
  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
  }
  
  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before);
  }
  
  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
  }
  
  /* Slide styles start */
  /* 3D Shadows */
  .swiper-3d .swiper-slide-shadow,
  .swiper-3d .swiper-slide-shadow-left,
  .swiper-3d .swiper-slide-shadow-right,
  .swiper-3d .swiper-slide-shadow-top,
  .swiper-3d .swiper-slide-shadow-bottom,
  .swiper-3d .swiper-slide-shadow,
  .swiper-3d .swiper-slide-shadow-left,
  .swiper-3d .swiper-slide-shadow-right,
  .swiper-3d .swiper-slide-shadow-top,
  .swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  
  .swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  
  .swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  
  .swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  
  .swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  
  .swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  
  .swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
  }
  
  .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
  .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
  
  .swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
  }
  
  .swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
  }
  
  @keyframes swiper-preloader-spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  /* Slide styles end */
  .swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
  }
  
  .swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
  }
  
  .swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size);
  }
  
  .swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size);
  }
  
  :root {
    --swiper-navigation-size: 44px;
    /*
    --swiper-navigation-top-offset: 50%;
    --swiper-navigation-sides-offset: 10px;
    --swiper-navigation-color: var(--swiper-theme-color);
    */
  }
  
  .swiper-button-prev,
  .swiper-button-next {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
  }
  
  .swiper-button-prev.swiper-button-disabled,
  .swiper-button-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }
  
  .swiper-button-prev.swiper-button-hidden,
  .swiper-button-next.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  
  .swiper-navigation-disabled .swiper-button-prev,
  .swiper-navigation-disabled .swiper-button-next {
    display: none !important;
  }
  
  .swiper-button-prev svg,
  .swiper-button-next svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
  }
  
  .swiper-rtl .swiper-button-prev svg,
  .swiper-rtl .swiper-button-next svg {
    transform: rotate(180deg);
  }
  
  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto;
  }
  
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
  }
  
  .swiper-button-lock {
    display: none;
  }
  
  /* Navigation font start */
  .swiper-button-prev:after,
  .swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
  }
  
  .swiper-button-prev:after,
  .swiper-rtl .swiper-button-next:after {
    content: "prev";
  }
  
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
  }
  
  .swiper-button-next:after,
  .swiper-rtl .swiper-button-prev:after {
    content: "next";
  }
  
  /* Navigation font end */
  :root {
    /*
    --swiper-pagination-color: var(--swiper-theme-color);
    --swiper-pagination-left: auto;
    --swiper-pagination-right: 8px;
    --swiper-pagination-bottom: 8px;
    --swiper-pagination-top: auto;
    --swiper-pagination-fraction-color: inherit;
    --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
    --swiper-pagination-progressbar-size: 4px;
    --swiper-pagination-bullet-size: 8px;
    --swiper-pagination-bullet-width: 8px;
    --swiper-pagination-bullet-height: 8px;
    --swiper-pagination-bullet-border-radius: 50%;
    --swiper-pagination-bullet-inactive-color: #000;
    --swiper-pagination-bullet-inactive-opacity: 0.2;
    --swiper-pagination-bullet-opacity: 1;
    --swiper-pagination-bullet-horizontal-gap: 4px;
    --swiper-pagination-bullet-vertical-gap: 6px;
    */
  }
  
  .swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 300ms opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
  }
  
  .swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
  }
  
  .swiper-pagination-disabled > .swiper-pagination,
  .swiper-pagination.swiper-pagination-disabled {
    display: none !important;
  }
  
  /* Common Styles */
  .swiper-pagination-fraction,
  .swiper-pagination-custom,
  .swiper-horizontal > .swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%;
  }
  
  /* Bullets */
  .swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0;
  }
  
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
  }
  
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
  
  .swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  }
  
  button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
  }
  
  .swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
  }
  
  .swiper-pagination-bullet:only-child {
    display: none !important;
  }
  
  .swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
  }
  
  .swiper-vertical > .swiper-pagination-bullets,
  .swiper-pagination-vertical.swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0px, -50%, 0);
  }
  
  .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
  }
  
  .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
  .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
  }
  
  .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
  .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: 200ms transform, 200ms top;
  }
  
  .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  
  .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
  .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
  }
  
  .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 200ms transform, 200ms left;
  }
  
  .swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 200ms transform, 200ms right;
  }
  
  /* Fraction */
  .swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit);
  }
  
  /* Progress */
  .swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
    position: absolute;
  }
  
  .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  
  .swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  
  .swiper-horizontal > .swiper-pagination-progressbar,
  .swiper-pagination-progressbar.swiper-pagination-horizontal,
  .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
  .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  
  .swiper-vertical > .swiper-pagination-progressbar,
  .swiper-pagination-progressbar.swiper-pagination-vertical,
  .swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
  .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
  
  .swiper-pagination-lock {
    display: none;
  }
  
  :root {
    /*
    --swiper-scrollbar-border-radius: 10px;
    --swiper-scrollbar-top: auto;
    --swiper-scrollbar-bottom: 4px;
    --swiper-scrollbar-left: auto;
    --swiper-scrollbar-right: 4px;
    --swiper-scrollbar-sides-offset: 1%;
    --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
    --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
    --swiper-scrollbar-size: 4px;
    */
  }
  
  .swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
  }
  
  .swiper-scrollbar-disabled > .swiper-scrollbar,
  .swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important;
  }
  
  .swiper-horizontal > .swiper-scrollbar,
  .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
  
  .swiper-vertical > .swiper-scrollbar,
  .swiper-scrollbar.swiper-scrollbar-vertical {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
  
  .swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0;
  }
  
  .swiper-scrollbar-cursor-drag {
    cursor: move;
  }
  
  .swiper-scrollbar-lock {
    display: none;
  }
  
  /* Zoom container styles start */
  .swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  
  .swiper-zoom-container > img,
  .swiper-zoom-container > svg,
  .swiper-zoom-container > canvas {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  
  /* Zoom container styles end */
  .swiper-slide-zoomed {
    cursor: move;
    touch-action: none;
  }
  
  /* a11y */
  .swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000;
  }
  
  .swiper-free-mode > .swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto;
  }
  
  .swiper-grid > .swiper-wrapper {
    flex-wrap: wrap;
  }
  
  .swiper-grid-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column;
  }
  
  .swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
  }
  
  .swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
  }
  
  .swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  
  .swiper-fade .swiper-slide-active {
    pointer-events: auto;
  }
  
  .swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  
  .swiper-cube {
    overflow: visible;
  }
  
  .swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
  }
  
  .swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  
  .swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0;
  }
  
  .swiper-cube .swiper-slide-active,
  .swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  
  .swiper-cube .swiper-slide-active,
  .swiper-cube .swiper-slide-next,
  .swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible;
  }
  
  .swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: 0;
  }
  
  .swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px);
  }
  
  .swiper-cube .swiper-slide-next + .swiper-slide {
    pointer-events: auto;
    visibility: visible;
  }
  
  /* Cube slide shadows start */
  .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
  .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
  .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
  .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  
  /* Cube slide shadows end */
  .swiper-flip {
    overflow: visible;
  }
  
  .swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
  }
  
  .swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  
  .swiper-flip .swiper-slide-active,
  .swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  
  /* Flip slide shadows start */
  .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
  .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
  .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
  .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  
  /* Flip slide shadows end */
  .swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height;
  }
  
  .swiper-cards {
    overflow: visible;
  }
  
  .swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
  }
  
  /*# sourceMappingURL=style.css.map*/
  
  
  /*
  2024.02.26 サイト修正追記
  */
  .p-home-style-bottom__row {
    padding: 0 0 120px;
  }
  
   /* 2024 06 07 Xyla L.
  */
  .p-omoi-banner{
    padding-top: 180px;
  }
  .p-omoi-banner .banner{
    text-align: center;
  }
  .p-omoi-banner .content{
    text-align: center;
    color: #fff;
    font-size: 14px;
    padding-top: 30px;
  }
  .new-gallery .p-gallery-list{
    transform: translateY(-50px);
    margin-top: 0;
    padding-left: 30px;
    padding-right: 30px;
  }
  .home .p-gallery.new-gallery{
    padding-top: 50px;
  }
  .p-omoi-banner .sp-banner{
    width: 100%;
  }
  .c-title-english{
    line-height: 0.95em;
  }
  .p-home-report__img .inner{
    padding-bottom: 50%;
  }
  .p-gallery-modal{
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-gallery-modal .p-gallery-modal__content{
    display: block;
    height: auto;
  }
  .p-home-report__heading{
    width: 48.9%;
  }
  .page-template-tmp-pagesgallery-php .is--prev,
  .page-template-tmp-pagesgallery-php .is--next{
    display: none !important;
  }
  .page-template-tmp-pagesgallery-php .c-pagination__link{
    display: flex;
      justify-content: center;
      align-items: center;
      font-size: 16px;
      background-color: #000;
      font-style: normal;
      width: 27px;
      border-radius: 90px;
      height: 27px;
      color: #fff;
      font-weight: 400;
  }
  .page-template-tmp-pagesgallery-php .c-pagination__link.is--current{
    background-color: #b88f0d;
    text-decoration: none;
  }
  .page-template-tmp-pagesgallery-php .p-gallery-list{
    grid-template-columns: repeat(3, 1fr);
  }
  .l-wrapper .p-plan{
    padding: 0 0 170px 0;
  }
  .l-wrapper .p-plan .p-plan-item{
    padding-top: 150px;
    margin-bottom: 30px;
  }
  .p-plan-item + .p-plan-item{
    margin-top: 0;
  }
  .p-fair-slider__wrapper_new{
    display: block;
    margin-left: -1%;
    margin-right: -1%;
    width: 100%;
  }
  .p-fair-slider__wrapper_new article{
    width: 48%;
    float: left;
    margin-left: 1%;
    margin-right: 1%;
    margin-top: 60px;
    margin-bottom: 90px;
  }
  .p-fair-slider__wrapper_new article .p-fair-item__contents{
    padding-left: 0;
    width: 100%;
  }
  .p-fair-slider__wrapper_new .p-fair-item__date{
    padding-top: 30px;
  }
  .p-fair-slider_new img{
    width: 100%;
  }
  .p-fair-section__title{
    width: 48%;
  }
  .top-cta{
    margin-bottom: 10px;
  }
  .p-fair-new .p-fair-item__button a,
  .p-fair-accordion__toggle{
    background: #e70000;
    color: #fff;
    text-align: center;
    padding: 6px 10px 6px 10px;
  }
  .p-fair-item__contents .p-fair-item__button{
    width: fit-content;
  }
  .single-fair .p-fair-item__contents .p-fair-item__button{
    width: 300px;
  }
  .p-fair-item__button .c-button-underline{
    padding-bottom: 0;
  }

  .p-home .p-home-mv__news.pc{
    position: relative;
    top: unset;
    margin-top: 80px;
  }
  .p-home .p-home-mv__news .p-home-mv__news-heading h2{
    color: #fff !important;
    border-bottom: 1px solid;
  }
  .p-home .p-home-mv__news .p-news-list__title,
  .p-home .p-home-mv__news .p-news-list__date,
  .p-home .p-home-mv__news .p-news-list__date{
    color: #fff !important;
  }
  .p-fair-accordion__toggle:before{
    display: none;
  }
  .p-home-cta{
    width: 260px;
  }
  #footer.l-footer{
    padding-top: 220px;
  }
  .banner-overlay{
    display: none;
  }
.new-banner{
  position: relative;
  width: 100%;
  height: 100vh;
}
.new-banner .bg{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
}
.new-banner .bg video{
  right: 0;
    bottom: 0;
    overflow: hidden;
    position: absolute;
    top: 50%;
    left: 50%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
}
  @media (max-width: 767px){
    .p-background-img__type1 {
      background-image: url(../images/top/pic01@2xmobile.jpg);
    }
    .pc-banner{
      display: none;
    }
    .p-omoi-banner {
      padding-top: 80px;
    }
    .p-omoi-banner .content{
      font-size: 12px;
    }
    .new-gallery .p-gallery-list{
      transform: unset;
      padding-left: 0;
      padding-right: 0;
    }
    .home .p-gallery.new-gallery{
      padding-top: 20px;
    }
    .p-home-report .l-container .p-home-report__list{
      display: none;
    }
    .p-home-report__img .inner{
      padding-bottom: 10%;
    }
    .p-home-report .p-home-report__heading{
      width: 100%;
    }
    .p-home-report .mySwiper{
      padding: 0 8vw;
    }
    .p-home-report .swiper .swiper-button-prev:after{
      color: #e70000;
      font-size: 24px;
      margin-left: -5vw;
    }
    .p-home-report .swiper .swiper-button-next:after{
      color: #e70000;
      font-size: 24px;
      margin-left: 5vw;
    }
    .p-home-report .p-home-report__button{
      margin-right: 5.406vw;
    }
    .page-template-tmp-pagesgallery-php .p-gallery-list{
      grid-template-columns: repeat(2, 1fr);
    }
    .page-template-tmp-pagesgallery-php .c-pagination__link{
      font-size: 14px;
      width: 25px;
      height: 25px;
    }
    .l-wrapper .p-plan .p-plan-item{
      padding-top: 90px;
      margin-bottom: 0;
    }
    .l-wrapper .p-plan{
      padding-bottom: 27.028vw;
    }
    .p-sp-cta{
      background: #fff;
      padding: 10px 10px;
    }
    .p-sp-cta a.tel{
      width: 16%;
    }
    .p-sp-cta a.contact{
      left: 15%;
      width: 20%;
    }
    .p-sp-cta a.reserve{
      right: 43%;
      width: 20%;
    }
    .p-sp-cta a.bridal-fair{
      left: 57%;
      width: 20%;
    }
    .p-sp-cta a.wedding-report{
      left: 78%;
        width: 22%;
    }
    .p-fair-item__button{
      width: 54%;
    }
    .p-fair-new .p-fair-item__button a{
      font-size: 12px;
    }
    #footer.l-footer {
      padding-top: 40px;
    }

    .banner-overlay{
      height: 66vh;
      margin-top: -100px;
      position: absolute;
      z-index: 2;
      width: 100%;
      display: block;
    }
    .p-fair-item__contents .p-fair-item__button{
      margin: auto;
      padding-bottom: 50px;
    }
  }
  @media (max-width: 849px){
    .p-fair-slider__wrapper_new article,
    .p-fair-section__title{
      width: 100%;
    }
    .p-fair-slider__wrapper_new article{
      margin-top: 50px;
      margin-bottom: 0px;
    }
    .p-fair-slider__wrapper_new article:last-child{
      margin-bottom: 80px;
    }
    .new-banner {
      height: 50vh;
    }
  }
  @media (min-width: 767px){
    .sp-banner{
      display: none;
    }
    .p-home-report .swiper.p-home-report__list{
      display: none;
    }
    .p-fair-item__thumbnail-new img{
      height: 400px;
      object-fit: cover;
    }

  }
  @media screen and (min-width: 768px) {
    .p-home-style-bottom__row {
       padding: 0 0 380px;
    }
  }
  
  .p-home-architectur__body {
    padding: 180px 0 0;
  }
  @media screen and (min-width: 768px) {
    .p-home-architectur__body {
       padding: 380px 0 0;
    }
  }
  
  .p-home-architecture__img {
    padding-bottom: 42.19%;
  }
  @media screen and (min-width: 768px) {
    .p-home-architecture__img {
      padding-bottom: 42.19%;
    }
  }
  
  .p-home-gallery__img {
    padding-bottom: 42.19%;
  }
  @media screen and (min-width: 768px) {
    .p-home-gallery__img {
      padding-bottom: 42.19%;
    }
  }
  @media (min-width: 849px){
    .p-fair-new .p-fair-item__title{
      height: 48px;
    }
    .p-fair-new .p-fair-item__tags{
      height: 40px;
    }
  }
  @media (max-width: 1023px){
    .p-home .desktop-video{
      display: none;
    }
  }
  @media (min-width: 1023px){
    .p-home .sp-video{
      display: none;
    }
  }
  .page-template-omoi .p-item-dress__pagination .swiper-button-prev,
  .page-template-omoi .p-item-dress__pagination .swiper-button-next {
    color: #e70000;
  }
  
  .page-template-omoi .swiper-pagination-bullet-active {
    background-color: #e70000!important;
  }
  
  .page-template-omoi .swiper-pagination-bullet {
    background-color: #b3b3b3;
  }
  
  .spNone {
    display: none;
  }
  @media screen and (min-width: 768px) {
    .spNone {
      display: block;
    }
  }
  
  .pcNone {
    display: block;
  }
  @media screen and (min-width: 768px) {
    .pcNone {
      display: none;
    }
  }
  
  .is--holiday {
    background-color: #fddde6!important;
  }
  
  .is--sat {
    background-color: #DBF0FB!important;
  }
  @media screen and (max-width: 767px) {
    .p-news-list__title {
    color: #FFFFFF
    }
    }
    .p-news-list__title {
      color: #000000!important;
      }
      @media screen and (max-width: 767px) {
      .p-news-list__title {
      color: #FFFFFF!important;
      }
      }
  
    .p-news-list__link {
      display: flex;
      align-items: left;
      color: #ffffff;
    }
  
  .p-news-list__link {
    display: flex;
    align-items: left;
    color: #000000!important;
  }
  @media screen and (max-width: 767px) {
    .p-news-list__link {
      color: #FFFFFF!important;
    }
  }

@media screen and (max-width: 767px) {
  .p-background-img_none {
    display: none;
  }

}