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

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

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

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

html {
  font-size: calc(16 / 1600 * 100vw);
  scroll-behavior: smooth;
}
@media screen and (min-width: 1601px) {
  html {
    font-size: 100%;
  }
}
@media screen and (min-width: 501px) and (max-width: 767px) {
  html {
    font-size: 133.3333333333%;
  }
}
@media screen and (max-width: 500px) {
  html {
    font-size: calc(16 / 375 * 100vw);
  }
}

body {
  color: #000000;
  font-family: "Noto Serif JP", serif;
}

h1, h2, h3, h4, h5, h6,
p, li, dt, dd, th, td,
span, a, button, small, time {
  font-feature-settings: "halt" 1;
}

h1, h2, h3, h4, h5, h6, p, li, dd, dt, th, td, a, span {
  overflow-wrap: anywhere;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
a {
  text-decoration: none;
  transition: 0.3s;
  color: inherit;
}
@media (hover: hover) {
  a:hover {
    cursor: pointer;
  }
}

picture,
img,
a,
span {
  display: inline-block;
}

picture {
  display: block;
  line-height: 0;
}

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

button {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
}

input,
textarea,
select {
  font: inherit;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.l-footer {
  margin-top: 2.455rem;
  padding-block-end: 2.105rem;
  text-align: center;
}

.l-footer__band {
  padding-block: 2.375rem 1.676875rem;
  background-color: #000000;
}

.l-footer__bnrs {
  display: flex;
  justify-content: center;
  column-gap: 3.625rem;
}

.l-footer__bnr-link {
  display: block;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .l-footer__bnr-link:hover {
    opacity: 0.75;
  }
}

.l-footer__bnr-img {
  display: block;
  width: 20.5rem;
}

.l-footer__bnr-text {
  display: block;
  margin-top: 0.948125rem;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  text-align: left;
  letter-spacing: 0;
  font-size: max(0.75rem, 10px);
  line-height: 1.75;
}

.l-footer__bnr-arrow {
  margin-left: 0.448em;
}

.l-footer__copy {
  margin-top: 3.148125rem;
  letter-spacing: 0.1109em;
  font-size: max(0.75rem, 10px);
  line-height: 1.75;
}

.l-footer__logo {
  margin-top: 1.864375rem;
}

.l-footer__logo img {
  display: block;
  width: 14.8752rem;
  margin-inline: auto;
}

.l-footer__copyright {
  margin-top: 1.199375rem;
  padding-left: 0.09375rem;
  color: #606060;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.1021em;
  font-size: max(0.875rem, 10px);
  line-height: 1.75;
}

@media screen and (min-width: 768px) {
  .l-footer__bnr-text {
    font-feature-settings: normal;
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    margin-top: 4.09375rem;
    padding-block-end: 1.3375rem;
  }
  .l-footer__band {
    padding-block: 2.33125rem 1.75625rem;
  }
  .l-footer__bnrs {
    display: block;
  }
  .l-footer__bnr:not(:first-child) {
    margin-top: 1.6375rem;
  }
  .l-footer__bnr-img {
    width: 17.5rem;
    margin-inline: auto;
  }
  .l-footer__bnr-text {
    margin-top: 0.325rem;
    text-align: center;
    letter-spacing: 0.0311em;
  }
  .l-footer__copy {
    margin-top: 2.2125rem;
    letter-spacing: 0.0122em;
    font-size: max(0.75rem, 10px);
    line-height: 2;
  }
  .l-footer__logo {
    margin-top: 1.06875rem;
  }
  .l-footer__logo img {
    width: 14.8159625rem;
  }
  .l-footer__copyright {
    margin-top: 0.80625rem;
    font-size: max(0.625rem, 10px);
    line-height: 1.75;
  }
}
.c-link-btn {
  position: relative;
  display: block;
  padding-block: 0.828125rem;
  border: 1px solid #195fc0;
  color: #195fc0;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  letter-spacing: 0.08em;
  transition: background-color 0.3s ease, color 0.3s ease;
  font-size: max(1.125rem, 10px);
  line-height: 1.75;
}
.c-link-btn::after {
  content: "";
  position: absolute;
  top: 1.5625rem;
  right: 1.125rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
}
@media (hover: hover) {
  .c-link-btn:hover {
    background-color: #195fc0;
    color: #ffffff;
  }
}

@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 4.025em;
  }
}
.p-header {
  --p-header-bars-display: block;
  --p-header-close-display: none;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 120;
  display: flex;
  align-items: flex-start;
  padding-block: 1.025rem 0.5rem;
  padding-inline: calc(50% - 10.65625rem) calc(50% - 10.71875rem);
  background-color: #141432;
}

.p-header__logo {
  display: grid;
  grid-template-rows: 0.87125rem auto;
  margin-top: 0.16875rem;
}

.p-header__logo-en {
  display: block;
  width: 6.775rem;
  margin-left: 0.125rem;
}

.p-header__logo-name {
  display: block;
  width: 15.65rem;
}

.p-header__menu {
  display: grid;
  place-items: center;
  width: 2.5rem;
  aspect-ratio: 1;
  margin-left: auto;
  border-radius: 50%;
  background-color: #6f6e6f;
  cursor: pointer;
  transition: background-color 0.3s ease;
  position: relative;
}
.p-header__menu::after {
  content: "";
  position: absolute;
  top: max(-1rem, min(0px, (2.5rem - 44px) / 2));
  bottom: max(-1rem, min(0px, (2.5rem - 44px) / 2));
  right: max(-1rem, min(0px, (2.5rem - 44px) / 2));
  left: max(-1rem, min(0px, (2.5rem - 44px) / 2));
}
@media (hover: hover) {
  .p-header__menu:hover {
    background-color: #000000;
  }
}

.p-header--drawer-open {
  --p-header-bars-display: none;
  --p-header-close-display: block;
}

.p-header__menu-icon {
  display: var(--p-header-bars-display);
  width: 1.1rem;
}

.p-header__menu-close {
  display: var(--p-header-close-display);
  width: 1.101875rem;
}

.p-header__menu-bar {
  display: block;
  padding-block-start: 0.1rem;
  background-color: #ffffff;
}

.p-header__menu-bar:not(:first-child) {
  margin-top: 0.25rem;
}

.p-fv {
  display: grid;
  width: 100%;
  aspect-ratio: 1920/1080;
  background-color: #000000;
}

.p-fv__bg,
.p-fv__head {
  grid-area: 1/1;
}

.p-fv__bg {
  contain: size;
}

.p-fv__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-fv__head {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin-left: 5.6112375rem;
  padding-block-start: 8.96133125rem;
}

.p-fv__en {
  margin-left: 0.20773125rem;
}

.p-fv__en img {
  width: 13.059725rem;
}

.p-fv__title-img {
  margin-top: 1.65204375rem;
}

.p-fv__title-img img {
  width: 30.37905625rem;
}

@media screen and (max-width: 767px) {
  .p-fv {
    aspect-ratio: 375/611.3;
  }
  .p-fv__head {
    margin-left: calc(0.08 * 100vw);
    padding-block-start: calc(0.2981333333 * 100vw);
  }
  .p-fv__en {
    margin-left: calc(0.0061333333 * 100vw);
  }
  .p-fv__en img {
    width: calc(0.488 * 100vw);
  }
  .p-fv__title-img {
    margin-top: calc(0.0362666667 * 100vw);
  }
  .p-fv__title-img img {
    width: calc(0.8864 * 100vw);
  }
}
@media screen and (min-width: 501px) and (max-width: 767px) {
  .p-fv {
    --p-fv-trim: calc(calc(0.1713333333 * 100vw) - 4.015625rem);
    aspect-ratio: auto;
    height: calc(calc(1.6301333333 * 100vw) - var(--p-fv-trim));
  }
  .p-fv__bg img {
    object-position: center bottom;
  }
  .p-fv__head {
    padding-block-start: calc(calc(0.2981333333 * 100vw) - var(--p-fv-trim));
  }
}
.p-panel {
  --p-panel-u: min(1rem, calc(100svh / 67.5));
  --p-panel-width: calc(var(--p-panel-u) * 20);
  --p-panel-body-opacity: 1;
  --p-panel-body-events: auto;
  --p-panel-toggle-left: calc(var(--p-panel-u) * 2.059475);
  --p-panel-close-display: block;
  --p-panel-open-display: none;
  --p-panel-toggle-fs: calc(var(--p-panel-u) * 0.875);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 90;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  width: var(--p-panel-width);
  height: 100svh;
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.7);
  clip-path: inset(0);
  transition: width 0.3s ease;
}

.p-panel--closed {
  --p-panel-u: 1rem;
  --p-panel-width: 3.75rem;
  --p-panel-body-opacity: 0;
  --p-panel-body-events: none;
  --p-panel-toggle-left: 0.5226375rem;
  --p-panel-close-display: none;
  --p-panel-open-display: block;
  --p-panel-toggle-fs: max(0.875rem, 10px);
}

.p-panel__body {
  padding-inline: calc(var(--p-panel-u) * 1.875);
  opacity: var(--p-panel-body-opacity);
  pointer-events: var(--p-panel-body-events);
  transition: opacity 0.3s ease;
}

