@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes infinity-rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
html,
body {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 62.5% !important;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 7.333vw;
}
@media screen and (max-width: 600px) {
  html {
    scroll-padding-top: 6rem;
  }
}

body::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1);
  z-index: -2;
}
body.block {
  overflow: hidden;
}
body.block::after {
  content: "";
  background: rgba(38, 38, 38, 0.6);
  z-index: 999;
  transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1);
}

.bg-bk {
  background: #262626;
}
.bg-bk::before, .bg-bk::after {
  z-index: 1 !important;
  mix-blend-mode: overlay;
}
.bg-bk::before {
  border-right: solid 1px rgba(235, 235, 235, 0.2);
  right: 8.3333333333%;
}
.bg-bk::after {
  border-left: solid 1px rgba(235, 235, 235, 0.2);
  left: 8.3333333333%;
}

[data-aos=fade-up] {
  transform: translate3d(0, 8rem, 0);
}

a[href^="tel:"] {
  transition: opacity 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
a[href^="tel:"]:hover {
  opacity: 0.6;
}

.only767 {
  display: none;
}
@media screen and (max-width: 959px) {
  .only767 {
    display: block;
  }
}

/* A Modern CSS Reset */
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

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

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

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

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

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

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

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

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

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

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

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

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

.btn-link {
  width: clamp(3.8rem, 5.859vw, 6rem);
  height: clamp(3.8rem, 5.859vw, 6rem);
  background: #262626;
  border-radius: 50%;
  border: solid 1px #262626;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.btn-link svg {
  width: clamp(1.8rem, 2.734vw, 2.8rem);
  position: relative;
  top: -1px;
}
.btn-link svg path {
  fill: #fff;
}
.btn-link:hover {
  background: #fff;
}
.btn-link:hover svg path {
  fill: #262626;
}
.btn-list {
  width: clamp(2.8rem, 3.71vw, 3.8rem);
  height: clamp(2.8rem, 3.71vw, 3.8rem);
  background: #262626;
  border-radius: 50%;
  border: solid 1px #262626;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.btn-list svg {
  width: clamp(1.2rem, 1.757vw, 1.8rem);
  position: relative;
  top: -1px;
}
.btn-list svg path {
  fill: #fff;
}
.btn-menu {
  width: clamp(2.2rem, 1.866vw, 2.8rem);
  height: clamp(2.2rem, 1.866vw, 2.8rem);
  border-radius: 50%;
  border: solid 1px #262626;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.btn-menu svg {
  width: clamp(1.2rem, 0.933vw, 1.4rem);
  position: relative;
  top: -1px;
}
.btn-contact {
  padding: 0 clamp(1.5rem, 1.333vw, 2rem);
  background: #62B850;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.btn-contact .icon {
  aspect-ratio: 38/27;
  margin-top: 0.25rem;
  margin-right: 1rem;
}
.btn-contact .icon svg {
  width: 3.8rem;
}
.btn-contact .main {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: clamp(1.6rem, 1.333vw, 2rem);
  line-height: 1;
  color: #fff;
}
.btn-contact .sub {
  margin-bottom: 0.25rem;
  font-family: YakuHanJP, "Lato";
  font-size: 1rem;
  line-height: 1;
  color: #fff;
}
.btn-contact .btn-list {
  background: #62B850;
  border: solid 1px #fff;
}
.btn-contact .btn-list svg path {
  fill: #fff;
}
.btn-contact:hover .btn-list {
  background: #fff;
}
.btn-contact:hover .btn-list svg path {
  fill: #62B850;
}
@media screen and (max-width: 1024px) {
  .btn-contact .icon svg {
    width: 3rem;
  }
  .btn-contact .main {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .btn-contact .icon svg {
    width: 3rem;
  }
  .btn-contact .main {
    font-size: clamp(1.5rem, 2.607vw, 2rem);
  }
}
@media screen and (max-width: 480px) {
  .btn-contact {
    height: 4.8rem;
  }
  .btn-contact .main {
    font-size: 2rem;
  }
}
.btn-tel {
  color: #fff;
  text-align: center;
  border: solid 0.1rem #fff;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
}
.btn-tel__cont {
  margin-bottom: 0.5rem;
}
.btn-tel span {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  color: #fff;
}
.btn-tel .icon {
  width: 1.4rem;
  margin-right: 0.7rem;
}
.btn-tel .main {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: clamp(2.4rem, 1.866vw, 2.8rem);
  line-height: 1;
}
.btn-tel .sub {
  font-family: YakuHanJP, "Lato";
  font-size: 1rem;
  line-height: 1;
}
@media screen and (max-width: 1024px) {
  .btn-tel .main {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 600px) {
  .btn-tel .icon {
    margin-right: 0.5rem;
  }
  .btn-tel .icon svg {
    width: clamp(1rem, 2.333vw, 1.4rem);
    height: clamp(1rem, 2.333vw, 1.4rem);
  }
  .btn-tel .main {
    font-size: clamp(1.8rem, 4vw, 2.4rem);
  }
}
@media screen and (max-width: 480px) {
  .btn-tel {
    height: 4.8rem;
  }
  .btn-tel .icon svg {
    width: 1.4rem;
    height: 1.4rem;
  }
  .btn-tel .main {
    font-size: 2.4rem;
  }
}
.btn-box {
  width: 100%;
  max-width: clamp(24rem, 60.144vw, 29rem);
  margin: 0 auto;
  padding: 1rem 1.8rem;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.023em;
  color: #fff;
  background: #262626;
  border: solid 1px #262626;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.btn-box .btn-list {
  border: solid 1px #fff;
}
.btn-box .btn-list svg path {
  fill: #fff;
}
.btn-box:hover {
  background: #fff;
  color: #262626;
}
.btn-box:hover .btn-list {
  border: solid 1px #262626;
  background: #fff;
}
.btn-box:hover .btn-list svg path {
  fill: #262626;
}
@media screen and (max-width: 480px) {
  .btn-box {
    width: clamp(24rem, 60.144vw, 29rem);
    font-size: clamp(1.6rem, 3.75vw, 1.8rem);
  }
}

img {
  width: 100%;
  height: auto;
}

.img-cover {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

html :where(img[class*=wp-image-]) {
  width: auto !important;
  height: auto !important;
  max-width: unset !important;
}

.p-contact__wrap {
  grid-area: 1/2/1/12;
  border-top: solid 1px #EBEBEB;
}
.p-contact-left {
  grid-area: 1/1/1/5;
  border-right: solid 1px #EBEBEB;
}
.p-contact-left__wrap {
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
.p-contact-left__wrap p,
.p-contact-left__wrap a,
.p-contact-left__wrap span {
  width: -moz-fit-content;
  width: fit-content;
  display: block;
}
.p-contact-left__wrap p {
  font-weight: bold;
  font-size: clamp(2rem, 1.8666vw, 2.8rem);
  line-height: 1;
  letter-spacing: 0;
}
.p-contact-left__wrap a span:first-child {
  display: flex;
  align-items: center;
  font-family: YakuHanJP, "Lato";
  font-weight: bold;
  font-size: clamp(2.8rem, 2.666vw, 4rem);
  line-height: 1;
  letter-spacing: 0.023em;
}
.p-contact-left__wrap a span:first-child img {
  width: min(2.4rem, 1.6vw);
  margin: 0 min(0.7rem, 0.4666vw) 0 0;
}
.p-contact-left__wrap a span:last-child {
  display: inline-block;
  font-weight: bold;
  font-size: clamp(1.4rem, 1.6684vw, 1.6rem);
  line-height: 1;
  letter-spacing: 0.023em;
}
@media screen and (max-width: 767px) {
  .p-contact-left__wrap a span:last-child {
    font-size: clamp(1.2rem, 1.822vw, 1.4rem);
  }
}
@media screen and (max-width: 959px) {
  .p-contact-left__wrap p {
    font-size: clamp(1.6rem, 2.0855vw, 2rem);
  }
  .p-contact-left__wrap a span:first-child {
    font-size: clamp(1.8rem, 2.9197vw, 2.8rem);
  }
}
@media screen and (max-width: 767px) {
  .p-contact-left__wrap {
    margin: 0 auto 0 0;
    padding-left: 1rem;
  }
  .p-contact-left__wrap a {
    margin-bottom: clamp(2.5rem, 3.649vw, 3.5rem);
  }
  .p-contact-left__wrap a span:first-child {
    font-size: 4rem;
  }
  .p-contact-left__wrap a span:first-child img {
    width: 2rem;
    margin: 0 0.5rem 0 0;
  }
}
@media screen and (max-width: 480px) {
  .p-contact-left__wrap a span:first-child {
    font-size: clamp(3rem, 8.3333vw, 4rem);
  }
  .p-contact-left__wrap a span:first-child img {
    width: clamp(1.5rem, 4.1666vw, 2rem);
    margin: 0 0.5rem 0 0;
  }
}
.p-contact-right {
  grid-area: 1/5/1/13;
}
.p-contact-right__exp {
  line-height: 1.5;
}
.p-contact-right__exp .accent {
  color: #E60012;
}
.p-contact-right dt {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.023em;
  position: relative;
}
.p-contact-right dt .required {
  font-size: 1rem;
  margin-left: 0.7rem;
  color: #E60012;
}
@media screen and (max-width: 480px) {
  .p-contact-right dt {
    font-size: clamp(1.4rem, 3.333vw, 1.6rem);
  }
}
.p-contact-right dd {
  width: 100%;
}
.p-contact-right dd input[type=email],
.p-contact-right dd input[type=text],
.p-contact-right dd input[type=tel],
.p-contact-right dd textarea {
  width: 100%;
  padding: 1rem 0.8rem;
  border: solid 1px #EBEBEB;
  font-size: 1.6rem;
}
.p-contact-right dd label {
  display: flex;
  font-size: 1.4rem;
  position: relative;
}
.p-contact-right dd label span.wpcf7-list-item-label {
  display: flex;
  align-items: center;
}
.p-contact-right dd label span::before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  margin-right: 1rem;
  display: block;
  border: solid 1px #EBEBEB;
  position: relative;
}
.p-contact-right dd input[type=checkbox] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}
.p-contact-right dd input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: #E60012;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.4rem;
  margin: auto;
}
.p-contact-right .cap {
  font-size: 1.2rem;
}
.p-contact-right .cap a {
  color: #E60012;
}
.p-contact #c--btn {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  cursor: pointer;
}
.p-contact #c--btn::before {
  content: "";
  width: 83.3333vw;
  display: block;
  position: absolute;
  top: 0;
  left: calc(0vw + min(1.5rem, 1vw) - 30vw);
  border-top: solid 1px #EBEBEB;
}
@media screen and (max-width: 767px) {
  .p-contact #c--btn::before {
    left: -1rem;
  }
}
.p-contact #c--btn p {
  display: inherit;
  line-height: 1;
}
.p-contact #c--btn .btn-link p {
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .p-contact-left, .p-contact-right {
    grid-area: auto/1/auto/13;
  }
  .p-contact-left {
    margin-bottom: clamp(2.5rem, 3.649vw, 3.5rem);
    border-bottom: solid 1px #EBEBEB;
  }
}
.p-contact__fin h2 {
  grid-area: auto/1/auto/13;
  border-bottom: solid 1px #EBEBEB;
}
.p-contact__fin p {
  width: 100%;
  grid-area: auto/1/auto/13;
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px #EBEBEB;
}
.p-contact__fin__btn {
  grid-area: auto/1/auto/13;
  border-top: solid 1px #EBEBEB;
}
.p-contact__fin__btn a {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 0 0;
  grid-area: auto/2/auto/12;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.p-contact__fin__btn a p {
  width: -moz-fit-content;
  width: fit-content;
  border-top: unset;
  border-bottom: unset;
}
.p-contact__fin__btn a:hover p > .btn-link {
  background: #262626;
}
.p-contact__fin__btn a:hover p > .btn-link svg path {
  fill: #fff;
}

.wpcf7-list-item {
  margin: 0 !important;
  cursor: pointer !important;
}

.wpcf7-form-control-wrap {
  width: 100%;
}

.wpcf7-spinner {
  display: none !important;
}

.wpcf7-not-valid-tip {
  color: #E60012 !important;
  font-size: 1.2rem !important;
  font-weight: bold !important;
}

#c--btn p:has(:disabled) {
  opacity: 0.6;
}
#c--btn p:has(:disabled) + .btn-link {
  opacity: 0.6;
  background: #fff;
}
#c--btn p:has(:disabled) + .btn-link svg path {
  fill: #262626;
}
#c--btn p:has(:disabled) {
  pointer-events: none;
  cursor: not-allowed;
}
#c--btn p:hover + .btn-link {
  background: #fff;
}
#c--btn p:hover + .btn-link svg path {
  fill: #262626;
}
#c--btn p:hover {
  pointer-events: all;
  cursor: pointer;
}

.wpcf7-submit {
  width: 100%;
  padding: 0 clamp(6rem, 7.8125vw, 8rem) 0 0;
  display: block;
  height: clamp(3.8rem, 5.859vw, 6rem);
  z-index: 2;
}

#c--btn .btn-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: clamp(6rem, 7.8125vw, 8rem);
  margin: auto;
}

.wpcf7-response-output {
  border: unset !important;
  margin: 2rem 0 !important;
  padding: 0 !important;
  font-weight: bold !important;
  font-size: 1.2rem !important;
  color: #E60012 !important;
}

