@charset "UTF-8";
:root {
  --scale: 1;
  --font-primary: "Shippori Mincho", sans-serif;
  --font-second: "Zen Kaku Gothic Antique", sans-serif;
  --font-family-base: var(--font-primary);
  --font-weight-base: 400;
  --lineheight-base: 1.5;
  --font-size-base: 1.4rem;
  --body-background-color: #F5F1EE;
  --body-text-color: #4E3B2C;
  --color-primary: #4E3B2C;
  --color-white: #FFF;
  --color-border: #CCC2C0;
  --color-danger: #D72222;
  --input-border-color: transparent;
  --input-border-width: 1px;
  --input-font-size: 1.4rem;
  --input-font-weight: 400;
  --input-background: #F5F1EE;
  --input-color: var(--body-text-color);
  --input-height: 5.6rem;
  --input-line-height: 1.2;
  --input-padding-x: 1.7rem;
  --input-padding-y: 0.8rem;
  --input-placeholder-color: #9A9A9A;
  --input-disabled-bg: #1E1E1E;
  --btn-font-family: var(--font-family-base);
  --btn-font-weight: 500;
  --btn-border-width: 1px;
  --btn-color: var(--body-text-color);
  --btn-disabled-opacity: 0.8;
  --section-space: 10px;
  --mask-image-vt-url: url(../images/mask-grad-vt.png);
  --light-green-color02: #F5F1EE;
}
@media (min-width: 768px) {
  :root {
    --font-size-base: 1.6rem;
    --input-height: 6.4rem;
    --input-padding-x: 2rem;
  }
}

* {
  box-sizing: border-box;
}

html {
  font-size: 2.6666666667vw;
  overflow-x: clip;
}
@media (min-width: 768px) {
  html {
    font-size: 0.6944444444vw;
  }
}
html.noscroll {
  overflow: hidden;
}

body {
  background-color: var(--body-background-color);
  color: var(--body-text-color);
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-base);
  font-size: var(--font-size-base);
  line-height: var(--lineheight-base);
  text-align: left;
  position: relative;
  overflow-x: clip;
  opacity: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure {
  margin: 0;
}

ol,
ul,
dl {
  list-style-type: none;
  margin: 0;
  padding-left: 0;
}

b,
strong {
  font-weight: 700;
}

a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

img {
  vertical-align: middle;
  border-style: none;
  max-width: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
}

