@charset "UTF-8";

:root {
  --theme-black: #242424;
  --theme-white: #fff;
  --theme-light-gray: #f2f2f2;
  --theme-gray: #787878;
  --theme-dark-gray: #313131;
  --theme-baige: #fad7aa;
  --theme-red: #eb4632;
  --theme-blue: #0869db;
  --theme-green: #c8e6cd;
  --theme-grege: #dccdbe;
  --theme-main-text: var(--theme-black);
  --theme-sub-text: var(--theme-gray);
  --theme-main: var(--theme-baige);
  --theme-accent: var(--theme-red);
  --theme-base: var(--theme-white);
  --theme-base-light-gray: var(--theme-light-gray);
  --theme-base-dark-grey: #606060;
  --theme-base-black: var(--theme-black);
  --theme-border: var(--theme-dark-gray);
  --theme-icon: #ababab;
}

/* ===============================================
# MARK: font - Noto Sans JP - 400/500/600/700
=============================================== */

@font-face {
  font-family: 'NotoSansJP';
  ascent-override: 98%;
  src: url(NotoSansJP-Regular.woff2) format('woff2');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'NotoSansJP';
  ascent-override: 98%;
  src: url(NotoSansJP-Medium.woff2) format('woff2');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'NotoSansJP';
  ascent-override: 98%;
  src: url(NotoSansJP-SemiBold.woff2) format('woff2');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'NotoSansJP';
  ascent-override: 98%;
  src: url(NotoSansJP-Bold.woff2) format('woff2');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'NotoSansJP';
  ascent-override: 98%;
  src: url(NotoSansJP-Black.woff2) format('woff2');
  font-weight: 900;
  font-style: normal;
}

/* ===============================================
# MARK: font - NotoSerifJP - 400/500/600/700
=============================================== */

@font-face {
  font-family: 'NotoSerifJP';
  src: url(NotoSerifJP-Regular.woff2) format('woff2');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'NotoSerifJP';
  src: url(NotoSerifJP-Medium.woff2) format('woff2');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'NotoSerifJP';
  src: url(NotoSerifJP-SemiBold.woff2) format('woff2');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'NotoSerifJP';
  src: url(NotoSerifJP-Bold.woff2) format('woff2');
  font-weight: 700;
  font-style: normal;
}

/* ===============================================
# MARK: font - DMSans - 400/500/600/700
=============================================== */

@font-face {
  font-family: 'DMSans';
  src: url(DMSans-Regular.woff2) format('woff2');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'DMSans';
  src: url(DMSans-Medium.woff2) format('woff2');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'DMSans';
  src: url(DMSans-SemiBold.woff2) format('woff2');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'DMSans';
  src: url(DMSans-Bold.woff2) format('woff2');
  font-weight: 700;
  font-style: normal;
}

:root {
  --baseFont: 'DMSans', 'NotoSansJP', sans-serif;
  --enText: 'DMSans', sans-serif;
  --accentFont: 'NotoSerifJP', sans-serif;
}

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

html {
  /* リキッドレイアウト対応のための設定 */
  font-size: 16px;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-inline-size: 0;
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  font-size: 1.6rem;
  line-height: 1.6;
  font-family: var(--baseFont);
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0em;
  color: var(--theme-main-text);
  position: relative;
}

body.is-fixed {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

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

li {
  list-style: none;
}

img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}

details summary {
  list-style: none;
  cursor: pointer;
}

details summary::-webkit-details-marker {
  display: none;
}

figure {
  margin: 0;
}

picture {
  display: block;
  height: auto;
}

abbr {
  text-decoration: none;
}

pre {
  white-space: pre-wrap;
}

:root {
  --hover-transition: 0.4s ease;
  --hover-opacity: 0.7;
  --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --duration: 0.4s;
  --z-index-header: 10000;
  --z-index-drawer: 10001;
  --z-index-anchor: 10;
}

/* ===============================================
# MARK: l-header
=============================================== */

.l-header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
  padding-block: 0.625rem;
  padding-inline: 0.625rem;
  pointer-events: none;
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-radius: 100vmax;
  padding-block: 0.5rem;
  padding-inline: 0.625rem;
  position: relative;
  z-index: 0;
}

.l-header__inner::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 100vmax;
  background-color: color-mix(in lch, var(--theme-white), transparent 50%);
  -webkit-backdrop-filter: blur(3.125rem);
  backdrop-filter: blur(3.125rem);
  pointer-events: none;
  z-index: -1;
}

.l-header__logo {
  pointer-events: all;
}

.l-header__logoLink {
  display: block;
  width: 9rem;
}

.l-header__nav {
  pointer-events: all;
}

/* ===============================================
# MARK: l-header__littleList
=============================================== */

/* hover */

/* ===============================================
# MARK: l-header__mainList
=============================================== */

.l-header__subArrow {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 0;
  -webkit-transform: translate(0, -50%) rotate(-45deg);
  transform: translate(0, -50%) rotate(-45deg);
  overflow: hidden;
}