.p-panel__gems {
  margin-top: calc(var(--p-panel-u) * 0.275);
  margin-left: calc(var(--p-panel-u) * 3.575);
}

.p-panel__gems img {
  width: calc(var(--p-panel-u) * 15.84364375);
  max-width: none;
}

.p-panel__label {
  margin-top: calc(var(--p-panel-u) * 3.0962625);
}

.p-panel__label img {
  width: calc(var(--p-panel-u) * 11.7636125);
}

.p-panel__title {
  margin-top: calc(var(--p-panel-u) * 1.4659375);
  font-size: calc(var(--p-panel-u) * 1.5);
  line-height: 1.9583333333;
  letter-spacing: -0.0071em;
}

.p-panel__text {
  margin-top: calc(var(--p-panel-u) * 1.205);
  padding-inline-end: calc(var(--p-panel-u) * 1.875);
  font-size: calc(var(--p-panel-u) * 1);
  line-height: 2;
  letter-spacing: -0.039em;
}

.p-panel__text-last {
  letter-spacing: 0.0116em;
}

.p-panel__toggle {
  display: block;
  margin-bottom: calc(var(--p-panel-u) * 6.275);
  margin-left: var(--p-panel-toggle-left);
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .p-panel__toggle:hover {
    opacity: 0.7;
  }
}

.p-panel__toggle-mark {
  width: calc(var(--p-panel-u) * 0.79739375);
  aspect-ratio: 52/60;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-panel__toggle-mark--close {
  display: var(--p-panel-close-display);
  background-image: url("../img/top/mark-close.webp");
}

.p-panel__toggle-mark--open {
  display: var(--p-panel-open-display);
  background-image: url("../img/top/mark-open.webp");
}

.p-panel__toggle-text {
  margin-top: calc(var(--p-panel-u) * 0.51575625);
  writing-mode: vertical-rl;
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--p-panel-toggle-fs);
  line-height: 1;
  letter-spacing: 0.1em;
}

.p-panel__toggle-text--close {
  display: var(--p-panel-close-display);
}

.p-panel__toggle-text--open {
  display: var(--p-panel-open-display);
}

@media screen and (max-width: 767px) {
  .p-panel {
    --p-panel-u: 1rem;
    position: static;
    display: flow-root;
    width: 100%;
    height: auto;
    padding-block-end: 2.290625rem;
    background-color: #000000;
  }
  .p-panel__body {
    padding-inline: calc(50% - 11.71875rem);
  }
  .p-panel__gems,
  .p-panel__label,
  .p-panel__toggle {
    display: none;
  }
  .p-panel__title {
    margin-top: 1.54rem;
    margin-left: 1.9875rem;
    letter-spacing: -0.007em;
    font-size: max(1.25rem, 10px);
    line-height: 2.35;
  }
  .p-panel__text {
    margin-top: 0.325625rem;
    margin-left: 1.875rem;
    padding-inline-end: 1.875rem;
    color: #c8c8c8;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: -0.006em;
    font-size: max(0.75rem, 10px);
    line-height: 1.8333333333;
  }
  .p-panel__text-last {
    letter-spacing: -0.0174em;
  }
}
.p-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 110;
  width: 23.4375rem;
  overflow-y: auto;
  visibility: hidden;
  opacity: 0;
  background-color: #464646;
  color: #ffffff;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.p-drawer--open {
  visibility: visible;
  opacity: 1;
}

.p-drawer__inner {
  position: relative;
  padding-block: 6.815rem 5.05625rem;
}

.p-drawer__gems {
  position: absolute;
  top: 5.40625rem;
  left: 16.4228375rem;
}

.p-drawer__gems img {
  display: block;
  width: 5.71875rem;
}

.p-drawer__list {
  margin-left: 5.45625rem;
}

.p-drawer__item:not(:first-child) {
  margin-top: 1.54296875rem;
}

.p-drawer__link {
  display: block;
  transition: opacity 0.3s ease;
  position: relative;
}
.p-drawer__link::after {
  content: "";
  position: absolute;
  top: max(-0.76875rem, min(0px, (1.33203125rem - 44px) / 2));
  bottom: max(-0.76875rem, min(0px, (1.33203125rem - 44px) / 2));
  right: 0;
  left: 0;
}
@media (hover: hover) {
  .p-drawer__link:hover {
    opacity: 0.6;
  }
}

.p-drawer__link img {
  display: block;
  width: auto;
  height: 1.33203125rem;
}

.p-drawer__bnr {
  display: block;
  margin-top: 4.42359375rem;
  margin-left: 5.45625rem;
  transition: opacity 0.3s ease;
  position: relative;
}
.p-drawer__bnr::after {
  content: "";
  position: absolute;
  top: max(-1.1875rem, min(0px, (2.0625rem - 44px) / 2));
  bottom: max(-1.1875rem, min(0px, (2.0625rem - 44px) / 2));
  right: 0;
  left: 0;
}
@media (hover: hover) {
  .p-drawer__bnr:hover {
    opacity: 0.7;
  }
}

.p-drawer__bnr--contact {
  margin-top: 2.495rem;
}

.p-drawer__bnr img {
  display: block;
  width: auto;
  height: 1.28473125rem;
}

.p-drawer__bnr-jp {
  display: block;
  margin-top: 0.04464375rem;
  font-size: 0.75rem;
  line-height: 1;
}

.p-drawer__bnr-jp--contact {
  margin-top: 0.00776875rem;
  letter-spacing: 0.0585em;
}

.p-drawer__links {
  margin-top: 4.6125rem;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 0.875rem;
  line-height: 3.4166357143;
}

.p-drawer__sublink {
  text-decoration: underline;
  text-decoration-thickness: 0.046875rem;
  text-underline-offset: 0.10625rem;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .p-drawer__sublink:hover {
    opacity: 0.7;
  }
}