th {
  font-weight: inherit;
  text-align: inherit;
  text-align: -webkit-match-parent;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

select {
  word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

textarea {
  overflow: auto;
  resize: vertical;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

[hidden] {
  display: none !important;
}

.aligncenter {
  text-align: center;
}

.alignright {
  text-align: right;
}

.alignleft {
  text-align: left;
}

img.aligncenter {
  display: block;
  margin: auto;
}
img.alignright {
  display: block;
  margin-left: auto;
}
img.alignleft {
  display: block;
  margin-right: auto;
}

.container {
  width: 100%;
  margin: 0 auto;
  padding-inline: 2rem;
}
@media (min-width: 768px) {
  .container {
    max-width: 122.4rem;
    padding-inline: 4rem;
  }
}

.animate_animated {
  animation-duration: 1.5s;
  animation-fill-mode: both;
  animation-timing-function: ease;
}

.animate__imageScale {
  animation-name: imageScale;
}

@keyframes imageScale {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.btn {
  border: var(--btn-border-width) solid transparent;
  background-color: var(--color-primary);
  border-radius: 0.3rem;
  color: var(--color-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--btn-font-family);
  font-weight: var(--btn-font-weight);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 100%;
  max-width: 21.9rem;
  height: 6.2rem;
}
@media (min-width: 768px) {
  .btn {
    max-width: 27.1rem;
    height: 7rem;
  }
}
.btn:focus, .btn.focus {
  outline: 0;
}
.btn.disabled, .btn:disabled {
  opacity: var(--btn-disabled-opacity);
}
.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}
.btn.--success {
  pointer-events: none;
}

.l-header {
  font-size: 1.4rem;
  width: 100%;
  position: absolute;
  top: 2rem;
  left: 2rem;
  z-index: 99;
}
@media (min-width: 768px) {
  .l-header {
    height: calc(780px * var(--scale));
    font-size: calc(16px * var(--scale));
    max-width: calc(196px * var(--scale));
    position: fixed;
    top: 0;
  }
}
@media (min-width: 768px) {
  .l-header__wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding-block: calc(20px * var(--scale));
  }
}
.l-header__logo {
  display: flex;
  gap: 0.2rem;
  align-items: flex-end;
  flex-direction: row;
  font-weight: 500;
  letter-spacing: 8%;
}
@media (min-width: 768px) {
  .l-header__logo {
    gap: calc(2px * var(--scale));
  }
}
.l-header__logo-en {
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 8%;
  writing-mode: vertical-rl;
}
@media (min-width: 768px) {
  .l-header__logo-en {
    font-size: calc(20px * var(--scale));
  }
}
.l-header__logo-jp {
  font-size: 1.6rem;
  display: flex;
  line-height: 1.3;
  letter-spacing: 8%;
  flex-direction: column;
}
@media (min-width: 768px) {
  .l-header__logo-jp {
    font-size: calc(20px * var(--scale));
  }
}
.l-header__act {
  padding-top: 2.9rem;
  margin-top: 3.9rem;
  position: relative;
}
@media (min-width: 768px) {
  .l-header__act {
    padding-top: calc(29px * var(--scale));
    margin-top: auto;
  }
}
@media (min-width: 768px) {
  .l-header__act::before {
    content: "";
    background-color: #CCC2C0;
    width: calc(18px * var(--scale));
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media (max-width: 767px) {
  .l-header__act {
    display: none;
  }
}
.l-header__btns {
  display: flex;
  gap: 1.1rem;
  flex-direction: column;
  margin-top: 8rem;
}
@media (min-width: 768px) {
  .l-header__btns {
    gap: calc(11px * var(--scale));
    margin-top: calc(100px * var(--scale));
  }
}
.l-header__btns a {
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 0.3rem;
  color: var(--color-white);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 4%;
  width: 100%;
  height: 8rem;
  display: flex;
  justify-content: center;
  row-gap: 0.8rem;
  flex-direction: column;
  padding-inline: 1.6rem;
  position: relative;
}
@media (min-width: 768px) {
  .l-header__btns a {
    font-size: calc(14px * var(--scale));
    row-gap: calc(8px * var(--scale));
    max-width: calc(195px * var(--scale));
    height: calc(71px * var(--scale));
    padding-inline: calc(16px * var(--scale));
  }
}
.l-header__btns a::after {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  right: 1.6rem;
  bottom: 1.6rem;
}
@media (min-width: 768px) {
  .l-header__btns a::after {
    right: calc(16px * var(--scale));
    bottom: calc(16px * var(--scale));
  }
}
.l-header__btns a span {
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .l-header__btns a span {
    font-size: calc(16px * var(--scale));
  }
}
.l-header__btns a.ct::after {
  background-image: url("../images/icon_mail.svg");
  width: 1.629rem;
  height: 1.116rem;
}
@media (min-width: 768px) {
  .l-header__btns a.ct::after {
    width: calc(16.29px * var(--scale));
    height: calc(11.16px * var(--scale));
  }
}
.l-header__btns a.tel {
  background-color: #F5F1EE;
  color: var(--color-primary);
}
@media (min-width: 768px) {
  .l-header__btns a.tel {
    background-color: transparent;
    pointer-events: none;
  }
}
.l-header__btns a.tel span {
  font-size: 1.8rem;
}
@media (min-width: 768px) {
  .l-header__btns a.tel span {
    font-size: calc(18px * var(--scale));
  }
}
.l-header__btns a.tel::after {
  background-image: url("../images/icon_tel.svg");
  width: 1.5rem;
  height: 1.5rem;
}
@media (min-width: 768px) {
  .l-header__btns a.tel::after {
    width: calc(15px * var(--scale));
    height: calc(15px * var(--scale));
  }
}
.l-header__copy {
  font-size: 1rem;
  line-height: 1;
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .l-header__copy {
    font-size: calc(12px * var(--scale));
    margin-top: calc(40px * var(--scale));
  }
}
.l-header__tar {
  margin-top: 3.2rem;
  display: flex;
  gap: 3.2rem;
}
.l-header__tar li {
  position: relative;
}
.l-header__tar li:not(:last-child)::after {
  background-color: rgba(78, 59, 44, 0.5);
  content: "";
  width: 1px;
  height: 1rem;
  position: absolute;
  top: calc(50% + 0.4rem);
  transform: translateY(-50%);
  right: -1.7rem;
}
.l-header__tar li a {
  border-bottom: 1px solid currentColor;
  color: var(--color-primary);
  font-size: 1rem;
  line-height: 1;
}

.nav-list {
  display: flex;
  gap: 1.9rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .nav-list {
    gap: calc(19px * var(--scale));
  }
}
.nav-item {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  position: relative;
  padding-left: 1rem;
}
@media (min-width: 768px) {
  .nav-item {
    font-size: calc(14px * var(--scale));
    padding-left: calc(10px * var(--scale));
  }
}
.nav-item::before {
  background-color: #CCC2C0;
  border-radius: 50%;
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  position: absolute;
  top: 1rem;
  left: 0;
}
@media (min-width: 768px) {
  .nav-item::before {
    width: calc(4px * var(--scale));
    height: calc(4px * var(--scale));
    top: calc(10px * var(--scale));
  }
}

.sp-nav {
  background-color: var(--color-white);
  border-radius: 0.6rem;
  position: fixed;
  top: 5.7rem;
  right: 2rem;
  left: 2rem;
  max-width: 33.5rem;
  max-height: min(67.8rem, 100dvh - 8rem);
  overflow: auto;
  margin: 0 auto;
  padding: 4.8rem 3.2rem 3.2rem;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), visibility 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}
.sp-nav.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
@media (min-width: 768px) {
  .sp-nav {
    display: none;
  }
}
.sp-nav__wrap {
  margin-bottom: 4rem;
}
.sp-nav__item:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  margin-bottom: 4rem;
  padding-bottom: 4rem;
}
.sp-nav__item--row .sp-nav__list {
  grid-template-columns: repeat(1, 1fr);
}
.sp-nav__ttl {
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--font-family-en);
  font-size: 1.2rem;
  line-height: 1.5;
  position: relative;
  margin-bottom: 2rem;
}
.sp-nav__ttl::before {
  aspect-ratio: 8/4;
  content: "";
  background-color: var(--color-secondary);
  -webkit-mask: url("../images/icon_leaf.svg") no-repeat center/contain;
  mask: url("../images/icon_leaf.svg") no-repeat center/contain;
  width: 0.8rem;
  height: 0.4rem;
  position: absolute;
  top: -0.2rem;
  left: -1.1rem;
  transform: rotate(45deg);
}
.sp-nav__list {
  display: grid;
  gap: 1.6rem 3.8rem;
  grid-template-columns: repeat(2, 1fr);
}
.sp-nav__list li a {
  color: var(--color-white);
  font-family: var(--font-family-ttl);
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: -1%;
}

.hamburger {
  background-color: var(--color-primary);
  border-radius: 0.3rem;
  width: 5.6rem;
  height: 3.2rem;
  cursor: pointer;
  transition-timing-function: linear;
  transition-duration: 0.15s;
  transition-property: opacity, filter;
  text-transform: none;
  position: fixed;
  top: 2rem;
  right: 2rem;
  z-index: 1000;
}
@media (min-width: 768px) {
  .hamburger {
    display: none;
  }
}
@media (max-width: 767px) {
  .hamburger {
    transform: translateY(-10px);
    opacity: 0;
    transition: transform 0.5s ease, opacity 0.5s ease;
  }
  .hamburger.is-show {
    opacity: 1;
    transform: translateY(0px);
  }
}

.hamburger-box {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hamburger-inner {
  top: 50%;
  display: block;
}

.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
  position: absolute;
  width: 1.2rem;
  height: 1px;
  transition-timing-function: ease;
  transition-duration: 0.15s;
  transition-property: transform;
  background-color: rgb(255, 255, 255);
}

.hamburger--spin .hamburger-inner {
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition-duration: 0.22s;
}

.hamburger-inner::after, .hamburger-inner::before {
  display: block;
  content: "";
}

.hamburger-inner::before {
  top: -0.5rem;
  width: 2rem;
}

.hamburger-inner::after {
  bottom: -0.5rem;
  width: 0.5rem;
}

.hamburger--spin .hamburger-inner::before {
  transition: top 0.1s ease-in 0.25s, opacity 0.1s ease-in;
}

.hamburger--spin .hamburger-inner::after {
  transition: bottom 0.1s ease-in 0.25s, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::after, .hamburger.is-active .hamburger-inner::before {
  background-color: rgb(255, 255, 255);
}

.hamburger--spin.is-active .hamburger-inner {
  width: 1.1rem;
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: rotate(225deg);
}

.hamburger--spin.is-active .hamburger-inner::before {
  top: 0px;
  opacity: 0;
  transition: top 0.2s ease-out, opacity 0.1s ease-out 0.12s;
}

.hamburger--spin.is-active .hamburger-inner::after {
  width: 1.1rem;
  bottom: 0px;
  transform: rotate(-90deg);
  transition: bottom 0.2s ease-out, transform 0.22s cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
}

.l-footer {
  background: url("../images/bg_footer_sp.jpg") no-repeat center/cover;
  padding: 23.4rem 2rem 3.2rem;
  margin-top: -5.6rem;
}
@media (min-width: 768px) {
  .l-footer {
    background-image: url("../images/bg_footer.jpg");
    margin-top: -15rem;
    padding-block: 35rem 2rem;
  }
}
@media (min-width: 768px) {
  .l-footer__wrap {
    padding-left: 21.6rem;
  }
}
.l-footer__top {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin-inline: auto;
}
.l-footer__ttl {
  height: 21.9rem;
  font-size: 2rem;
  display: flex;
  justify-content: center;
  flex-direction: row;
  align-items: flex-start;
  font-weight: normal;
  line-height: 1.1;
  transform: translateX(-1.3rem);
}
@media (min-width: 768px) {
  .l-footer__ttl {
    height: 26rem;
    font-size: 2.4rem;
    transform: translateX(-1rem);
  }
}
.l-footer__ttl > span {
  display: flex;
  align-items: center;
  flex-direction: column;
  position: relative;
}
.l-footer__ttl > span:nth-child(1) {
  margin-top: auto;
  margin-right: 0.5rem;
}
@media (min-width: 768px) {
  .l-footer__ttl > span:nth-child(1) {
    margin-right: 0.2rem;
  }
}
.l-footer__ttl > span:nth-child(2) {
  margin-top: 3.3rem;
  margin-right: 1.3rem;
}
@media (min-width: 768px) {
  .l-footer__ttl > span:nth-child(2) {
    margin-top: 3.9rem;
    margin-right: 1.6rem;
  }
}
.l-footer__ttl > span span:last-child {
  position: absolute;
  bottom: -1rem;
  left: 1.4rem;
}
.l-footer__sub {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 4%;
  white-space: nowrap;
  position: absolute;
  bottom: -1.2rem;
  right: -9rem;
}
@media (min-width: 768px) {
  .l-footer__sub {
    right: -9.2rem;
  }
}
.l-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 18.2rem;
}
@media (min-width: 768px) {
  .l-footer__bottom {
    justify-content: flex-end;
    margin-top: 31.2rem;
    padding-right: 1.6rem;
  }
}
.l-footer__copy {
  font-size: 1rem;
  line-height: 1;
}
.l-footer__nav {
  display: flex;
  gap: 3.2rem;
}
@media (min-width: 768px) {
  .l-footer__nav {
    margin-right: 32.6rem;
  }
}
.l-footer__nav li {
  position: relative;
}
.l-footer__nav li:not(:last-child)::after {
  background-color: rgba(78, 59, 44, 0.5);
  content: "";
  width: 1px;
  height: 1rem;
  position: absolute;
  top: calc(50% + 0.4rem);
  transform: translateY(-50%);
  right: -1.7rem;
}
.l-footer__nav li a {
  border-bottom: 1px solid currentColor;
  color: var(--color-primary);
  font-size: 1.2rem;
  line-height: 1;
}

.page-top a {
  color: var(--color-primary);
  font-size: 1rem;
  line-height: 1;
}
@media (min-width: 768px) {
  .page-top a {
    font-size: 1.2rem;
  }
}

.form-control {
  background-color: var(--input-background);
  background-clip: padding-box;
  border: var(--input-border-width) solid var(--input-border-color);
  border-radius: 0.3rem;
  color: var(--input-color);
  display: block;
  font-family: var(--font-second);
  font-size: var(--input-font-size);
  font-weight: var(--input-font-weight);
  line-height: var(--input-line-height);
  padding: var(--input-padding-y) var(--input-padding-x);
  height: var(--input-height);
  width: 100%;
  outline: none;
}
.form-control:focus-within {
  outline: none;
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--input-color);
}
.form-control::-moz-placeholder {
  color: var(--input-placeholder-color);
  opacity: 1;
}
.form-control::placeholder {
  color: var(--input-placeholder-color);
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: var(--input-disabled-bg);
  opacity: 1;
}
.form-control.error {
  outline: 1px solid var(--color-danger);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px var(--input-background) inset !important;
  -webkit-text-fill-color: var(--input-color) !important;
  -webkit-transition: background-color 9999s ease-out 0s;
  transition: background-color 9999s ease-out 0s;
}

input[type=date].form-control,
input[type=time].form-control,
input[type=datetime-local].form-control,
input[type=month].form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea.form-control {
  height: 22.4rem;
  resize: none;
}
@media (min-width: 768px) {
  textarea.form-control {
    height: 25.6rem;
  }
}