.mv {
  position: relative;
}
.mv-sec {
  width: 100vw;
}
.mv-ttl {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  position: absolute;
  bottom: 3vw;
  left: 11.6vw;
  z-index: 10;
}
.mv-ttl__main {
  color: #FFF;
  font-size: min(3.2vw, 4.8rem);
  font-weight: 500;
  line-height: 1.5;
  text-decoration: underline;
  text-decoration-color: #fff;
  text-decoration-thickness: 8%;
  text-underline-offset: 22%;
  text-underline-position: from-font;
  text-shadow: 0 0 0.4rem rgba(38, 38, 38, 0.24);
}
.mv-ttl__sub {
  color: #FFF;
  font-size: min(1.2vw, 1.8rem);
  font-weight: bold;
  line-height: 1.56;
  text-shadow: 0 0 0.4rem rgba(38, 38, 38, 0.24);
}
@media screen and (max-width: 1024px) {
  .mv-ttl {
    bottom: 2.929vw;
    left: 11.6vw;
  }
}
@media screen and (max-width: 600px) {
  .mv-ttl {
    bottom: clamp(1.5rem, 5vw, 3rem);
    left: clamp(4.5rem, 1vw, 6rem);
  }
  .mv-ttl__main {
    font-size: clamp(2.8rem, 5.333vw, 3.2rem);
  }
  .mv-ttl__sub {
    font-size: clamp(1.2rem, 2.333vw, 1.4rem);
  }
}
.mv .swiper.main {
  width: 83.333vw;
  margin: 0;
}
.mv .swiper.sub-right, .mv .swiper.sub-left {
  width: 7.333vw;
  margin: 0;
}
.mv .swiper.sub-right .swiper-slide, .mv .swiper.sub-left .swiper-slide {
  width: 7.333vw !important;
}
.mv .swiper.sub-right {
  right: 0;
}
.mv .swiper.sub-left {
  left: 0;
}
.mv .swiper .swiper-slide {
  width: 83.333vw !important;
  position: relative;
  overflow: hidden;
}
.mv .swiper .swiper-slide img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1250/723;
}
.mv .swiper .swiper-slide .parallax-flame {
  width: 100%;
  height: 100%;
}
.mv .swiper .swiper-slide .parallax-flame::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(38, 38, 38, 0.24);
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: darken;
}
@media screen and (max-width: 767px) {
  .mv .swiper.main {
    width: calc(100% - 19.6209vw);
  }
  .mv .swiper.sub-right, .mv .swiper.sub-left {
    width: 9.126vw;
    margin: 0;
  }
  .mv .swiper .swiper-slide {
    width: 80.3791vw !important;
  }
}
@media screen and (max-width: 600px) {
  .mv .swiper.main {
    width: calc(100% - 6.75rem);
  }
  .mv .swiper.sub-right, .mv .swiper.sub-left {
    width: 3rem;
    margin: 0;
  }
  .mv .swiper .swiper-slide {
    width: calc(100vw - 6.75rem) !important;
  }
}