.p-drawer__close {
  display: block;
  margin-top: 2.2896375rem;
  margin-inline: auto;
  color: #ffffff;
  cursor: pointer;
  letter-spacing: -0.031em;
  transition: opacity 0.3s ease;
  position: relative;
}
.p-drawer__close::after {
  content: "";
  position: absolute;
  top: max(-1.125rem, min(0px, (1.125rem - 44px) / 2));
  bottom: max(-1.125rem, min(0px, (1.125rem - 44px) / 2));
  right: 0;
  left: 0;
}
.p-drawer__close {
  font-size: 1.125rem;
  line-height: 1;
}
@media (hover: hover) {
  .p-drawer__close:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  .p-drawer {
    left: 0;
    width: auto;
  }
  .p-drawer__inner {
    max-width: 23.4375rem;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-drawer {
    display: none;
  }
}
.p-intro-area {
  background-image: url("../img/top/intro-mosaic.webp");
  background-repeat: no-repeat;
  background-position: center calc(88.75rem - min(120rem, max(100vw, 810px)) * 0.6041666667);
  background-size: min(120rem, max(100%, 810px)) auto;
}

.p-intro__inner {
  display: grid;
  grid-template-columns: 1fr 40rem 1fr;
  align-items: start;
  padding-block-start: 4.0563375rem;
}

.p-intro__nav {
  --p-intro-nav-drop-rows: 1fr;
  --p-intro-nav-drop-opacity: 1;
  --p-intro-nav-drop-visibility: visible;
  --p-intro-nav-drop-max-width: 100vw;
  --p-intro-nav-drop-width-delay: 0s;
  --p-intro-nav-plate-pb: 0.31288125rem;
  --p-intro-nav-bars-display: none;
  --p-intro-nav-close-display: block;
  grid-column: 1;
  max-width: 17.95625rem;
  margin-left: max(4.65rem, 100% - 35.35rem);
  transition: background-color 0.3s ease;
}

.p-intro__nav--closed {
  --p-intro-nav-drop-rows: 0fr;
  --p-intro-nav-drop-opacity: 0;
  --p-intro-nav-drop-visibility: hidden;
  --p-intro-nav-drop-max-width: 0;
  --p-intro-nav-drop-width-delay: 0.3s;
  --p-intro-nav-plate-pb: calc(0.31288125rem - max(-0.875rem, min(0px, (2.34375rem - 44px) / 2)));
  --p-intro-nav-bars-display: block;
  --p-intro-nav-close-display: none;
}

.p-intro__nav--pinned {
  position: fixed;
  top: 3.74345625rem;
  left: calc(max(4.65rem, calc(50% - 55.35rem)) - 0.3547375rem);
  z-index: 100;
  max-height: calc(100svh - 7.4869125rem);
  overflow-y: auto;
  padding-block: 0.31288125rem var(--p-intro-nav-plate-pb);
  padding-inline: 0.3547375rem;
  background-color: rgba(255, 255, 255, 0.6);
  margin-left: 0;
}

.p-intro__logo-en {
  width: 7.64175625rem;
  margin-left: 0.5537375rem;
}

.p-intro__logo-name {
  display: block;
  width: 15.118775rem;
  margin-top: 1.37554375rem;
  margin-left: 0.42974375rem;
}

.p-intro__menu {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-top: 2.4755125rem;
  cursor: pointer;
  position: relative;
}
.p-intro__menu::after {
  content: "";
  position: absolute;
  top: max(-1rem, min(0px, (3.26875rem - 44px) / 2));
  bottom: max(-1rem, min(0px, (3.26875rem - 44px) / 2));
  right: 0;
  left: 0;
}
.p-intro__menu::before {
  content: "";
  display: block;
  width: 3.26875rem;
  height: 3.26875rem;
  border-radius: 50%;
  background-color: #6f6e6f;
  transition: background-color 0.3s ease;
}
@media (hover: hover) {
  .p-intro__menu:hover::before {
    background-color: #000000;
  }
}

.p-intro__menu-icon {
  position: absolute;
  top: 1.10625rem;
  left: 0.91875rem;
  display: var(--p-intro-nav-bars-display);
  width: 1.44375rem;
}

.p-intro__menu-close {
  position: absolute;
  top: 1.16625rem;
  left: 0.91875rem;
  display: var(--p-intro-nav-close-display);
  width: 1.44375rem;
}

.p-intro__menu-bar {
  display: block;
  padding-block-start: 0.125rem;
  background-color: #ffffff;
}

.p-intro__menu-bar:not(:first-child) {
  margin-top: 0.4rem;
}

.p-intro__menu-label {
  width: 4.16934375rem;
  margin-top: 1.07948125rem;
  margin-left: 0.75660625rem;
}

.p-intro__drop {
  display: grid;
  grid-template-rows: var(--p-intro-nav-drop-rows);
  max-width: var(--p-intro-nav-drop-max-width);
  visibility: var(--p-intro-nav-drop-visibility);
  opacity: var(--p-intro-nav-drop-opacity);
  transition: grid-template-rows 0.3s ease, opacity 0.3s ease, visibility 0.3s ease, max-width 0s linear var(--p-intro-nav-drop-width-delay);
}

.p-intro__drop-inner {
  min-height: 0;
  overflow: hidden;
}

.p-intro__list {
  margin-top: 2.092225rem;
}

.p-intro__item {
  margin-left: 0.4297375rem;
}

.p-intro__item--information {
  margin-top: 1.0553rem;
}

.p-intro__item--about {
  margin-top: 1.54296875rem;
  margin-left: 0.40093125rem;
}

.p-intro__item--brand {
  margin-top: 1.54296875rem;
}

.p-intro__link {
  display: block;
  transition: opacity 0.3s ease;
  position: relative;
}
.p-intro__link::after {
  content: "";
  position: absolute;
  top: max(-0.525rem, min(0px, (1.33203125rem - 44px) / 2));
  bottom: max(-0.525rem, min(0px, (1.33203125rem - 44px) / 2));
  right: 0;
  left: 0;
}
@media (hover: hover) {
  .p-intro__link:hover {
    opacity: 0.6;
  }
}

.p-intro__bnr {
  display: grid;
  grid-template-rows: 1.14491875rem auto;
  margin-top: 4.08824375rem;
  margin-left: 0.075rem;
  padding-block: 0.31288125rem 0.42481875rem;
  padding-inline-start: 0.3547375rem;
  background-image: linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 13.24621875rem 100%;
  transition: opacity 0.3s ease;
  position: relative;
}
.p-intro__bnr::after {
  content: "";
  position: absolute;
  top: max(-0.875rem, min(0px, (2.63261875rem - 44px) / 2));
  bottom: max(-0.875rem, min(0px, (2.63261875rem - 44px) / 2));
  right: 0;
  left: 0;
}
@media (hover: hover) {
  .p-intro__bnr:hover {
    opacity: 0.7;
  }
}

.p-intro__bnr img {
  display: block;
  width: 12.46291875rem;
}

.p-intro__bnr--contact {
  margin-top: 1.52414375rem;
  margin-bottom: calc(max(-0.875rem, min(0px, (2.63261875rem - 44px) / 2)) * -1);
}

.p-intro__bnr--contact img {
  width: 10.588225rem;
}

.p-intro__bnr-jp {
  display: block;
  color: #6f6e6f;
  letter-spacing: 0.0147em;
  font-size: 0.75rem;
  line-height: 1;
}

.p-intro__bnr-jp--contact {
  letter-spacing: 0.0816em;
}

.p-intro__body {
  grid-column: 2;
  margin-top: 3.6124125rem;
  text-align: center;
}

.p-intro__mark img {
  width: 17.5rem;
}

.p-intro__title {
  margin-top: 4.147125rem;
  padding-left: 0.078125rem;
  letter-spacing: 0.0701em;
  font-size: max(1.8125rem, 10px);
  line-height: 2;
}

.p-intro__lead {
  margin-top: 1.998125rem;
  padding-left: 0.1875rem;
  letter-spacing: 0.0421em;
  font-size: max(1.125rem, 10px);
  line-height: 2;
}

.p-intro__note {
  margin-top: 41.50125rem;
  max-width: 17.08093125rem;
  margin-left: min(calc(50% - -42.91906875rem), 100% - 17.08093125rem);
  letter-spacing: 0.0084em;
  font-size: max(0.75rem, 10px);
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .p-intro-area {
    background-image: url("../img/top/sp-intro-mosaic.webp");
    background-position: left 46.676875rem;
    background-size: 100% auto;
  }
  .p-intro__nav {
    display: none;
  }
  .p-intro__inner {
    display: block;
    padding-block-start: 6.85375rem;
    padding-inline: calc(50% - 11.71875rem);
  }
  .p-intro__body {
    margin-top: 0;
  }
  .p-intro__mark img {
    display: block;
    width: 9.375rem;
    margin-inline: auto;
  }
  .p-intro__label--sp {
    margin-top: 3.484375rem;
    padding-left: 0.46875rem;
    letter-spacing: -0.0262em;
    font-size: max(1.125rem, 10px);
    line-height: 2.1605555556;
  }
  .p-intro__title--sp {
    padding-left: 0.421875rem;
    letter-spacing: -0.0065em;
    font-size: max(1.5rem, 10px);
    line-height: 1.8333333333;
  }
  .p-intro__lead {
    margin-top: 1.68625rem;
    padding-left: 0.44375rem;
    letter-spacing: -0.0538em;
    font-size: max(0.875rem, 10px);
    line-height: 2;
  }
  .p-intro__note {
    display: none;
  }
  .p-intro {
    padding-block-end: calc(calc(2.44 * 100vw) - 0.3825rem);
  }
}
.p-info {
  display: flow-root;
  text-align: center;
}

.p-info__title {
  margin-top: 8.8125rem;
}

.p-info__title img {
  width: 12.796875rem;
}

.p-info__news {
  margin-top: 7.84125rem;
  padding-left: 0.234375rem;
  letter-spacing: 0.1436em;
  font-size: max(1.625rem, 10px);
  line-height: 2.2307692308;
}

.p-info__sub {
  margin-top: 0.234375rem;
  letter-spacing: 0.1464em;
  font-size: max(1.375rem, 10px);
  line-height: 2.6363636364;
}

.p-info__entry {
  margin-top: 3.679375rem;
}

.p-info__entry-link {
  padding-left: 0.421875rem;
  color: #9b7b1f;
  font-family: "Noto Sans JP", sans-serif;
  text-decoration: underline;
  text-decoration-color: #9b7b1f;
  letter-spacing: 0.1439em;
  transition: text-decoration-color 0.3s ease;
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 2.9;
}
@media (hover: hover) {
  .p-info__entry-link:hover {
    text-decoration-color: transparent;
  }
}

.p-info__orn {
  margin-top: 7.180625rem;
}

.p-info__orn img {
  width: 3.72850625rem;
}

@media screen and (max-width: 767px) {
  .p-info {
    padding-inline: calc(50% - 9.84375rem);
    text-align: left;
  }
  .p-info__title {
    margin-top: 2.015625rem;
  }
  .p-info__title img {
    width: 10.375rem;
  }
  .p-info__news--sp {
    margin-top: 1.82rem;
    letter-spacing: 0.1783em;
    font-size: max(1.625rem, 10px);
    line-height: 2.1307692308;
  }
  .p-info__name--sp {
    letter-spacing: 0.0801em;
    font-size: max(1.875rem, 10px);
    line-height: 1.3666666667;
  }
  .p-info__sub--sp {
    margin-top: 0.475rem;
    letter-spacing: 0.098em;
    font-size: max(1.125rem, 10px);
    line-height: 1.6111111111;
  }
  .p-info__entry {
    margin-top: 3.085rem;
    text-align: center;
  }
  .p-info__entry-link {
    padding-left: 0.28125rem;
    color: #bb9046;
    text-decoration-color: #bb9046;
    font-size: max(1rem, 10px);
    font-weight: 700;
    line-height: 3.625;
  }
  .p-info__orn {
    margin-top: 3.95rem;
  }
  .p-info__orn img {
    display: block;
    width: 2.97571875rem;
    margin-inline: auto;
  }
}
.p-about {
  position: relative;
  margin-top: 11.391875rem;
}

.p-about__num {
  position: absolute;
  top: -1.193125rem;
  left: max(calc(50% - 58.6929625rem), calc(50% - 37.5rem) * 0.0580905556);
  width: min(19.61279375rem, calc(50% - 37.5rem) * 0.8716797222);
}

.p-about__num img {
  display: block;
  width: 100%;
}

.p-about__label {
  position: absolute;
  top: -1.193125rem;
  margin-top: min(19.736875rem, calc(50% - 37.5rem) * 0.8771944444);
  left: max(calc(50% - 54.4509875rem), calc(50% - 37.5rem) * 0.2466227778);
  width: min(8.8858625rem, calc(50% - 37.5rem) * 0.3949272222);
}

.p-about__label img {
  display: block;
  width: 100%;
}

.p-about__band {
  margin-left: calc(50% - 37.5rem);
  padding-block: 4.740625rem 5.45625rem;
  padding-inline: 6.25rem calc(50% - 31.25rem);
  background-color: #edeae3;
  text-align: center;
}

.p-about__band > * {
  position: relative;
  z-index: 1;
}

.p-about__en img {
  display: block;
  width: 31.71875rem;
  margin-inline: auto;
}

.p-about__lead {
  margin-top: 3.389375rem;
  padding-left: 0.125rem;
  letter-spacing: 0.0152em;
  font-size: max(1.6875rem, 10px);
  line-height: 1.8888888889;
}

.p-about__title {
  margin-top: 2.665625rem;
  padding-left: 0.71875rem;
  letter-spacing: 0.1503em;
  font-size: max(3.6875rem, 10px);
  line-height: 1;
}

.p-about__text {
  margin-top: 1.84rem;
  margin-inline: 10rem;
  letter-spacing: -0.006em;
  font-size: max(1rem, 10px);
  line-height: 2;
}

.p-about__text-last {
  letter-spacing: 0.0097em;
}

.p-about__cards {
  display: grid;
  grid-template-columns: repeat(3, 17.5rem);
  align-items: start;
  column-gap: 5rem;
  margin-top: 3.5925rem;
}

.p-about__card-title {
  padding-left: 0.28125rem;
  letter-spacing: 0.1826em;
  font-size: max(1.5625rem, 10px);
  line-height: 2.32;
}

.p-about__card-text {
  margin-top: 0.45rem;
  letter-spacing: -0.0537em;
  font-size: max(0.875rem, 10px);
  line-height: 1.7857142857;
}

.p-about__card-text--location {
  letter-spacing: -0.092em;
}

.p-about__card-text-last {
  letter-spacing: -0.0088em;
}

.p-about__card-img {
  margin-top: 0.94375rem;
}

.p-about__card-img--access {
  margin-top: 2.50625rem;
}

.p-about__card-img img {
  display: block;
  width: 100%;
}

.p-about__orn {
  margin-top: 14.823125rem;
}

.p-about__orn img {
  display: block;
  width: 3.72850625rem;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .p-about {
    margin-top: 4.53125rem;
  }
  .p-about__num {
    top: -1.67rem;
    left: calc(50% - 12.24069375rem);
    width: auto;
  }
  .p-about__num img {
    width: 10.48395rem;
  }
  .p-about__label {
    display: none;
  }
  .p-about__band {
    margin-left: 0;
    padding-block: 3.309375rem 2.5625rem;
    padding-inline: calc(50% - 9.84375rem);
  }
  .p-about__en img {
    width: 15.9375rem;
  }
  .p-about__lead {
    margin-top: 2.30125rem;
    padding-left: 0.1875rem;
    letter-spacing: 0.0615em;
    font-size: max(1.25rem, 10px);
    line-height: 1.8;
  }
  .p-about__lead-line {
    white-space: nowrap;
  }
  .p-about__title {
    margin-top: 2.03rem;
    padding-left: 0.5625rem;
    letter-spacing: 0.1239em;
    font-size: max(3.125rem, 10px);
    line-height: 1.16;
  }
  .p-about__text--sp {
    margin-top: 1.87125rem;
    margin-inline: 0;
    letter-spacing: -0.061em;
    font-size: max(1rem, 10px);
    line-height: 2;
  }
  .p-about__text-last {
    letter-spacing: -0.0755em;
  }
  .p-about__links {
    margin-top: 1.26rem;
  }
  .p-about__link-item:not(:first-child) {
    margin-top: 0.61875rem;
  }
  .p-about__orn {
    margin-top: 8.598125rem;
  }
  .p-about__orn img {
    width: 2.97571875rem;
  }
}
.p-slides {
  display: grid;
  touch-action: pan-y pinch-zoom;
  grid-template-columns: minmax(0, 1fr);
}

.p-slides__item {
  grid-area: 1/1;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.p-slides__item--current {
  visibility: visible;
  opacity: 1;
}

.p-pager {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-top: 4.0125rem;
}

.p-pager__btn {
  display: flex;
  align-items: flex-start;
  cursor: pointer;
  transition: opacity 0.3s ease;
  position: relative;
}
.p-pager__btn::after {
  content: "";
  position: absolute;
  top: max(-1rem, min(0px, (2.25rem - 44px) / 2));
  bottom: max(-1rem, min(0px, (2.25rem - 44px) / 2));
  right: 0;
  left: 0;
}
@media (hover: hover) {
  .p-pager__btn:hover {
    opacity: 0.6;
  }
}

.p-pager__btn:disabled {
  cursor: default;
}

.p-pager__btn--prev:disabled {
  opacity: 0.4;
}

.p-pager__btn--next {
  margin-left: 5.05625rem;
}

.p-pager__label {
  width: 3.1046125rem;
  margin-top: 0.653125rem;
}

.p-pager__label--next {
  width: 3.330325rem;
  margin-left: 0.845625rem;
}

.p-pager__arrow {
  width: 1.9408rem;
}

.p-pager__arrow--prev {
  margin-left: 0.82125rem;
}

.p-pager__dots {
  display: flex;
  column-gap: 0.6875rem;
  margin-top: 0.64375rem;
  margin-left: 5.30625rem;
}

.p-pager__dot {
  width: 0.875rem;
  aspect-ratio: 1;
  background-color: #bababa;
}

.p-pager__dot--current {
  background-color: #195fc0;
}

.p-pager__dots--sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-pager {
    margin-top: 1.9rem;
  }
  .p-pager__dots--pc {
    display: none;
  }
  .p-pager__dots--sp {
    display: flex;
    justify-content: center;
    column-gap: 0.55rem;
    margin-top: 2.7125rem;
    margin-left: 0;
  }
  .p-pager__dot {
    width: 0.7rem;
  }
  .p-pager__btn::after {
    top: max(-1rem, min(0px, (1.8rem - 44px) / 2));
    bottom: max(-1rem, min(0px, (1.8rem - 44px) / 2));
  }
  .p-pager__btn--prev:disabled {
    opacity: 1;
  }
  .p-pager__btn--next {
    margin-left: 4.8825rem;
  }
  .p-pager__label {
    width: 2.7179875rem;
    margin-top: 0.489375rem;
  }
  .p-pager__label--next {
    width: 2.915375rem;
    margin-left: 0.520625rem;
  }
  .p-pager__arrow {
    width: 1.5526375rem;
  }
  .p-pager__arrow--prev {
    margin-left: 0.515rem;
  }
}
.p-detail {
  position: relative;
}

.p-detail__num {
  position: absolute;
  top: -1.193125rem;
  left: max(calc(50% - 58.6929625rem), calc(50% - 37.5rem) * 0.0580905556);
  width: min(19.61279375rem, calc(50% - 37.5rem) * 0.8716797222);
}

.p-detail__num--brand {
  top: -0.614375rem;
}

.p-detail__num--brand + .p-detail__label {
  top: -0.614375rem;
  margin-top: min(19.160625rem, calc(50% - 37.5rem) * 0.8515833333);
}

.p-detail__num img {
  display: block;
  width: 100%;
}

.p-detail__label {
  position: absolute;
  top: -1.193125rem;
  margin-top: min(19.739375rem, calc(50% - 37.5rem) * 0.8773055556);
  left: max(calc(50% - 60rem), calc(50% - 37.5rem) * 0);
  width: min(20.7375rem, calc(50% - 37.5rem) * 0.9216666667);
  text-align: center;
}

.p-detail__label-img {
  display: block;
  margin-inline: auto;
}

.p-detail__label-img--access {
  width: 49.4603%;
}

.p-detail__label-img--location {
  width: 61.3516%;
}

.p-detail__label-img--results {
  width: 56.9979%;
}

.p-detail__label-img--quality {
  width: 53.366%;
}

.p-detail__label-img--planning {
  width: 64.7068%;
}

.p-detail__band {
  display: grid;
  grid-template-columns: 14.375rem 36.25rem minmax(0, 1fr);
  align-items: start;
  padding-block-start: 4.598125rem;
  padding-inline: calc(50% - 45.625rem) calc(50% - 48.4375rem);
  background-color: #edeae3;
}

.p-detail__band--brand {
  padding-block-start: 4.614375rem;
}

.p-detail__band > * {
  position: relative;
  z-index: 1;
}

.p-detail__en {
  display: none;
}

.p-detail__title {
  grid-column: 2/-1;
  grid-row: 1;
  letter-spacing: 0.1794em;
  font-size: max(3rem, 10px);
  line-height: 1.2083333333;
}

.p-detail__lead {
  z-index: 2;
  grid-column: 2/-1;
  grid-row: 2;
  margin-top: 0.80625rem;
  letter-spacing: 0.1464em;
  font-size: max(1.8125rem, 10px);
  line-height: 2;
}

.p-detail__text {
  grid-column: 2;
  grid-row: 3;
  margin-top: 2.925rem;
  letter-spacing: -0.019em;
  font-size: max(1rem, 10px);
  line-height: 2;
}

.p-detail__text--brand {
  margin-top: 2.675625rem;
}

.p-detail__lead--location {
  letter-spacing: 0.1401em;
}

.p-detail__lead--value {
  letter-spacing: 0.1521em;
}

.p-detail__lead--results {
  letter-spacing: 0.1293em;
}

.p-detail__lead--quality {
  letter-spacing: 0.1653em;
}

.p-detail__lead--planning {
  letter-spacing: 0.1243em;
}

.p-detail__text-last {
  letter-spacing: 0.05em;
}

.p-detail__dots {
  display: none;
}

.p-detail__band--access {
  padding-block-end: 3.309375rem;
}

.p-detail__venn {
  grid-column: 3;
  grid-row: 2/5;
  margin-top: 2.66625rem;
  margin-left: 3.275rem;
}

.p-detail__venn img {
  display: block;
  width: 31.32101875rem;
}

.p-detail__collage {
  grid-column: 1/-1;
  grid-row: 4;
  margin-top: 1.221875rem;
}

.p-detail__collage img {
  display: block;
  width: 94.0625rem;
}

.p-detail__band--location {
  padding-block-end: 0.019375rem;
}

.p-detail__hero {
  grid-column: 3;
  grid-row: 3;
  margin-top: 3.33125rem;
  margin-left: 2.5rem;
}

.p-detail__hero img {
  display: block;
  width: 23.75rem;
}

.p-detail__cells {
  display: grid;
  grid-column: 1/-1;
  grid-row: 4;
  grid-template-columns: 4.52803125rem repeat(4, 14.31740625rem);
  align-items: start;
  column-gap: 1.74321875rem;
  row-gap: 3.024375rem;
  margin-top: 6.853125rem;
  margin-left: 8.10375rem;
}

.p-detail__cell--first {
  grid-column-start: 2;
}

.p-detail__cell--wide {
  grid-column: 1/3;
  margin-top: 0.01375rem;
}

.p-detail__cell-img {
  display: block;
  width: 100%;
}

.p-detail__cell-img--wide {
  width: 20.3061875rem;
}

.p-detail__cap {
  display: block;
  margin-top: 0.04375rem;
  letter-spacing: 0;
  font-size: max(0.75rem, 10px);
  line-height: 1.75;
}

.p-detail__cap--indent {
  padding-left: 0.2225rem;
}

.p-detail__band--value {
  padding-block-end: 6.73rem;
}

.p-detail__tree {
  grid-column: 3;
  grid-row: 2/5;
  margin-top: 3.7275rem;
  margin-left: 5.34375rem;
}

.p-detail__tree img {
  display: block;
  width: 19.91625rem;
}

.p-detail__sub {
  grid-column: 2/-1;
  grid-row: 4;
  margin-top: 1.643125rem;
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.0508em;
  font-size: max(1.5625rem, 10px);
  font-weight: 600;
  line-height: 1.92;
}

.p-detail__btns {
  display: grid;
  grid-column: 2/-1;
  grid-row: 5;
  grid-template-columns: repeat(4, 14.875rem);
  column-gap: 1rem;
  margin-top: 1.219375rem;
}

.p-detail__btn {
  padding-block: 1.22875rem 1.39625rem;
  border-radius: 1.35304375rem;
  background-color: #5dad6c;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  letter-spacing: 0.113em;
  font-size: max(1.4375rem, 10px);
  font-weight: 600;
  line-height: 2.0869565217;
}

.p-detail__btn--light {
  background-color: #93c83a;
}

.p-detail__sub--keep {
  grid-row: 6;
  margin-top: 4.37125rem;
  letter-spacing: 0.0586em;
}

.p-detail__keeps {
  display: grid;
  grid-column: 2/-1;
  grid-row: 7;
  grid-template-columns: 28.125rem 28.125rem;
  column-gap: 6.25rem;
  margin-top: 1.33rem;
}

.p-detail__keep-title {
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.0117em;
  font-size: max(1.125rem, 10px);
  font-weight: 600;
  line-height: 1.5555555556;
}

.p-detail__keep-text {
  margin-top: 0.56875rem;
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.004em;
  font-size: max(0.875rem, 10px);
  line-height: 2;
}

.p-detail__keep-text-last {
  letter-spacing: 0.045em;
}

.p-detail__keep-text--narrow {
  letter-spacing: -0.012em;
}

.p-detail__check {
  margin-top: 1.03625rem;
}

.p-detail__check img {
  display: block;
  width: 28.125rem;
}

.p-detail__keep--photo {
  display: grid;
  grid-template-columns: 11.1875rem 15.3125rem;
  align-items: start;
  column-gap: 1.625rem;
}

.p-detail__keep-title--wide {
  grid-column: 1/-1;
  letter-spacing: -0.008em;
}

.p-detail__shadow {
  display: none;
}

.p-detail__keep-photo {
  margin-top: 0.84375rem;
}

.p-detail__keep-photo img {
  display: block;
  width: 15.3125rem;
}

.p-detail__band--results {
  padding-block-end: 7.974375rem;
}

.p-detail__results {
  grid-column: 3;
  grid-row: 3/5;
  max-width: 21.361875rem;
  margin-top: 3.135rem;
  margin-left: 4.888125rem;
}

.p-detail__table-title {
  padding-block-end: 0.473125rem;
  border-bottom: 1px solid #000000;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0;
  font-size: max(0.875rem, 10px);
  line-height: 1.75;
}

.p-detail__table {
  width: 100%;
  margin-top: 0.80625rem;
  border-collapse: collapse;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.045em;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 2;
}

.p-detail__table-name {
  width: 8.875rem;
  font-weight: 500;
  text-align: left;
}

.p-detail__table-count {
  width: 3.341875rem;
  text-align: right;
}

.p-detail__table-date {
  text-align: right;
  letter-spacing: 0.0774em;
}

.p-detail__total-label {
  margin-top: 1.885rem;
  padding-block-end: 0.089375rem;
  border-bottom: 1px solid #000000;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.0685em;
  font-size: max(1.494225rem, 10px);
  font-weight: 500;
  line-height: 1.7567635396;
}

.p-detail__total {
  margin-top: 1.14375rem;
  letter-spacing: 0.013em;
  font-size: max(3.75rem, 10px);
  line-height: 1;
}

.p-detail__total-unit {
  display: inline;
  font-size: max(3rem, 10px);
  line-height: 1;
}

.p-detail__note {
  margin-top: 0.18rem;
  text-align: right;
  letter-spacing: 0.02em;
  font-size: max(0.875rem, 10px);
  line-height: 2.2857142857;
}

.p-detail__shots {
  display: grid;
  grid-column: 2/-1;
  grid-row: 4;
  grid-template-columns: repeat(2, 17.21123125rem);
  column-gap: 2.065625rem;
  margin-top: 6.843125rem;
}

.p-detail__smalls {
  display: grid;
  grid-column: 2/-1;
  grid-row: 5;
  grid-template-columns: repeat(5, 11.25rem);
  column-gap: 1.5625rem;
  margin-top: 2.220625rem;
}

.p-detail__shot-img {
  display: block;
  width: 100%;
}

.p-detail__shot-cap {
  display: block;
  margin-top: 0.10875rem;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: -0.011em;
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  line-height: 1.75;
}

.p-detail__shot-cap--small {
  margin-top: 0.049375rem;
}

.p-detail__photos {
  display: none;
}

.p-detail__band--quality {
  grid-template-rows: repeat(6, auto) 1fr;
  padding-block-end: 6.021875rem;
}

.p-detail__specs {
  grid-column: 3;
  grid-row: 3/8;
  max-width: 23.125rem;
  margin-top: 2.936875rem;
  margin-left: 3.125rem;
  padding-inline-start: 3.125rem;
}

.p-detail__specs::before {
  content: "";
  position: absolute;
  top: 0.28rem;
  bottom: 0.1425rem;
  left: 0;
  border-left: 1px solid #000000;
}

.p-detail__spec {
  display: grid;
  grid-template-columns: 9.375rem 9.375rem;
  align-items: start;
  column-gap: 1.209375rem;
}

.p-detail__spec--pet {
  margin-top: 1.91rem;
}

.p-detail__spec--concrete {
  display: block;
  margin-top: 3.5675rem;
}

.p-detail__spec-title {
  grid-column: 1/-1;
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: -0.044em;
  font-size: max(1.125rem, 10px);
  font-weight: 600;
  line-height: 1.5555555556;
}

.p-detail__spec-title--wide {
  letter-spacing: -0.013em;
}

.p-detail__spec-text {
  margin-top: 0.686875rem;
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: -0.039em;
  font-size: max(0.75rem, 10px);
  line-height: 2;
}

.p-detail__spec-text--pet {
  margin-top: 0.814375rem;
}

.p-detail__spec-text--wide {
  margin-top: 0.88125rem;
  letter-spacing: -0.012em;
}

.p-detail__spec-text-last {
  letter-spacing: 0;
}

.p-detail__spec-photo {
  margin-top: 1.14125rem;
}

.p-detail__spec-photo--pet {
  margin-top: 1.054375rem;
}

.p-detail__spec-photo img {
  display: block;
  width: 9.375rem;
}

.p-detail__spec-fig {
  margin-top: 1.590625rem;
}

.p-detail__spec-fig img {
  display: block;
  width: 20.41861875rem;
  max-width: none;
}

.p-detail__spec-note {
  margin-top: 1.188125rem;
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: -0.006em;
  font-size: max(0.75rem, 10px);
  line-height: 2;
}

.p-detail__sub--zeh {
  grid-column: 2;
  margin-top: 3.7925rem;
  letter-spacing: 0.09em;
}

.p-detail__zeh-text {
  grid-column: 2;
  grid-row: 5;
  margin-top: 1.439375rem;
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: -0.011em;
  font-size: max(0.875rem, 10px);
  line-height: 2;
}

.p-detail__zeh-text-last {
  letter-spacing: 0.01em;
}

.p-detail__zeh {
  grid-column: 2;
  grid-row: 6;
  margin-top: 1.34625rem;
}

.p-detail__zeh img {
  display: block;
  width: 36.25rem;
}

.p-detail__band--planning {
  padding-block-end: 8.196875rem;
}

.p-detail__planning-list {
  grid-column: 3;
  grid-row: 3/5;
  margin-top: 2.81375rem;
  margin-left: 14.625rem;
}

.p-detail__planning-item:not(:first-child) {
  margin-top: 0.875rem;
}

.p-detail__planning-thumb {
  --p-detail-thumb-opacity: 1;
  display: block;
  width: 11.625rem;
  border: 1px solid #d0a800;
  cursor: pointer;
}

@media (hover: hover) {
  .p-detail__planning-thumb:not(.p-detail__planning-thumb--current):hover {
    --p-detail-thumb-opacity: 0.7;
  }
}

.p-detail__planning-thumb--current {
  --p-detail-thumb-opacity: 0.5;
  cursor: default;
}

.p-detail__planning-thumb-img {
  display: block;
  width: 100%;
  opacity: var(--p-detail-thumb-opacity);
  transition: opacity 0.3s ease;
}

.p-detail__planning-main {
  display: grid;
  grid-column: 2/-1;
  grid-row: 4;
  justify-self: start;
  margin-top: 3.76375rem;
}

.p-detail__planning-photo {
  grid-area: 1/1;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.p-detail__planning-photo--current {
  visibility: visible;
  opacity: 1;
}

.p-detail__planning-main img {
  display: block;
  width: 47.5rem;
}

.p-detail__planning-subs {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-detail__num {
    top: -1.67rem;
    left: calc(50% - 12.24069375rem);
    width: auto;
  }
  .p-detail__num--brand {
    top: -1.673125rem;
  }
  .p-detail__num img {
    width: 10.48395rem;
  }
  .p-detail__label {
    display: none;
  }
  .p-detail__band {
    display: block;
    padding-block: 1.398125rem 2.4275rem;
    padding-inline: calc(50% - 11.71875rem);
  }
  .p-detail__band--brand {
    padding-block-start: 1.295625rem;
  }
  .p-detail__en {
    display: block;
  }
  .p-detail__en-img {
    display: block;
    width: 10.625rem;
    margin-inline: auto;
  }
  .p-detail__en-img--brand {
    width: 6.635625rem;
  }
  .p-detail__title {
    margin-top: 0.75rem;
    text-align: center;
    letter-spacing: 0.1333em;
  }
  .p-detail__title--brand {
    margin-top: 0.925rem;
  }
  .p-detail__lead {
    margin-top: 2.154375rem;
    padding-inline: 1.875rem 0.75rem;
    letter-spacing: 0.05em;
    font-size: max(1.25rem, 10px);
    line-height: 1.8;
  }
  .p-detail__text {
    margin-top: 0.706875rem;
    padding-inline: 1.875rem;
    letter-spacing: -0.081em;
    font-size: max(0.875rem, 10px);
    line-height: 2;
  }
  .p-detail__text-last {
    letter-spacing: -0.081em;
  }
  .p-detail__dots {
    display: flex;
    justify-content: center;
    column-gap: 0.55rem;
  }
  .p-detail__collage {
    margin-top: 1.35125rem;
    padding-inline: 1.875rem;
  }
  .p-detail__collage img {
    width: 100%;
  }
  .p-detail__dots--access {
    margin-top: 2.583125rem;
  }
  .p-detail__cells {
    grid-template-columns: repeat(2, 9.433725rem);
    column-gap: 0.82005rem;
    row-gap: 0.85625rem;
    margin-top: 1.18375rem;
    margin-left: 0;
    padding-inline: 1.875rem;
  }
  .p-detail__cell--first,
  .p-detail__cell--wide {
    grid-column: auto;
  }
  .p-detail__cap {
    margin-top: 0;
    font-size: max(0.625rem, 10px);
    line-height: 1.5;
  }
  .p-detail__cap--indent {
    padding-left: 0;
  }
  .p-detail__dots--location {
    margin-top: 2.671875rem;
  }
  .p-detail__tree {
    position: absolute;
    top: 42.329375rem;
    left: calc(50% - -3.199375rem);
    margin: 0;
  }
  .p-detail__shadow {
    position: absolute;
    display: block;
    top: 47.95rem;
    left: calc(50% - 2.78125rem);
  }
  .p-detail__shadow img {
    display: block;
    width: 15.25rem;
  }
  .p-detail__tree img {
    width: 7.61125rem;
  }
  .p-detail__sub {
    margin-top: 1.136875rem;
    padding-inline: 1.875rem;
    color: #000000;
    letter-spacing: -0.0227em;
    font-size: max(1.125rem, 10px);
    font-weight: 600;
    line-height: 1.5555555556;
  }
  .p-detail__btns {
    grid-template-columns: repeat(4, 4.6775rem);
    column-gap: 0.314375rem;
    margin-top: 0.83125rem;
    margin-left: 1.935625rem;
  }
  .p-detail__btn {
    padding-block: 1.51625rem 1.386875rem;
    border-radius: 0.76061875rem;
    letter-spacing: 0.085em;
    font-size: max(1rem, 10px);
    font-weight: 600;
    line-height: 1.375;
  }
  .p-detail__sub--keep {
    margin-top: 2.008125rem;
    margin-inline: 1.875rem;
    padding-block: 0.52625rem 0.47375rem;
    padding-inline: 2.605rem 0;
    border-radius: 1.375rem 1.375rem 0 0;
    background-color: #195fc0;
    color: #ffffff;
    letter-spacing: -0.0132em;
    font-size: max(1rem, 10px);
    font-weight: 600;
    line-height: 1.3525;
  }
  .p-detail__keeps {
    display: block;
    margin-top: 0;
    margin-inline: 1.875rem;
    padding-block: 0.7775rem 0.87rem;
    padding-inline: 1.3425rem 1.318125rem;
    border-radius: 0 0 1.375rem 1.375rem;
    background-color: #ffffff;
  }
  .p-detail__keep-text {
    margin-top: 0.256875rem;
    letter-spacing: 0.011em;
    font-size: max(0.75rem, 10px);
    line-height: 1.75;
  }
  .p-detail__keep-text-last {
    letter-spacing: 0.028em;
  }
  .p-detail__keep--check::after {
    content: "";
    display: block;
    width: 10.786875rem;
    margin-top: 0.993125rem;
    margin-left: 0.2025rem;
    border-top: 1px solid #000000;
  }
  .p-detail__keep--photo {
    display: block;
  }
  .p-detail__keep-title {
    letter-spacing: 0.0075em;
    font-size: max(1.125rem, 10px);
    font-weight: 600;
    line-height: 1.3888888889;
  }
  .p-detail__keep-title--wide {
    margin-top: 0.659375rem;
    letter-spacing: 0;
  }
  .p-detail__dots--value {
    margin-top: 2.6475rem;
  }
  .p-detail__results,
  .p-detail__shots,
  .p-detail__smalls {
    display: none;
  }
  .p-detail__photos {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0.4375rem;
    margin-top: 1.3975rem;
    padding-inline: 1.875rem;
  }
  .p-detail__photo {
    width: 9.625rem;
    margin-top: 0.4375rem;
  }
  .p-detail__photo--wide {
    width: 100%;
    margin-top: 0;
  }
  .p-detail__photo--s {
    width: 6.25rem;
  }
  .p-detail__photo--m {
    width: 6.3125rem;
  }
  .p-detail__photo img {
    display: block;
    width: 100%;
  }
  .p-detail__total {
    margin-top: 1.279375rem;
    padding-inline: 1.875rem;
    letter-spacing: 0.014em;
    font-size: max(1.5359rem, 10px);
    line-height: 1.6684028908;
  }
  .p-detail__total-num {
    display: inline;
    font-size: max(1.919875rem, 10px);
    line-height: 1;
  }
  .p-detail__note {
    margin-top: 0.0325rem;
    padding-inline: 1.875rem;
    color: #231815;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.03em;
    font-size: max(0.75rem, 10px);
    line-height: 1;
  }
  .p-detail__dots--results {
    margin-top: 2.66375rem;
  }
  .p-detail__zeh {
    margin-top: 2.635625rem;
    padding-inline: 1.875rem;
  }
  .p-detail__zeh img {
    width: 100%;
  }
  .p-detail__sub--zeh {
    margin-top: 1.295rem;
    color: #231815;
    letter-spacing: 0.04em;
    font-size: max(1.125rem, 10px);
    font-weight: 600;
    line-height: 1.6666666667;
  }
  .p-detail__zeh-text {
    margin-top: 0.634375rem;
    padding-inline: 1.875rem;
    letter-spacing: -0.006em;
    font-size: max(0.75rem, 10px);
    line-height: 1.6666666667;
  }
  .p-detail__zeh-text-last {
    letter-spacing: 0.005em;
  }
  .p-detail__dots--quality {
    margin-top: 2.778125rem;
  }
  .p-detail__lead-tight {
    display: inline;
    letter-spacing: 0.008em;
  }
  .p-detail__planning-main {
    justify-self: auto;
    margin-top: 2.635625rem;
  }
  .p-detail__planning-main img {
    width: 100%;
  }
  .p-detail__planning-photo {
    visibility: visible;
    opacity: 1;
  }
  .p-detail__planning-subs {
    display: grid;
    grid-template-columns: 9.3125rem 9.375rem;
    column-gap: 1rem;
    margin-top: 1.05625rem;
    padding-inline: 1.875rem;
  }
  .p-detail__planning-subs img {
    display: block;
    width: 100%;
  }
  .p-detail__dots--planning {
    margin-top: 2.99375rem;
  }
}
.p-brand {
  position: relative;
  margin-top: 10.01875rem;
}

.p-brand__num {
  position: absolute;
  top: -0.614375rem;
  left: max(calc(50% - 58.6929625rem), calc(50% - 37.5rem) * 0.0580905556);
  width: min(19.61279375rem, calc(50% - 37.5rem) * 0.8716797222);
}

.p-brand__num img {
  display: block;
  width: 100%;
}

.p-brand__label {
  position: absolute;
  top: -0.614375rem;
  margin-top: min(19.155rem, calc(50% - 37.5rem) * 0.8513333333);
  left: max(calc(50% - 54.54248125rem), calc(50% - 37.5rem) * 0.2425563889);
  width: min(9.0687875rem, calc(50% - 37.5rem) * 0.4030572222);
}

.p-brand__label img {
  display: block;
  width: 100%;
}

.p-brand__band {
  margin-left: calc(50% - 37.5rem);
  padding-block: 5.315625rem 5.60625rem;
  padding-inline: 6.25rem calc(50% - 31.25rem);
  background-color: #edeae3;
  text-align: center;
}

.p-brand__band > * {
  position: relative;
  z-index: 1;
}

.p-brand__en img {
  display: block;
  width: 19.671875rem;
  margin-inline: auto;
}

.p-brand__lead {
  margin-top: 3.320625rem;
  letter-spacing: 0.1186em;
  font-size: max(1.8125rem, 10px);
  line-height: 2;
}

.p-brand__title {
  margin-top: 3.04875rem;
  padding-left: 0.015625rem;
  letter-spacing: 0.0879em;
  font-size: max(3.375rem, 10px);
  line-height: 1.0740740741;
}

.p-brand__text {
  margin-top: 3.00375rem;
  margin-inline: 10rem;
  letter-spacing: -0.0233em;
  font-size: max(1rem, 10px);
  line-height: 2;
}

.p-brand__text-last {
  letter-spacing: -0.0081em;
}

.p-brand__cards {
  display: grid;
  grid-template-columns: repeat(3, 17.5rem);
  align-items: start;
  column-gap: 5rem;
  margin-top: 6.18625rem;
}

.p-brand__card-title {
  padding-left: 0.328125rem;
  letter-spacing: 0.2093em;
  font-size: max(1.5625rem, 10px);
  line-height: 2.32;
}

.p-brand__card-text {
  margin-top: 0.986875rem;
  letter-spacing: -0.0507em;
  font-size: max(0.875rem, 10px);
  line-height: 1.7857142857;
}

.p-brand__card-text-last {
  letter-spacing: -0.0259em;
}

.p-brand__card-img {
  margin-top: 0.781875rem;
}

.p-brand__card-img--results {
  margin-top: 3.906875rem;
}

.p-brand__card-img img {
  display: block;
  width: 100%;
}

.p-brand__orn {
  margin-top: 19.24375rem;
}

.p-brand__orn img {
  display: block;
  width: 3.72850625rem;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .p-brand {
    margin-top: 6.906875rem;
  }
  .p-brand__num {
    top: -1.673125rem;
    left: calc(50% - 12.24069375rem);
    width: auto;
  }
  .p-brand__num img {
    width: 10.48395rem;
  }
  .p-brand__label {
    display: none;
  }
  .p-brand__band {
    margin-left: 0;
    padding-block: 3.628125rem 2.5625rem;
    padding-inline: calc(50% - 11.71875rem);
  }
  .p-brand__en,
  .p-brand__text--sp,
  .p-brand__links,
  .p-brand__dots {
    padding-inline: 1.875rem;
  }
  .p-brand__en img {
    width: 9.953125rem;
  }
  .p-brand__lead {
    margin-top: 3.989375rem;
    padding-inline: 1.26875rem;
    letter-spacing: -0.1067em;
    font-size: max(1.25rem, 10px);
    line-height: 1.8;
  }
  .p-brand__title {
    margin-top: 1.53125rem;
    padding-inline: 1.875rem;
    letter-spacing: 0.0066em;
    font-size: max(2.25rem, 10px);
    line-height: 1.6111111111;
  }
  .p-brand__text--sp {
    margin-top: 0.76375rem;
    margin-inline: 0;
    letter-spacing: 0.013em;
    font-size: max(1rem, 10px);
    line-height: 2;
  }
  .p-brand__text-last {
    letter-spacing: 0.0363em;
  }
  .p-brand__links {
    margin-top: 3.0625rem;
  }
  .p-brand__link-item:not(:first-child) {
    margin-top: 0.61875rem;
  }
  .p-brand__dots {
    margin-top: 3.5875rem;
  }
  .p-brand__orn {
    margin-top: 10.535625rem;
  }
  .p-brand__orn img {
    width: 2.97571875rem;
  }
}
.p-stage {
  --p-stage-mosaic-w: min(120rem, max(100vw, 103.2rem, 930px));
  position: relative;
  margin-top: 12.065rem;
  padding-block-start: 20.5225rem;
  background-image: url("../img/top/stage-mosaic.webp");
  background-repeat: no-repeat;
  background-position: center calc(35rem - var(--p-stage-mosaic-w) * 0.2916666667);
  background-size: var(--p-stage-mosaic-w) auto;
  text-align: center;
}

.p-stage__num {
  position: absolute;
  top: -6.92625rem;
  left: max(calc(50% - 58.6929625rem), calc(50% - 37.5rem) * 0.0580905556);
  width: min(19.61279375rem, calc(50% - 37.5rem) * 0.8716797222);
}

.p-stage__num img {
  display: block;
  width: 100%;
}

.p-stage__label {
  position: absolute;
  top: -6.92625rem;
  margin-top: min(18.9725rem, calc(50% - 37.5rem) * 0.8432222222);
  left: max(calc(50% - 54.15698125rem), calc(50% - 37.5rem) * 0.2596897222);
  z-index: 1;
  width: min(8.297975rem, calc(50% - 37.5rem) * 0.3687988889);
}

.p-stage__label img {
  display: block;
  width: 100%;
}

.p-stage__body {
  position: relative;
  z-index: 1;
}

.p-stage__title {
  letter-spacing: -0.0099em;
  font-size: max(3.375rem, 10px);
  line-height: 1.4074074074;
}

.p-stage__text {
  margin-top: 2.786875rem;
  padding-inline: calc(50% - 21.25rem);
  letter-spacing: 0.0236em;
  font-size: max(1.125rem, 10px);
  line-height: 2;
}

.p-stage__text-last {
  letter-spacing: 0.0512em;
}

.p-stage__mark {
  margin-top: 37.973125rem;
}

.p-stage__mark img {
  display: block;
  width: 9.15439375rem;
  margin-inline: auto;
}

.p-stage__the1st {
  display: none;
}

.p-stage__first {
  margin-top: 8.688125rem;
  letter-spacing: -0.0234em;
  font-size: max(2.5rem, 10px);
  line-height: 2.125;
}

.p-stage__first-strong {
  display: inline;
  font-size: max(3rem, 10px);
  line-height: 1.625;
}

@media screen and (max-width: 767px) {
  .p-stage {
    margin-top: 1.865625rem;
    padding-block-start: 3.70625rem;
    padding-inline: calc(50% - 9.84375rem);
    background-image: url("../img/top/sp-stage-mosaic.webp");
    background-position: left 25.74875rem;
    background-size: 100% auto;
  }
  .p-stage__num {
    top: -0.723125rem;
    left: calc(50% - 12.24069375rem);
    width: auto;
  }
  .p-stage__num img {
    width: 10.48395rem;
  }
  .p-stage__label {
    display: none;
  }
  .p-stage__title--sp {
    padding-left: 0.09375rem;
    letter-spacing: -0.0323em;
    font-size: max(1.75rem, 10px);
    line-height: 1.5714285714;
  }
  .p-stage__text--sp {
    margin-top: 1.809375rem;
    padding-inline: 0;
    letter-spacing: -0.0638em;
    font-size: max(1rem, 10px);
    line-height: 2;
  }
  .p-stage__text-last {
    letter-spacing: -0.0321em;
  }
  .p-stage__mark {
    margin-top: calc(calc(2.44 * 100vw) + 5.504375rem);
  }
  .p-stage__mark img {
    width: 4.73874375rem;
  }
  .p-stage__the1st {
    display: block;
    margin-top: 2.52125rem;
  }
  .p-stage__the1st img {
    display: block;
    width: 9.546875rem;
    margin-inline: auto;
  }
  .p-stage__first {
    margin-top: 1.409375rem;
    letter-spacing: -0.1245em;
    font-size: max(1.5rem, 10px);
    line-height: 2.0217583333;
  }
  .p-stage__first-strong {
    letter-spacing: -0.1061em;
    font-size: max(2.25rem, 10px);
    line-height: 1.0555555556;
  }
}
.p-property {
  margin-top: 3.02125rem;
  text-align: center;
}

.p-property__cg img {
  display: block;
  width: 100%;
  height: auto;
}

.p-property__note {
  max-width: 97.5rem;
  margin-top: 0.101875rem;
  margin-left: calc(50% - 37.5rem);
  text-align: left;
  letter-spacing: 0.0291em;
  font-size: max(0.75rem, 10px);
  line-height: 1.75;
}

.p-property__logo {
  margin-top: 4.326875rem;
}

.p-property__logo img {
  display: block;
  width: 12.7507625rem;
  margin-inline: auto;
}

.p-property__lead {
  margin-top: 1.7575rem;
  padding-left: 0.375rem;
  letter-spacing: 0.1201em;
  font-size: max(1.8125rem, 10px);
  line-height: 2;
}

.p-property__title {
  margin-top: 1.52rem;
  letter-spacing: 0.0906em;
  font-size: max(3.125rem, 10px);
  line-height: 1.16;
}

.p-property__title-name {
  display: inline;
}

.p-property__en {
  margin-top: 0.57375rem;
  padding-left: 0.3125rem;
  letter-spacing: 0.1962em;
  font-size: max(1.8125rem, 10px);
  line-height: 2;
}

.p-property__text {
  margin-top: 1.398125rem;
  padding-inline: calc(50% - 21.25rem);
  letter-spacing: -0.031em;
  font-size: max(1.125rem, 10px);
  line-height: 2;
}

.p-property__text-last {
  letter-spacing: 0.0049em;
}

.p-property__open {
  margin-top: 4.065625rem;
  padding-left: 0.015625rem;
  letter-spacing: 0.0963em;
  font-size: max(3.125rem, 10px);
  line-height: 1.16;
}

.p-property__cta {
  margin-top: 3.875rem;
}

.p-property__cta-label {
  display: block;
  max-width: 53.30625rem;
  margin-inline: auto;
  padding-block: 0.66125rem 0.82625rem;
  padding-left: 0.234375rem;
  border: 1px solid #9b7b1f;
  color: #9b7b1f;
  letter-spacing: 0.087em;
  font-size: max(1.8125rem, 10px);
  line-height: 2;
}

.p-property__tel {
  margin-top: 6.576875rem;
}

.p-property__tel-label {
  padding-left: 0.234375rem;
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.0617em;
  font-size: max(1rem, 10px);
  line-height: 1.01225625;
}

.p-property__tel-num {
  display: flex;
  justify-content: center;
  margin-top: 1.28125rem;
  color: #231815;
  letter-spacing: 0.0831em;
  font-size: max(3.25rem, 10px);
  line-height: 1.2;
}

.p-property__tel-line {
  flex-shrink: 0;
}

.p-property__tel-en {
  display: inline;
  letter-spacing: 0.1196em;
  font-size: max(2.25rem, 10px);
}

.p-property__tel-link {
  display: inline;
}

.p-property__tel-name {
  margin-top: 0.679375rem;
  padding-left: 0.46875rem;
  letter-spacing: 0.1016em;
  font-size: max(1.125rem, 10px);
  line-height: 1.75;
}

.p-property__tel-hours {
  margin-top: 0.474375rem;
}

.p-property__tel-hours img {
  display: block;
  width: 28.7394125rem;
  margin-inline: auto;
}

.p-property__links {
  display: flex;
  justify-content: center;
  column-gap: 3.3em;
  margin-top: 7.740625rem;
  padding-left: 0.09375rem;
  color: #231815;
  letter-spacing: 0.1em;
  font-size: max(1rem, 10px);
  line-height: 1.75;
}

.p-property__link {
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color 0.3s ease;
  position: relative;
}
.p-property__link::after {
  content: "";
  position: absolute;
  top: max(-1rem, min(0px, (1.75rem - 44px) / 2));
  bottom: max(-1rem, min(0px, (1.75rem - 44px) / 2));
  right: 0;
  left: 0;
}
@media (hover: hover) {
  .p-property__link:hover {
    text-decoration-color: currentColor;
  }
}

@media screen and (max-width: 767px) {
  .p-property {
    margin-top: 0.72875rem;
  }
  .p-property__inner {
    padding-inline: calc(50% - 9.84375rem);
  }
  .p-property__note {
    display: none;
  }
  .p-property__logo {
    margin-top: 3.26375rem;
  }
  .p-property__logo img {
    width: 8.7651875rem;
  }
  .p-property__lead {
    margin-top: 2.065625rem;
    padding-left: 0;
    letter-spacing: 0.043em;
    font-size: max(1.1875rem, 10px);
    line-height: 1.5789473684;
  }
  .p-property__title {
    margin-top: 1.32125rem;
    letter-spacing: -0.0328em;
    font-size: max(1.6875rem, 10px);
    line-height: 1.7407407407;
  }
  .p-property__title-name {
    display: block;
    letter-spacing: -0.0238em;
    font-size: max(2.0625rem, 10px);
    line-height: 1.4242424242;
  }
  .p-property__en {
    margin-top: 0.374375rem;
    padding-left: 0;
    letter-spacing: 0.0873em;
    font-size: max(0.75rem, 10px);
    line-height: 1.6666666667;
  }
  .p-property__text--sp {
    margin-top: 2.33125rem;
    padding-inline: 0;
    letter-spacing: -0.033em;
    font-size: max(1rem, 10px);
    line-height: 2;
  }
  .p-property__text-last {
    letter-spacing: -0.0076em;
  }
  .p-property__open {
    margin-top: 1.433125rem;
    padding-left: 0;
    letter-spacing: -0.0233em;
    font-size: max(1.875rem, 10px);
    line-height: 1.9333333333;
  }
  .p-property__cta {
    margin-top: 3.320625rem;
  }
  .p-property__cta-label {
    max-width: 19.6875rem;
    padding-block: 0.828125rem;
    padding-left: 0.09375rem;
    font-size: max(1.125rem, 10px);
    line-height: 1.75;
  }
  .p-property__tel {
    margin-top: 5.93125rem;
  }
  .p-property__tel-label {
    letter-spacing: 0.0732em;
    font-size: max(0.875rem, 10px);
    line-height: 1.7142857143;
  }
  .p-property__tel-num {
    margin-top: 1.51375rem;
    letter-spacing: 0.0156em;
    font-size: max(2.32744375rem, 10px);
    line-height: 1.1999994629;
  }
  .p-property__tel-en {
    letter-spacing: 0.0375em;
    font-size: max(1.61130625rem, 10px);
    line-height: 1.3188057826;
  }
  .p-property__tel-name {
    margin-top: 0.28125rem;
    letter-spacing: 0.1196em;
    font-size: max(1.125rem, 10px);
    line-height: 1.75;
  }
  .p-property__tel-hours {
    margin-top: 0.65625rem;
  }
  .p-property__tel-hours img {
    width: 15.6870125rem;
  }
  .p-property__links {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}
.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.u-latin {
  display: inline;
  letter-spacing: -0.04em;
}

.u-justify {
  text-align: justify;
  text-align-last: justify;
}

.u-last-line {
  display: block;
  text-align-last: left;
}

@media screen and (min-width: 768px) and (max-width: 1600px) {
  .u-justify {
    text-align-last: auto;
  }
  .u-justify br {
    display: none;
  }
  .u-last-line {
    display: inline;
  }
}
@keyframes u-fade-in {
  from {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .u-fade-in {
    animation: u-fade-in 1.5s ease backwards;
  }
  .u-fade-in--2 {
    animation-delay: 0.75s;
  }
  .u-fade-in--3 {
    animation-delay: 1.5s;
  }
}
.u-fade-up {
  opacity: var(--u-fade-up-opacity, 1);
  transform: var(--u-fade-up-transform, none);
  transition: transform 1.5s cubic-bezier(0.1, 0.55, 0.2, 1), opacity 1s ease-out 0.1s;
}

.js-motion {
  --u-fade-up-opacity: 0;
  --u-fade-up-transform: translateY(35px);
}

.u-fade-up--visible {
  --u-fade-up-opacity: 1;
  --u-fade-up-transform: none;
}

.u-fade-up--instant {
  transition: none;
}

@media print {
  .js-motion {
    --u-fade-up-opacity: 1;
    --u-fade-up-transform: none;
  }
}