.frm-row:not(.frm-row--last) {
  margin-bottom: 3.2rem;
}
@media (min-width: 768px) {
  .frm-row:not(.frm-row--last) {
    margin-bottom: 4.8rem;
  }
}
.frm-head {
  display: flex;
  gap: 1.6rem;
  margin-bottom: 1.2rem;
}
@media (min-width: 768px) {
  .frm-head {
    align-items: center;
    margin-bottom: 1.6rem;
  }
}
.frm-rq {
  background-color: var(--color-primary);
  border-radius: 0.3rem;
  color: var(--color-white);
  font-family: var(--font-second);
  font-size: 1.3rem;
  font-weight: 500;
  width: 4.3rem;
  height: 2.4rem;
  display: grid;
  place-content: center;
  padding-bottom: 0.1rem;
}
.frm-rq--option {
  background-color: transparent;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
}
.frm-ttl {
  font-family: var(--font-second);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .frm-ttl {
    font-size: 1.8rem;
    line-height: 1;
  }
}
.frm-note {
  font-family: var(--font-second);
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 1.6rem;
}
.frm-copy {
  font-family: var(--font-second);
  font-size: 1.4rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .frm-copy {
    text-align: center;
  }
}
.frm-copy a {
  font-weight: bold;
  text-decoration: underline;
}
.frm-btns {
  display: flex;
  gap: 1.2rem;
  justify-content: center;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .frm-btns {
    margin-top: 6.4rem;
    gap: 2.4rem;
  }
}
.frm-btns .btn.--success:disabled {
  opacity: 1;
  cursor: default;
}

.custom.select {
  position: relative;
  width: 100%;
}
.custom.select select {
  width: 100%;
  height: 60px;
  background-color: #f3f0ed;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: none;
}
.custom.select select::-ms-expand {
  display: none;
}
.custom.select::before {
  background-color: var(--color-border);
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4.8rem;
  width: 1px;
  height: 2.4rem;
  pointer-events: none;
  z-index: 1;
}
.custom.select::after {
  background: url("../images/icon_select.svg") no-repeat center/contain;
  content: "";
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  right: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
  z-index: 1;
}

label.error {
  color: var(--color-danger);
  font-family: var(--font-second);
  display: block;
  font-size: 1.4rem;
  margin-top: 1.6rem;
}

.table {
  width: 100%;
}

.hline01 {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  position: relative;
  padding-top: 1.7rem;
}
@media (min-width: 768px) {
  .hline01 {
    align-items: flex-end;
    flex-direction: row;
    gap: 0.8rem;
    padding-top: 2rem;
  }
}
.hline01::before {
  background-color: #CCC2C0;
  content: "";
  width: 1.6rem;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 768px) {
  .hline01::before {
    width: 1.8rem;
  }
}
.hline01-jp {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 8%;
  display: flex;
}
@media (min-width: 768px) {
  .hline01-jp {
    font-size: 1.6rem;
    flex-direction: column;
  }
}
.hline01-en {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 8%;
}
@media (min-width: 768px) {
  .hline01-en {
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
}

.hline02 {
  font-size: 2.8rem;
  font-weight: normal;
  line-height: 1.1;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .hline02 {
    line-height: 1.2;
    font-size: 3.8rem;
  }
}
.hline02 span {
  letter-spacing: 0;
}
.hline02--vertical {
  gap: 1.6rem;
  flex-direction: row;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .hline02--vertical {
    gap: 2rem;
  }
}

.hline03 {
  font-size: 2.2rem;
  font-weight: normal;
  line-height: 1.1;
}
@media (min-width: 768px) {
  .hline03 {
    font-size: 2.8rem;
  }
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

@media (max-width: 767px) {
  .pc {
    display: none;
  }
}

@media (min-width: 768px) {
  .sp {
    display: none;
  }
}

.nospace::before, .nospace::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.nospace::before {
  margin-block-end: calc((1 - var(--lh, var(--lineheight-base))) * 0.5em);
}
.nospace::after {
  margin-block-start: calc((1 - var(--lh, var(--lineheight-base))) * 0.5em);
}

@media (min-width: 768px) {
  .hover {
    transition: opacity 0.3s ease;
  }
  .hover:hover {
    opacity: 0.7;
  }
}

.fw-normal {
  font-weight: normal;
}
.fw-medium {
  font-weight: 500;
}
.fw-bold {
  font-weight: bold;
}

.overlay {
  display: none;
  background-color: rgba(0, 0, 0, 0.6);
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 999;
}
@media (min-width: 768px) {
  .overlay {
    display: none;
  }
}

.font-second {
  font-family: var(--font-second);
  letter-spacing: 4%;
}

.c-txt {
  line-height: 2.3;
}

.l-logo {
  aspect-ratio: 52/57;
  width: 5.2rem;
  height: 5.7rem;
  position: absolute;
  top: 4.9rem;
  right: 2rem;
  z-index: 999;
}
@media (min-width: 768px) {
  .l-logo {
    aspect-ratio: 64/70;
    top: 2rem;
    width: 6.4rem;
    height: 7rem;
  }
}

.l-content {
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .l-content {
    padding-left: 21.6rem;
  }
}

.p-mv,
.p-mv__wrap,
.p-mv__img {
  overflow-anchor: none;
}

@media (min-width: 768px) {
  .p-mv {
    height: calc(780px * var(--scale));
    padding-bottom: 2rem;
  }
}
.p-mv__wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .p-mv__wrap {
    max-width: calc(1188px * var(--scale));
    padding-left: calc(38px * var(--scale));
    justify-content: flex-end;
  }
}
@media (max-width: 767px) {
  .p-mv__wrap {
    padding: 47.9rem 2rem 33.8rem;
  }
}
.p-mv__img {
  position: absolute;
  opacity: 0;
  filter: blur(6px);
  transform: translateY(10px) scale(0.985);
  transition: opacity 1.21s ease, filter 2s ease, transform 2s cubic-bezier(0.22, 1, 0.36, 1);
}
.p-mv__img img {
  width: 100%;
  height: auto;
}
.p-mv__img.is-show {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0) scale(1);
}
.p-mv__img--01 {
  aspect-ratio: 87/116;
  width: 8.7rem;
  top: 15.3rem;
  left: 2rem;
}
@media (min-width: 768px) {
  .p-mv__img--01 {
    aspect-ratio: 174/232;
    width: calc(174px * var(--scale));
    top: calc(112px * var(--scale));
    left: calc(40px * var(--scale));
  }
}
.p-mv__img--02 {
  aspect-ratio: 87/58;
  width: 8.7rem;
  top: 7.1rem;
  left: 13.7rem;
}
@media (min-width: 768px) {
  .p-mv__img--02 {
    aspect-ratio: 174/115;
    width: calc(174px * var(--scale));
    top: calc(33px * var(--scale));
    left: calc(331px * var(--scale));
  }
}
.p-mv__img--03 {
  aspect-ratio: 136/90;
  width: 13.6rem;
  top: 16.3rem;
  left: 27.9rem;
}
@media (min-width: 768px) {
  .p-mv__img--03 {
    aspect-ratio: 271/180;
    width: calc(271px * var(--scale));
    top: calc(-73px * var(--scale));
    left: calc(622px * var(--scale));
  }
}
.p-mv__img--04 {
  aspect-ratio: 49/65;
  width: 4.9rem;
  top: 22.7rem;
  left: 16.9rem;
}
@media (min-width: 768px) {
  .p-mv__img--04 {
    aspect-ratio: 97/130;
    width: calc(97px * var(--scale));
    top: calc(251px * var(--scale));
    left: calc(355px * var(--scale));
  }
}
.p-mv__img--05 {
  aspect-ratio: 135/91;
  width: 13.5rem;
  top: 33.2rem;
  left: 2rem;
}
@media (min-width: 768px) {
  .p-mv__img--05 {
    aspect-ratio: 274/182;
    width: calc(274px * var(--scale));
    top: calc(235px * var(--scale));
    left: calc(564px * var(--scale));
  }
}
.p-mv__img--06 {
  aspect-ratio: 93/59;
  width: 9.3rem;
  top: 34.5rem;
  left: 25.8rem;
}
@media (min-width: 768px) {
  .p-mv__img--06 {
    aspect-ratio: 140/91;
    width: calc(140px * var(--scale));
    top: calc(187px * var(--scale));
    left: calc(1010px * var(--scale));
  }
}
@media (min-width: 768px) {
  .p-mv__img--07 {
    aspect-ratio: 97/63;
    width: calc(97px * var(--scale));
    top: calc(513px * var(--scale));
    left: calc(719px * var(--scale));
  }
}
@media (max-width: 767px) {
  .p-mv__img--07 {
    display: none;
  }
}
.p-mv__img--08 {
  aspect-ratio: 136/104;
  width: 13.6rem;
  top: 45.5rem;
  left: 32.6rem;
}
@media (min-width: 768px) {
  .p-mv__img--08 {
    aspect-ratio: 368/245;
    width: calc(368px * var(--scale));
    top: calc(384px * var(--scale));
    left: calc(942px * var(--scale));
  }
}
.p-mv__img--09 {
  aspect-ratio: 93/59;
  width: 9.3rem;
  top: 72.8rem;
  left: 19.4rem;
}
@media (min-width: 768px) {
  .p-mv__img--09 {
    aspect-ratio: 126/84;
    width: calc(126px * var(--scale));
    top: calc(672px * var(--scale));
    left: calc(622px * var(--scale));
  }
}
.p-mv__img--10 {
  aspect-ratio: 136/104;
  width: 13.6rem;
  top: 84.4rem;
  left: 21.8rem;
}
@media (min-width: 768px) {
  .p-mv__img--10 {
    aspect-ratio: 194/129;
    width: calc(194px * var(--scale));
    top: calc(864px * var(--scale));
    left: calc(331px * var(--scale));
  }
}
.p-mv__img--11 {
  aspect-ratio: 87/116;
  width: 8.7rem;
  top: 68.8rem;
  left: 2rem;
}
@media (min-width: 768px) {
  .p-mv__img--11 {
    aspect-ratio: 174/232;
    width: calc(174px * var(--scale));
    top: calc(735px * var(--scale));
    left: calc(913px * var(--scale));
  }
}
.p-mv__img--12 {
  aspect-ratio: 49/65;
  width: 4.9rem;
  top: 86.5rem;
  left: 9.6rem;
}
@media (min-width: 768px) {
  .p-mv__img--12 {
    aspect-ratio: 97/130;
    width: calc(97px * var(--scale));
    top: calc(1081px * var(--scale));
    left: calc(816px * var(--scale));
  }
}
@media (min-width: 768px) {
  .p-mv__btm {
    position: relative;
    z-index: 2;
  }
}
.p-mv__txt {
  position: relative;
}
@media (min-width: 768px) {
  .p-mv__txt {
    max-width: calc(428px * var(--scale));
    margin-left: calc(42px * var(--scale));
    font-size: calc(16px * var(--scale));
  }
}
.p-mv__ttl {
  display: flex;
  gap: 2.4rem;
  flex-direction: column;
  font-size: 3.4rem;
  font-weight: normal;
  line-height: 1.1;
}
@media (min-width: 768px) {
  .p-mv__ttl {
    gap: calc(38px * var(--scale));
    font-size: calc(46px * var(--scale));
  }
}
@media (min-width: 768px) {
  .p-mv__ttl span:nth-child(3) {
    margin-left: auto;
  }
}
.p-mv__sub {
  font-weight: 500;
  line-height: 1.8;
  position: absolute;
  bottom: -0.2rem;
  right: 0;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .p-mv__sub {
    font-size: calc(15px * var(--scale));
    right: auto;
    bottom: 0;
    left: 0;
  }
}
.p-mv__sl {
  display: flex;
  justify-content: flex-end;
  font-size: 1rem;
  letter-spacing: 4%;
  line-height: 1.6;
  margin: 1.9rem 2.8rem 0 auto;
}
@media (min-width: 768px) {
  .p-mv__sl {
    justify-content: space-between;
    line-height: 1;
    font-size: calc(12px * var(--scale));
    margin: calc(66px * var(--scale)) 0 0 calc(42px * var(--scale));
  }
}
.p-mv__sl p {
  letter-spacing: 4%;
}