.l-header__subArrow::before,
.l-header__subArrow::after {
  content: '';
  position: absolute;
  display: block;
  width: inherit;
  height: inherit;
  background-color: var(--theme-icon);
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.l-header__subArrow::after {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

/* modifier */

/* hover */

.l-header__mainItem--hasMega:hover::after {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

.l-header__mainItem--hasMega:hover .l-header__subItems {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateX(-50%) translateY(0);
  transform: translateX(-50%) translateY(0);
}

/* ===============================================
# MARK: l-header__menuBtn
=============================================== */

.l-header__menuBtn {
  pointer-events: all;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

.l-header__menuText {
  font-size: 1.4rem;
  color: var(--theme-black);
}

.l-header__menuIcon {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: var(--theme-black);
  position: relative;
  z-index: 0;
  border: 0.0625rem solid var(--theme-black);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.25rem;
  -webkit-transition: border var(--hover-transition),
    background-color var(--hover-transition);
  transition: border var(--hover-transition),
    background-color var(--hover-transition);
}

.l-header__menuIcon::before,
.l-header__menuIcon::after {
  content: '';
  display: block;
  width: 1.0625rem;
  height: 0.0625rem;
  background-color: var(--theme-white);
}

/* ===============================================
# MARK: data-header-position
=============================================== */

/* ===============================================
# MARK: l-headerDrawer
=============================================== */

.l-headerDrawer {
  pointer-events: all;
  position: fixed;
  width: 100%;
  z-index: 100;
  height: 100%;
  height: 100vh;
  height: 100dvh;
  top: 0;
  left: 0;
  z-index: var(--z-index-drawer);
  background-color: var(--theme-base-black);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.l-headerDrawer::-webkit-scrollbar {
  display: none;
}

/* open */

.l-header[data-drawer-status='open'] .l-headerDrawer {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.l-headerDrawer__inner {
  padding-block: 0 5.375rem;
  max-width: 30rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}

.l-headerDrawer__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-block: 1.125rem;
  position: sticky;
  z-index: var(--z-index-drawer);
  top: 0;
  left: 0;
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
  background-color: var(--theme-black);
}

.l-headerDrawer__logo {
  -webkit-filter: invert(100%) brightness(100%);
  filter: invert(100%) brightness(100%);
  display: grid;
  place-items: center;
  width: 9rem;
}

.l-headerDrawer__logoLink {
  display: block;
  width: 100%;
  height: 100%;
}

.l-headerDrawer__closeBtn {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  border: 0.0625rem solid var(--theme-white);
  position: relative;
  z-index: 0;
  border-radius: 50%;
}

.l-headerDrawer__closeBtn::before,
.l-headerDrawer__closeBtn::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  height: 0.0625rem;
  width: 1rem;
  background-color: var(--theme-white);
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.l-headerDrawer__closeBtn::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.l-headerDrawer__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.25rem;
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}

.l-headerDrawer__contact {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
}

.l-headerDrawer__contactLink {
  padding-block: 1.5625rem;
  padding-inline: 0.75rem;
  border-radius: 0.25rem;
  display: grid;
  grid-template-areas: 'label arrow';
  grid-template-columns: auto 1.5rem;
  gap: 0.25rem 0;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.l-headerDrawer__contactlabel {
  grid-area: label;
  font-size: 1.4rem;
  font-weight: 600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.l-headerDrawer__contactEnLabel {
  display: none;
  grid-area: enLabel;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 600;
}

.l-headerDrawer__contactArrow {
  grid-area: arrow;
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: 0.0625rem solid var(--theme-black);
  background-color: var(--theme-black);
  position: relative;
  z-index: 0;
  overflow: hidden;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.l-headerDrawer__contactArrow::before,
.l-headerDrawer__contactArrow::after {
  content: '';
  position: absolute;
  display: block;
  width: 0.9375rem;
  height: 0.9375rem;
  background-color: var(--theme-main);
  -webkit-mask: url(icon_arrow_long.svg) no-repeat center/contain;
  mask: url(icon_arrow_long.svg) no-repeat center/contain;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.l-headerDrawer__contactArrow::after {
  -webkit-transform: translateX(-2rem);
  transform: translateX(-2rem);
  background-color: var(--theme-main);
}

/* modifier */

.l-headerDrawer__contactLink.l-headerDrawer__contactLink--modelhouse {
  background-color: #e6dfd8;
}

.l-headerDrawer__contactLink.l-headerDrawer__contactLink--modelhouse
  .l-headerDrawer__contactlabel::before {
  border-radius: 0 0 100% 0;
  background-color: var(--theme-red);
}

.l-headerDrawer__contactLink.l-headerDrawer__contactLink--contact {
  background-color: #fbecd8;
}

.l-headerDrawer__contactLink.l-headerDrawer__contactLink--contact
  .l-headerDrawer__contactlabel::before {
  border-radius: 0 0 100% 0;
  background-color: var(--theme-main);
}

/* hover */

/* ===============================================
# MARK: l-headerDrawer__nav
=============================================== */

.l-headerDrawer__nav {
  display: contents;
}

.l-headerDrawer__navItems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.l-headerDrawer__navRow {
  -webkit-padding-after: 0.75rem;
  padding-block-end: 0.75rem;
  -webkit-border-after: 0.0625rem solid var(--theme-border);
  border-block-end: 0.0625rem solid var(--theme-border);
  display: grid;
  grid-template-columns: min(38.4615384615vw, 11.25rem) 1fr;
}

.l-headerDrawer__navTitle {
  font-size: 1.4rem;
  line-height: 1;
  color: #ababab;
  -webkit-padding-before: 0.25rem;
  padding-block-start: 0.25rem;
}

.l-headerDrawer__navList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}

.l-headerDrawer__navLink {
  font-size: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0.25rem;
  color: var(--theme-white);
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
}

/* ===============================================
# MARK: l-headerDrawer__sns
=============================================== */

.l-headerDrawer__sns {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.5rem;
}

.l-headerDrawer__snsLabel {
  font-size: 1.4rem;
  color: var(--theme-light-gray);
}

.l-headerDrawer__snsitems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.25rem;
}

.l-headerDrawer__snsLink {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  width: auto;
  height: auto;
}

.l-headerDrawer__snsName {
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  color: var(--theme-white);
}

.l-headerDrawer__snsName::after {
  content: '';
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: var(--theme-icon);
  -webkit-mask: url(icon_external.svg) no-repeat center/contain;
  mask: url(icon_external.svg) no-repeat center/contain;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}

/* hover */

/* ===============================================
# MARK: footer
=============================================== */

.l-footer {
  -webkit-margin-before: -3.25rem;
  margin-block-start: -3.25rem;
  padding-block: 9.75rem 3.5rem;
  background-color: var(--theme-black);
  position: relative;
  z-index: 0;
}

.l-footer__pagetop {
  position: absolute;
  top: 5.25rem;
  right: 0;
  border-radius: 0.5rem 0 0 0.5rem;
  background-color: color-mix(in lch, var(--theme-white), transparent 80%);
  padding-block: 1.25rem;
  padding-inline: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.l-footer__pagetopIcon {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.l-footer__pagetopIcon::before,
.l-footer__pagetopIcon::after {
  content: '';
  display: block;
  width: inherit;
  height: inherit;
  background-color: var(--theme-main);
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.l-footer__pagetopIcon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, calc(-50% + 1.5rem)) rotate(-90deg);
  transform: translate(-50%, calc(-50% + 1.5rem)) rotate(-90deg);
}

.l-footer__pagetopText {
  color: var(--theme-main);
  font-size: 1.4rem;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

/* hover */

/* ===============================================
# MARK: l-footer__inner
=============================================== */

.l-footer__inner {
  max-width: 30rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}

.l-footer__logo {
  -webkit-margin-start: -1.25rem;
  margin-inline-start: -1.25rem;
}

.l-footer__logoLink {
  display: block;
  width: 12.875rem;
  -webkit-filter: invert(100%) brightness(100%);
  filter: invert(100%) brightness(100%);
}

/* ===============================================
# MARK: l-footer__nav
=============================================== */

.l-footer__nav {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  -webkit-padding-before: 0.5rem;
  padding-block-start: 0.5rem;
  -webkit-border-before: 0.0625rem solid var(--theme-border);
  border-block-start: 0.0625rem solid var(--theme-border);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
}

.l-footer__navItems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
}

.l-footer__navWrap {
  -webkit-padding-after: 0.75rem;
  padding-block-end: 0.75rem;
  -webkit-border-after: 0.0625rem solid var(--theme-border);
  border-block-end: 0.0625rem solid var(--theme-border);
  display: grid;
  grid-template-columns: min(38.4615384615vw, 11.25rem) 1fr;
  -webkit-box-ordinal-group: var(--_order);
  -ms-flex-order: var(--_order);
  order: var(--_order);
}

.l-footer__navTitle {
  font-size: 1.4rem;
  line-height: 1;
  color: #ababab;
  -webkit-padding-before: 0.25rem;
  padding-block-start: 0.25rem;
}

.l-footer__navContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}

.l-footer__navLink {
  font-size: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0.25rem;
  color: var(--theme-white);
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
}

/* open */

.l-footer__navWrap[data-accordion-status='open'] .l-footer__navTitle::after {
  -webkit-transform: translate(0, -50%) rotate(0deg);
  transform: translate(0, -50%) rotate(0deg);
}

/* hover */

.l-footer__logoLink,
.l-footer__navLink,
.l-footer__snsLink,
.l-footer__policy {
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
}

/* ===============================================
# MARK: l-footer__sns
=============================================== */

.l-footer__sns {
  -webkit-box-ordinal-group: var(--_order);
  -ms-flex-order: var(--_order);
  order: var(--_order);
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  padding-block: 0.75rem;
  padding-inline: 1.25rem;
  background-color: color-mix(in lch, var(--theme-white), transparent 96%);
  border-radius: 0.5rem;
}

.l-footer__snsTitle {
  font-size: 1.6rem;
  font-weight: 600;
  color: #ababab;
}

.l-footer__snsList {
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
}

.l-footer__snsLink {
  font-size: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  color: var(--theme-white);
}

.l-footer__snsLink::before {
  content: '-';
  display: inline-block;
  -webkit-margin-end: 0.5rem;
  margin-inline-end: 0.5rem;
}

.l-footer__snsLink::after {
  content: '';
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  font-size: 1.4rem;
  background-color: var(--theme-icon);
  -webkit-mask: url(icon_external.svg) no-repeat center/contain;
  mask: url(icon_external.svg) no-repeat center/contain;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}

.l-footer__foot {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  -webkit-border-before: 0.0625rem solid var(--theme-border);
  border-block-start: 0.0625rem solid var(--theme-border);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.75rem;
}

.l-footer__policy {
  font-size: 1.2rem;
  color: var(--theme-white);
}

.l-footer__copyright {
  font-size: 1.2rem;
  color: #ababab;
}

/* ===============================================
# MARK: l-inner
=============================================== */

.l-inner {
  max-width: 30rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}

/* modifier */

/* ===============================================
# MARK: l-main
=============================================== */

/* modifier */

.l-main.l-main--bgLightGray {
  background-color: var(--theme-base-light-gray);
}

/* ===============================================
# MARK: l-main__topBg
=============================================== */

.l-main__topBg {
  --_font-color: var(--theme-main-text);
  position: relative;
  z-index: 1;
  background-color: var(--theme-base);
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
  -webkit-margin-before: -100px;
  margin-block-start: -100px;
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
}

.l-main__topBg::before {
  pointer-events: none;
  content: '';
  position: absolute;
  z-index: -1;
  display: block;
  width: 100%;
  height: 3.25rem;
  left: 0;
  top: 0.625rem;
  -webkit-transform: scaleY(var(--_scaleY)) rotate(180deg);
  transform: scaleY(var(--_scaleY)) rotate(180deg);
  -webkit-transform-origin: center -0.25rem;
  transform-origin: center -0.25rem;
  background-color: var(--theme-base);
  -webkit-mask: url(footer_mask_sp.png) no-repeat center/100% 100%;
  mask: url(footer_mask_sp.png) no-repeat center/100% 100%;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

/* modifier */

.l-main__topBg[data-top-position='service'] {
  background-color: var(--theme-black);
  --_font-color: var(--theme-white);
}

.l-main__topBg[data-top-position='service']::before {
  background-color: var(--theme-black);
}

.l-main__topBg[data-top-position='service'] .p-topService__headingEn--black,
.l-main__topBg[data-top-position='service'] .p-topWorks__headingEn--black {
  opacity: 0;
  visibility: hidden;
}

.l-main__topBg[data-top-position='service'] .p-topService__headingEn--white,
.l-main__topBg[data-top-position='service'] .p-topWorks__headingEn--white {
  opacity: 1;
  visibility: visible;
}

.l-main__topBg[data-top-position='service'] .p-topService__titleEn {
  -webkit-filter: invert(1);
  filter: invert(1);
  will-change: filter;
}

.l-main__topBg .p-topConcept__text,
.l-main__topBg .p-topService__headingJa,
.l-main__topBg .p-topService__lead,
.l-main__topBg .p-topService__title,
.l-main__topBg .p-topService__text,
.l-main__topBg .p-topWorks__headingJa,
.l-main__topBg .p-topWorks__lead,
.l-main__topBg .c-worksCard__category,
.l-main__topBg .c-worksCard__title,
.l-main__topBg .c-worksCard__arrow {
  color: var(--_font-color);
  -webkit-transition: color var(--hover-transition);
  transition: color var(--hover-transition);
}

/* ===============================================
# MARK: l-main__topTopicsMembers
=============================================== */

.l-main__topTopicsMembers {
  background-color: var(--theme-light-gray);
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.l-main__topTopicsMembers::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 500vw;
  height: 500vw;
  border-radius: 50% 50% 0% 0%/50% 50% 0% 0%;
  z-index: -1;
  pointer-events: none;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#d3c6b5),
    color-stop(23.75rem, var(--theme-base))
  );
  background: linear-gradient(
    to bottom,
    #d3c6b5 0%,
    var(--theme-base) 23.75rem
  );
}

/* ===============================================
# MARK: c-breadcrumb
=============================================== */

.c-breadcrumb__inner {
  max-width: 30rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}

/* modifier */

.c-breadcrumb__item.c-breadcrumb__item--disabled .c-breadcrumb__link {
  color: var(--theme-sub-text);
}

/* ===============================================
# MARK: c-button
=============================================== */

.c-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 12.5rem;
  border-radius: 100vmax;
  border: 0.0625rem solid var(--theme-black);
  background-color: var(--theme-white);
  padding-block: 0.625rem;
  padding-inline: 1.125rem 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1.25rem;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.c-button__label {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 400;
  -webkit-transition: color var(--hover-transition);
  transition: color var(--hover-transition);
}

.c-button__arrow {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: block;
  width: 2rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--theme-black);
  border-radius: 50%;
  position: relative;
  z-index: 0;
  overflow: hidden;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.c-button__arrowIcon {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  width: 1rem;
  height: 1rem;
  background-image: url(icon_arrow.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-button__arrowIcon::before {
  content: '';
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(calc(-50% - 2rem), -50%);
  transform: translate(calc(-50% - 2rem), -50%);
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: var(--theme-black);
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

/* Modifier */

.c-button.c-button--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  padding-inline: 0.75rem 1.125rem;
}

.c-button.c-button--reverse .c-button__arrow {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.c-button.c-button--down .c-button__arrow {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.c-button.c-button--invert .c-button__arrowIcon::before {
  background-color: var(--theme-white);
}

/* hover */

/* ===============================================
# MARK: c-buttonSquare
=============================================== */

.c-buttonSquare {
  padding-block: 1.5rem;
  padding-inline: 2.5rem;
  display: grid;
  grid-template-areas: 'labelEn arrow' 'labelJa arrow';
  grid-template-columns: auto 2.25rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem 1.5rem;
  border-radius: 0.25rem;
  border: 0.0625rem solid currentColor;
  max-width: 25rem;
}

.c-buttonSquare__labelEn {
  grid-area: labelEn;
  font-size: 1.8rem;
  font-weight: 600;
  text-decoration-line: underline;
  text-decoration-color: color-mix(in lch, currentColor, transparent 100%);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-transition: text-decoration-color var(--hover-transition);
  transition: text-decoration-color var(--hover-transition);
}

.c-buttonSquare__labelJa {
  grid-area: labelJa;
  font-size: 1.4rem;
  font-weight: 400;
}

.c-buttonSquare__arrow {
  grid-area: arrow;
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  border: 0.0625rem solid var(--theme-black);
  position: relative;
  z-index: 0;
  overflow: hidden;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.c-buttonSquare__arrow::before,
.c-buttonSquare__arrow::after {
  content: '';
  position: absolute;
  display: block;
  width: 1.0625rem;
  height: 1.0625rem;
  background-color: currentColor;
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-buttonSquare__arrow::after {
  -webkit-transform: translateX(-2rem);
  transform: translateX(-2rem);
}

/* modifier */

.c-buttonSquare.c-buttonSquare--black {
  background-color: var(--theme-black);
}

.c-buttonSquare.c-buttonSquare--black .c-buttonSquare__labelEn {
  color: var(--theme-white);
}

.c-buttonSquare.c-buttonSquare--black .c-buttonSquare__labelJa {
  color: var(--theme-white);
}

.c-buttonSquare.c-buttonSquare--black .c-buttonSquare__arrow {
  background-color: var(--theme-main);
  color: var(--theme-main-text);
}

.c-buttonSquare.c-buttonSquare--white {
  background-color: var(--theme-white);
}

.c-buttonSquare.c-buttonSquare--white .c-buttonSquare__labelEn {
  color: var(--theme-black);
}

.c-buttonSquare.c-buttonSquare--white .c-buttonSquare__labelJa {
  color: var(--theme-black);
}

.c-buttonSquare.c-buttonSquare--white .c-buttonSquare__arrow {
  background-color: var(--theme-black);
  color: var(--theme-main);
}

/* hover */

/* ===============================================
# MARK: c-gradationText
=============================================== */

.c-gradationText {
  background: linear-gradient(33deg, #fbd8ac 2.25rem, #000 4.5rem);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 100%;
  background-position: center;
  color: transparent;
  font-size: 7.2rem;
  line-height: 1;
  font-weight: 400;
  font-family: var(--enText);
}

/* Modifier */

.c-gradationText.c-gradationText--white {
  background-image: linear-gradient(
    10deg,
    #fbd8ac 2.25rem,
    #938a7e,
    #fff 4.5rem
  );
}

/* ===============================================
# MARK: c-text
=============================================== */

.c-text__main {
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.c-text__sub {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.04em;
}

/* ===============================================
# MARK: c-contactSection
=============================================== */

.c-contactSection {
  position: relative;
  z-index: 1;
}

.c-contactSection__inner {
  display: grid;
  grid-template-columns: 1fr;
  max-width: 30rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}

.c-contactSection__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
  padding-block: 3.75rem 2.8125rem;
  padding-inline: 1rem 5rem;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.c-contactSection__hgroup {
  display: grid;
  grid-template-areas: 'label label' 'enLabel arrow';
  grid-template-columns: auto 1.75rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem 0.625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-contactSection__label {
  grid-area: label;
  font-size: 1.2rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.c-contactSection__label::before {
  content: '';
  display: block;
  width: 0.5rem;
  height: 0.5rem;
}

.c-contactSection__enLabel {
  grid-area: enLabel;
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: 600;
}

.c-contactSection__arrow {
  grid-area: arrow;
  color: var(--theme-main-text);
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  border: 0.0625rem solid currentColor;
  position: relative;
  z-index: 0;
  overflow: hidden;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.c-contactSection__arrow::before,
.c-contactSection__arrow::after {
  content: '';
  position: absolute;
  display: block;
  width: 0.9375rem;
  height: 0.9375rem;
  background-color: currentColor;
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-contactSection__arrow::after {
  -webkit-transform: translateX(-2rem);
  transform: translateX(-2rem);
  background-color: var(--theme-main);
}

.c-contactSection__text {
  font-size: 1.3rem;
}

/* modifier */

.c-contactSection__link.c-contactSection__link--modelhouse {
  background-color: #e6dfd8;
  background-image: url(bg_deco_modelhouse.svg);
  background-position: top right;
  background-size: 7.125rem 9.625rem;
  background-repeat: no-repeat;
}

.c-contactSection__link.c-contactSection__link--modelhouse
  .c-contactSection__label::before {
  border-radius: 0 0 100% 0;
  background-color: var(--theme-red);
}

.c-contactSection__link.c-contactSection__link--contact {
  background-color: #fbecd8;
  background-image: url(bg_deco_contact.svg);
  background-position: 101% calc(100% + 1.5625rem);
  background-size: 7.1875rem 9.75rem;
  background-repeat: no-repeat;
}

.c-contactSection__link.c-contactSection__link--contact
  .c-contactSection__label::before {
  border-radius: 0 0 100% 0;
  background-color: var(--theme-main);
}

/* hover */

/* ===============================================
# MARK: c-sectionHeading
=============================================== */

.c-sectionHeading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 0.8125rem;
}

.c-sectionHeading__ja {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0em;
}

.c-sectionHeading__en {
  font-size: 1.3rem;
  line-height: 1.6;
  font-weight: 300;
  letter-spacing: 0em;
  font-family: var(--enText);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.c-sectionHeading__en::before {
  content: '';
  display: block;
  background-color: currentColor;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 100% 0 0 0;
}

/* modifier */

.c-sectionHeading.c-sectionHeading--white {
  color: var(--theme-white);
}

/* ===============================================
# MARK: c-topicsCard
=============================================== */

.c-topicsCard__link {
  padding-block: 1.5rem;
  display: grid;
  grid-template-areas: 'img options' 'img title' 'img arrow';
  grid-template-columns: 9.5rem auto;
  grid-template-rows: auto 1fr auto;
  gap: 1rem 1.25rem;
  -webkit-border-after: 0.0625rem solid #dedede;
  border-block-end: 0.0625rem solid #dedede;
}

.c-topicsCard__title {
  grid-area: title;
  font-size: 1.4rem;
  font-weight: 500;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  overflow-wrap: anywhere;
  /* 収まらない場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 禁則処理を厳格に適用 */
  text-decoration-line: underline;
  text-decoration-color: color-mix(in lch, currentColor, transparent 100%);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-transition: text-decoration-color var(--hover-transition);
  transition: text-decoration-color var(--hover-transition);
}

.c-topicsCard__img {
  grid-area: img;
  overflow: hidden;
}

.c-topicsCard__img img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-topicsCard__options {
  grid-area: options;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.625rem;
}

.c-topicsCard__options::before {
  content: '';
  display: block;
  height: 0.875rem;
  width: 0.0625rem;
  background-color: var(--theme-icon);
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.c-topicsCard__date {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  font-size: 1.3rem;
}

.c-worksCard__category {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  font-size: 1.3rem;
}

.c-topicsCard__arrow {
  grid-area: arrow;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  position: relative;
  z-index: 0;
  display: block;
  width: 0.6875rem;
  height: 0.6875rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  overflow: hidden;
}

.c-topicsCard__arrow::before,
.c-topicsCard__arrow::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--theme-icon);
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-topicsCard__arrow::after {
  -webkit-transform: translate(calc(-50% - 1.5rem), -50%);
  transform: translate(calc(-50% - 1.5rem), -50%);
  background-color: currentColor;
}

/* hover */

/* ===============================================
# MARK: c-worksCard
=============================================== */

.c-worksCard__link {
  display: grid;
  grid-template-areas: 'img img' 'options arrow' 'title title';
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr;
  gap: 0.75rem;
}

.c-worksCard__title {
  grid-area: title;
  font-size: 1.4rem;
  font-weight: 500;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  overflow-wrap: anywhere;
  /* 収まらない場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 禁則処理を厳格に適用 */
  /* text-decoration-line: underline; */
  text-decoration-color: color-mix(in lch, currentColor, transparent 100%);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-transition: text-decoration-color var(--hover-transition);
  transition: text-decoration-color var(--hover-transition);
}

.c-worksCard__img {
  grid-area: img;
  overflow: hidden;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.c-worksCard__img img {
  aspect-ratio: 350/268;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-worksCard__options {
  grid-area: options;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.625rem;
}

.c-worksCard__options::before {
  content: '';
  display: block;
  height: 0.875rem;
  width: 0.0625rem;
  background-color: var(--theme-icon);
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.c-worksCard__num {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  font-size: 1.3rem;
  color: var(--theme-sub-text);
}

.c-worksCard__category {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  font-size: 1.3rem;
}

.c-worksCard__arrow {
  grid-area: arrow;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  position: relative;
  z-index: 0;
  display: block;
  width: 0.6875rem;
  height: 0.6875rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  overflow: hidden;
}

.c-worksCard__arrow::before,
.c-worksCard__arrow::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--theme-sub-text);
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-worksCard__arrow::after {
  -webkit-transform: translate(calc(-50% - 1.5rem), -50%);
  transform: translate(calc(-50% - 1.5rem), -50%);
  background-color: currentColor;
}

/* hover */

/* ===============================================
# MARK: c-salesCard
=============================================== */

.c-salesCard__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: 'vis' 'hgroup' 'options';
  gap: 0.75rem;
}

.c-salesCard__hgroup {
  grid-area: hgroup;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 0.25rem;
  -webkit-padding-after: 0.5rem;
  padding-block-end: 0.5rem;
  -webkit-border-after: 0.0625rem solid #dedede;
  border-block-end: 0.0625rem solid #dedede;
}

.c-salesCard__title {
  font-size: 1.6rem;
  font-weight: 500;
}

.c-salesCard__region {
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.c-salesCard__region::before {
  content: '';
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  background-color: currentColor;
  border-radius: 50%;
}

.c-salesCard__vis {
  grid-area: vis;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.c-salesCard__visImg {
  overflow: hidden;
}

.c-salesCard__visImg img {
  aspect-ratio: 413/510;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-salesCard__visArrow {
  display: block;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: var(--theme-black);
  position: absolute;
  z-index: 11;
  bottom: -1.0625rem;
  right: -1.0625rem;
  overflow: hidden;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.c-salesCard__visArrow::before,
.c-salesCard__visArrow::after {
  content: '';
  position: absolute;
  z-index: 1;
  top: 1.0625rem;
  left: 1.125rem;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--theme-main);
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-salesCard__visArrow::after {
  background-color: var(--theme-black);
  -webkit-transform: translateX(-4rem);
  transform: translateX(-4rem);
}

.c-salesCard__options {
  grid-area: options;
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
}

.c-salesCard__ldk {
  font-size: 1.4rem;
}

.c-salesCard__meter {
  font-size: 1.4rem;
}

.c-salesCard__price {
  font-size: 1.4rem;
}

.c-salesCard__station {
  font-size: 1.4rem;
  display: block;
  width: 100%;
  color: var(--theme-sub-text);
}

.c-salesCard__tags {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
}

.c-salesCard__tag {
  font-size: 1.4rem;
  color: var(--theme-sub-text);
  display: inline-block;
}

/* modifier */

.c-salesCard__vis.c-salesCard__vis--sold::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  inset: 0;
  background-color: color-mix(in lch, var(--theme-black), transparent 50%);
}

.c-salesCard__vis.c-salesCard__vis--sold::after {
  content: 'sold';
  position: absolute;
  z-index: 10;
  inset: 0;
  font-size: 2rem;
  font-weight: 500;
  font-family: var(--enText);
  text-transform: uppercase;
  display: grid;
  place-items: center;
  color: var(--theme-white);
}

/* hover */

/* ===============================================
# MARK: c-pageTitle
=============================================== */

.c-pageTitle__enTitle {
  width: 91.4285714286%;
}

.c-pageTitle__jaTitle {
  font-size: 1.4rem;
  -webkit-margin-before: 0.625rem;
  margin-block-start: 0.625rem;
}

/* modifier */

.c-pageTitle.c-pageTitle--small .c-pageTitle__enTitle {
  width: 20.6875rem;
}

/* ===============================================
# MARK: c-serviceAnchor
=============================================== */

.c-serviceAnchor {
  pointer-events: none;
  position: fixed;
  width: 100%;
  height: 100%;
  height: 100dvh;
  top: 0;
  left: 0;
  z-index: var(--z-index-anchor);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.25rem;
  -webkit-transform: translateY(3.75rem);
  transform: translateY(3.75rem);
}

.c-serviceAnchor__list {
  pointer-events: all;
  padding-block: 0.375rem;
  padding-inline: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 3.125rem;
  gap: 1.5rem;
  border-radius: 0.75rem 0.75rem 0 0;
  background-color: color-mix(in lch, #000, transparent 60%);
  -webkit-backdrop-filter: blur(3.125rem);
  backdrop-filter: blur(3.125rem);
}

.c-serviceAnchor__link {
  min-width: 15rem;
}

/* modifier */

.c-serviceAnchor__item.is-current .c-serviceAnchor__link {
  background-color: var(--theme-white);
  color: var(--theme-main-text);
}

.c-serviceAnchor__list.c-serviceAnchor__list--contact {
  padding-block: 0;
  padding-inline: 0;
  background-color: var(--theme-black);
}

.c-serviceAnchor__list.c-serviceAnchor__list--contact .c-serviceAnchor__link {
  padding-block: 0.625rem;
  padding-inline: 1.375rem;
  background-color: var(--theme-black);
  color: var(--theme-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  gap: 0.75rem;
  border-radius: 0.75rem 0.75rem 0 0;
}

.c-serviceAnchor__list.c-serviceAnchor__list--contact .c-serviceAnchor__arrow {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: block;
  width: 1.875rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--theme-main);
  border-radius: 50%;
  position: relative;
  z-index: 0;
  overflow: hidden;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.c-serviceAnchor__list.c-serviceAnchor__list--contact
  .c-serviceAnchor__arrowIcon {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  width: 0.9375rem;
  height: 0.9375rem;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-serviceAnchor__list.c-serviceAnchor__list--contact
  .c-serviceAnchor__arrowIcon::before,
.c-serviceAnchor__list.c-serviceAnchor__list--contact
  .c-serviceAnchor__arrowIcon::after {
  content: '';
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  width: 0.9375rem;
  height: 0.9375rem;
  background-color: var(--theme-black);
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-serviceAnchor__list.c-serviceAnchor__list--contact
  .c-serviceAnchor__arrowIcon::after {
  -webkit-transform: translate(calc(-50% - 1.875rem), -50%);
  transform: translate(calc(-50% - 1.875rem), -50%);
}

/* hover */

/* ===============================================
# MARK: c-flow
=============================================== */

.c-flow {
  background-color: var(--theme-base-light-gray);
  position: relative;
  z-index: 0;
}

.c-flow__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3.5rem;
  padding-block: 5rem 7.5rem;
  max-width: 30rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}

.c-flow__head {
  -webkit-padding-before: 7.5rem;
  padding-block-start: 7.5rem;
  -webkit-margin-before: -7.5rem;
  margin-block-start: -7.5rem;
  pointer-events: none;
}

.c-flow__lead {
  font-size: 1.5rem;
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
}

.c-flow__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.c-flow__indicator {
  position: sticky;
  top: 0;
  left: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
  -webkit-padding-before: 7.5rem;
  padding-block-start: 7.5rem;
  -webkit-margin-before: -7.5rem;
  margin-block-start: -7.5rem;
}

.c-flow__dot {
  display: block;
  width: 0.75rem;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--theme-icon);
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.c-flow__dot.is-current {
  background-color: var(--theme-red);
}

.c-flow__list {
  counter-reset: flowNum 0;
  position: relative;
  z-index: 0;
}

.c-flow__item {
  counter-increment: flowNum 1;
  padding-block: 3rem;
  -webkit-border-before: 1px solid var(--theme-gray);
  border-block-start: 1px solid var(--theme-gray);
}

.c-flow__hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.c-flow__title {
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  font-size: 1.8rem;
  font-weight: 500;
}

.c-flow__label {
  font-size: 1.3rem;
  color: var(--theme-red);
}

.c-flow__label::before {
  content: counter(flowNum, decimal-leading-zero);
  -webkit-margin-end: 0.5rem;
  margin-inline-end: 0.5rem;
}

.c-flow__text {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}

.c-flow__button {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
}

/* modifier */

.c-flow.c-flow--dark {
  background-color: var(--theme-base-black);
}

.c-flow.c-flow--dark .c-flow__dot {
  background-color: var(--theme-gray);
}

.c-flow.c-flow--dark .c-flow__dot.is-current {
  background-color: var(--theme-main);
}

.c-flow.c-flow--dark .c-flow__lead {
  color: var(--theme-white);
}

.c-flow.c-flow--dark .c-flow__title {
  color: var(--theme-white);
}

.c-flow.c-flow--dark .c-flow__label {
  color: var(--theme-main);
}

.c-flow.c-flow--dark .c-flow__text {
  color: var(--theme-white);
}

/* ===============================================
# MARK: c-serviceWorksSection
=============================================== */

.c-serviceWorksSection {
  overflow: hidden;
}

.c-serviceWorksSection__inner {
  padding-block: 5rem 7.5rem;
}

.c-serviceWorksSection__container {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.c-serviceWorksSection__list {
  -webkit-margin-before: 6rem;
  margin-block-start: 6rem;
}

.c-serviceWorksSection__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

/* ===============================================
# MARK: Swiper
=============================================== */

/* ===============================================
# MARK: c-otherContents
=============================================== */

.c-otherContents {
  padding-block: 7.3125rem 7.5rem;
}

.c-otherContents__heading {
  width: 100%;
  margin-inline: auto;
}

.c-otherContents__container {
  background-color: var(--theme-base);
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
  -webkit-border-after: 0.0625rem solid #dedede;
  border-block-end: 0.0625rem solid #dedede;
  position: relative;
  z-index: 1;
  -webkit-margin-before: -0.375rem;
  margin-block-start: -0.375rem;
}

.c-otherContents__inner {
  max-width: 30rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}

.c-otherContents__list {
  -webkit-border-start: 0.0625rem solid #dedede;
  border-inline-start: 0.0625rem solid #dedede;
  -webkit-border-end: 0.0625rem solid #dedede;
  border-inline-end: 0.0625rem solid #dedede;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, 1fr);
  position: relative;
  z-index: 0;
}

.c-otherContents__list::before,
.c-otherContents__list::after {
  content: '';
  position: absolute;
  height: 0.0625rem;
  width: 100%;
  background-color: #dedede;
  top: 33.3333333333%;
}

.c-otherContents__list::after {
  top: 66.6666666667%;
}

.c-otherContents__link {
  padding-block: 1.75rem;
  padding-inline: 3.4375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 0.75rem;
}

.c-otherContents__hgroup {
  width: min(100%, 15rem);
  margin-inline: auto;
  display: grid;
  grid-template-areas: 'title title' 'label arrow';
  grid-template-columns: auto 1.75rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.125rem;
}

.c-otherContents__title {
  grid-area: title;
  font-size: 1.3rem;
}

.c-otherContents__label {
  grid-area: label;
  font-size: 2rem;
  font-weight: 600;
}

.c-otherContents__img {
  width: min(100%, 15rem);
  margin-inline: auto;
  overflow: hidden;
}

.c-otherContents__img img {
  aspect-ratio: 240/140;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-otherContents__arrow {
  grid-area: arrow;
  color: var(--theme-main-text);
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  border: 0.0625rem solid currentColor;
  position: relative;
  z-index: 0;
  overflow: hidden;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.c-otherContents__arrow::before,
.c-otherContents__arrow::after {
  content: '';
  position: absolute;
  display: block;
  width: 1.0625rem;
  height: 1.0625rem;
  background-color: currentColor;
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-otherContents__arrow::after {
  -webkit-transform: translateX(-2rem);
  transform: translateX(-2rem);
  background-color: var(--theme-main);
}

/* hover */

/* ===============================================
# MARK: c-form
=============================================== */

form.mimassi_inquiry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.5rem;
}

form.mimassi_inquiry > fieldset {
  display: contents;
}

form.mimassi_inquiry > fieldset > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.75rem;
}

form.mimassi_inquiry > fieldset > dl > dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  font-size: 1.4rem;
  font-weight: 500;
  word-break: keep-all;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

form.mimassi_inquiry > fieldset > dl > dt > span {
  color: var(--theme-red);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

form.mimassi_inquiry > fieldset > dl > dd {
  position: relative;
  z-index: 0;
}

form.mimassi_inquiry > fieldset > dl > dd input,
form.mimassi_inquiry > fieldset > dl > dd textarea,
form.mimassi_inquiry > fieldset > dl > dd select {
  width: 100%;
  border: 1px solid #888;
  border-radius: 0.25rem;
  font-size: 1.3rem;
  padding-block: 0.875rem;
  padding-inline: 0.5rem;
}

form.mimassi_inquiry > fieldset > dl > dd input:focus,
form.mimassi_inquiry > fieldset > dl > dd textarea:focus,
form.mimassi_inquiry > fieldset > dl > dd select:focus {
  padding-block: 0.6875rem;
  font-size: 16px;
  outline: none;
  border: 2px solid var(--theme-blue);
}

form.mimassi_inquiry > fieldset > dl > dd input[name='add2'],
form.mimassi_inquiry > fieldset > dl > dd input[name='add3'] {
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}

form.mimassi_inquiry > fieldset > dl > dd input[type='checkbox'] {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
}

form.mimassi_inquiry > fieldset > dl > dd input[type='checkbox'] ~ label {
  cursor: pointer;
  -webkit-padding-start: 2rem;
  padding-inline-start: 2rem;
  position: relative;
  z-index: 0;
}

form.mimassi_inquiry
  > fieldset
  > dl
  > dd
  input[type='checkbox']
  ~ label::before,
form.mimassi_inquiry
  > fieldset
  > dl
  > dd
  input[type='checkbox']
  ~ label::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.25rem;
}

form.mimassi_inquiry
  > fieldset
  > dl
  > dd
  input[type='checkbox']
  ~ label::before {
  border: 1px solid var(--theme-gray);
}

form.mimassi_inquiry
  > fieldset
  > dl
  > dd
  input[type='checkbox']
  ~ label::after {
  background-color: var(--theme-black);
  -webkit-mask: url(icon_check.svg) no-repeat center/contain;
  mask: url(icon_check.svg) no-repeat center/contain;
  opacity: 0;
  visibility: hidden;
}

form.mimassi_inquiry
  > fieldset
  > dl
  > dd
  input[type='checkbox']:checked
  ~ label::after {
  opacity: 1;
  visibility: visible;
}

form.mimassi_inquiry
  > fieldset
  > dl
  > dd
  input[type='checkbox']:focus
  ~ label::before {
  outline: none;
  border: 2px solid var(--theme-blue);
}

form.mimassi_inquiry > fieldset > dl > dd textarea {
  field-sizing: content;
  height: 13.4375rem;
  min-height: -webkit-min-content;
  min-height: -moz-min-content;
  min-height: min-content;
}

form.mimassi_inquiry
  > fieldset
  > dl
  > dd
  .mimassi_inquiry_form
  ~ .invalid_message {
  display: none;
  position: absolute;
  top: calc(100% + 0.5rem);
  font-size: 1.4rem;
  color: var(--theme-red);
  line-height: 1.5;
}

form.mimassi_inquiry
  > fieldset
  > dl
  > dd
  .mimassi_inquiry_form:invalid
  ~ .invalid_message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem;
}

form.mimassi_inquiry
  > fieldset
  > dl
  > dd
  .mimassi_inquiry_form:invalid
  ~ .invalid_message::before {
  content: '';
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  -webkit-margin-before: 0.0625rem;
  margin-block-start: 0.0625rem;
  background-image: url(icon_exclamation.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

form.mimassi_inquiry
  > fieldset
  > dl
  > dd
  .mimassi_inquiry_form:invalid
  ~ .invalid_message:empty::before {
  display: none;
}

form.mimassi_inquiry > fieldset > dl > dd.c-form__reserve {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
}

form.mimassi_inquiry > fieldset > dl > dd.c-form__reserve > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.25rem;
}

form.mimassi_inquiry > fieldset > dl > dd.c-form__reserve > div > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.25rem;
}

form.mimassi_inquiry > fieldset > dl > dd.c-form__reserve > div > div > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 1.4rem;
  color: var(--theme-sub-text);
}

form.mimassi_inquiry > fieldset > p {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.02em;
  -webkit-margin-after: -0.5rem;
  margin-block-end: -0.5rem;
}

form.mimassi_inquiry > fieldset > p > a {
  color: var(--theme-blue);
  -webkit-margin-end: 1rem;
  margin-inline-end: 1rem;
  position: relative;
  z-index: 0;
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-transition: opacity var(--hover-transition);
  transition: opacity var(--hover-transition);
}

form.mimassi_inquiry > fieldset > p > a::after {
  content: '';
  position: absolute;
  display: block;
  top: 50%;
  right: -1rem;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask: url(icon_external.svg) no-repeat center/contain;
  mask: url(icon_external.svg) no-repeat center/contain;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

form.mimassi_inquiry > fieldset > div {
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
}

form.mimassi_inquiry > fieldset > div > button {
  min-width: 17.75rem;
  padding-block: 1rem;
  padding-inline: 1.875rem;
  border-radius: 100vmax;
  background-color: var(--theme-black);
  color: var(--theme-white);
  font-weight: 600;
  display: grid;
  place-items: center;
  margin-inline: auto;
  -webkit-transition: color var(--hover-transition),
    background-color var(--hover-transition);
  transition: color var(--hover-transition),
    background-color var(--hover-transition);
}

form.mimassi_inquiry > fieldset > div > button:disabled {
  background-color: #ababab;
  cursor: not-allowed;
}

/* ===============================================
# MARK: 確認画面
=============================================== */

div.mimassi_inquiry_check_window > table {
  width: 100%;
}

div.mimassi_inquiry_check_window > table > tbody > tr {
  -webkit-border-after: 0.0625rem solid #dedede;
  border-block-end: 0.0625rem solid #dedede;
}

div.mimassi_inquiry_check_window > table > tbody > tr th {
  width: 8.75rem;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: left;
  padding-block: 1.125rem;
}

div.mimassi_inquiry_check_window > table > tbody > tr td {
  font-size: 1.4rem;
  font-weight: 500;
  padding-block: 1.125rem;
  -webkit-padding-start: 1.5rem;
  padding-inline-start: 1.5rem;
  -ms-flex-line-pack: center;
  align-content: center;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

div.mimassi_inquiry_button_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 1.5rem;
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
}

div.mimassi_inquiry_button_area > button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

div.mimassi_inquiry_button_area > button#btn_send {
  min-width: 15rem;
  padding-block: 1rem;
  padding-inline: 1.875rem;
  border-radius: 100vmax;
  background-color: var(--theme-black);
  color: var(--theme-white);
  font-weight: 600;
  display: grid;
  place-items: center;
  margin-inline: auto;
  -webkit-transition: color var(--hover-transition),
    background-color var(--hover-transition);
  transition: color var(--hover-transition),
    background-color var(--hover-transition);
}

div.mimassi_inquiry_button_area > button#btn_back {
  font-size: 1.4rem;
  color: var(--theme-sub-text);
  text-align: center;
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-transition: opacity var(--hover-transition);
  transition: opacity var(--hover-transition);
}

.c-form__confirmText {
  font-size: 1.4rem;
  text-align: center;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px white inset !important;
  box-shadow: 0 0 0 1000px white inset !important;
}

/* hover */

/* ===============================================
# MARK: c-sidebarIndex
=============================================== */

.c-sidebarIndex__wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-sidebarIndex__container {
  padding-block: 0.75rem;
}

.c-sidebarIndex__container:not(:first-of-type) {
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
  -webkit-border-before: 1px solid #dedede;
  border-block-start: 1px solid #dedede;
}

.c-sidebarIndex__head {
  font-size: 1.4rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.c-sidebarIndex__head::before {
  content: '';
  display: block;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background-color: var(--theme-red);
}

.c-sidebarIndex__list {
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.75rem 0.5rem;
}

.c-sidebarIndex__item {
  position: relative;
  z-index: 0;
}

.c-sidebarIndex__item input[type='checkbox'] {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
}

.c-sidebarIndex__item input[type='checkbox']:focus ~ .c-sidebarIndex__label {
  outline: 2px solid var(--theme-blue);
}

.c-sidebarIndex__label {
  cursor: pointer;
  display: inline-block;
  padding-block: 0.375rem;
  padding-inline: 1rem;
  font-size: 1.4rem;
  border-radius: 100vmax;
  background-color: var(--theme-white);
  color: var(--theme-sub-text);
  border: 1px dashed currentColor;
}

.c-sidebarIndex__label:focus {
  outline: 2px solid var(--theme-blue);
}

/* modifier */

.c-sidebarIndex__label.is-current {
  border-style: solid;
  background-color: var(--theme-black);
  color: var(--theme-white);
}

/* ===============================================
# MARK: c-pagination
=============================================== */

.c-pagination {
  -webkit-margin-before: 5rem;
  margin-block-start: 5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.25rem;
  position: relative;
  z-index: 0;
}

.c-pagination .page-numbers:not(.prev),
.c-pagination .page-numbers:not(.next) {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  font-size: 1.5rem;
  background-color: #f7f7f7;
  -webkit-transition: color var(--hover-transition),
    background-color var(--hover-transition);
  transition: color var(--hover-transition),
    background-color var(--hover-transition);
}

.c-pagination .page-numbers:not(.prev).current,
.c-pagination .page-numbers:not(.next).current {
  background-color: #ffecd5;
}

.c-pagination .page-numbers.prev,
.c-pagination .page-numbers.next {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 2.25rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--theme-black);
  border-radius: 50%;
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: none;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.c-pagination .page-numbers.prev span,
.c-pagination .page-numbers.next span {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  background-image: url(icon_arrow.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-pagination .page-numbers.prev span::before,
.c-pagination .page-numbers.next span::before {
  content: '';
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(calc(-50% - 2.25rem), -50%);
  transform: translate(calc(-50% - 2.25rem), -50%);
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  background-color: var(--theme-black);
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.c-pagination .page-numbers.prev {
  -webkit-margin-end: 0.75rem;
  margin-inline-end: 0.75rem;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  left: 0;
}

.c-pagination .page-numbers.next {
  -webkit-margin-start: 0.75rem;
  margin-inline-start: 0.75rem;
  right: 0;
}

/* hover */

/* ===============================================
# MARK: p-topFv
=============================================== */

.p-topFv {
  width: 100%;
  height: clamp(min(197.1428571429vw, 43.125rem), 100vh, 100vh);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#fbecd8),
    to(color-mix(in lch, #f8edde, transparent 60%))
  );
  background: linear-gradient(
    to bottom,
    #fbecd8 0%,
    color-mix(in lch, #f8edde, transparent 60%)
  );
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-topFv__inner {
  max-width: 100%;
}

.p-topFv__title {
  -webkit-margin-before: min(60vw, 13.125rem);
  margin-block-start: min(60vw, 13.125rem);
  width: min(89.4285714286%, 31rem);
  margin-inline: auto;
  height: auto;
  aspect-ratio: 601/400;
}

.p-topFv__bg {
  position: absolute;
  z-index: -1;
  inset: 0;
}

/* ===============================================
# MARK: p-topFv__bg svg
=============================================== */

#fv-bg-grad {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -3;
  display: block;
  width: min(166.9230769231vw, 64.1875rem);
  height: auto;
  aspect-ratio: 651/574;
  -webkit-transform: translate(
    max(36.9230769231vw, 9rem),
    max(-32.3076923077vw, -7.875rem)
  );
  transform: translate(
    max(36.9230769231vw, 9rem),
    max(-32.3076923077vw, -7.875rem)
  );
}

#fv-left-sp {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#fv-left-sp svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: 70%;
  aspect-ratio: 681/567;
  -webkit-transform: translate(-63.436123348%, -46.0317460317%);
  transform: translate(-63.436123348%, -46.0317460317%);
}

#fv-right-sp {
  display: block;
  position: absolute;
  width: auto;
  height: 70%;
  aspect-ratio: 412/485;
  bottom: 0;
  right: 0;
  -webkit-transform: translate(30.3398058252%, 10.3092783505%);
  transform: translate(30.3398058252%, 10.3092783505%);
}

/* ===============================================
# MARK: responsive
=============================================== */

/* 画面比率が1:0.85より大きい場合（正方形より少し横長の場合[768pxより大きく横長]） */

#fv-left,
#fv-right {
  opacity: 0;
  visibility: hidden;
}

/* ===============================================
# MARK: fv animation init
=============================================== */

#fv-title path {
  display: block;
  -webkit-transform: translateY(2.5rem);
  transform: translateY(2.5rem);
  opacity: 0;
  visibility: hidden;
}

#ellipse-sp-01 {
  stroke: rgb(0, 0, 0);
  stroke-dasharray: 986;
  stroke-dashoffset: 986;
  fill: rgba(211, 198, 181, 0);
}

#ellipse-sp-02 {
  stroke: rgb(0, 0, 0);
  stroke-dasharray: 502;
  stroke-dashoffset: 502;
  fill: rgba(49, 49, 49, 0);
}

#ellipse-sp-03 {
  stroke: rgb(0, 0, 0);
  stroke-dasharray: 1115;
  stroke-dashoffset: 1115;
  fill: rgba(215, 209, 201, 0);
}

#ellipse-sp-04 {
  stroke: rgb(0, 0, 0);
  stroke-dasharray: 1470;
  stroke-dashoffset: 1470;
  fill: rgba(49, 49, 49, 0);
}

#ellipse01 circle {
  stroke: rgb(0, 0, 0);
  stroke-dasharray: 1943;
  stroke-dashoffset: 1943;
}

#ellipse02 circle {
  stroke: rgb(0, 0, 0);
  stroke-dasharray: 1768;
  stroke-dashoffset: 1768;
}

#ellipse03 circle {
  stroke: rgb(0, 0, 0);
  stroke-dasharray: 2127;
  stroke-dashoffset: 2127;
}

#ellipse04 circle {
  stroke: rgb(0, 0, 0);
  stroke-dasharray: 2329;
  stroke-dashoffset: 2329;
}

#ellipse02-circle-mask,
#ellipse03-circle-mask,
#fv-bg-grad,
#rect-yellow,
#half-ellipse-red,
#half-ellipse-green,
#ellipse-sp-01-mask,
#ellipse-sp-03-mask,
#half-ellipse-red-sp01,
#half-ellipse-red-sp02,
#half-ellipse-green-sp01,
#half-ellipse-green-sp02,
#half-ellipse-black-sp-mask,
#rect-yellow-sp {
  opacity: 0;
  visibility: hidden;
}

#half-ellipse-black,
#half-ellipse-black-sp {
  clip-path: inset(0% 0% 50% 0%);
  opacity: 0;
  visibility: hidden;
}

#ellipse-sp-01-mask {
  -webkit-transform: translate(-0.03125rem, 0.03125rem);
  transform: translate(-0.03125rem, 0.03125rem);
}

[data-fv-parallax] {
  -webkit-margin-before: -100px;
  margin-block-start: -100px;
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
}

/* ===============================================
# MARK: p-topConcept
=============================================== */

.p-topConcept__inner {
  padding-block: 6.5rem 6.6875rem;
}

.p-topConcept__catchcopy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-topConcept__hgroup {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--_font-color);
  -webkit-transition: color var(--hover-transition);
  transition: color var(--hover-transition);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-topConcept__heading {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 2rem;
  line-height: 2;
  font-family: var(--accentFont);
  font-weight: 500;
  letter-spacing: 0.4em;
}

.p-topConcept__container {
  -webkit-margin-before: 4.3125rem;
  margin-block-start: 4.3125rem;
  display: grid;
  grid-template-rows: auto auto 1fr;
  grid-template-columns: 35.8974358974% 1fr;
  grid-template-areas: 'img01 img02' 'images images' 'content content';
  gap: 0 0.5rem;
}

/* ===============================================
# MARK: p-topConcept__images
=============================================== */

.p-topConcept__img01 {
  grid-area: img01;
  -webkit-margin-before: auto;
  margin-block-start: auto;
  margin-inline: -20px 0;
  overflow: hidden;
  aspect-ratio: 140/96;
}

.p-topConcept__img01 img {
  position: absolute;
  left: 0;
  bottom: -1.25rem;
}

.p-topConcept__img02 {
  grid-area: img02;
  margin-inline: 0 -0.5rem;
  overflow: hidden;
  aspect-ratio: 230/161;
}

.p-topConcept__img02 img {
  position: absolute;
  left: 0;
  bottom: -1.25rem;
}

.p-topConcept__images {
  grid-area: images;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  margin-inline: -0.5rem -20px;
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr 41.0256410256%;
  grid-template-areas: 'img03 img04' 'img03 decorations';
  gap: 0 0.5rem;
}

.p-topConcept__img03 {
  grid-area: img03;
  overflow: hidden;
  aspect-ratio: 210/304;
}

.p-topConcept__img03 img {
  position: absolute;
  left: 0;
  bottom: 0;
}

.p-topConcept__img04 {
  grid-area: img04;
  overflow: hidden;
  aspect-ratio: 160/105;
}

.p-topConcept__img04 img {
  position: absolute;
  left: 0;
  bottom: 0;
}

.p-topConcept__decorations {
  grid-area: decorations;
}

.p-topConcept__decorationSquare {
  display: block;
  -webkit-margin-before: 5.6875rem;
  margin-block-start: 5.6875rem;
  -webkit-margin-start: 2.8125rem;
  margin-inline-start: 2.8125rem;
  width: 1.5rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--theme-black);
}

.p-topConcept__decorationHalfcircle {
  display: block;
  -webkit-margin-before: 3.9375rem;
  margin-block-start: 3.9375rem;
  -webkit-margin-start: 5.5rem;
  margin-inline-start: 5.5rem;
  width: 3.75rem;
  height: auto;
  aspect-ratio: 60/118;
  background-color: var(--theme-main);
  border-radius: 0% 100% 100% 0%/50% 50% 50% 50%;
}

/* ===============================================
# MARK: p-topConcept__content
=============================================== */

.p-topConcept__content {
  grid-area: content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 30rem;
  width: 100%;
  margin-inline: auto;
}

.p-topConcept__text {
  font-size: 1.5rem;
  letter-spacing: 0.06em;
}

.p-topConcept__btn {
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
}

/* ===============================================
# MARK: p-topService
=============================================== */

.p-topService__inner {
  -webkit-padding-before: 5rem;
  padding-block-start: 5rem;
}

.p-topService__hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 0.625rem;
}

.p-topService__headingJa {
  font-size: 1.4rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.p-topService__headingJa::before {
  content: '';
  display: block;
  width: 0.8125rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--theme-red);
  border-radius: 100% 0 0 0;
}

.p-topService__headingEn {
  width: 14.0625rem;
  position: relative;
  z-index: 0;
}

.p-topService__headingEn .p-topService__headingEn--black {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
}

.p-topService__headingEn .p-topService__headingEn--white {
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
}

.p-topService__lead {
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  text-align: justify;
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
}

.p-topService__container {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  -webkit-padding-after: 5rem;
  padding-block-end: 5rem;
}

.p-topService__list {
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-topService__item {
  -webkit-border-after: 0.0625rem solid #dedede;
  border-block-end: 0.0625rem solid #dedede;
}

.p-topService__itemContent {
  -webkit-border-start: 0.0625rem solid #dedede;
  border-inline-start: 0.0625rem solid #dedede;
  -webkit-border-end: 0.0625rem solid #dedede;
  border-inline-end: 0.0625rem solid #dedede;
  padding-block: 2.5rem 4rem;
  padding-inline: 1.5625rem;
  gap: 1.5rem;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr auto;
  grid-template-areas: 'img' 'head' 'text' 'btn';
}

.p-topService__head {
  grid-area: head;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 1rem;
}

.p-topService__title {
  font-size: 1.4rem;
  font-weight: 500;
}

.p-topService__titleEn {
  display: block;
  width: auto;
  height: 2.75rem;
  -webkit-transition: -webkit-filter var(--hover-transition);
  transition: -webkit-filter var(--hover-transition);
  transition: filter var(--hover-transition);
  transition: filter var(--hover-transition),
    -webkit-filter var(--hover-transition);
}

.p-topService__titleEn img {
  height: inherit;
  width: inherit;
}

.p-topService__text {
  grid-area: text;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
}

.p-topService__btn {
  grid-area: btn;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}

.p-topService__img {
  grid-area: img;
}

/* modifier */

/* ===============================================
# MARK: p-topWorks
=============================================== */

.p-topWorks {
  overflow: hidden;
}

.p-topWorks__inner {
  -webkit-padding-before: 5rem;
  padding-block-start: 5rem;
  position: relative;
  z-index: 1;
}

.p-topWorks__hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.625rem;
  margin-inline: auto;
}

.p-topWorks__headingJa {
  font-size: 1.4rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.p-topWorks__headingJa::before {
  content: '';
  display: block;
  width: 0.8125rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--theme-red);
  border-radius: 100% 0 0 0;
}

.p-topWorks__headingEn {
  width: 12.25rem;
  position: relative;
  z-index: 0;
}

.p-topWorks__headingEn .p-topWorks__headingEn--black {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
}

.p-topWorks__headingEn .p-topWorks__headingEn--white {
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
}

.p-topWorks__lead {
  text-align: center;
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-before: 1.5rem;
  padding-block-start: 1.5rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-topWorks__container {
  -webkit-padding-after: 7.5rem;
  padding-block-end: 7.5rem;
  position: relative;
  z-index: 0;
}

.p-topWorks__container::before {
  content: '';
  position: absolute;
  bottom: -11.875rem;
  right: -11.4375rem;
  z-index: -1;
  pointer-events: none;
  display: block;
  width: 23.75rem;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #fbecd8;
}

.p-topWorks__slider {
  -webkit-padding-before: 6rem;
  padding-block-start: 6rem;
}

.p-topWorks__btn {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
  display: grid;
  place-items: center;
}

/* ===============================================
# MARK: p-topSales
=============================================== */

.p-topSales {
  background-color: var(--theme-base-light-gray);
}

.p-topSales__inner {
  -webkit-padding-before: 5rem;
  padding-block-start: 5rem;
}

.p-topSales__hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 0.625rem;
}

.p-topSales__headingJa {
  font-size: 1.4rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.p-topSales__headingJa::before {
  content: '';
  display: block;
  width: 0.8125rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--theme-red);
  border-radius: 100% 0 0 0;
}

.p-topSales__headingEn {
  width: 7.8125rem;
}

.p-topSales__lead {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-before: 1.5rem;
  padding-block-start: 1.5rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-topSales__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-padding-after: 10rem;
  padding-block-end: 10rem;
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

.p-topSales__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3.5rem;
}

.p-topSales__btn {
  display: grid;
  place-items: center;
}

.p-topSales__empty {
  display: grid;
  place-items: center;
  -webkit-padding-before: 3.5rem;
  padding-block-start: 3.5rem;
}

/* ===============================================
# MARK: p-topTopics
=============================================== */

.p-topTopics {
  padding-block: 9.375rem 7.5rem;
}

.p-topTopics__hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 1.5rem;
}

.p-topTopics__headingJa {
  font-size: 1.4rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.p-topTopics__headingJa::before {
  content: '';
  display: block;
  width: 0.8125rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--theme-red);
  border-radius: 100% 0 0 0;
}

.p-topTopics__headingEn {
  width: 13.0625rem;
}

.p-topTopics__lead {
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
}

.p-topTopics__list {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

.p-topTopics__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

/* ===============================================
# MARK: p-topMembers
=============================================== */

.p-topMembers {
  background-color: var(--theme-light-gray);
}

.p-topMembers__inner {
  padding-block: 7.5rem;
}

.p-topMembers__hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 0.75rem;
}

.p-topMembers__headingJa {
  font-size: 1.4rem;
  font-weight: 500;
}

.p-topMembers__headingEn {
  width: 10rem;
}

.p-topMembers__lead {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-before: 1.5rem;
  padding-block-start: 1.5rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-topMembers__btn {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
}

.p-topMembers__img {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
}

/* ===============================================
# MARK: p-concept
=============================================== */

.p-concept {
  background-color: var(--theme-base-light-gray);
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-concept__deco01 {
  display: block;
  position: absolute;
  z-index: -1;
  pointer-events: none;
  top: 0;
  right: 0;
  width: 14.125rem;
}

.p-concept__deco02 {
  display: block;
  position: absolute;
  z-index: -1;
  pointer-events: none;
  bottom: 0;
  left: 0;
  width: 100%;
}

/* ===============================================
# MARK: p-concept__heading
=============================================== */

.p-concept__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 0.75rem;
}

.p-concept__headingJa {
  font-family: var(--accentFont);
  font-weight: 500;
  font-size: 2.8rem;
}

.p-concept__headingEn {
  font-size: 1.6rem;
  color: var(--theme-red);
}

/* ===============================================
# MARK: p-conceptFv
=============================================== */

.p-conceptFv__inner {
  padding-block: 11.5625rem 5rem;
}

/* ===============================================
# MARK: p-conceptConcept
=============================================== */

.p-conceptConcept__inner {
  -webkit-padding-after: 10rem;
  padding-block-end: 10rem;
}

.p-conceptConcept__content {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
}

.p-conceptConcept__text {
  font-size: 1.5rem;
  line-height: 1.59375;
  letter-spacing: 0.06em;
}

.p-conceptConcept__movie {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
  aspect-ratio: 350/195;
}

.p-conceptConcept__movie iframe {
  width: 100%;
  height: 100%;
  display: block;
}

/* ===============================================
# MARK: p-conceptPhilosophy
=============================================== */

.p-conceptPhilosophy__inner {
  padding-block: 5rem;
}

.p-conceptPhilosophy__wrapper {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
}

.p-conceptPhilosophy__lead {
  font-size: 1.5rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
}

.p-conceptPhilosophy__container {
  -webkit-border-before: 0.0625rem solid #ababab;
  border-block-start: 0.0625rem solid #ababab;
  -webkit-border-after: 0.0625rem solid #ababab;
  border-block-end: 0.0625rem solid #ababab;
}

.p-conceptPhilosophy__list {
  display: grid;
  grid-template-columns: 1fr;
}

.p-conceptPhilosophy__item {
  display: grid;
  grid-template-areas: 'img' 'title' 'text';
  grid-template-rows: auto auto 1fr;
  padding-block: 1.5rem;
  padding-inline: 1rem;
  -webkit-border-start: 0.0625rem solid #ababab;
  border-inline-start: 0.0625rem solid #ababab;
  -webkit-border-end: 0.0625rem solid #ababab;
  border-inline-end: 0.0625rem solid #ababab;
}

.p-conceptPhilosophy__item:not(:first-of-type) {
  -webkit-border-before: 0.0625rem solid #ababab;
  border-block-start: 0.0625rem solid #ababab;
}

.p-conceptPhilosophy__title {
  grid-area: title;
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
  font-size: 2rem;
  line-height: 1.6;
  text-align: center;
}

.p-conceptPhilosophy__text {
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 300;
  letter-spacing: 0.02em;
  text-align: justify;
}

.p-conceptPhilosophy__img {
  grid-area: img;
}

.p-conceptPhilosophy__img img {
  aspect-ratio: 318/188;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

/* ===============================================
# MARK: p-conceptMessage
=============================================== */

.p-conceptMessage__inner {
  padding-block: 5rem;
}

.p-conceptMessage__lead {
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 600;
  font-family: var(--accentFont);
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
}

.p-conceptMessage__container {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  display: grid;
  grid-template-areas: 'img' 'content' 'name';
  grid-template-columns: 1fr;
  gap: 2.5rem;
}

.p-conceptMessage__hgroup {
  grid-area: name;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.25rem;
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
}

.p-conceptMessage__position {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.p-conceptMessage__name {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
}

.p-conceptMessage__img {
  grid-area: img;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.p-conceptMessage__img img {
  aspect-ratio: 446/320;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

.p-conceptMessage__content {
  grid-area: content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
}

.p-conceptMessage__text {
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

/* ===============================================
# MARK: p-conceptMessage__footer
=============================================== */

.p-conceptMessage__footer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: end;
  gap: 0.25rem;
  height: 10.25rem;
  width: 100%;
  position: relative;
  z-index: 0;
  pointer-events: none;
}

.p-conceptMessage__footer::before {
  content: '';
  position: absolute;
  z-index: 1;
  display: block;
  width: 100%;
  height: 2.5rem;
  left: 0;
  top: -0.625rem;
  background-image: url(footer_mask_sp.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.p-conceptMessage__footerImg {
  height: inherit;
}

.p-conceptMessage__footerImg picture,
.p-conceptMessage__footerImg img {
  aspect-ratio: 193/164;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 0%;
  object-position: 50% 0%;
  width: 100%;
  height: inherit;
}

/* ===============================================
# MARK: p-featureFv
=============================================== */

.p-featureFv {
  background-color: var(--theme-base-light-gray);
  background-image: url(bg_deco_page_fv_sp.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 9.5625rem 11.8125rem;
}

.p-featureFv__inner {
  padding-block: 11.5625rem 5rem;
}

/* ===============================================
# MARK: p-featureFeature
=============================================== */

.p-featureFeature {
  background-color: var(--theme-base-light-gray);
}

.p-featureFeature__list {
  overflow: hidden;
}

.p-featureFeature__hgroup {
  grid-area: hgroup;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.p-featureFeature__num {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  font-family: var(--enText);
  color: var(--theme-red);
}

.p-featureFeature__heading {
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 500;
  word-break: keep-all;
}

.p-featureFeature__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.p-featureFeature__text {
  grid-area: text;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.p-featureFeature__btn {
  grid-area: btn;
}

/* ===============================================
# MARK: p-featureFeature__primaryItem
=============================================== */

.p-featureFeature__primaryItem {
  -webkit-border-before: 0.0625rem solid #ababab;
  border-block-start: 0.0625rem solid #ababab;
}

.p-featureFeature__primaryInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 2.5rem;
  background-color: color-mix(in lch, var(--theme-white), transparent 50%);
  max-width: min(100% - 40px, 30rem - 40px);
  -webkit-border-start: 0.0625rem solid #ababab;
  border-inline-start: 0.0625rem solid #ababab;
  -webkit-border-end: 0.0625rem solid #ababab;
  border-inline-end: 0.0625rem solid #ababab;
  padding-block: 2.5rem;
}

.p-featureFeature__primaryContent {
  background-color: color-mix(in lch, var(--theme-white), transparent 50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

.p-featureFeature__primaryImg picture,
.p-featureFeature__primaryImg img {
  aspect-ratio: 346/436;
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
  width: auto;
}

/* modifier */

/* hover */

/* ===============================================
# MARK: p-featureFeature__secondaryItem
=============================================== */

.p-featureFeature__secondaryItem {
  -webkit-border-before: 0.0625rem solid #ababab;
  border-block-start: 0.0625rem solid #ababab;
}

.p-featureFeature__inner {
  padding-block: 5rem;
  display: grid;
  grid-template-areas: 'img' 'hgroup' 'content' 'btn';
  gap: 2.5rem;
}

.p-featureFeature__secondaryImg {
  grid-area: img;
  max-width: 33.25rem;
  margin-inline: auto;
}

/* ===============================================
# MARK: p-featureCta
=============================================== */

.p-featureCta {
  background-color: var(--theme-base-light-gray);
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-featureCta::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  pointer-events: none;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: min(24.375rem, 100%);
  height: 6.4375rem;
  margin-inline: auto;
  background-image: url(bg_cta_sp.svg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-featureCta__inner {
  padding-block: 7.5rem 8.75rem;
}

.p-featureCta__heading {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 500;
  text-align: center;
  font-family: var(--accentFont);
}

.p-featureCta__text {
  font-size: 1.5rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
  text-align: center;
  -webkit-margin-before: 2.25rem;
  margin-block-start: 2.25rem;
}

.p-featureCta__btn {
  -webkit-margin-before: 2.25rem;
  margin-block-start: 2.25rem;
  display: grid;
  place-items: center;
}

/* ===============================================
# MARK: p-companyFv
=============================================== */

.p-companyFv {
  background-color: var(--theme-base-light-gray);
  background-image: url(bg_deco_page_fv_sp.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 9.5625rem 11.8125rem;
}

.p-companyFv__inner {
  padding-block: 11.5625rem 5rem;
}

/* ===============================================
# MARK: p-companyOverview
=============================================== */

.p-companyOverview__inner {
  position: relative;
  z-index: 0;
  padding-block: 5rem 7.5rem;
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  gap: 2.5rem;
}

.p-companyOverview__heading {
  font-size: 2rem;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.p-companyOverview__heading::before {
  content: '';
  display: block;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background-color: var(--theme-red);
}

.p-companyOverview__list {
  -webkit-border-after: 0.0625rem solid #dedede;
  border-block-end: 0.0625rem solid #dedede;
}

.p-companyOverview__row {
  display: grid;
  grid-template-columns: 9rem 1fr;
  padding-block: 1.125rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-companyOverview__head {
  font-size: 1.3rem;
}

.p-companyOverview__body {
  font-size: 1.4rem;
  font-weight: 500;
}

.p-companyOverview__bodyMail {
  display: inline-block;
  margin-inline: 0 auto;
  height: 1em;
  -webkit-margin-before: 0;
  margin-block-start: 0;
  -webkit-transform: translateY(0.2em);
  transform: translateY(0.2em);
}

.p-companyOverview__bodyMail svg {
  display: block;
  width: 90%;
  height: 100%;
}

/* ===============================================
# MARK: p-companyGroup
=============================================== */

.p-companyGroup {
  background-color: var(--theme-base-light-gray);
}

.p-companyGroup__inner {
  position: relative;
  z-index: 0;
  padding-block: 5rem 7.5rem;
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  gap: 2.5rem;
}

.p-companyGroup__heading {
  font-size: 2rem;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.p-companyGroup__heading::before {
  content: '';
  display: block;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background-color: var(--theme-red);
}

.p-companyGroup__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3.5rem;
}

.p-companyGroup__link {
  display: grid;
  grid-template-areas: 'img' 'title' 'text';
  gap: 0.75rem;
}

.p-companyGroup__title {
  grid-area: title;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 500;
  position: relative;
  z-index: 0;
  text-decoration-line: underline;
  text-decoration-color: color-mix(in lch, currentColor, transparent 100%);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-transition: text-decoration-color var(--hover-transition);
  transition: text-decoration-color var(--hover-transition);
}

.p-companyGroup__title::after {
  content: '';
  position: absolute;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  pointer-events: none;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  background-color: var(--theme-icon);
  -webkit-mask: url(icon_external.svg) no-repeat center/contain;
  mask: url(icon_external.svg) no-repeat center/contain;
}

.p-companyGroup__text {
  grid-area: text;
  -webkit-padding-before: 0.75rem;
  padding-block-start: 0.75rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-companyGroup__img {
  grid-area: img;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
}

.p-companyGroup__img img {
  aspect-ratio: 350/200;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

/* ===============================================
# MARK: hover
=============================================== */

/* ===============================================
# MARK: p-companyMembers
=============================================== */

.p-companyMembers__inner {
  position: relative;
  z-index: 0;
  padding-block: 5rem;
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  gap: 2.5rem;
}

.p-companyMembers__heading {
  font-size: 2rem;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.p-companyMembers__heading::before {
  content: '';
  display: block;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background-color: var(--theme-red);
}

.p-companyMembers__lead {
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.p-companyMembers__btns {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

/* ===============================================
# MARK: p-buildFv
=============================================== */

.p-buildFv {
  background-image: url(bg_deco_fv_build.svg);
  background-position: right calc(100% - 3.375rem);
  background-repeat: no-repeat;
  background-size: 100% 12.625rem;
}

.p-buildFv__inner {
  padding-block: 11.5625rem 17.875rem;
}

/* ===============================================
# MARK: p-buildAbout
=============================================== */

.p-buildAbout {
  background-color: var(--theme-base-light-gray);
  overflow: hidden;
}

.p-buildAbout__inner {
  padding-block: 3.5rem 2.5rem;
}

.p-buildAbout__heading {
  font-size: 2.4rem;
  font-weight: 500;
  font-family: var(--accentFont);
}

.p-buildAbout__container {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
}

.p-buildAbout__gallery {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
}

.p-buildAbout__img {
  overflow: hidden;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.p-buildAbout__img img {
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
  -webkit-transform-origin: center top;
  transform-origin: center top;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

/* modifier */

.p-buildAbout__img.p-buildAbout__img--large {
  width: 20.75rem;
  -webkit-margin-start: -20px;
  margin-inline-start: -20px;
  aspect-ratio: 609/423;
  overflow: hidden;
}

.p-buildAbout__img.p-buildAbout__img--large img {
  position: absolute;
  left: 0;
  bottom: 0rem;
}

.p-buildAbout__img.p-buildAbout__img--small {
  width: 10rem;
  -webkit-margin-before: 7rem;
  margin-block-start: 7rem;
  -webkit-margin-start: 1.25rem;
  margin-inline-start: 1.25rem;
  aspect-ratio: 260/180;
  overflow: hidden;
}

.p-buildAbout__img.p-buildAbout__img--small img {
  position: absolute;
  left: 0;
  bottom: 0rem;
}

.p-buildAbout__img.p-buildAbout__img--tall {
  width: 6.25rem;
  -webkit-margin-before: -8.6875rem;
  margin-block-start: -8.6875rem;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  -webkit-margin-end: -1.25rem;
  margin-inline-end: -1.25rem;
  aspect-ratio: 200/401;
  overflow: hidden;
}

.p-buildAbout__img.p-buildAbout__img--tall img {
  position: absolute;
  left: 0;
  bottom: 0rem;
}

/* ===============================================
# MARK: p-buildFeature
=============================================== */

.p-buildFeature {
  background-color: var(--theme-base-dark-grey);
}

.p-buildFeature__inner {
  padding-block: 5rem 7.5rem;
}

.p-buildFeature__lead {
  color: var(--theme-white);
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  -webkit-border-before: 0.0625rem solid #888;
  border-block-start: 0.0625rem solid #888;
}

/* ===============================================
# MARK: p-buildFeature__foundation
=============================================== */

.p-buildFeature__foundation {
  -webkit-margin-before: 5rem;
  margin-block-start: 5rem;
}

.p-buildFeature__foundationContainer {
  aspect-ratio: 1/1;
  width: 19.125rem;
  height: 19.125rem;
  border-radius: 50%;
  border: 0.0625rem solid #ababab;
  margin-inline: auto;
  position: relative;
  z-index: 0;
  display: grid;
  place-items: center;
}

.p-buildFeature__foundationHgroup {
  width: 13.0625rem;
  height: 13.0625rem;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    color-mix(in lch, #9a8b76, transparent 68%) 0%,
    color-mix(in lch, #929292, transparent 68%) 100%
  );
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.4375rem;
  position: relative;
  z-index: 0;
}

.p-buildFeature__foundationHgroup::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, calc(-50% + 3.625rem));
  transform: translate(-50%, calc(-50% + 3.625rem));
  display: block;
  width: 1.875rem;
  height: 1.875rem;
  background-image: url(foundation_icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-buildFeature__foundationHeading {
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--theme-main);
  text-align: center;
  -webkit-margin-before: -0.5625rem;
  margin-block-start: -0.5625rem;
}

.p-buildFeature__foundationLead {
  color: var(--theme-white);
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
}

.p-buildFeature__foundationList {
  counter-reset: foundationNum 0;
  position: absolute;
  inset: 0;
  z-index: 1;
}

.p-buildFeature__foundationItem {
  position: absolute;
  counter-increment: foundationNum 1;
  font-size: 1.1rem;
  text-align: center;
  color: var(--theme-white);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 8.75rem;
  height: 8.75rem;
  border-radius: 50%;
  background: radial-gradient(circle, #9a8b76 0%, #929292 100%);
  gap: 0.1875rem;
}

.p-buildFeature__foundationItem::before {
  content: counter(foundationNum, decimal-leading-zero);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--theme-main);
}

/* modifier */

.p-buildFeature__foundationItem:nth-of-type(1) {
  top: -2.125rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-buildFeature__foundationItem:nth-of-type(2) {
  left: -1.3125rem;
  bottom: 0;
}

.p-buildFeature__foundationItem:nth-of-type(3) {
  right: -1.3125rem;
  bottom: 0;
}

/* ===============================================
# MARK: p-buildFeature__point
=============================================== */

.p-buildFeature__point {
  -webkit-margin-before: 6rem;
  margin-block-start: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.5rem;
}

.p-buildFeature__item {
  background-color: color-mix(in lch, var(--theme-white), transparent 90%);
  padding-block: 1.25rem;
  padding-inline: 1.25rem;
  display: grid;
  grid-template-areas: 'num' 'img' 'content';
}

.p-buildFeature__itemNum {
  grid-area: num;
  font-family: var(--enText);
  color: var(--theme-main);
  letter-spacing: 0.02em;
}

.p-buildFeature__itemContent {
  grid-area: content;
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}

.p-buildFeature__itemTitle {
  font-weight: 500;
  font-size: 1.6rem;
  color: var(--theme-white);
}

.p-buildFeature__itemText {
  font-size: 1.4rem;
  color: var(--theme-white);
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}

.p-buildFeature__itemImg {
  grid-area: img;
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
}

.p-buildFeature__itemImg img {
  aspect-ratio: 310/232;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

/* ===============================================
# MARK: p-buildSupport
=============================================== */

.p-buildSupport {
  background-color: var(--theme-base-light-gray);
}

.p-buildSupport__inner {
  padding-block: 5rem 5rem;
}

.p-buildSupport__lead {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-buildSupport__list {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.25rem 3.125rem;
}

.p-buildSupport__img img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
  object-fit: contain;
  height: auto;
}

.p-buildSupport__caption {
  font-size: 1.4rem;
  text-align: center;
  font-weight: 500;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}

/* ===============================================
# MARK: p-buy
=============================================== */

.p-buy {
  position: relative;
  z-index: 0;
}

.p-buy__bg {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: 0;
}

.p-buy__deco {
  display: block;
  position: absolute;
  top: 19.3125rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: min(89.7435897436%, 24.375rem);
  -webkit-padding-after: 2.5rem;
  padding-block-end: 2.5rem;
}

/* ===============================================
# MARK: p-buyFv
=============================================== */

.p-buyFv__inner {
  padding-block: 11.5625rem 17.875rem;
}

/* ===============================================
# MARK: p-buyAbout
=============================================== */

.p-buyAbout {
  padding-block: 3.5rem 5rem;
}

.p-buyAbout__heading {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 500;
  font-family: var(--accentFont);
}

.p-buyAbout__body {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
}

/* ===============================================
# MARK: p-buyFeature
=============================================== */

.p-buyFeature {
  background-color: var(--theme-base-dark-grey);
}

.p-buyFeature__inner {
  padding-block: 5rem 7.5rem;
}

.p-buyFeature__lead {
  color: var(--theme-white);
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  -webkit-border-before: 0.0625rem solid #888;
  border-block-start: 0.0625rem solid #888;
}

/* ===============================================
# MARK: p-buyFeature__foundation
=============================================== */

.p-buyFeature__foundation {
  -webkit-margin-before: 5rem;
  margin-block-start: 5rem;
}

.p-buyFeature__foundationContainer {
  aspect-ratio: 1/1;
  width: 19.125rem;
  height: 19.125rem;
  border-radius: 50%;
  border: 0.0625rem solid #ababab;
  margin-inline: auto;
  position: relative;
  z-index: 0;
  display: grid;
  place-items: center;
}

.p-buyFeature__foundationHgroup {
  width: 13.0625rem;
  height: 13.0625rem;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    color-mix(in lch, #9a8b76, transparent 68%) 0%,
    color-mix(in lch, #929292, transparent 68%) 100%
  );
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.4375rem;
  position: relative;
  z-index: 0;
}

.p-buyFeature__foundationHgroup::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, calc(-50% + 3.625rem));
  transform: translate(-50%, calc(-50% + 3.625rem));
  display: block;
  width: 1.875rem;
  height: 1.875rem;
  background-image: url(foundation_icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-buyFeature__foundationHeading {
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--theme-main);
  text-align: center;
  -webkit-margin-before: -0.5625rem;
  margin-block-start: -0.5625rem;
}

.p-buyFeature__foundationLead {
  color: var(--theme-white);
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
}

.p-buyFeature__foundationList {
  counter-reset: foundationNum 0;
  position: absolute;
  inset: 0;
  z-index: 1;
}

.p-buyFeature__foundationItem {
  position: absolute;
  counter-increment: foundationNum 1;
  font-size: 1.1rem;
  text-align: center;
  color: var(--theme-white);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 8.75rem;
  height: 8.75rem;
  border-radius: 50%;
  background: radial-gradient(circle, #9a8b76 0%, #929292 100%);
  gap: 0.1875rem;
}

.p-buyFeature__foundationItem::before {
  content: counter(foundationNum, decimal-leading-zero);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--theme-main);
}

/* modifier */

.p-buyFeature__foundationItem:nth-of-type(1) {
  top: -2.125rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-buyFeature__foundationItem:nth-of-type(2) {
  left: -1.3125rem;
  bottom: 0;
}

.p-buyFeature__foundationItem:nth-of-type(3) {
  right: -1.3125rem;
  bottom: 0;
}

/* ===============================================
# MARK: p-buyFeature__point
=============================================== */

.p-buyFeature__point {
  -webkit-margin-before: 6rem;
  margin-block-start: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.5rem;
}

.p-buyFeature__item {
  background-color: color-mix(in lch, var(--theme-white), transparent 90%);
  padding-block: 1.25rem;
  padding-inline: 1.25rem;
  display: grid;
  grid-template-areas: 'num' 'img' 'content';
}

.p-buyFeature__itemNum {
  grid-area: num;
  font-family: var(--enText);
  color: var(--theme-main);
  letter-spacing: 0.02em;
}

.p-buyFeature__itemContent {
  grid-area: content;
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}

.p-buyFeature__itemTitle {
  font-weight: 500;
  font-size: 1.6rem;
  color: var(--theme-white);
}

.p-buyFeature__itemText {
  font-size: 1.4rem;
  color: var(--theme-white);
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}

.p-buyFeature__itemImg {
  grid-area: img;
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
}

.p-buyFeature__itemImg img {
  aspect-ratio: 310/232;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

/* ===============================================
# MARK: p-renovation
=============================================== */

.p-renovation {
  position: relative;
  z-index: 0;
}

.p-renovation__bg {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: 0;
}

.p-renovation__deco {
  display: block;
  position: absolute;
  top: 19.8125rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: min(94.8717948718%, 24.375rem);
  -webkit-padding-after: 2.5rem;
  padding-block-end: 2.5rem;
}

/* ===============================================
# MARK: p-renovationFv
=============================================== */

.p-renovationFv__inner {
  padding-block: 11.5625rem 17.875rem;
}

/* ===============================================
# MARK: p-renovationAbout
=============================================== */

.p-renovationAbout {
  padding-block: 3.5rem 5rem;
}

.p-renovationAbout__heading {
  font-size: 2.2rem;
  line-height: 1.6;
  font-weight: 500;
  font-family: var(--accentFont);
}

.p-renovationAbout__body {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
}

/* ===============================================
# MARK: p-renovationSolution
=============================================== */

.p-renovationSolution {
  background-color: var(--theme-base-light-gray);
}

.p-renovationSolution__inner {
  padding-block: 5rem 7.5rem;
}

.p-renovationSolution__lead {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  -webkit-border-before: 0.0625rem solid #888;
  border-block-start: 0.0625rem solid #888;
}

.p-renovationSolution__container {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
}

.p-renovationSolution__list {
  background-color: var(--theme-white);
  border-radius: 1.25rem;
  padding-block: 0.5rem 1.5rem;
  padding-inline: 1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.625rem 0.75rem;
}

.p-renovationSolution__caption {
  font-size: 1.3rem;
  font-weight: 500;
  text-align: center;
}

.p-renovationSolution__dot {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.625rem;
}

.p-renovationSolution__dot::before,
.p-renovationSolution__dot::after,
.p-renovationSolution__dot span {
  content: '';
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #ababab;
}

.p-renovationSolution__dot::before {
  background-color: #dedede;
}

.p-renovationSolution__dot::after {
  background-color: #444;
}

/* ===============================================
# MARK: p-renovationSolution__promise
=============================================== */

.p-renovationSolution__promise {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  padding-inline: 1.25rem;
}

.p-renovationSolution__promiseInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

.p-renovationSolution__promiseImg {
  width: 100%;
}

.p-renovationSolution__promiseImg img {
  aspect-ratio: 310/231;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

/* ===============================================
# MARK: p-salesFv
=============================================== */

.p-salesFv {
  background-color: var(--theme-base-light-gray);
  background-image: url(bg_deco_page_fv_sp.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 9.5625rem 11.8125rem;
}

.p-salesFv__inner {
  padding-block: 11.5625rem 5rem;
}

/* ===============================================
# MARK: p-salesNarrow
=============================================== */

.p-salesNarrow__inner {
  padding-block: 2rem 1rem;
}

.p-salesNarrow__container {
  padding-block: 4.5rem 8.75rem;
  background-color: var(--theme-base-light-gray);
  position: fixed;
  width: 100%;
  height: 100%;
  height: 100dvh;
  top: 0;
  left: 0;
  z-index: 100000;
  padding-inline: 20px;
  margin-inline: auto;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
}

.p-salesNarrow__heading {
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}

.p-salesNarrow__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  margin-inline: auto;
  max-width: 30rem;
}

.p-salesNarrow__row {
  padding-block: 0.75rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.25rem;
}

.p-salesNarrow__row:not(:first-of-type) {
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
}

.p-salesNarrow__head {
  font-size: 1.4rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.p-salesNarrow__head::before {
  content: '';
  display: block;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background-color: var(--theme-red);
}

.p-salesNarrow__list {
  -webkit-margin-before: 0.25rem;
  margin-block-start: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.75rem 0.5rem;
}

.p-salesNarrow__item {
  position: relative;
  z-index: 0;
}

.p-salesNarrow__item input[type='checkbox'] {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
}

.p-salesNarrow__item input[type='checkbox']:focus ~ label {
  outline: 2px solid var(--theme-blue);
}

.p-salesNarrow__label {
  cursor: pointer;
  display: inline-block;
  padding-block: 0.375rem;
  padding-inline: 1rem;
  font-size: 1.4rem;
  border-radius: 100vmax;
  background-color: var(--theme-white);
  color: var(--theme-sub-text);
  border: 1px dashed currentColor;
}

.p-salesNarrow__label:focus {
  outline: 2px solid var(--theme-blue);
}

/* modifier */

.p-salesNarrow__item.is-current .p-salesNarrow__label {
  border-style: solid;
  background-color: var(--theme-black);
  color: var(--theme-white);
}

.p-salesNarrow__item input[type='checkbox']:checked ~ .p-salesNarrow__label {
  border-style: solid;
  background-color: var(--theme-black);
  color: var(--theme-white);
}

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

/* ===============================================
# MARK: p-salesNarrow__search
=============================================== */

.p-salesNarrow__search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  gap: 1.25rem;
}

.p-salesNarrow__searchBtn {
  padding-block: 0.625rem;
  padding-inline: 1.375rem;
  background-color: var(--theme-black);
  color: var(--theme-white);
  border-radius: 100vmax;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.p-salesNarrow__searchBtn::before {
  content: '';
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--theme-main);
  -webkit-mask: url(icon_search.svg) no-repeat center/contain;
  mask: url(icon_search.svg) no-repeat center/contain;
}

.p-salesNarrow__reset {
  font-size: 1.4rem;
  color: var(--theme-sub-text);
  text-align: center;
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

/* ===============================================
# MARK: p-salesNarrow__close
=============================================== */

.p-salesNarrow__close {
  position: absolute;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 0.0625rem solid var(--theme-black);
  top: 1.25rem;
  right: 1.25rem;
  z-index: 1;
  cursor: pointer;
}

.p-salesNarrow__close::before,
.p-salesNarrow__close::after {
  content: '';
  display: block;
  width: 0.875rem;
  height: 0.125rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
  background-color: var(--theme-black);
}

.p-salesNarrow__close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* ===============================================
# MARK: p-salesResult
=============================================== */

.p-salesResult__inner {
  padding-block: 1rem 0;
}

.p-salesResult__heading {
  font-weight: 500;
}

.p-salesResult__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 0.625rem;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}

.p-salesResult__item {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-salesResult__item:not(:first-of-type) {
  -webkit-padding-start: 1.125rem;
  padding-inline-start: 1.125rem;
}

.p-salesResult__item:not(:first-of-type)::before {
  content: '';
  position: absolute;
  display: block;
  height: 0.0625rem;
  width: 0.5rem;
  background-color: currentColor;
  top: 0.6875rem;
  left: 0;
}

.p-salesResult__itemHead {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.4;
  color: var(--theme-sub-text);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-salesResult__itemBody {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.4;
  color: var(--theme-sub-text);
}

/* ===============================================
# MARK: p-salesArchive
=============================================== */

.p-salesArchive__inner {
  padding-block: 2.5rem 7.5rem;
}

.p-salesArchive__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3.5rem;
}

.p-salesArchive__empty {
  text-align: center;
  padding-block: 1.875rem;
}

/* ===============================================
# MARK: p-salesSingle
=============================================== */

.p-salesSingle {
  position: relative;
  z-index: 0;
}

/* ===============================================
# MARK: p-salesSingleFv
=============================================== */

.p-salesSingleFv {
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: var(--theme-base-light-gray);
}

.p-salesSingleFv__inner {
  padding-block: 5.8125rem 5rem;
  overflow: hidden;
}

.p-salesSingleFv__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 1.25rem;
  max-width: 30rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}

.p-salesSingleFv__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: stretch;
  -ms-flex-pack: stretch;
  justify-content: stretch;
  gap: 1.5rem;
}

.p-salesSingleFv__contracted {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--theme-red);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
}

.p-salesSingleFv__contracted::before {
  content: '';
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-margin-before: 0.0625rem;
  margin-block-start: 0.0625rem;
  background-image: url(icon_exclamation.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-salesSingleFv__title {
  -webkit-margin-before: 0.25rem;
  margin-block-start: 0.25rem;
  font-size: 1.8rem;
  font-weight: 500;
  -webkit-padding-after: 0.75rem;
  padding-block-end: 0.75rem;
  -webkit-border-after: 0.0625rem solid #dedede;
  border-block-end: 0.0625rem solid #dedede;
}

.p-salesSingleFv__conceptHead {
  font-size: 1.6rem;
  font-family: var(--enText);
  color: var(--theme-red);
}

.p-salesSingleFv__conceptBody {
  font-size: 1.6rem;
  font-weight: 500;
  -webkit-margin-before: 0.25rem;
  margin-block-start: 0.25rem;
}

.p-salesSingleFv__details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.125rem;
}

.p-salesSingleFv__detailsItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.875rem;
}

.p-salesSingleFv__detailsLabel {
  font-size: 1.4rem;
  color: var(--theme-sub-text);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.875rem;
}

.p-salesSingleFv__detailsLabel::after {
  content: '';
  display: block;
  width: 0.0625rem;
  height: 0.875rem;
  background-color: currentColor;
}

.p-salesSingleFv__detailsValue {
  font-size: 1.4rem;
}

.p-salesSingleFv__vis {
  width: 69.1428571429%;
  margin-inline: auto;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.p-salesSingleFv__vis img {
  aspect-ratio: 242/300;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

/* modifier */

.p-salesSingleFv__vis.p-salesSingleFv__vis--sold {
  position: relative;
  z-index: 0;
}

.p-salesSingleFv__vis.p-salesSingleFv__vis--sold::before {
  content: '';
  position: absolute;
  z-index: 10;
  inset: 0;
  background-color: color-mix(in lch, var(--theme-black), transparent 50%);
}

.p-salesSingleFv__vis.p-salesSingleFv__vis--sold::after {
  content: 'sold';
  position: absolute;
  z-index: 10;
  inset: 0;
  font-size: 2.4rem;
  font-weight: 500;
  font-family: var(--enText);
  text-transform: uppercase;
  display: grid;
  place-items: center;
  color: var(--theme-white);
}

/* ===============================================
# MARK: p-salesSingleConcept
=============================================== */

.p-salesSingleConcept {
  background-color: var(--theme-base-light-gray);
  position: sticky;
  z-index: 10;
  container-type: inline-size;
  container-name: gallery;
}

.p-salesSingleConcept__fullImg {
  width: auto;
  height: 21.25rem;
  margin-inline: calc(50% - 50vw);
  margin-inline: calc(50% - 50cqi);
  overflow: hidden;
}

.p-salesSingleConcept__fullImg img {
  aspect-ratio: 390/340;
  -o-object-fit: cover;
  object-fit: cover;
  width: min(100%, 85.375rem);
  width: 100%;
  height: inherit;
  margin-inline: auto;
}

.p-salesSingleConcept__inner {
  padding-block: 3.375rem;
}

.p-salesSingleConcept__heading {
  font-size: 2.2rem;
  font-weight: 500;
  font-family: var(--accentFont);
}

.p-salesSingleConcept__text {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
}

/* ===============================================
# MARK: p-salesSingleGallery
=============================================== */

.p-salesSingleGallery {
  background-color: var(--theme-base-light-gray);
  position: sticky;
  z-index: 20;
}

.p-salesSingleGallery__inner {
  -webkit-padding-after: 2.5rem;
  padding-block-end: 2.5rem;
}

.p-salesSingleGallery__column {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5rem;
}

.p-salesSingleGallery__img img {
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
  -webkit-margin-before: auto;
  margin-block-start: auto;
}

.p-salesSingleGallery__caption {
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

/* modifier */

.p-salesSingleGallery__column.p-salesSingleGallery__column--3column {
  -webkit-margin-before: 5rem;
  margin-block-start: 5rem;
}

.p-salesSingleGallery__img[data-img-size='sales_gallery_vertical'] img {
  aspect-ratio: 460/572;
}

.p-salesSingleGallery__img[data-img-size='sales_gallery_horizontal'] img {
  aspect-ratio: 586/400;
}

/* pattern */

/* ===============================================
# MARK: p-salesSingleFloorplan
=============================================== */

.p-salesSingleFloorplan {
  background-color: var(--theme-base-light-gray);
}

.p-salesSingleFloorplan__inner {
  padding-block: 5rem 2.5rem;
}

.p-salesSingleFloorplan__container {
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}

.p-salesSingleFloorplan__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 1.375rem;
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}

.p-salesSingleFloorplan__item {
  position: relative;
  z-index: 0;
  cursor: pointer;
}

.p-salesSingleFloorplan__item::before {
  content: '';
  position: absolute;
  pointer-events: none;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  top: 0.625rem;
  right: 0.625rem;
  background-color: var(--theme-icon);
  -webkit-mask: url(icon_zoomin.svg) no-repeat center/contain;
  mask: url(icon_zoomin.svg) no-repeat center/contain;
}

.p-salesSingleFloorplan__img img {
  aspect-ratio: 340/340;
  -o-object-fit: contain;
  object-fit: contain;
  height: auto;
  background-color: var(--theme-white);
}

.p-salesSingleFloorplan__caption {
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  text-align: center;
}

/* ===============================================
# MARK: p-salesSingleFloorplan__modal
=============================================== */

.p-salesSingleFloorplan__modal {
  margin: auto;
  padding: 0;
  border: none;
  overflow: visible;
  background-color: transparent;
  -ms-overflow-style: none;
  scrollbar-width: none;
  -webkit-transition: opacity var(--hover-transition),
    scale var(--hover-transition);
  transition: opacity var(--hover-transition), scale var(--hover-transition);
}

.p-salesSingleFloorplan__modal::-webkit-scrollbar {
  display: none;
}

.p-salesSingleFloorplan__modal:not([data-active='true']) {
  opacity: 0;
  scale: 0.95;
}

.p-salesSingleFloorplan__modal::-webkit-backdrop {
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.p-salesSingleFloorplan__modal::backdrop {
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.p-salesSingleFloorplan__modal:not([data-active='true'])::-webkit-backdrop {
  opacity: 0;
}

.p-salesSingleFloorplan__modal:not([data-active='true'])::backdrop {
  opacity: 0;
}

.p-salesSingleFloorplan__modalContainer {
  margin: 3.25rem auto auto auto;
  padding: 0;
  width: min(30rem - 40px, 100%);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  max-height: calc(90vh - 3.25rem);
  background-color: var(--theme-white);
  display: grid;
  place-items: center;
  position: relative;
  z-index: 0;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.p-salesSingleFloorplan__modalContainer::-webkit-scrollbar {
  display: none;
}

.p-salesSingleFloorplan__modalImg {
  width: 100%;
}

.p-salesSingleFloorplan__modalImg img {
  aspect-ratio: 340/340;
  -o-object-fit: contain;
  object-fit: contain;
  height: auto;
  background-color: var(--theme-white);
}

.p-salesSingleFloorplan__modalClose {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  cursor: pointer;
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  color: var(--theme-black);
  background-color: var(--theme-white);
  border: 0.0625rem solid currentColor;
}

.p-salesSingleFloorplan__modalClose::before,
.p-salesSingleFloorplan__modalClose::after {
  content: '';
  display: block;
  width: 1.0625rem;
  height: 0.0625rem;
  background-color: currentColor;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.p-salesSingleFloorplan__modalClose::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.p-salesSingleFloorplan__modalCloseText {
  display: none;
}

/* ===============================================
# MARK: p-salesSinglePoint
=============================================== */

.p-salesSinglePoint {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(var(--theme-base-light-gray)),
    color-stop(23.75rem, var(--theme-base))
  );
  background: linear-gradient(
    to bottom,
    var(--theme-base-light-gray) 0%,
    var(--theme-base) 23.75rem
  );
}

.p-salesSinglePoint__inner {
  -webkit-padding-before: 5rem;
  padding-block-start: 5rem;
}

.p-salesSinglePoint__container {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-after: 2.5rem;
  padding-block-end: 2.5rem;
}

.p-salesSinglePoint__list {
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-salesSinglePoint__item {
  -webkit-border-after: 0.0625rem solid #dedede;
  border-block-end: 0.0625rem solid #dedede;
}

.p-salesSinglePoint__itemContent {
  background-color: color-mix(in lch, var(--theme-white), transparent 50%);
  -webkit-border-start: 0.0625rem solid #dedede;
  border-inline-start: 0.0625rem solid #dedede;
  -webkit-border-end: 0.0625rem solid #dedede;
  border-inline-end: 0.0625rem solid #dedede;
  display: grid;
  grid-template-areas: 'img' 'num' 'title' 'text';
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-block: 2rem;
  padding-inline: 1.5625rem;
}

.p-salesSinglePoint__num {
  grid-area: num;
  font-size: 1.6rem;
  color: var(--theme-red);
  font-family: var(--enText);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
}

.p-salesSinglePoint__title {
  grid-area: title;
  font-size: 1.8rem;
  font-weight: 500;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}

.p-salesSinglePoint__text {
  grid-area: text;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
}

.p-salesSinglePoint__img {
  grid-area: img;
}

/* modifier */

/* ===============================================
# MARK: p-salesSingleInterior
=============================================== */

.p-salesSingleInterior__inner {
  padding-block: 5rem 1.25rem;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-salesSingleInterior__inner::before {
  content: '';
  position: absolute;
  z-index: -1;
  bottom: -0.5rem;
  right: -0.5rem;
  display: block;
  width: 18.375rem;
  height: 4.625rem;
  background-image: url(text_interior.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-salesSingleInterior__container {
  position: relative;
  z-index: 1;
  padding-block: 2.5rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
  background-color: var(--theme-base);
}

.p-salesSingleInterior__list {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem 1.375rem;
}

.p-salesSingleInterior__img img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

.p-salesSingleInterior__imgCaption {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  font-size: 1.4rem;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}

/* ===============================================
# MARK: p-salesSingleOutline
=============================================== */

.p-salesSingleOutline {
  padding-block: 5rem 2.5rem;
}

.p-salesSingleOutline__content {
  -webkit-border-start: 0.0625rem solid #dedede;
  border-inline-start: 0.0625rem solid #dedede;
  -webkit-border-end: 0.0625rem solid #dedede;
  border-inline-end: 0.0625rem solid #dedede;
  padding-block: 2.5rem;
  padding-inline: 1.25rem;
}

.p-salesSingleOutline__title {
  font-size: 2.2rem;
  font-weight: 500;
  font-family: var(--enText);
}

/* ===============================================
# MARK: p-salesSingleOutline__data
=============================================== */

.p-salesSingleOutline__data {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-salesSingleOutline__dataRow {
  display: grid;
  grid-template-columns: 6.25rem 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-block: 0.375rem;
  -webkit-border-after: 0.0625rem solid #ebebeb;
  border-block-end: 0.0625rem solid #ebebeb;
}

.p-salesSingleOutline__dataLabel {
  font-size: 1.4rem;
  font-weight: 300;
}

.p-salesSingleOutline__dataValue {
  -webkit-padding-start: 1.5rem;
  padding-inline-start: 1.5rem;
  font-size: 1.4rem;
  font-weight: 300;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

/* ===============================================
# MARK: p-salesSingleOutline__price
=============================================== */

.p-salesSingleOutline__price {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
}

.p-salesSingleOutline__priceList {
  -webkit-margin-before: 0.25rem;
  margin-block-start: 0.25rem;
}

.p-salesSingleOutline__priceRow {
  display: grid;
  grid-template-columns: 6.25rem 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-block: 0.5rem;
  -webkit-border-after: 0.0625rem solid #ebebeb;
  border-block-end: 0.0625rem solid #ebebeb;
}

.p-salesSingleOutline__priceLabel {
  font-size: 1.4rem;
  font-weight: 300;
}

.p-salesSingleOutline__priceValue {
  -webkit-padding-start: 1.5rem;
  padding-inline-start: 1.5rem;
  font-size: 1.4rem;
  font-weight: 300;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.p-salesSingleOutline__priceNum {
  font-size: 1.8rem;
  font-weight: 600;
  -webkit-margin-end: 1rem;
  margin-inline-end: 1rem;
}

/* ===============================================
# MARK: p-salesSingleOutline__access
=============================================== */

.p-salesSingleOutline__access {
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
  -webkit-border-after: 0.0625rem solid #dedede;
  border-block-end: 0.0625rem solid #dedede;
}

.p-salesSingleOutline__map {
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
}

.p-salesSingleOutline__map iframe {
  width: 100%;
  height: 8.875rem;
}

.p-salesSingleOutline__caption {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  font-size: 1.4rem;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}

.p-salesSingleOutline__link {
  color: var(--theme-sub-text);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  position: relative;
  z-index: 0;
  -webkit-margin-after: 0.5rem;
  margin-block-end: 0.5rem;
}

.p-salesSingleOutline__link::after {
  content: '';
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--theme-icon);
  -webkit-mask: url(icon_external.svg) no-repeat center/contain;
  mask: url(icon_external.svg) no-repeat center/contain;
}

/* ===============================================
# MARK: p-salesSingleMessage
=============================================== */

.p-salesSingleMessage__inner {
  padding-block: 5rem 2.5rem;
}

.p-salesSingleMessage__container {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-before: 2.5rem;
  padding-block-start: 2.5rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-salesSingleMessage__title {
  font-size: 1.8rem;
  font-weight: 500;
}

.p-salesSingleMessage__text {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

/* ===============================================
# MARK: p-salesSingleContact
=============================================== */

.p-salesSingleContact {
  margin-block: 3.5rem;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(var(--theme-base)),
    color-stop(23.75rem, var(--theme-light-gray))
  );
  background: linear-gradient(
    to bottom,
    var(--theme-base) 0%,
    var(--theme-light-gray) 23.75rem
  );
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-salesSingleContact::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 500vw;
  height: 500vw;
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#d3c6b5),
    color-stop(23.75rem, var(--theme-light-gray))
  );
  background: linear-gradient(
    to bottom,
    #d3c6b5 0%,
    var(--theme-light-gray) 23.75rem
  );
}

.p-salesSingleContact__inner {
  padding-block: 7.5rem 2.5rem;
}

.p-salesSingleContact__heading {
  font-size: 4rem;
  line-height: 1;
  font-weight: 400;
  font-family: var(--enText);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
}

.p-salesSingleContact__heading::before {
  content: '';
  display: block;
  background-color: var(--theme-red);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 100% 0 0 0;
}

.p-salesSingleContact__heading::after {
  content: '';
  display: block;
  background-color: var(--theme-gray);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}

.p-salesSingleContact__text {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
  text-align: center;
}

/* ===============================================
# MARK: p-salesSingleContact__info
=============================================== */

.p-salesSingleContact__info {
  -webkit-margin-before: 2.75rem;
  margin-block-start: 2.75rem;
}

.p-salesSingleContact__infoTitle {
  font-weight: 500;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.p-salesSingleContact__infoText {
  font-weight: 500;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

/* ===============================================
# MARK: p-salesSingleContact__form
=============================================== */

.p-salesSingleContact__form {
  background-color: var(--theme-white);
  -webkit-margin-before: 4.25rem;
  margin-block-start: 4.25rem;
  padding-block: 5rem;
  padding-inline: 1rem;
}

/* ===============================================
# MARK: p-salesSingleContact__notice
=============================================== */

.p-salesSingleContact__notice {
  -webkit-padding-after: 5rem;
  padding-block-end: 5rem;
}

.p-salesSingleContact__noticeInner {
  -webkit-padding-after: 2.5rem;
  padding-block-end: 2.5rem;
  -webkit-border-after: 0.0625rem solid #ebebeb;
  border-block-end: 0.0625rem solid #ebebeb;
}

.p-salesSingleContact__noticeHead {
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
}

.p-salesSingleContact__noticeText {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
}

.p-salesSingleContact__noticeList {
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
}

.p-salesSingleContact__noticeLabel {
  font-weight: 600;
}

.p-salesSingleContact__noticeValue {
  -webkit-margin-before: 0.25rem;
  margin-block-start: 0.25rem;
}

/* ===============================================
# MARK: p-salesSingleOther
=============================================== */

.p-salesSingleOther__inner {
  padding-block: 10rem 11.375rem;
}

.p-salesSingleOther__heading {
  font-size: 2rem;
  font-weight: 500;
  font-family: var(--enText);
}

.p-salesSingleOther__container {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
}

.p-salesSingleOther__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3.75rem;
}

.p-salesSingleOther__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

/* ===============================================
# MARK: p-worksFv
=============================================== */

.p-worksFv {
  background-color: var(--theme-base-light-gray);
  background-image: url(bg_deco_page_fv_sp.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 9.5625rem 11.8125rem;
}

.p-worksFv__inner {
  padding-block: 11.5625rem 5rem;
}

/* modifier */

.p-worksFv.p-worksFv--first {
  background-image: none;
}

.p-worksFv.p-worksFv--first .p-worksFv__inner {
  padding-block: 11.5625rem 2.375rem;
}

/* ===============================================
# MARK: p-worksFv__contents
=============================================== */

.p-worksFv__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.75rem;
  -webkit-margin-before: 2.75rem;
  margin-block-start: 2.75rem;
}

.p-worksFv__visSlider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  /* ===============================================
  # MARK: p-worksFv Swiper
  =============================================== */
}

.p-worksFv__visSlider .swiper-container {
  position: relative;
}

.p-worksFv__visSlider .swiper {
  position: relative;
}

.p-worksFv__visSlider .swiper-wrapper {
  position: relative;
}

.p-worksFv__visSlider .swiper-horizontal > .swiper-pagination-bullets,
.p-worksFv__visSlider .swiper-pagination-bullets.swiper-pagination-horizontal,
.p-worksFv__visSlider .swiper-pagination-custom,
.p-worksFv__visSlider .swiper-pagination-fraction {
  position: static;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

.p-worksFv__visSlider
  .swiper-horizontal
  > .swiper-pagination-bullets
  .swiper-pagination-bullet,
.p-worksFv__visSlider
  .swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet {
  opacity: 1;
  background: #dedede;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  margin: 0;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.p-worksFv__visSlider
  .swiper-horizontal
  > .swiper-pagination-bullets
  .swiper-pagination-bullet.swiper-pagination-bullet-active,
.p-worksFv__visSlider
  .swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--theme-black);
}

.p-worksFv__img img {
  aspect-ratio: 350/268;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

.p-worksFv__content {
  /* ===============================================
  # MARK: p-worksFv__content Swiper
  =============================================== */
}

.p-worksFv__content .swiper-slide {
  padding-inline: 1.5rem 0;
}

.p-worksFv__link {
  display: grid;
  grid-template-areas: 'options arrow' 'title title';
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr;
  gap: 0.75rem;
}

.p-worksFv__title {
  grid-area: title;
  font-size: 1.4rem;
  font-weight: 500;
  height: 2.8rem;
  height: 2lh;
  overflow-wrap: anywhere;
  /* 収まらない場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 禁則処理を厳格に適用 */
  text-decoration-line: underline;
  text-decoration-color: color-mix(in lch, currentColor, transparent 100%);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-transition: text-decoration-color var(--hover-transition);
  transition: text-decoration-color var(--hover-transition);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-all;
}

.p-worksFv__options {
  grid-area: options;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.625rem;
}

.p-worksFv__options::before {
  content: '';
  display: block;
  height: 0.875rem;
  width: 0.0625rem;
  background-color: var(--theme-icon);
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.p-worksFv__num {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  font-size: 1.3rem;
  color: var(--theme-icon);
}

.p-worksFv__num::before {
  content: attr(data-num);
}

.p-worksFv__category {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  font-size: 1.3rem;
}

.p-worksFv__arrow {
  grid-area: arrow;
  -webkit-margin-before: 0.125rem;
  margin-block-start: 0.125rem;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  position: relative;
  z-index: 0;
  display: block;
  width: 0.6875rem;
  height: 0.6875rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  overflow: hidden;
}

.p-worksFv__arrow::before,
.p-worksFv__arrow::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--theme-icon);
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.p-worksFv__arrow::after {
  -webkit-transform: translate(calc(-50% - 1.5rem), -50%);
  transform: translate(calc(-50% - 1.5rem), -50%);
  background-color: currentColor;
}

/* hover */

/* ===============================================
# MARK: p-worksArchive
=============================================== */

.p-worksArchive {
  -webkit-border-before: 0.0625rem solid #ababab;
  border-block-start: 0.0625rem solid #ababab;
}

.p-worksArchive__inner {
  padding-block: 3.5rem 7.5rem;
}

.p-worksArchive__container {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

.p-worksArchive__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3.5rem;
}

.p-worksArchive__empty {
  text-align: center;
  padding-block: 1.875rem;
}

/* ===============================================
# MARK: p-worksSingle
=============================================== */

.p-worksSingle {
  position: relative;
  z-index: 0;
}

/* ===============================================
# MARK: p-worksSingleFv
=============================================== */

.p-worksSingleFv {
  position: sticky;
  top: 0;
  z-index: 0;
}

.p-worksSingleFv__inner {
  padding-block: 11.5625rem 5rem;
  overflow: hidden;
}

.p-worksSingleFv__container {
  display: grid;
}

/* ===============================================
# MARK: p-worksSingleFv__wrapper
=============================================== */

.p-worksSingleFv__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 2rem;
  max-width: 30rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}

.p-worksSingleFv__num {
  font-size: 1.4rem;
  font-family: var(--enText);
  color: var(--theme-red);
}

.p-worksSingleFv__title {
  -webkit-margin-before: 0.25rem;
  margin-block-start: 0.25rem;
  font-size: 1.8rem;
  font-weight: 500;
}

.p-worksSingleFv__details {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.125rem;
  -webkit-padding-after: 0.5rem;
  padding-block-end: 0.5rem;
  -webkit-border-after: 0.0625rem solid #dedede;
  border-block-end: 0.0625rem solid #dedede;
}

.p-worksSingleFv__detailsItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.875rem;
}

.p-worksSingleFv__detailsLabel {
  font-size: 1.4rem;
  color: var(--theme-sub-text);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.875rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-worksSingleFv__detailsLabel::after {
  content: '';
  display: block;
  width: 0.0625rem;
  height: 0.875rem;
  background-color: currentColor;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-worksSingleFv__detailsValue {
  font-size: 1.4rem;
}

.p-worksSingleFv__content {
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
}

.p-worksSingleFv__visImg img {
  aspect-ratio: 520/397;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

/* ===============================================
# MARK: p-worksSingleFv__btn
=============================================== */

.p-worksSingleFv__img img {
  aspect-ratio: 520/397;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

/* modifier */

/* hover */

/* ===============================================
# MARK: p-worksSingleFv__scroll
=============================================== */

/* ===============================================
# MARK: p-worksSingleContent
=============================================== */

.p-worksSingleContent {
  container-type: inline-size;
  container-name: gallery;
  position: sticky;
  z-index: 10;
  background-color: var(--theme-white);
}

.p-worksSingleContent__inner {
  -webkit-padding-after: 8.75rem;
  padding-block-end: 8.75rem;
}

.p-worksSingleContent__gallery:not(:first-of-type) {
  -webkit-margin-before: 5rem;
  margin-block-start: 5rem;
}

.p-worksSingleContent__fullImg {
  width: auto;
  height: 21.25rem;
  margin-inline: calc(50% - 50vw);
  margin-inline: calc(50% - 50cqi);
  overflow: hidden;
}

.p-worksSingleContent__fullImg img {
  aspect-ratio: 390/340;
  -o-object-fit: cover;
  object-fit: cover;
  width: min(100%, 85.375rem);
  width: 100%;
  height: inherit;
  margin-inline: auto;
}

.p-worksSingleContent__galleryList {
  -webkit-padding-before: 5rem;
  padding-block-start: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
}

.p-worksSingleContent__galleryImg {
  width: min(21.25rem, 100%);
}

.p-worksSingleContent__galleryImg img {
  aspect-ratio: 340/222;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

.p-worksSingleContent__galleryCaption {
  letter-spacing: 0.04em;
  font-size: 1.5rem;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

/* modifier */

.p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--left {
  margin-inline: -20px 0;
}

.p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--left
  .p-worksSingleContent__galleryCaption {
  -webkit-padding-start: 20px;
  padding-inline-start: 20px;
}

.p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--right {
  margin-inline: auto -20px;
}

.p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--right
  .p-worksSingleContent__galleryCaption {
  -webkit-padding-end: 20px;
  padding-inline-end: 20px;
}

.p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--leftover {
  margin-inline: -20px 0;
  -webkit-padding-after: 4.25rem;
  padding-block-end: 4.25rem;
}

.p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--leftover
  .p-worksSingleContent__galleryCaption {
  -webkit-padding-start: 20px;
  padding-inline-start: 20px;
}

.p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--center {
  width: min(16.25rem, 100%);
  margin-inline: auto;
}

.p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--center img {
  aspect-ratio: 260/320;
}

/* ===============================================
# MARK: p-worksSingleVoice
=============================================== */

.p-worksSingleVoice {
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-worksSingleVoice__container {
  padding-block: 2.5rem;
  -webkit-border-start: 0.0625rem solid #dedede;
  border-inline-start: 0.0625rem solid #dedede;
  -webkit-border-end: 0.0625rem solid #dedede;
  border-inline-end: 0.0625rem solid #dedede;
}

.p-worksSingleVoice__heading {
  font-family: var(--enText);
  font-size: 2.2rem;
  font-weight: 500;
  padding-inline: 20px;
}

.p-worksSingleVoice__wrapper {
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2rem;
  padding-inline: 20px;
}

.p-worksSingleVoice__img img {
  aspect-ratio: 225/160;
  width: 72.5806451613%;
  margin-inline: auto;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

.p-worksSingleVoice__caption {
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.875rem;
}

.p-worksSingleVoice__role {
  font-size: 1.4rem;
  color: var(--theme-sub-text);
  letter-spacing: 0.02em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.875rem;
}

.p-worksSingleVoice__role::after {
  content: '';
  display: block;
  width: 0.0625rem;
  height: 0.875rem;
  background-color: currentColor;
}

.p-worksSingleVoice__name {
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}

.p-worksSingleVoice__text {
  width: 100%;
}

.p-worksSingleVoice__subtitle {
  font-size: 1.4rem;
  font-weight: 600;
}

.p-worksSingleVoice__content {
  font-size: 1.4rem;
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

/* ===============================================
# MARK: p-worksSingleData
=============================================== */

.p-worksSingleData {
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
  -webkit-border-after: 0.0625rem solid #dedede;
  border-block-end: 0.0625rem solid #dedede;
}

.p-worksSingleData__container {
  padding-block: 2.5rem;
  -webkit-border-start: 0.0625rem solid #dedede;
  border-inline-start: 0.0625rem solid #dedede;
  -webkit-border-end: 0.0625rem solid #dedede;
  border-inline-end: 0.0625rem solid #dedede;
}

.p-worksSingleData__heading {
  font-family: var(--enText);
  font-size: 2.2rem;
  font-weight: 500;
  padding-inline: 20px;
}

.p-worksSingleData__wrapper {
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
  padding-inline: 20px;
}

.p-worksSingleData__item {
  padding-block: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.25rem;
  -webkit-border-after: 0.0625rem solid #ebebeb;
  border-block-end: 0.0625rem solid #ebebeb;
}

.p-worksSingleData__head {
  width: 5.625rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 1.4rem;
}

.p-worksSingleData__value {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 1.4rem;
  padding-inline: 1rem 0;
}

/* ===============================================
# MARK: p-worksSingleOther
=============================================== */

.p-worksSingleOther {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

/* ===============================================
# MARK: p-worksSingleOther__links
=============================================== */

.p-worksSingleOther__links {
  padding-block: 3.5rem 5rem;
  display: grid;
  grid-template-columns: 1fr;
}

.p-worksSingleOther__link {
  position: relative;
  z-index: 0;
  display: block;
  width: min(100% - 40px, 27.5rem);
  margin-inline: auto;
  will-change: width;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: width var(--hover-transition);
  transition: width var(--hover-transition);
}

.p-worksSingleOther__linkText {
  display: none;
}

.p-worksSingleOther__linkContent {
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: var(--theme-black);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-block: 1.5rem;
  padding-inline: 2.5rem;
}

.p-worksSingleOther__linkImg {
  width: 7.5rem;
}

.p-worksSingleOther__linkImg img {
  aspect-ratio: 147/112;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

.p-worksSingleOther__linkArrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.5rem;
  color: var(--theme-white);
}

.p-worksSingleOther__linkArrow::after {
  content: '';
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: var(--theme-main);
  background-image: url(icon_arrow_black.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.125rem;
}

.p-worksSingleOther__img img {
  aspect-ratio: 520/397;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
}

.p-worksSingleOther__linkBack {
  padding-block: 7.5rem;
  display: grid;
  place-items: center;
}

/* modifier */

/* hover */

/* ===============================================
# MARK: p-worksSingleOther__works
=============================================== */

.p-worksSingleOther__works {
  overflow: hidden;
  -webkit-padding-after: 7.5rem;
  padding-block-end: 7.5rem;
}

.p-worksSingleOther__worksHeading {
  font-size: 2rem;
  font-weight: 500;
}

.p-worksSingleOther__worksList {
  -webkit-margin-before: 5.5rem;
  margin-block-start: 5.5rem;
}

.p-worksSingleOther__worksBtn {
  display: grid;
  place-items: center;
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

/* ===============================================
# MARK: p-topicsFv
=============================================== */

.p-topicsFv {
  background-color: var(--theme-base-light-gray);
  background-image: url(bg_deco_page_fv_sp.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 9.5625rem 11.8125rem;
}

.p-topicsFv__inner {
  padding-block: 11.5625rem 5rem;
}

/* ===============================================
# MARK: p-topicsArchive
=============================================== */

.p-topicsArchive {
  -webkit-border-before: 0.0625rem solid #ababab;
  border-block-start: 0.0625rem solid #ababab;
}

.p-topicsArchive__inner {
  padding-block: 3.5rem 7.5rem;
}

.p-topicsArchive__container {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

.p-topicsArchive__items {
  display: grid;
  grid-template-columns: 1fr;
}

.p-topicsArchive__empty {
  text-align: center;
  padding-block: 1.875rem;
}

/* ===============================================
# MARK: p-topicsSingleFv
=============================================== */

.p-topicsSingleFv {
  background-image: url(bg_deco_page_fv_gray_sp.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 9.5625rem 11.8125rem;
}

.p-topicsSingleFv__inner {
  padding-block: 11.5625rem 5rem;
}

.p-topicsSingleFv__hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 1.25rem;
}

.p-topicsSingleFv__title {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.p-topicsSingleFv__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.375rem;
}

.p-topicsSingleFv__date {
  font-size: 1.3rem;
  position: relative;
  z-index: 0;
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-padding-end: 1.375rem;
  padding-inline-end: 1.375rem;
}

.p-topicsSingleFv__date::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  display: block;
  width: 0.0625rem;
  height: 0.875rem;
  background-color: var(--theme-icon);
}

.p-topicsSingleFv__categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 1.375rem;
}

.p-topicsSingleFv__category {
  font-size: 1.3rem;
  font-weight: 500;
  display: inline-block;
}

/* ===============================================
# MARK: p-topicsSingleContent
=============================================== */

.p-topicsSingleContent {
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-topicsSingleContent__inner {
  padding-block: 0 5rem;
}

.p-topicsSingleContent__inner {
  display: grid;
  grid-template-areas: 'content' 'share' 'footer';
}

/* ===============================================
# MARK: p-topicsSingleContent__content
=============================================== */

.p-topicsSingleContent__content {
  grid-area: content;
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

/* ===============================================
# MARK: p-topicsSingleContent__share
=============================================== */

.p-topicsSingleContent__share {
  grid-area: share;
  -webkit-margin-before: 7.5rem;
  margin-block-start: 7.5rem;
  -webkit-padding-before: 3.5625rem;
  padding-block-start: 3.5625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-topicsSingleContent__shareLabel {
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--theme-sub-text);
}

.p-topicsSingleContent__shareList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.p-topicsSingleContent__shareItem {
  display: block;
  width: 1.8125rem;
  height: auto;
  aspect-ratio: 1/1;
}

.p-topicsSingleContent__shareItem img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
  object-fit: contain;
  height: auto;
}

/* modifier */

/* ===============================================
# MARK: p-topicsSingleContent__footer
=============================================== */

.p-topicsSingleContent__footer {
  grid-area: footer;
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  -webkit-padding-before: 5rem;
  padding-block-start: 5rem;
  display: grid;
  grid-template-areas: 'center center' 'prev next';
  grid-template-columns: auto auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  justify-items: center;
  gap: 2rem 0;
}

.p-topicsSingleContent__arrow {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: block;
  width: 3.25rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: var(--theme-white);
  border: 0.0625rem solid var(--theme-black);
  border-radius: 50%;
  position: relative;
  z-index: 0;
  overflow: hidden;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.p-topicsSingleContent__arrowIcon {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(icon_arrow_black.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.p-topicsSingleContent__arrowIcon::before {
  content: '';
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(calc(-50% - 3.25rem), -50%);
  transform: translate(calc(-50% - 3.25rem), -50%);
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--theme-main);
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.p-topicsSingleContent__footerCenter {
  display: grid;
  place-items: center;
  grid-area: center;
}

/* Modifier */

.p-topicsSingleContent__arrow.p-topicsSingleContent__arrow--prev {
  grid-area: prev;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-topicsSingleContent__arrow.p-topicsSingleContent__arrow--next {
  grid-area: next;
}

/* hover */

/* ===============================================
# MARK: p-topicsSingleOther
=============================================== */

.p-topicsSingleOther {
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-topicsSingleOther__inner {
  padding-block: 5rem 7.5rem;
}

.p-topicsSingleOther__heading {
  font-size: 2rem;
  font-weight: 500;
  font-family: var(--enText);
}

.p-topicsSingleOther__list {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}

/* ===============================================
# MARK: p-membersFv
=============================================== */

.p-membersFv {
  background-color: var(--theme-base-light-gray);
  background-image: url(bg_deco_fv_members.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 14.25rem 16.625rem;
}

.p-membersFv__inner {
  padding-block: 11.5625rem 17.875rem;
}

.p-membersFv__content {
  height: 0;
  -webkit-margin-before: 21.375rem;
  margin-block-start: 21.375rem;
  -webkit-margin-after: -21.375rem;
  margin-block-end: -21.375rem;
}

.p-membersFv__catchcopy {
  font-size: 2rem;
  font-weight: 500;
}

.p-membersFv__text {
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
  font-size: 1.4rem;
}

/* ===============================================
# MARK: p-membersArchive
=============================================== */

.p-membersArchive {
  background-color: var(--theme-white);
}

.p-membersArchive__inner {
  padding-block: 19.75rem 7.5rem;
}

.p-membersArchive__container {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

.p-membersArchive__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3.5rem;
}

.p-membersArchive__link {
  display: grid;
  grid-template-areas: 'img' 'head' 'text';
  grid-template-rows: auto auto 1fr;
  gap: 0.75rem;
}

.p-membersArchive__head {
  grid-area: head;
}

.p-membersArchive__region {
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.p-membersArchive__region::before {
  content: '';
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  background-color: currentColor;
  border-radius: 50%;
}

.p-membersArchive__title {
  -webkit-margin-before: 0.375rem;
  margin-block-start: 0.375rem;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 500;
  position: relative;
  z-index: 0;
  text-decoration-line: underline;
  text-decoration-color: color-mix(in lch, currentColor, transparent 100%);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-transition: text-decoration-color var(--hover-transition);
  transition: text-decoration-color var(--hover-transition);
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.p-membersArchive__title::after {
  content: '';
  position: absolute;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  pointer-events: none;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  background-color: var(--theme-icon);
  -webkit-mask: url(icon_external.svg) no-repeat center/contain;
  mask: url(icon_external.svg) no-repeat center/contain;
}

.p-membersArchive__text {
  grid-area: text;
  -webkit-padding-before: 0.75rem;
  padding-block-start: 0.75rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.p-membersArchive__img {
  grid-area: img;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
}

.p-membersArchive__img img {
  aspect-ratio: 350/200;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

/* ===============================================
# MARK: hover
=============================================== */

/* ===============================================
# MARK: p-membersArchive__pagination
=============================================== */

.p-membersArchive__empty {
  text-align: center;
  padding-block: 1.875rem;
}

.p-membersArchive__empty a {
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

/* ===============================================
# MARK: p-membersJoinus
=============================================== */

.p-membersJoinus__inner {
  padding-block: 5rem 5.625rem;
}

.p-membersJoinus__container {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-membersJoinus__btn {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

/* ===============================================
# MARK: p-joinusFv
=============================================== */

.p-joinusFv {
  background-color: var(--theme-base-light-gray);
  background-image: url(bg_deco_page_fv_sp.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 9.5625rem 11.8125rem;
}

.p-joinusFv__inner {
  padding-block: 11.5625rem 5rem;
}

/* ===============================================
# MARK: p-joinusMembers
=============================================== */

.p-joinusGuide__inner {
  padding-block: 3.5rem 5rem;
}

.p-joinusGuide__heading {
  font-size: 2.4rem;
  font-weight: 500;
  font-family: var(--accentFont);
}

.p-joinusGuide__text {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
}

/* ===============================================
# MARK: p-joinusEntry
=============================================== */

.p-joinusEntry {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(transparent),
    color-stop(23.75rem, var(--theme-light-gray))
  );
  background: linear-gradient(
    to bottom,
    transparent 0%,
    var(--theme-light-gray) 23.75rem
  );
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-joinusEntry::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 500vw;
  height: 500vw;
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#d3c6b5),
    color-stop(23.75rem, transparent)
  );
  background: linear-gradient(to bottom, #d3c6b5 0%, transparent 23.75rem);
}

.p-joinusEntry__inner {
  padding-block: 7.5rem 2.5rem;
}

.p-joinusEntry__heading {
  font-size: 4rem;
  line-height: 1;
  font-weight: 400;
  font-family: var(--enText);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
}

.p-joinusEntry__heading::before {
  content: '';
  display: block;
  background-color: var(--theme-blue);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 100% 0 0 0;
}

.p-joinusEntry__heading::after {
  content: '';
  display: block;
  background-color: var(--theme-gray);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}

.p-joinusEntry__text {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
  text-align: center;
}

.p-joinusEntry__form {
  background-color: var(--theme-white);
  -webkit-margin-before: 4.25rem;
  margin-block-start: 4.25rem;
  padding-block: 5rem;
  padding-inline: 1rem;
}

/* ===============================================
# MARK: p-joinusMembers
=============================================== */

.p-joinusMembers__inner {
  padding-block: 5rem 5.625rem;
}

.p-joinusMembers__container {
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

.p-joinusMembers__btn {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

/* ===============================================
# MARK: p-modelhouseFV
=============================================== */

.p-modelhouseFV {
  background-color: var(--theme-base-light-gray);
  background-image: url(bg_deco_fv_modelhouse.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 16.0625rem 16.625rem;
}

.p-modelhouseFV__inner {
  padding-block: 11.5625rem 17.875rem;
}

.p-modelhouseFV__content {
  height: 0;
  -webkit-margin-before: 21.375rem;
  margin-block-start: 21.375rem;
  -webkit-margin-after: -21.375rem;
  margin-block-end: -21.375rem;
}

.p-modelhouseFV__catchcopy {
  font-size: 2rem;
  font-weight: 500;
}

.p-modelhouseFV__text {
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
  font-size: 1.4rem;
}

/* ===============================================
# MARK: p-modelhouseArchive
=============================================== */

.p-modelhouseArchive {
  background-color: var(--theme-white);
}

.p-modelhouseArchive__inner {
  padding-block: 18.75rem 7.5rem;
}

.p-modelhouseArchive__heading {
  font-size: 1.8rem;
  font-weight: 500;
}

.p-modelhouseArchive__lead {
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}

.p-modelhouseArchive__container {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

.p-modelhouseArchive__items {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 7.5rem;
}

.p-modelhouseArchive__item {
  -webkit-border-before: 0.0625rem solid #ebebeb;
  border-block-start: 0.0625rem solid #ebebeb;
}

.p-modelhouseArchive__card {
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
}

.p-modelhouseArchive__region {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.p-modelhouseArchive__content {
  display: block;
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
}

.p-modelhouseArchive__num {
  font-size: 1.4rem;
  color: var(--theme-sub-text);
}

.p-modelhouseArchive__title {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  font-size: 1.8rem;
  font-weight: 500;
  -webkit-margin-before: 0.25rem;
  margin-block-start: 0.25rem;
}

.p-modelhouseArchive__text {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
}

/* ===============================================
# MARK: p-modelhouseArchive__option
=============================================== */

.p-modelhouseArchive__option {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  display: grid;
  gap: 0.25rem;
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  -webkit-border-before: 0.0625rem solid #ebebeb;
  border-block-start: 0.0625rem solid #ebebeb;
}

.p-modelhouseArchive__optionRow {
  display: grid;
  grid-template-columns: 4rem 1fr;
  gap: 1rem;
}

.p-modelhouseArchive__optionHead {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  font-size: 1.4rem;
  color: var(--theme-sub-text);
}

.p-modelhouseArchive__optionValue {
  font-size: 1.4rem;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

/* ===============================================
# MARK: p-modelhouseArchive__btn
=============================================== */

.p-modelhouseArchive__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: 1.5rem;
  margin-block-start: 1.5rem;
}

/* ===============================================
# MARK: p-modelhouseArchive__empty
=============================================== */

.p-modelhouseArchive__empty {
  text-align: center;
  padding-block: 5rem 1.875rem;
}

.p-modelhouseArchive__empty a {
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

/* ===============================================
# MARK: p-modelhouseArchive__vis
=============================================== */

.p-modelhouseArchive__vis {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  margin-inline: auto;
  width: 85.7142857143%;
  /* ===============================================
  # MARK: p-modelhouseArchive__vis Swiper
  =============================================== */
}

.p-modelhouseArchive__vis .swiper-container {
  position: relative;
}

.p-modelhouseArchive__vis .swiper {
  position: relative;
}

.p-modelhouseArchive__vis .swiper-wrapper {
  position: relative;
}

.p-modelhouseArchive__vis .swiper-horizontal > .swiper-pagination-bullets,
.p-modelhouseArchive__vis
  .swiper-pagination-bullets.swiper-pagination-horizontal,
.p-modelhouseArchive__vis .swiper-pagination-custom,
.p-modelhouseArchive__vis .swiper-pagination-fraction {
  position: static;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}

.p-modelhouseArchive__vis
  .swiper-horizontal
  > .swiper-pagination-bullets
  .swiper-pagination-bullet,
.p-modelhouseArchive__vis
  .swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet {
  opacity: 1;
  background: #dedede;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  margin: 0;
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.p-modelhouseArchive__vis
  .swiper-horizontal
  > .swiper-pagination-bullets
  .swiper-pagination-bullet.swiper-pagination-bullet-active,
.p-modelhouseArchive__vis
  .swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--theme-black);
}

.p-modelhouseArchive__visImg {
  width: 100%;
}

.p-modelhouseArchive__visImg img {
  aspect-ratio: 354/260;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
  -webkit-transition: -webkit-transform var(--hover-transition);
  transition: -webkit-transform var(--hover-transition);
  transition: transform var(--hover-transition);
  transition: transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

/* hover */

/* ===============================================
# MARK: p-modelhouseArchive__pagination
=============================================== */

/* ===============================================
# MARK: p-modelhouseContact
=============================================== */

.p-modelhouseContact {
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-modelhouseContact::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 500vw;
  height: 500vw;
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#d3c6b5),
    color-stop(23.75rem, transparent)
  );
  background: linear-gradient(to bottom, #d3c6b5 0%, transparent 23.75rem);
}

.p-modelhouseContact__inner {
  padding-block: 7.5rem 2.5rem;
}

.p-modelhouseContact__heading {
  font-size: 4rem;
  line-height: 1;
  font-weight: 400;
  font-family: var(--enText);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
}

.p-modelhouseContact__heading::before {
  content: '';
  display: block;
  background-color: var(--theme-red);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 100% 0 0 0;
}

.p-modelhouseContact__heading::after {
  content: '';
  display: block;
  background-color: var(--theme-gray);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}

.p-modelhouseContact__text {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
  text-align: center;
}

/* ===============================================
# MARK: p-modelhouseContact__info
=============================================== */

.p-modelhouseContact__info {
  -webkit-margin-before: 2.75rem;
  margin-block-start: 2.75rem;
}

.p-modelhouseContact__infoTitle {
  font-weight: 500;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.p-modelhouseContact__infoText {
  font-weight: 500;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

/* ===============================================
# MARK: p-modelhouseContact__form
=============================================== */

.p-modelhouseContact__form {
  background-color: var(--theme-white);
  -webkit-margin-before: 4.25rem;
  margin-block-start: 4.25rem;
  padding-block: 5rem;
  padding-inline: 1rem;
}

/* ===============================================
# MARK: p-modelhouseContact__notice
=============================================== */

.p-modelhouseContact__notice {
  -webkit-padding-after: 5rem;
  padding-block-end: 5rem;
}

.p-modelhouseContact__noticeInner {
  -webkit-padding-after: 2.5rem;
  padding-block-end: 2.5rem;
  -webkit-border-after: 0.0625rem solid #ebebeb;
  border-block-end: 0.0625rem solid #ebebeb;
}

.p-modelhouseContact__noticeHead {
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
}

.p-modelhouseContact__noticeText {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
}

.p-modelhouseContact__noticeList {
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
}

.p-modelhouseContact__noticeLabel {
  font-weight: 600;
}

.p-modelhouseContact__noticeValue {
  -webkit-margin-before: 0.25rem;
  margin-block-start: 0.25rem;
}

/* ===============================================
# MARK: p-contactFv
=============================================== */

.p-contactFv {
  background-color: var(--theme-base-light-gray);
  background-image: url(bg_deco_page_fv_sp.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 9.5625rem 11.8125rem;
}

.p-contactFv__inner {
  padding-block: 11.5625rem 5rem;
}

/* ===============================================
# MARK: p-contactGuide
=============================================== */

.p-contactGuide {
  background-color: var(--theme-white);
}

.p-contactGuide__inner {
  padding-block: 5rem 7.5rem;
}

.p-contactGuide__heading {
  -webkit-padding-after: 1rem;
  padding-block-end: 1rem;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
}

.p-contactGuide__lead {
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
  position: relative;
  z-index: 0;
  -webkit-padding-start: 1em;
  padding-inline-start: 1em;
}

.p-contactGuide__lead::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background-color: currentColor;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}

.p-contactGuide__leadLink {
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition);
}

.p-contactGuide__links {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

.p-contactGuide__link {
  padding-block: 1.25rem;
  padding-inline: 1.25rem;
  display: grid;
  grid-template-areas: 'label arrow';
  grid-template-columns: auto 2.25rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.25rem;
  border: 0.0625rem solid currentColor;
  width: 100%;
  min-height: 5.75rem;
}

.p-contactGuide__linkLabel {
  grid-area: label;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration-line: underline;
  text-decoration-color: color-mix(in lch, currentColor, transparent 100%);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-transition: text-decoration-color var(--hover-transition);
  transition: text-decoration-color var(--hover-transition);
}

.p-contactGuide__linkNote {
  font-size: 1.3rem;
  font-weight: 400;
  display: block;
}

.p-contactGuide__linkArrow {
  grid-area: arrow;
  color: var(--theme-main);
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: var(--theme-black);
  -webkit-transition: background-color var(--hover-transition);
  transition: background-color var(--hover-transition);
}

.p-contactGuide__linkArrow::before,
.p-contactGuide__linkArrow::after {
  content: '';
  position: absolute;
  display: block;
  width: 1.0625rem;
  height: 1.0625rem;
  background-color: currentColor;
  -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
  mask: url(icon_arrow.svg) no-repeat center/contain;
  -webkit-transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition),
    -webkit-transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition);
  transition: opacity var(--hover-transition),
    visibility var(--hover-transition), transform var(--hover-transition),
    -webkit-transform var(--hover-transition);
}

.p-contactGuide__linkArrow::after {
  -webkit-transform: translateX(-2rem);
  transform: translateX(-2rem);
}

/* hover */

/* ===============================================
# MARK: p-contactForm
=============================================== */

.p-contactForm {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(var(--theme-base)),
    color-stop(23.75rem, var(--theme-light-gray))
  );
  background: linear-gradient(
    to bottom,
    var(--theme-base) 0%,
    var(--theme-light-gray) 23.75rem
  );
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-contactForm::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 500vw;
  height: 500vw;
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#d3c6b5),
    color-stop(23.75rem, transparent)
  );
  background: linear-gradient(to bottom, #d3c6b5 0%, transparent 23.75rem);
}

.p-contactForm__inner {
  padding-block: 7.5rem 2.5rem;
}

.p-contactForm__heading {
  font-size: 4rem;
  line-height: 1;
  font-weight: 400;
  font-family: var(--enText);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
}

.p-contactForm__heading::before {
  content: '';
  display: block;
  background-color: var(--theme-red);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 100% 0 0 0;
}

.p-contactForm__heading::after {
  content: '';
  display: block;
  background-color: var(--theme-gray);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}

.p-contactForm__text {
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
  text-align: center;
}

.p-contactForm__form {
  background-color: var(--theme-white);
  -webkit-margin-before: 4.25rem;
  margin-block-start: 4.25rem;
  padding-block: 5rem;
  padding-inline: 1rem;
}

/* ===============================================
# MARK: p-contactThanks
=============================================== */

.p-contactThanks__container {
  -webkit-margin-before: 7.0625rem;
  margin-block-start: 7.0625rem;
  width: 100%;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-contactThanks__container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 500vw;
  height: 500vw;
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#d3c6b5),
    color-stop(23.75rem, transparent)
  );
  background: linear-gradient(to bottom, #d3c6b5 0%, transparent 23.75rem);
}

.p-contactThanks__containerInner {
  padding-block: 7.5rem;
}

.p-contactThanks__heading {
  font-size: 4rem;
  line-height: 1;
  font-weight: 400;
  font-family: var(--enText);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
}

.p-contactThanks__heading::before {
  content: '';
  display: block;
  background-color: var(--theme-red);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 100% 0 0 0;
}

.p-contactThanks__heading::after {
  content: '';
  display: block;
  background-color: var(--theme-gray);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}

.p-contactThanks__content {
  background-color: var(--theme-white);
  -webkit-margin-before: 4.25rem;
  margin-block-start: 4.25rem;
  padding-block: 2rem;
  padding-inline: 1rem;
}

.p-contactThanks__head {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}

.p-contactThanks__text {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  text-align: center;
}

.p-contactThanks__link {
  color: var(--theme-blue);
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

.p-contactThanks__btn {
  -webkit-margin-before: 4rem;
  margin-block-start: 4rem;
  display: grid;
  place-items: center;
}

/* modifier */

.p-contactThanks.p-contactThanks--entry .p-contactThanks__heading::before {
  background-color: var(--theme-blue);
}

/* ===============================================
# MARK: p-policyFv
=============================================== */

.p-policyFv {
  background-image: url(bg_deco_page_fv_gray_sp.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 9.5625rem 11.8125rem;
}

.p-policyFv__inner {
  padding-block: 11.5625rem 5rem;
}

/* ===============================================
# MARK: p-policyContainer
=============================================== */

.p-policyContainer {
  padding-block: 5rem 7.5rem;
  -webkit-border-before: 0.0625rem solid #dedede;
  border-block-start: 0.0625rem solid #dedede;
}

/* ===============================================
# MARK: p-notfound
=============================================== */

.p-notfound {
  overflow: hidden;
}

.p-notfound__inner {
  padding-block: 12.8125rem 5rem;
  position: relative;
  z-index: 0;
}

.p-notfound__title {
  width: 9.75rem;
  height: 5rem;
  margin-inline: auto;
}

.p-notfound__subTitle {
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
  width: 11.9375rem;
  height: 1.75rem;
  margin-inline: auto;
}

.p-notfound__text {
  text-align: center;
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

.p-notfound__btn {
  display: grid;
  place-items: center;
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}

/* ===============================================
# MARK: p-notfound__deco
=============================================== */

.p-notfound__deco {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  display: block;
  width: 100%;
  height: 100%;
}

.p-notfound__decoLeft {
  display: block;
  width: 8.625rem;
  height: auto;
  aspect-ratio: 138/204;
  position: absolute;
  top: 5.1875rem;
  left: 0.625rem;
}

.u-only-pc {
  display: none !important;
}

.u-only-pc-block {
  display: none !important;
}

.u-only-pc-grid {
  display: none !important;
}

.u-only-pc-flex {
  display: none !important;
}

.u-only-mobile {
  display: inline-block !important;
}

.u-only-mobile-block {
  display: block !important;
}

.u-only-mobile-grid {
  display: grid !important;
}

.u-only-mobile-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.u-hidden {
  display: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  outline: none !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.u-visible {
  visibility: visible !important;
  opacity: 1 !important;
}

.u-alternative {
  position: fixed !important;
  inset-block-start: 0 !important;
  inset-inline-start: 0 !important;
  display: block !important;
  inline-size: 4px !important;
  block-size: 4px !important;
  contain: strict !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* ===============================================
# MARK: u-text
=============================================== */

.u-weight-bold {
  font-weight: 700 !important;
}

.u-weight-black {
  font-weight: 900 !important;
}

.u-text-uppercase {
  text-transform: uppercase !important;
}

.u-text-accent-color {
  color: var(--theme-accent) !important;
}

.u-text-marker {
  padding-inline: 0.25rem;
  padding-block: 0.0625rem 0.125rem;
  position: relative;
  z-index: 0;
}

.u-text-marker::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--theme-green) / 1);
  clip-path: inset(0% 100% 0% 0%);
  -webkit-transition: clip-path 0.4s 0.8s ease;
  transition: clip-path 0.4s 0.8s ease;
}

.u-text-marker[data-animation-status='play']::after {
  clip-path: inset(0% 0% 0% 0%);
}

.u-text-marquee {
  width: var(--_inline-size);
  text-shadow: calc(var(--_inline-size) * 1) 0 currentColor,
    calc(var(--_inline-size) * 2) 0 currentColor,
    calc(var(--_inline-size) * 3) 0 currentColor,
    calc(var(--_inline-size) * 4) 0 currentColor,
    calc(var(--_inline-size) * 5) 0 currentColor;
  -webkit-animation: marquee 20s infinite linear;
  animation: marquee 20s infinite linear;
  pointer-events: none;
}

@-webkit-keyframes marquee {
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes marquee {
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

/* ===============================================
# MARK: u-other
=============================================== */

@media screen and (min-width: 768px) {
  html {
    font-size: 1.4209591474vw;
  }

  a[href^='tel:'] {
    pointer-events: none;
  }

  .l-header {
    padding-block: 0;
    padding-inline: 0;
  }

  .l-header__inner {
    background-color: transparent;
    padding-block: 0.875rem;
    padding-inline: 1.5rem;
    margin-inline: auto;
    max-width: 100%;
    padding-inline: min(2.9282576867vw, 40px);
  }

  .l-header__inner::after {
    display: none;
  }

  .l-header__logo {
    padding-block: 0.4375rem 0.5rem;
    position: relative;
    z-index: 0;
    display: grid;
    place-items: center;
  }

  .l-header__logo::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-image: url(logo_monotone.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    -webkit-transition: opacity var(--hover-transition),
      visibility var(--hover-transition), -webkit-filter var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition), -webkit-filter var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition), filter var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition), filter var(--hover-transition),
      -webkit-filter var(--hover-transition);
  }

  .l-header__logoLink {
    width: 10.8125rem;
  }

  .l-header__logoLink img {
    -webkit-margin-before: 0.1875rem;
    margin-block-start: 0.1875rem;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
  }

  .l-header__nav {
    position: absolute;
    top: 1.1875rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .l-header__littleList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 4rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background-color: color-mix(in lch, var(--theme-white), transparent 96%);
    -webkit-backdrop-filter: blur(3.125rem);
    backdrop-filter: blur(3.125rem);
    border-radius: 100vmax;
    padding-block: 0.5rem;
    padding-inline: 2.5rem;
    position: relative;
    z-index: 0;
    -webkit-transition: -webkit-transform var(--hover-transition);
    transition: -webkit-transform var(--hover-transition);
    transition: transform var(--hover-transition);
    transition: transform var(--hover-transition),
      -webkit-transform var(--hover-transition);
  }

  .l-header__littleList::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 10.6875rem;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    display: block;
    height: 1.25rem;
    width: 0.0625rem;
    background-color: var(--theme-black);
  }

  .l-header__littleLink {
    white-space: nowrap;
    display: block;
    position: relative;
    z-index: 0;
  }

  .l-header__littleLink::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
    width: 0.25rem;
    height: 0.25rem;
    background-color: var(--theme-red);
    border-radius: 50%;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
  }

  .l-header__littleLink.is-current::after {
    opacity: 1;
    visibility: visible;
  }

  .l-header__mainList {
    position: absolute;
    top: -0.25rem;
    left: 50%;
    -webkit-transform: translateX(-42%);
    transform: translateX(-42%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2.5rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background-color: color-mix(in lch, var(--theme-white), transparent 50%);
    -webkit-backdrop-filter: blur(3.125rem);
    backdrop-filter: blur(3.125rem);
    border-radius: 100vmax;
    padding-block: 0.9375rem;
    padding-inline: 2.5rem;
    clip-path: inset(101% 0% -100vh -100%);
    -webkit-transition: clip-path var(--hover-transition);
    transition: clip-path var(--hover-transition);
  }

  .l-header__mainItem {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    cursor: pointer;
  }

  .l-header__mainLink {
    white-space: nowrap;
    display: block;
    position: relative;
    z-index: 0;
  }

  .l-header__mainLink::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
    width: 0.25rem;
    height: 0.25rem;
    background-color: var(--theme-red);
    border-radius: 50%;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
  }

  .l-header__mainLink.is-current::after {
    opacity: 1;
    visibility: visible;
  }

  .l-header__subItems {
    cursor: default;
    position: absolute;
    z-index: 1;
    top: calc(100% + 1.25rem);
    left: 50%;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin-inline: auto;
    padding-block: 1rem;
    padding-inline: 1.5rem;
    border-radius: 0.25rem;
    background-color: var(--theme-white);
    display: grid;
    gap: 0.75rem;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateX(-50%) translateY(0.5rem);
    transform: translateX(-50%) translateY(0.5rem);
    -webkit-transition: opacity var(--hover-transition),
      visibility var(--hover-transition),
      -webkit-transform var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition),
      -webkit-transform var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition), transform var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition), transform var(--hover-transition),
      -webkit-transform var(--hover-transition);
  }

  .l-header__subItems::before {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 1.5rem;
    left: 0;
    bottom: 100%;
  }

  .l-header__subItem {
    position: relative;
    z-index: 0;
  }

  .l-header__subLink {
    display: block;
    font-size: 1.3rem;
  }

  .l-header__mainItem.l-header__mainItem--hasMega {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    z-index: 0;
  }

  .l-header__mainItem.l-header__mainItem--hasMega::after {
    content: '';
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    background-color: currentColor;
    -webkit-mask: url(icon_drop_down.svg) no-repeat center/contain;
    mask: url(icon_drop_down.svg) no-repeat center/contain;
    -webkit-transition: background-color var(--hover-transition),
      -webkit-transform var(--hover-transition);
    transition: background-color var(--hover-transition),
      -webkit-transform var(--hover-transition);
    transition: background-color var(--hover-transition),
      transform var(--hover-transition);
    transition: background-color var(--hover-transition),
      transform var(--hover-transition),
      -webkit-transform var(--hover-transition);
  }

  .l-header__mainItem.l-header__mainItem--spacer {
    -webkit-margin-start: 4rem;
    margin-inline-start: 4rem;
    position: relative;
    z-index: 0;
  }

  .l-header__mainItem.l-header__mainItem--spacer::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -3.25rem;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    display: block;
    height: 1.25rem;
    width: 0.0625rem;
    background-color: var(--theme-black);
  }

  .l-header__menuBtn {
    --_color: var(--theme-black);
  }

  .l-header__menuText {
    font-size: 1.6rem;
    color: var(--_color);
    -webkit-transition: color var(--hover-transition),
      opacity var(--hover-transition), visibility var(--hover-transition);
    transition: color var(--hover-transition), opacity var(--hover-transition),
      visibility var(--hover-transition);
  }

  .l-header__menuIcon {
    background-color: transparent;
    border: 0.0625rem solid var(--_color);
  }

  .l-header__menuIcon::before,
  .l-header__menuIcon::after {
    background-color: var(--_color);
    -webkit-transition: background-color var(--hover-transition);
    transition: background-color var(--hover-transition);
  }

  .l-header[data-header-position='contents'] .l-header__logo::before,
  .l-header[data-header-position='service'] .l-header__logo::before {
    opacity: 0;
    visibility: hidden;
  }

  .l-header[data-header-position='contents'] .l-header__logoLink img,
  .l-header[data-header-position='service'] .l-header__logoLink img {
    opacity: 1;
    visibility: visible;
  }

  .l-header[data-header-position='contents'] .l-header__littleList,
  .l-header[data-header-position='service'] .l-header__littleList {
    -webkit-transform: translateY(-150%);
    transform: translateY(-150%);
  }

  .l-header[data-header-position='contents'] .l-header__mainList,
  .l-header[data-header-position='service'] .l-header__mainList {
    clip-path: inset(0% 0% -100vh -100%);
  }

  .l-header[data-header-position='contents'] .l-header__menuText,
  .l-header[data-header-position='service'] .l-header__menuText {
    opacity: 0;
    visibility: hidden;
  }

  .l-header[data-header-position='contents'] .l-header__menuIcon,
  .l-header[data-header-position='service'] .l-header__menuIcon {
    background-color: var(--theme-black);
  }

  .l-header[data-header-position='contents'] .l-header__menuIcon::before,
  .l-header[data-header-position='contents'] .l-header__menuIcon::after,
  .l-header[data-header-position='service'] .l-header__menuIcon::before,
  .l-header[data-header-position='service'] .l-header__menuIcon::after {
    background-color: var(--theme-white);
  }

  .l-header[data-header-position='service'] .l-header__logo::before {
    opacity: 1;
    visibility: visible;
    -webkit-filter: invert(1);
    filter: invert(1);
    will-change: filter;
  }

  .l-header[data-header-position='service'] .l-header__logoLink img {
    opacity: 0;
    visibility: hidden;
  }

  .l-header[data-header-position='service'] .l-header__menuIcon {
    border: 0.0625rem solid var(--theme-white);
  }

  .l-headerDrawer__inner {
    max-width: 1206px;
    padding-inline: min(2.9282576867vw, 40px);
  }

  .l-headerDrawer__inner {
    max-width: 1366px;
    padding-inline: min(4.5387994143vw, 62px);
  }

  .l-headerDrawer__header {
    padding-inline: min(2.9282576867vw, 40px);
  }

  .l-headerDrawer__logo {
    width: 10.8125rem;
  }

  .l-headerDrawer__logoLink {
    -webkit-margin-before: 0.1875rem;
    margin-block-start: 0.1875rem;
  }

  .l-headerDrawer__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .l-headerDrawer__contact {
    -webkit-box-ordinal-group: unset;
    -ms-flex-order: unset;
    order: unset;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    position: sticky;
    bottom: 0;
    left: 0;
    -webkit-margin-before: auto;
    margin-block-start: auto;
    -webkit-padding-after: 2.5rem;
    padding-block-end: 2.5rem;
    -webkit-margin-after: -2.5rem;
    margin-block-end: -2.5rem;
  }

  .l-headerDrawer__contactLink {
    padding-block: 7.5rem 1.6875rem;
    padding-inline: 2rem;
    border-radius: 0;
    grid-template-areas: 'label label' 'enLabel arrow';
    grid-template-columns: auto 2rem;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    gap: 1rem;
    width: 18.75rem;
  }

  .l-headerDrawer__contactlabel {
    font-size: 1.2rem;
    font-weight: 500;
  }

  .l-headerDrawer__contactlabel::before {
    content: '';
    display: block;
    width: 0.75rem;
    height: 0.75rem;
  }

  .l-headerDrawer__contactEnLabel {
    display: block;
    font-size: 2rem;
    line-height: 1.6;
  }

  .l-headerDrawer__contactArrow {
    width: 2rem;
    height: 2rem;
    background-color: transparent;
  }

  .l-headerDrawer__contactArrow::before,
  .l-headerDrawer__contactArrow::after {
    width: 1.25rem;
    height: 1.25rem;
    background-color: var(--theme-black);
    -webkit-mask: url(icon_arrow_long.svg) no-repeat center/contain;
    mask: url(icon_arrow_long.svg) no-repeat center/contain;
  }

  .l-headerDrawer__contactArrow::after {
    background-color: var(--theme-main);
  }

  .l-headerDrawer__contactLink.l-headerDrawer__contactLink--modelhouse {
    background-image: url(bg_deco_modelhouse.svg);
    background-position: top right;
    background-size: 6.4375rem 8.6875rem;
    background-repeat: no-repeat;
  }

  .l-headerDrawer__contactLink.l-headerDrawer__contactLink--contact {
    background-image: url(bg_deco_contact.svg);
    background-position: 101% 101%;
    background-size: 6.4375rem 7.0625rem;
    background-repeat: no-repeat;
  }

  .l-headerDrawer__contactLink.l-headerDrawer__contactLink--contact
    .l-headerDrawer__contactlabel::before {
    border-radius: 0 100% 0 0;
  }

  .l-headerDrawer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-padding-before: 1.25rem;
    padding-block-start: 1.25rem;
    gap: 5rem;
  }

  .l-headerDrawer__navItems {
    -webkit-box-ordinal-group: unset;
    -ms-flex-order: unset;
    order: unset;
  }

  .l-headerDrawer__navRow {
    grid-template-columns: 1fr 1fr;
    -webkit-padding-after: 1.25rem;
    padding-block-end: 1.25rem;
    padding-inline: 1rem;
  }

  .l-headerDrawer__navTitle {
    -webkit-padding-before: 0.125rem;
    padding-block-start: 0.125rem;
    font-size: 1.6rem;
  }

  .l-headerDrawer__navList {
    gap: 0.375rem;
  }

  .l-headerDrawer__navLink {
    font-size: 1.4rem;
  }

  .l-headerDrawer__sns {
    -webkit-box-ordinal-group: unset;
    -ms-flex-order: unset;
    order: unset;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: grid;
    gap: 0;
    grid-template-columns: 1fr 1fr;
    padding-block: 0.75rem;
    padding-inline: 1rem;
    background-color: color-mix(in lch, var(--theme-white), transparent 96%);
    border-radius: 0.5rem;
  }

  .l-headerDrawer__snsLabel {
    font-size: 1.6rem;
  }

  .l-headerDrawer__snsitems {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.125rem;
  }

  .l-footer {
    -webkit-margin-before: -7.125rem;
    margin-block-start: -7.125rem;
    padding-block: 14.625rem 3.5rem;
  }

  .l-footer__pagetop {
    top: min(11.2737920937vw, 154px);
  }

  .l-footer__inner {
    max-width: 1206px;
    padding-inline: min(2.9282576867vw, 40px);
  }

  .l-footer__inner {
    max-width: 1366px;
    padding-inline: min(4.5387994143vw, 62px);
  }

  .l-footer__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 70.0625rem;
  }

  .l-footer__logo {
    -webkit-margin-start: 0;
    margin-inline-start: 0;
    -webkit-margin-before: -1rem;
    margin-block-start: -1rem;
  }

  .l-footer__logoLink {
    width: 13.125rem;
  }

  .l-footer__nav {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-padding-before: 0;
    padding-block-start: 0;
    -webkit-border-before: none;
    border-block-start: none;
    gap: 3.5rem;
  }

  .l-footer__navItems {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 5rem;
  }

  .l-footer__navWrap {
    -webkit-padding-after: 1.25rem;
    padding-block-end: 1.25rem;
    -webkit-border-after: none;
    border-block-end: none;
    display: block;
    -webkit-box-ordinal-group: unset;
    -ms-flex-order: unset;
    order: unset;
  }

  .l-footer__navWrap:first-of-type {
    width: 8.125rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .l-footer__navTitle {
    font-size: 1.6rem;
    -webkit-padding-before: 0;
    padding-block-start: 0;
  }

  .l-footer__navContent {
    gap: 0.375rem;
    padding-block: 0.875rem 0;
  }

  .l-footer__navLink {
    font-size: 1.3rem;
  }

  .l-footer__navLink::before {
    content: '-';
    display: inline-block;
    -webkit-margin-end: 0.5rem;
    margin-inline-end: 0.5rem;
  }

  .l-footer__sns {
    -webkit-box-ordinal-group: unset;
    -ms-flex-order: unset;
    order: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-start: 10.125rem;
    margin-inline-start: 10.125rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .l-footer__snsList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.25rem;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .l-footer__snsLink {
    font-size: 1.3rem;
  }

  .l-footer__foot {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
    -webkit-padding-before: 1.875rem;
    padding-block-start: 1.875rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .l-inner {
    max-width: 1206px;
    padding-inline: min(2.9282576867vw, 40px);
  }

  .l-inner.l-inner--large {
    max-width: 1366px;
    padding-inline: min(4.5387994143vw, 62px);
  }

  .l-inner.l-inner--small {
    padding-inline: min(10.2489019034vw, 140px);
  }

  .l-inner.l-inner--medium {
    padding-inline: min(8.2723279649vw, 113px);
  }

  .l-main__topBg::before {
    -webkit-mask: url(footer_mask.png) no-repeat center/100% 100%;
    mask: url(footer_mask.png) no-repeat center/100% 100%;
    height: 6.75rem;
  }

  .l-main__topTopicsMembers::before {
    width: 407.9795021962vw;
    height: 450.2928257687vw;
  }

  .c-breadcrumb {
    width: 100%;
  }

  .c-breadcrumb__inner {
    max-width: 1206px;
    padding-inline: min(2.9282576867vw, 40px);
  }

  .c-breadcrumb__inner {
    max-width: 1366px;
    padding-inline: min(4.5387994143vw, 62px);
  }

  .c-breadcrumb__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .c-breadcrumb__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
  }

  .c-breadcrumb__item:not(:first-of-type)::before {
    content: '';
    display: block;
    height: 0.0625rem;
    width: 0.5rem;
    -webkit-margin-before: 0.5em;
    margin-block-start: 0.5em;
    background-color: var(--theme-sub-text);
  }

  .c-breadcrumb__link {
    display: block;
    font-size: 1.2rem;
    text-align: justify;
  }

  .c-buttonSquare {
    padding-block: min(1.756954612vw, 24px);
    padding-inline: min(2.3426061493vw, 32px);
    width: 100%;
    grid-template-columns: auto 2.25rem;
    gap: min(0.5856515373vw, 8px) min(1.756954612vw, 24px);
  }

  .c-buttonSquare__labelEn {
    font-size: 2.2rem;
  }

  .c-buttonSquare__labelJa {
    font-size: 1.3rem;
  }

  .c-buttonSquare__arrow {
    width: 2.25rem;
    height: 2.25rem;
  }

  .c-buttonSquare__arrow::before,
  .c-buttonSquare__arrow::after {
    width: 1.125rem;
    height: 1.125rem;
  }

  .c-gradationText {
    font-size: 9.6rem;
  }

  .c-text__main {
    font-size: 1.6rem;
    line-height: 1.6;
  }

  .c-text__sub {
    font-size: 1.5rem;
    line-height: 1.6;
  }

  .c-contactSection__inner {
    max-width: 1206px;
    padding-inline: min(2.9282576867vw, 40px);
  }

  .c-contactSection__inner {
    max-width: 1366px;
    padding-inline: min(4.5387994143vw, 62px);
  }

  .c-contactSection__inner {
    grid-template-columns: repeat(2, 1fr);
  }

  .c-contactSection__link {
    gap: min(4.5387994143vw, 62px);
    padding-block: min(10.2489019034vw, 140px) min(8.7115666179vw, 119px);
    padding-inline: min(3.8067349927vw, 52px) min(15.3733528551vw, 210px);
  }

  .c-contactSection__hgroup {
    grid-template-columns: auto 2.5rem;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    gap: 1rem;
  }

  .c-contactSection__label {
    font-size: 1.6rem;
  }

  .c-contactSection__label::before {
    width: 0.75rem;
    height: 0.75rem;
  }

  .c-contactSection__enLabel {
    font-size: 3.2rem;
  }

  .c-contactSection__arrow {
    width: 2.5rem;
    height: 2.5rem;
  }

  .c-contactSection__arrow::before,
  .c-contactSection__arrow::after {
    width: 1.125rem;
    height: 1.125rem;
  }

  .c-contactSection__text {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
  }

  .c-contactSection__link.c-contactSection__link--modelhouse {
    background-size: min(16.1054172767vw, 220px) min(21.7423133236vw, 297px);
  }

  .c-contactSection__link.c-contactSection__link--contact {
    background-position: 101% calc(100% + 0.25rem);
    background-size: 14.5625rem 15.4375rem;
  }

  .c-contactSection__link.c-contactSection__link--contact
    .c-contactSection__label::before {
    border-radius: 0 100% 0 0;
  }

  .c-sectionHeading__ja {
    font-size: 2.8rem;
  }

  .c-sectionHeading__en {
    font-size: 1.4rem;
  }

  .c-topicsCard__link {
    padding-inline: 0.75rem;
    grid-template-areas: 'img options arrow' 'img title .';
    grid-template-columns: 10rem 1fr auto;
    grid-template-rows: auto auto;
    gap: 1rem 1.75rem;
  }

  .c-topicsCard__title {
    font-size: 1.6rem;
  }

  .c-topicsCard__options {
    gap: 1.375rem;
    -webkit-margin-before: auto;
    margin-block-start: auto;
  }

  .c-topicsCard__arrow {
    -webkit-margin-before: auto;
    margin-block-start: auto;
    width: 0.875rem;
    height: 0.875rem;
  }

  .c-worksCard__title {
    font-size: 1.6rem;
  }

  .c-worksCard__options {
    gap: 1.375rem;
    -webkit-margin-before: auto;
    margin-block-start: auto;
  }

  .c-worksCard__arrow {
    -webkit-margin-before: 0.125rem;
    margin-block-start: 0.125rem;
    width: 0.875rem;
    height: 0.875rem;
  }

  .c-salesCard__title {
    font-size: 1.8rem;
    text-decoration-line: underline;
    text-decoration-color: color-mix(in lch, currentColor, transparent 100%);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
    -webkit-transition: text-decoration-color var(--hover-transition);
    transition: text-decoration-color var(--hover-transition);
  }

  .c-pageTitle {
    -webkit-margin-before: 5.625rem;
    margin-block-start: 5.625rem;
  }

  .c-pageTitle__enTitle {
    width: 32.5rem;
  }

  .c-pageTitle__jaTitle {
    -webkit-margin-before: 1rem;
    margin-block-start: 1rem;
  }

  .c-serviceAnchor__link {
    min-width: auto;
    display: block;
    font-size: 1.4rem;
    color: var(--theme-white);
    padding-block: 0.375rem;
    padding-inline: 0.875rem;
    border-radius: 0.5rem;
    -webkit-transition: color var(--hover-transition),
      background-color var(--hover-transition);
    transition: color var(--hover-transition),
      background-color var(--hover-transition);
  }

  .c-flow__deco {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    pointer-events: none;
  }

  .c-flow__decoIllust {
    display: block;
    width: min(39.0922401171vw, 534px);
    height: min(100vh, 100%);
    position: sticky;
    top: 0;
    left: 0;
  }

  .c-flow__decoIllust img {
    position: absolute;
    bottom: 0;
  }

  .c-flow__inner {
    max-width: 1206px;
    padding-inline: min(2.9282576867vw, 40px);
  }

  .c-flow__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(7.027818448vw, 96px);
    padding-block: 8.125rem 7.5rem;
  }

  .c-flow__head {
    position: sticky;
    top: 0;
    left: 0;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-padding-end: min(2.196193265vw, 30px);
    padding-inline-end: min(2.196193265vw, 30px);
    -webkit-padding-before: 30vh;
    padding-block-start: 30vh;
    -webkit-margin-before: -30vh;
    margin-block-start: -30vh;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: min(30.3074670571vw, 414px);
  }

  .c-flow__lead {
    font-size: 1.4rem;
    -webkit-margin-before: 3.75rem;
    margin-block-start: 3.75rem;
  }

  .c-flow__body {
    gap: min(4.6852122987vw, 64px);
  }

  .c-flow__indicator {
    gap: 2rem;
    -webkit-padding-before: 30vh;
    padding-block-start: 30vh;
    -webkit-margin-before: calc(-30vh + min(17.5695461201vw, 240px));
    margin-block-start: calc(-30vh + min(17.5695461201vw, 240px));
  }

  .c-flow__list {
    -webkit-margin-before: min(17.5695461201vw, 240px);
    margin-block-start: min(17.5695461201vw, 240px);
  }

  .c-flow__title {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
    font-size: 2.4rem;
  }

  .c-flow__label {
    font-size: 1.5rem;
  }

  .c-flow__text {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
  }

  .c-flow__button {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
  }

  .c-serviceWorksSection__inner {
    padding-block: 7.5rem 5rem;
  }

  .c-serviceWorksSection__container {
    -webkit-padding-before: 2.5rem;
    padding-block-start: 2.5rem;
  }

  .c-serviceWorksSection__list {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.375rem;
  }

  .c-serviceWorksSection__btn {
    place-items: start;
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
  }

  .c-otherContents {
    padding-block: 12.25rem 11.375rem;
  }

  .c-otherContents__heading {
    width: min(46.1200585652vw, 630px);
  }

  .c-otherContents__container {
    -webkit-margin-before: -0.5rem;
    margin-block-start: -0.5rem;
  }

  .c-otherContents__inner {
    max-width: 1206px;
    padding-inline: min(2.9282576867vw, 40px);
  }

  .c-otherContents__inner {
    max-width: 1366px;
    padding-inline: min(4.5387994143vw, 62px);
  }

  .c-otherContents__list {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
  }

  .c-otherContents__list::before,
  .c-otherContents__list::after {
    content: '';
    position: absolute;
    width: 0.0625rem;
    height: 100%;
    background-color: #dedede;
    top: 0;
    left: 33.3333333333%;
  }

  .c-otherContents__list::after {
    top: 0;
    left: 66.6666666667%;
  }

  .c-otherContents__link {
    padding-block: min(5.8565153734vw, 80px);
    padding-inline: min(6.2957540264vw, 86px);
    gap: 1.5rem;
  }

  .c-otherContents__hgroup {
    width: 100%;
    grid-template-columns: auto 2.25rem;
    gap: 0.75rem;
  }

  .c-otherContents__label {
    font-size: 2.2rem;
  }

  .c-otherContents__img img {
    aspect-ratio: 1/1;
  }

  .c-otherContents__arrow {
    width: 2.25rem;
    height: 2.25rem;
  }

  .c-otherContents__arrow::before,
  .c-otherContents__arrow::after {
    width: 1.125rem;
    height: 1.125rem;
  }

  form.mimassi_inquiry {
    gap: 3.25rem;
  }

  form.mimassi_inquiry > fieldset > dl {
    gap: 0.75rem;
  }

  form.mimassi_inquiry > fieldset > dl > dt {
    font-size: 1.6rem;
  }

  form.mimassi_inquiry > fieldset > dl > dt > span {
    font-size: 1.4rem;
  }

  form.mimassi_inquiry > fieldset > dl > dd input,
  form.mimassi_inquiry > fieldset > dl > dd textarea,
  form.mimassi_inquiry > fieldset > dl > dd select {
    font-size: 1.6rem;
  }

  form.mimassi_inquiry > fieldset > dl > dd input:focus,
  form.mimassi_inquiry > fieldset > dl > dd textarea:focus,
  form.mimassi_inquiry > fieldset > dl > dd select:focus {
    font-size: 1.6rem;
    padding-block: 0.875rem;
    outline: none;
    border: 2px solid var(--theme-blue);
  }

  form.mimassi_inquiry > fieldset > dl > dd.c-form__column2 {
    display: grid;
    gap: 1.375rem 1.5rem;
    grid-template-columns: repeat(2, 1fr);
  }

  form.mimassi_inquiry
    > fieldset
    > dl
    > dd.c-form__column2
    > input[name='zip'] {
    width: 100%;
  }

  form.mimassi_inquiry
    > fieldset
    > dl
    > dd.c-form__column2
    > select[name='add1'] {
    grid-area: 1/1/2/2;
  }

  form.mimassi_inquiry
    > fieldset
    > dl
    > dd.c-form__column2
    > input[name='add2'] {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    grid-area: 1/2/2/3;
  }

  form.mimassi_inquiry
    > fieldset
    > dl
    > dd.c-form__column2
    > input[name='add3'] {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    grid-area: 2/1/3/3;
  }

  form.mimassi_inquiry > fieldset > dl > dd.c-form__reserve {
    gap: 1.375rem;
  }

  form.mimassi_inquiry > fieldset > dl > dd.c-form__reserve > div {
    gap: 1.5rem;
  }

  form.mimassi_inquiry > fieldset > dl > dd.c-form__reserve > div div {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0.5625rem;
  }

  form.mimassi_inquiry > fieldset > dl > dd.c-form__reserve > div div > span {
    font-size: 1.6rem;
  }

  form.mimassi_inquiry > fieldset > p {
    font-size: 1.6rem;
    -webkit-margin-after: -1rem;
    margin-block-end: -1rem;
  }

  form.mimassi_inquiry > fieldset > div {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }

  div.mimassi_inquiry_check_window > table > tbody > tr th {
    width: 15rem;
    padding-block: 2rem;
    font-size: 1.6rem;
  }

  div.mimassi_inquiry_check_window > table > tbody > tr td {
    padding-block: 2rem;
    font-size: 1.6rem;
  }

  div.mimassi_inquiry_button_area {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
  }

  .c-sidebarIndex {
    position: sticky;
    top: 0;
    left: 0;
    -webkit-margin-before: -7.5rem;
    margin-block-start: -7.5rem;
    -webkit-padding-before: 7.5rem;
    padding-block-start: 7.5rem;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }

  .c-sidebarIndex__container {
    padding-block: 0;
  }

  .c-sidebarIndex__container:not(:first-of-type) {
    padding-block: 1.5rem 0;
  }

  .c-sidebarIndex__list {
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .c-pagination {
    margin-inline: auto 0;
  }

  .c-pagination .page-numbers:not(.prev),
  .c-pagination .page-numbers:not(.next) {
    width: 2.75rem;
  }

  .c-pagination .page-numbers.prev,
  .c-pagination .page-numbers.next {
    display: block;
    position: relative;
    top: unset;
    width: 2.5rem;
  }

  .c-pagination .page-numbers.prev span,
  .c-pagination .page-numbers.next span {
    width: 1.25rem;
    height: 1.25rem;
  }

  .c-pagination .page-numbers.prev span::before,
  .c-pagination .page-numbers.next span::before {
    -webkit-transform: translate(calc(-50% - 2.5rem), -50%);
    transform: translate(calc(-50% - 2.5rem), -50%);
    width: 1.25rem;
    height: 1.25rem;
  }

  .c-pagination .page-numbers.prev {
    -webkit-margin-end: 1.25rem;
    margin-inline-end: 1.25rem;
  }

  .c-pagination .page-numbers.next {
    -webkit-margin-start: 1.25rem;
    margin-inline-start: 1.25rem;
  }

  .p-topFv__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    max-width: 100%;
  }

  #fv-bg-grad {
    left: 50%;
    right: unset;
    width: 77.125rem;
    -webkit-transform: translate(-50%, -7.875rem);
    transform: translate(-50%, -7.875rem);
  }

  #fv-left {
    position: absolute;
    z-index: -3;
    display: block;
    width: auto;
    height: 100%;
    top: 0;
    left: 0;
  }

  #fv-right {
    position: absolute;
    z-index: -3;
    display: block;
    width: auto;
    height: 100%;
    top: 0;
    right: 0;
  }

  #fv-bg-grad {
    width: 77.125rem;
    height: 68.0625rem;
    -webkit-transform: translate(-30.1875rem, -3rem);
    transform: translate(-30.1875rem, -3rem);
  }

  .p-topFv__title {
    margin-inline: min(12.3076923077vw, 17.75rem) auto;
    width: max(60%, 495px);
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-topConcept__inner {
    padding-block: 6.6875rem 4rem;
    max-width: 1406px;
    padding-inline: min(12.4450951684vw, 170px);
  }

  .p-topConcept__catchcopy {
    display: block;
  }

  .p-topConcept__hgroup {
    display: block;
    margin-inline: min(8.8579795022vw, 121px);
  }

  .p-topConcept__container {
    -webkit-margin-before: -3.75rem;
    margin-block-start: -3.75rem;
    grid-template-rows: auto 1fr;
    grid-template-columns: 40.7480314961% 1fr;
    grid-template-areas: 'img01 img02' 'content images';
    gap: min(1.4641288433vw, 20px);
  }

  .p-topConcept__img01 {
    margin-inline: 2rem 0;
    aspect-ratio: 414/226;
  }

  .p-topConcept__img02 {
    margin-inline: 0;
    aspect-ratio: 550/382;
  }

  .p-topConcept__images {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    margin-inline: 0 max(-6.8814055637vw, -94px);
    gap: min(1.4641288433vw, 20px);
  }

  .p-topConcept__img03 {
    aspect-ratio: 344/500;
  }

  .p-topConcept__img04 {
    aspect-ratio: 280/186;
  }

  .p-topConcept__decorationSquare {
    width: min(4.39238653vw, 60px);
    -webkit-margin-before: min(10.2489019034vw, 140px);
    margin-block-start: min(10.2489019034vw, 140px);
    -webkit-margin-start: min(12.8843338214vw, 176px);
    margin-inline-start: min(12.8843338214vw, 176px);
  }

  .p-topConcept__decorationHalfcircle {
    width: min(10.1756954612vw, 139px);
    -webkit-margin-before: min(5.3440702782vw, 73px);
    margin-block-start: min(5.3440702782vw, 73px);
    -webkit-margin-start: min(3.4407027818vw, 47px);
    margin-inline-start: min(3.4407027818vw, 47px);
  }

  .p-topConcept__content {
    -webkit-margin-before: 4.75rem;
    margin-block-start: 4.75rem;
    -webkit-padding-end: 2.625rem;
    padding-inline-end: 2.625rem;
    gap: 2.5rem;
  }

  .p-topConcept__btn {
    -webkit-margin-before: 1rem;
    margin-block-start: 1rem;
  }

  .p-topService__inner {
    -webkit-padding-before: 4.5rem;
    padding-block-start: 4.5rem;
  }

  .p-topService__hgroup {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    gap: 2.5rem;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: 0 auto;
  }

  .p-topService__headingJa {
    font-size: 1.5rem;
    gap: 0.625rem;
  }

  .p-topService__headingJa::before {
    width: 0.9375rem;
  }

  .p-topService__headingEn {
    width: 18.6875rem;
  }

  .p-topService__lead {
    font-size: 1.6rem;
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
  }

  .p-topService__container {
    -webkit-margin-before: 3.5rem;
    margin-block-start: 3.5rem;
    -webkit-padding-after: 7.5rem;
    padding-block-end: 7.5rem;
  }

  .p-topService__item {
    padding-inline: min(2.9282576867vw, 40px);
  }

  .p-topService__itemInner {
    max-width: 70.375rem;
  }

  .p-topService__itemContent {
    padding-block: 5rem;
    padding-inline: 3.875rem;
    gap: 3rem 3.25rem;
    grid-template-columns: min(32.2108345534vw, 440px) 1fr;
    grid-template-rows: auto auto 1fr;
    grid-template-areas: 'img head' 'img text' 'img btn';
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .p-topService__head {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    gap: 0.875rem;
  }

  .p-topService__title {
    font-size: 1.8rem;
    font-weight: 400;
  }

  .p-topService__titleEn {
    height: 3.5rem;
  }

  .p-topService__text {
    font-size: 1.6rem;
    letter-spacing: 0.02em;
  }

  .p-topService__btn {
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-topService__item:nth-of-type(odd) .p-topService__itemInner {
    padding-inline: 0 min(8.4919472914vw, 116px);
  }

  .p-topService__item:nth-of-type(even) .p-topService__itemInner {
    padding-inline: min(8.4919472914vw, 116px) 0;
  }

  .p-topWorks__hgroup {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .p-topWorks__headingJa {
    font-size: 1.5rem;
    gap: 0.625rem;
  }

  .p-topWorks__headingJa::before {
    width: 0.9375rem;
  }

  .p-topWorks__headingEn {
    width: 26rem;
  }

  .p-topWorks__lead {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
    -webkit-padding-before: 2.5rem;
    padding-block-start: 2.5rem;
  }

  .p-topWorks__container::before {
    bottom: unset;
    top: -12rem;
    right: -9.75rem;
  }

  .p-topWorks__slider {
    -webkit-padding-before: 5.25rem;
    padding-block-start: 5.25rem;
  }

  .p-topWorks__btn {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
  }

  .p-topSales__inner {
    -webkit-padding-before: 6rem;
    padding-block-start: 6rem;
  }

  .p-topSales__hgroup {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    gap: 2.5rem;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: 0 auto;
  }

  .p-topSales__headingJa {
    font-size: 1.5rem;
    gap: 0.625rem;
  }

  .p-topSales__headingJa::before {
    width: 0.9375rem;
  }

  .p-topSales__headingEn {
    width: 13.0625rem;
  }

  .p-topSales__lead {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
    -webkit-padding-before: 2.5rem;
    padding-block-start: 2.5rem;
  }

  .p-topSales__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-topSales__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.375rem;
  }

  .p-topSales__btn {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
  }

  .p-topTopics {
    padding-block: 14.9375rem 10rem;
    position: relative;
    z-index: 0;
  }

  .p-topTopics__inner {
    display: grid;
    grid-template-columns: 1fr 37.9375rem;
    grid-template-rows: auto auto auto 1fr;
    grid-template-areas: 'hgroup list' 'lead list' 'btn list' '. list';
  }

  .p-topTopics__hgroup {
    grid-area: hgroup;
    gap: 2rem;
  }

  .p-topTopics__headingJa {
    font-size: 1.5rem;
    gap: 0.625rem;
  }

  .p-topTopics__headingJa::before {
    width: 0.9375rem;
  }

  .p-topTopics__headingEn {
    width: 16.4375rem;
  }

  .p-topTopics__lead {
    grid-area: lead;
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
  }

  .p-topTopics__list {
    grid-area: list;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-topTopics__btn {
    grid-area: btn;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
  }

  .p-topMembers__inner {
    padding-block: 10rem 3.5rem;
    display: grid;
    grid-template-columns: 1fr 31.25rem;
    grid-template-rows: auto auto 1fr;
    grid-template-areas: 'hgroup img' 'lead img' 'btn img';
    gap: 0 2.875rem;
  }

  .p-topMembers__hgroup {
    grid-area: hgroup;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }

  .p-topMembers__headingJa {
    font-size: 1.6rem;
  }

  .p-topMembers__headingEn {
    width: 14rem;
  }

  .p-topMembers__lead {
    grid-area: lead;
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
    -webkit-padding-before: 2rem;
    padding-block-start: 2rem;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }

  .p-topMembers__btn {
    grid-area: btn;
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
  }

  .p-topMembers__img {
    grid-area: img;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-concept__deco01 {
    width: min(36.383601757vw, 497px);
  }

  .p-concept__deco02 {
    width: min(91.1420204978vw, 1245px);
  }

  .p-concept__heading {
    gap: 1.5rem;
  }

  .p-concept__headingJa {
    font-size: 4rem;
  }

  .p-conceptFv__inner {
    padding-block: 5.625rem 7.5rem;
  }

  .p-conceptConcept__inner {
    -webkit-padding-after: 15rem;
    padding-block-end: 15rem;
  }

  .p-conceptConcept__content {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
    gap: 2rem;
  }

  .p-conceptConcept__text {
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.08em;
  }

  .p-conceptConcept__movie {
    -webkit-margin-before: 11.25rem;
    margin-block-start: 11.25rem;
    aspect-ratio: 861/476;
  }

  .p-conceptPhilosophy__inner {
    padding-block: 7.5rem;
  }

  .p-conceptPhilosophy__wrapper {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
    gap: 2rem;
  }

  .p-conceptPhilosophy__lead {
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.08em;
  }

  .p-conceptPhilosophy__list {
    grid-template-columns: repeat(3, 1fr);
  }

  .p-conceptPhilosophy__item {
    padding-block: min(3.8067349927vw, 52px);
    padding-inline: min(2.9282576867vw, 40px);
    -webkit-border-end: none;
    border-inline-end: none;
  }

  .p-conceptPhilosophy__item:not(:first-of-type) {
    -webkit-border-before: none;
    border-block-start: none;
  }

  .p-conceptPhilosophy__item:last-of-type {
    -webkit-border-end: 0.0625rem solid #ababab;
    border-inline-end: 0.0625rem solid #ababab;
  }

  .p-conceptPhilosophy__title {
    -webkit-margin-before: min(4.0995607613vw, 56px);
    margin-block-start: min(4.0995607613vw, 56px);
    line-height: 1.4;
  }

  .p-conceptPhilosophy__text {
    -webkit-margin-before: min(1.1713030747vw, 16px);
    margin-block-start: min(1.1713030747vw, 16px);
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: 0.04em;
  }

  .p-conceptPhilosophy__img img {
    aspect-ratio: 295/188;
  }

  .p-conceptMessage__inner {
    padding-block: 7.5rem 10rem;
  }

  .p-conceptMessage__lead {
    font-size: 2rem;
    line-height: 1.6;
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }

  .p-conceptMessage__container {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
    grid-template-areas: 'img content' 'img name';
    grid-template-columns: 27.875rem 1fr;
    gap: min(2.9282576867vw, 40px) min(7.027818448vw, 96px);
  }

  .p-conceptMessage__hgroup {
    gap: 0.75rem;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-conceptMessage__name {
    font-size: 1.8rem;
    line-height: 1.6;
  }

  .p-conceptMessage__content {
    gap: 1.5rem;
  }

  .p-conceptMessage__text {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.08em;
  }

  .p-conceptMessage__footer {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.6875rem;
    height: 26.5rem;
  }

  .p-conceptMessage__footer::before {
    background-image: url(footer_mask.png);
    height: 5.625rem;
  }

  .p-conceptMessage__footerImg picture,
  .p-conceptMessage__footerImg img {
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    aspect-ratio: 448/424;
  }

  .p-featureFv {
    background-image: url(bg_deco_page_fv.svg);
    background-size: 29.125rem 20.1875rem;
  }

  .p-featureFv__inner {
    padding-block: 5.625rem 7.5rem;
  }

  .p-featureFeature__num {
    font-weight: 500;
  }

  .p-featureFeature__heading {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
    font-size: 2rem;
    line-height: 1.6;
    word-break: keep-all;
  }

  .p-featureFeature__text {
    letter-spacing: 0.04em;
  }

  .p-featureFeature__primaryInner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0;
    background-color: transparent;
    max-width: min(100vw, 1366px);
    padding-block: 0;
    padding-inline: min(8.78477306vw, 120px);
    -webkit-border-start: none;
    border-inline-start: none;
    -webkit-border-end: none;
    border-inline-end: none;
  }

  .p-featureFeature__primaryContent {
    -webkit-border-start: 0.0625rem solid #ababab;
    border-inline-start: 0.0625rem solid #ababab;
    -webkit-border-end: 0.0625rem solid #ababab;
    border-inline-end: 0.0625rem solid #ababab;
    width: min(65.8857979502vw, 900px);
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding-block: min(5.8565153734vw, 80px);
    padding-inline: min(4.5387994143vw, 62px);
    gap: min(3.8067349927vw, 52px);
  }

  .p-featureFeature__primaryImg {
    width: 21.625rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
  }

  .p-featureFeature__primaryItem.p-featureFeature__primaryItem--reverse
    .p-featureFeature__primaryInner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .p-featureFeature__primaryItem.is-visible .p-featureFeature__primaryImg {
    opacity: 1;
    visibility: visible;
  }

  .p-featureFeature__inner {
    max-width: 48rem;
  }

  .p-featureCta::after {
    width: min(85.375rem, 100%);
    height: 10.8125rem;
    background-image: url(bg_cta.svg);
  }

  .p-featureCta__inner {
    padding-block: 7.5rem 8.75rem;
  }

  .p-featureCta__heading {
    font-size: 2.8rem;
    line-height: 1.8;
  }

  .p-featureCta__text {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.02em;
  }

  .p-featureCta__btn {
    -webkit-margin-before: 3.5rem;
    margin-block-start: 3.5rem;
  }

  .p-companyFv {
    background-image: url(bg_deco_page_fv.svg);
    background-size: 29.125rem 20.1875rem;
  }

  .p-companyFv__inner {
    padding-block: 5.625rem 7.5rem;
  }

  .p-companyOverview__inner {
    padding-block: 7.5rem;
    gap: 0;
    grid-template-columns: 17.875rem 1fr;
  }

  .p-companyOverview__heading {
    font-size: 2.8rem;
    line-height: 1.6;
  }

  .p-companyOverview__row {
    grid-template-columns: 13.5rem 1fr;
    padding-block: 2rem;
  }

  .p-companyOverview__head {
    font-size: 1.4rem;
  }

  .p-companyOverview__body {
    font-size: 1.5rem;
  }

  .p-companyOverview__bodyMail {
    height: 1.1em;
  }

  .p-companyGroup__inner {
    padding-block: 7.5rem;
    gap: 0;
    grid-template-columns: 17.875rem 1fr;
  }

  .p-companyGroup__heading {
    font-size: 2.8rem;
    line-height: 1.6;
  }

  .p-companyGroup__container {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem 2.5rem;
  }

  .p-companyGroup__link {
    gap: 1.125rem;
  }

  .p-companyGroup__title {
    font-size: 1.8rem;
    line-height: 1.6;
  }

  .p-companyGroup__img img {
    aspect-ratio: 400/232;
  }

  .p-companyMembers__inner {
    padding-block: 7.5rem 5rem;
    gap: 0;
    grid-template-columns: 17.875rem 1fr;
  }

  .p-companyMembers__heading {
    font-size: 2.8rem;
    line-height: 1.6;
  }

  .p-companyMembers__lead {
    font-size: 1.6rem;
  }

  .p-companyMembers__btns {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }

  .p-buildFv {
    background-position: right calc(100% - 8.25rem);
    background-size: 56.8125rem 26.875rem;
  }

  .p-buildFv__inner {
    padding-block: 5.625rem 26rem;
  }

  .p-buildAbout__inner {
    padding-block: 7.5rem 10rem;
  }

  .p-buildAbout__heading {
    font-size: 3.2rem;
  }

  .p-buildAbout__container {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
    width: 42rem;
  }

  .p-buildAbout__gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-margin-end: -7.5rem;
    margin-inline-end: -7.5rem;
    -webkit-transform: translateY(6.25rem);
    transform: translateY(6.25rem);
  }

  .p-buildAbout__img.p-buildAbout__img--large {
    width: min(44.5827232796vw, 609px);
    -webkit-margin-start: 0;
    margin-inline-start: 0;
  }

  .p-buildAbout__img.p-buildAbout__img--small {
    width: min(20.4978038067vw, 260px);
    -webkit-margin-before: min(24.3777452416vw, 333px);
    margin-block-start: min(24.3777452416vw, 333px);
    -webkit-margin-start: 7.0625rem;
    margin-inline-start: 7.0625rem;
  }

  .p-buildAbout__img.p-buildAbout__img--tall {
    width: min(16.1054172767vw, 200px);
    -webkit-margin-before: -14.3125rem;
    margin-block-start: -14.3125rem;
    -webkit-margin-start: 3.625rem;
    margin-inline-start: 3.625rem;
    -webkit-margin-end: 0;
    margin-inline-end: 0;
  }

  .p-buildFeature__inner {
    padding-block: 7.5rem 10rem;
  }

  .p-buildFeature__lead {
    -webkit-padding-before: 2.5rem;
    padding-block-start: 2.5rem;
  }

  .p-buildFeature__foundation {
    -webkit-margin-before: 10.8125rem;
    margin-block-start: 10.8125rem;
  }

  .p-buildFeature__foundationContainer {
    width: 33.75rem;
    height: 33.75rem;
  }

  .p-buildFeature__foundationHgroup {
    width: 23.0625rem;
    height: 23.0625rem;
    gap: 1.3125rem;
  }

  .p-buildFeature__foundationHgroup::after {
    width: 3.25rem;
    height: 3.25rem;
    -webkit-transform: translate(-50%, calc(-50% + 4.375rem));
    transform: translate(-50%, calc(-50% + 4.375rem));
  }

  .p-buildFeature__foundationHeading {
    font-size: 1.5rem;
    -webkit-margin-before: -1.875rem;
    margin-block-start: -1.875rem;
  }

  .p-buildFeature__foundationLead {
    font-size: 1.6rem;
  }

  .p-buildFeature__foundationItem {
    gap: 0.875rem;
    width: 14.375rem;
    height: 14.375rem;
    font-size: 1.5rem;
  }

  .p-buildFeature__foundationItem::before {
    font-size: 1.4rem;
  }

  .p-buildFeature__foundationItem:nth-of-type(1) {
    top: -4rem;
  }

  .p-buildFeature__foundationItem:nth-of-type(2) {
    left: -3.25rem;
  }

  .p-buildFeature__foundationItem:nth-of-type(3) {
    right: -3.25rem;
  }

  .p-buildFeature__point {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
    gap: 1.5rem;
  }

  .p-buildFeature__item {
    padding-block: 2.5rem;
    padding-inline: 3.5rem;
    grid-template-areas: 'num img content';
    grid-template-columns: 8.375rem 13.5rem 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .p-buildFeature__itemNum {
    display: block;
    -webkit-margin-after: auto;
    margin-block-end: auto;
  }

  .p-buildFeature__itemContent {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-padding-start: 2rem;
    padding-inline-start: 2rem;
  }

  .p-buildFeature__itemTitle {
    font-size: 2rem;
  }

  .p-buildFeature__itemText {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }

  .p-buildFeature__itemImg {
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-buildFeature__itemImg img {
    aspect-ratio: 216/142;
    -o-object-position: center 60%;
    object-position: center 60%;
  }

  .p-buildSupport__inner {
    padding-block: 7.5rem 10rem;
  }

  .p-buildSupport__lead {
    -webkit-padding-before: 2.5rem;
    padding-block-start: 2.5rem;
  }

  .p-buildSupport__list {
    -webkit-margin-before: 3.375rem;
    margin-block-start: 3.375rem;
    max-width: 60.5rem;
    margin-inline: auto;
    grid-template-columns: repeat(4, 1fr);
    gap: 5rem;
  }

  .p-buildSupport__caption {
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
  }

  .p-buy__deco {
    position: sticky;
    top: min(13.75rem, 25vh);
    left: 50%;
    -webkit-transform: translateX(max(-4.831625183vw, -186px));
    transform: translateX(max(-4.831625183vw, -186px));
    width: min(61.0541727672vw, 834px);
  }

  .p-buyFv__inner {
    padding-block: 5.625rem 25rem;
  }

  .p-buyAbout {
    padding-block: 7.5rem 12.5rem;
  }

  .p-buyAbout__heading {
    font-size: 3.2rem;
  }

  .p-buyAbout__body {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
    width: 42rem;
  }

  .p-buyFeature__inner {
    padding-block: 7.5rem 10rem;
  }

  .p-buyFeature__lead {
    -webkit-padding-before: 2.5rem;
    padding-block-start: 2.5rem;
  }

  .p-buyFeature__foundation {
    -webkit-margin-before: 10.8125rem;
    margin-block-start: 10.8125rem;
  }

  .p-buyFeature__foundationContainer {
    width: 33.75rem;
    height: 33.75rem;
  }

  .p-buyFeature__foundationHgroup {
    width: 23.0625rem;
    height: 23.0625rem;
    gap: 1.3125rem;
  }

  .p-buyFeature__foundationHgroup::after {
    width: 3.25rem;
    height: 3.25rem;
    -webkit-transform: translate(-50%, calc(-50% + 4.375rem));
    transform: translate(-50%, calc(-50% + 4.375rem));
  }

  .p-buyFeature__foundationHeading {
    font-size: 1.5rem;
    -webkit-margin-before: -1.875rem;
    margin-block-start: -1.875rem;
  }

  .p-buyFeature__foundationLead {
    font-size: 1.6rem;
  }

  .p-buyFeature__foundationItem {
    gap: 0.875rem;
    width: 14.375rem;
    height: 14.375rem;
    font-size: 1.5rem;
  }

  .p-buyFeature__foundationItem::before {
    font-size: 1.4rem;
  }

  .p-buyFeature__foundationItem:nth-of-type(1) {
    top: -4rem;
  }

  .p-buyFeature__foundationItem:nth-of-type(2) {
    left: -3.25rem;
  }

  .p-buyFeature__foundationItem:nth-of-type(3) {
    right: -3.25rem;
  }

  .p-buyFeature__point {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
    gap: 1.5rem;
  }

  .p-buyFeature__item {
    padding-block: 2.5rem;
    padding-inline: 3.5rem;
    grid-template-areas: 'num img content';
    grid-template-columns: 8.375rem 13.5rem 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .p-buyFeature__itemNum {
    display: block;
    -webkit-margin-after: auto;
    margin-block-end: auto;
  }

  .p-buyFeature__itemContent {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-padding-start: 2rem;
    padding-inline-start: 2rem;
  }

  .p-buyFeature__itemTitle {
    font-size: 2rem;
  }

  .p-buyFeature__itemText {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }

  .p-buyFeature__itemImg {
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-buyFeature__itemImg img {
    aspect-ratio: 216/142;
    -o-object-position: center 70%;
    object-position: center 70%;
  }

  .p-renovation__deco {
    position: sticky;
    top: min(13.75rem, 25vh);
    left: 50%;
    -webkit-transform: translateX(max(-4.831625183vw, -186px));
    transform: translateX(max(-4.831625183vw, -186px));
    width: min(59.7364568082vw, 816px);
  }

  .p-renovationFv__inner {
    padding-block: 5.625rem 25rem;
  }

  .p-renovationAbout {
    padding-block: 7.5rem 12.5rem;
  }

  .p-renovationAbout__heading {
    font-size: 3.2rem;
  }

  .p-renovationAbout__body {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
    width: 42rem;
  }

  .p-renovationSolution__inner {
    padding-block: 7.5rem 10rem;
  }

  .p-renovationSolution__lead {
    -webkit-padding-before: 2.5rem;
    padding-block-start: 2.5rem;
  }

  .p-renovationSolution__container {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
  }

  .p-renovationSolution__list {
    padding-block: 2.5rem;
    padding-inline: 2.5rem;
    grid-template-columns: repeat(4, 1fr);
    gap: 5.125rem;
  }

  .p-renovationSolution__caption {
    font-size: 1.5rem;
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
  }

  .p-renovationSolution__dot {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
    gap: 1rem;
  }

  .p-renovationSolution__dot::before,
  .p-renovationSolution__dot::after,
  .p-renovationSolution__dot span {
    width: 0.75rem;
    height: 0.75rem;
  }

  .p-renovationSolution__promise {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
    padding-inline: 3.75rem;
    position: relative;
    z-index: 0;
    width: calc(100% - 8.75rem);
    margin-inline: auto;
  }

  .p-renovationSolution__promise::before,
  .p-renovationSolution__promise::after {
    content: '';
    display: block;
    height: 0.0625rem;
    width: 15.625rem;
    background-color: var(--theme-gray);
    position: absolute;
  }

  .p-renovationSolution__promise::before {
    top: 0;
    left: 0;
  }

  .p-renovationSolution__promise::after {
    bottom: 0;
    right: 0;
  }

  .p-renovationSolution__promiseInner {
    padding-block: 2rem 2.75rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 3.5rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    z-index: 0;
  }

  .p-renovationSolution__promiseInner::before,
  .p-renovationSolution__promiseInner::after {
    content: '';
    display: block;
    height: 3.25rem;
    width: 0.0625rem;
    background-color: var(--theme-gray);
    position: absolute;
  }

  .p-renovationSolution__promiseInner::before {
    top: 0;
    left: 0;
  }

  .p-renovationSolution__promiseInner::after {
    bottom: 0;
    right: 0;
  }

  .p-renovationSolution__promiseText {
    width: 26.25rem;
  }

  .p-renovationSolution__promiseImg {
    width: 13.5rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .p-renovationSolution__promiseImg img {
    aspect-ratio: 216/165;
  }

  .p-salesFv {
    background-color: var(--theme-base);
    background-image: url(bg_deco_page_fv.svg);
    background-size: 29.125rem 20.1875rem;
  }

  .p-salesFv__inner {
    padding-block: 5.625rem 7.5rem;
  }

  .p-salesNarrow {
    background-color: var(--theme-base-light-gray);
  }

  .p-salesNarrow__inner {
    padding-block: 4rem;
  }

  .p-salesNarrow__container {
    opacity: 1;
    visibility: visible;
    padding-block: 0;
    background-color: transparent;
    height: auto;
    max-width: 820px;
    margin-inline: auto;
    padding-inline: 40px;
    position: static;
  }

  .p-salesNarrow__form {
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
    -webkit-padding-before: 2rem;
    padding-block-start: 2rem;
    -webkit-border-before: 0.0625rem solid #dedede;
    border-block-start: 0.0625rem solid #dedede;
    max-width: 46.25rem;
    gap: 4rem;
  }

  .p-salesNarrow__row {
    padding-block: 1.125rem;
    grid-template-columns: 8.0625rem 1fr;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
  }

  .p-salesNarrow__row:not(:first-of-type) {
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
  }

  .p-salesNarrow__head {
    -webkit-margin-before: 0.5rem;
    margin-block-start: 0.5rem;
  }

  .p-salesNarrow__list {
    gap: 0.75rem 0.75rem;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-salesNarrow__search {
    gap: 1.5rem;
  }

  .p-salesNarrow__close {
    display: none;
  }

  .p-salesResult__inner {
    padding-inline: min(2.9282576867vw, 40px);
  }

  .p-salesResult__heading {
    font-size: 1.6rem;
  }

  .p-salesResult__list {
    -webkit-margin-before: 0.75rem;
    margin-block-start: 0.75rem;
  }

  .p-salesResult__item:not(:first-of-type) {
    -webkit-padding-start: 1.5rem;
    padding-inline-start: 1.5rem;
  }

  .p-salesArchive__inner {
    padding-block: 7.5rem 15rem;
    padding-inline: 4.375rem;
  }

  .p-salesArchive__list {
    grid-template-columns: repeat(2, 1fr);
    gap: min(5.8565153734vw, 80px) min(11.7130307467vw, 160px);
  }

  .p-salesSingleFv {
    background-color: var(--theme-base);
  }

  .p-salesSingleFv__inner {
    padding-block: 5.625rem 6.125rem;
  }

  .p-salesSingleFv__wrapper {
    max-width: 1206px;
    padding-inline: min(2.9282576867vw, 40px);
  }

  .p-salesSingleFv__wrapper {
    -webkit-margin-before: 3rem;
    margin-block-start: 3rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(11.4934114202vw, 157px);
  }

  .p-salesSingleFv__main {
    gap: 3.5rem;
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
    width: min(51.2445095168vw, 560px);
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .p-salesSingleFv__contracted {
    font-size: 1.8rem;
  }

  .p-salesSingleFv__title {
    font-size: 2.8rem;
  }

  .p-salesSingleFv__conceptHead {
    font-size: 1.8rem;
  }

  .p-salesSingleFv__conceptBody {
    font-size: 1.8rem;
    -webkit-margin-before: 1rem;
    margin-block-start: 1rem;
  }

  .p-salesSingleFv__details {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .p-salesSingleFv__vis {
    width: 100%;
    margin-inline: 0;
    min-height: min(36.8960468521vw, 504px);
    height: min(60vh, min(36.8960468521vw, 504px));
    overflow: hidden;
  }

  .p-salesSingleFv__vis img {
    aspect-ratio: 408/504;
  }

  .p-salesSingleConcept__fullImg {
    height: 45rem;
  }

  .p-salesSingleConcept__fullImg img {
    aspect-ratio: 1366/720;
  }

  .p-salesSingleConcept__inner {
    padding-block: 7.5rem;
  }

  .p-salesSingleConcept__heading {
    font-size: 3.2rem;
  }

  .p-salesSingleGallery__inner {
    -webkit-padding-after: 5rem;
    padding-block-end: 5rem;
  }

  .p-salesSingleGallery__img {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 0;
  }

  .p-salesSingleGallery__caption {
    text-align: center;
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--2column {
    gap: 0 min(5.8565153734vw, 80px);
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--3column {
    gap: 0 3.5rem;
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--2column[data-column-pattern='pattern-hh'],
  .p-salesSingleGallery__column.p-salesSingleGallery__column--2column[data-column-pattern='pattern-vv'] {
    grid-template-columns: repeat(2, 1fr);
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--2column[data-column-pattern='pattern-vh'] {
    grid-template-columns: min(39.5314787701vw, 460px) 1fr;
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--2column[data-column-pattern='pattern-hv'] {
    grid-template-columns: 1fr min(39.5314787701vw, 460px);
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--3column[data-column-pattern='pattern-hhh'],
  .p-salesSingleGallery__column.p-salesSingleGallery__column--3column[data-column-pattern='pattern-vvv'] {
    grid-template-columns: repeat(3, 1fr);
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--3column[data-column-pattern='pattern-hhv'] {
    grid-template-columns: 1fr 1fr min(23.4260614934vw, 282px);
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--3column[data-column-pattern='pattern-hvh'] {
    grid-template-columns: 1fr min(23.4260614934vw, 282px) 1fr;
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--3column[data-column-pattern='pattern-vhh'] {
    grid-template-columns: min(23.4260614934vw, 282px) 1fr 1fr;
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--3column[data-column-pattern='pattern-vhv'] {
    grid-template-columns: min(25.6222547584vw, 312px) 1fr min(
        25.6222547584vw,
        312px
      );
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--3column[data-column-pattern='pattern-hvv'] {
    grid-template-columns: 1fr min(25.6222547584vw, 312px) min(
        25.6222547584vw,
        312px
      );
  }

  .p-salesSingleGallery__column.p-salesSingleGallery__column--3column[data-column-pattern='pattern-vvh'] {
    grid-template-columns:
      min(25.6222547584vw, 312px) min(25.6222547584vw, 312px)
      1fr;
  }

  .p-salesSingleFloorplan__inner {
    padding-block: 7.5rem 5rem;
  }

  .p-salesSingleFloorplan__container {
    overflow: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .p-salesSingleFloorplan__container::-webkit-scrollbar {
    display: none;
  }

  .p-salesSingleFloorplan__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    gap: 3.375rem;
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
  }

  .p-salesSingleFloorplan__item {
    width: 21.25rem;
  }

  .p-salesSingleFloorplan__item::before {
    width: 1.5rem;
    height: 1.5rem;
    top: 1rem;
    right: 1rem;
  }

  .p-salesSingleFloorplan__caption {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
  }

  .p-salesSingleFloorplan__modal {
    width: min(100% - 80px, 48.25rem);
  }

  .p-salesSingleFloorplan__modalContainer {
    margin: auto;
    width: 100%;
    max-height: 90vh;
  }

  .p-salesSingleFloorplan__modalClose {
    top: 0;
    right: -3.75rem;
  }

  .p-salesSingleFloorplan__modalCloseText {
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    color: currentColor;
  }

  .p-salesSinglePoint__inner {
    -webkit-padding-before: 7.5rem;
    padding-block-start: 7.5rem;
  }

  .p-salesSinglePoint__container {
    -webkit-padding-after: 5rem;
    padding-block-end: 5rem;
  }

  .p-salesSinglePoint__item {
    padding-inline: min(2.9282576867vw, 40px);
  }

  .p-salesSinglePoint__itemInner {
    max-width: 70.375rem;
  }

  .p-salesSinglePoint__itemContent {
    grid-template-areas: 'num img' 'title img' 'text img';
    gap: 0 4.375rem;
    grid-template-columns: 1fr 18.75rem;
    padding-block: 3.25rem;
    padding-inline: 3.5rem;
  }

  .p-salesSinglePoint__num {
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-salesSinglePoint__title {
    -webkit-margin-before: 0.75rem;
    margin-block-start: 0.75rem;
  }

  .p-salesSinglePoint__text {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }

  .p-salesSinglePoint__item:nth-of-type(odd) .p-salesSinglePoint__itemInner {
    padding-inline: 0 7.5rem;
  }

  .p-salesSinglePoint__item:nth-of-type(even) .p-salesSinglePoint__itemInner {
    padding-inline: 7.5rem 0;
  }

  .p-salesSingleInterior__inner {
    padding-block: 7.5rem 1.25rem;
  }

  .p-salesSingleInterior__inner::before {
    width: 40rem;
    height: 10rem;
  }

  .p-salesSingleInterior__container {
    padding-block: 3.5rem 5rem;
  }

  .p-salesSingleInterior__list {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
    grid-template-columns: repeat(5, 1fr);
    gap: 3.5rem 2.625rem;
  }

  .p-salesSingleInterior__imgCaption {
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
  }

  .p-salesSingleOutline {
    padding-block: 7.5rem 5rem;
  }

  .p-salesSingleOutline__content {
    padding-block: 3.5rem;
    padding-inline: min(4.6852122987vw, 64px);
  }

  .p-salesSingleOutline__title {
    font-size: 3.6rem;
  }

  .p-salesSingleOutline__dataList {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: min(9.8096632504vw, 134px);
    -moz-column-gap: min(9.8096632504vw, 134px);
    column-gap: min(9.8096632504vw, 134px);
  }

  .p-salesSingleOutline__dataRow {
    padding-block: 0.5rem;
    grid-template-columns: 8.75rem 1fr;
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
  }

  .p-salesSingleOutline__price {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
  }

  .p-salesSingleOutline__priceList {
    -webkit-margin-before: 1rem;
    margin-block-start: 1rem;
  }

  .p-salesSingleOutline__priceList {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: min(9.8096632504vw, 134px);
    -moz-column-gap: min(9.8096632504vw, 134px);
    column-gap: min(9.8096632504vw, 134px);
  }

  .p-salesSingleOutline__priceRow {
    grid-template-columns: 7.5rem 1fr;
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
  }

  .p-salesSingleOutline__priceNum {
    font-size: 2.6rem;
    -webkit-margin-end: 2.5rem;
    margin-inline-end: 2.5rem;
  }

  .p-salesSingleOutline__map {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
  }

  .p-salesSingleOutline__map iframe {
    height: 28.75rem;
  }

  .p-salesSingleOutline__caption {
    -webkit-margin-before: 1rem;
    margin-block-start: 1rem;
  }

  .p-salesSingleOutline__link {
    -webkit-margin-after: 0;
    margin-block-end: 0;
    -webkit-padding-end: 1.75rem;
    padding-inline-end: 1.75rem;
  }

  .p-salesSingleOutline__link::before {
    content: '';
    position: absolute;
    display: block;
    width: 0.0625rem;
    height: 0.875rem;
    top: 50%;
    right: 0.875rem;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    background-color: var(--theme-icon);
  }

  .p-salesSingleMessage__inner {
    padding-block: 7.5rem 3.75rem;
  }

  .p-salesSingleMessage__container {
    -webkit-padding-before: 3.5rem;
    padding-block-start: 3.5rem;
  }

  .p-salesSingleMessage__title {
    font-size: 2rem;
  }

  .p-salesSingleContact {
    margin-block: 5.625rem;
  }

  .p-salesSingleContact::before {
    width: 407.9795021962vw;
    height: 450.2928257687vw;
  }

  .p-salesSingleContact__inner {
    padding-block: 10rem 7.5rem;
  }

  .p-salesSingleContact__heading {
    font-size: 6.4rem;
    gap: 2rem;
  }

  .p-salesSingleContact__heading::before,
  .p-salesSingleContact__heading::after {
    width: 0.75rem;
    height: 0.75rem;
  }

  .p-salesSingleContact__text {
    -webkit-margin-before: 4.5rem;
    margin-block-start: 4.5rem;
  }

  .p-salesSingleContact__info {
    -webkit-margin-before: 4.75rem;
    margin-block-start: 4.75rem;
  }

  .p-salesSingleContact__infoTitle {
    font-size: 1.8rem;
  }

  .p-salesSingleContact__infoText {
    font-size: 1.8rem;
  }

  .p-salesSingleContact__form {
    -webkit-margin-before: 6.25rem;
    margin-block-start: 6.25rem;
    padding-block: 4rem 6rem;
    padding-inline: 9.4375rem;
  }

  .p-salesSingleContact__notice {
    -webkit-padding-after: 6.875rem;
    padding-block-end: 6.875rem;
  }

  .p-salesSingleContact__noticeInner {
    -webkit-padding-after: 3.5rem;
    padding-block-end: 3.5rem;
  }

  .p-salesSingleContact__noticeHead {
    font-size: 1.6rem;
  }

  .p-salesSingleContact__noticeText {
    -webkit-margin-before: 3.5rem;
    margin-block-start: 3.5rem;
  }

  .p-salesSingleOther__inner {
    padding-block: 10rem 11.375rem;
  }

  .p-salesSingleOther__heading {
    text-align: center;
    font-size: 3.6rem;
  }

  .p-salesSingleOther__container {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    padding-inline: 4.375rem;
  }

  .p-salesSingleOther__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 10rem;
  }

  .p-salesSingleOther__btn {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
  }

  .p-worksFv {
    background-color: var(--theme-base);
    background-image: url(bg_deco_page_fv.svg);
    background-size: 29.125rem 20.1875rem;
  }

  .p-worksFv__inner {
    padding-block: 5.625rem 7.5rem;
  }

  .p-worksFv.p-worksFv--first {
    background-image: none;
    position: relative;
    z-index: 0;
    overflow: hidden;
  }

  .p-worksFv.p-worksFv--first::before,
  .p-worksFv.p-worksFv--first::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(max(-8.78477306vw, -120px), -50%);
    transform: translate(max(-8.78477306vw, -120px), -50%);
    display: block;
    width: 75rem;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: var(--theme-light-gray);
    z-index: -1;
    pointer-events: none;
  }

  .p-worksFv.p-worksFv--first::after {
    width: 50vw;
    right: 0;
    left: calc(50% + 37.5rem);
    border-radius: 0;
  }

  .p-worksFv.p-worksFv--first .p-worksFv__inner {
    position: relative;
    z-index: 0;
    padding-block: 5.625rem 7.5rem;
  }

  .p-worksFv__contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: min(10.980966325vw, 150px);
    -webkit-margin-before: -7.5rem;
    margin-block-start: -7.5rem;
  }

  .p-worksFv__vis {
    width: min(41.8740849195vw, 572px);
    height: auto;
    aspect-ratio: 572/416;
  }

  .p-worksFv__visSlider {
    gap: 1.25rem;
  }

  .p-worksFv__visSlider .swiper-horizontal > .swiper-pagination-bullets,
  .p-worksFv__visSlider .swiper-pagination-bullets.swiper-pagination-horizontal,
  .p-worksFv__visSlider .swiper-pagination-custom,
  .p-worksFv__visSlider .swiper-pagination-fraction {
    width: 0.75rem;
  }

  .p-worksFv__visSlider .swiper-pagination-bullet {
    width: 0.75rem;
    height: 0.75rem;
  }

  .p-worksFv__content {
    width: min(36.6032210835vw, 440px);
    height: auto;
    aspect-ratio: 440/129;
  }

  .p-worksFv__content .swiper-slide {
    padding-block: 0.625rem;
    padding-inline: 0.625rem 1.5625rem;
  }

  .p-worksFv__title {
    font-size: 1.6rem;
    height: 3.2rem;
    height: 2lh;
  }

  .p-worksFv__options {
    gap: 1.375rem;
    -webkit-margin-before: auto;
    margin-block-start: auto;
  }

  .p-worksFv__arrow {
    -webkit-margin-before: 0.125rem;
    margin-block-start: 0.125rem;
    width: 0.875rem;
    height: 0.875rem;
  }

  .p-worksFv__scroll {
    position: absolute;
    bottom: 0.5625rem;
    left: min(4.5387994143vw, 62px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-margin-before: -0.25rem;
    margin-block-start: -0.25rem;
    gap: 0.4375rem;
  }

  .p-worksFv__scrollArrow {
    display: block;
    width: 0.875rem;
    height: 0.875rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    z-index: 0;
    overflow: hidden;
  }

  .p-worksFv__scrollArrow::before,
  .p-worksFv__scrollArrow::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
    mask: url(icon_arrow.svg) no-repeat center/contain;
    -webkit-transition: -webkit-transform var(--hover-transition);
    transition: -webkit-transform var(--hover-transition);
    transition: transform var(--hover-transition);
    transition: transform var(--hover-transition),
      -webkit-transform var(--hover-transition);
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
    -webkit-animation-name: scrollAnim;
    animation-name: scrollAnim;
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
  }

  .p-worksFv__scrollArrow::after {
    top: calc(50% - 1rem);
  }

  @-webkit-keyframes scrollAnim {
    0% {
      -webkit-transform: translate(-50%, -50%) rotate(90deg);
      transform: translate(-50%, -50%) rotate(90deg);
    }

    100% {
      -webkit-transform: translate(-50%, calc(-50% + 1rem)) rotate(90deg);
      transform: translate(-50%, calc(-50% + 1rem)) rotate(90deg);
    }
  }

  @keyframes scrollAnim {
    0% {
      -webkit-transform: translate(-50%, -50%) rotate(90deg);
      transform: translate(-50%, -50%) rotate(90deg);
    }

    100% {
      -webkit-transform: translate(-50%, calc(-50% + 1rem)) rotate(90deg);
      transform: translate(-50%, calc(-50% + 1rem)) rotate(90deg);
    }
  }

  .p-worksArchive__inner {
    padding-block: 7.5rem;
    max-width: 85.375rem;
    padding-inline: min(4.5387994143vw, 62px) min(8.78477306vw, 120px);
    display: grid;
    grid-template-columns: min(18.3016105417vw, 250px) 1fr;
    gap: min(1.4641288433vw, 20px);
  }

  .p-worksArchive__container {
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-worksArchive__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 7.5rem 3.5rem;
  }

  .p-worksSingleFv__inner {
    padding-block: 5.625rem 0;
  }

  .p-worksSingleFv__container {
    grid-template-columns: auto 1fr auto;
    grid-template-areas: 'prev wrapper next';
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
  }

  .p-worksSingleFv__wrapper {
    max-width: 1206px;
    padding-inline: min(2.9282576867vw, 40px);
  }

  .p-worksSingleFv__wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    grid-area: wrapper;
    gap: min(4.6852122987vw, 64px);
    max-width: 70.25rem;
    padding-block: min(5.8565153734vw, 80px);
  }

  .p-worksSingleFv__main {
    width: min(40.9956076135vw, 460px);
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .p-worksSingleFv__title {
    font-size: 2rem;
  }

  .p-worksSingleFv__details {
    -webkit-margin-before: min(1.756954612vw, 24px);
    margin-block-start: min(1.756954612vw, 24px);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(5.8565153734vw, 80px);
    -webkit-padding-after: min(0.5856515373vw, 8px);
    padding-block-end: min(0.5856515373vw, 8px);
  }

  .p-worksSingleFv__content {
    -webkit-margin-before: min(2.3426061493vw, 32px);
    margin-block-start: min(2.3426061493vw, 32px);
  }

  .p-worksSingleFv__vis {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }

  .p-worksSingleFv__visImg {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .p-worksSingleFv__btn {
    position: relative;
    z-index: 0;
    display: block;
    width: min(8.78477306vw, 120px);
    will-change: width;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: width var(--hover-transition);
    transition: width var(--hover-transition);
  }

  .p-worksSingleFv__btnText {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.5rem;
    -webkit-transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
  }

  .p-worksSingleFv__btnText::after {
    content: '';
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    background-color: currentColor;
    -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
    mask: url(icon_arrow.svg) no-repeat center/contain;
  }

  .p-worksSingleFv__btnContent {
    position: absolute;
    top: 0;
    bottom: 0;
    width: min(14.3484626647vw, 196px);
    height: 100%;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity var(--hover-transition),
      visibility var(--hover-transition),
      -webkit-transform var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition),
      -webkit-transform var(--hover-transition);
    transition: transform var(--hover-transition),
      opacity var(--hover-transition), visibility var(--hover-transition);
    transition: transform var(--hover-transition),
      opacity var(--hover-transition), visibility var(--hover-transition),
      -webkit-transform var(--hover-transition);
    background-color: var(--theme-black);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.875rem;
  }

  .p-worksSingleFv__btnImg img {
    aspect-ratio: 147/112;
    -o-object-fit: cover;
    object-fit: cover;
    height: auto;
  }

  .p-worksSingleFv__btnArrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.5rem;
    color: var(--theme-white);
  }

  .p-worksSingleFv__btnArrow::after {
    content: '';
    display: block;
    width: min(2.9282576867vw, 40px);
    height: min(2.9282576867vw, 40px);
    border-radius: 50%;
    background-color: var(--theme-main);
    background-image: url(icon_arrow_black.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 1.125rem;
  }

  .p-worksSingleFv__btn.p-worksSingleFv__btn--prev {
    grid-area: prev;
  }

  .p-worksSingleFv__btn.p-worksSingleFv__btn--prev
    .p-worksSingleFv__btnText::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .p-worksSingleFv__btn.p-worksSingleFv__btn--prev
    .p-worksSingleFv__btnContent {
    right: 0;
    padding-inline: min(1.4641288433vw, 20px) min(1.756954612vw, 24px);
  }

  .p-worksSingleFv__btn.p-worksSingleFv__btn--prev .p-worksSingleFv__btnArrow {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .p-worksSingleFv__btn.p-worksSingleFv__btn--prev
    .p-worksSingleFv__btnArrow::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .p-worksSingleFv__btn.p-worksSingleFv__btn--next {
    grid-area: next;
  }

  .p-worksSingleFv__btn.p-worksSingleFv__btn--next
    .p-worksSingleFv__btnContent {
    left: 0;
    padding-inline: min(1.756954612vw, 24px) min(1.4641288433vw, 20px);
  }

  .p-worksSingleFv__scroll {
    position: absolute;
    left: 50%;
    bottom: 0.5rem;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-margin-before: -0.25rem;
    margin-block-start: -0.25rem;
    gap: 0.4375rem;
  }

  .p-worksSingleFv__scrollArrow {
    display: block;
    width: 0.875rem;
    height: 0.875rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    z-index: 0;
    overflow: hidden;
  }

  .p-worksSingleFv__scrollArrow::before,
  .p-worksSingleFv__scrollArrow::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
    mask: url(icon_arrow.svg) no-repeat center/contain;
    -webkit-transition: -webkit-transform var(--hover-transition);
    transition: -webkit-transform var(--hover-transition);
    transition: transform var(--hover-transition);
    transition: transform var(--hover-transition),
      -webkit-transform var(--hover-transition);
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
    -webkit-animation-name: scrollAnim;
    animation-name: scrollAnim;
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
  }

  .p-worksSingleFv__scrollArrow::after {
    top: calc(50% - 1rem);
  }

  @keyframes scrollAnim {
    0% {
      -webkit-transform: translate(-50%, -50%) rotate(90deg);
      transform: translate(-50%, -50%) rotate(90deg);
    }

    100% {
      -webkit-transform: translate(-50%, calc(-50% + 1rem)) rotate(90deg);
      transform: translate(-50%, calc(-50% + 1rem)) rotate(90deg);
    }
  }

  .p-worksSingleContent__inner {
    -webkit-padding-after: 12.5rem;
    padding-block-end: 12.5rem;
  }

  .p-worksSingleContent__gallery:not(:first-of-type) {
    -webkit-margin-before: 12.5rem;
    margin-block-start: 12.5rem;
  }

  .p-worksSingleContent__fullImg {
    height: 45rem;
  }

  .p-worksSingleContent__fullImg img {
    aspect-ratio: 1366/720;
  }

  .p-worksSingleContent__galleryList {
    -webkit-padding-before: 12.5rem;
    padding-block-start: 12.5rem;
  }

  .p-worksSingleContent__galleryImg {
    width: auto;
  }

  .p-worksSingleContent__galleryImg img {
    width: 39.75rem;
    aspect-ratio: 636/416;
  }

  .p-worksSingleContent__galleryCaption {
    width: 39.75rem;
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
  }

  .p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--center {
    width: 26rem;
  }

  .p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--center
    img {
    aspect-ratio: 416/514;
  }

  .p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--center
    .p-worksSingleContent__galleryCaption {
    width: 26rem;
  }

  .p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--left {
    margin-inline: 0;
  }

  .p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--left
    .p-worksSingleContent__galleryCaption {
    -webkit-padding-start: 0;
    padding-inline-start: 0;
  }

  .p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--right {
    margin-inline: auto 0;
  }

  .p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--right
    .p-worksSingleContent__galleryCaption {
    -webkit-padding-end: 0;
    padding-inline-end: 0;
  }

  .p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--leftover {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 1.25rem;
    margin-inline: -3.75rem 0;
  }

  .p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--leftover
    img {
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .p-worksSingleContent__galleryImg.p-worksSingleContent__galleryImg--leftover
    .p-worksSingleContent__galleryCaption {
    -webkit-padding-start: 0;
    padding-inline-start: 0;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .p-worksSingleVoice__inner {
    -webkit-padding-end: 7.5rem;
    padding-inline-end: 7.5rem;
  }

  .p-worksSingleVoice__container {
    padding-block: 4rem 4.5rem;
  }

  .p-worksSingleVoice__heading {
    font-size: 3.6rem;
    padding-inline: min(4.6852122987vw, 64px);
  }

  .p-worksSingleVoice__wrapper {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    grid-template-columns: 14.0625rem 1fr;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    gap: 3rem;
    padding-inline: min(4.6852122987vw, 64px);
  }

  .p-worksSingleVoice__img img {
    width: 100%;
    margin-inline: 0;
  }

  .p-worksSingleVoice__caption {
    -webkit-margin-before: 0.875rem;
    margin-block-start: 0.875rem;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .p-worksSingleData__inner {
    -webkit-padding-start: 7.5rem;
    padding-inline-start: 7.5rem;
  }

  .p-worksSingleData__container {
    padding-block: 4rem 4.5rem;
  }

  .p-worksSingleData__heading {
    font-size: 3.6rem;
    padding-inline: min(4.6852122987vw, 64px);
  }

  .p-worksSingleData__wrapper {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    padding-inline: min(4.6852122987vw, 64px);
  }

  .p-worksSingleData__item {
    padding-block: 0.5rem;
    padding-inline: 1.5rem;
    gap: min(4.6852122987vw, 64px);
  }

  .p-worksSingleData__head {
    width: 7.5rem;
  }

  .p-worksSingleData__value {
    font-size: 1.5rem;
    font-weight: 500;
    padding-inline: 1.5rem 0;
  }

  .p-worksSingleOther {
    -webkit-padding-after: 7.5rem;
    padding-block-end: 7.5rem;
  }

  .p-worksSingleOther__links {
    padding-block: 0;
    grid-template-columns: auto 1fr auto;
    grid-template-areas: 'prev wrapper next';
  }

  .p-worksSingleOther__link {
    width: min(11.7130307467vw, 160px);
    margin-inline: 0;
  }

  .p-worksSingleOther__linkText {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.5rem;
    -webkit-transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition);
  }

  .p-worksSingleOther__linkText::after {
    content: '';
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    background-color: currentColor;
    -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
    mask: url(icon_arrow.svg) no-repeat center/contain;
  }

  .p-worksSingleOther__linkContent {
    position: absolute;
    top: 0;
    bottom: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1.875rem;
    padding-block: 0;
    padding-inline: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity var(--hover-transition),
      visibility var(--hover-transition),
      -webkit-transform var(--hover-transition);
    transition: opacity var(--hover-transition),
      visibility var(--hover-transition),
      -webkit-transform var(--hover-transition);
    transition: transform var(--hover-transition),
      opacity var(--hover-transition), visibility var(--hover-transition);
    transition: transform var(--hover-transition),
      opacity var(--hover-transition), visibility var(--hover-transition),
      -webkit-transform var(--hover-transition);
  }

  .p-worksSingleOther__linkImg {
    width: auto;
  }

  .p-worksSingleOther__linkArrow::after {
    width: min(2.9282576867vw, 40px);
    height: min(2.9282576867vw, 40px);
  }

  .p-worksSingleOther__link.p-worksSingleOther__link--prev {
    grid-area: prev;
  }

  .p-worksSingleOther__link.p-worksSingleOther__link--prev
    .p-worksSingleOther__linkText::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .p-worksSingleOther__link.p-worksSingleOther__link--prev
    .p-worksSingleOther__linkContent {
    right: 0;
    padding-inline: min(1.4641288433vw, 20px) min(1.756954612vw, 24px);
  }

  .p-worksSingleOther__link.p-worksSingleOther__link--prev
    .p-worksSingleOther__linkArrow {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .p-worksSingleOther__link.p-worksSingleOther__link--prev
    .p-worksSingleOther__linkArrow::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .p-worksSingleOther__link.p-worksSingleOther__link--next {
    grid-area: next;
  }

  .p-worksSingleOther__link.p-worksSingleOther__link--next
    .p-worksSingleOther__linkContent {
    left: 0;
    padding-inline: min(1.756954612vw, 24px) min(1.4641288433vw, 20px);
  }

  .p-worksSingleOther__works {
    -webkit-padding-before: 3.5rem;
    padding-block-start: 3.5rem;
    -webkit-padding-after: 0;
    padding-block-end: 0;
  }

  .p-worksSingleOther__worksHeading {
    font-size: 3.6rem;
    font-family: var(--enText);
  }

  .p-worksSingleOther__worksList {
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
  }

  .p-topicsFv {
    background-image: url(bg_deco_page_fv.svg);
    background-size: 29.125rem 20.1875rem;
  }

  .p-topicsFv__inner {
    padding-block: 5.625rem 7.5rem;
  }

  .p-topicsArchive__inner {
    padding-block: 8.75rem 11.25rem;
    max-width: 85.375rem;
    padding-inline: min(4.5387994143vw, 62px) min(8.78477306vw, 120px);
    display: grid;
    grid-template-columns: min(18.3016105417vw, 250px) 1fr;
  }

  .p-topicsArchive__container {
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-topicsSingleFv {
    background-image: url(bg_deco_page_fv_gray.svg);
    background-size: 29.125rem 20.1875rem;
  }

  .p-topicsSingleFv__inner {
    padding-block: 5.625rem 7.5rem;
  }

  .p-topicsSingleFv__hgroup {
    gap: 2rem;
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
  }

  .p-topicsSingleFv__title {
    font-size: 2.8rem;
    line-height: 1.6;
    width: min(71.0102489019vw, 970px);
  }

  .p-topicsSingleFv__date {
    font-size: 1.6rem;
  }

  .p-topicsSingleFv__date::after {
    height: 1.25rem;
  }

  .p-topicsSingleFv__category {
    font-size: 1.6rem;
  }

  .p-topicsSingleContent__inner {
    padding-block: 0 7.5rem;
    overflow: clip;
  }

  .p-topicsSingleContent__inner {
    grid-template-areas: 'share' 'content' 'footer';
    max-width: 85.375rem;
    position: relative;
    z-index: 0;
  }

  .p-topicsSingleContent__content {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
    width: 100%;
    max-width: 52.875rem;
    margin-inline: auto;
  }

  .p-topicsSingleContent__share {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-padding-before: 2.5rem;
    padding-block-start: 2.5rem;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    top: 0;
    right: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto 0;
    -webkit-border-before: none;
    border-block-start: none;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }

  .p-topicsSingleContent__footer {
    -webkit-margin-before: 7.5rem;
    margin-block-start: 7.5rem;
    -webkit-border-before: 0.0625rem solid #dedede;
    border-block-start: 0.0625rem solid #dedede;
    grid-template-columns: auto 1fr auto;
    grid-template-areas: 'prev center next';
    width: 100%;
    max-width: 52.875rem;
    margin-inline: auto;
  }

  .p-topicsSingleContent__arrow {
    width: 2.5rem;
  }

  .p-topicsSingleContent__arrowIcon {
    width: 1.25rem;
    height: 1.25rem;
  }

  .p-topicsSingleContent__arrowIcon::before {
    width: 1.25rem;
    height: 1.25rem;
    -webkit-transform: translate(calc(-50% - 2.5rem), -50%);
    transform: translate(calc(-50% - 2.5rem), -50%);
  }

  .p-topicsSingleOther__inner {
    padding-block: 7.5rem 8.25rem;
  }

  .p-topicsSingleOther__heading {
    font-size: 3.6rem;
  }

  .p-topicsSingleOther__list {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
  }

  .p-membersFv {
    background-size: min(32.2108345534vw, 472px) min(39.0922401171vw, 534px);
  }

  .p-membersFv__inner {
    position: relative;
    z-index: 0;
    padding-block: 5.625rem 8.875rem;
  }

  .p-membersFv__content {
    height: auto;
    -webkit-margin-before: 7.5rem;
    margin-block-start: 7.5rem;
    -webkit-margin-after: 0;
    margin-block-end: 0;
  }

  .p-membersFv__catchcopy {
    font-size: 2.4rem;
  }

  .p-membersFv__text {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
  }

  .p-membersFv__scroll {
    position: absolute;
    bottom: 0.5625rem;
    left: min(4.5387994143vw, 62px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-margin-before: -0.25rem;
    margin-block-start: -0.25rem;
    gap: 0.4375rem;
  }

  .p-membersFv__scrollArrow {
    display: block;
    width: 0.875rem;
    height: 0.875rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    z-index: 0;
    overflow: hidden;
  }

  .p-membersFv__scrollArrow::before,
  .p-membersFv__scrollArrow::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
    mask: url(icon_arrow.svg) no-repeat center/contain;
    -webkit-transition: -webkit-transform var(--hover-transition);
    transition: -webkit-transform var(--hover-transition);
    transition: transform var(--hover-transition);
    transition: transform var(--hover-transition),
      -webkit-transform var(--hover-transition);
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
    -webkit-animation-name: scrollAnim;
    animation-name: scrollAnim;
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
  }

  .p-membersFv__scrollArrow::after {
    top: calc(50% - 1rem);
  }

  @keyframes scrollAnim {
    0% {
      -webkit-transform: translate(-50%, -50%) rotate(90deg);
      transform: translate(-50%, -50%) rotate(90deg);
    }

    100% {
      -webkit-transform: translate(-50%, calc(-50% + 1rem)) rotate(90deg);
      transform: translate(-50%, calc(-50% + 1rem)) rotate(90deg);
    }
  }

  .p-membersArchive__inner {
    padding-block: 7.5rem 10rem;
    max-width: 85.375rem;
    padding-inline: min(4.5387994143vw, 62px) min(8.78477306vw, 120px);
    display: grid;
    grid-template-columns: min(18.3016105417vw, 250px) 1fr;
  }

  .p-membersArchive__container {
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-membersArchive__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 7.5rem 3.5rem;
  }

  .p-membersArchive__link {
    gap: 1.125rem;
  }

  .p-membersArchive__title {
    font-size: 1.8rem;
    line-height: 1.6;
  }

  .p-membersArchive__img img {
    aspect-ratio: 400/232;
  }

  .p-membersJoinus__inner {
    padding-block: 7.5rem 11.25rem;
  }

  .p-membersJoinus__container {
    -webkit-padding-before: 2.5rem;
    padding-block-start: 2.5rem;
  }

  .p-membersJoinus__btn {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
  }

  .p-joinusFv {
    background-image: url(bg_deco_page_fv.svg);
    background-size: 29.125rem 20.1875rem;
  }

  .p-joinusFv__inner {
    padding-block: 5.625rem 7.5rem;
  }

  .p-joinusGuide__inner {
    padding-block: 7.5rem 10rem;
  }

  .p-joinusGuide__heading {
    font-size: 3.2rem;
  }

  .p-joinusGuide__text {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
    width: 53.125rem;
  }

  .p-joinusEntry::before {
    width: 407.9795021962vw;
    height: 450.2928257687vw;
  }

  .p-joinusEntry__inner {
    padding-block: 10rem 7.5rem;
  }

  .p-joinusEntry__heading {
    font-size: 6.4rem;
    gap: 2rem;
  }

  .p-joinusEntry__heading::before,
  .p-joinusEntry__heading::after {
    width: 0.75rem;
    height: 0.75rem;
  }

  .p-joinusEntry__text {
    -webkit-margin-before: 4.5rem;
    margin-block-start: 4.5rem;
  }

  .p-joinusEntry__form {
    -webkit-margin-before: 4.5rem;
    margin-block-start: 4.5rem;
    padding-block: 4rem 6rem;
    padding-inline: 9.4375rem;
  }

  .p-joinusMembers__inner {
    padding-block: 7.5rem 11.25rem;
  }

  .p-joinusMembers__container {
    -webkit-padding-before: 2.5rem;
    padding-block-start: 2.5rem;
  }

  .p-joinusMembers__btn {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
  }

  .p-modelhouseFV {
    background-size: 28.8125rem 29.8125rem;
  }

  .p-modelhouseFV__inner {
    position: relative;
    z-index: 0;
    padding-block: 5.625rem 8.875rem;
  }

  .p-modelhouseFV__content {
    width: min(43.9238653001vw, 513px);
    height: auto;
    -webkit-margin-before: 7.5rem;
    margin-block-start: 7.5rem;
    -webkit-margin-after: 0;
    margin-block-end: 0;
  }

  .p-modelhouseFV__catchcopy {
    font-size: 2.4rem;
  }

  .p-modelhouseFV__text {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
  }

  .p-modelhouseFV__scroll {
    position: absolute;
    bottom: 0.5625rem;
    left: min(4.5387994143vw, 62px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-margin-before: -0.25rem;
    margin-block-start: -0.25rem;
    gap: 0.4375rem;
  }

  .p-modelhouseFV__scrollArrow {
    display: block;
    width: 0.875rem;
    height: 0.875rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    z-index: 0;
    overflow: hidden;
  }

  .p-modelhouseFV__scrollArrow::before,
  .p-modelhouseFV__scrollArrow::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    -webkit-mask: url(icon_arrow.svg) no-repeat center/contain;
    mask: url(icon_arrow.svg) no-repeat center/contain;
    -webkit-transition: -webkit-transform var(--hover-transition);
    transition: -webkit-transform var(--hover-transition);
    transition: transform var(--hover-transition);
    transition: transform var(--hover-transition),
      -webkit-transform var(--hover-transition);
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
    -webkit-animation-name: scrollAnim;
    animation-name: scrollAnim;
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
  }

  .p-modelhouseFV__scrollArrow::after {
    top: calc(50% - 1rem);
  }

  @keyframes scrollAnim {
    0% {
      -webkit-transform: translate(-50%, -50%) rotate(90deg);
      transform: translate(-50%, -50%) rotate(90deg);
    }

    100% {
      -webkit-transform: translate(-50%, calc(-50% + 1rem)) rotate(90deg);
      transform: translate(-50%, calc(-50% + 1rem)) rotate(90deg);
    }
  }

  .p-modelhouseArchive__inner {
    padding-block: 21.25rem 10rem;
    max-width: 85.375rem;
    padding-inline: min(4.5387994143vw, 62px) min(8.78477306vw, 120px);
    display: grid;
    grid-template-columns: min(18.3016105417vw, 250px) 1fr;
  }

  .p-modelhouseArchive__heading {
    font-size: 2.4rem;
  }

  .p-modelhouseArchive__lead {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
  }

  .p-modelhouseArchive__container {
    -webkit-margin-before: -10rem;
    margin-block-start: -10rem;
  }

  .p-modelhouseArchive__items {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    gap: 4rem;
  }

  .p-modelhouseArchive__card {
    -webkit-padding-before: 4rem;
    padding-block-start: 4rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0;
  }

  .p-modelhouseArchive__region {
    display: block;
    width: 5.5625rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .p-modelhouseArchive__content {
    padding-inline: min(3.7335285505vw, 51px) 0;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .p-modelhouseArchive__title {
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  .p-modelhouseArchive__option {
    -webkit-margin-before: 1rem;
    margin-block-start: 1rem;
    -webkit-padding-before: 1.25rem;
    padding-block-start: 1.25rem;
  }

  .p-modelhouseArchive__btn {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
  }

  .p-modelhouseArchive__vis {
    margin-inline: 0;
    width: min(24.8901903367vw, 340px);
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .p-modelhouseArchive__vis .swiper-horizontal > .swiper-pagination-bullets,
  .p-modelhouseArchive__vis
    .swiper-pagination-bullets.swiper-pagination-horizontal,
  .p-modelhouseArchive__vis .swiper-pagination-custom,
  .p-modelhouseArchive__vis .swiper-pagination-fraction {
    -webkit-margin-before: 1rem;
    margin-block-start: 1rem;
  }

  .p-modelhouseContact {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
  }

  .p-modelhouseContact::before {
    width: 407.9795021962vw;
    height: 450.2928257687vw;
  }

  .p-modelhouseContact__inner {
    padding-block: 10rem 7.5rem;
  }

  .p-modelhouseContact__heading {
    font-size: 6.4rem;
    gap: 2rem;
  }

  .p-modelhouseContact__heading::before,
  .p-modelhouseContact__heading::after {
    width: 0.75rem;
    height: 0.75rem;
  }

  .p-modelhouseContact__text {
    -webkit-margin-before: 4.5rem;
    margin-block-start: 4.5rem;
  }

  .p-modelhouseContact__info {
    -webkit-margin-before: 4.75rem;
    margin-block-start: 4.75rem;
  }

  .p-modelhouseContact__infoTitle {
    font-size: 1.8rem;
  }

  .p-modelhouseContact__infoText {
    font-size: 1.8rem;
  }

  .p-modelhouseContact__form {
    -webkit-margin-before: 6.25rem;
    margin-block-start: 6.25rem;
    padding-block: 4rem 6rem;
    padding-inline: 9.4375rem;
  }

  .p-modelhouseContact__notice {
    -webkit-padding-after: 6.875rem;
    padding-block-end: 6.875rem;
  }

  .p-modelhouseContact__noticeInner {
    -webkit-padding-after: 3.5rem;
    padding-block-end: 3.5rem;
  }

  .p-modelhouseContact__noticeHead {
    font-size: 1.6rem;
  }

  .p-modelhouseContact__noticeText {
    -webkit-margin-before: 3.5rem;
    margin-block-start: 3.5rem;
  }

  .p-contactFv {
    background-image: url(bg_deco_page_fv.svg);
    background-size: 29.125rem 20.1875rem;
  }

  .p-contactFv__inner {
    padding-block: 5.625rem 7.5rem;
  }

  .p-contactGuide__inner {
    padding-block: 7.5rem 10rem;
  }

  .p-contactGuide__heading {
    -webkit-padding-after: 2.25rem;
    padding-block-end: 2.25rem;
  }

  .p-contactGuide__links {
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.7818448023vw, 38px);
  }

  .p-contactGuide__link {
    padding-block: min(1.4641288433vw, 20px);
    padding-inline: min(1.4641288433vw, 20px);
    max-width: 21.875rem;
    min-height: 7.5625rem;
    grid-template-columns: auto 2.25rem;
    gap: 0;
  }

  .p-contactGuide__linkLabel {
    font-size: 1.6rem;
  }

  .p-contactGuide__linkArrow {
    width: 2.25rem;
    height: 2.25rem;
  }

  .p-contactGuide__linkArrow::before,
  .p-contactGuide__linkArrow::after {
    width: 1.125rem;
    height: 1.125rem;
  }

  .p-contactForm::before {
    width: 407.9795021962vw;
    height: 450.2928257687vw;
  }

  .p-contactForm__inner {
    padding-block: 10rem 7.5rem;
  }

  .p-contactForm__heading {
    font-size: 6.4rem;
    gap: 2rem;
  }

  .p-contactForm__heading::before,
  .p-contactForm__heading::after {
    width: 0.75rem;
    height: 0.75rem;
  }

  .p-contactForm__text {
    -webkit-margin-before: 4.5rem;
    margin-block-start: 4.5rem;
  }

  .p-contactForm__form {
    -webkit-margin-before: 4.5rem;
    margin-block-start: 4.5rem;
    padding-block: 4rem 6rem;
    padding-inline: 9.4375rem;
  }

  .p-contactThanks__inner {
    -webkit-padding-before: 5.625rem;
    padding-block-start: 5.625rem;
  }

  .p-contactThanks__container {
    -webkit-margin-before: 3.0625rem;
    margin-block-start: 3.0625rem;
  }

  .p-contactThanks__container::before {
    width: 407.9795021962vw;
    height: 450.2928257687vw;
  }

  .p-contactThanks__containerInner {
    padding-block: 10rem 11.625rem;
  }

  .p-contactThanks__heading {
    font-size: 6.4rem;
    gap: 2rem;
  }

  .p-contactThanks__heading::before,
  .p-contactThanks__heading::after {
    width: 0.75rem;
    height: 0.75rem;
  }

  .p-contactThanks__content {
    -webkit-margin-before: 4.5rem;
    margin-block-start: 4.5rem;
    padding-block: 3.5rem;
    padding-inline: 7.5rem;
  }

  .p-contactThanks__head {
    font-size: 2rem;
  }

  .p-policyFv {
    background-image: url(bg_deco_page_fv_gray.svg);
    background-size: 29.125rem 20.1875rem;
  }

  .p-policyFv__inner {
    padding-block: 5.625rem 7.5rem;
  }

  .p-policyContainer {
    padding-block: 7.5rem 11.25rem;
  }

  .p-notfound__inner {
    padding-block: 5.625rem 7.5rem;
    max-width: 85.375rem;
  }

  .p-notfound__hgroup {
    -webkit-margin-before: 6.8125rem;
    margin-block-start: 6.8125rem;
  }

  .p-notfound__title {
    width: 17.0625rem;
    height: 8.75rem;
  }

  .p-notfound__subTitle {
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
    width: 17.0625rem;
    height: 2.5rem;
  }

  .p-notfound__text {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
  }

  .p-notfound__btn {
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
  }

  .p-notfound__decoLeft {
    width: 19.5625rem;
    top: 9.5rem;
    left: 1.5625rem;
  }

  .p-notfound__decoRight {
    display: block;
    width: 13.6875rem;
    height: auto;
    aspect-ratio: 219/472;
    position: absolute;
    top: 15.125rem;
    right: -1.1875rem;
  }

  .u-only-pc {
    display: inline-block !important;
  }

  .u-only-pc-block {
    display: block !important;
  }

  .u-only-pc-grid {
    display: grid !important;
  }

  .u-only-pc-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .u-only-mobile {
    display: none !important;
  }

  .u-only-mobile-block {
    display: none !important;
  }

  .u-only-mobile-grid {
    display: none !important;
  }

  .u-only-mobile-flex {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  .l-header__subItems.l-header__subItems--about .l-header__subItem {
    width: 8.75rem;
  }

  .l-header__subItems.l-header__subItems--service .l-header__subItem {
    width: 11.25rem;
  }
}

@media screen and (min-aspect-ratio: 1/0.85) and (min-width: 768px) {
  .l-header[data-header-position='top'] .l-header__menuBtn {
    --_color: #bbb;
  }

  .p-topFv__title {
    margin-inline: min(12.3076923077vw, 17.75rem) auto;
    width: min(43.9970717423vw, 972px);
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }

  #fv-left-sp,
  #fv-right-sp {
    opacity: 0;
    visibility: hidden;
  }

  #fv-left,
  #fv-right {
    opacity: 1;
    visibility: visible;
  }
}

@media screen and (hover: hover) and (min-width: 768px) {
  .p-topicsSingleContent__arrow:hover .p-topicsSingleContent__arrowIcon {
    -webkit-transform: translate(calc(-50% + 2.5rem), -50%);
    transform: translate(calc(-50% + 2.5rem), -50%);
  }
}

@media screen and (min-width: 1040px) {
  .p-featureFeature__inner {
    padding-block: 7.5rem;
    padding-inline: min(8.78477306vw, 120px);
    max-width: min(100vw, 1366px);
    grid-template-areas: 'hgroup img' 'content img' 'btn img';
    grid-template-columns: 1fr min(38.9458272328vw, 532px);
    grid-template-rows: auto auto 1fr;
    gap: 3.25rem min(5.270863836vw, 72px);
  }

  .p-featureFeature__secondaryImg {
    -webkit-margin-before: -2.875rem;
    margin-block-start: -2.875rem;
    margin-inline: 0;
  }
}

@media (min-width: 1126px) {
  html {
    font-size: 16px;
  }
}

@media screen and (min-width: 1280px) {
  .l-header__mainList {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@media (max-width: 389px) {
  html {
    font-size: 4.1131105398vw;
  }
}

@media (hover: hover) {
  button:hover,
  select:hover {
    text-decoration: none;
    opacity: 1;
  }

  .l-header__littleLink:hover::after {
    opacity: 1;
    visibility: visible;
  }

  .l-header__mainLink:hover::after {
    opacity: 1;
    visibility: visible;
  }

  .l-header__subItem:hover .l-header__subArrow::before {
    -webkit-transform: translateX(2rem);
    transform: translateX(2rem);
  }

  .l-header__subItem:hover .l-header__subArrow::after {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  .l-headerDrawer__contactLink:hover .l-headerDrawer__contactArrow {
    background-color: var(--theme-black);
  }

  .l-headerDrawer__contactLink:hover .l-headerDrawer__contactArrow::before {
    -webkit-transform: translateX(2rem);
    transform: translateX(2rem);
  }

  .l-headerDrawer__contactLink:hover .l-headerDrawer__contactArrow::after {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  .l-headerDrawer__contactLink:hover.l-headerDrawer__contactLink--modelhouse {
    background-color: color-mix(in lch, #e6dfd8, #000 12%);
  }

  .l-headerDrawer__contactLink:hover.l-headerDrawer__contactLink--contact {
    background-color: color-mix(in lch, #fbecd8, #000 12%);
  }

  .l-headerDrawer__navLink:hover {
    opacity: 0.7;
  }

  .l-headerDrawer__navLink:hover .l-headerDrawer__navArrow::before {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }

  .l-headerDrawer__navLink:hover .l-headerDrawer__navArrow::after {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

  .l-headerDrawer__snsLink:hover {
    opacity: 0.7;
  }

  .l-footer__pagetop:hover .l-footer__pagetopIcon::before {
    -webkit-transform: translate(0%, -1.5rem) rotate(-90deg);
    transform: translate(0%, -1.5rem) rotate(-90deg);
  }

  .l-footer__pagetop:hover .l-footer__pagetopIcon::after {
    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
    transform: translate(-50%, -50%) rotate(-90deg);
  }

  .l-footer__logoLink:hover,
  .l-footer__navLink:hover,
  .l-footer__snsLink:hover,
  .l-footer__policy:hover {
    opacity: 0.7;
  }

  .c-button:hover {
    background-color: var(--theme-black);
  }

  .c-button:hover .c-button__label {
    color: var(--theme-white);
  }

  .c-button:hover .c-button__arrow {
    background-color: var(--theme-main);
  }

  .c-button:hover .c-button__arrowIcon {
    -webkit-transform: translate(calc(-50% + 2rem), -50%);
    transform: translate(calc(-50% + 2rem), -50%);
  }

  .c-button:hover.c-button--invert {
    background-color: var(--theme-main);
  }

  .c-button:hover.c-button--invert .c-button__label {
    color: var(--theme-main-text);
  }

  .c-button:hover.c-button--invert .c-button__arrow {
    background-color: var(--theme-black);
  }

  .c-buttonSquare:hover .c-buttonSquare__labelEn {
    text-decoration-color: color-mix(in lch, currentColor, transparent 0%);
  }

  .c-buttonSquare:hover .c-buttonSquare__arrow::before {
    -webkit-transform: translateX(2rem);
    transform: translateX(2rem);
  }

  .c-buttonSquare:hover .c-buttonSquare__arrow::after {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  .c-contactSection__link:hover .c-contactSection__arrow {
    background-color: var(--theme-black);
  }

  .c-contactSection__link:hover .c-contactSection__arrow::before {
    -webkit-transform: translateX(2rem);
    transform: translateX(2rem);
  }

  .c-contactSection__link:hover .c-contactSection__arrow::after {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  .c-contactSection__link:hover.c-contactSection__link--modelhouse {
    background-color: color-mix(in lch, #e6dfd8, #000 12%);
  }

  .c-contactSection__link:hover.c-contactSection__link--contact {
    background-color: color-mix(in lch, #fbecd8, #000 12%);
  }

  .c-topicsCard__link:hover .c-topicsCard__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  .c-topicsCard__link:hover .c-topicsCard__title {
    text-decoration-color: color-mix(in lch, currentColor, transparent 0%);
  }

  .c-topicsCard__link:hover .c-topicsCard__arrow::before,
  .c-topicsCard__link:hover .c-topicsCard__arrow::after {
    -webkit-transform: translate(calc(-50% + 1.5rem), -50%);
    transform: translate(calc(-50% + 1.5rem), -50%);
  }

  .c-topicsCard__link:hover .c-topicsCard__arrow::after {
    -webkit-transform: translate(calc(-50% - 0rem), -50%);
    transform: translate(calc(-50% - 0rem), -50%);
  }

  .c-worksCard__link:hover .c-worksCard__title {
    text-decoration-color: color-mix(in lch, currentColor, transparent 0%);
  }

  /* .c-worksCard__link:hover .c-worksCard__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  } */

  .c-worksCard__link:hover .c-worksCard__arrow::before,
  .c-worksCard__link:hover .c-worksCard__arrow::after {
    -webkit-transform: translate(calc(-50% + 1.5rem), -50%);
    transform: translate(calc(-50% + 1.5rem), -50%);
  }

  .c-worksCard__link:hover .c-worksCard__arrow::after {
    -webkit-transform: translate(calc(-50% - 0rem), -50%);
    transform: translate(calc(-50% - 0rem), -50%);
  }

  .c-salesCard__link:hover .c-salesCard__title {
    text-decoration-color: color-mix(in lch, currentColor, transparent 0%);
  }

  .c-salesCard__link:hover .c-salesCard__visImg img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  .c-salesCard__link:hover .c-salesCard__visArrow {
    background-color: var(--theme-main);
  }

  .c-salesCard__link:hover .c-salesCard__visArrow::before {
    -webkit-transform: translateX(4rem);
    transform: translateX(4rem);
  }

  .c-salesCard__link:hover .c-salesCard__visArrow::after {
    -webkit-transform: translateX(0rem);
    transform: translateX(0rem);
  }

  .c-serviceAnchor__link:hover {
    background-color: color-mix(in lch, var(--theme-white), transparent 30%);
    color: var(--theme-main-text);
  }

  .c-serviceAnchor__list.c-serviceAnchor__list--contact
    .c-serviceAnchor__link:hover
    .c-serviceAnchor__arrowIcon {
    -webkit-transform: translate(calc(-50% + 1.875rem), -50%);
    transform: translate(calc(-50% + 1.875rem), -50%);
  }

  .c-otherContents__link:hover .c-otherContents__arrow {
    background-color: var(--theme-black);
  }

  .c-otherContents__link:hover .c-otherContents__arrow::before {
    -webkit-transform: translateX(2rem);
    transform: translateX(2rem);
  }

  .c-otherContents__link:hover .c-otherContents__arrow::after {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  .c-otherContents__link:hover .c-otherContents__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  form.mimassi_inquiry > fieldset > p > a:hover {
    opacity: 0.7;
  }

  form.mimassi_inquiry > fieldset > div > button:not(:disabled):hover {
    color: var(--theme-main-text);
    background-color: var(--theme-baige);
  }

  div.mimassi_inquiry_button_area > button#btn_send:hover {
    color: var(--theme-main-text);
    background-color: var(--theme-baige);
  }

  div.mimassi_inquiry_button_area > button#btn_back:hover {
    opacity: 0.7;
  }

  .c-pagination .page-numbers:hover:not(.current):not(.dots) {
    background-color: var(--theme-main);
  }

  .c-pagination .page-numbers:hover.prev span,
  .c-pagination .page-numbers:hover.next span {
    -webkit-transform: translate(calc(-50% + 2.5rem), -50%);
    transform: translate(calc(-50% + 2.5rem), -50%);
  }

  .p-featureFeature__primaryItem:hover .p-featureFeature__primaryImg {
    opacity: 1;
    visibility: visible;
  }

  .p-companyGroup__link:hover .p-companyGroup__title {
    text-decoration-color: color-mix(in lch, currentColor, transparent 0%);
  }

  .p-companyGroup__link:hover .p-companyGroup__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  .p-worksFv__link:hover .p-worksFv__title {
    text-decoration-color: color-mix(in lch, currentColor, transparent 0%);
  }

  .p-worksFv__link:hover .p-worksFv__arrow::before,
  .p-worksFv__link:hover .p-worksFv__arrow::after {
    -webkit-transform: translate(calc(-50% + 1.5rem), -50%);
    transform: translate(calc(-50% + 1.5rem), -50%);
  }

  .p-worksFv__link:hover .p-worksFv__arrow::after {
    -webkit-transform: translate(calc(-50% - 0rem), -50%);
    transform: translate(calc(-50% - 0rem), -50%);
  }

  .p-worksSingleFv__container[data-hover-item='prev']
    .p-worksSingleFv__btn
    .p-worksSingleFv__btnText {
    opacity: 0;
    visibility: hidden;
  }

  .p-worksSingleFv__container[data-hover-item='prev']
    .p-worksSingleFv__btn.p-worksSingleFv__btn--prev {
    width: min(14.3484626647vw, 196px);
  }

  .p-worksSingleFv__container[data-hover-item='prev']
    .p-worksSingleFv__btn.p-worksSingleFv__btn--prev
    .p-worksSingleFv__btnContent {
    opacity: 1;
    visibility: visible;
  }

  .p-worksSingleFv__container[data-hover-item='prev']
    .p-worksSingleFv__btn.p-worksSingleFv__btn--next {
    width: min(3.2210834553vw, 44px);
  }

  .p-worksSingleFv__container[data-hover-item='next']
    .p-worksSingleFv__btn
    .p-worksSingleFv__btnText {
    opacity: 0;
    visibility: hidden;
  }

  .p-worksSingleFv__container[data-hover-item='next']
    .p-worksSingleFv__btn.p-worksSingleFv__btn--prev {
    width: min(3.2210834553vw, 44px);
  }

  .p-worksSingleFv__container[data-hover-item='next']
    .p-worksSingleFv__btn.p-worksSingleFv__btn--next {
    width: min(14.3484626647vw, 196px);
  }

  .p-worksSingleFv__container[data-hover-item='next']
    .p-worksSingleFv__btn.p-worksSingleFv__btn--next
    .p-worksSingleFv__btnContent {
    opacity: 1;
    visibility: visible;
  }

  .p-worksSingleOther__link:hover .p-worksSingleOther__linkText {
    opacity: 0;
    visibility: hidden;
  }

  .p-worksSingleOther__link:hover .p-worksSingleOther__linkContent {
    opacity: 1;
    visibility: visible;
  }

  .p-topicsSingleContent__arrow:hover {
    background-color: var(--theme-black);
  }

  .p-topicsSingleContent__arrow:hover .p-topicsSingleContent__arrowIcon {
    -webkit-transform: translate(calc(-50% + 3.25rem), -50%);
    transform: translate(calc(-50% + 3.25rem), -50%);
  }

  .p-membersArchive__link:hover .p-membersArchive__title {
    text-decoration-color: color-mix(in lch, currentColor, transparent 0%);
  }

  .p-membersArchive__link:hover .p-membersArchive__img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  .p-modelhouseArchive__content:hover
    ~ .p-modelhouseArchive__vis
    .p-modelhouseArchive__visImg
    img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  .p-contactGuide__leadLink:hover {
    opacity: 0.7;
  }

  .p-contactGuide__link:hover .p-contactGuide__linkLabel {
    text-decoration-color: color-mix(in lch, currentColor, transparent 0%);
  }

  .p-contactGuide__link:hover .p-contactGuide__linkArrow::before {
    -webkit-transform: translateX(2rem);
    transform: translateX(2rem);
  }

  .p-contactGuide__link:hover .p-contactGuide__linkArrow::after {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

/* モデルハウス セクションのスタイル */
.p-topModelhouse {
  position: relative;
  padding-block: 8rem;
}

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

.p-topModelhouse__hgroup {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  margin-bottom: 1.6rem;
}

.p-topModelhouse__headingJa {
  font-size: 1.4rem;
  font-weight: 700;
  position: relative;
  z-index: 1;
  margin-top: 0.8rem;
}

.p-topModelhouse__headingJa::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -1.6rem;
  transform: translateY(-50%);
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--theme-red);
}

.p-topModelhouse__headingEn {
  width: 30rem;
  margin-inline: auto;
}

.p-topModelhouse__headingEn .p-topModelhouse__headingEn--black {
  color: var(--theme-black);
}

.p-topModelhouse__headingEn .p-topModelhouse__headingEn--white {
  color: var(--theme-white);
  text-shadow: 0.16rem 0.16rem 0.32rem rgba(0, 0, 0, 0.3);
}

.p-topModelhouse__lead {
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 3.2rem;
}

.p-topModelhouse__container {
  position: relative;
  width: 100%;
  margin-inline: auto;
}

.p-topModelhouse__container::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--theme-xlight-gray);
  position: absolute;
  top: 3.2rem;
  left: 0;
  z-index: 0;
}

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

.p-topModelhouse__btn {
  margin-top: 3.2rem;
  margin-inline: auto;
}

/* メディアクエリ対応 */
@media screen and (min-width: 768px) {
  .p-topModelhouse__headingEn {
    width: 45rem;
  }
}
