@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap);
@import url(https://unpkg.com/swiper@7/swiper-bundle.min.css);
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 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 */ }

/**
 * 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: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  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: 1em;
  /* 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; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * 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; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 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 odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * 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. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* 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; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/*
ms:mobile small
ml:mobile large
ts:tablet small
tl:tablet large
 d:desktop
 */
/*
ms:mobile small
ml:mobile large
ts:tablet small
tl:tablet large
 d:desktop
 */
@media screen and (min-width: 960px) {
  html {
    font-size: 10px; } }

@media screen and (max-width: 1299.9px) {
  html {
    font-size: .77vw; } }

@media screen and (max-width: 959.9px) {
  html {
    font-size: 10px; } }

@media screen and (max-width: 819px) {
  html {
    font-size: 2.6vw; } }

body {
  line-height: 1.75em;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  background: #FFFFFF;
  color: #000000;
  margin: 0;
  letter-spacing: 0.09em; }
  @media screen and (min-width: 960px) {
    body {
      font-size: 1.6rem; } }
  @media screen and (max-width: 959.9px) {
    body {
      font-size: 1.3rem; } }

/* Keyframes */
@keyframes evening-fade {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes evening-sp-pan {
  0%,
  14% {
    transform: translate(0, 0) scale(1); }
  50%,
  64% {
    transform: translate(-32.9%, 0) scale(1); }
  100% {
    transform: translate(0, 0) scale(1); } }

@keyframes fade-in {
  0% {
    filter: blur(20px) brightness(2); }
  100% {
    filter: blur(0px) brightness(1); } }

@keyframes fade-in-finished-shadow {
  0% {
    filter: blur(20px) brightness(2); }
  70% {
    filter: blur(0px) brightness(1); }
  71% {
    filter: drop-shadow(0 0 0.4em rgba(0, 0, 0, 0)); }
  100% {
    filter: drop-shadow(0 0 0.4em rgba(0, 0, 0, 0.6)); } }

@keyframes facility-subtitle-fade {
  0% {
    opacity: 0;
    transform: scale(0.97);
    filter: blur(2rem) brightness(2); }
  30% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1); }
  68% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1); }
  100% {
    opacity: 0;
    transform: scale(0.97);
    filter: blur(2rem) brightness(2); } }

@keyframes about-place-bg-dim {
  0% {
    opacity: .8; }
  100% {
    opacity: .4; } }

@keyframes about-place-title-fade {
  0% {
    opacity: 0;
    transform: scale(0.97);
    filter: blur(2rem) brightness(2); }
  43% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1); }
  50% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1); }
  100% {
    opacity: 0;
    transform: scale(0.97);
    filter: blur(2rem) brightness(2); } }

@keyframes img-column-image-pan {
  0% {
    transform: translate(-44%, -50%) scale(1.12); }
  6.25% {
    transform: translate(-44%, -50%) scale(1.12); }
  50% {
    transform: translate(-56%, -50%) scale(1.12); }
  56.25% {
    transform: translate(-56%, -50%) scale(1.12); }
  100% {
    transform: translate(-44%, -50%) scale(1.12); } }

@keyframes scroll-animate {
  0% {
    height: 0; }
  100% {
    height: 4.8rem; } }

/* Flocss Foundation */
/*
ms:mobile small
ml:mobile large
ts:tablet small
tl:tablet large
 d:desktop
 */
* {
  box-sizing: border-box; }

a {
  color: #1368B1; }
  a:active, a:hover {
    text-decoration: none; }

pre {
  background-color: transparent;
  border: none;
  padding: 16px 0; }

p {
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  margin-top: 0;
  margin-bottom: 1.75em; }

ul, ol {
  margin-top: 0;
  padding-left: 1em;
  margin-bottom: 1.75em; }
  ul ::marker, ol ::marker {
    content: "・"; }

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

:focus {
  outline: none; }

/* Flocss Utility */
/*
ms:mobile small
ml:mobile large
ts:tablet small
tl:tablet large
 d:desktop
 */
@media screen and (max-width: 959.9px) {
  .u-brDisplay--pc {
    display: none; } }

@media screen and (min-width: 960px) {
  .u-brDisplay--pc {
    display: block; } }

@media screen and (max-width: 959.9px) {
  .u-brDisplay--sp {
    display: block; } }

@media screen and (min-width: 960px) {
  .u-brDisplay--sp {
    display: none; } }

/*
ms:mobile small
ml:mobile large
ts:tablet small
tl:tablet large
 d:desktop
 */
.u-mbZero {
  margin-bottom: 0 !important; }

/*
ms:mobile small
ml:mobile large
ts:tablet small
tl:tablet large
 d:desktop
 */
.u-textAlign--left {
  text-align: left; }

.u-textAlign--right {
  text-align: right; }

.u-textAlign--center {
  text-align: center; }

@media screen and (min-width: 960px) {
  .u-textAlign--centerPcOnly {
    text-align: center; } }

.u-fadeIn, .u-fadeInShadow {
  opacity: 0;
  transform: scale(0.9);
  filter: blur(2rem) brightness(2); }
  .u-fadeIn.is-scrollin, .is-scrollin.u-fadeInShadow {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1);
    transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1), filter 3s cubic-bezier(0.19, 1, 0.22, 1); }

.u-fadeInShadow.is-scrollin {
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1);
  animation: fade-in-finished-shadow 4.3s forwards cubic-bezier(0.19, 1, 0.22, 1); }