.p-fixed__wrap {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-fixed__wrap {
    gap: 2rem;
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .p-fixed__head {
    width: 7.7rem;
  }
}
@media (min-width: 768px) {
  .p-fixed__content {
    flex: 1;
  }
}

@media (min-width: 768px) {
  .p-about {
    padding-top: 27.3rem;
    position: relative;
    z-index: 2;
  }
}
@media (min-width: 768px) {
  .p-about__content {
    flex: 1;
    padding-block: 15.6rem 56rem;
  }
}
.p-about__content .hline02 {
  justify-content: center;
}
@media (min-width: 768px) {
  .p-about__content .hline02 {
    transform: translateX(-4.8rem);
  }
}
.p-about__content .hline02 > span {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.p-about__content .hline02 > span:first-child {
  margin-top: 14.1rem;
}
@media (min-width: 768px) {
  .p-about__content .hline02 > span:first-child {
    margin-top: 19rem;
  }
}
.p-about__content .hline02 > span:nth-child(2) {
  margin-top: 4.8rem;
}
@media (min-width: 768px) {
  .p-about__content .hline02 > span:nth-child(2) {
    margin-top: 6.3rem;
  }
}
@media (min-width: 768px) {
  .p-about__content .hline02 > span span {
    margin-bottom: -0.3rem;
  }
}
.p-about .about-card {
  display: flex;
  gap: 4.8rem;
  align-items: flex-end;
  flex-direction: column;
  margin-top: 4.8rem;
}
@media (min-width: 768px) {
  .p-about .about-card {
    align-items: flex-start;
    flex-direction: row;
    justify-content: space-between;
    margin-top: -6.7rem;
  }
}
.p-about .about-card__media {
  aspect-ratio: 219/292;
  width: 100%;
  max-width: 21.9rem;
}
@media (min-width: 768px) {
  .p-about .about-card__media {
    aspect-ratio: 291/388;
    max-width: 29.1rem;
    flex-shrink: 0;
  }
}
.p-about .about-card__desc {
  line-height: 2.3;
}
@media (min-width: 768px) {
  .p-about .about-card__desc {
    padding: 6.4rem 3.4rem 0 0;
  }
}
.p-about .about-card__desc p + p {
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .p-about .about-card__desc p + p {
    margin-top: 3.3rem;
  }
}

.p-location {
  position: relative;
  width: 100%;
  overflow: clip;
}
@media (min-width: 768px) {
  .p-location {
    margin-top: -56rem;
  }
  .p-location::before {
    background: #F5F1EE;
    background: linear-gradient(90deg, rgb(245, 241, 238) 60%, rgba(245, 241, 238, 0) 100%);
    content: "";
    pointer-events: none;
    position: absolute;
    width: 91.5rem;
    height: 100%;
    top: 0;
    left: -21.6rem;
    z-index: 1;
  }
}
.p-location::after {
  background: #F5F1EE;
  background: linear-gradient(0deg, rgb(245, 241, 238) 30%, rgba(0, 0, 0, 0) 100%);
  content: "";
  width: 100vw;
  height: 18rem;
  pointer-events: none;
  position: absolute;
  bottom: 23rem;
  left: 0;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-location::after {
    background: linear-gradient(0deg, rgb(245, 241, 238) 30%, rgba(245, 241, 238, 0) 100%);
    bottom: 0;
    left: -21.6rem;
    height: 20rem;
  }
}
@media (max-width: 767px) {
  .p-location {
    padding: 57.8rem 2rem 7.8rem;
  }
}
.p-location__image {
  display: block;
  position: absolute;
  top: -6.5rem;
  left: 0;
  right: 0;
}
@media (min-width: 768px) {
  .p-location__image {
    position: relative;
    width: 100vw;
    top: 0;
    left: -21.6rem;
  }
}
.p-location__image img {
  display: block;
  width: 100%;
  height: auto;
}
.p-location__box {
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .p-location__box {
    position: absolute;
    top: calc(50% - 4.3rem);
    transform: translateY(-50%);
    right: 0;
    left: 18.5rem;
  }
}
.p-location__ttl {
  font-size: 2rem;
  font-weight: normal;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .p-location__ttl {
    font-size: 2.4rem;
  }
}
.p-location__desc {
  line-height: 2.3;
  margin-top: 2.2rem;
}
@media (min-width: 768px) {
  .p-location__desc {
    margin-top: 3.2rem;
  }
}

.p-recommend {
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .p-recommend {
    margin-top: -7rem;
  }
}
.p-recommend__content {
  min-width: 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-recommend__content {
    flex: 1;
  }
}
@media (max-width: 767px) {
  .p-recommend__content {
    margin-top: 3.9rem;
  }
}
.p-recommend__content .hline02 {
  row-gap: 1.2rem;
}
@media (min-width: 768px) {
  .p-recommend__content .hline02 {
    justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .p-recommend__content .hline02 {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .p-recommend__content .hline02 span {
    width: 50%;
  }
  .p-recommend__content .hline02 span:nth-child(1) {
    text-align: right;
  }
  .p-recommend__content .hline02 span:nth-child(2) {
    text-align: left;
    margin-left: auto;
  }
}
.p-recommend__box {
  background: url("../images/border_recomend_sp.svg") no-repeat center/cover;
  padding-block: 4rem 5.5rem;
  min-height: 56.3rem;
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-recommend__box {
    background-image: url("../images/border_recomend.svg");
    background-size: 100% 100%;
    min-height: 74.9rem;
    padding-top: 9.5rem;
  }
}
.p-recommend__slider {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  margin: 3.1rem 0.1rem 0;
  padding-top: 2rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-recommend__slider {
    margin-top: 7.2rem;
    padding-top: 1.9rem;
    gap: 2rem;
  }
}
.p-recommend__slider-track {
  animation: marquee 70s linear infinite;
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
}
@media (min-width: 768px) {
  .p-recommend__slider-track {
    gap: 2rem;
  }
}
.p-recommend__slider .recommend-card.--mt {
  margin-top: 3.7rem;
}
@media (min-width: 768px) {
  .p-recommend__slider .recommend-card.--mt {
    margin-top: 3.8rem;
  }
}
.p-recommend .recommend-card {
  background-color: var(--color-white);
  border-radius: 0.5rem;
  width: 20rem;
  flex-shrink: 0;
  position: relative;
  padding: 5.7rem 0 5.6rem;
}
@media (min-width: 768px) {
  .p-recommend .recommend-card {
    width: 28.6rem;
    padding: 5.9rem 0 5.7rem;
  }
}
.p-recommend .recommend-card__sub {
  background-color: var(--color-primary);
  border-radius: 0.3rem;
  color: var(--color-white);
  font-size: 1.5rem;
  width: 16.1rem;
  height: 3.7rem;
  display: grid;
  place-content: center;
  position: absolute;
  top: -2rem;
  left: 0;
  right: 0;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-recommend .recommend-card__sub {
    font-size: 1.6rem;
    width: 19.6rem;
    height: 3.8rem;
    top: -1.9rem;
  }
}
.p-recommend .recommend-card__sub::after {
  content: "";
  background: url("../images/icon_subtract.svg") no-repeat center/contain;
  width: 3.2rem;
  height: 1.6rem;
  position: absolute;
  right: 0;
  bottom: -1.5rem;
  left: 0;
  margin-inline: auto;
}
.p-recommend .recommend-card__ttl {
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.8;
  letter-spacing: 4%;
  text-align: center;
  margin-bottom: 2.6rem;
}
@media (min-width: 768px) {
  .p-recommend .recommend-card__ttl {
    font-size: 1.8rem;
  }
}
.p-recommend .recommend-card__media {
  aspect-ratio: 80/110;
  display: block;
  width: 8rem;
  margin-inline: auto;
}
.p-recommend .recommend-card__media img {
  width: 100%;
  height: auto;
}
.p-recommend__contact {
  margin-top: 4.1rem;
}
@media (min-width: 768px) {
  .p-recommend__contact {
    margin-top: 7.4rem;
  }
}
.p-recommend__contact-ttl {
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.1;
  text-align: center;
  margin-bottom: 2.4rem;
}
@media (min-width: 768px) {
  .p-recommend__contact-ttl {
    font-size: 2.8rem;
    margin-bottom: 3.2rem;
  }
}
.p-recommend__contact-desc {
  font-size: 1.6rem;
  line-height: 2.3;
  margin-bottom: 6.4rem;
}
@media (min-width: 768px) {
  .p-recommend__contact-desc {
    margin-bottom: 9.6rem;
    text-align: center;
  }
}
.p-recommend__contact-desc strong {
  text-decoration: underline;
}

.c-contact {
  background: url("../images/bg_contact_sp.jpg") no-repeat center/cover;
  background-image: -webkit-image-set(url("../images/bg_contact_sp.webp") type("image/webp"), url("../images/bg_contact_sp.jpg") type("image/jpeg"));
  background-image: image-set(url("../images/bg_contact_sp.webp") type("image/webp"), url("../images/bg_contact_sp.jpg") type("image/jpeg"));
  border-radius: 0.6rem;
  padding: 5.6rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .c-contact {
    background-image: url("../images/bg_contact.jpg");
    background-image: -webkit-image-set(url("../images/bg_contact.webp") type("image/webp"), url("../images/bg_contact.jpg") type("image/jpeg"));
    background-image: image-set(url("../images/bg_contact.webp") type("image/webp"), url("../images/bg_contact.jpg") type("image/jpeg"));
    border-radius: 1rem;
    padding-block: 9.6rem;
  }
}
@media (max-width: 767px) {
  .c-contact {
    padding-inline: 3.4rem 3.2rem;
  }
}
.c-contact__en, .c-contact__ttl {
  color: var(--color-white);
  font-weight: 500;
  text-align: center;
}
.c-contact__en {
  font-size: 1.2rem;
  line-height: 1.2;
  letter-spacing: 8%;
  margin-bottom: 1.2rem;
}
@media (min-width: 768px) {
  .c-contact__en {
    margin-bottom: 1.6rem;
  }
}
.c-contact__ttl {
  font-size: 2.4rem;
  line-height: 1.8;
  margin-bottom: 3.6rem;
}
@media (min-width: 768px) {
  .c-contact__ttl {
    font-size: 3.2rem;
    margin-bottom: 4.8rem;
  }
}
.c-contact__box {
  border: 1px solid var(--color-white);
  border-radius: 0.5rem;
  padding: 3.8rem 2.4rem 4rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .c-contact__box {
    max-width: 65.9rem;
    flex-direction: row;
    padding: 4rem 3.3rem 3.4rem;
  }
}
@media (min-width: 768px) {
  .c-contact__col {
    flex: 1;
  }
}
.c-contact__col--line {
  background-color: rgba(255, 255, 255, 0.5);
  margin: 3.5rem 0 3.8rem;
  width: 100%;
  height: 1px;
}
@media (min-width: 768px) {
  .c-contact__col--line {
    width: 1px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 3.3rem;
  }
}
.c-contact__col-ttl {
  color: var(--color-white);
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
  margin-bottom: 1.4rem;
}
@media (min-width: 768px) {
  .c-contact__col-ttl {
    margin-bottom: 2rem;
  }
}
.c-contact__col-tel {
  color: var(--color-white);
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  margin-bottom: 2.1rem;
}
@media (min-width: 768px) {
  .c-contact__col-tel {
    font-size: 3.6rem;
    margin-bottom: 1.1rem;
  }
}
.c-contact__col-time {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
@media (min-width: 768px) {
  .c-contact__col-time {
    align-items: center;
    flex-direction: row;
  }
}
@media (max-width: 767px) {
  .c-contact__col-time {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.c-contact__col-time .item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .c-contact__col-time .item {
    gap: 0.4rem;
  }
}
@media (max-width: 767px) {
  .c-contact__col-time .item:nth-child(3) .dot-line {
    width: 5.5rem;
  }
}
.c-contact__col-time .item .dot-line {
  width: 4rem;
  height: 0.2rem;
  position: relative;
}
@media (min-width: 768px) {
  .c-contact__col-time .item .dot-line {
    width: 1rem;
  }
}
.c-contact__col-time .item .dot-line::after {
  content: "";
  background: url(../images/bg_dot.svg) repeat-x left center/0.8rem 0.2rem;
  height: 0.2rem;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}
@media (min-width: 768px) {
  .c-contact__col-time .item .dot-line::after {
    background-size: 0.7rem 0.6rem;
  }
}
.c-contact__col-time .item--line {
  color: var(--color-white);
}
@media (max-width: 767px) {
  .c-contact__col-time .item--line {
    display: none;
  }
}
@media (max-width: 767px) {
  .c-contact__col-time .item:last-child .dot-line {
    width: 5.486rem;
  }
}
.c-contact__col-time p {
  color: var(--color-white);
  font-family: var(--font-second);
  font-size: 1.4rem;
  letter-spacing: 4%;
}
.c-contact__col-btn {
  background-color: var(--color-white);
  border-radius: 0.3rem;
  display: flex;
  gap: 0.8rem;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 500;
  width: 21.9rem;
  height: 6.2rem;
}
@media (min-width: 768px) {
  .c-contact__col-btn {
    font-size: 2rem;
    width: 26.4rem;
    height: 7rem;
  }
}
.c-contact__col-btn::after {
  content: "";
  background: var(--color-primary);
  -webkit-mask: url("../images/icon_mail02.svg") no-repeat center/contain;
  mask: url("../images/icon_mail02.svg") no-repeat center/contain;
  width: 1.533rem;
  height: 1.05rem;
  position: relative;
  top: 0.1rem;
}
@media (min-width: 768px) {
  .c-contact__col-btn::after {
    width: 1.725rem;
    height: 1.181rem;
  }
}

.p-reason {
  padding-top: 7.8rem;
  margin-bottom: 8rem;
}
@media (min-width: 768px) {
  .p-reason {
    padding-top: 16.7rem;
    margin-bottom: 17.2rem;
  }
}
@media (min-width: 768px) {
  .p-reason__content {
    padding-top: 13.5rem;
  }
}
.p-reason .card-reason--flex {
  display: grid;
  grid-template-columns: repeat(48, 1fr);
  margin-inline: auto;
  text-align: left;
  width: calc(100% - var(--section-space) * 2);
  backface-visibility: hidden;
}
.p-reason .card-reason--flex .card-reason__content {
  --block-height: calc((100vh - var(--section-space) * 2) * 2);
  position: relative;
  grid-column: 1/25;
  grid-row: 1/2;
  margin-right: 2px;
  backface-visibility: hidden;
}
.p-reason .card-reason--flex .card-reason__content .block__mask {
  --mask-position: 100%;
  --mask-size: 180% 380%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  background-color: var(--light-green-color02);
}
.p-reason .card-reason--flex .card-reason__content-item {
  --pt: 180;
  --pb: 180;
  position: relative;
  z-index: 1;
  min-height: var(--block-height);
  padding: calc(var(--pt) * 1em / 20) 0 calc(var(--pb) * 1em / 20);
  box-sizing: border-box;
}
.p-reason .card-reason--flex .card-reason__content-item:nth-child(1) .block__mask {
  --mask-position: 0%;
}
.p-reason .card-reason--flex .card-reason__media {
  grid-column: 25/49;
  position: sticky;
  top: var(--section-space);
  right: 0;
  margin-left: 2px;
  height: calc(100vh - var(--section-space) * 2);
  overflow: hidden;
  backface-visibility: hidden;
}
.p-reason .card-reason--flex .card-reason__media-item {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.p-reason .card-reason--flex .card-reason__media-item.is-first {
  webkit-mask-position: 0 100%;
  -webkit-mask-position: 0 100%;
  mask-position: 0 100%;
}
@media (min-width: 768px) {
  .p-reason .card-reason__item:nth-child(1) .card-reason__content {
    padding-top: 10.3rem;
  }
}
@media (max-width: 767px) {
  .p-reason .card-reason__item:not(:last-child) {
    margin-bottom: 5.5rem;
  }
}
.p-reason .card-reason__item .hline02 {
  height: 30.9rem;
  justify-content: center;
}
@media (min-width: 768px) {
  .p-reason .card-reason__item .hline02 {
    height: 41.8rem;
    transform: translateX(-6.1rem);
    margin-bottom: 50rem;
    opacity: 1;
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .p-reason .card-reason__item .hline02.is-active {
    opacity: 0;
  }
}
@media (max-width: 767px) {
  .p-reason .card-reason__item .hline02 {
    margin-bottom: 4.8rem;
  }
}
.p-reason .card-reason__item .hline02 > span {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.p-reason .card-reason__item .hline02 > span:first-child {
  margin-top: auto;
}
.p-reason .card-reason__item .hline02 > span:nth-child(2) {
  margin-top: 9.4rem;
}
@media (min-width: 768px) {
  .p-reason .card-reason__item .hline02 > span:nth-child(2) {
    margin-top: 12.6rem;
  }
}
@media (min-width: 768px) {
  .p-reason .card-reason__item .hline02 > span span {
    margin-bottom: -0.4rem;
  }
}
@media (min-width: 768px) {
  .p-reason .card-reason__content {
    width: 38.8rem;
    margin-left: 8rem;
  }
}
.p-reason .card-reason__media {
  aspect-ratio: 335/251;
  width: 33.5rem;
}
@media (min-width: 768px) {
  .p-reason .card-reason__media {
    aspect-ratio: 465/630;
    width: 46.5rem;
  }
}
@media (max-width: 767px) {
  .p-reason .card-reason__media {
    margin-bottom: 3.2rem;
  }
}
.p-reason .card-reason__box {
  padding-left: 5.8rem;
}
@media (min-width: 768px) {
  .p-reason .card-reason__box {
    padding-left: 2rem;
  }
}
.p-reason .card-reason__number {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 1.8rem;
}
@media (min-width: 768px) {
  .p-reason .card-reason__number {
    font-size: 1.4rem;
  }
}
.p-reason .card-reason__ttl {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.8;
  margin-bottom: 2.3rem;
}
@media (min-width: 768px) {
  .p-reason .card-reason__ttl {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
}
.p-reason .card-reason__desc {
  line-height: 2.3;
}
.p-reason__his {
  border: 1px solid #CCC2C0;
  border-radius: 0.6rem;
  position: relative;
  padding-bottom: 12rem;
  margin-top: 5.6rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-reason__his {
    border-radius: 1rem;
    margin-top: 10rem;
  }
}
.p-reason__his-list {
  display: grid;
  gap: 8rem;
  padding: 4rem 2.4rem 3.2rem;
}
@media (min-width: 768px) {
  .p-reason__his-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 7.8rem;
    padding-inline: 3.9rem;
  }
}
.p-reason__his-item {
  position: relative;
}
.p-reason__his-item:not(:last-child)::after {
  background-color: #CCC2C0;
  content: "";
  height: 1px;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -4rem;
}
@media (min-width: 768px) {
  .p-reason__his-item:not(:last-child)::after {
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: calc(100% + 3.7rem);
  }
}
.p-reason__his-item .sub {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 0.8rem;
}
@media (min-width: 768px) {
  .p-reason__his-item .sub {
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
  }
}
.p-reason__his-item .num {
  size: 1.3rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 2.6rem;
}
@media (min-width: 768px) {
  .p-reason__his-item .num {
    size: 1.4rem;
    margin-bottom: 4rem;
  }
}
.p-reason__his-item .num span {
  font-size: 4.8rem;
  font-weight: normal;
  margin-right: 0.6rem;
}
@media (min-width: 768px) {
  .p-reason__his-item .num span {
    font-size: 6.4rem;
  }
}
.p-reason__his-item .desc {
  font-size: 1.6rem;
  line-height: 2.3;
  margin-bottom: 1.6rem;
}
.p-reason__his-item .note {
  font-size: 1.2rem;
  line-height: 1;
}
.p-reason__slider {
  display: flex;
  align-items: flex-start;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
}
.p-reason__slider-track {
  animation: marquee 60s linear infinite;
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .p-reason__slider-track {
    animation-duration: 70s;
  }
}
.p-reason__slider-track div {
  aspect-ratio: 180/120;
  width: 18rem;
}
.p-reason__slider-track div img {
  width: 100%;
  height: auto;
}

.p-staff {
  margin-bottom: 8rem;
}
@media (min-width: 768px) {
  .p-staff {
    margin-bottom: 17.2rem;
  }
}
.p-staff .p-fixed__content {
  padding-top: 4rem;
}
@media (min-width: 768px) {
  .p-staff .p-fixed__content {
    padding-top: 9.2rem;
  }
}
.p-staff__head {
  display: flex;
  row-gap: 4.8rem;
  flex-direction: column;
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .p-staff__head {
    flex-direction: row;
    gap: 10.4rem;
    align-items: flex-end;
    margin-bottom: 7rem;
  }
}
.p-staff__head .hline02 {
  justify-content: space-between;
  row-gap: 1.2rem;
}
.p-staff__head .hline02 span:nth-child(2) {
  margin-left: 7.6rem;
}
@media (min-width: 768px) {
  .p-staff__head .hline02 span:nth-child(2) {
    margin-left: 10.4rem;
  }
}
.p-staff__card {
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .p-staff__card {
    margin-bottom: 9.6rem;
  }
}
.p-staff .staff-card__item {
  border-left: 1px solid var(--color-border);
  padding-left: 2.3rem;
}
.p-staff .staff-card__media {
  display: block;
  aspect-ratio: 137/182;
  width: 13.7rem;
  margin-bottom: 2.4rem;
}
@media (min-width: 768px) {
  .p-staff .staff-card__media {
    aspect-ratio: 247/329;
    width: 24.7rem;
    margin-bottom: 1.6rem;
  }
}
.p-staff .staff-card__media img {
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .p-staff .staff-card__content {
    padding-left: 37.4rem;
  }
}
.p-staff .staff-card__name {
  font-weight: normal;
  font-size: 2rem;
  line-height: 1.1;
  margin-bottom: 2.4rem;
}
@media (min-width: 768px) {
  .p-staff .staff-card__name {
    font-size: 2.4rem;
  }
}
.p-staff .staff-card__name span {
  font-size: 1.3rem;
}
@media (min-width: 768px) {
  .p-staff .staff-card__name span {
    font-size: 1.4rem;
    margin-left: 1.6rem;
  }
}
.p-staff .staff-card__pos {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-bottom: 3.2rem;
}
.p-staff .staff-card__desc {
  line-height: 2.3;
}
@media (max-width: 767px) {
  .p-staff .staff-card__desc {
    padding-left: 3.4rem;
  }
}

.p-structure {
  margin-bottom: 8rem;
}
@media (min-width: 768px) {
  .p-structure {
    margin-bottom: 16.9rem;
  }
}
.p-structure .p-fixed__content {
  padding-top: 4rem;
}
@media (min-width: 768px) {
  .p-structure .p-fixed__content {
    padding-top: 9.5rem;
  }
}
.p-structure__head {
  display: flex;
  gap: 4.8rem;
  flex-direction: column;
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .p-structure__head {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 7rem;
  }
}
.p-structure__head .hline02 {
  justify-content: space-between;
  row-gap: 1.2rem;
}
.p-structure__head .hline02 span {
  white-space: nowrap;
}
.p-structure__head .hline02 span:nth-child(2) {
  margin-left: 5.8rem;
}
@media (min-width: 768px) {
  .p-structure__head .hline02 span:nth-child(2) {
    margin-left: 7.8rem;
  }
}
.p-structure__txt {
  line-height: 2.3;
}
@media (min-width: 768px) {
  .p-structure__txt {
    font-size: 1.5rem;
    max-width: 56.6rem;
    position: relative;
    top: 0.8rem;
    left: 0.4rem;
  }
}
.p-structure__content {
  background: url("../images/structure_img_sp.jpg") no-repeat center/cover;
  background-image: -webkit-image-set(url("../images/structure_img_sp.webp") type("image/webp"), url("../images/structure_img_sp.jpg") type("image/jpeg"));
  background-image: image-set(url("../images/structure_img_sp.webp") type("image/webp"), url("../images/structure_img_sp.jpg") type("image/jpeg"));
  border-radius: 1rem;
  overflow: hidden;
  min-height: 75.9rem;
  padding: 4rem 2.4rem;
}
@media (min-width: 768px) {
  .p-structure__content {
    background-image: url("../images/structure_img.jpg");
    background-image: -webkit-image-set(url("../images/structure_img.webp") type("image/webp"), url("../images/structure_img.jpg") type("image/jpeg"));
    background-image: image-set(url("../images/structure_img.webp") type("image/webp"), url("../images/structure_img.jpg") type("image/jpeg"));
    padding: 9.6rem 9.7rem 9.6rem 7.7rem;
    margin-top: 6.4rem;
  }
}
.p-structure .structure-card {
  display: flex;
  gap: 2.3rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-structure .structure-card {
    flex-direction: row;
    gap: 7.7rem;
  }
}
.p-structure .structure-card__ttl {
  color: var(--color-white);
  font-size: 1.6rem;
  line-height: 1.1;
  display: flex;
}
@media (min-width: 768px) {
  .p-structure .structure-card__ttl {
    font-size: 2rem;
    gap: 0.3rem;
    flex-direction: column;
  }
}
@media (min-width: 768px) {
  .p-structure .structure-card__ttl span:not(:last-child) {
    margin-bottom: -0.3rem;
  }
}
.p-structure .structure-card__box {
  display: flex;
  gap: 4.8rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-structure .structure-card__box {
    flex: 1;
    flex-direction: row;
    gap: 0.9rem;
    align-items: flex-start;
  }
}
.p-structure .structure-card__item {
  flex: 1;
  max-width: 38.4rem;
}
.p-structure .structure-card__bor {
  background: url("../images/border_structure_sp.svg") no-repeat center/100% 100%;
  min-height: 35.8rem;
  padding: 0 2rem 2.3rem;
}
@media (min-width: 768px) {
  .p-structure .structure-card__bor {
    min-height: 42.1rem;
    background-image: url("../images/border_structure.svg");
    padding: 0 4rem 4rem;
  }
}
.p-structure .structure-card__bor p {
  color: var(--color-white);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
  margin-bottom: 2.1rem;
}
@media (min-width: 768px) {
  .p-structure .structure-card__bor p {
    margin-bottom: 4rem;
  }
}
.p-structure .structure-card__bor ul li {
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: 0.3rem;
  border: 1px solid var(--color-white);
  color: var(--color-white);
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
  padding: 2.4rem 2rem 2.2rem;
  position: relative;
}
@media (min-width: 768px) {
  .p-structure .structure-card__bor ul li {
    padding: 2.7rem 2rem 2.5rem;
  }
}
.p-structure .structure-card__bor ul li:not(:last-child) {
  margin-bottom: 4rem;
}
.p-structure .structure-card__bor ul li:not(:last-child)::after {
  content: "";
  background-color: var(--color-white);
  -webkit-mask: url("../images/icon_arrow.svg") no-repeat center/cover;
  mask: url("../images/icon_arrow.svg") no-repeat center/cover;
  width: 2rem;
  height: 2rem;
  transform: rotate(90deg);
  position: absolute;
  top: calc(100% + 1rem);
  left: 0;
  right: 0;
  margin-inline: auto;
}
.p-structure .structure-card__bor ul li.--check {
  background-color: var(--color-white);
  color: var(--color-primary);
  position: relative;
}
.p-structure .structure-card__bor ul li.--check::before {
  content: "";
  background: url("../images/icon_check.svg") no-repeat center/contain;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2.4rem;
}
.p-structure .structure-card__point {
  background: linear-gradient(90deg, #FFF 50%, transparent 50%) top/8px 1px repeat-x, linear-gradient(90deg, #FFF 50%, transparent 50%) bottom/8px 1px repeat-x, linear-gradient(0deg, #FFF 50%, transparent 50%) left/1px 8px repeat-y, linear-gradient(0deg, #FFF 50%, transparent 50%) right/1px 8px repeat-y, rgba(255, 255, 255, 0.05);
  border-radius: 0.3rem;
  color: var(--color-white);
  font-weight: 500;
  text-align: center;
  padding: 2.4rem 2rem 1.9rem;
  margin-top: 1.6rem;
}
@media (min-width: 768px) {
  .p-structure .structure-card__point {
    padding-block: 2.5rem;
    margin-top: 1.6rem;
  }
}
.p-structure .structure-card__point p:nth-child(1) {
  font-size: 1.2rem;
  line-height: 1.2;
  letter-spacing: 8%;
  margin-bottom: 0.4rem;
}
@media (min-width: 768px) {
  .p-structure .structure-card__point p:nth-child(1) {
    margin-bottom: 0.8rem;
  }
}
.p-structure .structure-card__point p:nth-child(2) {
  line-height: 1.8;
  display: grid;
  place-items: center;
}
@media (min-width: 768px) {
  .p-structure .structure-card__point p:nth-child(2) {
    height: 5.8rem;
  }
}
.p-structure .structure-card__point.--check {
  background-color: var(--color-white);
  color: var(--color-primary);
}

.p-deals,
.p-purchase {
  margin-top: 6.4rem;
}
@media (min-width: 768px) {
  .p-deals,
  .p-purchase {
    margin-top: 10.4rem;
    padding-left: 4.8rem;
  }
}
.p-deals__head,
.p-purchase__head {
  margin-bottom: 3.2rem;
}
@media (min-width: 768px) {
  .p-deals__head,
  .p-purchase__head {
    margin-bottom: 4.5rem;
  }
}
@media (min-width: 768px) {
  .p-deals__head .hline03,
  .p-purchase__head .hline03 {
    margin-left: -0.5rem;
  }
}

.p-deals__item {
  display: flex;
  gap: 2.4rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-deals__item {
    flex-direction: row;
    align-items: center;
    -moz-column-gap: 4rem;
    column-gap: 4rem;
  }
}
.p-deals__item:not(:last-child) {
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 3.2rem;
  padding-bottom: 3.2rem;
}
.p-deals__media {
  aspect-ratio: 161/107;
  width: 16.1rem;
}
@media (min-width: 768px) {
  .p-deals__media {
    aspect-ratio: 174/116;
    width: 17.4rem;
  }
}
.p-deals__content-head {
  display: flex;
  gap: 0.8rem;
  flex-direction: column;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .p-deals__content-head {
    align-items: center;
    gap: 1.6rem;
    flex-direction: row;
    margin-bottom: 2.6rem;
  }
}
.p-deals__ttl {
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .p-deals__ttl {
    font-size: 2rem;
  }
}
.p-deals__compare {
  background-color: var(--color-primary);
  border-radius: 0.3rem;
  color: var(--color-white);
  font-size: 1.4rem;
  font-family: var(--font-second);
  line-height: 1;
  padding: 0.5rem 0.7rem 0.6rem;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 768px) {
  .p-deals__compare {
    font-size: 1.5rem;
    padding: 0.6rem 0.8rem 0.7rem;
  }
}
.p-deals__compare span {
  font-size: 1.3rem;
  margin-right: 0.4rem;
}
@media (min-width: 768px) {
  .p-deals__compare span {
    font-size: 1.4rem;
    margin-right: 0.6rem;
  }
}
.p-deals__dt {
  display: flex;
  row-gap: 1.4rem;
  align-items: flex-end;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .p-deals__dt {
    max-width: 56.5rem;
  }
}
.p-deals__dt li {
  font-size: 1.3rem;
  line-height: 1;
  position: relative;
}
@media (min-width: 768px) {
  .p-deals__dt li {
    font-size: 1.4rem;
  }
}
.p-deals__dt li .price {
  font-size: 2rem;
  margin-right: 0.4rem;
}
@media (min-width: 768px) {
  .p-deals__dt li .price {
    font-size: 2.4rem;
  }
}
.p-deals__dt li .location,
.p-deals__dt li .floor {
  font-size: 1.4rem;
}
@media (min-width: 768px) {
  .p-deals__dt li .location,
  .p-deals__dt li .floor {
    font-size: 1.6rem;
  }
}
.p-deals__dt li .tsubo {
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .p-deals__dt li .tsubo {
    font-size: 1.8rem;
  }
}
.p-deals__dt li sup {
  font-size: 60%;
}
@media (min-width: 768px) {
  .p-deals__dt li sup {
    margin-left: 0.2rem;
  }
}
.p-deals__dt li:not(:last-child) {
  margin-right: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 768px) {
  .p-deals__dt li:not(:last-child) {
    margin-right: 2rem;
    padding-right: 2rem;
  }
}
.p-deals__dt li:not(:last-child)::after {
  background-color: var(--color-border);
  content: "";
  width: 1px;
  height: 1.6rem;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media (min-width: 768px) {
  .p-deals__dt li:not(:last-child)::after {
    height: 1.8rem;
  }
}
.p-deals__note {
  font-size: 1.2rem;
  line-height: 1.6;
  display: flex;
  margin-top: 3rem;
}
@media (min-width: 768px) {
  .p-deals__note {
    line-height: 1;
  }
}
.p-deals__note::before {
  content: "※";
  margin-right: 0.6rem;
}

.p-purchase__head {
  margin-bottom: 3.2rem;
}
@media (min-width: 768px) {
  .p-purchase__head {
    margin-bottom: 4.8rem;
  }
}
.p-purchase__list {
  display: grid;
}
@media (min-width: 768px) {
  .p-purchase__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-purchase__item {
  position: relative;
}
@media (min-width: 768px) {
  .p-purchase__item {
    padding-inline: 2.4rem;
  }
}
@media (min-width: 768px) {
  .p-purchase__item:not(:last-child) {
    border-right: 1px solid var(--color-border);
  }
}
@media (max-width: 767px) {
  .p-purchase__item:not(:last-child) {
    padding-bottom: 3.2rem;
    margin-bottom: 3.2rem;
  }
  .p-purchase__item:not(:last-child)::before, .p-purchase__item:not(:last-child)::after {
    content: "";
    background-color: var(--color-border);
    height: 1px;
    position: absolute;
    bottom: 0;
    width: calc(50% - 1.3rem);
  }
  .p-purchase__item:not(:last-child)::before {
    left: 0;
  }
  .p-purchase__item:not(:last-child)::after {
    right: 0;
  }
}
@media (min-width: 768px) {
  .p-purchase__item:first-child {
    border-left: 1px solid var(--color-border);
  }
}
.p-purchase__arrow {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-content: center;
  position: absolute;
  top: calc(100% - 1rem);
  left: 0;
  right: 0;
}
@media (min-width: 768px) {
  .p-purchase__arrow {
    top: 7.3rem;
    right: auto;
    left: calc(100% - 4.4rem);
  }
}
@media (max-width: 767px) {
  .p-purchase__arrow {
    margin-inline: auto;
  }
}
.p-purchase__arrow::after {
  content: "";
  background: url("../images/icon_arrow.svg") no-repeat center/contain;
  width: 2rem;
  height: 2rem;
}
@media (max-width: 767px) {
  .p-purchase__arrow::after {
    transform: rotate(90deg);
  }
}
.p-purchase__media {
  display: block;
  aspect-ratio: 335/224;
  width: 100%;
  margin-bottom: 2.4rem;
}
@media (min-width: 768px) {
  .p-purchase__media {
    aspect-ratio: 247/165;
    max-width: 24.7rem;
  }
}
.p-purchase__num {
  font-size: 1.3rem;
  line-height: 1.2;
  margin-bottom: 0.8rem;
}
@media (min-width: 768px) {
  .p-purchase__num {
    font-size: 1.4rem;
  }
}
.p-purchase__ttl {
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.8;
  margin-bottom: 1.6rem;
}
@media (min-width: 768px) {
  .p-purchase__ttl {
    font-size: 2rem;
  }
}
.p-purchase__desc {
  line-height: 2.3;
}
@media (min-width: 768px) {
  .p-purchase__desc {
    font-size: 1.5rem;
  }
}

.p-faq {
  margin-bottom: 8rem;
}
@media (min-width: 768px) {
  .p-faq {
    margin-bottom: 15.2rem;
  }
}
.p-faq .p-fixed__content {
  padding-top: 4rem;
}
@media (min-width: 768px) {
  .p-faq .p-fixed__content {
    padding-top: 11.5rem;
  }
}
.p-faq__head {
  margin-bottom: 4.8rem;
}
@media (min-width: 768px) {
  .p-faq__head {
    margin-bottom: 6.4rem;
  }
}
.p-faq__head .hline02 {
  justify-content: space-between;
  row-gap: 1.2rem;
}
.p-faq__head .hline02 span:nth-child(2) {
  margin-left: 5.8rem;
}
@media (min-width: 768px) {
  .p-faq__head .hline02 span:nth-child(2) {
    margin-left: 7.2rem;
  }
}
.p-faq .faq {
  max-width: 65.9rem;
  margin-left: auto;
}
.p-faq .faq-item:not(:last-child) {
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 3.2rem;
  padding-bottom: 2.9rem;
}
@media (min-width: 768px) {
  .p-faq .faq-item:not(:last-child) {
    margin-bottom: 4.2rem;
    padding-bottom: 3.7rem;
  }
}
.p-faq .faq-head {
  display: flex;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .p-faq .faq-head {
    line-height: 1.1;
  }
}
.p-faq .faq-head::before {
  content: "Q.";
  margin-right: 4.2rem;
}
.p-faq .faq-content {
  font-size: 1.5rem;
  line-height: 2.3;
  margin-top: 1.6rem;
  text-indent: 6.2rem;
}
@media (min-width: 768px) {
  .p-faq .faq-content {
    margin-top: 2.3rem;
    text-indent: 6.2rem;
    letter-spacing: 4%;
  }
}
.p-faq .c-contact {
  margin-top: 9.6rem;
}

.p-company {
  margin-bottom: 8rem;
}
@media (min-width: 768px) {
  .p-company {
    margin-bottom: 17.2rem;
  }
}
.p-company .p-fixed__content {
  padding-top: 4rem;
}
@media (min-width: 768px) {
  .p-company .p-fixed__content {
    padding-top: 7.8rem;
  }
}
.p-company__head .hline02 {
  justify-content: space-between;
  row-gap: 1.2rem;
}
.p-company__head .hline02 span:nth-child(2) {
  margin-left: 11.3rem;
}
@media (min-width: 768px) {
  .p-company__head .hline02 span:nth-child(2) {
    margin-left: 14rem;
  }
}
.p-company__content {
  margin-top: 4.8rem;
}
@media (min-width: 768px) {
  .p-company__content {
    margin-top: 6.4rem;
  }
}
.p-company .company-card__list {
  display: grid;
  row-gap: 5.6rem;
}
@media (min-width: 768px) {
  .p-company .company-card__list {
    gap: 5.9rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-company .company-card__item {
  border-left: 1px solid var(--color-border);
  padding-left: 2.3rem;
}
.p-company .company-card__media {
  display: block;
  aspect-ratio: 195/260;
  width: 19.5rem;
  margin-bottom: 2.4rem;
}
@media (min-width: 768px) {
  .p-company .company-card__media {
    aspect-ratio: 225/300;
    width: 22.5rem;
    margin-bottom: 1.6rem;
  }
}
.p-company .company-card__media img {
  width: 100%;
  height: auto;
}
.p-company .company-card__content {
  padding-left: 3.5rem;
}
@media (min-width: 768px) {
  .p-company .company-card__content {
    padding-left: 23.3rem;
  }
}
.p-company .company-card__name {
  font-size: 2.4rem;
  font-weight: normal;
  line-height: 1.1;
  margin-bottom: 3.2rem;
}
@media (min-width: 768px) {
  .p-company .company-card__name {
    margin-bottom: 2.4rem;
  }
}
@media (max-width: 767px) {
  .p-company .company-card__name {
    margin-left: -3.5rem;
  }
}
.p-company .company-card__pos {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-bottom: 1.6rem;
}
.p-company .company-card__desc {
  font-size: 1.6rem;
  line-height: 2.3;
  max-width: 27.1rem;
  margin-left: auto;
}
.p-company .company-card__dt {
  margin-bottom: 3.2rem;
}
.p-company .company-card__dt li {
  font-family: var(--font-second);
  font-size: 1.4rem;
  display: flex;
  gap: 0.6rem;
}
.p-company .company-card__dt li div {
  display: flex;
  gap: 0.3rem;
  align-items: center;
}
.p-company .company-card__dt li div span, .p-company .company-card__dt li div::before, .p-company .company-card__dt li div::after {
  background-color: var(--color-primary);
  border-radius: 50%;
  width: 0.2rem;
  height: 0.2rem;
}
.p-company .company-card__dt li div::before, .p-company .company-card__dt li div::after {
  content: "";
}
.p-company .company-card__map {
  text-decoration: underline;
}
.p-company .company-card__map::after {
  content: "";
  background: url("../images/icon_blank.svg") no-repeat center/contain;
  width: 1rem;
  height: 1rem;
  display: inline-block;
  margin-left: 0.6rem;
  transform: rotate(-45deg);
}

.p-contact {
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .p-contact .hline01 span {
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
}
@media (max-width: 767px) {
  .p-contact .p-fixed__content {
    padding-top: 4rem;
  }
}
.p-contact__content {
  background-color: var(--color-white);
  border-radius: 1rem;
  padding: 5.6rem 2.4rem;
}
@media (min-width: 768px) {
  .p-contact__content {
    padding: 9.6rem;
  }
}
.p-contact__content .hline02 {
  text-align: center;
  margin-bottom: 3.8rem;
}
@media (min-width: 768px) {
  .p-contact__content .hline02 {
    margin-bottom: 6.4rem;
  }
}
@media (max-width: 767px) {
  .p-contact__content .hline02 {
    line-height: 1.6;
  }
}


.honeypot{
display: none;
}