.nav-btn__text {
  font-family: YakuHanJP, "Lato";
  font-size: clamp(1.2rem, 1vw, 1.5rem);
  font-weight: 500;
  letter-spacing: 0.32em;
  line-height: 1;
  color: #fff;
  position: relative;
  bottom: 1.15em;
  z-index: 1001;
}
@media screen and (max-width: 959px) {
  .nav-btn__text {
    font-size: 1rem;
    bottom: 0.85em;
  }
}
.nav-btn__border {
  width: auto;
  margin: 0 auto 0 calc((7.333vw - max(3.2vw, 4.8rem)) / 2);
}
.nav-btn__border span {
  width: max(2.15vw, 3.225rem);
  border-top: solid 1px #fff;
}
.nav-btn__border::before, .nav-btn__border::after {
  content: "";
  display: block;
  width: 100%;
  margin: auto;
  border-top: solid 1px #fff;
  position: absolute;
  left: 0;
  transition: transform 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.nav-btn__border::before {
  width: max(2.95vw, 4.425rem);
  top: -0.8rem;
}
.nav-btn__border::after {
  width: max(1.35vw, 2.25rem);
  bottom: -0.8rem;
}
.nav-btn.open .nav-btn__border span {
  display: none;
}
.nav-btn.open .nav-btn__border::before {
  width: max(2.9666vw, 4.45rem);
  transform: rotate(20deg);
  top: 0.5rem;
  right: 0;
  left: 0;
  margin: auto;
}
.nav-btn.open .nav-btn__border::after {
  width: max(2.9666vw, 4.45rem);
  transform: rotate(-20deg);
  right: 0;
  bottom: -0.5rem;
  left: 0;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .nav-btn__border {
    margin: 0.7rem auto 0 calc((7.333vw - max(4.17vw, 4rem)) / 2);
  }
  .nav-btn__border span {
    width: 2.4rem;
  }
  .nav-btn__border::before {
    width: 3.6rem;
  }
  .nav-btn__border::after {
    width: 1.2rem;
  }
  .nav-btn.open .nav-btn__border span {
    display: none;
  }
  .nav-btn.open .nav-btn__border::before {
    width: max(3.962vw, 3.8rem);
    transform: rotate(22deg);
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
  }
  .nav-btn.open .nav-btn__border::after {
    width: max(3.962vw, 3.8rem);
    transform: rotate(-22deg);
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
}
@media screen and (max-width: 767px) {
  .nav-btn__border {
    margin: 0.7rem auto 0 calc((6rem - max(3.962vw, 3.8rem)) / 2);
  }
  .nav-btn__border.open .nav-btn__border span {
    display: none;
  }
  .nav-btn__border.open .nav-btn__border::before {
    width: max(3.962vw, 3.8rem);
    transform: rotate(22deg);
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
  }
  .nav-btn__border.open .nav-btn__border::after {
    width: max(3.962vw, 3.8rem);
    transform: rotate(-22deg);
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
}

.menu {
  width: 32rem;
  height: stretch;
  height: -webkit-fill-available;
  height: -moz-available;
  background: #fff;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  right: -100%;
  z-index: 1000;
  overflow-y: scroll;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
@media screen and (max-width: 959px) {
  .menu {
    min-height: calc(var(--vh, 1vh) * 100);
  }
}
@media screen and (max-width: 480px) {
  .menu {
    width: 100%;
  }
}
.menu.active {
  opacity: 1;
  visibility: visible;
  right: 0;
}
.menu > ul {
  width: 80%;
  margin: 0 auto;
  padding: 0 0 3rem 0;
}
.menu > ul.menu-btn {
  padding-top: 3rem;
}
.menu > ul.menu-btn li {
  border-bottom: unset;
}
.menu > ul.menu-btn li:first-child {
  background: #EBEBEB;
}
.menu > ul.menu-btn li:first-child a {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
}
.menu > ul.menu-btn li:first-child a:hover {
  color: #fff;
  background: #262626;
}
.menu > ul.menu-btn li:first-child a:hover .btn-menu {
  border: solid 1px #fff;
}
.menu > ul.menu-btn li:first-child a:hover .btn-menu svg path {
  fill: #fff;
}
.menu > ul.menu-btn li:last-child {
  color: #fff;
  border: solid 1px #262626;
  background: #262626;
}
.menu > ul.menu-btn li:last-child a {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  color: #fff;
}
.menu > ul.menu-btn li:last-child a .btn-menu {
  border: solid 1px #fff;
}
.menu > ul.menu-btn li:last-child a .btn-menu svg path {
  fill: #fff;
}
.menu > ul.menu-btn li:last-child a:hover {
  color: #262626;
  background: #fff;
}
.menu > ul.menu-btn li:last-child a:hover .btn-menu {
  border: solid 1px #262626;
}
.menu > ul.menu-btn li:last-child a:hover .btn-menu svg path {
  fill: #262626;
}
.menu > ul.menu-btn li a {
  padding: 1.25rem 1.05rem;
}
.menu > ul li.menu-list p {
  cursor: auto;
}
.menu > ul li.menu-list ul li a {
  padding: 0.8rem 0;
}
.menu > ul li.menu-list ul li:last-child a {
  padding-bottom: 1.6rem;
}
.menu > ul li {
  border-bottom: solid 1px #EBEBEB;
  font-size: 1.6rem;
}
.menu > ul li.menu-btn a {
  border-bottom: unset;
}
.menu > ul li p {
  line-height: 1;
}
.menu > ul li a,
.menu > ul li p,
.menu > ul li span {
  padding: 1rem 0;
  display: flex;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 1.6rem;
  cursor: pointer;
  transition: color 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.menu > ul li a:hover:not(p),
.menu > ul li p:hover:not(p),
.menu > ul li span:hover:not(p) {
  color: #E60012;
}
.menu > ul li a.open + ul,
.menu > ul li p.open + ul,
.menu > ul li span.open + ul {
  height: 100%;
}
.menu > ul li a.open + ul i,
.menu > ul li p.open + ul i,
.menu > ul li span.open + ul i {
  transition: transform 0.3s cubic-bezier(0.76, 0, 0.24, 1);
  transform: rotate(90deg);
}
.menu > ul li a i,
.menu > ul li p i,
.menu > ul li span i {
  height: -moz-fit-content;
  height: fit-content;
  margin: auto 0;
  transition: transform 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.menu > ul li a i::before, .menu > ul li a i::after,
.menu > ul li p i::before,
.menu > ul li p i::after,
.menu > ul li span i::before,
.menu > ul li span i::after {
  content: "";
  width: 0.9rem;
  height: 0.1rem;
  display: block;
  background: #262626;
}
.menu > ul li a i::before,
.menu > ul li p i::before,
.menu > ul li span i::before {
  position: relative;
  top: 0.1rem;
}
.menu > ul li a i::after,
.menu > ul li p i::after,
.menu > ul li span i::after {
  transform: rotate(90deg);
  transform-origin: center;
}
.menu > ul li > ul li {
  padding-left: 1.5rem;
  border-bottom: unset;
  position: relative;
}
.menu > ul li > ul li::before {
  content: "";
  width: 0.8rem;
  height: 0.1rem;
  margin: auto;
  background: #262626;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
.menu > ul li > ul li a {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  transition: color 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.menu > ul li > ul li a:hover {
  color: #E60012;
}
.menu-sml li, .menu-bnr li {
  border-top: unset !important;
  border-bottom: unset !important;
}
.menu-sml li:last-child a, .menu-bnr li:last-child a {
  padding-bottom: 0;
}
.menu-sml li a, .menu-bnr li a {
  padding-top: 0 !important;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 1.2rem !important;
  opacity: 0.6;
}
.menu-bnr li a {
  opacity: 1;
  transition: opacity 0.3s cubic-bezier(0.76, 0, 0.24, 1) !important;
}
.menu-bnr li a:hover {
  opacity: 0.6;
}

.list-item {
  width: 100%;
  font-size: 1.066vw;
  line-height: 1;
  letter-spacing: 0.023em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-bottom: solid 1px #EBEBEB;
}
.list-item a p {
  width: calc(100% - 3.533vw);
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.list-item a:hover .btn-list {
  background: #fff;
}
.list-item a:hover .btn-list svg path {
  fill: #262626;
}
@media screen and (max-width: 767px) {
  .list-item {
    height: 5rem;
  }
}
.list-cont {
  width: 50%;
  padding: 1.5rem;
}
.list-cont::after {
  content: "";
  width: 100%;
  display: block;
  border-bottom: solid 1px #EBEBEB;
  position: absolute;
  bottom: 0;
  left: 0;
}
.list-cont:nth-child(n+3) {
  border-top: solid 1px #EBEBEB;
}
@media screen and (max-width: 767px) {
  .list-cont {
    width: 100%;
    padding: clamp(0.75rem, 1.955vw, 1.5rem);
  }
  .list-cont:nth-child(n+3) {
    border-top: unset;
  }
  .list-cont:nth-child(2n+1):before {
    border-right: unset;
  }
  .list-cont:nth-child(n+2):before {
    content: "";
    width: 100%;
    display: block;
    border-top: solid 1px #EBEBEB;
    position: absolute;
    top: 0;
    right: 0;
  }
}
.list-cont__ttl {
  margin-bottom: 1rem;
}
.list-cont__ttl h3 {
  border: unset !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.list-cont__ttl__tag {
  padding: 0.8rem;
  font-size: clamp(1.4rem, 1.6684vw, 1.6rem);
  line-height: 1;
  letter-spacing: 0.023em;
  background: #262626;
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .list-cont__ttl h3 {
    margin-bottom: clamp(0.75rem, 1.955vw, 1.5rem);
  }
}
.list-cont__ttl + img {
  aspect-ratio: 1220/688;
  -o-object-fit: contain;
     object-fit: contain;
  background: #EBEBEB;
}
.list-cont__cate {
  margin: 1.5rem 0;
}
.list-cont__cate01, .list-cont__cate02 {
  width: -moz-fit-content;
  width: fit-content;
  padding: clamp(0.5rem, 0.667vw, 1rem) clamp(1rem, 1vw, 1.5rem);
  color: #fff;
  background: #262626;
  font-size: clamp(1.4rem, 1.6684vw, 1.6rem);
  line-height: 1;
  letter-spacing: 0.023em;
}
@media screen and (max-width: 767px) {
  .list-cont__cate01, .list-cont__cate02 {
    font-size: clamp(1.2rem, 1.822vw, 1.4rem);
  }
}
.list-cont__cate01 {
  margin-right: 0.8rem;
}
@media screen and (max-width: 767px) {
  .list-cont__cate {
    margin: clamp(0.75rem, 1.955vw, 1.5rem) 0;
  }
}
.list-cont__info {
  margin-top: 1.5rem;
}
.list-cont__info div {
  margin-bottom: 1.5rem;
}
.list-cont__info div:last-child {
  margin-bottom: 0;
}
.list-cont__info div p {
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.list-cont__info div p:first-child {
  grid-area: 1/1/1/4;
  font-size: clamp(1.4rem, 1.6684vw, 1.6rem);
  line-height: 1;
  letter-spacing: 0.023em;
}
.list-cont__info div p:last-child {
  grid-area: 1/4/1/13;
  font-size: clamp(1.2rem, 0.933vw, 1.4rem);
  line-height: 1;
  letter-spacing: 0.023em;
}
@media screen and (max-width: 600px) {
  .list-cont__info div {
    margin-bottom: 1.25rem;
  }
  .list-cont__info div p:first-child {
    grid-area: auto/1/auto/13;
    margin-bottom: 0.75rem;
  }
  .list-cont__info div p:last-child {
    grid-area: auto/1/auto/13;
  }
}

.supervise .list {
  flex-wrap: wrap;
}
.supervise .list::before {
  content: "";
  height: calc(100% - min(11.5rem, 7.6666vw));
  display: block;
  border-right: solid 1px #EBEBEB;
  position: absolute;
  right: 50%;
}
.supervise .list-cont {
  transition: opacity 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.supervise .list-cont:hover {
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .supervise .list {
    flex-direction: column;
  }
  .supervise .list::before {
    border-right: unset;
  }
}

.flex {
  display: flex;
}
.flex-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.flex-start {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.flex-end {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.flex.between {
  justify-content: space-between;
}
.flex.stretch {
  display: flex;
  flex-wrap: wrap;
  justify-content: stretch;
}

.nowrap {
  flex-wrap: nowrap;
}

.column {
  flex-direction: column;
}

.block {
  display: block;
}

.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: auto;
  grid-column-gap: 0.1rem;
  grid-row-gap: 0;
}

.align-center {
  align-items: center;
}
.align-start {
  align-items: flex-start;
}
.align-end {
  align-items: flex-end;
}

.m-auto {
  margin: auto;
}
.m-t__ll {
  margin-top: min(10rem, 6.667vw);
}
.m-t__l {
  margin-top: min(8rem, 5.333vw);
}
.m-t__ml {
  margin-top: min(5rem, 3.333vw);
}
.m-t__mm {
  margin-top: min(3rem, 2vw);
}
.m-t__ms {
  margin-top: min(2.5rem, 1.666vw);
}
.m-t__sl {
  margin-top: min(2rem, 1.333vw);
}
.m-t__sm {
  margin-top: min(1.5rem, 1vw);
}
.m-t__ss {
  margin-top: min(1rem, 0.666vw);
}
.m-t__xs {
  margin-top: 0.5rem;
}
@media screen and (max-width: 959px) {
  .m-t__ll {
    margin-top: clamp(8rem, 10.427vw, 10rem);
  }
  .m-t__l {
    margin-top: clamp(5rem, 8.342vw, 8rem);
  }
  .m-t__ml {
    margin-top: clamp(2.5rem, 3.649vw, 3.5rem);
  }
  .m-t__mm {
    margin-top: clamp(2rem, 3.128vw, 3rem);
  }
  .m-t__ms {
    margin-top: 1.6rem;
  }
  .m-t__sl {
    margin-top: clamp(1.2rem, 1.564vw, 1.5rem);
  }
  .m-t__sm {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m-t__ll {
    margin-top: clamp(6.5rem, 10.43vw, 8rem);
  }
}
.m-b__ll {
  margin-bottom: min(10rem, 6.667vw);
}
.m-b__l {
  margin-bottom: min(8rem, 5.333vw);
}
.m-b__ml {
  margin-bottom: min(5rem, 3.333vw);
}
.m-b__mm {
  margin-bottom: min(3rem, 2vw);
}
.m-b__ms {
  margin-bottom: min(2.5rem, 1.666vw);
}
.m-b__sl {
  margin-bottom: min(2rem, 1.333vw);
}
.m-b__sm {
  margin-bottom: min(1.5rem, 1vw);
}
.m-b__ss {
  margin-bottom: min(1rem, 0.666vw);
}
@media screen and (max-width: 959px) {
  .m-b__ll {
    margin-bottom: clamp(8rem, 10.427vw, 10rem);
  }
  .m-b__l {
    margin-bottom: clamp(5rem, 8.342vw, 8rem);
  }
  .m-b__ml {
    margin-bottom: clamp(2.5rem, 3.649vw, 3.5rem);
  }
  .m-b__mm {
    margin-bottom: clamp(2rem, 3.128vw, 3rem);
  }
  .m-b__ms {
    margin-bottom: 1.6rem;
  }
  .m-b__sl {
    margin-bottom: clamp(1.2rem, 1.564vw, 1.5rem);
  }
  .m-b__sm {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m-b__ll {
    margin-bottom: clamp(6.5rem, 10.43vw, 8rem);
  }
}
.m-r__mm {
  margin-right: min(3rem, 2vw);
}
.m-r__ms {
  margin-right: min(2.5rem, 1.666vw);
}
.m-r__sl {
  margin-right: min(2rem, 1.333vw);
}
.m-r__sm {
  margin-right: min(1.5rem, 1vw);
}
.m-r__ss {
  margin-right: min(1rem, 0.666vw);
}
.m-r__xs {
  margin-right: 0.5rem;
}
@media screen and (max-width: 959px) {
  .m-r__mm {
    margin-right: clamp(2rem, 3.128vw, 3rem);
  }
  .m-r__ms {
    margin-right: 1.6rem;
  }
  .m-r__sl {
    margin-right: clamp(1.2rem, 1.564vw, 1.5rem);
  }
  .m-r__sm {
    margin-right: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m-r__ll {
    margin-right: clamp(6.5rem, 10.43vw, 8rem);
  }
}
.m-l__mm {
  margin-left: min(3rem, 2vw);
}
.m-l__ms {
  margin-left: min(2.5rem, 1.666vw);
}
.m-l__sl {
  margin-left: min(2rem, 1.333vw);
}
.m-l__sm {
  margin-left: min(1.5rem, 1vw);
}
.m-l__ss {
  margin-left: min(1rem, 0.666vw);
}
.m-l__xs {
  margin-left: 0.5rem;
}
@media screen and (max-width: 959px) {
  .m-l__mm {
    margin-left: clamp(2rem, 3.128vw, 3rem);
  }
  .m-l__ms {
    margin-left: 1.6rem;
  }
  .m-l__sl {
    margin-left: clamp(1.2rem, 1.564vw, 1.5rem);
  }
  .m-l__sm {
    margin-left: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m-l__ll {
    margin-left: clamp(6.5rem, 10.43vw, 8rem);
  }
}

.p-t__ll {
  padding-top: min(10rem, 6.667vw);
}
.p-t__l {
  padding-top: min(8rem, 5.333vw);
}
.p-t__ml {
  padding-top: min(5rem, 3.333vw);
}
.p-t__mm {
  padding-top: min(3rem, 2vw);
}
.p-t__ms {
  padding-top: min(2.5rem, 1.666vw);
}
.p-t__sl {
  padding-top: min(2rem, 1.333vw);
}
.p-t__sm {
  padding-top: min(1.5rem, 1vw);
}
.p-t__ss {
  padding-top: min(1rem, 0.666vw);
}
.p-t__xs {
  padding-top: 0.5rem;
}
@media screen and (max-width: 959px) {
  .p-t__ll {
    padding-top: clamp(8rem, 10.427vw, 10rem);
  }
  .p-t__l {
    padding-top: clamp(5rem, 8.342vw, 8rem);
  }
  .p-t__ml {
    padding-top: clamp(2.5rem, 3.649vw, 3.5rem);
  }
  .p-t__mm {
    padding-top: clamp(2rem, 3.128vw, 3rem);
  }
  .p-t__ms {
    padding-top: 1.6rem;
  }
  .p-t__sl {
    padding-top: min(1.5rem, 1.564vw);
  }
  .p-t__sm {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-t__ll {
    padding-top: clamp(6.5rem, 10.43vw, 8rem);
  }
}
.p-b__ll {
  padding-bottom: min(10rem, 6.667vw);
}
.p-b__l {
  padding-bottom: min(8rem, 5.333vw);
}
.p-b__ml {
  padding-bottom: min(5rem, 3.333vw);
}
.p-b__mm {
  padding-bottom: min(3rem, 2vw);
}
.p-b__ms {
  padding-bottom: min(2.5rem, 1.666vw);
}
.p-b__sl {
  padding-bottom: min(2rem, 1.333vw);
}
.p-b__sm {
  padding-bottom: min(1.5rem, 1vw);
}
.p-b__ss {
  padding-bottom: min(1rem, 0.666vw);
}
.p-b__xs {
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 959px) {
  .p-b__ll {
    padding-bottom: clamp(8rem, 10.427vw, 10rem);
  }
  .p-b__l {
    padding-bottom: clamp(5rem, 8.342vw, 8rem);
  }
  .p-b__ml {
    padding-bottom: clamp(2.5rem, 3.649vw, 3.5rem);
  }
  .p-b__mm {
    padding-bottom: clamp(2rem, 3.128vw, 3rem);
  }
  .p-b__ms {
    padding-bottom: 1.6rem;
  }
  .p-b__sl {
    padding-bottom: min(1.5rem, 1.564vw);
  }
  .p-b__sm {
    padding-bottom: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-b__ll {
    padding-bottom: clamp(6.5rem, 10.43vw, 8rem);
  }
}
.p-r__l {
  padding-right: min(8rem, 5.333vw);
}
.p-r__ml {
  padding-right: min(5rem, 3.333vw);
}
.p-r__mm {
  padding-right: min(3rem, 2vw);
}
.p-r__ms {
  padding-right: min(2.5rem, 1.666vw);
}
.p-r__sl {
  padding-right: min(2rem, 1.333vw);
}
.p-r__sm {
  padding-right: min(1.5rem, 1vw);
}
.p-r__ss {
  padding-right: min(1rem, 0.666vw);
}
@media screen and (max-width: 959px) {
  .p-r__l {
    padding-right: clamp(5rem, 8.342vw, 8rem);
  }
  .p-r__ml {
    padding-right: clamp(2.5rem, 3.649vw, 3.5rem);
  }
  .p-r__mm {
    padding-right: clamp(2rem, 3.128vw, 3rem);
  }
  .p-r__ms {
    padding-right: 1.6rem;
  }
  .p-r__sl {
    padding-right: min(1.5rem, 1.564vw);
  }
  .p-r__sm {
    padding-right: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-r__ll {
    padding-right: clamp(6.5rem, 10.43vw, 8rem);
  }
}
.p-l__ll {
  padding-left: min(10rem, 6.667vw);
}
.p-l__l {
  padding-left: min(8rem, 5.333vw);
}
.p-l__ml {
  padding-left: min(5rem, 3.333vw);
}
.p-l__mm {
  padding-left: min(3rem, 2vw);
}
.p-l__ms {
  padding-left: min(2.5rem, 1.666vw);
}
.p-l__sl {
  padding-left: min(2rem, 1.333vw);
}
.p-l__sm {
  padding-left: min(1.5rem, 1vw);
}
.p-l__ss {
  padding-left: min(1rem, 0.666vw);
}
.p-l__xs {
  padding-left: 0.5rem;
}
@media screen and (max-width: 959px) {
  .p-l__ll {
    padding-left: clamp(8rem, 10.427vw, 10rem);
  }
  .p-l__l {
    padding-left: clamp(5rem, 8.342vw, 8rem);
  }
  .p-l__ml {
    padding-left: clamp(2.5rem, 3.649vw, 3.5rem);
  }
  .p-l__mm {
    padding-left: clamp(2rem, 3.128vw, 3rem);
  }
  .p-l__ms {
    padding-left: 1.6rem;
  }
  .p-l__sl {
    padding-left: min(1.5rem, 1.564vw);
  }
  .p-l__sm {
    padding-left: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-l__ll {
    padding-left: clamp(6.5rem, 10.43vw, 8rem);
  }
}

.rel {
  position: relative;
}

.absolute {
  position: absolute;
}
.absolute-center {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.fix-center {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

main {
  width: 100%;
}

p,
span,
a,
h1,
h2,
h3,
h4 {
  color: #262626;
}

h1 {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: clamp(3.8rem, 3.2vw, 4.8rem);
  letter-spacing: 0.023em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: clamp(2.8rem, 4.954vw, 3.8rem);
  }
}
@media screen and (max-width: 480px) {
  h1 {
    font-size: clamp(2.6rem, 5.8333vw, 2.8rem);
  }
}

h2 {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
}

h3 {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: clamp(1.8rem, 1.467vw, 2.2rem);
  line-height: 1;
  letter-spacing: 0.023em;
}
@media screen and (max-width: 767px) {
  h3 {
    font-size: clamp(1.6rem, 2.346vw, 1.8rem);
  }
}

h4,
h5 {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
}

p {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: clamp(1.4rem, 1.6684vw, 1.6rem);
  line-height: 2;
  letter-spacing: 0.023em;
}
@media screen and (max-width: 767px) {
  p {
    font-size: clamp(1.2rem, 1.822vw, 1.4rem);
  }
}

p > span,
span > span,
a > span,
h1 > span,
h2 > span,
h3 > span,
h4 > span,
div > span,
dt > span,
dd > span {
  display: inline-block;
}

.header {
  width: 100%;
  height: 7.666vw;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}
@media screen and (max-width: 959px) {
  .header {
    border-bottom: solid 1px #EBEBEB;
  }
}
.header-wrap {
  width: 92.6667%;
}
.header .logo {
  height: 4.866vw;
}
.header .logo img {
  width: -moz-fit-content;
  width: fit-content;
  height: 1.866vw;
  display: block;
}
@media screen and (max-width: 959px) {
  .header {
    height: 8vw;
  }
  .header-wrap {
    width: 92.6667%;
  }
  .header .logo {
    height: 8vw;
  }
  .header .logo img {
    height: 2.919vw;
  }
}
@media screen and (max-width: 767px) {
  .header {
    height: 6rem;
  }
  .header-wrap {
    width: calc(100% - 6rem);
  }
  .header .logo {
    height: 6rem;
    margin-left: clamp(0.8rem, 1.564vw, 1.2rem);
  }
  .header .logo img {
    width: 20rem;
    height: auto;
  }
}
@media screen and (max-width: 480px) {
  .header .logo img {
    width: 37.5vw;
  }
}
.header-contact__wrap {
  height: 4.866vw;
}
.header-contact__tel {
  width: -moz-fit-content;
  width: fit-content;
  font-family: YakuHanJP, "Lato";
  font-size: 1.733vw;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.03em;
}
.header-contact__tel .open-hour {
  display: block;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0;
}
.header-contact__mail, .header-contact__dl {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.85vw 0.7vw;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.header-contact__mail {
  background: #EBEBEB;
  border: solid 1px #EBEBEB;
}
.header-contact__mail:hover {
  color: #fff;
  background: #262626;
}
.header-contact__mail:hover .btn-menu {
  border: solid 1px #fff;
}
.header-contact__mail:hover .btn-menu svg path {
  fill: #fff;
}
.header-contact__dl {
  color: #fff;
  border: solid 1px #262626;
  background: #262626;
}
.header-contact__dl .btn-menu {
  border: solid 1px #fff;
}
.header-contact__dl .btn-menu svg path {
  fill: #fff;
}
.header-contact__dl:hover {
  color: #262626;
  background: #fff;
}
.header-contact__dl:hover .btn-menu {
  border: solid 1px #262626;
}
.header-contact__dl:hover .btn-menu svg path {
  fill: #262626;
}
@media screen and (max-width: 959px) {
  .header-contact__wrap {
    height: 8vw;
  }
  .header-contact__tel {
    font-size: 2.711vw;
  }
}
@media screen and (max-width: 767px) {
  .header-contact__wrap {
    height: 6rem;
  }
  .header-contact__mail, .header-contact__dl {
    display: none;
  }
  .header-contact__tel {
    font-size: 2rem;
  }
  .header-contact__tel svg {
    width: 1rem;
    height: 1rem;
    margin-right: 0.1rem;
  }
}
@media screen and (max-width: 380px) {
  .header-contact__tel {
    font-size: clamp(1.6rem, 5.263vw, 2rem);
    letter-spacing: 0;
  }
}
.header-link {
  width: 92.6667%;
  height: 2.8vw;
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px #EBEBEB;
  border-bottom-style: inset;
}
.header-link__list > li {
  height: 2.8vw;
  margin-right: 2vw;
}
.header-link__list > li a,
.header-link__list > li p {
  height: 100%;
  padding-bottom: 0;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.02em;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
  cursor: pointer;
}
.header-link__list > li a::before,
.header-link__list > li p::before {
  content: "";
  width: 2rem;
  height: 0.3rem;
  margin: auto;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  opacity: 0;
  background: #E60012;
  transition: opacity 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.header-link__list > li a i,
.header-link__list > li p i {
  margin: auto 0 auto 0.5rem;
}
.header-link__list > li a i::before, .header-link__list > li a i::after,
.header-link__list > li p i::before,
.header-link__list > li p i::after {
  content: "";
  width: 0.9rem;
  height: 0.1rem;
  display: block;
  background: #262626;
  transition: transform 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.header-link__list > li a i::before,
.header-link__list > li p i::before {
  position: relative;
  top: 0.1rem;
}
.header-link__list > li a i::after,
.header-link__list > li p i::after {
  transform: rotate(90deg);
  transform-origin: center;
}
.header-link__list > li a:hover,
.header-link__list > li p:hover {
  color: #E60012;
}
.header-link__list > li a:hover::before,
.header-link__list > li p:hover::before {
  opacity: 1;
}
.header-link__list > li a:hover i::after,
.header-link__list > li p:hover i::after {
  transform: rotate(0deg);
}
.header-link__list > li > ul {
  width: -moz-max-content;
  width: max-content;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
  z-index: 1001;
}
.header-link__list > li > ul li {
  border-bottom: solid 1px #EBEBEB;
}
.header-link__list > li > ul li a {
  padding: 1rem;
  display: block;
}
.header-link__list > li > ul li a:hover::before {
  display: none;
}
.header-link__list > li:hover > ul {
  opacity: 1;
  visibility: visible;
}
.header-link__chd {
  border-right: solid 1px #EBEBEB;
  border-left: solid 1px #EBEBEB;
}
.header-link__chd a::before {
  display: none !important;
}
@media screen and (max-width: 959px) {
  .header-link {
    display: none;
  }
}

.nav-btn {
  width: 7.666%;
  height: 7.666vw;
  background: #E60012;
  cursor: pointer;
}
@media screen and (max-width: 959px) {
  .nav-btn {
    width: 8%;
    height: 8vw;
  }
}
@media screen and (max-width: 767px) {
  .nav-btn {
    width: 6rem;
    height: 6rem;
  }
}

footer {
  overflow-x: hidden;
}
footer > span {
  width: 83.3333333333vw;
  height: 100%;
  margin: 0 auto;
  grid-area: 1/auto/13/auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
footer > span:nth-child(1):before, footer > span:nth-child(2):before {
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
}
footer > span:nth-child(1):before {
  border-right: solid 1px #EBEBEB;
  right: 75%;
}
footer > span:nth-child(2):before {
  border-left: solid 1px #EBEBEB;
  left: 75%;
}
@media screen and (max-width: 959px) {
  footer > span {
    height: unset;
  }
}
footer .main-cont__grid {
  grid-area: auto/1/auto/13;
}
footer .page-grid {
  grid-area: auto/2/auto/12;
}
footer .page-grid::before {
  border-top: solid 1px #EBEBEB;
  top: 0;
}
footer .page-grid .f-top {
  width: 100%;
  grid-area: 1/1/1/13;
}
footer .page-grid .f-top__logo {
  width: 16.667vw;
  margin: min(3rem, 2vw) 0;
  grid-area: 1/1/1/13;
}
footer .page-grid .f-top__top {
  width: 8.3333333333vw;
  height: 100%;
  grid-area: 1/13/1/14;
  position: relative;
  left: 8.3333333333vw;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
footer .page-grid .f-top__top span {
  margin-left: 0.5rem;
}
footer .page-grid .f-top__top:hover {
  background: #262626;
}
footer .page-grid .f-top__top:hover svg path {
  fill: #fff;
}
footer .page-grid .f-top__top:hover span {
  color: #fff;
}
@media screen and (max-width: 959px) {
  footer .page-grid .f-top__logo {
    width: 22rem;
    margin: 2rem 0;
  }
  footer .page-grid .f-top__top span {
    margin-left: 0;
  }
}
@media screen and (max-width: 600px) {
  footer .page-grid .f-top__top {
    width: 6.443rem;
    border-left: solid 1px #EBEBEB;
    left: 0;
  }
}
@media screen and (max-width: 480px) {
  footer .page-grid .f-top__logo {
    width: 41.666vw;
  }
  footer .page-grid .f-top__top {
    width: 6rem;
  }
}
footer .page-grid .f-main {
  grid-area: auto/1/auto/13;
}
@media screen and (max-width: 959px) {
  footer .page-grid .f-main {
    grid-row-gap: 2rem;
  }
}
footer .page-grid .f-main::before {
  content: "";
  width: 100vw;
  border-top: solid 1px #EBEBEB;
  position: absolute;
  top: 0;
  left: -8.3333333333vw;
}
footer .page-grid .f-main::before {
  border-top: solid 1px #EBEBEB;
  top: 0;
}
footer .page-grid .f-main__left {
  grid-area: auto/1/auto/4;
}
footer .page-grid .f-main__left__address {
  height: -moz-fit-content;
  height: fit-content;
  grid-area: 1/1/1/13;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 1.2rem;
  line-height: 1.333;
}
footer .page-grid .f-main__left__cr {
  height: -moz-fit-content;
  height: fit-content;
  grid-area: 2/1/2/13;
  align-self: flex-end;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 1rem;
  opacity: 0.6;
}
footer .page-grid .f-main__left__cr__sp {
  display: none;
}
@media screen and (max-width: 959px) {
  footer .page-grid .f-main__left {
    grid-area: auto/1/auto/13;
  }
  footer .page-grid .f-main__left__cr {
    display: none;
  }
  footer .page-grid .f-main__left__cr__sp {
    display: block;
    width: 100%;
    height: -moz-fit-content;
    height: fit-content;
    grid-area: auto/1/auto/13;
    align-self: flex-end;
    font-size: 1rem;
    opacity: 0.6;
  }
}
footer .page-grid .f-main__list {
  grid-row-gap: 2.666vw;
  grid-area: auto/4/auto/10;
  font-size: 1.4rem;
  line-height: 1.333;
}
footer .page-grid .f-main__list__item {
  grid-area: auto/1/auto/13;
}
footer .page-grid .f-main__list__item:nth-child(n+5) ul {
  padding-left: 0;
}
footer .page-grid .f-main__list__item:last-child a {
  font-size: 1.2rem;
  opacity: 0.6;
}
footer .page-grid .f-main__list__item a {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  transition: opacity 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
footer .page-grid .f-main__list__item a.none {
  pointer-events: none !important;
}
footer .page-grid .f-main__list__item a:hover {
  opacity: 0.4;
}
footer .page-grid .f-main__list__item ul {
  padding-left: min(1rem, 0.666vw);
}
footer .page-grid .f-main__list__item ul li {
  margin-right: 1.333vw;
}
footer .page-grid .f-main__list__item ul li a {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  transition: opacity 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
footer .page-grid .f-main__list__item ul li a.rel {
  margin-top: 0.5rem;
  display: block;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
}
footer .page-grid .f-main__list__item ul li a.rel::before {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  margin: auto;
  background: #E60012;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -0.7rem;
}
footer .page-grid .f-main__list__item ul li a:hover {
  opacity: 0.4;
}
@media screen and (max-width: 959px) {
  footer .page-grid .f-main__list {
    grid-row-gap: 2rem;
    grid-area: auto/1/auto/13;
  }
  footer .page-grid .f-main__list__item ul {
    padding-left: 1em;
  }
  footer .page-grid .f-main__list__item ul li {
    margin-right: 1.5rem;
  }
}
footer .page-grid .f-main__bnr {
  height: -moz-fit-content;
  height: fit-content;
  grid-area: auto/10/auto/13;
}
footer .page-grid .f-main__bnr li {
  height: -moz-fit-content;
  height: fit-content;
}
footer .page-grid .f-main__bnr li a {
  width: 100%;
  height: 100%;
  display: block;
  transition: opacity 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
footer .page-grid .f-main__bnr li a:hover {
  opacity: 0.6;
}
footer .page-grid .f-main__bnr li:nth-child(1) {
  grid-area: auto/1/auto/13;
}
footer .page-grid .f-main__bnr li:nth-child(2) {
  grid-area: auto/1/auto/13;
}
footer .page-grid .f-main__bnr li:nth-child(3) {
  grid-area: auto/1/auto/13;
}
@media screen and (max-width: 959px) {
  footer .page-grid .f-main__bnr {
    padding: 0;
    grid-area: auto/1/auto/13;
    grid-column-gap: 1vw;
  }
  footer .page-grid .f-main__bnr li {
    padding: 0;
  }
  footer .page-grid .f-main__bnr li:nth-child(1) {
    grid-area: auto/1/auto/5;
  }
  footer .page-grid .f-main__bnr li:nth-child(2) {
    grid-area: auto/5/auto/9;
  }
  footer .page-grid .f-main__bnr li:nth-child(3) {
    grid-area: auto/9/auto/13;
  }
}
@media screen and (max-width: 600px) {
  footer .page-grid .f-main__bnr li:nth-child(1) {
    grid-area: auto/1/auto/7;
    margin-bottom: 1vw;
  }
  footer .page-grid .f-main__bnr li:nth-child(2) {
    grid-area: auto/7/auto/13;
  }
  footer .page-grid .f-main__bnr li:nth-child(3) {
    grid-area: auto/1/auto/7;
  }
}
@media screen and (max-width: 480px) {
  footer .page-grid .f-main__bnr li:nth-child(1) {
    grid-area: auto/1/auto/13;
    margin-bottom: 2vw;
  }
  footer .page-grid .f-main__bnr li:nth-child(2) {
    grid-area: auto/1/auto/13;
    margin-bottom: 2vw;
  }
  footer .page-grid .f-main__bnr li:nth-child(3) {
    grid-area: auto/1/auto/13;
  }
}

.main-cont {
  grid-area: auto/1/auto/13;
  overflow: hidden;
}
.main-cont__grid {
  border-bottom: solid 1px #EBEBEB;
}
.main-cont__grid::before, .main-cont__grid::after {
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
}
.main-cont__grid::before {
  border-right: solid 1px #EBEBEB;
  right: 8.3333333333%;
}
.main-cont__grid::after {
  border-left: solid 1px #EBEBEB;
  left: 8.3333333333%;
}

.page-grid {
  grid-area: auto/2/auto/12;
}
.page-grid::before, .page-grid::after {
  content: "";
  width: 100vw;
  position: absolute;
  top: 0;
  left: -8.3333333333vw;
  z-index: -1;
}
.page-grid::after {
  border-bottom: solid 1px #EBEBEB;
  bottom: 0;
}

.ttl-wrap .ttl {
  font-size: 2.666vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.023em;
  border-bottom: solid 1px #EBEBEB;
}
.ttl-wrap .ttl-sub {
  font-family: YakuHanJP, "Lato";
  font-size: 0.8vw;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  color: #E60012;
}
@media screen and (max-width: 959px) {
  .ttl-wrap .ttl {
    font-size: clamp(2.4rem, 3.336vw, 3.2rem);
  }
  .ttl-wrap .ttl-sub {
    font-size: 1rem;
  }
}

.square-text {
  padding-top: 0.8vw;
  writing-mode: vertical-rl;
  padding-left: 0.8vw;
  font-size: 1.866vw;
  line-height: 1;
  letter-spacing: 0;
  position: relative;
  z-index: 2;
}
.square-text span {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.0666vw 0.2vw 0.266vw 0.1vw;
  color: #fff;
  border: solid 1px rgba(255, 255, 255, 0.28);
}
.square-text span:last-child {
  border-bottom: solid 1px rgba(255, 255, 255, 0.28);
}
.square-text span::before {
  border: unset;
}
@media screen and (max-width: 767px) {
  .square-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 480px) {
  .square-text {
    font-size: 4.166vw;
  }
}

.news {
  grid-area: auto/2/auto/12;
}
.news::before {
  border-top: solid 1px #EBEBEB;
  bottom: 0;
}
.news .ttl-wrap {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: 0.1rem;
  grid-row-gap: 0;
  border-right: solid 1px #EBEBEB;
  grid-area: 1/1/2/4;
}
.news .ttl-wrap .btn {
  grid-area: 3/1/3/1;
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px #EBEBEB;
}
.news .ttl-wrap .btn:hover p + .btn-link {
  background: #fff;
}
.news .ttl-wrap .btn:hover p + .btn-link svg path {
  fill: #262626;
}
.news .list {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: 0.1rem;
  grid-row-gap: 0;
  grid-area: 1/4/1/13;
}
.news .list-item {
  position: relative;
  right: 0.1rem;
  transition: background-color 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.news .list-item:first-child {
  background: rgba(38, 38, 38, 0.04);
}
.news .list-item a {
  height: 100%;
}
.news .list-item:hover {
  background: rgba(38, 38, 38, 0.04);
}
@media screen and (max-width: 767px) {
  .news .ttl-wrap {
    grid-area: 1/1/1/13;
    grid-template-rows: repeat(1, 1fr);
    padding-bottom: 3rem;
  }
  .news .ttl-wrap .btn {
    grid-area: 1/2/1/13;
  }
  .news .list {
    grid-area: auto/1/auto/13;
  }
}

.reason {
  grid-area: auto/1/auto/13;
  overflow-x: hidden;
}
.reason-space {
  width: 45.333vw;
  margin-left: 16.6667vw;
  line-height: 1;
  background: #fff;
  z-index: 3;
}
.reason-space::before, .reason-space::after {
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
}
.reason-space::before {
  border-left: solid 1px #EBEBEB;
  left: min(10rem, 6.667vw);
}
.reason-space::after {
  border-right: solid 1px #EBEBEB;
  right: 1.5rem;
}
.reason-space .ttl {
  border-top: unset;
}
.reason-space .ttl-wrap {
  grid-area: 1/1/1/13;
}
.reason-space > p {
  grid-area: 2/1/2/13;
}
.reason-space > p.ttl-medium {
  font-size: 2.4rem;
  line-height: 1.583;
}
@media screen and (max-width: 959px) {
  .reason-space > p.ttl-medium {
    font-size: clamp(1.6rem, 2.502vw, 2.4rem);
  }
}
.reason-space > p .point {
  font-weight: 600;
  line-height: 1.35;
  color: #fff;
  background: #E60012;
}
.reason-space > p {
  width: 100%;
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px #EBEBEB;
  grid-area: auto/1/auto/13;
}
.reason-space a {
  border-top: solid 1px #EBEBEB;
  grid-area: auto/1/auto/13;
}
.reason-space a:hover p + .btn-link {
  background: #fff;
}
.reason-space a:hover p + .btn-link svg path {
  fill: #262626;
}
@media screen and (max-width: 1024px) {
  .reason-space {
    width: 100vw;
    margin-left: 0;
    padding: 0 8.3333333333vw 8.3333333333vw;
  }
  .reason-space::before {
    left: 8.3333333333vw;
  }
  .reason-space::after {
    right: 8.3333333333vw;
  }
  .reason-space a {
    border-bottom: solid 1px #EBEBEB;
  }
}
.reason-roll {
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 2;
  animation: infinity-scroll-left 30s infinite linear 0.5s both;
}
.reason-roll img {
  aspect-ratio: 859/644;
  height: 100%;
  /* width: 100%; */
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .reason-roll {
    width: 100vw;
    position: relative;
  }
}

.business::after {
  border-bottom: unset;
}
.business.page-grid {
  grid-column-gap: 2vw;
}
.business.page-grid::before {
  border-top: unset;
}
.business .ttl-wrap {
  width: 100%;
  grid-area: 1/1/1/13;
  border-top: solid 1px #EBEBEB;
}
.business .ttl-wrap::before {
  content: "";
  width: 100vw;
  border-top: solid 1px #EBEBEB;
  position: absolute;
  left: -8.3333333333vw;
}
.business .ttl {
  grid-area: 1/1/1/7;
  border-top: unset;
  border-bottom: unset;
}
.business .btn {
  margin: 0.1rem 0;
  grid-area: 1/10/1/13;
}
.business .btn:hover p + .btn-link {
  background: #fff;
}
.business .btn:hover p + .btn-link svg path {
  fill: #262626;
}
.business-line {
  width: 100%;
  height: 100%;
  grid-column-gap: 2vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.business-line span {
  height: calc(100% - min(20rem, 13.333vw));
  position: absolute;
  bottom: 0;
  right: -1vw;
  border-right: solid 1px #EBEBEB;
}
.business-line span:nth-child(1) {
  grid-area: 1/3/3/3;
}
.business-line span:nth-child(2) {
  grid-area: 1/6/3/6;
}
.business-line span:nth-child(3) {
  grid-area: 1/9/3/9;
}
@media screen and (max-width: 959px) {
  .business-line span {
    height: calc(100% - clamp(16rem, 20.855vw, 20rem));
  }
}
@media screen and (max-width: 767px) {
  .business-line span {
    display: none;
  }
}
.business-list {
  grid-area: 2/1/2/13;
  grid-column-gap: 2vw;
  border-bottom: unset;
}
.business-list__item {
  width: 100%;
  aspect-ratio: 145/211;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
  overflow: hidden;
}
.business-list__item:nth-child(1) {
  grid-area: 1/1/1/4;
  background: url(/asset/images/top/business01.webp) no-repeat;
  background-size: cover;
  background-position: center;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.business-list__item:nth-child(2) {
  grid-area: 1/4/1/7;
  background: url(/asset/images/top/business02.webp) no-repeat;
  background-size: cover;
  background-position: center;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.business-list__item:nth-child(3) {
  grid-area: 1/7/1/10;
  background: url(/asset/images/top/business03.webp) no-repeat;
  background-size: cover;
  background-position: center;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.business-list__item:nth-child(4) {
  grid-area: 1/10/1/13;
  background: url(/asset/images/top/business04.webp) no-repeat;
  background-size: cover;
  background-position: center;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.business-list__item:hover a::before {
  opacity: 0;
}
.business-list__item:hover a .btn-link {
  background: #fff;
}
.business-list__item:hover a .btn-link svg path {
  fill: #262626;
}
.business-list__item:last-child:after {
  border-right: unset;
}
.business-list__item a {
  width: 100%;
  height: 100%;
  display: block;
  clip-path: inset(0 0 0 0);
  overflow: hidden;
}
.business-list__item a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(38, 38, 38, 0.48);
  mix-blend-mode: multiply;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.business-list__item a .btn {
  border-radius: 50%;
  right: 0.8vw;
  bottom: 0.933vw;
  z-index: 2;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.business-list__item a .btn-link {
  border: solid 1px #fff;
}
.business-list__item a .btn-link svg path {
  fill: #fff;
}
.business-list__item a .btn-link:hover {
  background: #fff;
}
.business-list__item a .btn-link:hover svg path {
  fill: #262626;
}
@media screen and (max-width: 767px) {
  .business-list {
    grid-row-gap: 2vw;
  }
  .business-list__item {
    grid-area: 2/1/2/13;
  }
  .business-list__item:nth-child(1) {
    grid-area: 1/1/1/7;
  }
  .business-list__item:nth-child(2) {
    grid-area: 1/7/1/13;
  }
  .business-list__item:nth-child(3) {
    grid-area: 2/1/2/7;
  }
  .business-list__item:nth-child(4) {
    grid-area: 2/7/2/13;
  }
  .business-list__item a .btn {
    right: 0.7rem;
    bottom: 0.7rem;
  }
}

.introduction,
.community {
  grid-area: 1/1/1/13;
}
.introduction::after,
.community::after {
  left: 0;
}
.introduction .ttl-wrap,
.community .ttl-wrap {
  grid-area: 1/1/1/13;
  border-top: solid 1px #EBEBEB;
}
.introduction .ttl-wrap .ttl,
.community .ttl-wrap .ttl {
  grid-area: 1/2/1/12;
  border-top: unset;
  border-bottom: unset;
}
.introduction-text,
.community-text {
  grid-column-gap: 2vw;
  grid-area: auto/2/auto/12;
}
.introduction-text p,
.community-text p {
  grid-area: 1/1/1/13;
}
.introduction-list,
.community-list {
  grid-column-gap: 2vw;
  grid-row-gap: 2vw;
}
.introduction-list__wrap,
.community-list__wrap {
  grid-area: auto/2/auto/12;
}
.introduction-list__item:nth-child(1),
.community-list__item:nth-child(1) {
  grid-area: 1/1/3/7;
  background: url(/asset/images/top/introduction01.webp) no-repeat;
  background-size: cover;
}
.introduction-list__item:nth-child(2),
.community-list__item:nth-child(2) {
  aspect-ratio: 305/103;
  grid-area: 1/7/2/13;
  background: url(/asset/images/top/introduction02.webp) no-repeat;
  background-size: cover;
}
.introduction-list__item:nth-child(3),
.community-list__item:nth-child(3) {
  aspect-ratio: 305/103;
  grid-area: 2/7/3/13;
  background: url(/asset/images/top/introduction03.webp) no-repeat;
  background-size: cover;
}
.introduction-list__item::before,
.community-list__item::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(38, 38, 38, 0.48);
  mix-blend-mode: multiply;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.introduction-list__item:hover:before,
.community-list__item:hover:before {
  opacity: 0;
}
.introduction-list__item .square-text,
.community-list__item .square-text {
  padding-top: 0.466vw;
  padding-left: 0.533vw;
  font-size: 1.333vw;
}
.introduction-list__item a,
.community-list__item a {
  width: 100%;
  height: 100%;
  display: block;
  z-index: 2;
}
.introduction-list__item a .btn-link,
.community-list__item a .btn-link {
  right: 0.8vw;
  bottom: 0.9333vw;
  z-index: 2;
  border: solid 1px #fff;
}
.introduction-list__item a .btn-link svg path,
.community-list__item a .btn-link svg path {
  fill: #fff;
}
.introduction-list__item a:hover p + .btn-link,
.community-list__item a:hover p + .btn-link {
  background: #fff;
}
.introduction-list__item a:hover p + .btn-link svg path,
.community-list__item a:hover p + .btn-link svg path {
  fill: #262626;
}
@media screen and (max-width: 959px) {
  .introduction-list__item:nth-child(1),
  .community-list__item:nth-child(1) {
    aspect-ratio: auto;
    grid-area: 1/1/14/13;
    background-position: 0 -28.5vw;
  }
  .introduction-list__item:nth-child(2),
  .community-list__item:nth-child(2) {
    aspect-ratio: auto;
    grid-area: 14/1/26/7;
  }
  .introduction-list__item:nth-child(3),
  .community-list__item:nth-child(3) {
    aspect-ratio: auto;
    grid-area: 14/7/26/13;
  }
  .introduction-list__item .square-text,
  .community-list__item .square-text {
    padding-top: 0.8vw;
    padding-left: 0.8vw;
    font-size: 1.866vw;
  }
  .introduction-list__item a .btn-link,
  .community-list__item a .btn-link {
    right: 0.7rem;
    bottom: 0.7rem;
  }
}
@media screen and (max-width: 767px) {
  .introduction-list__item .square-text,
  .community-list__item .square-text {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  .introduction-list__item:nth-child(1),
  .community-list__item:nth-child(1) {
    aspect-ratio: 2/1;
    grid-area: auto/1/auto/13;
    background-position: bottom;
  }
  .introduction-list__item:nth-child(2),
  .community-list__item:nth-child(2) {
    aspect-ratio: 2/1;
    grid-area: auto/1/auto/13;
  }
  .introduction-list__item:nth-child(3),
  .community-list__item:nth-child(3) {
    aspect-ratio: 2/1;
    grid-area: auto/1/auto/13;
  }
  .introduction-list__item .square-text,
  .community-list__item .square-text {
    font-size: 4.166vw;
  }
}
.introduction-garden,
.community-garden {
  grid-area: auto/2/auto/12;
}
.introduction-garden h3,
.community-garden h3 {
  grid-area: auto/1/auto/13;
  font-size: 2.8rem;
}
.introduction-garden p,
.community-garden p {
  grid-area: auto/1/auto/13;
}
.introduction-garden__img,
.community-garden__img {
  grid-area: auto/1/auto/13;
  grid-column-gap: 2vw;
}
.introduction-garden__img a,
.community-garden__img a {
  transition: opacity 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.introduction-garden__img a:nth-child(1),
.community-garden__img a:nth-child(1) {
  grid-area: auto/1/auto/7;
}
.introduction-garden__img a:nth-child(2),
.community-garden__img a:nth-child(2) {
  grid-area: auto/7/auto/13;
}
.introduction-garden__img a:hover,
.community-garden__img a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 959px) {
  .introduction-garden h3,
  .community-garden h3 {
    font-size: clamp(2rem, 2.919vw, 2.8rem);
  }
}
@media screen and (max-width: 480px) {
  .introduction-garden__img,
  .community-garden__img {
    grid-row-gap: 2vw;
  }
  .introduction-garden__img a:nth-child(1), .introduction-garden__img a:nth-child(2),
  .community-garden__img a:nth-child(1),
  .community-garden__img a:nth-child(2) {
    grid-area: auto/1/auto/13;
  }
}

.community .btn:hover p + .btn-link {
  background: #fff;
}
.community .btn:hover p + .btn-link svg path {
  fill: #262626;
}
.community.page-grid::before {
  border-top: unset;
}
.community.page-grid::after {
  border-bottom: unset;
}
.community .ttl-wrap {
  grid-area: 1/2/1/12;
  border-top: unset;
}
@media screen and (max-width: 767px) {
  .community .ttl-wrap {
    flex-direction: column;
  }
  .community .ttl-wrap .btn {
    margin-top: min(5rem, 3.333vw);
  }
}
.community-roll {
  border-bottom: solid 1px #EBEBEB;
}
.community-roll__wrap {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 0;
  grid-row-gap: 0;
  z-index: 2;
  animation: infinity-scroll-left 45s infinite linear 0.5s both;
}
.community-roll__item {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 2vw;
  grid-row-gap: 0;
}
.community-roll__item img {
  width: 29vw;
  aspect-ratio: 29/20;
}
@media screen and (max-width: 767px) {
  .community-roll__item img {
    width: 58vw;
  }
}

.company.page-grid {
  border-bottom: solid 1px #EBEBEB;
}
.company.page-grid::before {
  border-top: solid 1px #EBEBEB;
}
.company.page-grid::after {
  border-bottom: unset;
}
.company.page-grid .ttl-wrap {
  grid-area: auto/1/auto/7;
}
.company.page-grid .ttl-wrap h3 {
  border-bottom: unset;
}
.company.page-grid .ttl-wrap h3::before {
  content: "";
  width: 100vw;
  border-top: solid 1px #EBEBEB;
  position: absolute;
  top: 0;
  left: -8.3333333333vw;
  z-index: -1;
}
.company.page-grid .ttl-wrap dl {
  grid-area: auto/1/auto/7;
}
.company.page-grid .ttl-wrap dl div {
  grid-area: auto/1/auto/13;
  border-bottom: solid 1px #EBEBEB;
}
.company.page-grid .ttl-wrap dl div dt,
.company.page-grid .ttl-wrap dl div dd {
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 1.066vw;
  line-height: 1.25;
}
.company.page-grid .ttl-wrap dl div dt {
  grid-area: auto/1/auto/4;
  font-weight: 500;
}
.company.page-grid .ttl-wrap dl div dd {
  grid-area: auto/4/auto/13;
}
@media screen and (max-width: 959px) {
  .company.page-grid .ttl-wrap dl div dt,
  .company.page-grid .ttl-wrap dl div dd {
    font-size: clamp(1.2rem, 1.459vw, 1.4rem);
  }
}
@media screen and (max-width: 480px) {
  .company.page-grid .ttl-wrap dl div dt,
  .company.page-grid .ttl-wrap dl div dd {
    grid-area: auto/1/auto/13;
  }
}
.company.page-grid .ttl-wrap a {
  grid-area: auto/1/auto/7;
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px rgba(235, 235, 235, 0.2);
  font-family: YakuHanJP, "Noto Sans", sans-serif;
}
.company.page-grid .ttl-wrap a:hover p + .btn-link {
  background: #fff;
}
.company.page-grid .ttl-wrap a:hover p + .btn-link svg path {
  fill: #262626;
}
@media screen and (max-width: 767px) {
  .company.page-grid .ttl-wrap {
    grid-area: 1/1/1/13;
  }
  .company.page-grid .ttl-wrap a {
    border-bottom: solid 1px #EBEBEB;
  }
}
.company.page-grid .img-cover {
  grid-area: 1/7/1/13;
  border-left: solid 1px #EBEBEB;
}
@media screen and (max-width: 767px) {
  .company.page-grid .img-cover {
    margin-top: 1.5rem;
    padding: 0;
    grid-area: 2/1/2/13;
  }
}

.contact {
  grid-area: 1/1/1/13;
  border-top: solid 1px rgba(235, 235, 235, 0.2);
  border-bottom: solid 1px rgba(235, 235, 235, 0.2);
}
.contact .ttl-wrap {
  grid-area: 1/2/1/7;
  border-bottom: unset;
}
.contact .ttl-wrap .ttl {
  border-bottom: unset;
}
.contact .ttl-wrap .ttl-sub {
  color: #E60012;
}
.contact .ttl-wrap .ttl-sub + span {
  color: #fff;
}
.contact .text-wrap {
  grid-area: 1/7/1/12;
}
.contact .text-wrap::before {
  content: "";
  height: calc(100% + min(20rem, 13.333vw));
  display: block;
  border-left: solid 1px rgba(235, 235, 235, 0.2);
  position: absolute;
  top: calc(min(10rem, 6.667vw) * -1);
  left: 0;
}
.contact .text-wrap p {
  color: #fff;
}
.contact .text-wrap .btn-wrap {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: auto;
  grid-column-gap: 1vw;
  grid-row-gap: 0;
}
.contact .text-wrap .btn-wrap a {
  height: min(7.5rem, 5vw);
  font-family: YakuHanJP, "Noto Sans", sans-serif;
}
.contact .text-wrap .btn-wrap a:first-child {
  grid-area: 1/1/1/7;
}
.contact .text-wrap .btn-wrap a:last-child {
  grid-area: 1/7/1/13;
  transition: opacity 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.contact .text-wrap .btn-wrap a:last-child:hover {
  opacity: 0.6;
}
@media screen and (max-width: 1024px) {
  .contact .text-wrap {
    grid-area: 1/7/1/12;
  }
  .contact .text-wrap .btn-wrap {
    grid-row-gap: 0.7rem;
  }
  .contact .text-wrap .btn-wrap a {
    height: 5rem;
  }
  .contact .text-wrap .btn-wrap a:first-child {
    grid-area: 1/1/1/13;
  }
  .contact .text-wrap .btn-wrap a:last-child {
    grid-area: 2/1/2/13;
  }
}
@media screen and (max-width: 959px) {
  .contact .text-wrap::before {
    height: calc(100vw - min(16rem, 16.684vw));
    top: calc(min(8rem, 8.342vw) * -1);
  }
}
@media screen and (max-width: 767px) {
  .contact .ttl-wrap {
    grid-area: 1/2/1/12;
  }
  .contact .ttl-wrap .ttl {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .contact .text-wrap {
    padding-top: 0;
    grid-area: 2/2/2/12;
  }
  .contact .text-wrap::before {
    display: none;
  }
  .contact .text-wrap .btn-wrap a:first-child {
    grid-area: 1/1/1/7;
  }
  .contact .text-wrap .btn-wrap a:last-child {
    grid-area: 1/7/1/13;
  }
}
@media screen and (max-width: 480px) {
  .contact .text-wrap .btn-wrap a:first-child {
    grid-area: 1/1/1/13;
  }
  .contact .text-wrap .btn-wrap a:last-child {
    grid-area: 2/1/2/13;
  }
}

.aioseo-breadcrumbs {
  grid-area: 1/2/1/12;
  display: flex;
  align-items: flex-end;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  z-index: 1;
}
.aioseo-breadcrumb {
  padding-right: 0.5rem;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
}
.aioseo-breadcrumb a {
  transition: opacity 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.aioseo-breadcrumb a:hover {
  opacity: 0.6;
}
.aioseo-breadcrumb:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.aioseo-breadcrumb-separator {
  padding: 0 0.5rem 0.15rem 0;
  font-family: YakuHanJP, "Noto Sans", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1;
}

.page-grid__sub {
  grid-area: auto/2/auto/12;
  border-bottom: solid 1px #EBEBEB;
}
.page-grid__sub:first-child {
  border-top: solid 1px #EBEBEB;
}
.page-grid__sub h2 {
  height: 100%;
  padding: 0 0 0 0.9rem;
  font-size: 2.8rem;
  position: relative;
  display: block;
  max-height: -moz-fit-content;
  max-height: fit-content;
  min-height: -moz-fit-content;
  min-height: fit-content;
}
.page-grid__sub h2::before {
  content: "";
  width: 0.2rem;
  height: inherit;
  background: #E60012;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .page-grid__sub h2 {
    padding: 0.35rem 0 0.5rem 0.9rem;
    font-size: clamp(2.2rem, 3.65vw, 2.8rem);
  }
}
.page-ttl {
  height: 100%;
  margin: 32rem 0 9.2rem 0;
  grid-area: 1/2/1/12;
}
.page-ttl__sub {
  font-family: YakuHanJP, "Lato";
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1;
  color: #E60012;
}
@media screen and (max-width: 959px) {
  .page-ttl {
    height: auto;
    margin: 28.77vw 0 9.2rem 0;
  }
}
@media screen and (max-width: 767px) {
  .page-ttl {
    margin: max(16rem, 28.68vw) 0 11.994vw 0;
  }
}

.purpose .page-grid__sub:first-child h2 {
  border-top: unset;
}
.purpose h2 {
  height: -moz-fit-content;
  height: fit-content;
  border-top: solid 1px #EBEBEB;
}
.purpose .ttl {
  padding: 0;
  display: flex;
  font-size: 2.666vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.023em;
  border-bottom: solid 1px #EBEBEB;
}
.purpose .ttl::before {
  content: "";
  display: none;
}
.purpose .ttl-sub {
  font-family: YakuHanJP, "Lato";
  font-size: 0.8vw;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  color: #E60012;
}
@media screen and (max-width: 959px) {
  .purpose .ttl {
    font-size: clamp(2.4rem, 3.336vw, 3.2rem);
  }
  .purpose .ttl-sub {
    font-size: 1rem;
  }
}
.purpose h3 {
  line-height: 1.583;
  border-top: solid 1px #EBEBEB;
}
.purpose h3 .accent {
  font-weight: 600;
  line-height: 1.35;
  color: #fff;
  background: #E60012;
}
.purpose .solution h3 {
  height: 0;
}
.purpose .solution-img {
  width: 73.333vw;
  aspect-ratio: 1100/653;
  margin: 0 0 auto auto;
  position: relative;
  z-index: -2;
}
.purpose .solution-img img {
  width: 73.333vw;
}
@media screen and (max-width: 767px) {
  .purpose .solution h3 {
    height: auto;
  }
  .purpose .solution-img {
    width: 100%;
  }
  .purpose .solution-img img {
    width: 100%;
    padding: 3rem 1rem 1rem 1rem;
  }
}
.purpose .history p:nth-child(2) {
  border-top: solid 1px #EBEBEB;
}
.purpose .history p:nth-child(4) {
  border-bottom: solid 1px #EBEBEB;
}
.purpose .history-img {
  border-top: solid 1px #EBEBEB;
}
.purpose .strong {
  border-bottom: unset;
}
.purpose .strong h3 {
  font-size: max(2vw, 3rem);
}
@media screen and (max-width: 959px) {
  .purpose .strong h3 {
    font-size: clamp(2.2rem, 3.128vw, 3rem);
  }
}
.purpose .strong h3 + p {
  border-bottom: solid 1px #EBEBEB;
}
.purpose .strong-list__item {
  grid-area: auto/1/auto/13;
  border-top: solid 1px #EBEBEB;
}
.purpose .strong-list__item:nth-child(even) {
  flex-direction: row-reverse;
}
.purpose .strong-list__item h4 {
  font-size: max(1.46vw, 2.2rem);
}
.purpose .strong-list__item img {
  width: 47.6%;
  aspect-ratio: 17/10;
}
.purpose .strong-list__item h3 {
  width: 100%;
  grid-area: auto/1/auto/13;
  border-top: unset;
}
.purpose .strong-list__item p {
  font-size: clamp(1.2rem, 1.0667vw, 1.6rem);
}
.purpose .strong-list__item a:hover p + .btn-list {
  background: #fff;
}
.purpose .strong-list__item a:hover p + .btn-list svg path {
  fill: #262626;
}
@media screen and (max-width: 959px) {
  .purpose .strong-list__item {
    flex-direction: column;
  }
  .purpose .strong-list__item div {
    padding-right: 0;
    padding-left: 0;
  }
  .purpose .strong-list__item:nth-child(even) {
    flex-direction: column;
  }
  .purpose .strong-list__item h4 {
    font-size: clamp(1.8rem, 2.294vw, 2.2rem);
  }
  .purpose .strong-list__item img {
    width: 100%;
  }
  .purpose .strong-list__item h3 {
    margin: 1rem 0 2rem;
  }
}

.p-news .list {
  grid-area: auto/2/auto/12;
}
.p-news .list-item {
  grid-area: auto/1/auto/13;
  padding: min(2.667vw, 4rem) min(3rem, 2vw);
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.p-news .list-item:hover {
  background: rgba(38, 38, 38, 0.04);
}
.p-news .list-item:hover .btn-list {
  background: #fff;
}
.p-news .list-item:hover .btn-list svg path {
  fill: #262626;
}
.p-news .list-item dt,
.p-news .list-item dd {
  font-size: clamp(1.4rem, 1.6684vw, 1.6rem);
  line-height: 1;
  letter-spacing: 0.023em;
}
@media screen and (max-width: 767px) {
  .p-news .list-item dt,
  .p-news .list-item dd {
    font-size: clamp(1.2rem, 1.822vw, 1.4rem);
  }
}
.p-news .list-item dt {
  padding: 0 min(3rem, 2vw) 0 0;
  font-family: YakuHanJP, "Lato";
  font-weight: 500;
}
.p-news .list-item dd {
  width: 100%;
}
.p-news .list-item dd p {
  grid-area: 1/1/1/12;
  width: 56.867vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.p-news .list-item dd .btn-list {
  grid-area: 1/12/1/13;
}
@media screen and (max-width: 480px) {
  .p-news .list-item dd p {
    width: auto;
  }
}
.p-news-item__fixed {
  background: #EBEBEB;
}
.p-news__detail a {
  text-decoration: underline;
  transition: opacity 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.p-news__detail a:hover {
  opacity: 0.6;
}

.archive.main-cont__grid.supervise {
  border-bottom: unset;
}
.archive.main-cont__grid h2 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.archive-left {
  grid-area: auto/2/auto/7;
  align-self: flex-start;
  border-bottom: unset !important;
}
@media screen and (max-width: 767px) {
  .archive-left {
    grid-area: auto/2/auto/12;
  }
}
.archive-slide {
  width: 100%;
  grid-area: auto/1/auto/13;
}
.archive-slide .swiper-wrapper {
  grid-column-gap: 0 !important;
}
.archive-slide img {
  aspect-ratio: 305/172;
  -o-object-fit: contain;
     object-fit: contain;
  background: #EBEBEB;
}
.archive-map {
  width: 100%;
  grid-area: auto/1/auto/13;
}
.archive-map iframe {
  width: 100%;
  aspect-ratio: 61/34;
}
.archive-mov {
  margin: 0 auto;
  border-bottom: unset;
}
.archive-mov__ttl {
  border-top: solid 1px #EBEBEB;
}
.archive-mov .page-grid__sub p {
  border-top: solid 1px #EBEBEB;
}
.archive-mov .page-grid__sub .archive-mov__wrap {
  margin: 0 auto;
  padding: 2rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.archive-mov .page-grid__sub .archive-mov__wrap video {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  max-height: 50dvh;
  background: #262626;
}
.archive .swiper-container {
  width: 100%;
  overflow: hidden;
}
.archive .swiper-container.slider-thumbnail {
  height: auto;
}
.archive .swiper-container.slider-thumbnail .swiper-wrapper .swiper-slide {
  height: 100%;
  opacity: 0.5;
}
.archive .swiper-container.slider-thumbnail .swiper-wrapper .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
}
.archive-right {
  grid-area: auto/7/auto/12;
  border-bottom: unset !important;
}
.archive-right::before {
  content: "";
  height: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  border-left: solid 1px #EBEBEB;
}
@media screen and (max-width: 767px) {
  .archive-right {
    grid-area: auto/2/auto/12;
  }
}
.archive-info {
  height: -moz-fit-content;
  height: fit-content;
  grid-area: auto/1/auto/13;
}
.archive-info__ttl {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  font-size: clamp(1.4rem, 1.2vw, 1.8rem);
  font-weight: 600;
  line-height: 1;
  background: rgba(38, 38, 38, 0.04);
  grid-area: 1/1/1/13;
  border-top: solid 1px #EBEBEB;
}
.archive-info__list {
  grid-area: auto/1/auto/13;
  overflow-wrap: break-word;
  word-break: break-word;
}
.archive-info__list__item {
  padding-top: clamp(1rem, 1.333vw, 2rem);
  padding-bottom: clamp(1rem, 1.333vw, 2rem);
  align-items: center;
  grid-area: auto/1/auto/13;
  font-size: clamp(1.2rem, 0.933vw, 1.4rem);
  line-height: 1.57;
  border-bottom: solid 1px #EBEBEB;
}
.archive-info__list__item:last-child {
  border-bottom: unset;
}
.archive-info__list__item dt {
  grid-area: auto/1/auto/4;
  text-align: center;
}
.archive-info__list__item dd {
  grid-area: auto/4/auto/13;
}
.archive-info__list__item dd.price {
  font-size: 157%;
}
.archive-info__list__item dd.blank-tab {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.8rem;
  line-height: 1;
  background: #262626;
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 480px) {
  .archive-info__list__item {
    gap: 0.75rem;
  }
  .archive-info__list__item dt {
    grid-area: auto/1/auto/13;
    text-align: left;
  }
  .archive-info__list__item dd {
    grid-area: auto/1/auto/13;
  }
}
.archive.area-grid {
  border-bottom: unset;
}
.archive.trank-parcel p {
  font-size: clamp(1.2rem, 0.9333vw, 1.4rem);
  line-height: 1;
  border-top: solid 1px #EBEBEB;
}
.archive-table {
  grid-area: auto/1/auto/13;
}
.archive-table__wrap {
  width: 100%;
}
.archive-table__wrap tr {
  font-size: clamp(1.2rem, 0.933vw, 1.4rem);
  line-height: 1;
  letter-spacing: 0.023em;
}
.archive-table__wrap tr th {
  width: 16.6666666667%;
  padding: 1em 0;
  text-align: center;
  background: #262626;
  border-right: solid 1px #EBEBEB;
  color: #fff;
}
.archive-table__wrap tr th:last-child {
  border-right: unset;
}
.archive-table__wrap tr th span {
  font-size: 1rem;
  vertical-align: middle;
  color: #fff;
}
.archive-table__wrap tr td {
  padding: 1em 0;
  text-align: center;
  border: solid 1px #EBEBEB;
  border-left: unset;
}
.archive-table__wrap tr td:first-child {
  background: #262626;
  color: #fff;
}
.archive-table__wrap tr td:last-child {
  border-right: unset;
}
@media screen and (max-width: 767px) {
  .archive-table {
    overflow: scroll hidden;
  }
  .archive-table__wrap tr td {
    min-width: 15rem;
  }
}
.archive-prev {
  border-top: solid 1px #EBEBEB;
}
.archive-prev a {
  width: 100%;
  margin: 0 auto;
  grid-area: 1/2/1/12;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.archive-prev a::after {
  content: "";
  width: 100vw;
  display: block;
  position: absolute;
  bottom: 0;
  left: -8.3333333333vw;
  border-bottom: solid 1px #EBEBEB;
}
.archive-prev a:hover .btn-link {
  background: #fff;
}
.archive-prev a:hover .btn-link svg path {
  fill: #262626;
}
.archive .icon {
  grid-area: auto/1/auto/13;
  border-top: solid 1px #EBEBEB;
}
.archive .icon-list__item {
  width: 14.96%;
  margin: 0 min(1.5rem, 1vw) 0 0;
  background: #262626;
}
.archive .icon-list__item img {
  width: -moz-fit-content;
  width: fit-content;
}
.archive .icon-list__item span {
  text-align: center;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.023em;
  color: #fff;
}
@media screen and (max-width: 959px) {
  .archive .icon-list__item {
    width: 14.96%;
    margin: 0 0.5rem 0 0;
  }
  .archive .icon-list__item img {
    height: clamp(3.8rem, 6.256vw, 6rem);
  }
  .archive .icon-list__item span {
    font-size: clamp(1rem, 1.4598vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .archive .icon-list {
    flex-wrap: wrap;
  }
  .archive .icon-list__item {
    width: calc(33.3333333333% - 0.35rem);
  }
  .archive .icon-list__item:nth-child(3) {
    margin-right: 0;
  }
  .archive .icon-list__item:nth-child(4), .archive .icon-list__item:nth-child(5) {
    margin-top: 0.5rem;
  }
}

.operate h2,
.p-community h2 {
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px #EBEBEB;
}
.operate-img,
.p-community-img {
  border-top: solid 1px #EBEBEB;
}
.operate-img.thr.last,
.p-community-img.thr.last {
  border-bottom: solid 1px #EBEBEB;
}
.operate-img.thr img,
.p-community-img.thr img {
  width: calc(33.3333333333% - 1.75rem);
}
@media screen and (max-width: 480px) {
  .operate-img.thr,
  .p-community-img.thr {
    flex-direction: column;
  }
  .operate-img.thr img,
  .p-community-img.thr img {
    width: 100%;
    margin-bottom: 1rem;
  }
  .operate-img.thr img:last-child,
  .p-community-img.thr img:last-child {
    margin-bottom: 0;
  }
}
.operate-text,
.p-community-text {
  border-top: solid 1px #EBEBEB;
}
.operate-text__sec,
.p-community-text__sec {
  border-bottom: solid 1px #EBEBEB;
}
.operate .introduction-garden__img,
.p-community .introduction-garden__img {
  border-top: solid 1px #EBEBEB;
  grid-area: auto/1/auto/13;
  grid-column-gap: 2vw;
}
.operate .btn,
.p-community .btn {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.1rem 0;
}
.operate .btn p:hover + .btn-link,
.p-community .btn p:hover + .btn-link {
  background: #fff;
}
.operate .btn p:hover + .btn-link svg path,
.p-community .btn p:hover + .btn-link svg path {
  fill: #262626;
}
.operate .btn::before, .operate .btn::after,
.p-community .btn::before,
.p-community .btn::after {
  content: "";
  width: 83.3333333333vw;
  margin: auto;
  position: absolute;
  left: 0;
}
.operate .btn::before,
.p-community .btn::before {
  top: 0;
  border-top: solid 1px #EBEBEB;
}
.operate .btn::after,
.p-community .btn::after {
  bottom: 0;
  border-bottom: solid 1px #EBEBEB;
}

.p-community-text {
  border-bottom: solid 1px #EBEBEB;
}
.p-community-text__sec {
  border-top: solid 1px #EBEBEB;
}
.p-community__sec h2 {
  border-top: unset;
}
.p-community__sec p {
  border-bottom: unset;
}
.p-community__sec p.p-community-text__sec {
  border-top: unset;
  border-bottom: solid 1px #EBEBEB;
}

.p-business .page-grid__sub:nth-child(2) {
  border-top: solid 1px #EBEBEB;
}
.p-business .page-grid__sub:nth-last-child(2n+1) {
  border-top: solid 1px #EBEBEB;
}
.p-business h2 {
  border-bottom: solid 1px #EBEBEB;
}
.p-business h2 + p {
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px #EBEBEB;
}
.p-business-list {
  flex-wrap: wrap;
  padding: clamp(1rem, 1vw, 1.5rem) 0;
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px #EBEBEB;
}
.p-business-list__item {
  width: calc(33.3333333333% - clamp(1rem, 1.2vw, 1.8rem) / 1.5);
  margin-right: clamp(1rem, 1.2vw, 1.8rem);
}
.p-business-list__item:nth-child(n+3) {
  margin-right: 0;
}
.p-business-list__item:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-business-list__item {
    width: calc(50% - clamp(1rem, 1.2vw, 1.8rem));
  }
  .p-business-list__item:nth-child(n+3) {
    margin-right: 1rem;
  }
  .p-business-list__item:nth-child(n+2) {
    margin-right: 0;
  }
}
@media screen and (max-width: 480px) {
  .p-business-list__item {
    width: 100%;
    margin-right: 0 !important;
  }
}
.p-business-list__item ul li {
  padding: 0 0 0 1rem;
  font-size: clamp(1.4rem, 1.6684vw, 1.6rem);
  line-height: 1.75;
  letter-spacing: 0.023em;
  position: relative;
}
.p-business-list__item ul li::before {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  margin: auto;
  background: #E60012;
  position: absolute;
  top: 0.7em;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-business-list__item ul li {
    font-size: clamp(1.2rem, 1.822vw, 1.4rem);
  }
}
.p-business .btn {
  width: -moz-fit-content;
  width: fit-content;
}
.p-business .btn::before, .p-business .btn::after {
  content: "";
  width: 83.3333333333vw;
  margin: auto;
  position: absolute;
  left: 0;
}
.p-business .btn::before {
  top: 0;
  border-top: solid 1px #EBEBEB;
}
.p-business .btn::after {
  bottom: 0;
  border-bottom: solid 1px #EBEBEB;
}

.architecture .page-grid__sub:first-child h2 {
  border-top: unset;
  border-bottom: solid 1px #EBEBEB;
}
.architecture h2 {
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px #EBEBEB;
}
.architecture-list {
  flex-wrap: wrap;
  border-top: solid 1px #EBEBEB;
}
.architecture-list img {
  width: calc(50% - clamp(0.75rem, 1vw, 1.5rem));
  aspect-ratio: 17/10;
  margin-bottom: clamp(1.5rem, 2vw, 3rem);
}
.architecture-list img:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 600px) {
  .architecture-list img {
    width: 100%;
    margin-bottom: 1rem;
  }
}

.company .list,
.recruit .list {
  border-top: solid 1px #EBEBEB;
  grid-area: auto/2/auto/12;
}
.company .list-item,
.recruit .list-item {
  grid-area: auto/1/auto/13;
  white-space: wrap;
}
@media screen and (max-width: 767px) {
  .company .list-item,
  .recruit .list-item {
    height: auto;
  }
}
.company .list-item dt,
.company .list-item dd,
.recruit .list-item dt,
.recruit .list-item dd {
  padding-top: min(2rem, 1.333vw);
  padding-bottom: min(2rem, 1.333vw);
  font-size: clamp(1.4rem, 1.6684vw, 1.6rem);
  line-height: 2;
  letter-spacing: 0.023em;
}
@media screen and (max-width: 767px) {
  .company .list-item dt,
  .company .list-item dd,
  .recruit .list-item dt,
  .recruit .list-item dd {
    font-size: clamp(1.2rem, 1.822vw, 1.4rem);
  }
}
.company .list-item dt,
.recruit .list-item dt {
  display: flex;
  align-items: center;
  grid-area: auto/1/auto/4;
}
.company .list-item dt.ga-full,
.recruit .list-item dt.ga-full {
  font-weight: normal;
  grid-area: auto/1/auto/13;
}
.company .list-item dd,
.recruit .list-item dd {
  grid-area: auto/4/auto/13;
  line-height: 1.5;
}
@media screen and (max-width: 600px) {
  .company .list-item dt,
  .company .list-item dd,
  .recruit .list-item dt,
  .recruit .list-item dd {
    padding-right: 0;
    padding-left: 0;
  }
  .company .list-item dt,
  .recruit .list-item dt {
    grid-area: auto/1/auto/13;
  }
  .company .list-item dd,
  .recruit .list-item dd {
    padding-top: 0;
    grid-area: auto/1/auto/13;
  }
}
.company .list .map,
.recruit .list .map {
  padding: 5rem 1.5rem 1.5rem 1.5rem;
}
.company .list .map iframe,
.recruit .list .map iframe {
  aspect-ratio: 305/172;
  grid-area: auto/1/auto/13;
}
@media screen and (max-width: 600px) {
  .company .list .map iframe,
  .recruit .list .map iframe {
    aspect-ratio: 1/1;
  }
}

.recruit .page-grid__sub h3 {
  padding: 1rem 0 1rem min(3rem, 2vw);
  background: rgba(38, 38, 38, 0.04);
}
@media screen and (max-width: 959px) {
  .recruit .page-grid__sub h3 {
    padding: 1rem 0 1rem clamp(2rem, 3.128vw, 3rem);
  }
}
@media screen and (max-width: 600px) {
  .recruit .page-grid__sub h3 {
    padding: 1rem 0;
  }
}
.recruit .page-grid__sub h3.brd-t {
  border-top: solid 1px #EBEBEB;
}
.recruit-link__inset {
  height: 7.7rem !important;
  align-items: center;
  border-right: solid 1px #EBEBEB;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.recruit-link__inset:hover {
  background: #262626;
}
.recruit-link__inset:hover p {
  color: #fff;
}
.recruit-link__inset:hover .btn-list {
  border: solid 1px #fff;
}
.recruit-link__inset:hover .btn-list svg path {
  fill: #fff;
}
@media screen and (max-width: 600px) {
  .recruit-link__inset {
    width: 50%;
    height: clamp(4.8rem, 8.029vw, 7.7rem) !important;
    justify-content: space-between;
  }
}

.rule h2,
.cookie h2,
.privacypolicy h2 {
  height: auto;
  padding: 0;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 0.023em;
  border-top: solid 1px #EBEBEB;
}
.rule h2::before,
.cookie h2::before,
.privacypolicy h2::before {
  content: "";
  display: none;
}
.rule h3,
.cookie h3,
.privacypolicy h3 {
  border-top: solid 1px #EBEBEB;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .rule h2,
  .cookie h2,
  .privacypolicy h2 {
    font-size: clamp(1.8rem, 2.868vw, 2.2rem);
  }
  .rule h3,
  .cookie h3,
  .privacypolicy h3 {
    font-size: clamp(1.6rem, 2.346vw, 1.8rem);
  }
}
@media screen and (max-width: 480px) {
  .rule h2,
  .cookie h2,
  .privacypolicy h2 {
    font-size: clamp(1.6rem, 3.75vw, 1.8rem);
  }
  .rule h3,
  .cookie h3,
  .privacypolicy h3 {
    font-size: clamp(1.4rem, 3.333vw, 1.6rem);
  }
}

.pagination {
  border-top: solid 1px #EBEBEB;
}
.pagination .page-numbers {
  display: none;
}
.pagination .page-numbers svg path {
  fill: #fff;
}
.pagination .prev {
  display: flex;
  justify-content: center;
  padding: 3rem 0;
  grid-area: 1/1/1/2;
  background: #262626;
  border-right: solid 1px #EBEBEB;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.pagination .prev svg {
  transform: rotate3d(0, 180, 0, 180deg);
}
.pagination .prev:hover {
  background: #E60012;
}
.pagination .current {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-area: 1/6/1/8;
  font-size: clamp(1.4rem, 1.6684vw, 1.6rem);
  line-height: 1;
  letter-spacing: 0;
}
.pagination .next {
  display: flex;
  justify-content: center;
  padding: 3rem 0;
  grid-area: 1/12/1/13;
  background: #262626;
  border-left: solid 1px #EBEBEB;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.pagination .next:hover {
  background: #E60012;
}
@media screen and (max-width: 600px) {
  .pagination .prev {
    width: 4rem;
    padding: clamp(2rem, 3.128vw, 3rem) 0;
  }
  .pagination .next {
    width: 4rem;
    padding: clamp(2rem, 3.128vw, 3rem) 0;
  }
}

.property .page-grid__sub:first-child,
.download .page-grid__sub:first-child {
  border-top: unset;
}
.property h2,
.download h2 {
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px #EBEBEB;
}
.property-list,
.download-list {
  flex-wrap: wrap;
}
.property-list__item,
.download-list__item {
  width: 50%;
  height: auto;
  border-top: solid 1px #EBEBEB;
}
.property-list__item:nth-child(odd),
.download-list__item:nth-child(odd) {
  border-right: solid 1px #EBEBEB;
}
.property-list__item a,
.download-list__item a {
  width: 100%;
  font-size: clamp(1.4rem, 1.2vw, 1.8rem);
  line-height: 1;
  letter-spacing: 0.023em;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.property-list__item a.none,
.download-list__item a.none {
  pointer-events: none !important;
  opacity: 0.6 !important;
}
.property-list__item a .btn-list svg,
.download-list__item a .btn-list svg {
  top: 0;
}
.property-list__item a:hover,
.download-list__item a:hover {
  background: rgba(38, 38, 38, 0.04);
}
.property-list__item a:hover .btn-list,
.download-list__item a:hover .btn-list {
  background: #fff;
}
@media screen and (max-width: 767px) {
  .property-list__item,
  .download-list__item {
    width: 100%;
  }
  .property-list__item:nth-child(odd),
  .download-list__item:nth-child(odd) {
    border-right: unset;
  }
  .property-list__item a,
  .download-list__item a {
    line-height: 1.25;
  }
}
.property-img img,
.download-img img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.property-address,
.download-address {
  border-top: solid 1px #EBEBEB;
}
.property-address p:first-child,
.download-address p:first-child {
  grid-area: 1/1/1/2;
}
.property-address p:last-child,
.download-address p:last-child {
  grid-area: 1/2/1/13;
}
@media screen and (max-width: 959px) {
  .property-address p:first-child,
  .download-address p:first-child {
    grid-area: 1/1/1/13;
  }
  .property-address p:last-child,
  .download-address p:last-child {
    grid-area: 2/1/2/13;
  }
}
.property-ttl,
.download-ttl {
  width: 100%;
  height: 4.7rem;
  background: #EBEBEB;
  text-align: center;
  font-weight: 500;
  font-size: clamp(1.4rem, 1.2vw, 1.8rem);
  line-height: 1.333;
  letter-spacing: 0.023em;
}
.property-ttl span,
.download-ttl span {
  font-size: clamp(1rem, 0.8vw, 1.2rem);
}
.property-accordion__summary,
.download-accordion__summary {
  cursor: pointer;
}
.property-accordion__summary .open,
.download-accordion__summary .open {
  width: 3rem;
  height: 3rem;
  border: solid 1px #262626;
  border-radius: 50%;
  position: absolute;
  right: min(3.4rem, 2.2666vw);
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.property-accordion__summary .open::before, .property-accordion__summary .open::after,
.download-accordion__summary .open::before,
.download-accordion__summary .open::after {
  content: "";
  width: 0.9rem;
  height: 0.1rem;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #262626;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.property-accordion__summary .open::after,
.download-accordion__summary .open::after {
  transform: rotate(90deg);
}
@media screen and (max-width: 959px) {
  .property-accordion__summary .open,
  .download-accordion__summary .open {
    width: clamp(2rem, 3.128vw, 3rem);
    height: clamp(2rem, 3.128vw, 3rem);
    right: clamp(1rem, 3.545vw, 3.4rem);
  }
  .property-accordion__summary .open::before, .property-accordion__summary .open::after,
  .download-accordion__summary .open::before,
  .download-accordion__summary .open::after {
    width: 0.7rem;
  }
}
.property-accordion__summary[open],
.download-accordion__summary[open] {
  height: auto;
}
.property-accordion__summary:hover .open,
.download-accordion__summary:hover .open {
  background: #262626;
}
.property-accordion__summary:hover .open::before, .property-accordion__summary:hover .open::after,
.download-accordion__summary:hover .open::before,
.download-accordion__summary:hover .open::after {
  background: #fff;
}
.property-accordion__summary:hover .open::after,
.download-accordion__summary:hover .open::after {
  transform: rotate(0deg);
}

.notfound p {
  width: 100%;
  grid-area: auto/1/auto/13;
  border-bottom: solid 1px #EBEBEB;
}
.notfound__btn {
  grid-area: auto/1/auto/13;
  border-top: solid 1px #EBEBEB;
}
.notfound__btn a {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 0 0;
  grid-area: auto/2/auto/12;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.notfound__btn a p {
  width: -moz-fit-content;
  width: fit-content;
  border-top: unset;
  border-bottom: unset;
}
.notfound__btn a p:hover + .btn-link {
  background: #262626;
}
.notfound__btn a p:hover + .btn-link svg path {
  fill: #fff;
}

.password-form-container {
  width: 100%;
  height: 100vh;
  padding: 7.333vw 0 0 0 !important;
  background: url(/asset/images/top/mv.webp) no-repeat;
  background-size: cover;
}
.password-form-container .post-password-form {
  width: 40rem;
  height: 100%;
  margin: 0 0 0 auto;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px #EBEBEB;
  position: relative;
}
.password-form-container .post-password-form::before, .password-form-container .post-password-form::after {
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
}
.password-form-container .post-password-form::before {
  border-right: solid 1px #EBEBEB;
  right: 2rem;
}
.password-form-container .post-password-form::after {
  border-left: solid 1px #EBEBEB;
  left: 2rem;
}
.password-form-container .post-password-form p {
  font-size: 1.2rem;
  text-align: left;
  line-height: 1.5;
  border-top: solid 1px #EBEBEB;
  border-bottom: solid 1px #EBEBEB;
}
.password-form-container .post-password-form p > label {
  width: 100%;
  display: flex;
  margin: 2rem 0 0 0;
  align-items: center;
  white-space: nowrap;
}
.password-form-container .post-password-form-invalid-password + p, .password-form-container .post-password-form-invalid-password > p {
  font-weight: bold;
}
.password-form-container .post-password-form-invalid-password > p {
  margin: 0 0 2rem 0;
  color: #E60012;
}
.password-form-container .post-password-form p:last-child {
  margin: 2rem 0 0 0;
}
.password-form-container .post-password-form p:nth-last-child(2) {
  margin: 2rem 0 0 0;
}
.password-form-container .post-password-form [type=submit] {
  width: 100%;
  margin: 2rem auto;
  display: flex;
  padding: 0.8rem 0;
  text-align: center;
  font-size: 1.4rem;
  background: #262626;
  border: solid 1px #262626;
  color: #fff;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.password-form-container .post-password-form [type=submit]:hover {
  background: #fff;
  color: #262626;
}
.password-form-container .post-password-form [name=post_password] {
  width: 100%;
  padding: 1rem 0.5rem;
  margin: 1rem 0 1rem 0.5rem;
  border: solid 1px #262626;
  letter-spacing: 0.25em;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .password-form-container .post-password-form {
    width: 50%;
    padding: clamp(1rem, 2.5vw, 2rem);
  }
  .password-form-container .post-password-form::before {
    right: clamp(1rem, 2.5vw, 2rem);
  }
  .password-form-container .post-password-form::after {
    left: clamp(1rem, 2.5vw, 2rem);
  }
  .password-form-container .post-password-form p > label {
    flex-direction: column;
    align-items: flex-start;
    margin: clamp(1rem, 2.5vw, 2rem) 0 0 0;
  }
  .password-form-container .post-password-form-invalid-password > p {
    margin: 0 0 clamp(1rem, 2.5vw, 2rem) 0;
  }
  .password-form-container .post-password-form p:last-child {
    margin: clamp(1rem, 2.5vw, 2rem) 0 0 0;
  }
  .password-form-container .post-password-form p:nth-last-child(2) {
    margin: clamp(1rem, 2.5vw, 2rem) 0 0 0;
  }
  .password-form-container .post-password-form [type=submit] {
    margin: clamp(1rem, 2.5vw, 2rem) auto;
  }
  .password-form-container .post-password-form [name=post_password] {
    margin: 1rem 0 1rem 0;
  }
}
@media screen and (max-width: 480px) {
  .password-form-container .post-password-form {
    width: 100%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 16%, rgb(255, 255, 255) 100%);
  }
}/*# sourceMappingURL=style.css.map */