.u-a-blank {
  display: inline-flex;
  align-items: center;
  justify-content: stretch; }
  .u-a-blank::after {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin: 0 .5rem;
    background-image: url(../img/common/icon-blank.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%; }

/* Flocss Component */
.c-button,
a.c-button {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6.2rem;
  line-height: 1.5;
  background-color: #000000;
  border: 1px solid #000000;
  border-radius: 10rem;
  font-weight: 500;
  font-size: 1.7rem;
  color: #FFFFFF;
  text-align: center;
  text-decoration: none;
  transition: all .5s ease; }
  .c-button:active, .c-button:hover,
  a.c-button:active,
  a.c-button:hover {
    background-color: #FFFFFF;
    color: #000000; }
  .c-button.--white,
  a.c-button.--white {
    background-color: #FFFFFF;
    border: 1px solid #FFFFFF;
    color: #000000; }
    .c-button.--white:active, .c-button.--white:hover,
    a.c-button.--white:active,
    a.c-button.--white:hover {
      background-color: #000000;
      color: #FFFFFF; }

@media screen and (min-width: 960px) {
  .c-buttonWrap {
    margin-bottom: 4rem; } }

@media screen and (max-width: 959.9px) {
  .c-buttonWrap {
    margin-bottom: 2rem; } }

.c-buttonWrap > *:last-child {
  margin-bottom: 0 !important; }

@media screen and (min-width: 960px) {
  .c-formButtonWrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding: 1.4rem 0 1.4rem;
    margin-bottom: 2.4rem; } }

@media screen and (max-width: 959.9px) {
  .c-formButtonWrap {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding: 1.4rem 0 1.4rem;
    margin-bottom: 1.2rem; } }

@media screen and (min-width: 960px) {
  .c-formColumn {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    column-gap: 2rem;
    margin-bottom: 2rem; }
    .c-formColumn.--column {
      flex-direction: column; } }

@media screen and (max-width: 959.9px) {
  .c-formColumn {
    margin-bottom: 1rem; }
    .c-formColumn > *:last-child {
      margin-bottom: 0 !important; } }

.c-formColumn__col > *:last-child {
  margin-bottom: 0 !important; }

@media screen and (min-width: 960px) {
  .c-formColumn__col {
    flex: 1;
    max-width: calc( 50% - 1rem);
    min-width: calc( 50% - 1rem); } }

@media screen and (max-width: 959.9px) {
  .c-formColumn__col {
    margin-bottom: 1rem; } }

.c-formCheck {
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.4rem; }
  .c-formCheck input {
    margin-right: .7rem;
    vertical-align: middle; }

.c-formField {
  padding: 1.2rem 1.2rem;
  background-color: #F5F5F5;
  border: 0; }
  @media screen and (min-width: 960px) {
    .c-formField.--half {
      width: calc( 50% - 1rem); } }
  @media screen and (max-width: 959.9px) {
    .c-formField.--half {
      width: 100%; } }
  .c-formField.--full {
    width: 100%; }

.c-formSubmit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 22.2rem;
  line-height: 2;
  height: 5.7rem;
  background-color: #000000;
  border: 1px solid #000000;
  border-radius: 10rem;
  font-weight: 500;
  font-size: 1.8rem;
  color: #FFFFFF;
  text-align: center;
  text-decoration: none;
  transition: all .5s ease;
  cursor: pointer; }
  .c-formSubmit:active, .c-formSubmit:hover {
    background-color: #FFFFFF;
    color: #000000; }
  .c-formSubmit.--white {
    background-color: #FFFFFF;
    border: 1px solid #FFFFFF;
    color: #000000; }
    .c-formSubmit.--white:active, .c-formSubmit.--white:hover {
      background-color: #000000;
      color: #FFFFFF; }

@media screen and (min-width: 960px) {
  .c-formInputUnit {
    margin-bottom: 2rem; } }

@media screen and (max-width: 959.9px) {
  .c-formInputUnit {
    margin-bottom: 1rem; } }

.c-formInputUnit__title {
  display: block;
  line-height: 2;
  font-size: 1.4rem;
  font-weight: 500; }
  .c-formInputUnit__title .__note {
    line-height: 2;
    margin-left: .7rem;
    font-size: 1rem;
    font-weight: 500;
    color: #868686; }

.c-requiredBadge {
  vertical-align: text-bottom;
  font-weight: 700;
  font-size: 1.4rem;
  color: #FF0000; }

/* Flocss Project */
@media screen and (max-width: 959.9px) {
  .p-home__section.--facility,
  .p-home__section.--architecture,
  .p-home__contentGroup.--concierge,
  .p-home__section.--experience,
  .p-home__section.--season,
  .p-home__section.--service {
    display: none !important; } }

.p-home__section > *:last-top {
  margin-top: 0 !important; }

.p-home__section > *:last-child {
  margin-bottom: 0 !important; }

.p-home__kv {
  display: flex;
  align-items: center;
  justify-content: stretch;
  width: 100vw;
  height: 100svh;
  background-color: #000000;
  color: #FFFFFF; }

.p-home__kv__scroll {
  position: absolute;
  left: 50%;
  padding-bottom: 6.5rem;
  transform: translate(-50%, 0);
  opacity: 0;
  filter: blur(2rem) brightness(2); }
  .p-home__kv__scroll.is-active {
    opacity: 1;
    transition: all 3s cubic-bezier(0.19, 1, 0.22, 1);
    animation: fade-in 3s forwards cubic-bezier(0.19, 1, 0.22, 1); }
  .p-home__kv__scroll img {
    width: 3.9rem;
    height: auto; }
  .p-home__kv__scroll::after {
    position: absolute;
    left: 50%;
    top: 4.7rem;
    content: "";
    display: block;
    width: 1px;
    height: 0;
    transform: translate(-50%, 0);
    background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
    animation: scroll-animate 2s infinite alternate; }
  @media screen and (min-width: 960px) {
    .p-home__kv__scroll {
      bottom: 6.3rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__kv__scroll {
      bottom: 0; } }

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

.p-home__catchCopy__main .js-animated-logo {
  display: none;
  width: 100%;
  height: auto;
  opacity: 0; }

.p-home__catchCopy__main .js-animated-logo path {
  fill: transparent;
  stroke: #fff;
  stroke-width: 1;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke; }

.p-home__catchCopy__main .js-animated-logo.is-ready {
  opacity: 1; }

@media screen and (min-width: 960px) {
  .p-home__catchCopy__main {
    width: 50rem;
    margin: 0 auto 2.4rem; }
    .p-home__catchCopy__main .js-animated-logo.is-pc {
      display: block; }
    .p-home__catchCopy__main .js-animated-logo.is-sp {
      display: none; } }

@media screen and (max-width: 959.9px) {
  .p-home__catchCopy__main {
    width: 14.6rem;
    margin: 0 auto 3.8rem; }
    .p-home__catchCopy__main .js-animated-logo.is-pc {
      display: none; }
    .p-home__catchCopy__main .js-animated-logo.is-sp {
      display: block; } }

.p-home__catchCopy__sub {
  font-weight: 500;
  text-align: center;
  letter-spacing: .2em;
  opacity: 0;
  transform: scale(0.9);
  filter: blur(2rem) brightness(2); }
  .p-home__catchCopy__sub.is-active {
    opacity: 1;
    transform: scale(1);
    transition: all 3s cubic-bezier(0.19, 1, 0.22, 1);
    animation: fade-in 3s forwards cubic-bezier(0.19, 1, 0.22, 1); }
  @media screen and (min-width: 960px) {
    .p-home__catchCopy__sub {
      line-height: 2;
      font-size: 1.6rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__catchCopy__sub {
      line-height: 2;
      font-size: 1.3rem; } }

.p-home__message {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: stretch;
  overflow: hidden;
  background-color: #000000;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__message {
      height: 100dvh; } }
  @media screen and (max-width: 959.9px) {
    .p-home__message {
      height: 50dvh; } }
  .p-home__message .l-inner {
    z-index: 2;
    position: relative; }
  .p-home__message .p-home__message__bg {
    z-index: 1;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: 0; }
    .p-home__message .p-home__message__bg img {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: translate(-50%, -50%) scale(1.1);
      opacity: .4;
      transition: all 0.3s linear, transform 3s cubic-bezier(0.08, 0.92, 0.35, 1), opacity 2s; }
    .p-home__message .p-home__message__bg.is-scrollin img {
      transform: translate(-50%, -50%) scale(1); }
      @media screen and (max-width: 959.9px) {
        .p-home__message .p-home__message__bg.is-scrollin img {
          opacity: 1; } }
    .p-home__message .p-home__message__bg.is-centered img {
      opacity: 1; }

.p-home__contentGroup {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: 100dvh;
  background-color: #000000; }
  @media screen and (min-width: 960px) {
    .p-home__contentGroup {
      padding: 15rem 0 15rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup {
      padding: 8rem 0 8rem; } }
  .p-home__contentGroup .l-inner {
    z-index: 2;
    position: relative; }
  .p-home__contentGroup .p-home__contentGroup__bg {
    z-index: 1;
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    margin: 0 0 0;
    transform: translate(-50%, -50%);
    transition: all .3s linear;
    overflow: hidden; }
    .p-home__contentGroup .p-home__contentGroup__bg img {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      transform: translate(-50%, -50%) scale(1.1);
      object-fit: cover;
      transition: all 0.3s linear, transform 3s cubic-bezier(0.08, 0.92, 0.35, 1), opacity 2s;
      opacity: .4; }
    .p-home__contentGroup .p-home__contentGroup__bg.is-scrollin img {
      transform: translate(-50%, -50%) scale(1); }
      @media screen and (max-width: 959.9px) {
        .p-home__contentGroup .p-home__contentGroup__bg.is-scrollin img {
          opacity: .8; } }
    .p-home__contentGroup .p-home__contentGroup__bg.is-centered img {
      opacity: .8; }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup .p-home__contentGroup__bg img[data-sp-bg-pan] {
      left: 0;
      width: auto;
      max-width: none;
      height: 100%;
      object-fit: fill;
      transform: translate(0, -50%) scale(1.01);
      transition: opacity 2s; }
    .p-home__contentGroup .p-home__contentGroup__bg.is-scrollin img[data-sp-bg-pan],
    .p-home__contentGroup .p-home__contentGroup__bg.is-centered img[data-sp-bg-pan] {
      transform: translate(0, -50%) scale(1.01); }
    .p-home__contentGroup .p-home__contentGroup__bg img[data-sp-bg-pan].is-sp-bg-pan-ready {
      width: var(--sp-bg-pan-width); }
    .p-home__contentGroup .p-home__contentGroup__bg.is-scrollin img[data-sp-bg-pan].is-sp-bg-pan-ready {
      animation: bg-sp-pan-left 42s infinite cubic-bezier(0.45, 0, 0.55, 1); } }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup.--facility-copy {
      align-items: flex-start;
      padding-top: 14rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg {
      width: 100%;
      height: calc( 100dvh - 16rem);
      top: 8rem;
      left: 0;
      transform: translate(0, 0) scale(1); } }
  .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg .__evening,
  .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg .__morning {
    position: absolute; }
  .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg .__evening {
    z-index: 2;
    opacity: 0; }
    @media screen and (max-width: 959.9px) {
      .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg .__evening {
        left: 0;
        top: 0;
        width: auto;
        max-width: none;
        height: 100%;
        transform: translate(0, 0) scale(1); } }
  .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg .__morning {
    z-index: 1; }
    @media screen and (max-width: 959.9px) {
      .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg .__morning {
        left: 0;
        top: 0;
        width: auto;
        max-width: none;
        height: 100%;
        transform: translate(0, 0) scale(1); } }
  .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg.is-scrollin .__evening,
  .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg.is-scrollin .__morning {
    position: absolute; }
  .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg.is-scrollin .__evening {
    animation: evening-fade 10s infinite alternate;
    animation-delay: 2s; }
    @media screen and (max-width: 959.9px) {
      .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg.is-scrollin .__evening {
        animation: evening-fade 10s infinite alternate, evening-sp-pan 28s infinite linear;
        animation-delay: 2s, 0s; } }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup.--facility-copy .p-home__contentGroup__bg.is-scrollin .__morning {
      animation: evening-sp-pan 28s infinite linear; } }
  .p-home__contentGroup.--facility-copy .p-home__facility__title {
    opacity: 0;
    transform: scale(0.97);
    filter: blur(2rem) brightness(2); }
  .p-home__contentGroup.--facility-copy.is-scrollin-finished .p-home__facility__title {
    opacity: 1;
    transform: scale(1);
    filter: drop-shadow(0 0 0.4em rgba(0, 0, 0, 0.6));
    transition: opacity 4.3s cubic-bezier(0.19, 1, 0.22, 1), transform 4.3s cubic-bezier(0.19, 1, 0.22, 1), filter 4.3s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: 1s; }
  .p-home__contentGroup.--facility-body .l-inner {
    display: grid;
    align-items: center; }
  .p-home__contentGroup.--facility-body .p-home__facility__subtitle {
    grid-area: 1 / 1;
    margin-bottom: 0;
    opacity: 0;
    transform: scale(0.97);
    filter: blur(2rem) brightness(2); }
  .p-home__contentGroup.--facility-body .p-home__facility__list {
    grid-area: 1 / 1;
    opacity: 0;
    transform: translateY(2rem);
    pointer-events: none;
    transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1); }
  .p-home__contentGroup.--facility-body .p-home__facility__list__item {
    opacity: 0;
    transform: translateY(2rem);
    transition: opacity 2.4s cubic-bezier(0.19, 1, 0.22, 1), transform 2.4s cubic-bezier(0.19, 1, 0.22, 1); }
  .p-home__contentGroup.--facility-body.is-sequence-active .p-home__facility__subtitle {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1);
    transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1), filter 3s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: .5s; }
  .p-home__contentGroup.--facility-body.is-sequence-active.is-sequence-released .p-home__facility__subtitle {
    opacity: 0;
    transform: scale(0.97);
    filter: blur(2rem) brightness(2);
    transition-delay: 0s; }
  .p-home__contentGroup.--facility-body.is-sequence-active.is-sequence-released .p-home__facility__list {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    transition-delay: .8s; }
  .p-home__contentGroup.--facility-body.is-sequence-active.is-sequence-released .p-home__facility__list__item {
    opacity: 1;
    transform: translateY(0); }
    .p-home__contentGroup.--facility-body.is-sequence-active.is-sequence-released .p-home__facility__list__item:nth-child(1) {
      transition-delay: .8s; }
    .p-home__contentGroup.--facility-body.is-sequence-active.is-sequence-released .p-home__facility__list__item:nth-child(2) {
      transition-delay: 1.4s; }
    .p-home__contentGroup.--facility-body.is-sequence-active.is-sequence-released .p-home__facility__list__item:nth-child(3) {
      transition-delay: 2s; }
    .p-home__contentGroup.--facility-body.is-sequence-active.is-sequence-released .p-home__facility__list__item:nth-child(4) {
      transition-delay: 2.6s; }
  .p-home__contentGroup.--architecture-title {
    background-color: #FFFFFF; }
    @media screen and (max-width: 959.9px) {
      .p-home__contentGroup.--architecture-title {
        padding: 8.4rem 0 6.9rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup.--aboutPlace {
      padding-top: 24rem;
      padding-bottom: 5rem; }
      .p-home__contentGroup.--aboutPlace .p-home__contentGroup__bg {
        left: 0;
        top: 0;
        height: 22rem;
        transform: translate(0, 0); } }
  .p-home__contentGroup.--aboutPlace .p-home__contentGroup__bg.is-centered img {
    opacity: .4; }
  .p-home__contentGroup.--aboutPlace .l-inner {
    display: grid;
    align-items: center; }
  .p-home__contentGroup.--aboutPlace .p-home__aboutPlace {
    display: grid;
    align-items: center; }
  .p-home__contentGroup.--aboutPlace .p-home__aboutPlace__title,
  .p-home__contentGroup.--aboutPlace .p-home__aboutPlace__text {
    grid-area: 1 / 1; }
  .p-home__contentGroup.--aboutPlace .p-home__aboutPlace__title {
    margin-bottom: 0;
    opacity: 0;
    transform: scale(0.97);
    filter: blur(2rem) brightness(2); }
  .p-home__contentGroup.--aboutPlace .p-home__aboutPlace__text {
    opacity: 0;
    transform: translateY(2rem);
    filter: blur(2rem) brightness(2);
    pointer-events: none;
    transition: opacity 3.2s cubic-bezier(0.19, 1, 0.22, 1), transform 3.2s cubic-bezier(0.19, 1, 0.22, 1), filter 3.2s cubic-bezier(0.19, 1, 0.22, 1); }
  .p-home__contentGroup.--aboutPlace .p-home__aboutPlace__text p {
    opacity: 0;
    transform: translateY(1.6rem);
    filter: blur(3rem) brightness(2.4);
    transition: opacity 2.4s cubic-bezier(0.19, 1, 0.22, 1), transform 2.4s cubic-bezier(0.19, 1, 0.22, 1), filter 2.4s cubic-bezier(0.19, 1, 0.22, 1); }
  .p-home__contentGroup.--aboutPlace.is-sequence-active .p-home__contentGroup__bg.is-centered img {
    opacity: .4; }
  .p-home__contentGroup.--aboutPlace.is-sequence-active .p-home__aboutPlace__title {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1);
    transition: opacity 2.4s cubic-bezier(0.19, 1, 0.22, 1), transform 2.4s cubic-bezier(0.19, 1, 0.22, 1), filter 2.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: .5s; }
  .p-home__contentGroup.--aboutPlace.is-sequence-active.is-sequence-released .p-home__aboutPlace__title {
    opacity: 0;
    transform: scale(0.97);
    filter: blur(2rem) brightness(2);
    transition-delay: 0s; }
  .p-home__contentGroup.--aboutPlace.is-sequence-active.is-sequence-released .p-home__aboutPlace__text {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0) brightness(1);
    pointer-events: auto;
    transition-delay: .8s; }
  .p-home__contentGroup.--aboutPlace.is-sequence-active.is-sequence-released .p-home__aboutPlace__text p {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0) brightness(1); }
    .p-home__contentGroup.--aboutPlace.is-sequence-active.is-sequence-released .p-home__aboutPlace__text p:nth-child(1) {
      transition-delay: .4s; }
    .p-home__contentGroup.--aboutPlace.is-sequence-active.is-sequence-released .p-home__aboutPlace__text p:nth-child(2) {
      transition-delay: 1.8s; }
    .p-home__contentGroup.--aboutPlace.is-sequence-active.is-sequence-released .p-home__aboutPlace__text p:nth-child(3) {
      transition-delay: 3.2s; }
  .p-home__contentGroup.--winery .p-home__contentGroup__bg.is-centered img, .p-home__contentGroup.--savor .p-home__contentGroup__bg.is-centered img, .p-home__contentGroup.--suite .p-home__contentGroup__bg.is-centered img, .p-home__contentGroup.--tranquility .p-home__contentGroup__bg.is-centered img {
    opacity: .4; }
  .p-home__contentGroup.--winery .u-fadeIn.is-scrollin, .p-home__contentGroup.--winery .is-scrollin.u-fadeInShadow,
  .p-home__contentGroup.--winery .u-fadeInShadow.is-scrollin, .p-home__contentGroup.--savor .u-fadeIn.is-scrollin, .p-home__contentGroup.--savor .is-scrollin.u-fadeInShadow,
  .p-home__contentGroup.--savor .u-fadeInShadow.is-scrollin, .p-home__contentGroup.--suite .u-fadeIn.is-scrollin, .p-home__contentGroup.--suite .is-scrollin.u-fadeInShadow,
  .p-home__contentGroup.--suite .u-fadeInShadow.is-scrollin, .p-home__contentGroup.--tranquility .u-fadeIn.is-scrollin, .p-home__contentGroup.--tranquility .is-scrollin.u-fadeInShadow,
  .p-home__contentGroup.--tranquility .u-fadeInShadow.is-scrollin {
    opacity: 0;
    transform: scale(0.9);
    filter: blur(2rem) brightness(2);
    transition-delay: 0s;
    animation: none; }
  .p-home__contentGroup.--winery .p-home__winery__img.u-fadeIn.is-scrollin, .p-home__contentGroup.--winery .p-home__winery__img.is-scrollin.u-fadeInShadow, .p-home__contentGroup.--savor .p-home__winery__img.u-fadeIn.is-scrollin, .p-home__contentGroup.--savor .p-home__winery__img.is-scrollin.u-fadeInShadow, .p-home__contentGroup.--suite .p-home__winery__img.u-fadeIn.is-scrollin, .p-home__contentGroup.--suite .p-home__winery__img.is-scrollin.u-fadeInShadow, .p-home__contentGroup.--tranquility .p-home__winery__img.u-fadeIn.is-scrollin, .p-home__contentGroup.--tranquility .p-home__winery__img.is-scrollin.u-fadeInShadow {
    transform: translate(-50%, 0) scale(0.9); }
  .p-home__contentGroup.--winery .p-home__winery__img.u-fadeIn, .p-home__contentGroup.--winery .p-home__winery__img.u-fadeInShadow, .p-home__contentGroup.--savor .p-home__winery__img.u-fadeIn, .p-home__contentGroup.--savor .p-home__winery__img.u-fadeInShadow, .p-home__contentGroup.--suite .p-home__winery__img.u-fadeIn, .p-home__contentGroup.--suite .p-home__winery__img.u-fadeInShadow, .p-home__contentGroup.--tranquility .p-home__winery__img.u-fadeIn, .p-home__contentGroup.--tranquility .p-home__winery__img.u-fadeInShadow {
    transform: translate(-50%, 0) scale(0.9); }
  .p-home__contentGroup.--winery.is-bg-text-sequence-active .p-home__contentGroup__bg.is-centered img, .p-home__contentGroup.--savor.is-bg-text-sequence-active .p-home__contentGroup__bg.is-centered img, .p-home__contentGroup.--suite.is-bg-text-sequence-active .p-home__contentGroup__bg.is-centered img, .p-home__contentGroup.--tranquility.is-bg-text-sequence-active .p-home__contentGroup__bg.is-centered img {
    opacity: .4; }
  .p-home__contentGroup.--winery.is-bg-text-sequence-active .u-fadeIn.is-scrollin, .p-home__contentGroup.--winery.is-bg-text-sequence-active .is-scrollin.u-fadeInShadow,
  .p-home__contentGroup.--winery.is-bg-text-sequence-active .u-fadeInShadow.is-scrollin, .p-home__contentGroup.--savor.is-bg-text-sequence-active .u-fadeIn.is-scrollin, .p-home__contentGroup.--savor.is-bg-text-sequence-active .is-scrollin.u-fadeInShadow,
  .p-home__contentGroup.--savor.is-bg-text-sequence-active .u-fadeInShadow.is-scrollin, .p-home__contentGroup.--suite.is-bg-text-sequence-active .u-fadeIn.is-scrollin, .p-home__contentGroup.--suite.is-bg-text-sequence-active .is-scrollin.u-fadeInShadow,
  .p-home__contentGroup.--suite.is-bg-text-sequence-active .u-fadeInShadow.is-scrollin, .p-home__contentGroup.--tranquility.is-bg-text-sequence-active .u-fadeIn.is-scrollin, .p-home__contentGroup.--tranquility.is-bg-text-sequence-active .is-scrollin.u-fadeInShadow,
  .p-home__contentGroup.--tranquility.is-bg-text-sequence-active .u-fadeInShadow.is-scrollin {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1);
    transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1), filter 3s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: calc(.5s + var(--sequential-fade-delay, 0s)); }
  .p-home__contentGroup.--winery.is-bg-text-sequence-active .p-home__winery__img.u-fadeIn.is-scrollin, .p-home__contentGroup.--winery.is-bg-text-sequence-active .p-home__winery__img.is-scrollin.u-fadeInShadow, .p-home__contentGroup.--savor.is-bg-text-sequence-active .p-home__winery__img.u-fadeIn.is-scrollin, .p-home__contentGroup.--savor.is-bg-text-sequence-active .p-home__winery__img.is-scrollin.u-fadeInShadow, .p-home__contentGroup.--suite.is-bg-text-sequence-active .p-home__winery__img.u-fadeIn.is-scrollin, .p-home__contentGroup.--suite.is-bg-text-sequence-active .p-home__winery__img.is-scrollin.u-fadeInShadow, .p-home__contentGroup.--tranquility.is-bg-text-sequence-active .p-home__winery__img.u-fadeIn.is-scrollin, .p-home__contentGroup.--tranquility.is-bg-text-sequence-active .p-home__winery__img.is-scrollin.u-fadeInShadow {
    transform: translate(-50%, 0) scale(1); }
  .p-home__contentGroup.--winery.is-bg-text-sequence-active .p-home__winery__img.u-fadeIn, .p-home__contentGroup.--winery.is-bg-text-sequence-active .p-home__winery__img.u-fadeInShadow, .p-home__contentGroup.--savor.is-bg-text-sequence-active .p-home__winery__img.u-fadeIn, .p-home__contentGroup.--savor.is-bg-text-sequence-active .p-home__winery__img.u-fadeInShadow, .p-home__contentGroup.--suite.is-bg-text-sequence-active .p-home__winery__img.u-fadeIn, .p-home__contentGroup.--suite.is-bg-text-sequence-active .p-home__winery__img.u-fadeInShadow, .p-home__contentGroup.--tranquility.is-bg-text-sequence-active .p-home__winery__img.u-fadeIn, .p-home__contentGroup.--tranquility.is-bg-text-sequence-active .p-home__winery__img.u-fadeInShadow {
    transform: translate(-50%, 0) scale(1); }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup.--winery {
      padding-top: 24rem;
      padding-bottom: 5rem; }
      .p-home__contentGroup.--winery .p-home__contentGroup__bg {
        left: 0;
        top: 0;
        height: 22rem;
        transform: translate(0, 0); }
      .p-home__contentGroup.--winery.is-sequence-released .p-home__winery__header {
        opacity: 0;
        filter: blur(1.6rem) brightness(1.5);
        pointer-events: none; }
      .p-home__contentGroup.--winery.is-sequence-released .p-home__winery__body {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0) brightness(1);
        pointer-events: auto; } }
  @media screen and (min-width: 960px) {
    .p-home__contentGroup.--table, .p-home__contentGroup.--bedroom, .p-home__contentGroup.--ensitivity {
      display: block;
      padding: 0; } }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup.--table, .p-home__contentGroup.--bedroom, .p-home__contentGroup.--ensitivity {
      display: block;
      padding: 0; } }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup.--savor {
      align-items: stretch;
      padding: 22rem 0 0; }
      .p-home__contentGroup.--savor .p-home__contentGroup__bg {
        left: 0;
        top: 0;
        height: 22rem;
        transform: translate(0, 0); } }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup.--suite {
      padding: 22rem 0 0; }
      .p-home__contentGroup.--suite .p-home__contentGroup__bg {
        left: 0;
        top: 0;
        height: 22rem;
        transform: translate(0, 0); } }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup.--tranquility {
      padding: 0 0 0; }
      .p-home__contentGroup.--tranquility .p-home__contentGroup__bg {
        left: 0;
        top: 0;
        height: 30rem;
        transform: translate(0, 0); } }
  @media screen and (max-width: 959.9px) {
    .p-home__contentGroup.--experience-content {
      padding-top: 0; } }
  .p-home__contentGroup.--experience-katsunuma {
    background-color: transparent; }
    @media screen and (min-width: 960px) {
      .p-home__contentGroup.--experience-katsunuma {
        min-height: inherit;
        padding: 20rem 0 20rem; } }
  .p-home__contentGroup.--season {
    background-color: #FFFFFF; }
    @media screen and (min-width: 960px) {
      .p-home__contentGroup.--season {
        display: flex;
        align-items: center; } }
  @media screen and (min-width: 960px) {
    .p-home__contentGroup.--service {
      min-height: inherit;
      padding: 20rem 0 20rem; } }
  .p-home__contentGroup.--concierge {
    background-color: #F5F0EB; }
    @media screen and (min-width: 960px) {
      .p-home__contentGroup.--concierge {
        padding: 0; } }
    @media screen and (max-width: 959.9px) {
      .p-home__contentGroup.--concierge {
        padding: 0; } }
    .p-home__contentGroup.--concierge.--concierge--black {
      background-color: #1A1A1A; }

.p-home__facility__title {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  text-align: right;
  color: #FFFFFF;
  letter-spacing: .2em; }
  @media screen and (min-width: 960px) {
    .p-home__facility__title {
      line-height: 2;
      font-size: 2.8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__facility__title {
      line-height: 1.6;
      font-size: 2rem; } }

.p-home__facility__subtitle {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__facility__subtitle {
      line-height: 3;
      margin-bottom: 6rem;
      font-size: 2rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__facility__subtitle {
      line-height: 3;
      margin-bottom: 5.5rem;
      font-size: 1.3rem; } }
  .p-home__facility__subtitle .__logo {
    line-height: 1;
    display: inline-block;
    overflow: hidden;
    background-image: url(../img/home/facility-logo.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    white-space: nowrap;
    text-align: left;
    text-indent: 100%;
    font-family: sans-serif; }
    @media screen and (min-width: 960px) {
      .p-home__facility__subtitle .__logo {
        width: 6.6rem;
        height: 1.7rem; } }
    @media screen and (max-width: 959.9px) {
      .p-home__facility__subtitle .__logo {
        width: 4.7rem;
        height: 1.2rem; } }

.p-home__facility__list {
  display: flex;
  gap: 0; }
  @media screen and (max-width: 959.9px) {
    .p-home__facility__list {
      flex-wrap: wrap;
      margin-left: -4.2rem;
      margin-right: -4.2rem; } }

.p-home__facility__list__item {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end; }
  @media screen and (min-width: 960px) {
    .p-home__facility__list__item {
      max-width: 25%;
      min-width: 25%;
      height: 36rem;
      padding: 3.2rem 2.4rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__facility__list__item {
      min-width: 50%;
      max-width: 50%;
      height: 22rem;
      padding: 2rem 1rem; } }
  .p-home__facility__list__item > *:last-child {
    margin-bottom: 0 !important; }

.p-home__facility__list__item__title {
  z-index: 2;
  position: relative;
  line-height: 1.8;
  margin: 0;
  margin-bottom: .7rem;
  text-align: center;
  color: #FFFFFF;
  font-size: 2.2rem; }
  .p-home__facility__list__item__title img {
    width: auto;
    height: 2rem; }

.p-home__facility__list__item__body {
  z-index: 2;
  position: relative;
  line-height: 1.8;
  margin-bottom: 0;
  text-align: center;
  color: #FFFFFF;
  font-weight: 500;
  font-size: 1.2rem; }

.p-home__facility__list__item__img {
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  margin: 0; }
  .p-home__facility__list__item__img img {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%) scale(1.1);
    object-fit: cover;
    opacity: .6;
    transition: all 0.3s linear, transform 3s cubic-bezier(0.08, 0.92, 0.35, 1), opacity 2s; }
  .p-home__facility__list__item__img.is-centered img {
    opacity: .8; }

.p-home__architectureTitle__main {
  line-height: 1;
  font-family: 500;
  text-align: center; }
  @media screen and (min-width: 960px) {
    .p-home__architectureTitle__main {
      margin: 0 auto 1rem;
      font-size: 6rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__architectureTitle__main {
      margin: 0 auto .6rem;
      font-size: 3.8rem; } }
  .p-home__architectureTitle__main img {
    width: auto; }
    @media screen and (min-width: 960px) {
      .p-home__architectureTitle__main img {
        height: 6rem; } }
    @media screen and (max-width: 959.9px) {
      .p-home__architectureTitle__main img {
        height: 4.2rem; } }

.p-home__architectureTitle__sub {
  margin: 0;
  text-align: center; }
  @media screen and (min-width: 960px) {
    .p-home__architectureTitle__sub {
      line-height: 1.7;
      font-size: 1.4rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__architectureTitle__sub {
      line-height: 1.8;
      font-size: 1.3rem; } }

.p-home__aboutPlace__title {
  line-height: 1.5;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  text-align: center;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__aboutPlace__title {
      margin-bottom: 7.6rem;
      font-size: 2.8rem; }
      .p-home__aboutPlace__title img {
        width: 13.4rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__aboutPlace__title {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      margin-bottom: 0;
      font-size: 2rem; }
      .p-home__aboutPlace__title img {
        width: 8rem; } }

.p-home__aboutPlace__text {
  text-align: center;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__aboutPlace__text {
      line-height: 2;
      font-weight: 500; }
      .p-home__aboutPlace__text p {
        margin-bottom: 2em; } }
  @media screen and (max-width: 959.9px) {
    .p-home__aboutPlace__text {
      line-height: 2.5;
      font-weight: 300; }
      .p-home__aboutPlace__text p {
        margin-bottom: 2.5em; } }
  .p-home__aboutPlace__text > *:last-child {
    margin-bottom: 0 !important; }

@media screen and (max-width: 959.9px) {
  .p-home__winery {
    display: grid;
    align-items: center; } }

.p-home__winery__header {
  position: relative; }
  @media screen and (min-width: 960px) {
    .p-home__winery__header {
      margin-bottom: 2.2rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__winery__header {
      grid-area: 1 / 1;
      margin-top: -4rem;
      margin-bottom: 0;
      opacity: 1;
      filter: blur(0) brightness(1);
      transition: opacity 1.4s cubic-bezier(0.19, 1, 0.22, 1), filter 1.4s cubic-bezier(0.19, 1, 0.22, 1); } }

.p-home__winery__title {
  z-index: 2;
  position: relative;
  margin: 0;
  text-align: center; }
  @media screen and (min-width: 960px) {
    .p-home__winery__title {
      padding-top: 9.8rem;
      padding-bottom: 25rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__winery__title {
      padding-top: 4rem;
      padding-bottom: 16rem; } }
  .p-home__winery__title img {
    width: auto; }
    @media screen and (min-width: 960px) {
      .p-home__winery__title img {
        height: 6.8rem; } }
    @media screen and (max-width: 959.9px) {
      .p-home__winery__title img {
        height: 5.2rem; } }

.p-home__winery__img {
  z-index: 1;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0); }
  @media screen and (min-width: 960px) {
    .p-home__winery__img {
      width: 49.5rem;
      height: 49.5rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__winery__img {
      width: 100vw;
      max-width: 37.5rem;
      aspect-ratio: 1 / 1; } }
  @media screen and (max-width: 819px) {
    .p-home__winery__img {
      max-width: 32rem; } }
  .p-home__winery__img img {
    width: 100%;
    height: auto; }
  .p-home__winery__img.u-fadeIn, .p-home__winery__img.u-fadeInShadow {
    transform: translate(-50%, 0) scale(0.9); }
    .p-home__winery__img.u-fadeIn.is-scrollin, .p-home__winery__img.is-scrollin.u-fadeInShadow {
      transform: translate(-50%, 0) scale(1); }

.p-home__winery__subtitle {
  z-index: 2;
  position: relative;
  text-align: center;
  letter-spacing: .2em;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__winery__subtitle {
      line-height: 1.8;
      font-size: 2.8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__winery__subtitle {
      line-height: 1.8;
      font-size: 2rem; } }

.p-home__winery__body {
  line-height: 2;
  font-weight: 500;
  text-align: center;
  color: #FFFFFF; }
  @media screen and (max-width: 959.9px) {
    .p-home__winery__body {
      grid-area: 1 / 1;
      opacity: 0;
      transform: translateY(1.6rem);
      filter: blur(2rem) brightness(2);
      pointer-events: none;
      transition: opacity 2.4s cubic-bezier(0.19, 1, 0.22, 1), transform 2.4s cubic-bezier(0.19, 1, 0.22, 1), filter 2.4s cubic-bezier(0.19, 1, 0.22, 1); } }
  @media screen and (min-width: 960px) {
    .p-home__winery__body p {
      margin-bottom: 0; } }
  @media screen and (max-width: 959.9px) {
    .p-home__winery__body p {
      margin-bottom: 2em; } }
  .p-home__winery__body > *:last-child {
    margin-bottom: 0 !important; }

.p-home__imgColumnLayout .u-fadeIn.is-scrollin, .p-home__imgColumnLayout .is-scrollin.u-fadeInShadow,
.p-home__winery .u-fadeIn.is-scrollin,
.p-home__winery .is-scrollin.u-fadeInShadow,
.p-home__savor .u-fadeIn.is-scrollin,
.p-home__savor .is-scrollin.u-fadeInShadow,
.p-home__suite .u-fadeIn.is-scrollin,
.p-home__suite .is-scrollin.u-fadeInShadow,
.p-home__tranquility .u-fadeIn.is-scrollin,
.p-home__tranquility .is-scrollin.u-fadeInShadow,
.p-home__experienceContent__body .u-fadeIn.is-scrollin,
.p-home__experienceContent__body .is-scrollin.u-fadeInShadow,
.p-home__experienceKatsunuma__text .u-fadeIn.is-scrollin,
.p-home__experienceKatsunuma__text .is-scrollin.u-fadeInShadow {
  transition-delay: var(--sequential-fade-delay, 0s); }

.p-home__imgColumnLayout .u-fadeInShadow.is-scrollin,
.p-home__winery .u-fadeInShadow.is-scrollin,
.p-home__savor .u-fadeInShadow.is-scrollin,
.p-home__suite .u-fadeInShadow.is-scrollin,
.p-home__tranquility .u-fadeInShadow.is-scrollin,
.p-home__experienceContent__body .u-fadeInShadow.is-scrollin,
.p-home__experienceKatsunuma__text .u-fadeInShadow.is-scrollin {
  transition-delay: var(--sequential-fade-delay, 0s);
  animation-delay: var(--sequential-fade-delay, 0s); }

.p-home__imgColumnLayout.is-sequential-fade-active .u-fadeIn, .p-home__imgColumnLayout.is-sequential-fade-active .u-fadeInShadow,
.p-home__winery.is-sequential-fade-active .u-fadeIn,
.p-home__winery.is-sequential-fade-active .u-fadeInShadow,
.p-home__savor.is-sequential-fade-active .u-fadeIn,
.p-home__savor.is-sequential-fade-active .u-fadeInShadow,
.p-home__suite.is-sequential-fade-active .u-fadeIn,
.p-home__suite.is-sequential-fade-active .u-fadeInShadow,
.p-home__tranquility.is-sequential-fade-active .u-fadeIn,
.p-home__tranquility.is-sequential-fade-active .u-fadeInShadow,
.p-home__experienceContent__body.is-sequential-fade-active .u-fadeIn,
.p-home__experienceContent__body.is-sequential-fade-active .u-fadeInShadow,
.p-home__experienceKatsunuma__text.is-sequential-fade-active .u-fadeIn,
.p-home__experienceKatsunuma__text.is-sequential-fade-active .u-fadeInShadow {
  opacity: 1;
  transform: scale(1);
  filter: blur(0) brightness(1);
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1), filter 3s cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: var(--sequential-fade-delay, 0s); }

.p-home__imgColumnLayout.is-sequential-fade-active .u-fadeInShadow,
.p-home__winery.is-sequential-fade-active .u-fadeInShadow,
.p-home__savor.is-sequential-fade-active .u-fadeInShadow,
.p-home__suite.is-sequential-fade-active .u-fadeInShadow,
.p-home__tranquility.is-sequential-fade-active .u-fadeInShadow,
.p-home__experienceContent__body.is-sequential-fade-active .u-fadeInShadow,
.p-home__experienceKatsunuma__text.is-sequential-fade-active .u-fadeInShadow {
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1);
  animation: fade-in-finished-shadow 4.3s forwards cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: var(--sequential-fade-delay, 0s);
  animation-delay: var(--sequential-fade-delay, 0s); }

.p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeIn, .p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeInShadow,
.p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeIn,
.p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeInShadow,
.p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeIn,
.p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeInShadow,
.p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeIn,
.p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeInShadow,
.p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeIn,
.p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeInShadow,
.p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeIn,
.p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeInShadow,
.p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeIn,
.p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__img.u-fadeInShadow {
  transform: translate(-50%, 0) scale(1); }

@media screen and (max-width: 959.9px) {
  .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__body, .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__body, .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__body, .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__body, .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__body, .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__body, .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__body {
    opacity: 0;
    transform: translateY(1.6rem);
    filter: blur(2rem) brightness(2); }
  .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery:not(.is-sequence-released) .p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery:not(.is-sequence-released)
  .p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow {
    opacity: 0;
    transform: scale(0.9);
    filter: blur(2rem) brightness(2);
    transition-delay: 0s;
    animation: none; }
  .p-home__contentGroup.--winery.is-sequence-released .p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery.is-sequence-released .p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery.is-sequence-released .p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released .p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery.is-sequence-released .p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery.is-sequence-released
  .p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released .p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery.is-sequence-released .p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery.is-sequence-released
  .p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released .p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery.is-sequence-released .p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery.is-sequence-released
  .p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released .p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery.is-sequence-released .p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery.is-sequence-released
  .p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released .p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery.is-sequence-released .p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery.is-sequence-released
  .p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released .p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeIn, .p-home__contentGroup.--winery.is-sequence-released .p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow,
  .p-home__contentGroup.--winery.is-sequence-released
  .p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1);
    transition: opacity 2.4s cubic-bezier(0.19, 1, 0.22, 1), transform 2.4s cubic-bezier(0.19, 1, 0.22, 1), filter 2.4s cubic-bezier(0.19, 1, 0.22, 1); }
  .p-home__contentGroup.--winery.is-sequence-released .p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released
  .p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released
  .p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released
  .p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released
  .p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released
  .p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow, .p-home__contentGroup.--winery.is-sequence-released
  .p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__body .u-fadeInShadow {
    animation: fade-in-finished-shadow 3.2s forwards cubic-bezier(0.19, 1, 0.22, 1); }
  .p-home__contentGroup.--winery.is-sequence-released .p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(1), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(1), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(1), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(1), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(1), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(1), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(1) {
    transition-delay: .2s;
    animation-delay: .2s; }
  .p-home__contentGroup.--winery.is-sequence-released .p-home__imgColumnLayout.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(2), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__winery.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(2), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__savor.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(2), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__suite.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(2), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__tranquility.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(2), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__experienceContent__body.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(2), .p-home__contentGroup.--winery.is-sequence-released
  .p-home__experienceKatsunuma__text.p-home__winery.is-sequential-fade-active .p-home__winery__body p:nth-child(2) {
    transition-delay: .9s;
    animation-delay: .9s; } }

.p-home__imgColumnLayout {
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  gap: 0;
  background-color: #1A1A1A; }
  .p-home__imgColumnLayout .u-fadeIn.is-scrollin, .p-home__imgColumnLayout .is-scrollin.u-fadeInShadow {
    transition-delay: calc(.6s + var(--sequential-fade-delay, 0s));
    animation-delay: calc(.6s + var(--sequential-fade-delay, 0s)); }
  .p-home__imgColumnLayout.is-sequential-fade-active .u-fadeIn, .p-home__imgColumnLayout.is-sequential-fade-active .u-fadeInShadow {
    transition-delay: calc(.6s + var(--sequential-fade-delay, 0s));
    animation-delay: calc(.6s + var(--sequential-fade-delay, 0s)); }
  @media screen and (min-width: 960px) {
    .p-home__imgColumnLayout {
      flex-direction: row-reverse; } }
  @media screen and (max-width: 959.9px) {
    .p-home__imgColumnLayout {
      flex-direction: column-reverse; }
      .p-home__imgColumnLayout.is-sequential-fade-active .p-home__imgColumnLayout__body .u-fadeIn, .p-home__imgColumnLayout.is-sequential-fade-active .p-home__imgColumnLayout__body .u-fadeInShadow,
      .p-home__imgColumnLayout.is-sequential-fade-active .p-home__imgColumnLayout__body .u-fadeInShadow {
        animation: none; } }

@media screen and (min-width: 960px) {
  .p-home__imgColumnLayout__body {
    width: 100%; } }

@media screen and (min-width: 960px) {
  .p-home__imgColumnLayout__body__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 42rem;
    height: 100dvh;
    padding-left: 5.5rem;
    padding-top: 10rem;
    padding-bottom: 10rem; } }

@media screen and (max-width: 959.9px) {
  .p-home__imgColumnLayout__body__inner {
    padding: 3.6rem 4.2rem;
    min-height: calc( 100dvh - 60dvw); } }

.p-home__imgColumnLayout__title {
  line-height: 1.8;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: .2em; }
  @media screen and (min-width: 960px) {
    .p-home__imgColumnLayout__title {
      margin-bottom: 4.2rem;
      font-size: 2.8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__imgColumnLayout__title {
      margin-bottom: 2.5rem;
      font-size: 2.2rem; } }

.p-home__imgColumnLayout__text {
  font-weight: 300;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__imgColumnLayout__text {
      line-height: 2; } }
  @media screen and (max-width: 959.9px) {
    .p-home__imgColumnLayout__text {
      line-height: 2.5; } }
  @media screen and (min-width: 960px) {
    .p-home__imgColumnLayout__text p {
      margin-bottom: 2em; } }
  @media screen and (max-width: 959.9px) {
    .p-home__imgColumnLayout__text p {
      margin-bottom: 2em; } }
  .p-home__imgColumnLayout__text > *:last-child {
    margin-bottom: 0 !important; }

.p-home__imgColumnLayout__img {
  position: relative;
  overflow: hidden;
  margin: 0; }
  @media screen and (min-width: 960px) {
    .p-home__imgColumnLayout__img {
      min-width: calc(50% + 13rem);
      max-width: calc(50% + 13rem);
      min-height: 100%; } }
  @media screen and (max-width: 959.9px) {
    .p-home__imgColumnLayout__img {
      width: 100%;
      padding-top: 22rem; } }
  .p-home__imgColumnLayout__img img {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .4;
    transition: all 0.3s linear, transform 3s cubic-bezier(0.08, 0.92, 0.35, 1), opacity 2s; }
    @media screen and (min-width: 960px) {
      .p-home__imgColumnLayout__img img {
        transform: translate(-44%, -50%) scale(1.12); } }
    @media screen and (max-width: 959.9px) {
      .p-home__imgColumnLayout__img img {
        transform: translate(-50%, -50%) scale(1.1); } }
  @media screen and (min-width: 960px) {
    .p-home__imgColumnLayout__img.is-scrollin img {
      animation: img-column-image-pan 18s .8s infinite ease-in-out; } }
  @media screen and (max-width: 959.9px) {
    .p-home__imgColumnLayout__img.is-scrollin img {
      transform: translate(-50%, -50%) scale(1);
      opacity: 1; } }
  .p-home__imgColumnLayout__img.is-centered img {
    opacity: 1; }

@media screen and (min-width: 960px) {
  .p-home__imgColumnLayout.--reverse {
    flex-direction: row; } }

.p-home__imgColumnLayout.--reverse .p-home__imgColumnLayout__body__inner {
  text-align: right; }
  @media screen and (min-width: 960px) {
    .p-home__imgColumnLayout.--reverse .p-home__imgColumnLayout__body__inner {
      padding-left: 0;
      padding-right: 5.5rem;
      margin-left: auto; } }

.p-home__tableLogo {
  line-height: 1;
  display: inline-block;
  overflow: hidden;
  background-image: url(../img/home/bg-table-logo.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  white-space: nowrap;
  text-align: left;
  text-indent: 100%;
  font-family: sans-serif; }
  @media screen and (min-width: 960px) {
    .p-home__tableLogo {
      width: 21.5rem;
      height: 2.64rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__tableLogo {
      width: 21.5rem;
      height: 2.64rem; } }

@media screen and (max-width: 959.9px) {
  .p-home__savor {
    padding: 3.6rem 0;
    text-align: right; } }

.p-home__savor__title {
  line-height: 1.8;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: .2em; }
  @media screen and (min-width: 960px) {
    .p-home__savor__title {
      margin-bottom: 4.2rem;
      font-size: 2.8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__savor__title {
      margin-bottom: 2.5rem;
      font-size: 2.2rem; } }

.p-home__savor__text {
  font-weight: 300;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__savor__text {
      line-height: 2; } }
  @media screen and (max-width: 959.9px) {
    .p-home__savor__text {
      line-height: 2.5; } }
  @media screen and (min-width: 960px) {
    .p-home__savor__text p {
      margin-bottom: 2em; } }
  @media screen and (max-width: 959.9px) {
    .p-home__savor__text p {
      margin-bottom: 0; } }
  .p-home__savor__text > *:last-child {
    margin-bottom: 0 !important; }

@media screen and (min-width: 960px) {
  .p-home__suite {
    text-align: right; } }

@media screen and (max-width: 959.9px) {
  .p-home__suite {
    padding: 3.6rem 0; } }

.p-home__suite__title {
  line-height: 1.8;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: .2em; }
  @media screen and (min-width: 960px) {
    .p-home__suite__title {
      margin-bottom: 4.2rem;
      font-size: 2.8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__suite__title {
      margin-bottom: 2.8rem;
      font-size: 2.2rem; } }

.p-home__suite__text {
  line-height: 2;
  font-weight: 300;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__suite__text {
      line-height: 2; } }
  @media screen and (max-width: 959.9px) {
    .p-home__suite__text {
      line-height: 2.5; } }
  @media screen and (min-width: 960px) {
    .p-home__suite__text p {
      margin-bottom: 2em; } }
  @media screen and (max-width: 959.9px) {
    .p-home__suite__text p {
      margin-bottom: 2em; } }
  .p-home__suite__text > *:last-child {
    margin-bottom: 0 !important; }

.p-home__tranquility__title {
  line-height: 1.8;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__tranquility__title {
      margin-bottom: 3rem;
      font-size: 2.8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__tranquility__title {
      display: flex;
      align-items: flex-end;
      justify-content: flex-start;
      width: 100%;
      height: 40rem;
      padding-bottom: 5rem; } }
  .p-home__tranquility__title img {
    height: auto; }
    @media screen and (min-width: 960px) {
      .p-home__tranquility__title img {
        width: 7.4rem; } }
    @media screen and (max-width: 959.9px) {
      .p-home__tranquility__title img {
        width: 7.4rem; } }

.p-home__tranquility__text {
  font-weight: 300;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__tranquility__text {
      line-height: 2; } }
  @media screen and (max-width: 959.9px) {
    .p-home__tranquility__text {
      line-height: 2.5;
      padding: 0 0 4.2rem; } }
  @media screen and (min-width: 960px) {
    .p-home__tranquility__text p {
      margin-bottom: 2em; } }
  @media screen and (max-width: 959.9px) {
    .p-home__tranquility__text p {
      margin-bottom: 2em; } }
  .p-home__tranquility__text > *:last-child {
    margin-bottom: 0 !important; }

.p-home__concierge {
  width: 100%; }
  @media screen and (min-width: 960px) {
    .p-home__concierge {
      padding: 10rem 0; } }
  @media screen and (max-width: 959.9px) {
    .p-home__concierge {
      padding: 6rem 0 6rem; } }
  .p-home__concierge > *:last-child {
    margin-bottom: 0 !important; }

.p-home__concierge__title {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  text-align: center; }
  @media screen and (min-width: 960px) {
    .p-home__concierge__title {
      line-height: 2;
      margin-bottom: 1.5rem;
      font-size: 2rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__concierge__title {
      line-height: 1.8;
      margin-bottom: 2.1rem;
      font-size: 2rem; } }

.p-home__concierge__button {
  max-width: 17.6rem; }
  @media screen and (min-width: 960px) {
    .p-home__concierge__button {
      margin: 0 auto 1.5rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__concierge__button {
      margin: 0 auto 2.1rem; } }
  .p-home__concierge__button a {
    position: relative;
    display: block;
    width: 17.6rem;
    height: 6.2rem;
    line-height: 1.5;
    overflow: hidden;
    padding-top: .4rem;
    background-color: #000000;
    border: 1px solid #000000;
    border-radius: 10rem;
    font-weight: 500;
    font-size: 1.7rem;
    color: #FFFFFF;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    text-align: left;
    text-indent: 100%; }
    .p-home__concierge__button a::before {
      content: attr(data);
      display: block;
      position: relative;
      transition: all .5s ease;
      z-index: 1;
      width: 100%;
      height: 100%;
      white-space: nowrap;
      text-align: left;
      text-indent: 100%;
      background-image: url(../img/common/nav-request.svg);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 6.2rem; }
    .p-home__concierge__button a::after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      height: 100%;
      background-color: #FFFFFF;
      transition: width 300ms;
      width: 0;
      z-index: 0; }
    .p-home__concierge__button a:hover::before {
      background-image: url(../img/common/nav-request-black.svg); }
    .p-home__concierge__button a:hover::after {
      width: 100%; }

.p-home__concierge__text {
  line-height: 2;
  font-size: 1.2rem;
  color: #777777;
  text-align: center; }

.--concierge--black .p-home__concierge .p-home__concierge__title {
  color: #FFFFFF; }

.--concierge--black .p-home__concierge .p-home__concierge__button a {
  background-color: #FFFFFF;
  border: 1px solid #FFFFFF;
  color: #000000; }
  .--concierge--black .p-home__concierge .p-home__concierge__button a::before {
    background-image: url(../img/common/nav-request-black.svg); }
  .--concierge--black .p-home__concierge .p-home__concierge__button a::after {
    background-color: #000000; }
  .--concierge--black .p-home__concierge .p-home__concierge__button a:hover::before {
    background-image: url(../img/common/nav-request.svg); }

.--concierge--black .p-home__concierge .p-home__concierge__text {
  color: #777777; }

.p-home__experienceTitle {
  color: #FFFFFF; }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceTitle {
      margin-bottom: 4rem; } }
  .p-home__experienceTitle > *:last-child {
    margin-bottom: 0 !important; }

.p-home__experienceTitle__main {
  line-height: 1;
  margin: 0 auto 0;
  font-family: 500;
  text-align: center; }
  @media screen and (min-width: 960px) {
    .p-home__experienceTitle__main {
      font-size: 6rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceTitle__main {
      margin-bottom: 1rem;
      font-size: 3.8rem; } }
  .p-home__experienceTitle__main img {
    width: auto; }
    @media screen and (min-width: 960px) {
      .p-home__experienceTitle__main img {
        height: 6rem; } }
    @media screen and (max-width: 959.9px) {
      .p-home__experienceTitle__main img {
        height: 4.2rem; } }

.p-home__experienceTitle__sub {
  line-height: 1.7;
  text-align: center; }
  @media screen and (min-width: 960px) {
    .p-home__experienceTitle__sub {
      font-size: 1.4rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceTitle__sub {
      font-size: 1.3rem; } }

.p-home__experienceTitle__img {
  margin: 0 auto; }
  @media screen and (min-width: 960px) {
    .p-home__experienceTitle__img {
      width: 31.4rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceTitle__img {
      width: 26rem; } }
  .p-home__experienceTitle__img img {
    width: 100%;
    height: auto; }

@media screen and (min-width: 960px) {
  .p-home__experienceContent {
    display: flex;
    align-items: center;
    justify-content: stretch;
    column-gap: 12rem;
    margin-bottom: 9.2rem; } }

@media screen and (max-width: 959.9px) {
  .p-home__experienceContent {
    margin-bottom: 7rem; } }

.p-home__experienceContent__img {
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 960px) {
    .p-home__experienceContent__img {
      max-width: 51.2rem;
      min-width: 51.2rem;
      height: 0;
      padding-top: 51.2rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceContent__img {
      width: calc( 100% + 8.4rem);
      height: 0;
      padding-top: calc( 100% + 8.4rem);
      margin-left: -4.2rem;
      margin-right: -4.2rem;
      margin-bottom: 4.2rem; } }
  .p-home__experienceContent__img img {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%) scale(1.1);
    transition: all 0.3s linear, transform 3s cubic-bezier(0.08, 0.92, 0.35, 1), opacity 0.5s;
    opacity: .4; }
  .p-home__experienceContent__img.is-scrollin img {
    transform: translate(-50%, -50%) scale(1); }
    @media screen and (max-width: 959.9px) {
      .p-home__experienceContent__img.is-scrollin img {
        opacity: 1; } }
  @media screen and (min-width: 960px) {
    .p-home__experienceContent__img.is-centered img {
      opacity: 1; } }

.p-home__experienceContent__body {
  width: 100%; }

.p-home__experienceContent__title {
  line-height: 1.8;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: .2em; }
  @media screen and (min-width: 960px) {
    .p-home__experienceContent__title {
      margin-bottom: 4.8rem;
      font-size: 2.8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceContent__title {
      margin-bottom: 3rem;
      font-size: 2rem; } }

.p-home__experienceContent__text {
  font-weight: 300;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__experienceContent__text {
      line-height: 2.2;
      font-size: 1.4rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceContent__text {
      line-height: 2.5; } }
  @media screen and (min-width: 960px) {
    .p-home__experienceContent__text p {
      margin-bottom: 2.2em; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceContent__text p {
      margin-bottom: 2em; } }
  .p-home__experienceContent__text > *:last-child {
    margin-bottom: 0 !important; }

.p-home__experienceFlow {
  color: #FFFFFF; }
  .p-home__experienceFlow .u-fadeIn.is-scrollin, .p-home__experienceFlow .is-scrollin.u-fadeInShadow {
    transition-delay: var(--experience-flow-fade-delay, 0s); }
  .p-home__experienceFlow .u-fadeInShadow.is-scrollin {
    transition-delay: var(--experience-flow-fade-delay, 0s);
    animation-delay: var(--experience-flow-fade-delay, 0s); }
  .p-home__experienceFlow.is-experience-flow-sequence-active .u-fadeIn, .p-home__experienceFlow.is-experience-flow-sequence-active .u-fadeInShadow {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1);
    transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1), filter 3s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: var(--experience-flow-fade-delay, 0s); }
  .p-home__experienceFlow.is-experience-flow-sequence-active .u-fadeInShadow {
    transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1);
    animation: fade-in-finished-shadow 4.3s forwards cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: var(--experience-flow-fade-delay, 0s);
    animation-delay: var(--experience-flow-fade-delay, 0s); }

.p-home__experienceFlow__title {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF;
  text-align: center;
  letter-spacing: .2em; }
  @media screen and (min-width: 960px) {
    .p-home__experienceFlow__title {
      line-height: 2.4;
      margin-bottom: 6rem;
      font-size: 2rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceFlow__title {
      line-height: 2.2;
      margin-bottom: 3rem;
      font-size: 1.6rem; } }

.p-home__experienceFlow__list {
  display: flex;
  padding: 0;
  margin: 0; }
  @media screen and (min-width: 960px) {
    .p-home__experienceFlow__list {
      column-gap: 3.2rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceFlow__list {
      flex-wrap: wrap;
      column-gap: 1.7rem;
      row-gap: 3.8rem; } }
  .p-home__experienceFlow__list ::marker {
    content: ""; }

.p-home__experienceFlow__list__item {
  flex: 1;
  list-style: none;
  margin: 0; }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceFlow__list__item {
      min-width: calc( 50% - 0.85rem);
      max-width: calc( 50% - 0.85rem); } }

.p-home__experienceFlow__list__item__no {
  width: 2.2rem;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 960px) {
    .p-home__experienceFlow__list__item__no {
      margin-bottom: 1.6rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceFlow__list__item__no {
      margin-bottom: .8rem; } }
  .p-home__experienceFlow__list__item__no img {
    width: 100%;
    height: auto; }

.p-home__experienceFlow__list__item__img {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 78%;
  overflow: hidden; }
  @media screen and (min-width: 960px) {
    .p-home__experienceFlow__list__item__img {
      margin-bottom: 1.5rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceFlow__list__item__img {
      margin-bottom: .8rem; } }
  .p-home__experienceFlow__list__item__img img {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%) scale(1.1);
    transition: all 0.3s linear, transform 3s cubic-bezier(0.08, 0.92, 0.35, 1), opacity 2s;
    opacity: .4; }
  .p-home__experienceFlow__list__item__img.is-scrollin img {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1; }

.p-home__experienceFlow__list__item__body dt {
  margin: 0;
  margin-bottom: .8rem;
  font-family: "Noto Serif JP", serif;
  text-align: center; }
  @media screen and (min-width: 960px) {
    .p-home__experienceFlow__list__item__body dt {
      line-height: 1.8;
      font-size: 1.6rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceFlow__list__item__body dt {
      line-height: 1.4;
      font-size: 1.2rem; } }

.p-home__experienceFlow__list__item__body dd {
  margin: 0; }
  @media screen and (min-width: 960px) {
    .p-home__experienceFlow__list__item__body dd {
      line-height: 2;
      font-size: 1.2rem;
      text-align: center; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceFlow__list__item__body dd {
      line-height: 1.5;
      font-size: 1rem;
      text-align: left; } }

.p-home__experienceKatsunuma {
  background: radial-gradient(50% 50% at 50% 50%, #FFFFFF 0%, #DCD6DB 51.92%, #D5C8D3 100%); }

@media screen and (min-width: 960px) {
  .p-home__experienceKatsunuma__title {
    width: 11.4rem;
    margin: 0 auto 20rem; } }

@media screen and (max-width: 959.9px) {
  .p-home__experienceKatsunuma__title {
    width: 7.3rem;
    margin: 10rem auto 10rem; } }

@media screen and (min-width: 960px) {
  .p-home__experienceKatsunuma__map {
    width: 59.3rem;
    margin: 0 auto 7.3rem; } }

@media screen and (max-width: 959.9px) {
  .p-home__experienceKatsunuma__map {
    width: 22.7rem;
    margin: 0 auto 10rem; } }

.p-home__experienceKatsunuma__text {
  font-weight: 300; }
  @media screen and (min-width: 960px) {
    .p-home__experienceKatsunuma__text {
      line-height: 2.2;
      font-size: 1.4rem;
      text-align: center; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceKatsunuma__text {
      line-height: 2.5;
      text-align: left; } }
  @media screen and (min-width: 960px) {
    .p-home__experienceKatsunuma__text p {
      margin-bottom: 2em; } }
  @media screen and (max-width: 959.9px) {
    .p-home__experienceKatsunuma__text p {
      margin-bottom: 2.5em; } }
  .p-home__experienceKatsunuma__text > *:last-child {
    margin-bottom: 0 !important; }

.p-home__season .u-fadeIn.is-scrollin, .p-home__season .is-scrollin.u-fadeInShadow {
  transition-delay: var(--season-fade-delay, 0s); }

.p-home__season .u-fadeInShadow.is-scrollin {
  transition-delay: var(--season-fade-delay, 0s);
  animation-delay: var(--season-fade-delay, 0s); }

.p-home__season .p-home__season__list {
  opacity: 0;
  transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: var(--season-list-fade-delay, 0.4s); }

.p-home__season .p-home__season__item {
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 2.4s cubic-bezier(0.19, 1, 0.22, 1), transform 2.4s cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: var(--season-item-fade-delay, 0s); }

.p-home__season.is-season-sequence-active .u-fadeIn, .p-home__season.is-season-sequence-active .u-fadeInShadow {
  opacity: 1;
  transform: scale(1);
  filter: blur(0) brightness(1);
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1), filter 3s cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: var(--season-fade-delay, 0s); }

.p-home__season.is-season-sequence-active .u-fadeInShadow {
  transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1);
  animation: fade-in-finished-shadow 4.3s forwards cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: var(--season-fade-delay, 0s);
  animation-delay: var(--season-fade-delay, 0s); }

.p-home__season.is-season-sequence-active .p-home__season__list,
.p-home__season.is-season-sequence-active .p-home__season__item {
  opacity: 1;
  transform: translateY(0); }

.p-home__season__header {
  text-align: center; }
  @media screen and (min-width: 960px) {
    .p-home__season__header {
      margin-bottom: 8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__season__header {
      padding-top: 5rem;
      margin-bottom: 5rem; } }
  .p-home__season__header > *:last-child {
    margin-bottom: 0 !important; }

.p-home__season__header__title {
  margin: 0;
  text-align: center; }
  @media screen and (min-width: 960px) {
    .p-home__season__header__title {
      margin-bottom: 3rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__season__header__title {
      margin-bottom: 3rem; } }
  .p-home__season__header__title img {
    width: auto; }
    @media screen and (min-width: 960px) {
      .p-home__season__header__title img {
        height: 6rem; } }
    @media screen and (max-width: 959.9px) {
      .p-home__season__header__title img {
        height: 4.2rem; } }

.p-home__season__header__subtitle {
  line-height: 1.8;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  text-align: center;
  letter-spacing: .2em; }
  @media screen and (min-width: 960px) {
    .p-home__season__header__subtitle {
      margin-bottom: 1.6rem;
      font-size: 2.8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__season__header__subtitle {
      margin-bottom: 3rem;
      font-size: 2rem; } }

@media screen and (min-width: 960px) {
  .p-home__season__header__text {
    line-height: 1.8;
    font-size: 1.4rem; } }

@media screen and (max-width: 959.9px) {
  .p-home__season__header__text {
    line-height: 2.5;
    font-size: 1.3rem; } }

.p-home__season__list {
  display: flex;
  align-items: stretch;
  justify-content: stretch; }
  @media screen and (max-width: 959.9px) {
    .p-home__season__list {
      margin-left: -4.2rem;
      margin-right: -4.2rem;
      flex-wrap: wrap; } }

.p-home__season__item {
  position: relative;
  flex: 1;
  background-color: #000000; }
  @media screen and (min-width: 960px) {
    .p-home__season__item {
      max-width: 25%;
      min-width: 25%; } }
  @media screen and (max-width: 959.9px) {
    .p-home__season__item {
      max-width: 50%;
      min-width: 50%; } }

.p-home__season__item__badge {
  z-index: 3;
  position: absolute;
  margin: 0; }
  @media screen and (min-width: 960px) {
    .p-home__season__item__badge {
      right: 1.5rem;
      top: 1.5rem;
      width: 5rem;
      height: 5rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__season__item__badge {
      right: 0.94rem;
      top: 0.74rem;
      width: 3.1rem;
      height: 3.1rem; } }
  .p-home__season__item__badge img {
    width: 100%;
    height: auto; }

.p-home__season__item__cont {
  z-index: 2;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  color: #FFFFFF;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 60%); }
  @media screen and (min-width: 960px) {
    .p-home__season__item__cont {
      padding: 3.2rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__season__item__cont {
      padding: 2.2rem 1.8rem; } }
  .p-home__season__item__cont > *:last-child {
    margin-bottom: 0 !important; }

.p-home__season__item__title {
  margin: 0;
  font-weight: 500; }
  @media screen and (min-width: 960px) {
    .p-home__season__item__title {
      line-height: 1.8;
      font-size: 1.7rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__season__item__title {
      line-height: 2;
      font-size: 1.2rem; } }

@media screen and (min-width: 960px) {
  .p-home__season__item__text {
    line-height: 1.8;
    font-size: 1.2rem; } }

@media screen and (max-width: 959.9px) {
  .p-home__season__item__text {
    line-height: 2;
    font-size: 1rem; } }

.p-home__season__item__img {
  z-index: 1;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 133%;
  margin: 0;
  overflow: hidden; }
  .p-home__season__item__img img {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%) scale(1.1);
    transition: all 0.3s linear, transform 3s cubic-bezier(0.08, 0.92, 0.35, 1), opacity 2s;
    opacity: .4; }
  .p-home__season__item__img.is-scrollin img {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1; }

.p-home__serviceTitle {
  text-align: center;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__serviceTitle {
      margin-bottom: 14.8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__serviceTitle {
      padding-top: 5rem;
      margin-bottom: 7.5rem; } }

.p-home__serviceTitle__main {
  margin: 0;
  text-align: center; }
  @media screen and (min-width: 960px) {
    .p-home__serviceTitle__main {
      margin-bottom: 0; } }
  @media screen and (max-width: 959.9px) {
    .p-home__serviceTitle__main {
      margin-bottom: 1rem; } }
  .p-home__serviceTitle__main img {
    width: auto; }
    @media screen and (min-width: 960px) {
      .p-home__serviceTitle__main img {
        height: 6rem; } }
    @media screen and (max-width: 959.9px) {
      .p-home__serviceTitle__main img {
        height: 4.2rem; } }

.p-home__serviceTitle__sub {
  line-height: 1.8; }
  @media screen and (min-width: 960px) {
    .p-home__serviceTitle__sub {
      font-size: 1.4rem; } }

.p-home__serviceList {
  display: flex;
  align-items: stretch;
  justify-content: strech;
  color: #FFFFFF; }
  .p-home__serviceList .u-fadeIn.is-scrollin, .p-home__serviceList .is-scrollin.u-fadeInShadow {
    transition-delay: var(--service-list-fade-delay, 0s); }
  .p-home__serviceList .u-fadeInShadow.is-scrollin {
    transition-delay: var(--service-list-fade-delay, 0s);
    animation-delay: var(--service-list-fade-delay, 0s); }
  .p-home__serviceList.is-service-list-sequence-active .u-fadeIn, .p-home__serviceList.is-service-list-sequence-active .u-fadeInShadow {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1);
    transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1), filter 3s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: var(--service-list-fade-delay, 0s); }
  .p-home__serviceList.is-service-list-sequence-active .u-fadeInShadow {
    transition: opacity 3s cubic-bezier(0.19, 1, 0.22, 1), transform 3s cubic-bezier(0.19, 1, 0.22, 1);
    animation: fade-in-finished-shadow 4.3s forwards cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: var(--service-list-fade-delay, 0s);
    animation-delay: var(--service-list-fade-delay, 0s); }
  @media screen and (min-width: 960px) {
    .p-home__serviceList {
      column-gap: 7.2rem;
      margin-bottom: 14.8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__serviceList {
      flex-direction: column;
      row-gap: 6rem;
      margin-bottom: 10rem; } }

.p-home__serviceList__item {
  flex: 1; }

.p-home__serviceList__item__img {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 67%;
  overflow: hidden;
  margin-bottom: 1.8rem; }
  .p-home__serviceList__item__img img {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%) scale(1.1);
    opacity: .4;
    transition: all 0.3s linear, transform 3s cubic-bezier(0.08, 0.92, 0.35, 1), opacity 2s; }
  .p-home__serviceList__item__img.is-scrollin img {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1; }

.p-home__serviceList__item__title {
  line-height: 1.8;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500; }
  @media screen and (min-width: 960px) {
    .p-home__serviceList__item__title {
      margin-bottom: 1.2rem;
      font-size: 1.9rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__serviceList__item__title {
      margin-bottom: 1.1rem;
      font-size: 1.9rem; } }

.p-home__serviceList__item__text {
  line-height: 2;
  font-size: 1.2rem; }

.p-home__access {
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__access {
      display: flex;
      flex-direction: row-reverse;
      align-items: center;
      justify-content: center;
      column-gap: 6.6rem;
      margin-bottom: 14.8rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__access {
      position: relative;
      margin-bottom: 5rem; } }

@media screen and (min-width: 960px) {
  .p-home__access__body {
    max-width: 48rem;
    min-width: 48rem; } }

.p-home__access__title {
  margin: 0; }
  @media screen and (min-width: 960px) {
    .p-home__access__title {
      margin-bottom: 3rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__access__title {
      margin-bottom: 28.5rem; } }
  .p-home__access__title img {
    width: auto;
    height: 3.6rem; }

.p-home__access__text {
  line-height: 1.8;
  margin: 0;
  margin-bottom: 2.5rem;
  font-weight: 500;
  font-size: 1.2rem; }

.p-home__access__note {
  margin: 0;
  font-weight: 500;
  border: 1px solid #FFFFFF; }
  @media screen and (min-width: 960px) {
    .p-home__access__note {
      line-height: 1.8;
      padding: 3.2rem;
      font-size: 1.2rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__access__note {
      line-height: 2;
      padding: 2rem;
      font-size: 1.1rem; } }

.p-home__access__img {
  margin: 0; }
  @media screen and (min-width: 960px) {
    .p-home__access__img {
      min-width: 23.5rem;
      max-width: 23.5rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__access__img {
      position: absolute;
      top: 6rem;
      left: 50%;
      width: 16rem;
      margin-left: -8rem; } }
  .p-home__access__img img {
    width: 100%;
    height: auto; }

.p-home__accessDetail {
  margin: 0 auto; }
  @media screen and (min-width: 960px) {
    .p-home__accessDetail {
      width: 100rem; } }
  @media screen and (max-width: 959.9px) {
    .p-home__accessDetail {
      width: 100%; } }
  .p-home__accessDetail img {
    width: 100%;
    height: auto; }

@media screen and (min-width: 960px) {
  .p-contact__column {
    display: flex;
    align-items: stretch;
    justify-content: stretch; } }

@media screen and (min-width: 960px) {
  .p-contact__column__header {
    width: 100%;
    margin-right: 6.5rem; } }

@media screen and (max-width: 959.9px) {
  .p-contact__column__header {
    margin-bottom: 4rem; } }

@media screen and (min-width: 960px) {
  .p-contact__visual__img {
    margin-bottom: 1.6rem; } }

@media screen and (max-width: 959.9px) {
  .p-contact__visual__img {
    margin-bottom: .8rem; } }

.p-contact__visual__img img {
  width: 100%;
  height: auto; }

.p-contact__visual__text {
  line-height: 1.9;
  font-weight: 500;
  text-align: center; }

@media screen and (min-width: 960px) {
  .p-contact__column__body {
    max-width: 54rem;
    min-width: 54rem; } }

.p-contact__termText {
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center; }
  @media screen and (min-width: 960px) {
    .p-contact__termText {
      line-height: 1.5; } }
  @media screen and (max-width: 959.9px) {
    .p-contact__termText {
      line-height: 1.8; } }
  .p-contact__termText a {
    color: currentColor; }

.p-contact__tabFlg {
  display: none; }

.p-contact__tab {
  display: flex;
  align-items: stretch;
  justify-content: stretch; }

.p-contact__tab__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  width: 50%;
  line-height: 1;
  padding-bottom: 1.2rem;
  margin-bottom: 2.4rem;
  font-weight: 700;
  text-align: center;
  color: currentColor;
  text-decoration: none;
  cursor: pointer; }
  .p-contact__tab__item::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #D9D9D9; }
  .p-contact__tab__item.is-active::after {
    height: 2px;
    background-color: #555555; }

#your-living-domestic:checked ~ .p-contact__tab .p-contact__tab__item[for="your-living-domestic"]::after {
  height: 2px;
  background-color: #555555; }

#your-living-overseas:checked ~ .p-contact__tab .p-contact__tab__item[for="your-living-overseas"]::after {
  height: 2px;
  background-color: #555555; }

/* Flocss Layout 読み込み順が重要 */
.l-inner {
  width: 100%; }
  @media screen and (min-width: 960px) {
    .l-inner {
      max-width: 114rem;
      padding: 0 2rem;
      margin: 0 auto; } }
  @media screen and (max-width: 959.9px) {
    .l-inner {
      max-width: 60rem;
      padding: 0 2rem;
      margin: 0 auto; } }
  @media screen and (max-width: 819px) {
    .l-inner {
      max-width: inherit;
      padding: 0 4.2rem;
      margin: 0; } }
  .l-inner > *:last-top {
    margin-top: 0 !important; }
  .l-inner > *:last-child {
    margin-bottom: 0 !important; }

.l-pageContents {
  /* mix-blend-modeを使用するため、何も指定してはいけない */
  overflow: hidden; }
  @media screen and (min-width: 960px) {
    .l-pageContents.--singlePage {
      padding-top: 13rem;
      padding-bottom: 14rem; } }
  @media screen and (max-width: 959.9px) {
    .l-pageContents.--singlePage {
      padding-top: 10rem;
      padding-bottom: 7rem; } }

.l-header {
  z-index: 1000;
  left: 0;
  top: 0;
  right: 0;
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: stretch;
  color: #FFFFFF;
  mix-blend-mode: difference; }
  @media screen and (min-width: 960px) {
    .l-header {
      height: 8rem;
      padding-left: 5rem; } }
  @media screen and (max-width: 959.9px) {
    .l-header {
      height: 8rem;
      padding-left: 2.5rem; } }
  .l-header.--black {
    color: #000000;
    mix-blend-mode: unset; }
  .l-header[data-activate] {
    transform: translateY(-100%); }
  .l-header[data-activate].is-active {
    transition: all 3s cubic-bezier(0.19, 1, 0.22, 1);
    transform: translateY(0); }

.l-header__logo {
  padding: 0; }
  .l-header__logo a {
    display: block;
    line-height: 1; }
    @media screen and (min-width: 960px) {
      .l-header__logo a {
        height: 1.8rem; } }
    @media screen and (max-width: 959.9px) {
      .l-header__logo a {
        height: 1.6rem; } }
  .l-header__logo img {
    width: auto;
    height: 100%;
    vertical-align: top; }

.l-nav__flg {
  display: none !important; }

@media screen and (min-width: 960px) {
  .l-nav {
    z-index: 1001;
    position: fixed;
    top: 2.4rem;
    right: 3.5rem;
    display: block;
    width: fit-content;
    color: #FFFFFF;
    mix-blend-mode: difference;
    pointer-events: none !important; }
    .l-nav[data-activate] {
      transform: translateY(calc( -100% - 2.4rem)); }
    .l-nav[data-activate].is-active {
      transition: all 3s cubic-bezier(0.19, 1, 0.22, 1);
      transform: translateY(0); }
  .l-nav__body {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: fit-content;
    pointer-events: all; }
  .l-nav__menu {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5rem 0 0;
    margin: 0;
    list-style: none; }
    .l-nav__menu ::marker {
      content: ""; }
    .l-nav__menu li {
      margin-left: 3.6rem;
      font-size: 1.4rem;
      font-weight: 500;
      transition: all .5s ease; }
      .l-nav__menu li:first-child {
        margin-left: 0; }
      .l-nav__menu li.is-active {
        border-bottom: .1rem solid #FFFFFF; }
      .l-nav__menu li img {
        width: auto;
        max-width: inherit;
        height: 1.5rem; }
      .l-nav__menu li a {
        display: block;
        line-height: 1;
        transition: opacity .3s linear;
        color: currentColor; }
        .l-nav__menu li a:active, .l-nav__menu li a:hover {
          opacity: .6; }
  .l-nav__contact {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin-left: 3.6rem; }
    .l-nav__contact img {
      width: auto;
      max-width: inherit;
      height: 1.5rem; }
    .l-nav__contact a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 10.4rem;
      height: 4rem;
      padding-top: .4rem;
      color: currentColor;
      border: 1px solid #FFFFFF;
      border-radius: 10rem;
      line-height: 1;
      transition: opacity .3s linear; }
      .l-nav__contact a:active, .l-nav__contact a:hover {
        opacity: .6; } }

@media screen and (max-width: 959.9px) {
  .l-nav {
    z-index: 1001;
    position: fixed;
    top: 1.9rem;
    right: 1.4rem;
    display: block;
    width: fit-content;
    color: #FFFFFF;
    mix-blend-mode: difference;
    pointer-events: none !important; }
    .l-nav[data-activate] {
      transform: translateY(calc( -100% - 2.4rem)); }
    .l-nav[data-activate].is-active {
      transition: all 3s cubic-bezier(0.19, 1, 0.22, 1);
      transform: translateY(0); }
  .l-nav__body {
    width: fit-content;
    pointer-events: all; }
  .l-nav__menu {
    display: none; }
  .l-nav__contact {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin-left: 3.6rem; }
    .l-nav__contact img {
      width: auto;
      max-width: inherit;
      height: 1.5rem; }
    .l-nav__contact a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 10.4rem;
      height: 4rem;
      color: currentColor;
      border: 1px solid #FFFFFF;
      border-radius: 10rem;
      line-height: 1;
      transition: opacity .3s linear; }
      .l-nav__contact a:active, .l-nav__contact a:hover {
        opacity: .6; } }

@media screen and (min-width: 960px) {
  .l-navToggle {
    display: none; } }

@media screen and (max-width: 959.9px) {
  .l-navToggle {
    display: none; } }

.l-footer {
  background-color: #000000;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .l-footer {
      padding: 6rem 0 5rem; } }
  @media screen and (max-width: 959.9px) {
    .l-footer {
      padding: 6rem 0 5cqi; } }

@media screen and (min-width: 960px) {
  .l-footer__inner {
    max-width: 131rem;
    padding: 0 2rem;
    margin: 0 auto; } }

@media screen and (max-width: 959.9px) {
  .l-footer__inner {
    max-width: 60rem;
    padding: 0 2rem;
    margin: 0 auto; } }

@media screen and (max-width: 819px) {
  .l-footer__inner {
    max-width: inherit;
    padding: 0 4.2rem;
    margin: 0; } }

.l-footer__inner > *:last-top {
  margin-top: 0 !important; }

.l-footer__inner > *:last-child {
  margin-bottom: 0 !important; }

@media screen and (min-width: 960px) {
  .l-footer__main {
    display: flex;
    flex-direction: row-reverse;
    align-items: stretch;
    justify-content: stretch;
    margin-bottom: 4rem; } }

@media screen and (max-width: 959.9px) {
  .l-footer__main {
    margin-bottom: 3rem; }
    .l-footer__main .l-footer__logo {
      display: none; } }

.l-footer__outline {
  width: fit-content; }

.l-footer__logo {
  width: fit-content;
  height: 2.3rem; }
  .l-footer__logo img {
    width: auto;
    height: 100%; }
  @media screen and (min-width: 960px) {
    .l-footer__logo {
      margin-bottom: 2rem; } }
  @media screen and (max-width: 959.9px) {
    .l-footer__logo {
      margin-bottom: 3.6rem; } }

@media screen and (min-width: 960px) {
  .l-footer__inner > .l-footer__logo {
    display: none; } }

.l-footer__corp {
  line-height: 2;
  font-size: 1rem; }

.l-footer__copy {
  line-height: 2;
  font-size: 1rem; }

.l-footer__nav {
  margin-left: auto; }
  @media screen and (min-width: 960px) {
    .l-footer__nav {
      font-size: 1.4rem; } }
  @media screen and (max-width: 959.9px) {
    .l-footer__nav {
      font-size: 1.4rem; } }

.l-footer__nav__list {
  padding: 0;
  margin: 0;
  list-style: none; }
  .l-footer__nav__list ::marker {
    content: ""; }
  @media screen and (min-width: 960px) {
    .l-footer__nav__list {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      margin-bottom: 3rem; } }
  @media screen and (max-width: 959.9px) {
    .l-footer__nav__list {
      margin-bottom: 2.8rem; } }
  @media screen and (min-width: 960px) {
    .l-footer__nav__list li {
      margin-left: 4rem; }
      .l-footer__nav__list li:first-child {
        margin-left: 0; } }
  @media screen and (max-width: 959.9px) {
    .l-footer__nav__list li {
      margin-top: 3rem; }
      .l-footer__nav__list li:first-child {
        margin-top: 0; } }
  .l-footer__nav__list li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    line-height: 1;
    color: currentColor;
    transition: opacity .3s linear; }
    .l-footer__nav__list li a:active, .l-footer__nav__list li a:hover {
      opacity: .6; }
    .l-footer__nav__list li a img {
      width: auto;
      height: 1.5rem; }
  @media screen and (max-width: 959.9px) {
    .l-footer__nav__list li.--architecture, .l-footer__nav__list li.--experience, .l-footer__nav__list li.--season, .l-footer__nav__list li.--service {
      display: none; } }
  .l-footer__nav__list li.--request a {
    width: 10.4rem;
    height: 4rem;
    border: 1px solid #FFFFFF;
    border-radius: 10rem; }

.l-footer__note {
  line-height: 2;
  color: #FFFFFF;
  opacity: 0.4;
  font-size: 1rem; }
  @media screen and (min-width: 960px) {
    .l-footer__note {
      text-align: center; } }

.l-copyright {
  z-index: 1000;
  position: fixed;
  right: 2.4rem;
  line-height: 1.4em;
  font-size: 1.2rem;
  pointer-events: none;
  mix-blend-mode: difference;
  color: #FFFFFF; }
  @media screen and (min-width: 960px) {
    .l-copyright {
      top: 50%; } }
  @media screen and (max-width: 959.9px) {
    .l-copyright {
      bottom: 1rem; } }
  .l-copyright img {
    width: auto;
    height: 1.6rem;
    transform: translate(0, -50%) rotate(-90deg);
    transform-origin: right;
    margin-bottom: 100%; }

.l-loading {
  z-index: 2000;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  backdrop-filter: blur(3rem);
  -webkit-backdrop-filter: blur(3rem); }
  .is-loaded .l-loading {
    animation: loadedStageBlur 2s ease-out .2s;
    animation-fill-mode: forwards; }

@keyframes loadedStageBlur {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    display: none; } }

.l-loading__logo {
  z-index: 3;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(0, 0);
  opacity: 0;
  animation: loadingLogOpacity 2s ease-in-out 0s;
  animation-fill-mode: forwards; }
  @media screen and (min-width: 960px) {
    .l-loading__logo {
      width: 25.4rem;
      height: 11rem;
      margin-left: -12.7rem;
      margin-top: -5rem; } }
  @media screen and (max-width: 959.9px) {
    .l-loading__logo {
      width: 14.8rem;
      height: 6.4rem;
      margin-left: -7.4rem;
      margin-top: -3rem; } }
  .l-loading__logo svg {
    width: 100%;
    height: auto; }
  .is-loaded .l-loading__logo {
    animation: loadedLogOpacity 1s ease-out, loadedLogTranslate .8s ease;
    animation-fill-mode: forwards; }

@keyframes loadingLogOpacity {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes loadedLogOpacity {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes loadedLogTranslate {
  0% {
    transform: translate(0, 0); }
  100% {
    transform: translate(0, -50%); } }

.l-loading__bar {
  z-index: 2;
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: .2rem;
  margin-top: -.1rem;
  background-color: #8E8E8E;
  transform: translate(0, 0);
  transition: width .2s linear, transform .5s ease; }
  .is-loaded .l-loading__bar {
    transform: translate(100%, 0); }

.l-loading__filter {
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: #211F1F;
  pointer-events: all; }
  .is-loaded .l-loading__filter {
    animation: loadedStageEffect 2s ease-out .2s;
    animation-fill-mode: forwards;
    pointer-events: none; }

@keyframes loadedStageEffect {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/* Flocss Theme 外部ライブラリのCSS上書き等 */
/* Wp ブロックエディタ用のCSS */
.wp-dl {
  margin-bottom: 2em; }

.wp-dl__terms {
  line-height: 2;
  font-size: 1.065em;
  font-weight: 700; }

.wp-dl__details {
  line-height: 2;
  padding-left: 1em; }

/* image */
.centered {
  display: block;
  margin: 0 auto 1.5rem; }

.aligncenter {
  display: block;
  margin: 0 auto 1.5rem; }

.alignright {
  display: block; }
  @media screen and (min-width: 960px) {
    .alignright {
      float: right;
      margin: 0 0 1.5rem 3.2rem; } }
  @media screen and (max-width: 959.9px) {
    .alignright {
      margin: 1.5rem auto; } }

.alignleft {
  display: block; }
  @media screen and (min-width: 960px) {
    .alignleft {
      float: left;
      margin: 0 3.2rem 1.5rem 0; } }
  @media screen and (max-width: 959.9px) {
    .alignleft {
      margin: 1.5rem auto; } }

.clear {
  clear: both; }

.wp-caption {
  max-width: 100%;
  padding: 0;
  margin-bottom: 2.4rem; }

.wp-caption img {
  display: block;
  width: 100%;
  margin: 0 auto;
  max-width: 100%; }

.wp-caption .wp-caption-text {
  margin: .8rem auto 0;
  text-align: right;
  font-size: 1.1rem;
  font-style: normal;
  line-height: 2;
  color: #999; }

.wpcf7 form .wpcf7-response-output {
  margin-top: 0; }
  @media screen and (min-width: 960px) {
    .wpcf7 form .wpcf7-response-output {
      text-align: center; } }

.wpcf7 form.sent .wpcf7-response-output {
  color: #46b450; }

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  color: #dc3232; }

.wpcf7 form.spam .wpcf7-response-output {
  color: #f56e28; }

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  color: #ffb900; }

.wpcf7-list-item {
  display: block;
  margin-bottom: .6rem; }
  .wpcf7-list-item.last {
    margin-bottom: 0; }
  @media screen and (min-width: 960px) {
    .wpcf7-list-item {
      font-size: 1.5rem; } }
  @media screen and (max-width: 959.9px) {
    .wpcf7-list-item {
      font-size: 1.4rem; } }
  .wpcf7-list-item input[type="radio"] {
    accent-color: #D16262; }

.wpcf7-text,
.wpcf7-textarea {
  max-width: 100%;
  padding: 1.2rem 1.5rem;
  border: 1px solid #DBDBDB; }
  @media screen and (min-width: 960px) {
    .wpcf7-text,
    .wpcf7-textarea {
      font-size: 1.6rem; } }
  @media screen and (max-width: 959.9px) {
    .wpcf7-text,
    .wpcf7-textarea {
      font-size: 1.5rem; } }
  .wpcf7-text::placeholder,
  .wpcf7-textarea::placeholder {
    color: #B2B2B2; }

.wpcf7-textarea {
  width: 100%; }
