@charset "UTF-8";
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

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

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

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

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

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

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

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

dd {
  margin-left: 0;
}

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

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

address {
  font-style: inherit;
}

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea { /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

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

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

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

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

legend {
  padding: 0;
}

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

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

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

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

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

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

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

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

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

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

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

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

/* 
それぞれ( )内にpxでの数値を入れるとrem, px, vw(pc版), vw(sp版) に変換 
*/
:root {
  --is-green: #007e43;
  --is-gold: #937f55;
  --is-purple: #1b1464;
}

html {
  font-size: 100%;
}

body {
  color: #000000;
  font-family: "Zen Kaku Gothic Antique", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  /*スマートフォンでフォントを大きめに自動調整されるのを防止*/
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  font-feature-settings: "palt";
  letter-spacing: 0;
  line-height: 2;
}
body.is-fixed {
  overflow: hidden; /* PC/Androidでのスクロール防止 */
  touch-action: none; /* iOSでのスクロール防止補助 */
  height: 100vh;
}

body::-webkit-scrollbar {
  display: none;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
}
@media (hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}

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

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

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

input,
textarea,
select {
  font: inherit;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
#l-main {
  padding-block-start: 5.625rem;
  min-height: 100vh;
}
@media screen and (max-width: 1200px) {
  #l-main {
    padding-block-start: 4.1875rem;
  }
}
@media screen and (max-width: 600px) {
  #l-main {
    padding-block-start: 3.4375rem;
  }
}

.l-inner {
  position: relative;
  width: 100%;
  max-width: 1280px;
  height: inherit;
  padding: 0 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: 100%;
    max-width: 640px;
    padding: 0 1.25rem;
  }
}

.l-inner__narrow {
  max-width: 70.3125rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .l-inner__narrow {
    padding: 0 1.25rem;
  }
}

.l-top-price {
  padding-block-start: clamp(1.25rem, 2.419vw + 0.706rem, 3.125rem);
  padding-block-end: clamp(2.5rem, 0.806vw + 2.319rem, 3.125rem);
  background-color: #e7edeb;
}

@media screen and (max-width: 980px) {
  .l-top-price__inner {
    padding-inline: 20px;
  }
}

.l-top-news {
  padding-block-start: clamp(1.875rem, 2.5vw + 1.313rem, 3.813rem);
  padding-block-end: clamp(2.875rem, 1.129vw + 2.621rem, 3.75rem);
}

.l-top-model {
  position: relative;
  background: url(../img/index/img-model-house01.webp) no-repeat top left/cover;
  padding-block-start: 2.5rem;
  padding-block-end: 1.875rem;
}
@media screen and (max-width: 980px) {
  .l-top-model {
    background: none;
    padding-block-start: 0;
    padding-block-end: 0;
  }
}
.l-top-model::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #404040;
  opacity: 0.8;
  left: 0;
  top: 0;
}
@media screen and (max-width: 980px) {
  .l-top-model::before {
    content: none;
  }
}

.l-top-works {
  position: relative;
  padding-block-start: clamp(1.25rem, 3.226vw + 0.524rem, 3.75rem);
  padding-block-end: clamp(1.875rem, 2.419vw + 1.331rem, 3.75rem);
}
.l-top-works::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 69.1016781836%;
  background-color: #e5dcd1;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .l-top-works::before {
    height: 54.3130990415%;
  }
}

.l-top-spec {
  position: relative;
  padding-block-start: clamp(1.25rem, 2.419vw + 0.706rem, 3.125rem);
  padding-block-end: 1.875rem;
}

@media screen and (max-width: 767px) {
  .l-section-col {
    margin-block-start: 0.625rem;
  }
}

.l-section-col__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3.3333333333%;
}
@media screen and (max-width: 767px) {
  .l-section-col__inner {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 1.875rem;
  }
}

.l-top-concept {
  padding-block-start: clamp(3.75rem, 1.613vw + 3.387rem, 5rem);
  padding-block-end: clamp(2.5rem, 4.839vw + 1.411rem, 6.25rem);
}

.l-common-contact {
  background: #e7edeb;
  padding-block-start: clamp(1.25rem, 1.613vw + 0.887rem, 2.5rem);
  padding-block-end: clamp(2.5rem, 3.226vw + 1.774rem, 5rem);
}

.l-page {
  padding-block-start: 7.5rem;
  padding-block-end: clamp(2.5rem, 7.258vw + 0.867rem, 8.125rem);
}
@media screen and (max-width: 1200px) {
  .l-page {
    padding-block-start: 6.3125rem;
  }
}
@media screen and (max-width: 980px) {
  .l-page {
    padding-block-start: 4.1875rem;
  }
}
.l-page {
  /* letter-spacing: 100; で字間が広がるため、text-indent: 0.1em; で調整 */
}
.l-page .p-common__title-jp,
.l-page .p-common__title-en {
  text-indent: 0.1em;
}

.l-page__section {
  padding-block-start: 3.125rem;
}
.l-page__section + .l-page__section {
  padding-block-start: clamp(2.688rem, 2.419vw + 2.143rem, 4.563rem);
}

.l-page__catch {
  margin-block-start: clamp(1.25rem, 4.839vw + 0.161rem, 5rem);
}

/* conceptページ */
.l-page__concept {
  padding-block-start: clamp(4.188rem, 9.113vw + 2.137rem, 11.25rem);
}
.l-page__concept .p-breadcrumb {
  margin-block-start: clamp(3.313rem, -0.806vw + 4.119rem, 3.938rem);
}
.l-page__concept .l-page__catch {
  margin-block-start: clamp(1.25rem, 3.871vw + 0.379rem, 4.25rem);
}

/* priceページ */
.l-page__price {
  --content-catch: clamp(3.438rem, 2.177vw + 2.948rem, 5.125rem);
  padding-block-start: clamp(4.188rem, 7.5vw + 2.5rem, 10rem);
}
.l-page__price .p-breadcrumb {
  margin-block-start: 3.625rem;
}
.l-page__price .l-page__catch {
  /* 一番目にアンカーリンクがくるため */
  margin-block-start: clamp(0rem, -1.21vw + 1.21rem, 0.938rem);
  padding-block-start: clamp(0.625rem, -0.403vw + 1.028rem, 0.938rem);
}
.l-page__price {
  /* flowセクション */
}
.l-page__price .l-page__flow {
  padding-block-start: var(--content-catch);
}
.l-page__price {
  /* qaセクション */
}
.l-page__price .l-page__qa {
  padding-block-start: clamp(2.688rem, 3.548vw + 1.889rem, 5.438rem);
}
.l-page__price {
  /* maintenanceセクション */
}
.l-page__price .l-page__maintenance {
  padding-block-start: var(--content-catch);
}

/* model-houseページ */
.l-page__model-house, .l-page__standard, .l-page__premium {
  padding-block-start: 5rem;
  padding-block-end: clamp(2.5rem, 4.839vw + 1.411rem, 6.25rem);
}
@media screen and (max-width: 1200px) {
  .l-page__model-house, .l-page__standard, .l-page__premium {
    padding-block-start: 5.0625rem;
  }
}
@media screen and (max-width: 980px) {
  .l-page__model-house, .l-page__standard, .l-page__premium {
    padding-block-start: 1.0625rem;
  }
}
@media screen and (max-width: 767px) {
  .l-page__model-house, .l-page__standard, .l-page__premium {
    padding-block-start: 0rem;
  }
}

/* spec-homeページ */
.l-page__spec-home {
  padding-block-start: clamp(4.563rem, 4.032vw + 3.655rem, 7.688rem);
}
.l-page__spec-home .p-breadcrumb {
  margin-block-start: clamp(3.938rem, 2.177vw + 3.448rem, 5.625rem);
}

/* standardページ */
.l-page__standard, .l-page__premium {
  padding-block-end: clamp(2.5rem, 5.645vw + 1.23rem, 6.875rem);
}

.l-page__custom {
  padding-block-start: clamp(4.188rem, 4.677vw + 3.135rem, 7.813rem);
}
.l-page__custom .p-common__title-en::first-letter {
  color: #007e43;
}

/* モデルハウスカテゴリ共通 */
.l-page__common-model-reason {
  --is-font-color: #007e43;
  --is-bg-color: #e7edeb;
  position: relative;
  padding-block-start: clamp(1.75rem, 1.21vw + 1.478rem, 2.688rem);
}
.l-page__common-model-reason::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 34.375rem;
  background-color: var(--is-bg-color);
  z-index: -1;
}
@media screen and (max-width: 980px) {
  .l-page__common-model-reason::before {
    height: 28.125rem;
  }
}
@media screen and (max-width: 767px) {
  .l-page__common-model-reason::before {
    height: 25rem;
  }
}
@media screen and (max-width: 600px) {
  .l-page__common-model-reason::before {
    height: 28.125rem;
  }
}
@media screen and (max-width: 370px) {
  .l-page__common-model-reason::before {
    height: 23.75rem;
  }
}
.l-page__common-model-reason.--is-green::before {
  --is-bg-color: #e7edeb;
}
.l-page__common-model-reason.--is-green .p-common-model__reason-item-heading {
  --is-font-color: #007e43;
}
.l-page__common-model-reason.--is-green .p-common-model__reason-item-number {
  --is-font-color: #007e43;
}
.l-page__common-model-reason.--is-gold::before {
  --is-bg-color: #e4dbd0;
}
.l-page__common-model-reason.--is-gold .p-common-model__reason-item {
  border-color: #927f55;
}
.l-page__common-model-reason.--is-gold .p-common-model__reason-item-heading {
  --is-font-color: #927f55;
}
.l-page__common-model-reason.--is-gold .p-common-model__section-heading .u-add__first-color::first-letter {
  color: #927f55;
}
.l-page__common-model-reason.--is-gold .p-common-model__reason-item-number {
  --is-font-color: #927f55;
}
.l-page__common-model-reason.--is-gold .u-color__gold {
  color: #927f55;
}

.l-page__common-model-equipment {
  padding-block-end: clamp(2.063rem, 2.661vw + 1.464rem, 4.125rem);
}

.l-page__section + .l-page__common-model-recommended {
  padding-block-start: 0;
}

.l-page__section.l-concept-info {
  padding-block-start: clamp(2.688rem, 3.629vw + 1.871rem, 5.5rem);
}

.l-page__section.l-concept__access {
  padding-block-start: clamp(2.688rem, 0.806vw + 2.506rem, 3.313rem);
}

.l-price__reason {
  position: relative;
  padding-block-end: clamp(3.75rem, 2.016vw + 3.296rem, 5.313rem);
}
.l-price__reason::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 97.0331950207%;
  background-color: #e5dcd1;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .l-price__reason::before {
    height: 98.6354447439%;
  }
}
.l-price__reason .p-common__catch-title {
  width: 18%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-price__reason .p-common__catch-title {
    width: 38.3333333333%;
  }
}
@media screen and (max-width: 600px) {
  .l-price__reason .p-common__catch-title {
    width: 48.2142857143%;
  }
}

.l-model-house__hero-comparison {
  --element-position: clamp(-1.875rem, -0.601vw - 1.274rem, -1.563rem);
  position: relative;
  top: var(--element-position);
  margin-block-end: var(--element-position);
}
@media screen and (max-width: 767px) {
  .l-model-house__hero-comparison {
    --element-position: 0;
    margin-block-start: 2.5rem;
  }
}

.l-model-house__compare {
  padding-block-end: clamp(3.125rem, 3.226vw + 2.399rem, 5.625rem);
}

.l-model-house__merit {
  background: #e5dcd1;
  padding-block-end: clamp(3.125rem, 3.226vw + 2.399rem, 5.625rem);
}

.c-sns__list {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1.4375rem;
}

.c-sns__fix {
  position: fixed;
  top: 50%;
  translate: 0 calc(-50% - 11.625rem);
  right: 0;
  z-index: 102;
}
@media screen and (max-width: 980px) {
  .c-sns__fix {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .c-sns__fix {
    display: block;
    position: static;
    top: auto;
    translate: 0 0;
    right: auto;
  }
}
.c-sns__fix .c-sns__list {
  flex-direction: column;
  align-items: flex-end;
  row-gap: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .c-sns__fix .c-sns__list {
    flex-direction: row;
  }
}
.c-sns__fix .c-sns__item {
  width: 4.375rem;
}
@media screen and (max-width: 767px) {
  .c-sns__fix .c-sns__item {
    width: auto;
  }
}
.c-sns__fix .c-sns__item.--calendar .c-sns__link {
  background-color: #c23321;
  color: #ffffff;
  writing-mode: vertical-rl;
  text-align: left;
  padding-block: 0.625rem 0.6875rem;
  padding-inline: 1.875rem 1.875rem;
  position: relative;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.4117647059;
  letter-spacing: 0.1em;
}
.c-sns__fix .c-sns__item.--calendar .c-sns__link::before {
  /*content: "";
  position: absolute;
  width: 1.875rem;
  height: 1.875rem;
  background: url(../img/common/icon-calendar.webp) no-repeat center center/contain;
  left: 50%;
  translate: -50%;
  top: 1.25rem;*/
}
.c-sns__fix .c-sns__link {
  width: 100%;
  background-color: #ffffff;
  border-radius: 7px 0 0 7px;
  text-align: center;
  padding-block: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .c-sns__fix .c-sns__link {
    padding-block: 0;
  }
}
.c-sns__fix .c-sns__link img {
  width: 2.5rem;
}

.c-sns__item {
  width: min(40px, 25%);
}
.c-sns__item.--calendar {
  display: block;
  width: 100%;
}
.c-sns__item.--calendar .c-sns__link {
  display: block;
}
@media screen and (max-width: 767px) {
  .c-sns__item.--calendar {
    display: none;
  }
}

.c-menu-tel__link {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  font-feature-settings: "palt";
  line-height: 1.7142857143;
}

.c-menu-tel__text {
  display: block;
  position: relative;
  font-size: 1.875rem;
  padding-inline-start: 1.875rem;
  line-height: 1.0666666667;
  letter-spacing: 0.03em;
}
.c-menu-tel__text::before {
  content: "";
  position: absolute;
  width: 1.6875rem;
  height: 1.6875rem;
  background: url(../img/common/icon-tel.webp) no-repeat center center/contain;
  top: 50%;
  translate: 0 calc(-50% + 2px);
  left: 0;
}

.c-company-name {
  font-size: clamp(3.25rem, 0.887vw + 3.05rem, 3.938rem);
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.c-company-name span::first-letter {
  color: #007e43;
}

.c-box__border {
  border: 1px solid #000000;
  text-align: center;
  font-size: clamp(0.75rem, 0.403vw + 0.659rem, 1.063rem);
  font-weight: 700;
  line-height: 1.4705882353;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-box__border {
    line-height: 1.5833333333;
  }
}

.c-box__bg {
  color: #ffffff;
  font-size: clamp(0.813rem, 0.403vw + 0.722rem, 1.125rem);
  font-weight: 700;
  padding-inline: 0.6875rem;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.6111111111;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-box__bg {
    line-height: 1.6923076923;
  }
}
.c-box__bg:has(a) {
  padding-inline: 0;
}
.c-box__bg a {
  width: 100%;
  padding-inline: 0.6875rem;
}
.c-box__bg.--black {
  background-color: #000000;
}
.c-box__bg.--accent {
  background-color: #c23321;
}
.c-box__bg.--green {
  background-color: #007e43;
}
.c-box__bg.--line-green {
  background-color: #06c755;
}

.c-button__main {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.c-button__main-link {
  background-color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  border: 1px solid currentColor;
  border-radius: 5px;
  min-width: 300px;
  text-align: center;
  padding-block: 0.375rem;
  padding-inline: 2.875rem;
  position: relative;
  line-height: 2.875;
  letter-spacing: 0.1em;
}
@media (any-hover: hover) {
  .c-button__main-link:hover {
    opacity: 1;
  }
  .c-button__main-link:hover::before {
    right: 0.5rem;
  }
}
.c-button__main-link::before {
  content: "";
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/common/icon-button-sm.webp) no-repeat center center/contain;
  top: 50%;
  translate: 0 calc(-50% + 1px);
  right: 1.125rem;
  transition: all 0.3s ease;
}

/* 色によってメインボタンのアイコンを変更 */
.--is-gold .c-button__main-link::before {
  background: url(../img/common/icon-button-gold.webp) no-repeat center center/contain;
}

.--is-purple .c-button__main-link::before {
  background: url(../img/common/icon-button-purple.webp) no-repeat center center/contain;
}

.c-button__sub-link {
  position: relative;
  font-size: clamp(0.875rem, 0.161vw + 0.839rem, 1rem);
  font-weight: 700;
  line-height: 2.875;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-button__sub-link {
    line-height: 3;
  }
}
@media (any-hover: hover) {
  .c-button__sub-link:hover {
    opacity: 1;
  }
  .c-button__sub-link:hover span::before {
    scale: 0;
  }
  .c-button__sub-link:hover span::after {
    left: calc(100% + 0.875rem);
  }
}
.c-button__sub-link span {
  padding-inline: 0.3125rem;
}
.c-button__sub-link span::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #7f7f7f;
  bottom: 0.25rem;
  left: 50%;
  translate: -50%;
  scale: 1;
  transition: scale 0.3s ease;
}
.c-button__sub-link span::after {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 2.5rem;
  background: url(../img/common/icon-button-bg.webp) no-repeat center center/contain;
  left: calc(100% + 0.5625rem);
  top: 50%;
  translate: 0 calc(-50% + 3px);
  transition: left 0.3s ease;
}

/* ============================================
   Accent Button
============================================ */
.c-button__accent {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.c-button__accent-link {
  color: #ffffff;
  background-color: #c23321;
  font-size: clamp(1.25rem, 0.403vw + 1.159rem, 1.563rem);
  font-weight: 700;
  padding-block: 1.5625rem 1.8125rem;
  padding-inline: clamp(2.688rem, 2.016vw + 2.234rem, 4.25rem);
  border-radius: 5px;
  text-align: center;
  text-indent: 0.1em;
  position: relative;
  min-width: clamp(18.75rem, 13.226vw + 15.774rem, 29rem);
  line-height: 1.04;
  letter-spacing: 0.1em;
}
@media (any-hover: hover) {
  .c-button__accent-link:hover {
    opacity: 1;
  }
  .c-button__accent-link:hover::after {
    right: 0.5rem;
  }
}
.c-button__accent-link::before {
  content: "";
  position: absolute;
  background: url(../img/common/icon-calendar.webp) no-repeat center center/contain;
  width: clamp(1.438rem, 0.887vw + 1.238rem, 2.125rem);
  height: clamp(1.313rem, 0.887vw + 1.113rem, 2rem);
  left: 6.0344827586%;
  top: 50%;
  translate: 0 -50%;
}
.c-button__accent-link::after {
  content: "";
  position: absolute;
  background: url(../img/common/icon-button-bg-white.webp) no-repeat center center/contain;
  width: clamp(1.313rem, 0.887vw + 1.113rem, 2rem);
  height: clamp(1.313rem, 0.887vw + 1.113rem, 2rem);
  right: 5.1724137931%;
  top: 50%;
  translate: 0 -50%;
  transition: all 0.3s ease;
}

.c-title__group {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 0.4375rem;
}
@media screen and (max-width: 767px) {
  .c-title__group {
    row-gap: 0rem;
  }
}
.c-title__group .c-title__en {
  text-transform: uppercase;
}

.c-title__jp {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.6470588235;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-title__jp {
    line-height: 1.1;
  }
}

.c-title__en {
  font-size: clamp(2.25rem, 1.129vw + 1.996rem, 3.125rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-title__en {
    line-height: 1.4166666667;
  }
}
.c-title__en::first-letter {
  color: #007e43;
}
.c-title__en span {
  display: inline-block;
}
.c-title__en span::first-letter {
  color: #007e43;
}

.p-header {
  /* ctaとドロワーアイコンの高さを管理 */
  --header-margin: 1.09375rem;
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

.p-header__top {
  background: #ffffff;
}

.p-header__top-inner {
  max-width: 1600px;
  margin-inline: auto;
  position: relative;
  display: flex;
  align-items: center;
  padding-inline: 1.625rem 1.0625rem;
}
@media screen and (max-width: 1200px) {
  .p-header__top-inner {
    padding-inline: 0.8125rem 0.5rem;
  }
}
@media screen and (max-width: 600px) {
  .p-header__top-inner {
    padding-inline: 0.9375rem 0.5rem;
    min-height: 3.75rem;
  }
}

.p-header__logo {
  width: min(257px, 100%);
  flex-shrink: 0;
}
@media screen and (max-width: 1200px) {
  .p-header__logo {
    width: min(220px, 100%);
  }
}
@media screen and (max-width: 600px) {
  .p-header__logo {
    width: min(212px, 100%);
  }
}

.p-header__top-cta {
  width: min(200px, 100%);
  height: 100%;
  margin-inline-start: 2.3121387283%;
  flex-shrink: 0;
}
@media screen and (max-width: 1200px) {
  .p-header__top-cta {
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (max-width: 640px) {
  .p-header__top-cta {
    margin-inline-start: auto;
    margin-inline-end: 3.6875rem;
  }
}
@media screen and (max-width: 600px) {
  .p-header__top-cta {
    margin-inline-start: auto;
    margin-inline-end: 3.25rem;
    min-height: 3.75rem;
  }
}
.p-header__top-cta a {
  width: 100%;
  background-color: #c23321;
  padding-block: var(--header-margin);
}
@media screen and (max-width: 1200px) {
  .p-header__top-cta a {
    --this-adjust: 0.25rem;
    padding-block: calc(var(--header-margin) - var(--this-adjust)) calc(var(--header-margin) + var(--this-adjust));
    padding-inline: 0.5625rem;
  }
}
@media screen and (max-width: 600px) {
  .p-header__top-cta a {
    --header-margin: 0.875rem;
    min-height: 3.75rem;
    padding-block: var(--header-margin);
    padding-inline: 0.25375rem;
  }
}

.p-header__top-cta-text {
  position: relative;
  color: #ffffff;
  font-weight: 700;
  font-size: 1rem;
  /*padding-inline-start: 4.375rem;
  padding-inline-start: 1.5rem;
  padding-inline-end: 1.5rem;*/
  line-height: 1.625;
  letter-spacing: 0.1em;
  text-align: center;
  display: block;
}
@media screen and (max-width: 1200px) {
  .p-header__top-cta-text {
    display: none;
  }
}
/*.p-header__top-cta-text::before {
  content: "";
  position: absolute;
  width: 1.875rem;
  height: 1.875rem;
  top: 50%;
  translate: 0 -50%;
  left: 1.25rem;
  background: url(../img/common/icon-calendar.webp) no-repeat center center/contain;
}*/

.p-header__top-cta-en {
  position: relative;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  top: -1rem;
  letter-spacing: 0;
}
@media screen and (min-width: 1201px) {
  .p-header__top-cta-en {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  .p-header__top-cta-en {
    letter-spacing: 0.02em;
  }
}
.p-header__top-cta-en::before {
  content: "";
  position: absolute;
  width: 1.875rem;
  height: 1.875rem;
  top: 0.9375rem;
  left: 50%;
  translate: -50%;
  background: url(../img/common/icon-calendar.webp) no-repeat center center/contain;
}
@media screen and (max-width: 600px) {
  .p-header__top-cta-en::before {
    width: 1.25rem;
    height: 1.5rem;
  }
}

.p-header__top-tel {
  width: min(210px, 100%);
  margin-inline-start: 1.3487475915%;
  flex-shrink: 0;
}
@media screen and (max-width: 640px) {
  .p-header__top-tel {
    display: none;
  }
}
@media screen and (max-width: 1200px) {
  .p-header__top-tel .c-menu-tel__link {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 1200px) {
  .p-header__top-tel .c-menu-tel__text {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 1200px) {
  .p-header__top-tel .c-menu-tel__text::before {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.p-header__top-list {
  display: flex;
  align-items: center;
  column-gap: 2.125rem;
  margin-inline-start: 3.0828516378%;
}
@media screen and (max-width: 1027px) {
  .p-header__top-list {
    column-gap: 1.25rem;
  }
}
@media screen and (max-width: 980px) {
  .p-header__top-list {
    display: none;
  }
}
.p-header__top-list li a {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2.2857142857;
  letter-spacing: 0.1em;
}

.p-header__top-desc {
  font-size: 0.6875rem;
  font-weight: 400;
  position: absolute;
  top: 0.1875rem;
  right: 1.0625rem;
  line-height: 2;
}
@media screen and (max-width: 1200px) {
  .p-header__top-desc {
    top: 0;
    right: 0.5rem;
  }
}
@media screen and (max-width: 980px) {
  .p-header__top-desc {
    display: none;
  }
}

.p-header__bottom {
  margin-block-start: 0.875rem;
}
@media screen and (max-width: 980px) {
  .p-header__bottom {
    display: none;
  }
}

.p-header__bottom-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.p-header__bottom-list li a {
  color: #ffffff;
  text-shadow: 0 0 7px rgba(0, 0, 0, 0.3);
  position: relative;
  font-size: 1.0625rem;
  font-weight: 700;
  white-space: nowrap;
  padding-block: 0.5625rem;
  padding-inline: clamp(0.75rem, 2.903vw - 1.028rem, 1.875rem);
  line-height: 1.8823529412;
  letter-spacing: 0.1em;
}
.p-header__bottom-list li a::before {
  content: "";
  position: absolute;
  width: 2px;
  height: 100%;
  background-color: #ffffff;
  top: 0;
  right: 0;
}
.p-header__bottom-list li:last-child a::before {
  display: none;
}

/* 下層ページのとき */
.page .p-header__bottom-list li a {
  color: #000000;
  text-shadow: none;
}
.page .p-header__bottom-list li a::before {
  background-color: #007e43;
}

.p-drawer__icon {
  --icon-size: 4.1875rem;
  position: absolute;
  z-index: 102;
  background-color: #007e43;
  top: 0;
  right: 0;
  width: var(--icon-size);
  height: var(--icon-size);
  display: none;
}
@media screen and (max-width: 980px) {
  .p-drawer__icon {
    display: grid;
    place-items: center;
  }
}
@media screen and (max-width: 600px) {
  .p-drawer__icon {
    --icon-size: 3.75rem;
  }
}

.p-drawer__icon-bar-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: calc(var(--icon-size) / 1.8);
  height: calc(var(--icon-size) / 2);
}
@media screen and (max-width: 600px) {
  .p-drawer__icon-bar-wrap {
    margin-block-end: 0.1875rem;
  }
}

.p-drawer__icon--text {
  font-weight: 500;
  text-transform: uppercase;
  color: #ffffff;
  line-height: 1;
  font-size: 0.875rem;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .p-drawer__icon--text {
    font-size: 0.75rem;
    text-indent: -0.1em;
    letter-spacing: 0.1em;
  }
}

.p-drawer__icon--bar {
  width: 80%;
  margin-inline: auto;
  height: 2px;
  background: #ffffff;
}

.p-drawer__icon.js-show .p-drawer__icon--text {
  opacity: 0;
  visibility: hidden;
}
.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(2) {
  rotate: 45deg;
  translate: 0 -5.5px;
}
@media screen and (max-width: 600px) {
  .p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(2) {
    translate: 0 -4px;
  }
}
.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(3) {
  rotate: -45deg;
  translate: 0 -14.5px;
}
@media screen and (max-width: 600px) {
  .p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(3) {
    translate: 0 -12.75px;
  }
}

.p-drawer {
  --header-height: 4.1875rem;
  position: fixed;
  z-index: 101;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  top: var(--header-height);
  right: 0;
  width: 50%;
  height: calc(100vh - var(--header-height));
  height: calc(100dvh - var(--header-height));
  background: #e7edeb;
}
@media screen and (max-width: 767px) {
  .p-drawer {
    width: 71%;
  }
}
@media screen and (max-width: 600px) {
  .p-drawer {
    --header-height: 3.75rem;
  }
}
@media screen and (max-width: 480px) {
  .p-drawer {
    width: 100%;
  }
}

.p-drawer__icon--bar {
  transition: all 0.5s ease;
}

.p-drawer {
  transform: translateX(101%);
  transition: transform 0.5s ease;
}
.p-drawer.js-show {
  transform: translateX(0);
}

.p-drawer__body {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  padding-block: 0.625rem 2.5rem;
  padding-inline: 1.25rem;
}

.p-drawer__list {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}
.p-drawer__list li {
  border-bottom: 1px solid #000000;
}
.p-drawer__list > li > a {
  display: block;
  position: relative;
  padding-block: 0.75rem;
  padding-inline-end: 2.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #007e43;
  line-height: 1.7777777778;
  letter-spacing: 0.1em;
}
.p-drawer__list > li > a::after {
  content: "";
  position: absolute;
  right: 0.875rem;
  top: 50%;
  translate: 0 -50%;
  width: 1.4375rem;
  height: 1.4375rem;
  background: url("../img/common/icon-menu-close.webp") no-repeat center/contain;
}

.p-drawer .p-drawer__list {
  row-gap: 0;
}
.p-drawer .c-menu-parent-item__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.p-drawer .c-menu-parent-item__head .c-menu-parent-item__name {
  flex: 1;
  font-size: 1.125rem;
  font-weight: 700;
  color: #007e43;
  padding-block: 0.75rem;
  line-height: 1.7777777778;
  letter-spacing: 0.1em;
}
.p-drawer .c-menu-parent-item__head .c-menu-parent-item__toggle {
  flex-shrink: 0;
  width: 1.4375rem;
  height: 1.4375rem;
  margin-inline-end: 1rem;
  background: url("../img/common/icon-menu-close.webp") no-repeat center/contain;
}
.p-drawer .c-menu-parent-item.js-open .c-menu-parent-item__toggle {
  background-image: url("../img/common/icon-menu-open.webp");
}
.p-drawer .c-menu-sublist-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s ease;
}
.p-drawer .c-menu-parent-item.js-open .c-menu-sublist-wrap {
  grid-template-rows: 1fr;
}
.p-drawer .c-menu-sublist {
  overflow: hidden;
}
.p-drawer .c-menu-sublist li {
  border-bottom: none;
}
.p-drawer .c-menu-sublist li:first-child {
  border-top: 1px solid #000000;
  padding-block-start: 0.375rem;
}
.p-drawer .c-menu-sublist li:last-child {
  padding-block-end: 0.5625rem;
}
.p-drawer .c-menu-sublist li a {
  position: relative;
  width: 100%;
  padding-inline-start: 1.25rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.1428571429;
  letter-spacing: 0.03em;
}
.p-drawer .c-menu-sublist li a::before {
  content: "";
  position: absolute;
  width: 0.75rem;
  height: 0.75rem;
  background-color: #000000;
  border-radius: 50%;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}
.p-drawer .c-menu-sublist__grandchild li:first-child {
  border-top: none;
  padding-block-start: 0rem;
}
.p-drawer .c-menu-sublist__grandchild li a::before {
  width: 0.1875rem;
  height: 0.1875rem;
  left: 0.25rem;
}

.p-drawer__sns {
  margin-block-start: 2.125rem;
}

.p-drawer__cta {
  width: min(320px, 100%);
  margin-inline: auto;
  margin-block-start: 2.125rem;
}
.p-drawer__cta a {
  width: 100%;
  background-color: #c23321;
  padding-block: var(--header-margin);
  display: grid;
  place-items: center;
  padding-block: 1.8125rem;
}

.p-drawer__cta-text {
  position: relative;
  color: #ffffff;
  font-weight: 700;
  font-size: 1rem;
  padding-inline-start: 4.375rem;
  padding-inline-end: 1.5rem;
  line-height: 1.625;
  letter-spacing: 0.1em;
}
.p-drawer__cta-text::before {
  content: "";
  position: absolute;
  width: 1.875rem;
  height: 1.875rem;
  top: 50%;
  translate: 0 -50%;
  left: 1.25rem;
  background: url(../img/common/icon-calendar.webp) no-repeat center center/contain;
}

.p-drawer__tel {
  background-color: #ffffff;
  width: min(320px, 100%);
  margin-inline: auto;
  margin-block-start: 0.5rem;
  display: grid;
  place-items: center;
}
.p-drawer__tel .c-menu-tel__link {
  font-size: 1rem;
  padding-block: 0.4375rem 1rem;
  line-height: 1.625;
}
.p-drawer__tel .c-menu-tel__text {
  font-size: 2rem;
  padding-inline-start: 2.5rem;
  line-height: 1.0625;
}
.p-drawer__tel .c-menu-tel__text::before {
  width: 1.9375rem;
  height: 1.9375rem;
  translate: 0 calc(-50% + 3px);
  left: 2px;
}

.p-footer {
  padding-block-start: clamp(1.25rem, 1.613vw + 0.887rem, 2.5rem);
  padding-block-end: clamp(1.25rem, 3.226vw + 0.524rem, 3.75rem);
}
@media screen and (max-width: 767px) {
  .p-footer .c-sns__list {
    margin-block-start: 2.125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-footer__inner {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }
}

.p-footer__head {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-footer__head {
    margin-block-start: 3.75rem;
  }
}

.p-footer__logo {
  width: 16rem;
  margin-inline: auto;
}

.footer__text {
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  margin-block-start: clamp(1.75rem, 0.565vw + 1.623rem, 2.188rem);
  line-height: 1.4375;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .footer__text {
    line-height: 1.375;
  }
}

.p-footer__office {
  display: grid;
  width: calc(100% / 3 * 2);
  margin-inline: auto;
  grid-template-columns: repeat(2, 1fr);
  margin-block-start: clamp(1.75rem, 0.403vw + 1.659rem, 2.063rem);
}
@media screen and (max-width: 1166px) {
  .p-footer__office {
    width: 100%;
    margin-inline: auto;
    justify-content: center;
    grid-template-columns: repeat(2, auto);
    column-gap: 4.6040515654%;
    row-gap: 2.0625rem;
  }
}
@media screen and (max-width: 600px) {
  .p-footer__office {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 0.8125rem;
  }
}
@media screen and (max-width: 360px) {
  .p-footer__office {
    margin-inline: 0;
  }
}

.p-footer__office-heading {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8888888889;
  letter-spacing: 0.05em;
}
.p-footer__office-heading::first-letter {
  color: #007e43;
}

.p-footer__office-address, .p-footer__office-tel {
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-footer__office-address, .p-footer__office-tel {
    line-height: 1.625;
  }
}

/* フッター アコーディオン部分 */
.p-footer__body {
  margin-block-start: 3.5625rem;
}
@media screen and (max-width: 767px) {
  .p-footer__body {
    width: 100%;
    margin-block-start: 0rem;
  }
}

.p-footer___body-heading {
  font-size: 1.375rem;
  font-weight: 500;
  text-transform: uppercase;
  display: none;
  line-height: 2.3181818182;
  letter-spacing: 0.07em;
}
.p-footer___body-heading::first-letter {
  color: #007e43;
}
@media screen and (max-width: 767px) {
  .p-footer___body-heading {
    display: block;
  }
}

.p-footer__menu {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  row-gap: 2.6875rem;
}
@media screen and (max-width: 1166px) {
  .p-footer__menu {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 1.8416206262%;
    row-gap: 1.4375rem;
  }
}
@media screen and (max-width: 980px) {
  .p-footer__menu {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-footer__menu {
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 0rem;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__menu li {
    border-bottom: 1px solid #000000;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__menu > li > a {
    display: block;
    position: relative;
    padding-block: 0.75rem;
    padding-inline-end: 2.5rem;
    font-size: 1.125rem;
    font-weight: 700;
    color: #007e43;
    line-height: 1.7777777778;
    letter-spacing: 0.1em;
  }
  .p-footer__menu > li > a::after {
    content: "";
    position: absolute;
    right: 0.875rem;
    top: 50%;
    translate: 0 -50%;
    width: 1.4375rem;
    height: 1.4375rem;
    background: url("../img/common/icon-menu-close.webp") no-repeat center/contain;
  }
}
.p-footer__menu .c-menu-sublist-wrap {
  display: grid;
  grid-template-rows: 1fr;
}
@media screen and (max-width: 767px) {
  .p-footer__menu .c-menu-sublist-wrap {
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.35s ease;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__menu .c-menu-parent-item--footer-accordion.js-open .c-menu-sublist-wrap {
    grid-template-rows: 1fr;
  }
}
.p-footer__menu .c-menu-sublist {
  overflow: hidden;
  margin-block-start: 0.25rem;
}
.p-footer__menu .c-menu-sublist li {
  font-size: 0.8125rem;
  font-weight: 400;
  position: relative;
  padding-inline-start: 1.0625rem;
  line-height: 1;
  line-height: 1.6153846154;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-footer__menu .c-menu-sublist li {
    border-bottom: none;
    width: 100%;
    padding-inline-start: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.8;
  }
  .p-footer__menu .c-menu-sublist li:first-child {
    border-top: 1px solid #000000;
    padding-block-start: 0.375rem;
  }
  .p-footer__menu .c-menu-sublist li:first-child::before {
    top: calc(0.8em + 0.375rem);
  }
  .p-footer__menu .c-menu-sublist li:last-child {
    padding-block-end: 0.5625rem;
  }
}
.p-footer__menu .c-menu-sublist li::before {
  content: "";
  position: absolute;
  width: 0.1875rem;
  height: 0.1875rem;
  background-color: #000000;
  border-radius: 50%;
  left: 0.25rem;
  top: 0.8em;
}
.p-footer__menu .c-menu-sublist li a {
  position: static;
  padding-inline-start: 0;
}
@media screen and (max-width: 767px) {
  .p-footer__menu .c-menu-sublist__grandchild li:first-child {
    border-top: none;
    padding-block-start: 0rem;
  }
  .p-footer__menu .c-menu-sublist__grandchild li:first-child::before {
    top: 0.8em;
  }
}
.p-footer__menu .c-menu-sublist__grandchild li a::before {
  content: none;
}
@media screen and (max-width: 767px) {
  .p-footer__menu .c-menu-parent-item__head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
}
.p-footer__menu .c-menu-parent-item__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-footer__menu .c-menu-parent-item__toggle {
    display: block;
    flex-shrink: 0;
    width: 1.4375rem;
    height: 1.4375rem;
    margin-inline-end: 1rem;
    background: url("../img/common/icon-menu-close.webp") no-repeat center/contain;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__menu .c-menu-parent-item--footer-accordion.js-open .c-menu-parent-item__toggle {
    background-image: url("../img/common/icon-menu-open.webp");
  }
}
.p-footer__menu .c-menu-parent-item__name {
  color: #007e43;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.8823529412;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-footer__menu .c-menu-parent-item__name {
    flex: 1;
    font-size: 1.125rem;
    padding-block: 0.5rem;
    line-height: 1.7777777778;
  }
}

.p-footer__copy {
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  margin-block-start: clamp(1.375rem, 3.629vw + 0.558rem, 4.188rem);
  text-transform: capitalize;
  line-height: 2;
  letter-spacing: 0.1em;
}
.p-footer__copy::first-letter {
  color: #007e43;
}

.p-fv__content {
  width: 39.6875%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% calc(-50% - 25px);
  z-index: 3;
}
@media screen and (max-width: 980px) {
  .p-fv__content {
    width: 51%;
  }
}
@media screen and (max-width: 767px) {
  .p-fv__content {
    width: 80%;
  }
}
@media screen and (max-width: 480px) {
  .p-fv__content {
    width: 98.6111111111%;
  }
}

.p-fv,
.p-fv__swiper,
.p-fv__swiper-wrapper,
.p-fv__swiper-slide {
  position: relative;
}

.p-fv__swiper-slide {
  width: 100%;
}
.p-fv__swiper-slide picture {
  display: block;
  width: 100%;
}
.p-fv__swiper-slide img {
  object-fit: cover;
}

.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  margin: 0;
  padding: 0;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
}

.p-fv .swiper-button-prev,
.p-fv .swiper-button-next {
  width: 1.875rem;
  height: 1.875rem;
  top: 50%;
  translate: 0 calc(-50% + 12px);
}
@media screen and (max-width: 767px) {
  .p-fv .swiper-button-prev,
  .p-fv .swiper-button-next {
    display: none;
  }
}
.p-fv .swiper-button-prev {
  background: url(../img/common/icon-slider-left.webp) no-repeat center center/contain;
  left: clamp(6.25rem, 5.769vw + 3.481rem, 9.25rem);
}
.p-fv .swiper-button-next {
  background: url(../img/common/icon-slider-right.webp) no-repeat center center/contain;
  right: clamp(6.25rem, 9.736vw + 1.577rem, 11.313rem);
}

.p-top-price .c-button__main {
  margin-block-start: clamp(1.875rem, 1.613vw + 1.512rem, 3.125rem);
}

.p-top-price__head {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-top-price__head .c-company-name {
  text-align: center;
  margin-block-start: clamp(0.938rem, -0.806vw + 1.744rem, 1.563rem);
}
@media screen and (max-width: 767px) {
  .p-top-price__head .c-company-name {
    line-height: 0.9615384615;
  }
}

.p-top-price__head-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  column-gap: 3.1948881789%;
}
@media screen and (max-width: 767px) {
  .p-top-price__head-heading {
    column-gap: 3.125%;
  }
}

.p-top-price__head-heading-text {
  font-size: clamp(1.375rem, 1.406vw + 1.094rem, 2.5rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-price__head-heading-text {
    line-height: 1.3181818182;
    letter-spacing: 0;
  }
}

.p-top-price__head-heading-image {
  width: 6.7092651757%;
}
@media screen and (max-width: 767px) {
  .p-top-price__head-heading-image {
    width: 7.1875%;
    margin-block-end: 0.3125rem;
  }
}

.p-top-price__head-text {
  font-size: clamp(1.25rem, 0.645vw + 1.105rem, 1.75rem);
  font-weight: 700;
  text-align: center;
  margin-block-start: clamp(1.25rem, -0.403vw + 1.653rem, 1.563rem);
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-price__head-text {
    letter-spacing: 0;
    line-height: 1.6;
  }
}
.p-top-price__head-text span {
  display: inline;
  font-size: clamp(1rem, 0.323vw + 0.927rem, 1.25rem);
}

.p-top-price__head-caution {
  font-size: clamp(0.875rem, 0.242vw + 0.821rem, 1.063rem);
  font-weight: 500;
  margin-block-start: clamp(0.875rem, -0.565vw + 1.44rem, 1.313rem);
  text-align: center;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-price__head-caution {
    letter-spacing: 0;
    line-height: 1.7142857143;
  }
}

.p-top-price__body {
  margin-block-start: clamp(2.188rem, 2.016vw + 1.734rem, 3.75rem);
}

.p-top-price__item {
  position: relative;
  max-width: 1600px;
  margin-inline: auto;
}
@media screen and (max-width: 980px) {
  .p-top-price__item {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 2.75rem;
  }
}
.p-top-price__item + .p-top-price__item {
  margin-block-start: clamp(2.188rem, 2.823vw + 1.552rem, 4.375rem);
}
.p-top-price__item:nth-of-type(even) .p-top-price__item-content {
  left: auto;
  right: 50%;
}
.p-top-price__item:nth-of-type(even) .p-top-price__item-heading span {
  color: #937f55;
}
.p-top-price__item:nth-of-type(even) .p-top-price__number {
  color: #937f55;
  right: auto;
  left: 1.5625rem;
}
.p-top-price__item:nth-of-type(even) .p-top-price__item-image-wrap {
  margin-inline-start: auto;
}
.p-top-price__item:nth-of-type(even) .p-top-price__item-image {
  text-align: right;
}
.p-top-price__item:nth-of-type(even) .p-top-price__item-copy {
  left: auto;
  right: clamp(0.625rem, 0.806vw + 0.444rem, 1.25rem);
}
.p-top-price__item:nth-of-type(even) .p-top-price__item-copy-en {
  background-color: #937f55;
}

.p-top-price__item-content {
  width: clamp(30rem, 19.355vw + 18.145rem, 37.5rem);
  background-color: #ffffff;
  padding-block-start: clamp(1.563rem, 2.419vw + 1.018rem, 3.438rem);
  padding-block-end: clamp(1rem, 1.129vw + 0.746rem, 1.875rem);
  padding-inline: clamp(1rem, 0.323vw + 0.927rem, 1.25rem);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: 0% -50%;
  z-index: 3;
}
@media screen and (max-width: 980px) {
  .p-top-price__item-content {
    width: calc(100% + 20px);
    position: static;
    translate: 0;
    max-width: 600px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 654px) {
  .p-top-price__item-content {
    max-width: none;
    margin-inline: -0.625rem -0.625rem;
  }
}
.p-top-price__item-content .c-box__border {
  width: 71.4285714286%;
  margin-block-start: clamp(0.5rem, 0.806vw + 0.319rem, 1.125rem);
  margin-inline: auto;
}
@media screen and (max-width: 980px) {
  .p-top-price__item-content .c-box__border {
    width: min(380px, 100%);
  }
}

.p-top-price__item-heading {
  font-size: clamp(1.563rem, 0.968vw + 1.345rem, 2.313rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.2432432432;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-price__item-heading {
    letter-spacing: 0;
    text-indent: -0.5em;
    line-height: 1.24;
  }
}
.p-top-price__item-heading span {
  margin-inline-start: clamp(0.5rem, 0.565vw + 0.373rem, 0.938rem);
  display: inline;
}

.p-top-price__price {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-block-start: 0.3125rem;
  margin-inline: auto;
}

.p-top-price__price-space {
  font-size: clamp(1.375rem, 0.645vw + 1.23rem, 1.875rem);
  font-weight: 700;
  line-height: 1.0666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-price__price-space {
    line-height: 1.0909090909;
  }
}

.p-top-price__price-value {
  color: #c23321;
  font-size: clamp(3.25rem, 1.452vw + 2.923rem, 4.375rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}

.p-top-price__price-unit {
  font-size: clamp(1.375rem, 0.645vw + 1.23rem, 1.875rem);
  font-weight: 700;
  line-height: 1.0666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-price__price-unit {
    line-height: 1.0909090909;
  }
}

.p-top-price__price-unit-sub {
  font-size: clamp(1rem, 0.484vw + 0.891rem, 1.375rem);
  font-weight: 700;
  line-height: 1.4545454545;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-price__price-unit-sub {
    line-height: 1.5;
  }
}

.p-top-price__price-sm {
  font-size: clamp(0.813rem, 0.403vw + 0.722rem, 1.125rem);
  font-weight: 700;
  position: absolute;
  top: 0.375rem;
  right: 0;
  line-height: 1.7777777778;
  letter-spacing: 0.05em;
}

.p-top-price__box-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.25rem;
  margin-block-start: clamp(0.375rem, 0.887vw + 0.175rem, 1.063rem);
}

.p-top-price__button {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline-start: auto;
  margin-inline-end: 3.125rem;
  margin-block-start: clamp(0.125rem, 0.645vw - 0.02rem, 0.625rem);
}

.p-top-price__number {
  font-family: "Karla", sans-serif;
  font-size: clamp(4rem, 1.29vw + 3.71rem, 5rem);
  font-weight: 500;
  line-height: 1;
  position: absolute;
  top: -1.6875rem;
  right: 0.25rem;
  line-height: 0.6375;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 980px) {
  .p-top-price__number {
    right: auto;
    left: 0.8125rem;
    top: -1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-price__number {
    line-height: 0.453125;
  }
}

.p-top-price__item-image-wrap {
  position: relative;
  width: clamp(48.125rem, 20.968vw + 35.282rem, 56.25rem);
}
@media screen and (max-width: 980px) {
  .p-top-price__item-image-wrap {
    width: calc(100% + 20px);
    margin-inline-start: -1.25rem;
  }
}

.p-top-price__item-copy {
  width: -moz-fit-content;
  width: fit-content;
  display: grid;
  row-gap: 1rem;
  position: absolute;
  bottom: clamp(0.625rem, 0.806vw + 0.444rem, 1.25rem);
  left: clamp(0.625rem, 0.806vw + 0.444rem, 1.25rem);
}
@media screen and (max-width: 767px) {
  .p-top-price__item-copy {
    row-gap: 0.5rem;
  }
}

.p-top-price__item-copy-en {
  background-color: #007e43;
  color: #ffffff;
  font-size: clamp(1.313rem, 1.532vw + 0.968rem, 2.5rem);
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  padding-inline: 1.25rem;
  line-height: 1.375;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-price__item-copy-en {
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}

.p-top-price__item-copy-jp {
  background-color: #ffffff;
  font-size: clamp(0.813rem, 0.887vw + 0.613rem, 1.5rem);
  font-weight: 700;
  text-align: center;
  padding-inline: 0.9375rem;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-price__item-copy-jp {
    line-height: 2;
    letter-spacing: 0;
  }
}

.p-top-news .c-button__main {
  margin-block-start: clamp(2.5rem, 1.613vw + 2.137rem, 3.75rem);
}

.p-top-news__lists {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 1.6666666667%;
  margin-block-start: clamp(2.5rem, 1.613vw + 2.137rem, 3.75rem);
}
@media screen and (max-width: 1200px) {
  .p-top-news__lists {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 2.625rem;
  }
}
@media screen and (max-width: 980px) {
  .p-top-news__lists {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .p-top-news__lists {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-top-news__item {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  row-gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-news__item {
    width: 88.75%;
    margin-inline: auto;
  }
}
.p-top-news__item .c-box__border {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 0.875rem;
  font-weight: 700;
  min-width: 6.25rem;
  letter-spacing: 0.1em;
}
.p-top-news__item .c-box__border-link {
  width: 100%;
  padding-inline: 0.625rem;
}

.p-top-news__head {
  overflow: hidden;
}
.p-top-news__head img {
  transition: all 0.3s ease;
  display: block;
}

.p-top-news__body {
  grid-row: span 2;
  display: grid;
  grid-template-rows: subgrid;
}

.p-top-news__meta {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
}
.p-top-news__meta time {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 2.2666666667;
  letter-spacing: 0.03em;
}

.p-top-news__link {
  font-size: 1.0625rem;
  font-weight: 400;
  text-decoration: underline;
  margin-block-start: 0.3125rem;
  line-height: 2;
  letter-spacing: 0.03em;
}

/* ホバー時の動作 */
@media (any-hover: hover) {
  .p-top-news__item:has(.p-top-news__link:hover) .p-top-news__head img, .p-top-news__item:has(.c-box__border-link:hover) .p-top-news__head img, .p-top-news__item:has(.p-top-news__head-link:hover) .p-top-news__head img {
    scale: 1.2;
  }
}

.p-top-model {
  position: relative;
}
@media screen and (max-width: 980px) {
  .p-top-model {
    padding-block-start: 1.875rem;
    padding-block-end: clamp(1.875rem, 1.613vw + 1.512rem, 2.5rem);
    background: url(../img/index/img-model-house01-sp.webp) no-repeat top left/contain;
  }
  .p-top-model::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #404040;
    opacity: 0.8;
    left: 0;
    top: 0;
    z-index: 1;
  }
}
.p-top-model .c-button__main {
  margin-block-start: clamp(1.25rem, -0.403vw + 1.653rem, 1.563rem);
}
@media screen and (max-width: 980px) {
  .p-top-model .c-button__main {
    grid-area: button;
  }
}

.p-top-model__head {
  position: relative;
  z-index: 2;
}
.p-top-model__head .p-top-model__swiper-container,
.p-top-model__head .p-top-model__swiper,
.p-top-model__head .p-top-model__swiper-wrapper,
.p-top-model__head .p-top-model__swiper-slide {
  position: relative;
}
.p-top-model__head .p-top-model__swiper-container {
  margin-block-start: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .p-top-model__head .p-top-model__swiper-container {
    overflow: hidden;
  }
}
@media screen and (max-width: 767px) {
  .p-top-model__head .p-top-model__swiper {
    overflow: visible;
  }
}
@media screen and (max-width: 767px) {
  .p-top-model__head .p-top-model__swiper-slide {
    width: 70%;
  }
}
@media (min-width: 768px) {
  .p-top-model__head .p-top-model__swiper-wrapper {
    display: flex;
  }
  .p-top-model__head .p-top-model__swiper-slide {
    width: 33.3333333333%;
    flex-shrink: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .p-top-model__head .p-top-model__swiper-container .swiper-button-prev,
  .p-top-model__head .p-top-model__swiper-container .swiper-button-next {
    display: none;
  }
}
.p-top-model__head .swiper-button-prev,
.p-top-model__head .swiper-button-next {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 1.875rem;
  height: 1.875rem;
  z-index: 3;
}
.p-top-model__head .swiper-button-prev {
  background: url(../img/common/icon-slider-left-bk.webp) no-repeat center center/contain;
  left: 1.25rem;
}
.p-top-model__head .swiper-button-next {
  background: url(../img/common/icon-slider-right-bk.webp) no-repeat center center/contain;
  right: 1.25rem;
}

.p-top-model__title-wrap {
  color: #ffffff;
  max-width: 1360px;
  padding-inline: 2.5rem;
  margin-inline: auto;
  display: flex;
  align-items: center;
  column-gap: 7.5%;
}
@media screen and (max-width: 980px) {
  .p-top-model__title-wrap {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p-top-model__title-wrap {
    padding-inline: 1.25rem;
  }
}

.p-top-model__title {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.p-top-model__title-sub {
  font-size: clamp(2.25rem, 1.129vw + 1.996rem, 3.125rem);
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.02;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
  .p-top-model__title-sub {
    line-height: 1.4166666667;
  }
}

.p-top-model__title-desc {
  color: #ffffff;
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 980px) {
  .p-top-model__title-desc {
    margin-block-start: 1.875rem;
  }
}

.p-top-model__body {
  position: relative;
  background-color: #ffffff;
  z-index: 3;
  top: -2.5rem;
  display: flex;
  max-width: min(1200 * 1px, 95%);
  margin-inline: auto;
  padding-block-start: clamp(1.25rem, 2.419vw + 0.706rem, 3.125rem);
  padding-block-end: clamp(1.875rem, 1.613vw + 1.512rem, 3.125rem);
  padding-inline: clamp(1.25rem, 4.839vw - 1.714rem, 3.125rem);
  column-gap: 3.3333333333%;
}
@media screen and (max-width: 980px) {
  .p-top-model__body {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "title" "contents" "cta" "map" "meta" "button";
    max-width: 700px;
    padding-inline: clamp(1.25rem, 4.839vw + 0.161rem, 3.125rem);
    padding-block-end: clamp(1.875rem, 0.806vw + 1.694rem, 2.5rem);
    width: 88.8888888889%;
    top: 0rem;
    margin-block-start: clamp(1.25rem, 4.839vw + 0.161rem, 3.125rem);
    margin-block-end: 0rem;
  }
}
@media screen and (max-width: 480px) {
  .p-top-model__body {
    padding-inline: 0rem;
  }
}

.p-top-model__contents {
  width: 47.2727272727%;
  flex-shrink: 0;
}
@media screen and (max-width: 980px) {
  .p-top-model__contents {
    display: contents;
  }
}

.p-top-model__heading-wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 980px) {
  .p-top-model__heading-wrap {
    flex-direction: column;
    align-items: center;
    grid-area: title;
    row-gap: 1.5rem;
  }
}
.p-top-model__heading-wrap .c-box__bg {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  min-width: 100px;
  max-height: 24px;
  letter-spacing: 0.1em;
}

.p-top-model__heading {
  font-size: 1.5rem;
  font-weight: 700;
  margin-block-start: -0.25rem;
  margin-block-end: -0.25rem;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 980px) {
  .p-top-model__heading {
    font-size: 1.625rem;
    line-height: 1.5384615385;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 767px) {
  .p-top-model__heading {
    text-align: center;
  }
}

.p-top-model__text {
  font-size: 1rem;
  font-weight: 500;
  margin-block-start: clamp(0.875rem, -0.565vw + 1.44rem, 1.313rem);
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 980px) {
  .p-top-model__text {
    grid-area: contents;
  }
}
@media screen and (max-width: 480px) {
  .p-top-model__text {
    padding-inline: 1.875rem;
  }
}

.p-top-model__tel-wrap {
  display: flex;
  align-items: center;
  column-gap: 1.875rem;
  margin-block-start: clamp(0.875rem, -0.565vw + 1.44rem, 1.313rem);
}
@media screen and (max-width: 980px) {
  .p-top-model__tel-wrap {
    flex-direction: column;
    grid-area: cta;
  }
}
.p-top-model__tel-wrap .c-menu-tel__text {
  font-size: 2.125rem;
  line-height: 0.9411764706;
}
.p-top-model__tel-wrap .c-box__bg {
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 980px) {
  .p-top-model__tel-wrap .c-box__bg {
    font-size: 1.375rem;
    min-width: 200px;
    line-height: 2.273;
    margin-block-start: 1.25rem;
  }
}

.p-top-model__meta {
  margin-block-start: 0.75rem;
}
@media screen and (max-width: 980px) {
  .p-top-model__meta {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    grid-area: meta;
    margin-block-start: 1.375rem;
  }
}
@media screen and (max-width: 480px) {
  .p-top-model__meta {
    padding-inline: 1.875rem;
  }
}

.p-top-model__address, .p-top-model__business-hours {
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-top-model__address, .p-top-model__business-hours {
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
}

.p-top-model__map {
  width: 49.0909090909%;
  height: 100%;
  aspect-ratio: 540/320;
}
@media screen and (max-width: 980px) {
  .p-top-model__map {
    aspect-ratio: 320/190;
    grid-area: map;
    margin-inline: auto;
    width: 100%;
    height: auto;
    margin-block-start: 1.875rem;
  }
}
.p-top-model__map iframe {
  width: 100%;
  height: 100%;
}

.p-top-works .p-top-works__swiper-container,
.p-top-works .p-top-works__swiper,
.p-top-works .p-top-works__swiper-wrapper,
.p-top-works .p-top-works__swiper-slide {
  position: relative;
}
.p-top-works .p-top-works__swiper-container {
  margin-block-start: clamp(1.25rem, 3.226vw + 0.524rem, 3.75rem);
  max-width: 1280px;
  padding: 0 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-works .p-top-works__swiper-container {
    overflow: hidden;
    width: 100%;
    max-width: unset;
    margin-inline: 0;
    padding: 0 0 0 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-works .p-top-works__swiper-container::before {
    content: "";
    position: absolute;
    width: clamp(15.125rem, 100.246vw - 7.43rem, 40.625rem);
    height: 1px;
    background-color: #007e43;
    bottom: 2.3125rem;
    left: 1.25rem;
    z-index: 3;
  }
}
@media screen and (max-width: 767px) {
  .p-top-works .p-top-works__swiper {
    overflow: visible;
  }
}
@media (min-width: 768px) {
  .p-top-works .p-top-works__swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1.6666666667%;
  }
}
@media screen and (max-width: 980px) {
  .p-top-works .p-top-works__swiper-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-top-works .p-top-works__swiper-wrapper {
    padding-block-end: 4rem;
  }
}
@media (min-width: 768px) {
  .p-top-works .p-top-works__swiper-slide {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .p-top-works .p-top-works__swiper-slide {
    width: calc(100vw - 1.25rem - 61px);
  }
}
@media (min-width: 768px) {
  .p-top-works .p-top-works__swiper {
    overflow: visible;
  }
}
.p-top-works .p-top-works__swiper-link {
  position: relative;
  display: block;
}
@media (min-width: 768px) {
  .p-top-works .p-top-works__swiper-link {
    grid-row: span 2;
    display: grid;
    grid-template-rows: subgrid;
    margin-block-end: 1.875rem;
  }
}
.p-top-works .p-top-works__swiper-link img {
  transition: scale 0.3s ease;
}
@media (any-hover: hover) {
  .p-top-works .p-top-works__swiper-link {
    opacity: 1;
  }
  .p-top-works .p-top-works__swiper-link:hover img {
    scale: 1.2;
  }
}
.p-top-works .p-top-works__category {
  font-size: clamp(0.625rem, 0.323vw + 0.552rem, 0.875rem);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  min-width: 6.25rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-works .p-top-works__category {
    min-width: 4.5rem;
    line-height: 2.1;
  }
}
@media (min-width: 768px) {
  .p-top-works .p-top-works__swiper-container .swiper-button-prev,
  .p-top-works .p-top-works__swiper-container .swiper-button-next,
  .p-top-works .p-top-works__swiper-container .swiper-pagination {
    display: none;
  }
}
.p-top-works .swiper-button-next {
  position: absolute;
  width: clamp(1.438rem, 1.129vw + 1.183rem, 1.875rem);
  height: clamp(1.438rem, 1.129vw + 1.183rem, 1.875rem);
  background: url(../img/common/icon-slider-right-green.webp) no-repeat center center/contain;
  right: 2.5rem;
  bottom: 1.625rem;
  z-index: 3;
}
.p-top-works .swiper-pagination-progressbar.swiper-pagination-horizontal {
  width: 100%;
  height: 7px;
  background-color: #b2b2b2;
  border-radius: 100vmax;
  position: absolute;
  top: unset;
  left: unset;
  bottom: 0.3125rem;
  left: 50%;
  translate: -50%;
  width: calc(100% - 40px);
}
.p-top-works .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  width: 100%;
  height: 7px;
  background-color: #007e43;
  border-radius: 100vmax;
}
.p-top-works .c-button__main {
  margin-block-start: clamp(1.25rem, 4.032vw + 0.343rem, 4.375rem);
}

@media screen and (max-width: 767px) {
  .p-top-works__wrap.l-inner {
    margin-inline: 0;
  }
}

.p-top-works__text {
  font-size: 1.0625rem;
  font-weight: 500;
  margin-block-start: 1.25rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

.p-top-works__image {
  overflow: hidden;
}

.p-top-works__caption {
  background: #ffffff;
  padding-block: 0.25rem;
  padding-inline: 1.125rem;
  width: 100%;
  text-align: center;
  font-size: clamp(0.75rem, 0.323vw + 0.677rem, 1rem);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}

.p-top-spec .p-top-spec__swiper-container,
.p-top-spec .p-top-spec__swiper,
.p-top-spec .p-top-spec__swiper-wrapper,
.p-top-spec .p-top-spec__swiper-slide {
  position: relative;
}
.p-top-spec .p-top-spec__swiper-container {
  margin-block-start: clamp(1.25rem, 2.097vw + 0.778rem, 2.875rem);
  max-width: 1280px;
  padding: 0 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-spec .p-top-spec__swiper-container {
    overflow: hidden;
    width: 100%;
    max-width: unset;
    margin-inline: 0;
    padding: 0 0 0 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-spec .p-top-spec__swiper-container::before {
    content: "";
    position: absolute;
    width: clamp(15.125rem, 100.246vw - 7.43rem, 40.625rem);
    height: 1px;
    background-color: #007e43;
    bottom: 2.3125rem;
    left: 1.25rem;
    z-index: 3;
  }
}
@media screen and (max-width: 767px) {
  .p-top-spec .p-top-spec__swiper {
    overflow: visible;
  }
}
@media (min-width: 768px) {
  .p-top-spec .p-top-spec__swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 1.6666666667%;
  }
}
@media screen and (max-width: 1200px) {
  .p-top-spec .p-top-spec__swiper-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 980px) {
  .p-top-spec .p-top-spec__swiper-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-top-spec .p-top-spec__swiper-wrapper {
    padding-block-end: 4rem;
  }
}
@media (min-width: 768px) {
  .p-top-spec .p-top-spec__swiper-slide {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .p-top-spec .p-top-spec__swiper-slide {
    width: calc(100vw - 1.25rem - 61px);
  }
}
.p-top-spec .p-top-spec__swiper-slide.--sold-out .p-top-spec__swiper-link {
  pointer-events: none;
}
.p-top-spec .p-top-spec__swiper-slide.--sold-out .p-top-spec__image {
  position: relative;
}
.p-top-spec .p-top-spec__swiper-slide.--sold-out .p-top-spec__image::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: 0.6;
  left: 0;
  top: 0;
  z-index: 2;
}
.p-top-spec .p-top-spec__swiper-slide.--sold-out .p-top-spec__price {
  display: none;
}
.p-top-spec .p-top-spec__swiper-slide.--sold-out .p-top-spec__caption {
  background-color: #666666;
  color: #ffffff;
}
.p-top-spec .p-top-spec__swiper-slide.--sold-out .p-top-spec__caption span {
  color: #ffffff;
}
@media (min-width: 768px) {
  .p-top-spec .p-top-spec__swiper {
    overflow: visible;
  }
}
.p-top-spec .p-top-spec__swiper-link {
  position: relative;
  display: block;
}
@media (min-width: 768px) {
  .p-top-spec .p-top-spec__swiper-link {
    grid-row: span 2;
    display: grid;
    grid-template-rows: subgrid;
    margin-block-end: 1.875rem;
  }
}
.p-top-spec .p-top-spec__swiper-link img {
  transition: scale 0.3s ease;
}
@media (any-hover: hover) {
  .p-top-spec .p-top-spec__swiper-link {
    opacity: 1;
  }
  .p-top-spec .p-top-spec__swiper-link:hover img {
    scale: 1.2;
  }
}
.p-top-spec .p-top-spec__category {
  font-size: 0.875rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  min-width: 6.25rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .p-top-spec .p-top-spec__swiper-container .swiper-button-prev,
  .p-top-spec .p-top-spec__swiper-container .swiper-button-next,
  .p-top-spec .p-top-spec__swiper-container .swiper-pagination {
    display: none;
  }
}
.p-top-spec .swiper-button-next {
  position: absolute;
  width: clamp(1.438rem, 1.129vw + 1.183rem, 1.875rem);
  height: clamp(1.438rem, 1.129vw + 1.183rem, 1.875rem);
  background: url(../img/common/icon-slider-right-green.webp) no-repeat center center/contain;
  right: 2.5rem;
  bottom: 1.625rem;
  z-index: 3;
}
.p-top-spec .swiper-pagination-progressbar.swiper-pagination-horizontal {
  width: 100%;
  height: 7px;
  background-color: #b2b2b2;
  border-radius: 100vmax;
  position: absolute;
  top: unset;
  left: unset;
  bottom: 0.3125rem;
  left: 50%;
  translate: -50%;
  width: calc(100% - 40px);
}
.p-top-spec .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  width: 100%;
  height: 7px;
  background-color: #007e43;
  border-radius: 100vmax;
}
.p-top-spec .c-button__main {
  margin-block-start: clamp(1.25rem, 4.032vw + 0.343rem, 4.375rem);
}

.p-top-spec__wrap {
  display: flex;
  align-items: center;
  column-gap: 9.1666666667%;
}
@media screen and (max-width: 980px) {
  .p-top-spec__wrap {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p-top-spec__wrap.l-inner {
    margin-inline: 0;
  }
}

.p-top-spec__text {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 980px) {
  .p-top-spec__text {
    margin-block-start: 1.875rem;
  }
}

.p-top-spec__price {
  font-size: 1rem;
  font-weight: 700;
  padding-block: 0.25rem;
  padding-inline: 1.125rem;
  background: #ffffff;
  position: absolute;
  bottom: 0rem;
  right: 0;
  border-radius: 0.625rem 0rem 0rem 0rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
.p-top-spec__price span {
  font-size: 1.25rem;
  line-height: 1.6;
}

.p-top-spec__image-wrap {
  position: relative;
}

.p-top-spec__image {
  overflow: hidden;
}

.p-top-spec__caption {
  background: #e7edeb;
  padding-block: 0.25rem;
  padding-inline: 0.625rem;
  width: 100%;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-top-spec__caption span {
  font-weight: 700;
}

.p-section-col__image {
  margin-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-section-col__image {
    margin-block-start: 1.25rem;
  }
}

.p-section-col__text {
  font-size: 1rem;
  font-weight: 400;
  margin-block-start: 0.9375rem;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-section-col__text {
    margin-block-start: 0.5rem;
    letter-spacing: 0.03em;
  }
}

.p-top-concept {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
  column-gap: 5.8333333333%;
}
@media screen and (min-width: 1601px) {
  .p-top-concept {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 1350px) {
  .p-top-concept {
    align-items: flex-start;
  }
}
@media screen and (max-width: 980px) {
  .p-top-concept {
    flex-direction: column-reverse;
    align-items: center;
  }
}

.p-top-concept__contents {
  width: 44.1666666667%;
}
@media screen and (max-width: 980px) {
  .p-top-concept__contents {
    width: min(600px, 100%);
    margin-block-start: 1.6875rem;
  }
}
.p-top-concept__contents .c-button__main {
  margin-block-start: clamp(1.875rem, 0.806vw + 1.694rem, 2.5rem);
  margin-inline: 0;
}
@media screen and (max-width: 980px) {
  .p-top-concept__contents .c-button__main {
    margin-inline: auto;
  }
}

.p-top-concept__heading-wrap {
  display: flex;
  flex-direction: column-reverse;
}

.p-top-concept__heading-jp {
  font-size: clamp(1.563rem, 0.242vw + 1.508rem, 1.75rem);
  font-weight: 700;
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-concept__heading-jp {
    line-height: 1.72;
  }
}
@media screen and (max-width: 1056px) {
  .p-top-concept__heading-jp br {
    display: none;
  }
}
.p-top-concept__heading-jp .u-color__main {
  display: inline;
}

.p-top-concept__heading-en {
  font-size: 1.375rem;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 2.3181818182;
  letter-spacing: 0.07em;
}
.p-top-concept__heading-en:first-letter {
  color: #007e43;
}

.p-top-concept__text {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0em;
}
.p-top-concept__text:nth-of-type(1) {
  margin-block-start: 1.5625rem;
}

.p-top-concept__image {
  width: min(50vw, 800px);
  height: auto;
  aspect-ratio: 800/700;
  margin-inline-start: calc((50vw - 50%) * -1);
}
@media screen and (max-width: 980px) {
  .p-top-concept__image {
    width: calc(100vw - 40px);
  }
}
@media screen and (max-width: 767px) {
  .p-top-concept__image {
    width: calc(100vw - 20px);
  }
}

.p-common-contact__heading-wrap {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}

.p-common-contact__heading-jp {
  /*font-size: clamp(1.563rem, 0.403vw + 1.472rem, 1.875rem);*/
  font-size: clamp(1.25rem, 1.2vw + 1rem, 1.875rem);
  font-weight: 700;
  line-height: 1.1333333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-common-contact__heading-jp {
    letter-spacing: 0;
  }
}
.p-common-contact__heading-jp span {
  display: inline-block;
}
.p-common-contact__heading-jp span::first-letter {
  color: #007e43;
}

.p-common-contact__heading-en {
  font-size: 1.375rem;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 2.3181818182;
  letter-spacing: 0.1em;
}
.p-common-contact__heading-en::first-letter {
  color: #007e43;
}

.p-common-contact__text {
  font-size: 1.0625rem;
  font-weight: 500;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-common-contact__text:nth-of-type(1) {
  margin-block-start: clamp(1.25rem, -0.806vw + 2.056rem, 1.875rem);
}

.p-common-contact__lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: calc(17 / 1085 * 100%);
  margin-block-start: clamp(1.563rem, 1.21vw + 1.29rem, 2.5rem);
}
@media screen and (max-width: 980px) {
  .p-common-contact__lists {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1.0625rem;
  }
}
@media screen and (max-width: 606px) {
  .p-common-contact__lists {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 0.625rem;
  }
}

.p-common-contact__item {
  background: #ffffff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  padding-block: clamp(0.75rem, 0.484vw + 0.641rem, 1.125rem);
  padding-inline: 0.875rem;
}
@media screen and (max-width: 606px) {
  .p-common-contact__item {
    min-height: 9.0625rem;
  }
}

.p-common-contact__heading-sub {
  background-color: #007e43;
  color: #ffffff;
  font-size: clamp(0.938rem, 0.161vw + 0.901rem, 1.063rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.76470588;
  letter-spacing: 0.1em;
}

.p-common-contact__tel-wrap {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-block-start: 1.25rem;
}
.p-common-contact__tel-wrap .c-menu-tel__text {
  font-size: clamp(1.938rem, 0.242vw + 1.883rem, 2.125rem);
  line-height: 0.9411764706;
}
@media screen and (max-width: 767px) {
  .p-common-contact__tel-wrap .c-menu-tel__text {
    line-height: 0.935483871;
  }
}

.p-common-contact__tel-text {
  font-size: clamp(0.813rem, 0.081vw + 0.794rem, 0.875rem);
  font-weight: 500;
  margin-block-start: 0.375rem;
  line-height: 2.4285714286;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-common-contact__tel-text {
    line-height: 2.3846153846;
  }
}

.p-common-contact__line-wrap {
  margin-block-start: clamp(1.5rem, 0.081vw + 1.482rem, 1.563rem);
  margin-inline-end: 1.125rem;
}

.p-common-contact__line-link {
  font-size: clamp(1.938rem, 0.242vw + 1.883rem, 2.125rem);
  font-weight: 700;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  column-gap: 2.8571428571%;
  line-height: 0.9411764706;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-common-contact__line-link {
    line-height: 0.935483871;
  }
}
.p-common-contact__line-link span {
  width: 2.5rem;
}

.p-common-contact__mail-button {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-block-start: 1.375rem;
  padding-inline-end: 2.5rem;
}

.p-common__title {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}

.p-common__title-jp {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1em;
}

.p-common__title-en {
  font-size: clamp(2.25rem, 1.129vw + 1.996rem, 3.125rem);
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.02;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-common__title-en {
    line-height: 1.4166666667;
  }
}
.p-common__title-en .--add-head-color::first-letter {
  color: #007e43;
}

.p-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 1.25rem;
  margin-block-start: 5.625rem;
}
.p-breadcrumb li {
  font-size: 0.875rem;
  font-weight: 500;
  position: relative;
  line-height: 2.2857142857;
  letter-spacing: 0.1em;
}
.p-breadcrumb > li:not(:first-child)::before {
  content: "/";
  position: absolute;
  left: -0.875rem;
  top: 50%;
  translate: 0 -50%;
}
.p-breadcrumb li a {
  text-decoration: underline;
}

.p-common__catch .p-common__catch-text {
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  font-weight: 500;
  margin-block-start: clamp(1.313rem, 0.323vw + 1.24rem, 1.563rem);
  text-align: center;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-common__catch .p-common__catch-text {
    letter-spacing: 0;
    line-height: 1.7142857143;
  }
}
.p-common__catch .p-common__catch-image {
  margin-block-start: clamp(1.625rem, 1.935vw + 1.19rem, 3.125rem);
}

.p-common__catch-title {
  font-size: clamp(1.25rem, 0.645vw + 1.105rem, 1.75rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-common__catch-title {
    line-height: 1.6;
  }
}

.p-common__text {
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-common__text + .p-common__text {
  margin-block-start: clamp(0.5rem, 0.161vw + 0.464rem, 0.625rem);
}
.p-common__text {
  /* 全角カッコを揃えるため */
}
.p-common__text.--negative__indent {
  text-indent: -0.5em;
}
.p-common__text .--add-transform {
  text-transform: uppercase;
}

.p-common__split-wide {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
  max-width: 1600px;
  margin-inline: auto;
  column-gap: 5.8333333333%;
}
@media screen and (min-width: 1601px) {
  .p-common__split-wide {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 1350px) {
  .p-common__split-wide {
    align-items: flex-start;
  }
}
@media screen and (max-width: 980px) {
  .p-common__split-wide {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.p-common__split-wide.--reverse {
  flex-direction: row;
}
@media screen and (max-width: 980px) {
  .p-common__split-wide.--reverse {
    flex-direction: column-reverse;
  }
}
.p-common__split-wide.--reverse .p-common__split-image {
  margin-inline-start: 0;
  margin-inline-end: calc((50vw - 50%) * -1);
}
@media screen and (max-width: 980px) {
  .p-common__split-wide.--reverse .p-common__split-image {
    margin-inline-end: -2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-common__split-wide.--reverse .p-common__split-image {
    margin-inline-end: -1.25rem;
  }
}
.p-common__split-wide + * {
  margin-block-start: 3.75rem;
}
.p-common__split-wide .p-common__heading-sub {
  margin-block-start: -1.125rem;
}

.p-common__split-contents {
  width: 44.1666666667%;
}
@media screen and (max-width: 980px) {
  .p-common__split-contents {
    width: min(600px, 100%);
    margin-block-start: 1.6875rem;
  }
}
.p-common__split-contents .c-button__main {
  margin-block-start: clamp(0.875rem, -1.29vw + 2.165rem, 1.875rem);
  margin-inline: auto;
}

.p-common__split-text {
  letter-spacing: 0;
}

.p-common__split-image {
  width: min(50vw, 800px);
  height: auto;
  margin-inline-start: calc((50vw - 50%) * -1);
}
@media screen and (max-width: 980px) {
  .p-common__split-image {
    width: calc(100vw - 40px);
  }
}
@media screen and (max-width: 767px) {
  .p-common__split-image {
    width: calc(100vw - 20px);
  }
}

.p-common__heading-border {
  font-size: clamp(1.25rem, 0.484vw + 1.141rem, 1.625rem);
  font-weight: 700;
  position: relative;
  padding-block-end: 1.25rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
.p-common__heading-border::first-letter {
  color: #007e43;
}
@media screen and (max-width: 767px) {
  .p-common__heading-border {
    line-height: 1.6;
  }
}
.p-common__heading-border::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #007e43;
}
.p-common__heading-border + .p-common__text {
  margin-block-start: 1.4375rem;
}

.p-common__heading-sub {
  color: #007e43;
  font-size: clamp(1.125rem, 0.323vw + 1.052rem, 1.375rem);
  font-weight: 700;
  line-height: 2.6363636364;
  letter-spacing: 0.1em;
}

.p-common__heading-dashed {
  font-size: clamp(1.125rem, 0.161vw + 1.089rem, 1.25rem);
  font-weight: 700;
  padding-block-end: 0.6875rem;
  padding-inline-start: 2rem;
  position: relative;
  line-height: 2.9;
  letter-spacing: 0.1em;
}
.p-common__heading-dashed::before {
  content: "";
  position: absolute;
  left: 0.5rem;
  top: 1.2em;
  width: 0.6875rem;
  height: 0.6875rem;
  background: url(../img/common/icon-circle.webp) no-repeat center center/contain;
}
.p-common__heading-dashed::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-image: radial-gradient(circle 1px at 1px 50%, #000 100%, transparent 100%);
  background-repeat: repeat-x;
  background-size: 5px 2px;
  background-position: left center;
}

.p-common__split-narrow {
  --heading-height: calc((58 - 22) / 2 / 16 * 1rem);
  position: relative;
}
@media screen and (max-width: 980px) {
  .p-common__split-narrow {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }
}
.p-common__split-narrow.--reverse .p-common__split-narrow-contents {
  margin-inline-start: auto;
}
.p-common__split-narrow.--reverse .p-common__split-narrow-image,
.p-common__split-narrow.--reverse .p-common__split-narrow-map {
  right: auto;
  left: 0;
}
.p-common__split-narrow + .p-common__split-narrow {
  margin-block-start: calc(2.8125rem + var(--heading-height));
}
@media screen and (max-width: 980px) {
  .p-common__split-narrow + .p-common__split-narrow {
    margin-block-start: 3.125rem;
  }
}

.p-common__split-narrow-contents {
  width: 50%;
}
@media screen and (max-width: 980px) {
  .p-common__split-narrow-contents {
    width: 100%;
    margin-block-start: 0.4375rem;
  }
}
.p-common__split-narrow-contents .c-button__main {
  margin-block-start: 0.5625rem;
}
@media screen and (max-width: 980px) {
  .p-common__split-narrow-contents .c-button__main {
    margin-block-start: 1.75rem;
  }
}

.p-common__split-narrow-image,
.p-common__split-narrow-map {
  width: 45.8333333333%;
  position: absolute;
  right: 0;
  top: var(--heading-height);
}
@media screen and (max-width: 980px) {
  .p-common__split-narrow-image,
  .p-common__split-narrow-map {
    position: static;
    width: 100%;
  }
}

.p-common__col-one .p-common__text {
  margin-block-start: 0.875rem;
}
.p-common__col-one .c-button__main {
  margin-block-start: 1.25rem;
}

.p-common__col-two {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3.3333333333%;
}
@media screen and (max-width: 767px) {
  .p-common__col-two {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 1.25rem;
  }
}

.p-common__col-two-content {
  display: grid;
  row-gap: 0.3125rem;
  grid-template-areas: "heading" "img" "text";
  align-content: start;
}
.p-common__col-two-content .p-common__heading-sub {
  grid-area: heading;
}
.p-common__col-two-content .p-common__col-text {
  grid-area: text;
}
.p-common__col-two-content .p-common__image {
  grid-area: img;
}

.p-common__col-text {
  letter-spacing: 0.03em;
}

.p-common__col-three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.6666666667%;
}
@media screen and (max-width: 980px) {
  .p-common__col-three {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1.25rem;
  }
}
@media screen and (max-width: 600px) {
  .p-common__col-three {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 2.5rem;
  }
}

.p-common__col-three-content {
  display: grid;
  grid-template-areas: "img" "text";
  align-content: start;
}
.p-common__col-three-content .p-common__col-text {
  grid-area: text;
  text-align: center;
  margin-block-start: 1.125rem;
}
.p-common__col-three-content .p-common__image {
  grid-area: img;
}

.p-common__col-four {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 1.6666666667%;
  margin-block-start: clamp(2.5rem, 1.613vw + 2.137rem, 3.75rem);
}
@media screen and (max-width: 1200px) {
  .p-common__col-four {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 2.625rem;
  }
}
@media screen and (max-width: 980px) {
  .p-common__col-four {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .p-common__col-four {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-common__col-four-content {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  row-gap: 0.8125rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-common__col-four-content {
    width: 88.75%;
    margin-inline: auto;
  }
}

.p-common__list-number {
  counter-reset: case;
}
.p-common__list-number li {
  counter-increment: case;
  position: relative;
  padding-inline-start: 2.5rem;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-common__list-number li::before {
  content: counter(case, decimal);
  position: absolute;
  color: #ffffff;
  background-color: #c23321;
  font-family: "Zen Kaku Gothic New", sans-serif;
  width: 1.5625rem;
  height: 1.5625rem;
  display: grid;
  place-items: center;
  top: 0.5em;
  left: 0;
  font-size: 0.9375rem;
  font-weight: inherit;
  border-radius: 50%;
  text-indent: 0.03em;
  line-height: 1;
  letter-spacing: 0.03em;
}

.p-common__list-gray li {
  position: relative;
  font-size: 1.0625rem;
  font-weight: 700;
  padding-inline-start: 1.25rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-common__list-gray li::before {
  content: "";
  position: absolute;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  left: 0;
  top: 0.6em;
  background-color: #c3ae9b;
}

.p-common__list-green li {
  position: relative;
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  font-weight: 500;
  padding-inline-start: 1.25rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-common__list-green li::before {
  content: "";
  position: absolute;
  width: 0.5625rem;
  height: 0.5625rem;
  border-radius: 50%;
  left: 0;
  top: 0.8em;
  background-color: #007e43;
}

.p-common__wrap {
  display: flex;
  flex-direction: column;
  row-gap: 0.625rem;
  width: -moz-fit-content;
  width: fit-content;
}

.p-common__link-icon {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: underline;
  position: relative;
  padding-inline-start: 2.125rem;
  line-height: 1.625;
  letter-spacing: 0.01em;
}
.p-common__link-icon::before {
  content: "";
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/common/icon-button-sm.webp) no-repeat center center/contain;
  left: 0;
  top: 0.1em;
}
.p-common__link-icon.--external::after {
  content: "";
  position: absolute;
  width: 1.0625rem;
  height: 1.0625rem;
  background: url(../img/common/icon-link-external.webp) no-repeat center center/contain;
  left: calc(100% - 0.6875rem);
  top: 0.3em;
}
.p-common__link-icon.--pdf::after {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 1.1875rem;
  background: url(../img/common/icon-pdf.webp) no-repeat center center/contain;
  left: calc(100% - 0.6875rem);
  top: 0.3em;
}

.p-common__box-border {
  border: 1px solid #007e43;
  border-radius: 8px;
  padding-block: 1.5625rem 1.75rem;
  padding-inline: 1.75rem;
}
.p-common__box-border.--col-three {
  background-color: #ffffff;
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-radius: 15px;
  padding-inline: 0;
  padding-block-end: 2.4375rem;
}
@media screen and (max-width: 767px) {
  .p-common__box-border.--col-three {
    grid-template-columns: repeat(1, 1fr);
    padding-block-start: clamp(1.563rem, 3.686vw + 0.733rem, 2.5rem);
    padding-block-end: clamp(1.75rem, 2.703vw + 1.142rem, 2.438rem);
  }
}

.p-common__box-border-item {
  display: grid;
  justify-items: center;
  grid-row: span 3;
  grid-template-rows: subgrid;
  grid-template-areas: "icon" "heading" "text";
  align-items: end;
  row-gap: 0.4375rem;
  position: relative;
  padding-inline: clamp(1.25rem, 3.245vw - 0.308rem, 2.938rem);
}
.p-common__box-border-item::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 0;
  width: 1px;
  height: 86.2244897959%;
  background-color: #007e43;
}
@media screen and (max-width: 767px) {
  .p-common__box-border-item::before {
    width: 90%;
    height: 1px;
    top: calc(100% + 22px);
    left: 50%;
    translate: -50%;
  }
}
.p-common__box-border-item:last-child::before {
  content: none;
}
.p-common__box-border-item:nth-child(1) .p-common__box-border-icon {
  width: 26.1437908497%;
  margin-block-end: 0.3125rem;
}
.p-common__box-border-item:nth-child(2) .p-common__box-border-icon {
  width: 37.908496732%;
  margin-block-end: 0.3125rem;
  aspect-ratio: 116/70;
}
.p-common__box-border-item:nth-child(3) .p-common__box-border-icon {
  width: 46.0784313725%;
  aspect-ratio: 141/65;
}
@media screen and (max-width: 767px) {
  .p-common__box-border-item + .p-common__box-border-item {
    margin-block-start: max(2.75rem, 2.75vw);
  }
}

.p-common__box-border-heading {
  font-size: clamp(1.25rem, 0.242vw + 1.196rem, 1.438rem);
  font-weight: 700;
  grid-area: heading;
  align-self: flex-start;
  line-height: 1.5652173913;
  letter-spacing: 0.1em;
}

.p-common__box-border-text {
  font-size: 1rem;
  font-weight: 500;
  grid-area: text;
  margin-block-start: max(0.25rem, 0.25vw);
  align-self: flex-start;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

.p-common__box-border-icon {
  grid-area: icon;
}

.p-common__box-text {
  letter-spacing: 0em;
}

.p-common__box-bg {
  background-color: #e7edeb;
  border-radius: 8px;
  padding-block: 1.5625rem 1.75rem;
  padding-inline: 1.75rem;
}

.p-common__box-bg-heading {
  color: #007e43;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 3.0526315789;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-common__table-wrap {
    overflow-x: auto;
  }
}

.p-common__table {
  border: 1px solid #000000;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-common__table {
    min-width: 800px;
  }
}
.p-common__table th,
.p-common__table td {
  border-right: 1px solid #000000;
  border-top: 1px solid #000000;
  padding-inline: 1.25rem;
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0em;
}
.p-common__table th:last-child,
.p-common__table td:last-child {
  border-right: none;
}
.p-common__table th {
  font-weight: 700;
  text-align: center;
}
.p-common__table thead th {
  background-color: #007e43;
  color: #ffffff;
  padding-block: 0.4375rem 0.5rem;
}
.p-common__table tbody {
  --cell-padding-block-start: 1.0625rem;
  --cell-padding-block-end: 1.125rem;
}
.p-common__table tbody th,
.p-common__table tbody td {
  padding-block-start: var(--cell-padding-block-start);
  padding-block-end: var(--cell-padding-block-end);
}
.p-common__table tbody th {
  background-color: #e7edeb;
  vertical-align: middle;
}
.p-common__table tbody .p-common__font-bold {
  font-weight: 700;
  color: #007e43;
  text-indent: -0.5em;
}
.p-common__table tbody .p-common__table-join td {
  padding-block: 0;
}
.p-common__table tbody .p-common__table-join + .p-common__table-join:not(.u-starting-point) td {
  padding-block-start: 0rem;
  border-top: none;
}
.p-common__table tbody .p-common__table-join.u-starting-point > td {
  padding-block-start: var(--cell-padding-block-start);
}
.p-common__table tbody .p-common__table-join.u-end-point > td {
  padding-block-end: var(--cell-padding-block-end);
}
@media screen and (max-width: 767px) {
  .p-common__table.--sp__row {
    min-width: auto;
    width: 100%;
  }
  .p-common__table.--sp__row .p-common__text + .p-common__text {
    margin-block-start: 0;
  }
  .p-common__table.--sp__row tr {
    display: block;
  }
  .p-common__table.--sp__row tr:first-child > th:first-child {
    border-top: none;
  }
  .p-common__table.--sp__row tr + tr > th:first-child {
    border-top: 1px solid #000000;
  }
  .p-common__table.--sp__row th:not(:first-child) {
    border-top: 1px solid #000000;
  }
  .p-common__table.--sp__row th,
  .p-common__table.--sp__row td {
    display: block;
    width: 100%;
    border-right: none;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-common__table.--sp__row td .u-inline-block.--negative__indent {
    text-indent: -0.5em;
  }
}

.p-common__table-border {
  width: 100%;
}
.p-common__table-border tr + tr {
  border-top: 1px solid #000000;
}
.p-common__table-border .p-common__text {
  padding-block: 1.125rem;
  padding-inline-end: 0.625rem;
  letter-spacing: 0em;
}

.p-common__tel {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.p-common__tel-link {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  font-feature-settings: "palt";
  line-height: 1.7142857143;
}

.p-common__tel-number {
  display: block;
  position: relative;
  font-size: clamp(2.25rem, 1.129vw + 1.996rem, 3.125rem);
  font-weight: 700;
  padding-inline-start: clamp(1.875rem, 1.613vw + 1.512rem, 3.125rem);
  line-height: 0.64;
  letter-spacing: 0.03em;
}
.p-common__tel-number::before {
  content: "";
  position: absolute;
  width: clamp(1.688rem, 1.048vw + 1.452rem, 2.5rem);
  height: clamp(1.688rem, 1.048vw + 1.452rem, 2.5rem);
  background: url(../img/common/icon-tel.webp) no-repeat center center/contain;
  top: 50%;
  translate: 0 calc(-50% + clamp(0.125rem, 0.161vw + 0.089rem, 0.25rem));
  left: 0;
}

.p-common__tel-text {
  font-size: clamp(0.875rem, 0.242vw + 0.821rem, 1.063rem);
  font-weight: 500;
  margin-block-start: clamp(0.375rem, 1.129vw + 0.121rem, 1.25rem);
  text-align: center;
  line-height: 2;
  letter-spacing: 0em;
}

.p-common__margin-top {
  margin-block: 50px;
}

input[type=text],
input[type=email],
input[type=tel],
select,
textarea {
  border-radius: 5px;
  width: 100%;
  border: 1px solid #b3b3b3;
  padding-block: 0.8125rem;
  padding-inline: 1.875rem;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  select,
  textarea {
    padding-block: 0.5rem;
    padding-inline: 1rem;
  }
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
select::placeholder,
textarea::placeholder {
  color: #989898;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0em;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
select:focus,
textarea:focus {
  border: 2px solid #c23321;
  outline: none;
}

textarea {
  padding-block: 0.875rem 1rem;
  resize: vertical;
}
@media screen and (max-width: 767px) {
  textarea {
    padding-block: 0.4375rem 0.5625rem;
    padding-inline: 1rem;
  }
}

input[type=checkbox]:checked + span::before, input[type=radio]:checked + span::before {
  border-color: #c23321;
}
input[type=checkbox]:checked + span::after, input[type=radio]:checked + span::after {
  opacity: 1;
}

input[type=radio] {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
}

input[type=radio]:focus + span {
  outline: none;
}
input[type=radio]:focus + span::before {
  border: 2px solid #c23321;
}

.p-contact__data-radio, .p-contact__data-checkbox {
  display: grid;
  row-gap: 1.25rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-contact__data-radio, .p-contact__data-checkbox {
    row-gap: 0.625rem;
  }
}
.p-contact__data-radio span, .p-contact__data-checkbox span {
  display: inline-block;
  position: relative;
  padding-inline-start: 2.9375rem;
}
@media screen and (max-width: 767px) {
  .p-contact__data-radio span, .p-contact__data-checkbox span {
    padding-inline-start: 2rem;
  }
}
.p-contact__data-radio span::before, .p-contact__data-checkbox span::before {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  border: 1px solid #b3b3b3;
  border-radius: 50%;
  top: 0.25em;
  left: 0.5625em;
}
@media screen and (max-width: 767px) {
  .p-contact__data-radio span::before, .p-contact__data-checkbox span::before {
    width: 21px;
    height: 21px;
    top: 0.45em;
  }
}
.p-contact__data-radio span::after, .p-contact__data-checkbox span::after {
  content: "";
  position: absolute;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: #c23321;
  top: 0.625em;
  left: 0.9375em;
  opacity: 0;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-contact__data-radio span::after, .p-contact__data-checkbox span::after {
    width: 0.6875rem;
    height: 0.6875rem;
    top: 0.75em;
    left: 0.875em;
  }
}

input[type=checkbox] {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
}

input[type=checkbox]:focus + span {
  outline: none;
}
input[type=checkbox]:focus + span::before {
  border: 2px solid #c23321;
}

input[type=submit],
input[type=button] {
  border-radius: 0px;
  -webkit-box-sizing: content-box;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  background: transparent;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

.row.jc-center {
  justify-content: center;
}

.p-contact__submit {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  margin-block-start: 1.5625rem;
}
.p-contact__submit input[type=submit] {
  border-radius: 5px;
  display: inline-block;
  background: #c23321;
  border: 1px solid #c23321;
  color: #ffffff;
  font-weight: 700;
  font-size: 1rem;
  padding-block: 0.3125rem 0.4375rem;
  padding-inline: 2.5rem 3.75rem;
  min-width: 18.75rem;
  transition: all 0.3s ease;
  text-align: center;
  line-height: 2.875;
  letter-spacing: 0.1em;
}
@media (any-hover: hover) {
  .p-contact__submit input[type=submit]:hover {
    opacity: 1;
  }
  .p-contact__submit input[type=submit]:hover + .p-contact__submit-icon {
    right: 0.875rem;
  }
}

.p-contact__submit-icon {
  width: 1.5rem;
  height: 1.5rem;
  background: url(../img/common/icon-button-white.webp) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  right: 1.25rem;
  translate: 0 calc(-50% + 1px);
  transition: all 0.3s ease;
}

.p-contact__form {
  max-width: 1040px;
  padding-inline: 20px;
  margin-inline: auto;
  display: grid;
  row-gap: 1.25rem;
  margin-block-start: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-contact__form {
    margin-block-start: 3.75rem;
    padding-inline: 0;
    row-gap: 1.5625rem;
  }
}
.p-contact__form .is-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.p-contact__row {
  display: grid;
  grid-template-columns: 15.375rem 1fr;
  column-gap: 1.5625rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-contact__row {
    grid-template-columns: 1fr;
  }
}
.p-contact__row.is-top {
  align-items: flex-start;
}
.p-contact__row.is-top.is-adjust .p-contact__head {
  padding-block-start: 0.8125rem;
}

.p-contact__head {
  font-size: 1.0625rem;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 2;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-contact__head {
    justify-content: flex-start;
    gap: 1.25rem;
  }
}
.p-contact__head span.must, .p-contact__head span.optional {
  display: inline-block;
  position: relative;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  background: #c23321;
  border-radius: 100vmax;
  display: inline-block;
  padding-block: 0.375rem 0.5rem;
  padding-inline: 0.9375rem 0.8125rem;
  white-space: nowrap;
  letter-spacing: 0.15em;
}
.p-contact__head span.optional {
  background-color: #666666;
}

@media screen and (max-width: 767px) {
  .p-contact__data {
    margin-block-start: 0.625rem;
  }
}

.p-contact__zip-mark {
  color: #666666;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.03em;
}

.p-contact__zip-input {
  display: flex;
  align-items: center;
  column-gap: 0.6875rem;
  padding-inline-start: 0.5rem;
}
.p-contact__zip-input input {
  width: 37.8640776699%;
}
@media screen and (max-width: 821px) {
  .p-contact__zip-input input {
    width: 35%;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__zip-input input {
    width: 26%;
  }
}

.p-contact__zip-hyphen {
  font-size: 1.2em;
}

.p-contact__address {
  margin-block-start: 0.625rem;
}

.p-contact__policy {
  border: 1px solid #b3b3b3;
  border-radius: 5px;
  background: #ffffff;
  max-width: 730px;
  height: 5.9375rem;
  margin-inline-start: auto;
  padding-block: 1.25rem 1.4375rem;
  padding-inline: 1.5625rem 1.3125rem;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media screen and (max-width: 767px) {
  .p-contact__policy {
    padding-block: 0.5rem;
    padding-inline: 1rem;
  }
}
.p-contact__policy::-webkit-scrollbar {
  display: none;
}

.p-contact__policy-text {
  font-size: 15px;
  font-weight: 400;
  line-height: 2.1333333333;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-contact__policy-text {
    line-height: 1.6;
  }
}
.p-contact__policy-text + .p-contact__policy-text {
  margin-block-start: 15px;
}

.p-contact-thanks__title {
  font-size: clamp(1.25rem, 0.645vw + 1.105rem, 1.75rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-contact-thanks__title {
    line-height: 1.6;
  }
}
.p-contact-thanks__title::first-letter {
  color: #007e43;
}

.p-concept .u-color__main {
  display: inline;
}
.p-concept .p-common__catch-text {
  font-weight: 400;
  text-align: left;
  letter-spacing: 0;
}
.p-concept .p-common__catch-text:nth-of-type(1) {
  margin-block-start: clamp(1.688rem, 1.613vw + 1.325rem, 2.938rem);
}
.p-concept .p-common__catch-text + .p-common__catch-text {
  margin-block-start: clamp(0.438rem, -0.806vw + 1.244rem, 1.063rem);
}

.p-concept__recommend .c-button__main {
  margin-block-start: clamp(1.875rem, 1.613vw + 1.512rem, 3.125rem);
}
.p-concept__recommend .c-button__main-link {
  text-align: left;
  padding-inline-start: 1.8125rem;
}

.p-concept__recommend-heading {
  padding-block-end: clamp(5rem, 1.613vw + 4.637rem, 6.25rem);
  position: relative;
  color:#007e43;
}
.p-concept__recommend-heading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% calc(-50% + 1.875rem);
  width: clamp(3.125rem, 1.613vw + 2.762rem, 4.375rem);
  height: 2px;
  background-color: #007e43;
  rotate: 90deg;
}

.p-concept__recommend-lists {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 0.8333333333%;
  margin-block-start: clamp(1.5rem, 1.613vw + 1.137rem, 2.75rem);
}
@media screen and (max-width: 1200px) {
  .p-concept__recommend-lists {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 3.75rem;
    column-gap: 3.3333333333%;
  }
}
@media screen and (max-width: 980px) {
  .p-concept__recommend-lists {
    row-gap: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-concept__recommend-lists {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 5.2083333333%;
  }
}

.p-concept__recommend-item {
  position: relative;
  display: grid;
  justify-items: center;
  grid-row: span 2;
  grid-template-rows: subgrid;
  grid-template-areas: "image" "text";
  row-gap: 0.75rem;
  background-color: #e7edeb;
  padding-inline: clamp(0.5rem, 0.645vw + 0.355rem, 1rem);
  padding-block: clamp(2.625rem, 1.129vw + 2.371rem, 3.5rem) 1.75rem;
  border-radius: 0.5rem;
}

.p-concept__recommend-item-text {
  font-size: clamp(0.938rem, 0.323vw + 0.865rem, 1.188rem);
  font-weight: 700;
  text-align: center;
  grid-area: text;
  align-self: center;
  line-height: 1.2105263158;
  letter-spacing: 0.03em;
}

.p-concept__recommend-item-image {
  grid-area: image;
  align-self: center;
}
.p-concept__recommend-item-image.--icon1 {
  width: 50.5%;
  aspect-ratio: 101/83;
}
.p-concept__recommend-item-image.--icon2 {
  width: 75.5%;
  aspect-ratio: 151/110;
}
.p-concept__recommend-item-image.--icon3 {
  width: 46.5%;
  aspect-ratio: 93/91;
}
.p-concept__recommend-item-image.--icon4 {
  width: 62.5%;
  aspect-ratio: 125/116;
}
.p-concept__recommend-item-image.--icon5 {
  width: 35.5%;
  aspect-ratio: 71/94;
}

.p-concept__recommend-item-number {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1.75rem, 0.726vw + 1.587rem, 2.313rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: #ffffff;
  background-color: #c23321;
  border-radius: 50%;
  width: clamp(2.5rem, 1.21vw + 2.228rem, 3.438rem);
  height: clamp(2.5rem, 1.21vw + 2.228rem, 3.438rem);
  display: grid;
  place-items: center;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
}
.p-concept__recommend-item-number span {
  margin-block-end: 0.3125rem;
}

.p-concept__strength {
  margin-block-start: clamp(4.375rem, 2.419vw + 3.831rem, 6.25rem);
}

.p-concept__strength-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.6666666667%;
  row-gap: clamp(4.5rem, 1.452vw + 4.173rem, 5.625rem);
  margin-block-start: clamp(2.25rem, 1.452vw + 1.923rem, 3.375rem);
}
@media screen and (max-width: 980px) {
  .p-concept__strength-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-concept__strength-list {
    grid-template-columns: 1fr;
    row-gap: 3.5rem;
  }
}

.p-concept__strength-item {
  position: relative;
  border: 1px solid #007e43;
  border-radius: 0.25rem;
  padding: clamp(3rem, 0.645vw + 2.855rem, 3.5rem) clamp(1.5rem, 0.484vw + 1.391rem, 1.875rem) clamp(1.75rem, 0.806vw + 1.569rem, 2.375rem);
}

.p-concept__strength-number {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -63%;
  color: #007e43;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(4rem, 2.581vw + 3.419rem, 6rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.p-concept__strength-heading {
  color: #007e43;
  font-size: clamp(1.125rem, 0.323vw + 1.052rem, 1.375rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.4545454545;
  letter-spacing: 0.05em;
}

.p-concept__strength-text {
  margin-block-start: clamp(1.25rem, 0.323vw + 1.177rem, 1.5rem);
  font-size: clamp(0.938rem, 0.081vw + 0.919rem, 1rem);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}

.p-concept__strength + .c-button__main {
  margin-block-start: clamp(2.25rem, 1.452vw + 1.923rem, 3.375rem);
}

.p-concept__recommend-image-wrap {
  margin-block-start: clamp(2.5rem, 2.419vw + 1.956rem, 4.375rem);
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-concept__recommend-image-wrap {
    flex-direction: column;
    row-gap: clamp(1.25rem, 2.451vw + 0.699rem, 1.875rem);
  }
}

.p-concept__greeting-message {
  margin-block-start: 1.875rem;
}
.p-concept__greeting-message .u-float-none {
  clear: both;
}
@media screen and (max-width: 600px) {
  .p-concept__greeting-message .p-common__text:nth-of-type(1) {
    margin-block-start: 1.875rem;
  }
}

.p-concept__name {
  text-align: right;
  font-weight: 700;
}

.p-concept__greeting-image {
  width: clamp(15.625rem, 4.5vw + 13.938rem, 18.438rem);
  float: right;
  padding-inline-start: 2.1875rem;
  padding-block-end: 3.125rem;
  margin-block-start: 0.53125rem;
}
@media screen and (max-width: 600px) {
  .p-concept__greeting-image {
    float: none;
    width: 100%;
    padding-inline-start: 0;
    padding-block-end: 0;
  }
}

.p-concept__greeting-technology {
  border: 2px solid #007e43;
  padding-block: 1.75rem 2.8125rem;
  padding-inline: 2.375rem;
  margin-block-start: clamp(2.625rem, 1.452vw + 2.298rem, 3.75rem);
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-concept__greeting-technology {
    padding-block: 1.25rem 1.75rem;
    padding-inline: 1.25rem;
  }
}

.p-concept__greeting-technology-heading {
  font-size: clamp(1.25rem, 0.242vw + 1.196rem, 1.438rem);
  font-weight: 700;
  text-align: center;
  line-height: 2.5217391304;
  letter-spacing: 0.1em;
  color:#007e43;
}
@media screen and (max-width: 767px) {
  .p-concept__greeting-technology-heading {
    line-height: 1.8;
  }
}

.p-concept__greeting-technology-heading:not(:first-child) {
  margin-block-start: clamp(2.25rem, 1.452vw + 1.923rem, 3.375rem);
}

.p-concept__greeting-technology-wrap {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
  margin-block-start: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-concept__greeting-technology-wrap {
    margin-block-start: 0.625rem;
  }
}

.p-concept__greeting-technology-wrap > img {
  width: 70%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-concept__greeting-technology-wrap > img {
    width: 100%;
  }
}

.p-concept__greeting-technology-body .p-common__text {
  letter-spacing: 0;
}

.p-concept__greeting-technology-head {
  width: 70%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-concept__greeting-technology-head {
    width: 100%;
    margin-block-start: 0;
  }
}

.p-concept__info .p-common__table {
  margin-block-start: clamp(1.875rem, 0.806vw + 1.694rem, 2.5rem);
}
.p-concept__info .p-common__list-green + .p-common__list-green {
  margin-block-start: 0.625rem;
}
.p-concept__info .p-common__list-green li {
  font-weight: 400;
}

.p-concept__info-image {
  width: 70%;
  margin-block-start: clamp(1.875rem, 0.806vw + 1.694rem, 2.5rem);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-concept__info-image {
    width: 100%;
  }
}

.p-concept__access-item {
  margin-block-start: clamp(1.25rem, 1.855vw + 0.833rem, 2.688rem);
}
.p-concept__access-item + .p-concept__access-item {
  margin-block-start: clamp(3rem, 1.774vw + 2.601rem, 4.375rem);
}
.p-concept__access-item .p-common__col-two {
  margin-block-start: 0.8125rem;
}

.p-concept__access-heading {
  color: #007e43;
  font-size: clamp(1.125rem, 0.323vw + 1.052rem, 1.375rem);
  font-weight: 700;
  line-height: 2.1818181818;
  letter-spacing: 0.1em;
}

.p-concept__access-address {
  font-size: clamp(0.875rem, 0.161vw + 0.839rem, 1rem);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-concept__access-tel {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-block-start: 0.375rem;
  color: #000000;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1.625rem, 0.645vw + 1.48rem, 2.125rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
.p-concept__access-tel img {
  width: clamp(1.375rem, 0.645vw + 1.23rem, 1.875rem);
  aspect-ratio: 1/1;
}

.p-concept__access-tel + .p-common__text {
  margin-block-start: 0.75rem;
}

.p-concept__access-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.25rem, 0.968vw + 1.032rem, 2rem);
  margin-block-start: clamp(1.75rem, 1.129vw + 1.496rem, 2.625rem);
}
@media screen and (max-width: 767px) {
  .p-concept__access-gallery {
    grid-template-columns: 1fr;
  }
}

.p-concept__access-image {
  aspect-ratio: 580/360;
  overflow: hidden;
}
.p-concept__access-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-concept__access-map {
  grid-column: 1/-1;
  aspect-ratio: 985/330;
}
@media screen and (max-width: 767px) {
  .p-concept__access-map {
    aspect-ratio: 1/1;
  }
}
.p-concept__access-map iframe {
  width: 100%;
  height: 100%;
}

.p-price__reason-lists {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: 4.2857142857%;
  row-gap: clamp(3rem, 1.29vw + 2.71rem, 4rem);
  max-width: 560px;
  margin-block-start: 2.5rem;
  padding-block-start: clamp(1.25rem, 0.806vw + 1.069rem, 1.875rem);
  padding-inline: 1.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-price__reason-lists {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: clamp(3rem, 5.882vw + 1.676rem, 4rem);
  }
}

.p-price__reason-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  grid-column: span 2;
  background-color: #ffffff;
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  font-size: clamp(0.875rem, 0.242vw + 0.821rem, 1.063rem);
  font-weight: 700;
  text-align: center;
  padding-block-start: 0;
  padding-inline: clamp(0.375rem, 0.806vw + 0.194rem, 1rem);
  text-indent: 0.03em;
  line-height: 1.55;
  letter-spacing: 0.03em;
}
.p-price__reason-item:nth-child(4) {
  grid-column: 2/span 2;
}
.p-price__reason-item:nth-child(5) {
  grid-column: 4/span 2;
}
@media screen and (max-width: 767px) {
  .p-price__reason-item {
    width: calc(33.3333333333% - 32px);
    padding-block-start: 0;
  }
}
@media screen and (max-width: 600px) {
  .p-price__reason-item {
    width: clamp(8.75rem, 25vw + 3.125rem, 12.5rem);
    padding-block-start: 0;
  }
}

.p-price__reason-number {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #007e43;
  font-size: clamp(3.25rem, 1.613vw + 2.887rem, 4.5rem);
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -45%;
  line-height: 1;
  letter-spacing: 0;
}

.p-price__reason-detail {
  display: grid;
  row-gap: clamp(3.75rem, 0.806vw + 3.569rem, 4.375rem);
  margin-block-start: clamp(4.688rem, 2.823vw + 4.052rem, 6.875rem);
}

.p-price__reason-detail-item {
  background-color: #ffffff;
  padding-block: 2.25rem 2.5rem;
  padding-inline: clamp(1.25rem, 2.404vw + 0.096rem, 2.5rem);
  position: relative;
  border: 2px solid #007e43;
  border-radius: 10px;
}

.p-price__reason-detail-number {
  color: #007e43;
  font-family: "Karla", sans-serif;
  font-size: clamp(3.75rem, 2.419vw + 3.206rem, 5.625rem);
  font-weight: 500;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
  letter-spacing: 0.1em;
}

.p-price__reason-detail-heading {
  font-size: clamp(1.313rem, 0.161vw + 1.276rem, 1.438rem);
  font-weight: 700;
  text-align: center;
  line-height: 2.5217391304;
  letter-spacing: 0.1em;
  color:#007e43;
}
@media screen and (max-width: 767px) {
  .p-price__reason-detail-heading {
    line-height: 1.6;
  }
}

.p-price__reason-detail-wrap {
  --box-size: 1116;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  justify-content: center;
  column-gap: calc(26 / var(--box-size) * 100%);
  margin-block-start: clamp(0.625rem, -0.565vw + 1.19rem, 1.063rem);
}
@media screen and (max-width: 767px) {
  .p-price__reason-detail-wrap {
    flex-direction: column-reverse;
    align-items: center;
    row-gap: 1.0625rem;
  }
}
.p-price__reason-detail-wrap.--reverse {
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .p-price__reason-detail-wrap.--reverse {
    flex-direction: column-reverse;
  }
}

.p-price__reason-detail-content {
  width: calc(610 / var(--box-size) * 100%);
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-price__reason-detail-content {
    width: 100%;
  }
}
.p-price__reason-detail-content .p-common__text {
  letter-spacing: 0;
}

.p-price__reason-detail-image {
  width: calc(480 / var(--box-size) * 100%);
  margin-block-start: 0.53125rem;
}
@media screen and (max-width: 767px) {
  .p-price__reason-detail-image {
    width: 100%;
    margin-block-start: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-price__flow .p-common__heading-dashed .u-inline-block.--negative__indent {
    text-indent: -0.5em;
  }
}

.p-price__flow .p-common__catch,
.p-price__maintenance .p-common__catch {
  margin-block-start: clamp(2.813rem, 0.806vw + 2.631rem, 3.438rem);
}

.p-price__flow .p-common__catch-title {
  letter-spacing: 0.025em;
}
.p-price__flow .u-color__main {
  display: inline;
}
.p-price__flow .u-sp__individual {
  display: none;
}
@media screen and (max-width: 500px) {
  .p-price__flow .u-sp__individual {
    display: block;
  }
}

.p-price__flow-lists {
  display: grid;
  row-gap: 2.125rem;
  margin-block-start: clamp(2.25rem, 1.129vw + 1.996rem, 3.125rem);
}
@media screen and (max-width: 767px) {
  .p-price__flow-lists {
    row-gap: 1.5rem;
  }
}

.p-price__flow-item .p-common__heading-dashed {
  padding-block-end: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-price__flow-item .p-common__heading-dashed {
    line-height: 2;
  }
  .p-price__flow-item .p-common__heading-dashed::before {
    top: 0.8em;
  }
}

.p-price__flow-wrap {
  display: flex;
  column-gap: 4.1666666667%;
  margin-block-start: clamp(1.375rem, 0.806vw + 1.194rem, 2rem);
  align-items: flex-start;
}
.p-price__flow-wrap.--reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-price__flow-wrap.--reverse {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 767px) {
  .p-price__flow-wrap {
    flex-direction: column-reverse;
    row-gap: 1.0625rem;
  }
}

.p-price__flow-content {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-price__flow-content {
    width: 100%;
  }
}

.p-price__flow-image {
  width: 45.8333333333%;
  flex-shrink: 0;
  margin-block-start: 0.53125rem;
}
@media screen and (max-width: 767px) {
  .p-price__flow-image {
    width: 100%;
  }
}

.p-price__qa-wrap {
  display: grid;
  row-gap: 1.125rem;
  margin-block-start: 1.375rem;
}
.p-price__qa-wrap + .p-price__qa-wrap {
  margin-block-start: clamp(1.938rem, 0.806vw + 1.756rem, 2.563rem);
}

.p-price__qa-lists {
  display: grid;
  row-gap: 1.25rem;
}

.p-price__qa-lists-wrap {
  border-radius: 8px;
  background-color: #e7edeb;
  padding-block: clamp(1.188rem, -0.726vw + 1.913rem, 1.75rem) 1.875rem;
  padding-inline: clamp(1.25rem, 0.645vw + 1.105rem, 1.75rem);
  display: grid;
  row-gap: 0.875rem;
}

.p-price__qa-head {
  color: #000000;
  position: relative;
  padding-inline-start: clamp(3.063rem, 0.645vw + 2.917rem, 3.563rem);
}
@media screen and (max-width: 767px) {
  .p-price__qa-head {
    line-height: 1.8;
  }
}
.p-price__qa-head::before {
  content: "Q.";
  position: absolute;
  color: #007e43;
  font-size: clamp(1.75rem, 0.968vw + 1.532rem, 2.5rem);
  font-weight: 700;
  top: clamp(-0.438rem, 0.161vw - 0.474rem, -0.313rem);
  left: 0;
  line-height: 1.45;
  letter-spacing: 0.1em;
}

.p-price__qa-body {
  position: relative;
  background-color: #ffffff;
  border-radius: 8px;
  padding-block: 1.875rem;
  padding-inline: clamp(3.75rem, 1.129vw + 3.496rem, 4.625rem) clamp(1.25rem, 0.806vw + 1.069rem, 1.875rem);
}
.p-price__qa-body::before {
  content: "A.";
  position: absolute;
  color: #c23321;
  font-size: clamp(1.375rem, 0.484vw + 1.266rem, 1.75rem);
  font-weight: 700;
  top: clamp(0.875rem, -0.484vw + 1.359rem, 1.25rem);
  left: clamp(1.188rem, 1.048vw + 0.952rem, 2rem);
  line-height: 2.0714285714;
  letter-spacing: 0.1em;
}

.p-price__maintenance .p-common__catch .p-common__catch-text {
  margin-block-start: clamp(2.188rem, -0.403vw + 2.591rem, 2.5rem);
}

.p-price__maintenance-top-image {
  width: 85%;
  margin-block-start: clamp(2.25rem, 1.129vw + 1.996rem, 3.125rem);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-price__maintenance-top-image {
    width: 100%;
  }
}
.p-price__maintenance-top-image img {
  width: 100%;
}

.p-price__maintenance-lists {
  margin-block-start: clamp(2.25rem, 1.129vw + 1.996rem, 3.125rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.6666666667%;
}
@media screen and (max-width: 980px) {
  .p-price__maintenance-lists {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1.25rem;
  }
}
@media screen and (max-width: 600px) {
  .p-price__maintenance-lists {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 1.875rem;
  }
}

.p-price__maintenance-item {
  background-color: #e7edeb;
  border-radius: 8px;
  padding-block: 1.0625rem 1.625rem;
  padding-inline: clamp(1.25rem, 0.806vw + 1.069rem, 1.875rem);
  display: grid;
  row-gap: 0.875rem;
  grid-template-rows: subgrid;
  grid-row-start: span 3;
  grid-template-areas: "heading" "image" "text";
}
.p-price__maintenance-item .p-common__heading-sub {
  grid-area: heading;
}
.p-price__maintenance-item .p-common__text {
  grid-area: text;
}
.p-price__maintenance-item .p-price__maintenance-image {
  grid-area: image;
}
.p-price__maintenance-item .p-common__heading-sub {
  text-align: center;
  font-size: clamp(1.25rem, 0.403vw + 1.159rem, 1.563rem);
  line-height: 2.08;
}

.p-price__reason .c-button__main {
  margin-block-start: 3.75rem;
}
.p-price__reason .c-button__main-link {
  text-align: left;
  padding-inline-start: 1.8125rem;
}

.p-model-house__wrap {
  position: relative;
  max-height: max(41.25rem, 30vw);
  overflow-y: hidden;
}
@media screen and (min-width: 1900px) {
  .p-model-house__wrap {
    max-height: max(45rem, 30vw);
  }
}
@media screen and (max-width: 1435px) {
  .p-model-house__wrap {
    max-height: none;
  }
}
@media screen and (max-width: 767px) {
  .p-model-house__wrap {
    max-height: none;
    overflow-y: visible;
    display: flex;
    flex-direction: column;
  }
}
.p-model-house__wrap {
  /* パンくずリスト */
}
.p-model-house__wrap .p-breadcrumb {
  /* 打ち消し*/
  margin-block-start: 0rem;
  /* ページ固有のスタイル */
  position: absolute;
  top: clamp(0rem, 2.258vw - 0.508rem, 1.75rem);
  left: 50%;
  translate: -50%;
  width: 100%;
  z-index: 3;
}
@media screen and (min-width: 1601px) {
  .p-model-house__wrap .p-breadcrumb {
    top: max(1.75rem, 1.75vw);
  }
}
@media screen and (max-width: 767px) {
  .p-model-house__wrap .p-breadcrumb {
    top: 1rem;
  }
}
.p-model-house__wrap .p-breadcrumb li {
  padding-inline-start: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .p-model-house__wrap .p-breadcrumb li {
    padding-inline-start: 0rem;
  }
}

.p-model-house__hero-content {
  width: min(1280px, 100%);
  padding-inline: 2.5rem;
  top: clamp(0rem, 9.919vw - 2.232rem, 7.688rem);
  position: absolute;
  left: 50%;
  translate: -50%;
  z-index: 2;
}
@media screen and (min-width: 1601px) {
  .p-model-house__hero-content {
    top: max(7.6875rem, 7.6875vw);
  }
}
@media screen and (max-width: 767px) {
  .p-model-house__hero-content {
    top: 0;
    position: relative;
    order: 3;
    margin-block-start: 1.5rem;
    padding-inline: 1.25rem;
    max-width: 640px;
  }
}
.p-model-house__hero-content .p-common__title {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  column-gap: 1.5rem;
}
@media screen and (max-width: 1280px) {
  .p-model-house__hero-content .p-common__title {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p-model-house__hero-content .p-common__title {
    align-items: center;
    row-gap: 0.5rem;
  }
}
.p-model-house__hero-content .p-common__title-jp {
  font-size: clamp(1.063rem, 0.484vw + 0.954rem, 1.438rem);
  font-weight: 500;
  line-height: 1.3913043478;
  letter-spacing: 0.1em;
}
.p-model-house__hero-content .p-common__title-en {
  font-size: clamp(2.25rem, 1.613vw + 1.887rem, 3.5rem);
  line-height: 0.9107142857;
}
@media screen and (max-width: 767px) {
  .p-model-house__hero-content .p-common__title-en {
    line-height: 1.4166666667;
  }
}
.p-model-house__hero-content .p-common__title-en span {
  display: inline-block;
  margin-inline-start: -0.625rem;
}
.p-model-house__hero-content .p-common__title-en span::first-letter {
  color: #007e43;
}

.p-model-house__hero-copy {
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(1.25rem, 0.962vw + 0.788rem, 1.75rem);
  text-align: center;
  margin-block-start: clamp(0.625rem, 4.207vw - 1.394rem, 2.813rem);
  margin-inline-start: 4.9375rem;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1601px) {
  .p-model-house__hero-copy {
    margin-block-start: max(2.8125rem, 2.8125vw);
  }
}
@media screen and (max-width: 1280px) {
  .p-model-house__hero-copy {
    margin-inline-start: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .p-model-house__hero-copy {
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .p-model-house__hero-copy {
    margin-block-start: 2rem;
    margin-inline: auto;
  }
}
.p-model-house__hero-copy .--add-strong {
  color: #007e43;
  font-size: clamp(2.25rem, 3.726vw + 0.462rem, 4.188rem);
  rotate: 6deg;
  line-height: 0.6417910448;
  letter-spacing: 0.1em;
}
.p-model-house__hero-copy .u-add-break {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .p-model-house__hero-copy .u-add-break {
    display: block;
  }
}

.p-model-house__hero-image-sub {
  display: flex;
  column-gap: 1.125rem;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline-start: 0.875rem;
  margin-block-start: clamp(0.125rem, 3.726vw - 1.663rem, 2.063rem);
}
@media screen and (min-width: 1601px) {
  .p-model-house__hero-image-sub {
    margin-block-start: max(2.0625rem, 2.0625vw);
  }
}
@media screen and (max-width: 767px) {
  .p-model-house__hero-image-sub {
    /* 打ち消し*/
    padding-inline-start: 0rem;
    /* 固有のスタイル */
    margin-block-start: 1.375rem;
  }
}

.p-model-house__hero-image-sub-left {
  width: clamp(6.25rem, 22.837vw - 4.712rem, 18.125rem);
}
@media screen and (max-width: 767px) {
  .p-model-house__hero-image-sub-left {
    width: 100%;
  }
}

.p-model-house__hero-image-sub-right {
  width: clamp(6.25rem, 22.837vw - 4.712rem, 18.125rem);
}
@media screen and (max-width: 767px) {
  .p-model-house__hero-image-sub-right {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-model-house__hero-image {
    margin-block-start: 0;
    order: 1;
  }
}
.p-model-house__hero-image picture {
  width: 100%;
}
.p-model-house__hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
@media screen and (min-width: 1601px) {
  .p-model-house__hero-image img {
    object-position: center clamp(-15.625rem, -11.166vw + 11.173rem, 0rem);
  }
}

.p-model-house__compare {
  /* p-model-house__compare-itemがsubgridでrow-gapが使えないため */
  --margin-block-end: 1.3125rem;
}

.p-model-house__section-heading {
  color: #007e43;
  font-size: clamp(1.75rem, 0.484vw + 1.641rem, 2.125rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.5294117647;
  letter-spacing: 0.1em;
}

.p-model-house__compare-description {
  font-weight: 500;
  text-align: center;
  margin-block-start: clamp(1.375rem, 0.806vw + 1.194rem, 2rem);
}

.p-model-house__compare-lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: space-between;
  column-gap: 1.3125rem;
  margin-block-start: clamp(2rem, 0.645vw + 1.855rem, 2.5rem);
}
@media screen and (max-width: 1100px) {
  .p-model-house__compare-lists {
    grid-template-columns: repeat(2, auto);
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .p-model-house__compare-lists {
    grid-template-columns: repeat(1, 1fr);
    justify-items: center;
  }
}

.p-model-house__compare-item {
  border-radius: 8px;
  overflow: hidden;
  max-width: 385px;
  display: grid;
  grid-row: span 5;
  grid-template-rows: subgrid;
  margin-block-end: var(--margin-block-end);
}
.p-model-house__compare-item.--is-green {
  border: 2px solid var(--is-green);
}
.p-model-house__compare-item.--is-green .p-model-house__compare-lists-heading {
  background-color: var(--is-green);
}
.p-model-house__compare-item.--is-green .p-model-house__compare-copy {
  color: var(--is-green);
}
.p-model-house__compare-item.--is-gold {
  border: 2px solid var(--is-gold);
}
.p-model-house__compare-item.--is-gold .p-model-house__compare-lists-heading {
  background-color: var(--is-gold);
}
.p-model-house__compare-item.--is-gold .p-model-house__compare-copy {
  color: var(--is-gold);
}
.p-model-house__compare-item.--is-purple {
  border: 2px solid var(--is-purple);
}
.p-model-house__compare-item.--is-purple .p-model-house__compare-lists-heading {
  background-color: var(--is-purple);
}
.p-model-house__compare-item.--is-purple .p-model-house__compare-copy {
  color: var(--is-purple);
}

.p-model-house__compare-lists-heading {
  color: #ffffff;
  padding-block: 0.875rem 1rem;
}

.p-model-house__compare-lists-heading-jp {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
}

.p-model-house__compare-lists-heading-en {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.p-model-house__compare-body {
  padding-block: 0.6875rem clamp(1.75rem, 0.565vw + 1.623rem, 2.188rem);
  padding-inline: 1.5625rem;
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
}

.p-model-house__compare-copy {
  font-size: clamp(1.313rem, 0.161vw + 1.276rem, 1.438rem);
  font-weight: 700;
  text-align: center;
  align-self: flex-start;
  line-height: 1.3913043478;
  letter-spacing: 0.1em;
}
.p-model-house__compare-copy + .p-common__text {
  margin-block-start: 0.3125rem;
}

.p-model-house__compare-recommended {
  background-color: #f1f1f1;
  margin-block-start: clamp(1.25rem, 0.565vw + 1.123rem, 1.688rem);
  border-radius: 10px;
  padding-block: 0.4375rem 0.9375rem;
  padding-inline: 1rem;
}

.p-model-house__compare-recommended-heading {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  color: #c23321;
  font-size: clamp(1.125rem, 0.242vw + 1.071rem, 1.313rem);
  font-weight: 700;
  text-align: center;
  position: relative;
  padding-inline-start: 2rem;
  padding-inline-end: 1rem;
  line-height: 1.619047619;
  letter-spacing: 0.05em;
}
.p-model-house__compare-recommended-heading::before {
  content: "";
  position: absolute;
  background: url(../img/common/icon-check.webp) no-repeat center center/contain;
  width: clamp(1.313rem, 0.242vw + 1.258rem, 1.5rem);
  height: clamp(1.313rem, 0.242vw + 1.258rem, 1.5rem);
  left: clamp(0rem, -0.403vw + 0.403rem, 0.313rem);
  top: 0.25em;
}

.p-model-house__compare-recommended-text {
  font-size: clamp(1.125rem, 0.242vw + 1.071rem, 1.313rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  margin-block-start: 0.3125rem;
  letter-spacing: 0.05em;
}

.p-model-house__compare-button {
  margin-block-start: calc(clamp(2.5rem, 4.032vw + 1.593rem, 5.625rem) - var(--margin-block-end));
}

.p-model-house__merit {
  /* subgridでp-model-house__merit-itemにmargin-block-endを使っているので、
     p-model-house__merit-reassuranceの行き過ぎた分を引き上げる */
  --margin-block-end: 1.3125rem;
  --item-margin-bottom: calc(3.25rem + var(--margin-block-end));
}

.p-model-house__merit-lists {
  margin-block-start: clamp(3.875rem, 2.258vw + 3.367rem, 5.625rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: space-between;
  column-gap: var(--margin-block-end);
}
@media screen and (max-width: 1100px) {
  .p-model-house__merit-lists {
    grid-template-columns: repeat(2, auto);
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .p-model-house__merit-lists {
    grid-template-columns: repeat(1, 1fr);
    justify-items: center;
  }
}

.p-model-house__merit-item {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #007e43;
  position: relative;
  max-width: 385px;
  padding-block: clamp(2rem, 0.645vw + 1.855rem, 2.5rem) 1.375rem;
  padding-inline: 1.625rem;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  margin-block-end: var(--item-margin-bottom);
}
.p-model-house__merit-item .p-common__text {
  margin-block-start: 0.9375rem;
}

.p-model-house__merit-number {
  color: #007e43;
  font-size: clamp(4.375rem, 2.419vw + 3.831rem, 6.25rem);
  font-weight: 700;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: clamp(-4.688rem, -1.613vw - 3.075rem, -3.438rem);
  left: 50%;
  translate: -50%;
  letter-spacing: 0.1em;
}

.p-model-house__merit-number-en {
  color: #000000;
  font-size: clamp(1.313rem, 0.242vw + 1.258rem, 1.5rem);
  font-weight: 700;
  text-transform: uppercase;
  margin-block-start: 0.625rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-model-house__merit-number-en::first-letter {
  color: #007e43;
}

.p-model-house__merit-heading {
  color: #007e43;
  font-size: clamp(1.25rem, 0.242vw + 1.196rem, 1.438rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.5652173913;
  letter-spacing: 0.1em;
}

.p-model-house__merit-image {
  margin-block-start: 1.25rem;
}

.p-model-house__merit-reassurance {
  --element-position: calc(calc(var(--item-margin-bottom) - 2.8125rem) * -1);
  --element-padding-block-end: clamp(1.875rem, 0.484vw + 1.766rem, 2.25rem);
  --item-row-gap: 1.25rem;
  background: #ffffff;
  border-radius: 8px;
  position: relative;
  top: var(--element-position);
  margin-block-end: var(--element-position);
  padding-block: 1.5rem calc(var(--element-padding-block-end) - var(--item-row-gap));
  padding-inline: 1.25rem;
}

.p-model-house__merit-reassurance-heading {
  color: #007e43;
  font-size: clamp(1.25rem, 0.242vw + 1.196rem, 1.438rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.4782608696;
  letter-spacing: 0.03em;
}

.p-model-house__merit-reassurance-lists {
  display: grid;
  grid-template-columns: repeat(6, auto);
  margin-block-start: clamp(1.625rem, 0.726vw + 1.462rem, 2.188rem);
}
@media screen and (min-width: 601px) and (max-width: 980px) {
  .p-model-house__merit-reassurance-lists {
    grid-template-columns: repeat(3, auto);
  }
  .p-model-house__merit-reassurance-lists .p-model-house__merit-reassurance-item:nth-child(3n)::before {
    content: none;
  }
}
@media screen and (max-width: 600px) {
  .p-model-house__merit-reassurance-lists {
    grid-template-columns: repeat(2, auto);
  }
  .p-model-house__merit-reassurance-lists .p-model-house__merit-reassurance-item:nth-child(2n)::before {
    content: none;
  }
}

.p-model-house__merit-reassurance-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  justify-items: center;
  grid-template-areas: "icon" "text";
  position: relative;
  padding-block-start: 0.3125rem;
  padding-block-end: 0.625rem;
  padding-inline: 0.3125rem;
  margin-block-end: var(--item-row-gap);
}
.p-model-house__merit-reassurance-item::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #000000;
}
.p-model-house__merit-reassurance-item:last-child::before {
  content: none;
}
.p-model-house__merit-reassurance-item {
  /* 各アイコンのサイズ */
}
.p-model-house__merit-reassurance-item:nth-child(1) .p-model-house__merit-reassurance-icon {
  width: 4.0625rem;
}
.p-model-house__merit-reassurance-item:nth-child(2) .p-model-house__merit-reassurance-icon {
  width: 3.625rem;
}
.p-model-house__merit-reassurance-item:nth-child(3) .p-model-house__merit-reassurance-icon {
  width: 6rem;
}
.p-model-house__merit-reassurance-item:nth-child(4) .p-model-house__merit-reassurance-icon {
  width: 4.375rem;
}
.p-model-house__merit-reassurance-item:nth-child(5) .p-model-house__merit-reassurance-icon {
  width: 3.75rem;
}
.p-model-house__merit-reassurance-item:nth-child(6) .p-model-house__merit-reassurance-icon {
  width: 3.75rem;
}

.p-model-house__merit-reassurance-text {
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  font-weight: 400;
  text-align: center;
  grid-area: text;
  margin-block-start: clamp(0.625rem, 0.806vw + 0.444rem, 1.25rem);
  text-indent: 0.05em;
  line-height: 1.4705882353;
  letter-spacing: 0.05em;
}

.p-model-house__merit-reassurance-icon {
  grid-area: icon;
}

.p-model-house__detail-plan {
  position: relative;
}
.p-model-house__detail-plan:nth-of-type(1) {
  margin-block-start: clamp(2.875rem, 1.694vw + 2.494rem, 4.188rem);
}
.p-model-house__detail-plan + .p-model-house__detail-plan {
  margin-block-start: clamp(3.125rem, 4.032vw + 2.218rem, 6.25rem);
}
.p-model-house__detail-plan.--is-green .p-model-house__detail-plan-type {
  background: var(--is-green);
}
.p-model-house__detail-plan.--is-green .p-model-house__detail-plan-type-heading::before {
  content: "standard";
}
.p-model-house__detail-plan.--is-gold .p-model-house__detail-plan-type {
  background: var(--is-gold);
}
.p-model-house__detail-plan.--is-gold .p-model-house__detail-plan-type-heading::before {
  content: "premium";
}
.p-model-house__detail-plan.--is-gold .p-model-house__detail-plan-item {
  background: #e5dcd1;
}
.p-model-house__detail-plan.--is-purple .p-model-house__detail-plan-type {
  background: var(--is-purple);
}
.p-model-house__detail-plan.--is-purple .p-model-house__detail-plan-type-heading::before {
  content: "signature";
}
.p-model-house__detail-plan.--is-purple .p-model-house__detail-plan-item {
  background: #e9e6f3;
}
.p-model-house__detail-plan:nth-of-type(2n) .l-inner {
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-model-house__detail-plan:nth-of-type(2n) .l-inner {
    justify-content: flex-start;
  }
}
.p-model-house__detail-plan:nth-of-type(2n) .p-model-house__detail-plan-type-heading {
  padding-inline-start: clamp(23.875rem, 12.837vw + 17.288rem, 30.125rem);
}
@media screen and (max-width: 820px) {
  .p-model-house__detail-plan:nth-of-type(2n) .p-model-house__detail-plan-type-heading {
    padding-inline-start: clamp(14.875rem, 11.538vw + 9.337rem, 15.25rem);
  }
}
@media screen and (max-width: 767px) {
  .p-model-house__detail-plan:nth-of-type(2n) .p-model-house__detail-plan-type-heading {
    padding-inline-start: 0;
  }
}
@media (min-width: 768px) {
  .p-model-house__detail-plan:nth-of-type(2n) .p-model-house__detail-plan-type-heading::before {
    --element-position: calc((50vw - 50%) * -1 - 0.625rem);
    left: auto;
    right: var(--element-position);
  }
}
@media screen and (min-width: 1601px) {
  .p-model-house__detail-plan:nth-of-type(2n) .p-model-house__detail-plan-type-heading::before {
    left: calc(50% + 22.375rem);
    right: auto;
  }
}
.p-model-house__detail-plan:nth-of-type(2n) .p-model-house__detail-plan-contents {
  margin-inline-start: auto;
}
.p-model-house__detail-plan:nth-of-type(2n) .p-model-house__detail-plan-swiper-container {
  left: auto;
  right: calc(50% + 1.4375rem);
}
@media screen and (max-width: 980px) {
  .p-model-house__detail-plan:nth-of-type(2n) .p-model-house__detail-plan-swiper-container {
    right: calc(50% + clamp(1.125rem, 2.347vw - 0rem, 1.438rem));
  }
}

.p-model-house__detail-plan-type {
  height: clamp(8.75rem, 2.404vw + 7.596rem, 10rem);
  position: relative;
  overflow: hidden;
}
.p-model-house__detail-plan-type .l-inner {
  display: flex;
  align-items: center;
}

.p-model-house__detail-plan-type-heading {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  column-gap: 0.9375rem;
}
@media screen and (max-width: 820px) {
  .p-model-house__detail-plan-type-heading {
    flex-direction: column-reverse;
    justify-content: flex-start;
    align-items: flex-start;
    margin-block-start: 2.5rem;
  }
}
.p-model-house__detail-plan-type-heading::before {
  --element-position: calc((50vw - 50%) * -1);
  content: "";
  color: #ffffff;
  font-size: clamp(3.75rem, 2.419vw + 3.206rem, 5.625rem);
  font-weight: 700;
  opacity: 0.05;
  text-transform: uppercase;
  position: absolute;
  left: var(--element-position);
  top: clamp(-2.438rem, -1.683vw - 0.755rem, -1.563rem);
  line-height: 1.4444444444;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1601px) {
  .p-model-house__detail-plan-type-heading::before {
    left: auto;
    right: calc(50% + 17.1875rem);
  }
}

.p-model-house__detail-plan-type-jp {
  color: #ffffff;
  font-size: clamp(1.25rem, 0.484vw + 1.141rem, 1.625rem);
  font-weight: 700;
  margin-block-start: clamp(0rem, 1.803vw - 0.865rem, 0.938rem);
  line-height: 2;
  letter-spacing: 0.1em;
}

.p-model-house__detail-plan-type-en {
  color: #ffffff;
  text-transform: uppercase;
  font-size: clamp(2rem, 0.968vw + 1.782rem, 2.75rem);
  font-weight: 700;
  line-height: 1.1818181818;
  letter-spacing: 0.1em;
}

.p-model-house__detail-plan-wrap {
  --heading-half-line-height: 0.71875rem;
  margin-block-start: clamp(0.625rem, 1.613vw + 0.262rem, 1.875rem);
}
@media screen and (max-width: 767px) {
  .p-model-house__detail-plan-wrap {
    display: flex;
    flex-direction: column-reverse;
    margin-block-start: 0rem;
    row-gap: 0.625rem;
  }
}

.p-model-house__detail-plan > .l-inner {
  position: static;
}
@media screen and (max-width: 980px) {
  .p-model-house__detail-plan > .l-inner {
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .p-model-house__detail-plan > .l-inner {
    margin-block-start: clamp(1.25rem, 4.914vw + 0.144rem, 2.5rem);
  }
}

.p-model-house__detail-plan-contents {
  width: 45.4166666667%;
}
@media screen and (max-width: 767px) {
  .p-model-house__detail-plan-contents {
    width: 100%;
  }
}
.p-model-house__detail-plan-contents .p-common__text {
  margin-block-start: 0rem;
  font-weight: 500;
}
.p-model-house__detail-plan-contents .c-button__main {
  margin-block-start: clamp(2.188rem, -0.403vw + 2.591rem, 2.5rem);
}
.p-model-house__detail-plan-contents .c-button__main-link {
  max-width: auto;
  text-align: left;
  padding-inline: clamp(2rem, 1.202vw + 1.423rem, 2.625rem) clamp(4.5rem, 1.683vw + 3.692rem, 5.375rem);
}
.p-model-house__detail-plan-contents .c-button__main-link.--is-en {
  text-transform: uppercase;
}

.p-model-house__detail-plan-heading {
  font-size: clamp(1.5rem, 0.645vw + 1.355rem, 2rem);
  font-weight: 700;
  line-height: 1.71875;
  letter-spacing: 0.1em;
}
.p-model-house__detail-plan-heading + .p-common__text {
  margin-block-start: clamp(0.188rem, 1.613vw - 0.175rem, 1.438rem);
}

.p-model-house__detail-plan-lists {
  display: grid;
  row-gap: 0.6875rem;
  margin-block-start: clamp(0.688rem, 1.21vw + 0.415rem, 1.625rem);
}

.p-model-house__detail-plan-item {
  color: #382710;
  background: #e7edeb;
  border-radius: 8px;
  font-size: clamp(1rem, 0.323vw + 0.927rem, 1.25rem);
  font-weight: 700;
  text-align: center;
  padding-block: 0.8125rem 0.75rem;
  padding-inline: 1.25rem;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

/*------------------------------------------------------------
  detail plan swiper
------------------------------------------------------------*/
.p-model-house__detail-plan-swiper-container,
.p-model-house__detail-plan-swiper,
.p-model-house__detail-plan-swiper-wrapper,
.p-model-house__detail-plan-swiper-slide {
  position: relative;
}

.p-model-house__detail-plan-swiper-container {
  width: min(42.5%, 42.5rem);
  position: absolute;
  top: 3.125rem;
  left: calc(50% + 1.4375rem);
}
@media screen and (max-width: 980px) {
  .p-model-house__detail-plan-swiper-container {
    width: 47.6530612245%;
    top: var(--heading-half-line-height);
    left: calc(50% + clamp(1.125rem, 2.347vw - 0rem, 1.438rem));
  }
}
@media screen and (max-width: 767px) {
  .p-model-house__detail-plan-swiper-container {
    width: 100%;
    position: static;
  }
}

.p-model-house__detail-plan-swiper-main img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 680/440;
  object-fit: cover;
  object-position: center;
}

.p-model-house__detail-plan-swiper .swiper-button-prev,
.p-model-house__detail-plan-swiper .swiper-button-next {
  width: 1.875rem;
  height: 1.875rem;
  top: 50%;
  translate: 0 -50%;
}
.p-model-house__detail-plan-swiper .swiper-button-prev {
  left: 0.625rem;
  background: url("../img/common/icon-slider-left--bg-white.webp") no-repeat center center/contain;
}
.p-model-house__detail-plan-swiper .swiper-button-next {
  right: 0.625rem;
  background: url("../img/common/icon-slider-right--bg-white.webp") no-repeat center center/contain;
}

.p-model-house__detail-plan-swiper-thumbnail {
  margin-block-start: 0.5625rem;
}
@media (min-width: 768px) {
  .p-model-house__detail-plan-swiper-thumbnail .swiper-wrapper {
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .p-model-house__detail-plan-swiper-thumbnail .swiper-slide {
    width: 70%;
    flex: 0 0 70%;
  }
}
@media (min-width: 768px) {
  .p-model-house__detail-plan-swiper-thumbnail .swiper-slide {
    cursor: pointer;
    position: relative;
  }
}
.p-model-house__detail-plan-swiper-thumbnail img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 220/135;
  object-fit: cover;
  object-position: center;
}

.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  margin: 0;
  padding: 0;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
}

.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  opacity: 1;
}

.p-model-house__detail-button {
  margin-block-start: clamp(2.5rem, 3.226vw + 1.774rem, 5rem);
}

.p-spec-home {
  --copy-half-leading: 1.09375rem;
}
.p-spec-home .p-common__heading-dashed {
  font-size: clamp(1.125rem, 0.403vw + 1.034rem, 1.438rem);
  padding-inline-start: 1.6875rem;
  padding-block-end: 0;
  margin-block-start: clamp(0rem, -1.21vw + 1.21rem, 0.938rem);
  line-height: 2.5217391304;
}
.p-spec-home .p-common__heading-dashed::before {
  left: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .p-spec-home .p-common__heading-dashed::before {
    top: 1em;
  }
}
.p-spec-home .p-common__heading-dashed::after {
  content: none;
}
.p-spec-home .p-common__box-bg {
  padding-block: 1.0625rem 0.8125rem;
  padding-inline: 1.5625rem 1.125rem;
}
.p-spec-home .c-button__main {
  margin-block-start: var(--copy-half-leading);
  margin-inline: 0;
  margin: 2rem auto;
}
@media screen and (max-width: 767px) {
  .p-spec-home .c-button__main {
    --copy-half-leading: 0.625rem;
    margin-inline: auto;
  }
}
.p-spec-home .c-button__main.--is-accent .c-button__main-link {
  background-color: #c23321;
  color: #ffffff;
  text-align: left;
  padding-inline-start: 1.875rem;
}
.p-spec-home .c-button__main.--is-accent .c-button__main-link::before {
  background: url(../img/common/icon-button-bg-white.webp) no-repeat center center/contain;
}

.p-spec-home__copy-wrap {
  /*display: flex;
  justify-content: space-between;
  flex-wrap: wrap;*/
  column-gap: clamp(0rem, 1.613vw - 0.363rem, 1.25rem);
  margin-block-start: clamp(0.5rem, 0.403vw + 0.409rem, 0.813rem);
}
@media screen and (max-width: 767px) {
  .p-spec-home__copy-wrap {
    flex-direction: column;
    align-items: stretch;
  }
}

.p-spec-home__tag-wrap {
  --default-padding-block-end: 0.375rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 0.625rem;
  position: relative;
  padding-block-end: var(--default-padding-block-end);
}
@media screen and (max-width: 430px) {
  .p-spec-home__tag-wrap {
    padding-block-end: 1.25rem;
  }
}
.p-spec-home__tag-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-image: radial-gradient(circle 1px at 1px 50%, #000 100%, transparent 100%);
  background-repeat: repeat-x;
  background-size: 5px 2px;
  background-position: left center;
}
@media screen and (max-width: 430px) {
  .p-spec-home__tag-wrap:not(:has(.c-box__bg)) {
    padding-block-end: var(--default-padding-block-end);
  }
}
.p-spec-home__tag-wrap .c-box__bg {
  font-size: clamp(0.813rem, 0.242vw + 0.758rem, 1rem);
}

.p-spec-home__tag-area {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
  margin-block-start: clamp(0rem, -1.111vw + 1.111rem, 0.813rem);
}
@media screen and (max-width: 430px) {
  .p-spec-home__tag-area {
    padding-inline-start: 1.8em;
    margin-block-start: 0;
  }
}

.p-spec-home__copy {
  font-size: clamp(1.25rem, 0.403vw + 1.159rem, 1.563rem);
  font-weight: 700;
  line-height: 2.32;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-spec-home__copy {
    line-height: 1.6;
  }
}

.p-spec-home__swiper-container {
  position: relative;
  margin-block-start: 1.875rem;
}

.sold-txt {
  color: #c23321;
  font-size: clamp(1.125rem, 0.323vw + 1.052rem, 1.375rem);
  font-weight: 700;
  text-align: center;
  margin-block-start: 1.25rem;
}

.p-spec-home__swiper {
  position: relative;
}
.p-spec-home__swiper .swiper-button-prev,
.p-spec-home__swiper .swiper-button-next {
  width: 1.875rem;
  height: 1.875rem;
  top: 50%;
  translate: 0 -50%;
}
.p-spec-home__swiper .swiper-button-prev {
  left: 0.625rem;
  background: url("../img/common/icon-slider-left-bg-green.webp") no-repeat center center/contain;
}
.p-spec-home__swiper .swiper-button-next {
  right: 0.625rem;
  background: url("../img/common/icon-slider-right-bg-green.webp") no-repeat center center/contain;
}

.p-spec-home__swiper-main .swiper-slide {
  aspect-ratio: 3/2;
  background-color: #f1f1f1;
}
@media screen and (max-width: 767px) {
  .p-spec-home__swiper-main .swiper-slide {
    aspect-ratio: 4/3;
  }
}
.p-spec-home__swiper-main img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}
.p-spec-home__swiper-main .swiper-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.8);
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.p-spec-home__swiper-main .swiper-slide-active::after {
  opacity: 0;
}

.p-spec-home__swiper-wrapper {
  position: relative;
}

.p-spec-home__swiper-slide {
  position: relative;
}

.p-spec-home__swiper-thumbnail {
  margin-block-start: 0.5625rem;
}
@media (min-width: 768px) {
  .p-spec-home__swiper-thumbnail .swiper-wrapper {
    align-items: center;
    justify-content: center;
  }
}
.p-spec-home__swiper-thumbnail .swiper-slide {
  cursor: pointer;
  position: relative;
}
@media (min-width: 768px) {
  .p-spec-home__swiper-thumbnail .swiper-slide {
    width: 11.25rem;
    flex: 0 0 11.25rem;
  }
}
.p-spec-home__swiper-thumbnail .swiper-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.5);
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.p-spec-home__swiper-thumbnail .swiper-slide-thumb-active::after {
  opacity: 0;
}
.p-spec-home__swiper-thumbnail img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 220/135;
  object-fit: cover;
  object-position: center;
}

.p-spec-home_col {
  display: flex;
  justify-content: center;
  gap: clamp(1.125rem, -0.968vw + 2.093rem, 1.875rem);
  margin-block-start: clamp(1.875rem, 1.29vw + 1.585rem, 2.875rem);
}
@media screen and (max-width: 767px) {
  .p-spec-home_col {
    flex-direction: column;
  }
}

.p-spec-home__col-left {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .p-spec-home__col-left {
    width: 100%;
  }
}
.p-spec-home__col-left .p-common__box-border {
  margin-block-start: clamp(0.625rem, -0.806vw + 1.431rem, 1.25rem);
  border-radius: 16px;
  padding-block: 0.9375rem 1.5rem;
}

.p-spec-home__price-heading {
  font-size: clamp(1.313rem, 0.242vw + 1.258rem, 1.5rem);
  font-weight: 700;
  line-height: 1.4166666667;
  letter-spacing: 0.1em;
}

.p-spec-home__price-number {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.p-spec-home__price-space {
  font-size: clamp(1.125rem, 0.403vw + 1.034rem, 1.438rem);
  font-weight: 700;
  margin-inline-end: 0.625rem;
  line-height: 1.4782608696;
  letter-spacing: 0.05em;
}

.p-spec-home__price-number-lg {
  color: #c23321;
  font-size: clamp(2.563rem, 0.806vw + 2.381rem, 3.188rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.l-page__estate-detail .p-spec-home__price-number {
  display: block;
  text-align: left;
}
.l-page__estate-detail .p-spec-home__price-number-lg {
  font-size: clamp(1.375rem, 2.5vw, 1.875rem);
  line-height: 1.3;
  letter-spacing: 0.03em;
}
.l-page__estate-detail .p-spec-home__col-left {
  width: 70%;
  flex: 0 1 70%;
}
.l-page__estate-detail .p-spec-home__col-right {
  width: 30%;
  flex: 0 1 30%;
}
@media screen and (max-width: 767px) {
  .l-page__estate-detail .p-spec-home__col-left,
  .l-page__estate-detail .p-spec-home__col-right {
    width: 100%;
    flex-basis: auto;
  }
}

.p-spec-home__price-unit {
  font-size: clamp(1.125rem, 0.403vw + 1.034rem, 1.438rem);
  font-weight: 700;
  padding-inline-start: 0.25rem;
  padding-inline-end: 0.6875rem;
  line-height: 1.4782608696;
  letter-spacing: 0em;
}

.p-spec-home__price-sm {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 0.625rem;
  margin-block-start: 0.25rem;
}

.p-spec-home__price-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

.p-spec-home_area {
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0em;
}

.p-spec-home__unit {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

.p-spec-home__col-left-box-border-heading {
  color: #007e43;
  font-size: clamp(1.125rem, 0.161vw + 1.089rem, 1.25rem);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0em;
}

.p-spec-home__col-left-box-border-text {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.7272727273;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-spec-home__col-left-box-border-text {
    margin-block-start: 0.75rem;
    line-height: 1.1;
  }
}
.p-spec-home__col-left-box-border-text .p-spec-home__font-sm {
  font-size: clamp(0.875rem, 0.242vw + 0.821rem, 1.063rem);
  font-weight: 500;
  text-indent: -0.5em;
  line-height: 1.7058823529;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-spec-home__col-left-box-border-text .p-spec-home__font-sm {
    line-height: 1.2;
  }
}

.p-spec-home__col-right {
  width: 49.1666666667%;
}
@media screen and (max-width: 767px) {
  .p-spec-home__col-right {
    width: 100%;
  }
}
.p-spec-home__col-right .p-common__list-green {
  padding-inline-start: clamp(1.25rem, 1.613vw + 0.887rem, 2.5rem);
  margin-block-start: 0.875rem;
}
.p-spec-home__col-right .p-common__list-green li {
  font-size: clamp(1rem, 0.323vw + 0.927rem, 1.25rem);
  font-weight: 700;
  padding-inline-start: clamp(1.25rem, 0.323vw + 1.177rem, 1.5rem);
  line-height: 1.7;
  letter-spacing: 0em;
}
.p-spec-home__col-right .p-common__list-green li::before {
  top: 0.7em;
}
@media screen and (max-width: 767px) {
  .p-spec-home__col-right .p-common__list-green li::before {
    top: 0.6em;
  }
}

.p-spec-home__col-bg-heading {
  background: #007e43;
  border-radius: 13.5px;
  color: #ffffff;
  font-size: clamp(1.313rem, 0.161vw + 1.276rem, 1.438rem);
  font-weight: 700;
  text-align: center;
  padding-inline: 0.625rem;
  line-height: 2.5217391304;
  letter-spacing: 0.1em;
}

.p-spec-home__equipment {
  margin-block-start: clamp(0.438rem, 3.468vw - 0.343rem, 3.125rem);
}

.p-common__heading-sub {
  font-size: clamp(1.313rem, 0.081vw + 1.294rem, 1.375rem);
  font-weight: 700;
  line-height: 2.6363636364;
  letter-spacing: 0.1em;
}

.p-spec-home__gallery {
  margin-block-start: clamp(0rem, 0.806vw - 0.181rem, 0.625rem);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: clamp(0.625rem, 0.806vw + 0.444rem, 1.25rem);
  row-gap: 0.625rem;
}
@media screen and (max-width: 980px) {
  .p-spec-home__gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-spec-home__gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-spec-home__gallery figure img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 286/201;
  object-fit: contain;
  object-position: center;
  background-color: #f1f1f1;
}
.p-spec-home__gallery figure figcaption {
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}

.p-spec-home__environment {
  margin-block-start: clamp(0.188rem, 2.984vw - 0.484rem, 2.5rem);
}

.p-spec-home__map {
  margin-block-start: clamp(1.25rem, 0.806vw + 1.069rem, 1.875rem);
  aspect-ratio: 3/1;
}
@media screen and (max-width: 767px) {
  .p-spec-home__map {
    aspect-ratio: 1/1;
  }
}
.p-spec-home__map iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.p-spec-home__overview {
  margin-block-start: clamp(0.625rem, 2.823vw - 0.01rem, 2.813rem);
}
.p-spec-home__overview .p-spec-home__overview-list {
  margin-block-start: clamp(0.125rem, 1.29vw - 0.165rem, 1.125rem);
}
.p-spec-home__overview .p-common__box-border {
  margin-block-start: 1.25rem;
  padding-block-start: clamp(0.188rem, 0.806vw + 0.006rem, 0.813rem);
  padding-block-end: clamp(1.438rem, 0.806vw + 1.256rem, 2.063rem);
  padding-inline: clamp(1.25rem, 0.645vw + 1.105rem, 1.75rem);
}
.p-spec-home__overview .p-common__heading-sub {
  font-size: clamp(1.313rem, 0.161vw + 1.276rem, 1.438rem);
  line-height: 2.5217391304;
}
.p-spec-home__overview .c-button__main {
  margin-inline: auto;
  margin-block-start: clamp(2.813rem, 1.774vw + 2.413rem, 4.188rem);
}

.p-spec-home__overview-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #000000;
  border-left: 1px solid #000000;
}
@media screen and (max-width: 767px) {
  .p-spec-home__overview-list {
    grid-template-columns: 1fr;
  }
}

.p-spec-home__overview-item {
  display: grid;
  grid-template-columns: minmax(7.5rem, 31%) minmax(0, 1fr);
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
}
@media screen and (max-width: 767px) {
  .p-spec-home__overview-item {
    grid-template-columns: 1fr;
  }
}
.p-spec-home__overview-item dt,
.p-spec-home__overview-item dd {
  margin: 0;
  padding-block: 1.0625rem 1.125rem;
  padding-inline: 1.25rem;
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0em;
}
.p-spec-home__overview-item dt {
  display: grid;
  place-items: center;
  background-color: #e7edeb;
  border-right: 1px solid #000000;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-spec-home__overview-item dt {
    border-right: none;
    border-bottom: 1px solid #000000;
  }
}
.p-spec-home__overview-item .p-common__text + .p-common__text {
  margin-block-start: 0;
}
.p-spec-home__overview-item:last-child:nth-child(odd) {
  grid-column: 1/-1;
  grid-template-columns: minmax(7.5rem, 15.5%) minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .p-spec-home__overview-item:last-child:nth-child(odd) {
    grid-column: auto;
    grid-template-columns: 1fr;
  }
}

.p-spec-home__text {
  text-align: center;
  margin-block-start: clamp(1.125rem, 3.71vw + 0.29rem, 4rem);
}

/*------------------------------------------------------------
  プラン
------------------------------------------------------------*/
.p-common-model__plan-head {
  padding-block: clamp(1.875rem, 2.419vw + 1.331rem, 3.75rem) clamp(1.875rem, 3.387vw + 1.113rem, 4.5rem);
}
.p-common-model__plan-head.--is-green {
  background: var(--is-green);
}
.p-common-model__plan-head.--is-gold {
  background: #927f55;
}

.p-common-model__plan-lists {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 1.125rem;
  row-gap: 1.125rem;
}
@media screen and (max-width: 980px) {
  .p-common-model__plan-lists {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .p-common-model__plan-lists {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-common-model__plan-item {
  color: #ffffff;
  border: 1px solid #ffffff;
  border-radius: 10px;
  text-align: center;
  padding-block: 1rem 0.8125rem;
  padding-inline: 0.625rem;
}

.p-common-model__plan-heading {
  font-size: clamp(1.25rem, 0.968vw + 1.032rem, 2rem);
  font-weight: 700;
  line-height: 1.0625;
  letter-spacing: 0.03em;
}

.p-common-model__plan-price-wrap {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  display: flex;
  align-items: flex-end;
  column-gap: 0.3125rem;
  margin-block-start: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-common-model__plan-price-wrap {
    align-items: flex-start;
  }
}

.p-common-model__plan-price {
  font-size: clamp(2.25rem, 2.581vw + 1.669rem, 4.25rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}

.p-common-model__plan-price-unit {
  font-size: clamp(1rem, 0.968vw + 0.782rem, 1.75rem);
  font-weight: 700;
  line-height: 0.7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-common-model__plan-price-unit {
    padding-block-start: clamp(0.5rem, 0.983vw + 0.279rem, 0.75rem);
  }
}

.p-common-model__plan-price-unit-sm {
  font-size: clamp(0.75rem, 0.484vw + 0.641rem, 1.125rem);
  font-weight: 700;
  line-height: 1.7777777778;
  letter-spacing: 0.05em;
}

.p-common-model__plan-desc {
  font-size: clamp(0.875rem, 0.403vw + 0.784rem, 1.188rem);
  font-weight: 400;
  margin-block-start: clamp(0.25rem, 0.806vw + 0.069rem, 0.875rem);
  line-height: 1.7894736842;
  letter-spacing: 0.03em;
}
.p-common-model__plan-desc .--add-space {
  margin-inline-start: 1.0625rem;
}

.p-common-model__example {
  padding-block: clamp(1.875rem, 0vw + 1.875rem, 1.875rem);
}
.p-common-model__example .p-common__box-border {
  border-radius: 15px;
  display: flex;
  align-items: center;
  gap: clamp(1.875rem, 7.692vw - 1.817rem, 5.875rem);
  padding-block: 0.625rem 0.9375rem;
  padding-inline: clamp(1.25rem, 2.163vw + 0.212rem, 2.375rem);
  position: relative;
}
@media screen and (max-width: 980px) {
  .p-common-model__example .p-common__box-border {
    flex-direction: column;
    padding-block: 1.375rem 1.5625rem;
  }
}
.p-common-model__example .p-common__box-border::before {
  content: "";
  position: absolute;
  left: clamp(12.188rem, 10.161vw + 5.964rem, 16.125rem);
  top: 50%;
  translate: 0 -50%;
  width: 1px;
  height: 78.1690140845%;
  background: #007e43;
}
@media screen and (max-width: 980px) {
  .p-common-model__example .p-common__box-border::before {
    content: none;
  }
}
.p-common-model__example.--is-gold .p-common__box-border {
  border-color: #927f55;
}
.p-common-model__example.--is-gold .p-common__box-border::before {
  background: #927f55;
}

.p-common-model__example-heading {
  flex-shrink: 0;
  font-size: clamp(1.125rem, 0.601vw + 0.837rem, 1.438rem);
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  line-height: 1.5652173913;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 980px) {
  .p-common-model__example-heading {
    width: 100%;
    position: relative;
  }
  .p-common-model__example-heading::before {
    content: "";
    position: absolute;
    width: 95%;
    height: 1px;
    background-color: #007e43;
    left: 50%;
    translate: -50%;
    top: calc(100% + 1.5625rem);
  }
}

.p-common-model__example-wrap {
  display: flex;
  align-items: center;
  column-gap: clamp(1.875rem, 3.966vw - 0.029rem, 3.938rem);
}
@media screen and (max-width: 767px) {
  .p-common-model__example-wrap {
    text-align: center;
    flex-direction: column;
  }
}

.p-common-model__example-price {
  flex-shrink: 0;
  font-size: clamp(1.5rem, 1.202vw + 0.923rem, 2.125rem);
  font-weight: 700;
  white-space: nowrap;
  line-height: 2.9705882353;
  letter-spacing: 0.1em;
}

.p-common-model__example-price-number {
  font-size: clamp(2rem, 4.567vw - 0.192rem, 4.375rem);
  font-weight: 700;
  line-height: 1.4428571429;
  letter-spacing: 0.1em;
}

.p-common-model__example-bonus-lg {
  font-size: clamp(1.5rem, 1.202vw + 0.923rem, 2.125rem);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.1em;
}

.p-common-model__example-bonus-sm {
  font-size: clamp(0.875rem, 0.24vw + 0.76rem, 1rem);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 600px) {
  .p-common-model__example-bonus-sm:nth-of-type(1) {
    margin-block-start: 0.625rem;
  }
}

.p-common-model__section-heading {
  font-size: clamp(1.313rem, 0.565vw + 1.185rem, 1.75rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
}
.p-common-model__section-heading span {
  text-transform: uppercase;
}
.p-common-model__section-heading span + .--add-space {
  margin-inline-start: 0.4em;
}
.p-common-model__section-heading .u-add__first-color {
  display: inline-block;
}
.p-common-model__section-heading .u-add__first-color::first-letter {
  color: #007e43;
}
.p-common-model__section-heading .u-pc-individual {
  display: block;
}
@media screen and (max-width: 370px) {
  .p-common-model__section-heading .u-pc-individual {
    display: none;
  }
}
.p-common-model__section-heading .u-sp-individual {
  display: none;
}
@media screen and (max-width: 370px) {
  .p-common-model__section-heading .u-sp-individual {
    display: block;
  }
}

.p-common-model__reason-lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.375rem;
  margin-block-start: clamp(3.25rem, 2.903vw + 2.597rem, 5.5rem);
}
@media screen and (max-width: 980px) {
  .p-common-model__reason-lists {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .p-common-model__reason-lists {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-common-model__reason-item {
  background: #ffffff;
  border: 1px solid #007e43;
  border-radius: 8px;
  padding-block: clamp(2rem, 1.29vw + 1.71rem, 3rem) clamp(0.688rem, 1.29vw + 0.397rem, 1.688rem);
  padding-inline: clamp(1.25rem, 0.806vw + 1.069rem, 1.875rem);
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  grid-template-areas: "heading" "img" "text";
  /* subgridを使用しているため、margin-block-endを使用している*/
  margin-block-end: clamp(3.438rem, 1.371vw + 3.129rem, 4.5rem);
}

.p-common-model__reason-item-heading {
  color: var(--is-font-color);
  font-size: clamp(1.125rem, 0.403vw + 1.034rem, 1.438rem);
  font-weight: 700;
  text-align: center;
  align-self: center;
  grid-area: heading;
  line-height: 1.5652173913;
  letter-spacing: 0.1em;
}

.p-common-model__reason-item-text {
  font-weight: 500;
  grid-area: text;
  margin-block-start: 0.625rem;
}

.p-common-model__reason-item-img {
  grid-area: img;
  margin-block-start: 0.875rem;
}

.p-common-model__reason-item-number {
  color: var(--is-font-color);
  font-size: clamp(3.25rem, 3.871vw + 2.379rem, 6.25rem);
  font-weight: 700;
  position: absolute;
  top: clamp(-3.875rem, -2.581vw - 1.294rem, -1.875rem);
  left: 50%;
  translate: -50%;
  line-height: 0.74;
  letter-spacing: 0.1em;
}

.p-common-model__space {
  --element-position: clamp(-1.25rem, -0.403vw - 0.847rem, -0.938rem);
  position: relative;
  top: var(--element-position);
  margin-block-end: var(--element-position);
}
.p-common-model__space .u-color__gold {
  color: #927f55;
}

.p-common-model__space__swiper-container {
  margin-block-start: clamp(1.313rem, 0.484vw + 1.204rem, 1.688rem);
}

.p-common-model__space__swiper-container,
.p-common-model__space__swiper,
.p-common-model__space__swiper-wrapper,
.p-common-model__space__swiper-slide {
  position: relative;
  height: auto;
}

.p-common-model__space__swiper-container .swiper-button-prev,
.p-common-model__space__swiper-container .swiper-button-next {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 1.875rem;
  height: 1.875rem;
  z-index: 10;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
}
.p-common-model__space__swiper-container .swiper-button-prev {
  left: -0.9375rem;
  background-image: url(../img/common/icon-slider-left-bg-green.webp);
}
.p-common-model__space__swiper-container .swiper-button-next {
  right: -0.9375rem;
  background-image: url(../img/common/icon-slider-right-bg-green.webp);
}

.p-common-model__space__swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}

.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  margin: 0;
  padding: 0;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
}

.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  opacity: 1;
}

.p-common-model__equipment .p-common-model__section-heading {
  color: #007e43;
}
.p-common-model__equipment .p-common-model__equipment-text {
  font-weight: 700;
  text-align: center;
  margin-block-start: 0.625rem;
  letter-spacing: 0.03em;
}

.p-common-model__equipment-lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.25rem;
  row-gap: 1.25rem;
  margin-block-start: 1.625rem;
}
@media screen and (max-width: 980px) {
  .p-common-model__equipment-lists {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .p-common-model__equipment-lists {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-common-model__equipment-item {
  border: 1px solid #007e43;
  border-radius: 8px;
  padding-block: clamp(1.063rem, -0.242vw + 1.304rem, 1.25rem) clamp(1.063rem, 1.29vw + 0.772rem, 2.063rem);
  padding-inline: clamp(1.25rem, 1.29vw + 0.46rem, 1.75rem);
}
.p-common-model__equipment-item:nth-child(1) .p-common-model__equipment-item-icon {
  top: -0.625rem;
}
.p-common-model__equipment-item:nth-child(2) .p-common-model__equipment-item-icon {
  width: 31.6109422492%;
}
.p-common-model__equipment-item:nth-child(3) .p-common-model__equipment-item-icon {
  width: 44.376899696%;
}

.p-common-model__equipment-item-heading {
  background: #007e43;
  color: #ffffff;
  font-size: clamp(1.125rem, 0.403vw + 1.034rem, 1.438rem);
  font-weight: 700;
  text-align: center;
  line-height: 2.5217391304;
  letter-spacing: 0.1em;
}

.p-common-model__equipment-item-text {
  font-size: 1rem;
  font-weight: 500;
  margin-block-start: clamp(0.75rem, 0.565vw + 0.623rem, 1.188rem);
  line-height: 1.75;
  letter-spacing: 0.1em;
}

.p-common-model__equipment-item-wrap {
  position: relative;
  margin-block-start: clamp(0.938rem, 1.048vw + 0.702rem, 1.75rem);
}
.p-common-model__equipment-item-wrap .p-common__list-gray {
  width: 66.8693009119%;
}
.p-common-model__equipment-item-wrap .p-common__list-gray li {
  color: #382710;
  line-height: 1.2941176471;
  letter-spacing: 0.03em;
}
.p-common-model__equipment-item-wrap .p-common__list-gray li::before {
  top: 0.3em;
}
.p-common-model__equipment-item-wrap .p-common__list-gray li + li {
  margin-block-start: 1.375rem;
}
.p-common-model__equipment-item-wrap .p-common__list-gray li .--negative__indent {
  text-indent: -0.5em;
}

.p-common-model__equipment-item-icon {
  width: 33.4346504559%;
  position: absolute;
  top: 0;
  right: 0;
}

.p-common-model__equipment-note {
  margin-block-start: clamp(1.25rem, 1.613vw + 0.887rem, 2.5rem);
  padding-block-start: clamp(0.813rem, 0.968vw + 0.595rem, 1.563rem);
  padding-block-end: 1.0625rem;
  padding-inline: clamp(1.25rem, 0.645vw + 1.105rem, 1.75rem);
}
.p-common-model__equipment-note .p-common__heading-sub {
  color: #007e43;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.6470588235;
  letter-spacing: 0em;
}
.p-common-model__equipment-note .p-common__heading-sub + .p-common-model__equipment-note-text {
  margin-block-start: 0.375rem;
}

.p-common-model__equipment-note-text {
  font-size: 1rem;
  font-weight: 400;
  margin-block-start: 0.125rem;
  line-height: 1.75;
  letter-spacing: 0em;
}

.p-common-model__equipment-note-lists {
  margin-block-start: 0.125rem;
  display: flex;
  flex-wrap: wrap;
  column-gap: 1em;
}

.p-common-model__equipment-note-item {
  --text-color: #382710;
  color: var(--text-color);
  font-weight: 700;
  position: relative;
  padding-inline-start: 0.75em;
  letter-spacing: 0.03em;
}
.p-common-model__equipment-note-item::before {
  content: "";
  position: absolute;
  left: 0.25em;
  top: 0.95em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--text-color);
}

.p-common-model__button {
  margin-block-start: clamp(2.5rem, 2.016vw + 2.046rem, 4.063rem);
}
.p-common-model__button .c-button__accent-link {
  font-size: clamp(1.125rem, 0.565vw + 0.998rem, 1.563rem);
  padding-inline: clamp(2.25rem, 2.581vw + 1.669rem, 4.25rem);
}
.p-common-model__button .c-button__accent-link::before {
  left: clamp(0.75rem, 1.29vw + 0.46rem, 1.75rem);
}
.p-common-model__button .c-button__accent-link::after {
  right: clamp(0.75rem, 0.968vw + 0.532rem, 1.5rem);
}

.p-common-model__recommended .p-common-model__section-heading {
  color: #007e43;
}
.p-common-model__recommended .p-common__box-border.--col-three {
  margin-block-start: 1.875rem;
  padding-block-start: 2.5rem;
  align-items: flex-start;
}
.p-common-model__recommended .p-common__box-border-item {
  align-items: flex-start;
  row-gap: 0.75rem;
  grid-row: span 2;
  grid-template-areas: "icon" "heading";
}
.p-common-model__recommended .p-common__box-border-item::before {
  height: 93.3701657459%;
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended .p-common__box-border-item::before {
    height: 1px;
  }
}
.p-common-model__recommended .p-common__box-border-item:nth-child(1) .p-common__box-border-icon {
  width: 21.2418300654%;
  aspect-ratio: auto;
  margin-block-end: 0;
  margin-block-start: 0.625rem;
}
.p-common-model__recommended .p-common__box-border-item:nth-child(2) .p-common__box-border-icon {
  width: 25.1633986928%;
  aspect-ratio: auto;
  margin-block-start: 0.375rem;
}
.p-common-model__recommended .p-common__box-border-item:nth-child(3) .p-common__box-border-icon {
  width: 36.6013071895%;
  aspect-ratio: auto;
}
.p-common-model__recommended .p-common__box-border-item:nth-child(3) .p-common__box-border-icon img {
  vertical-align: top;
}
.p-common-model__recommended .p-common__box-border-heading {
  text-align: center;
}

.p-common-model__recommended-head {
  position: relative;
  background-color: #e5dcd1;
  padding-block-start: clamp(1.125rem, 1.935vw + 0.69rem, 2.625rem);
  padding-block-end: clamp(2.813rem, 1.21vw + 2.54rem, 3.75rem);
}
.p-common-model__recommended-head::before, .p-common-model__recommended-head::after {
  content: "";
  position: absolute;
  width: calc(50vw - 50%);
  height: 100%;
  background-color: #e5dcd1;
  top: 0;
}
.p-common-model__recommended-head::before {
  left: 100%;
}
.p-common-model__recommended-head::after {
  right: 100%;
}

.p-common-model__recommended-body {
  padding-block-start: clamp(2.813rem, 3.629vw + 1.996rem, 5.625rem);
}

.p-common-model__recommended-example {
  padding-block: 1.4375rem 2.5rem;
  padding-inline: clamp(1.25rem, 1.613vw + 0.262rem, 1.875rem);
}
.p-common-model__recommended-example .p-common__heading-sub {
  font-size: clamp(1.313rem, 0.161vw + 1.276rem, 1.438rem);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended-example .p-common__heading-sub {
    text-align: center;
  }
}
.p-common-model__recommended-example .p-common__text {
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended-example .p-common__text {
    text-align: center;
  }
}

.p-common-model__recommended-example-wrap {
  display: flex;
  column-gap: 1.25rem;
  margin-block-start: 1.3125rem;
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended-example-wrap {
    flex-direction: column;
    row-gap: 1.25rem;
  }
}

.p-common-model__recommended-example-child {
  width: 50%;
  border-radius: 8px;
  display: flex;
  align-items: center;
  column-gap: clamp(1.25rem, 4.355vw - 1.417rem, 2.938rem);
  background: #e7edeb;
  padding-block: 0.625rem;
  padding-inline: clamp(0.625rem, 2.097vw - 0.659rem, 1.438rem);
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended-example-child {
    width: min(400px, 100%);
    margin-inline: auto;
  }
}
.p-common-model__recommended-example-child:nth-child(2) .p-common-model__recommended-example-text {
  text-align: center;
}

.p-common-model__recommended-example-text {
  width: 57.6998050682%;
  font-size: clamp(1.125rem, 0.968vw + 0.532rem, 1.5rem);
  font-weight: 700;
  line-height: 1.4166666667;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 980px) {
  .p-common-model__recommended-example-text {
    font-size: clamp(1rem, 0.323vw + 0.927rem, 1.125rem);
  }
}

.p-common-model__recommended-example-money {
  font-size: clamp(1.125rem, 0.806vw + 0.631rem, 1.438rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4782608696;
}
@media screen and (max-width: 980px) {
  .p-common-model__recommended-example-money {
    font-size: clamp(1rem, 0.323vw + 0.927rem, 1.125rem);
    flex-shrink: 0;
  }
}

.p-common-model__recommended-example-number {
  color: #007e43;
  font-size: clamp(2rem, 2.903vw + 0.222rem, 3.125rem);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: 0.05em;
}

.p-common-model__recommended-detail {
  padding-block-start: clamp(1.25rem, 4.032vw + 0.343rem, 4.375rem);
}
.p-common-model__recommended-detail .p-common__heading-dashed {
  padding-block-end: 0.375rem;
}
.p-common-model__recommended-detail .p-common__table {
  margin-block-start: 1.875rem;
  table-layout: fixed;
}
.p-common-model__recommended-detail .p-common__table th {
  width: 16.6666666667%;
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended-detail .p-common__table th {
    width: 100%;
  }
}
.p-common-model__recommended-detail .p-common__table td:not([colspan]) {
  width: 33.3333333333%;
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended-detail .p-common__table td:not([colspan]) {
    width: 100%;
  }
}
.p-common-model__recommended-detail .p-common__table td {
  --cell-padding-block-end: 0.6875rem;
}
.p-common-model__recommended-detail .p-common__table .p-common-model__recommended-detail-image + .p-common__list-green {
  margin-block-start: 0.875rem;
}
.p-common-model__recommended-detail .p-common__table .p-common__list-green {
  margin-inline-start: 0.3125rem;
}
.p-common-model__recommended-detail .p-common__table .p-common__list-green li {
  font-weight: 400;
  letter-spacing: 0;
  padding-inline-start: 1rem;
}
.p-common-model__recommended-detail .p-common__table .p-common__list-green li + li {
  margin-block-start: 0.125rem;
}
.p-common-model__recommended-detail .p-common__table .p-common__list-green .--negative__indent {
  text-indent: -0.5em;
}
.p-common-model__recommended-detail .p-common__table .p-common__list-green.--is-col {
  display: grid;
  grid-template-columns: 2fr 3fr;
  row-gap: 0.125rem;
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended-detail .p-common__table .p-common__list-green.--is-col {
    grid-template-columns: 1fr;
  }
}
.p-common-model__recommended-detail .p-common__table .p-common__list-green.--is-col li + li {
  margin-block-start: 0;
}
.p-common-model__recommended-detail .p-common__box-border {
  padding-block-start: clamp(0.625rem, -0.806vw + 1.431rem, 1.25rem);
  padding-block-end: clamp(1.25rem, 0.806vw + 1.069rem, 1.875rem);
  padding-inline: clamp(1.25rem, 0.645vw + 1.105rem, 1.75rem);
}
.p-common-model__recommended-detail .p-common__box-border .p-common__box-border-wrap {
  display: flex;
  column-gap: clamp(1.875rem, 0vw + 1.875rem, 1.875rem);
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended-detail .p-common__box-border .p-common__box-border-wrap {
    flex-direction: column-reverse;
  }
}
.p-common-model__recommended-detail .p-common__box-border .p-common__heading-sub {
  font-size: clamp(1.313rem, 0.161vw + 1.276rem, 1.438rem);
  line-height: 2.5217391304;
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended-detail .p-common__box-border .p-common__heading-sub {
    text-align: center;
    line-height: 1.5;
  }
}
.p-common-model__recommended-detail .p-common__box-border .p-common__text {
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended-detail .p-common__box-border .p-common__text {
    margin-block-start: 1.25rem;
  }
}
.p-common-model__recommended-detail .p-common__box-border .p-common__image {
  width: 33.7127845884%;
  flex-shrink: 0;
  margin-block-start: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-common-model__recommended-detail .p-common__box-border .p-common__image {
    width: 100%;
    margin-block-start: 1.375rem;
  }
}
.p-common-model__recommended-detail + .p-common-model__recommended-detail {
  padding-block-start: clamp(2.5rem, 1.21vw + 2.228rem, 3.438rem);
}

.p-common-model__recommended-detail-wrap {
  margin-block-start: 1.875rem;
  display: grid;
  row-gap: 1.25rem;
}

.p-standard__wrap {
  position: relative;
  max-height: max(41.25rem, 30vw);
  overflow-y: hidden;
}
@media screen and (min-width: 1900px) {
  .p-standard__wrap {
    max-height: max(45rem, 30vw);
  }
}
@media screen and (max-width: 1435px) {
  .p-standard__wrap {
    max-height: none;
  }
}
@media screen and (max-width: 767px) {
  .p-standard__wrap {
    max-height: none;
    overflow-y: visible;
    display: flex;
    flex-direction: column;
  }
}
.p-standard__wrap {
  /* パンくずリスト */
}
.p-standard__wrap .p-breadcrumb {
  /* 打ち消し*/
  margin-block-start: 0rem;
  /* ページ固有のスタイル */
  position: absolute;
  top: clamp(0rem, 2.258vw - 0.508rem, 1.75rem);
  left: 50%;
  translate: -50%;
  width: 100%;
  z-index: 3;
}
@media screen and (min-width: 1601px) {
  .p-standard__wrap .p-breadcrumb {
    top: max(1.75rem, 1.75vw);
  }
}
@media screen and (max-width: 767px) {
  .p-standard__wrap .p-breadcrumb {
    top: 1rem;
  }
}
.p-standard__wrap .p-breadcrumb li {
  padding-inline-start: 0.1875rem;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-standard__wrap .p-breadcrumb li {
    padding-inline-start: 0rem;
  }
}

.p-standard__hero-content {
  width: min(1280px, 100%);
  padding-inline: 2.5rem;
  padding-block-end: 1.875rem;
  top: clamp(2.813rem, 6.611vw - 0.361rem, 6.25rem);
  position: absolute;
  left: 50%;
  translate: -50%;
  z-index: 2;
}
@media screen and (min-width: 1601px) {
  .p-standard__hero-content {
    top: max(6.25rem, 6.25vw);
  }
}
@media screen and (max-width: 767px) {
  .p-standard__hero-content {
    top: 0;
    position: relative;
    order: 3;
    margin-block-start: 1.5rem;
    padding-inline: 1.25rem;
    max-width: 640px;
  }
}
.p-standard__hero-content .p-common__title {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  align-items: flex-start;
  row-gap: clamp(0.375rem, 0.841vw - 0.029rem, 0.813rem);
}
@media screen and (max-width: 1280px) {
  .p-standard__hero-content .p-common__title {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p-standard__hero-content .p-common__title {
    align-items: center;
    row-gap: 0.5rem;
  }
}
.p-standard__hero-content .p-common__title-jp {
  font-size: clamp(1.063rem, 0.484vw + 0.954rem, 1.438rem);
  font-weight: 700;
  transform: scaleY(1.01);
  transform-origin: center;
  text-indent: 0;
  line-height: 1.3913043478;
  letter-spacing: 0.1em;
}
.p-standard__hero-content .p-common__title-en {
  color: #007e43;
  font-size: clamp(2.25rem, 3.79vw + 1.397rem, 5.188rem);
  font-weight: 700;
  text-indent: 0;
  text-shadow: 0 0 10px #fff, 0 0 20px #fff;
  line-height: 0.9277108434;
}
@media screen and (max-width: 767px) {
  .p-standard__hero-content .p-common__title-en {
    text-align: center;
  }
}

.p-standard__hero-copy {
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1.25rem, 1.442vw + 0.558rem, 2rem);
  font-weight: bold;
  margin-block-start: clamp(0.375rem, 0.481vw + 0.144rem, 0.625rem);
  line-height: 2.03125;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1601px) {
  .p-standard__hero-copy {
    margin-block-start: max(0.4375rem, 0.4375vw);
  }
}
@media screen and (max-width: 1280px) {
  .p-standard__hero-copy {
    margin-inline-start: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .p-standard__hero-copy {
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .p-standard__hero-copy {
    margin-block-start: 1.3125rem;
    margin-inline: auto;
    text-indent: 0.1em;
    text-align: center;
    line-height: 1.5;
  }
}
.p-standard__hero-copy .--add-strong {
  color: #007e43;
  font-size: clamp(2.25rem, 3.726vw + 0.462rem, 4.188rem);
  rotate: 6deg;
  line-height: 0.6417910448;
  letter-spacing: 0.1em;
}
.p-standard__hero-copy .u-add-break {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .p-standard__hero-copy .u-add-break {
    display: block;
  }
}

.p-standard__hero-price {
  --icon-size: clamp(5.25rem, 3.606vw + 3.519rem, 7.125rem);
  padding-inline-start: calc(var(--icon-size) + 0.75rem);
  margin-block-start: clamp(0.375rem, 8.173vw - 3.548rem, 4.625rem);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-standard__hero-price {
    --icon-size: 4.625rem;
    width: -moz-fit-content;
    width: fit-content;
    margin-block-start: 1.4375rem;
    margin-inline: auto;
  }
}

.p-standard__hero-price-icon {
  --line-height: 1.1;
  color: #ffffff;
  background: var(--is-icon-color);
  border-radius: 50%;
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: clamp(1rem, 0.565vw + 0.873rem, 1.438rem);
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  line-height: var(--line-height);
  text-indent: 0.03em;
  padding-block-end: 0.3em;
  position: absolute;
  top: clamp(0.625rem, 5.168vw - 1.856rem, 3.313rem);
  left: 0;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-standard__hero-price-icon {
    top: 0.5rem;
  }
}
.p-standard__hero-price-icon.is-bg-gray {
  --is-icon-color: #666666;
}
.p-standard__hero-price-icon.is-bg-red {
  --is-icon-color: #be3f17;
}

.p-standard__hero-price-icon-number {
  font-size: clamp(1.75rem, 1.694vw + 1.369rem, 3.063rem);
  line-height: var(--line-height);
}

.p-standard__hero-price-icon-unit {
  font-size: clamp(1.125rem, 0.645vw + 0.98rem, 1.625rem);
  line-height: var(--line-height);
}

.p-standard__hero-price-copy {
  font-size: clamp(1.125rem, 0.968vw + 0.907rem, 1.875rem);
  font-weight: 700;
  line-height: 1.1333333333;
  letter-spacing: 0.03em;
}

.p-standard__hero-price-wrap {
  display: flex;
  align-items: flex-end;
  column-gap: 0.5rem;
  margin-block-start: clamp(0rem, -0.721vw + 0.721rem, 0.375rem);
}
@media screen and (max-width: 767px) {
  .p-standard__hero-price-wrap {
    margin-block-start: 0.1875rem;
  }
}

/* 価格の数字部分 ここから */
.p-standard__hero-price-number {
  color: #c23321;
  font-size: clamp(2.25rem, 6.774vw + 0.726rem, 7.5rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-standard__hero-price-number {
    font-size: 3.25rem;
  }
}

.p-standard__hero-price-unit {
  /* line-heightの値を16とした場合の値を算出 1.4~2.4の間で算出 */
  line-height: clamp(1.4rem, 1.154vw + 0.846rem, 2rem);
}

.p-standard__hero-price-unit-main {
  font-size: clamp(1rem, 1.694vw + 0.619rem, 2.313rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}

.p-standard__hero-price-unit-sub {
  font-size: clamp(0.875rem, 0.806vw + 0.694rem, 1.5rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}

/* 価格の数字部分 ここまで */
@media screen and (max-width: 767px) {
  .p-standard__hero-image {
    /* 先頭に移動したため上余白を打ち消し */
    margin-block-start: 0;
    order: 1;
  }
}
.p-standard__hero-image picture {
  width: 100%;
}
.p-standard__hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
@media screen and (min-width: 1601px) {
  .p-standard__hero-image img {
    object-position: center clamp(-15.625rem, -11.166vw + 11.173rem, 0rem);
  }
}

.p-standard__hero-image-sub {
  display: flex;
  column-gap: 1.125rem;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline-start: 0.875rem;
  margin-block-start: clamp(0.125rem, 3.726vw - 1.663rem, 2.063rem);
}
@media screen and (min-width: 1601px) {
  .p-standard__hero-image-sub {
    margin-block-start: max(2.0625rem, 2.0625vw);
  }
}
@media screen and (max-width: 767px) {
  .p-standard__hero-image-sub {
    /* 打ち消し*/
    padding-inline-start: 0rem;
    /* 固有のスタイル */
    margin-block-start: 1.375rem;
  }
}

.p-standard__hero-image-sub-left {
  width: clamp(6.25rem, 22.837vw - 4.712rem, 18.125rem);
}
@media screen and (max-width: 767px) {
  .p-standard__hero-image-sub-left {
    width: 100%;
  }
}

.p-standard__hero-image-sub-right {
  width: clamp(6.25rem, 22.837vw - 4.712rem, 18.125rem);
}
@media screen and (max-width: 767px) {
  .p-standard__hero-image-sub-right {
    width: 100%;
  }
}

.p-premium__wrap {
  position: relative;
  max-height: max(41.25rem, 30vw);
  overflow-y: hidden;
}
@media screen and (min-width: 1900px) {
  .p-premium__wrap {
    max-height: max(45rem, 30vw);
  }
}
@media screen and (max-width: 1435px) {
  .p-premium__wrap {
    max-height: none;
  }
}
@media screen and (max-width: 767px) {
  .p-premium__wrap {
    max-height: none;
    overflow-y: visible;
    display: flex;
    flex-direction: column;
  }
}
.p-premium__wrap {
  /* パンくずリスト */
}
.p-premium__wrap .p-breadcrumb {
  /* 打ち消し*/
  margin-block-start: 0rem;
  /* ページ固有のスタイル */
  position: absolute;
  top: clamp(0rem, 2.258vw - 0.508rem, 1.75rem);
  left: 50%;
  translate: -50%;
  width: 100%;
  z-index: 3;
}
@media screen and (min-width: 1601px) {
  .p-premium__wrap .p-breadcrumb {
    top: max(1.75rem, 1.75vw);
  }
}
@media screen and (max-width: 767px) {
  .p-premium__wrap .p-breadcrumb {
    top: 1rem;
  }
}
.p-premium__wrap .p-breadcrumb li {
  text-transform: uppercase;
  padding-inline-start: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .p-premium__wrap .p-breadcrumb li {
    padding-inline-start: 0rem;
  }
}

.p-premium__hero-content {
  width: min(1280px, 100%);
  padding-inline: 2.5rem;
  padding-block-end: 1.875rem;
  top: clamp(2.813rem, 7.452vw - 0.764rem, 6.688rem);
  position: absolute;
  left: 50%;
  translate: -50%;
  z-index: 2;
}
@media screen and (min-width: 1601px) {
  .p-premium__hero-content {
    top: max(6.6875rem, 6.6875vw);
  }
}
@media screen and (min-width: 2950px) {
  .p-premium__hero-content {
    top: max(9.0625rem, 9.0625vw);
  }
}
@media screen and (max-width: 767px) {
  .p-premium__hero-content {
    top: 0;
    position: relative;
    order: 3;
    margin-block-start: 1.5rem;
    padding-inline: 1.25rem;
    max-width: 640px;
  }
}
.p-premium__hero-content .p-common__title {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-start;
  align-items: flex-end;
  text-align: right;
  row-gap: clamp(0.375rem, 0.841vw - 0.029rem, 0.813rem);
}
@media screen and (max-width: 1280px) {
  .p-premium__hero-content .p-common__title {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 767px) {
  .p-premium__hero-content .p-common__title {
    align-items: center;
    row-gap: 0.5rem;
  }
}
.p-premium__hero-content .p-common__title-en {
  color: #007e43;
  font-size: clamp(2.25rem, 3.065vw + 1.56rem, 4.625rem);
  font-weight: 700;
  text-indent: 0;
  line-height: 1.2027027027;
}
@media screen and (max-width: 767px) {
  .p-premium__hero-content .p-common__title-en {
    text-align: center;
  }
}
.p-premium__hero-content .p-common__title-en .--add-gradation {
  background: linear-gradient(90deg, #95804c 50%, #5e4500 75%, #3d2600);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-premium__hero-copy {
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(1.25rem, 1.442vw + 0.558rem, 2rem);
  font-weight: bold;
  margin-block-start: clamp(0.375rem, 1.082vw - 0.144rem, 0.938rem);
  margin-inline-start: auto;
  line-height: 1.625;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1601px) {
  .p-premium__hero-copy {
    margin-block-start: max(0.9375rem, 0.9375vw);
  }
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .p-premium__hero-copy {
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .p-premium__hero-copy {
    margin-block-start: 1.3125rem;
    margin-inline: auto;
    text-indent: 0.1em;
    text-align: center;
    line-height: 1.5;
  }
}
.p-premium__hero-copy .--add-strong {
  color: #007e43;
  font-size: clamp(2.25rem, 3.726vw + 0.462rem, 4.188rem);
  rotate: 6deg;
  line-height: 0.6417910448;
  letter-spacing: 0.1em;
}
.p-premium__hero-copy .u-add-break {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .p-premium__hero-copy .u-add-break {
    display: block;
  }
}

.p-premium__hero-price {
  --icon-size: clamp(5.25rem, 3.606vw + 3.519rem, 7.125rem);
  padding-inline-start: calc(var(--icon-size) + 0.75rem);
  margin-block-start: clamp(0.375rem, 10.216vw - 4.529rem, 5.688rem);
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline-start: auto;
}
@media screen and (max-width: 767px) {
  .p-premium__hero-price {
    --icon-size: 4.625rem;
    width: -moz-fit-content;
    width: fit-content;
    margin-block-start: 1.4375rem;
    margin-inline: auto;
  }
}

.p-premium__hero-price-icon {
  --line-height: 1.1;
  color: #ffffff;
  background: var(--is-icon-color);
  border-radius: 50%;
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: clamp(1rem, 0.565vw + 0.873rem, 1.438rem);
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  line-height: var(--line-height);
  text-indent: 0.03em;
  padding-block-end: 0.3em;
  position: absolute;
  top: clamp(0.625rem, 5.529vw - 2.029rem, 3.5rem);
  left: 0;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-premium__hero-price-icon {
    top: 0.5rem;
  }
}
.p-premium__hero-price-icon.is-bg-gray {
  --is-icon-color: #666666;
}
.p-premium__hero-price-icon.is-bg-red {
  --is-icon-color: #be3f17;
}

.p-premium__hero-price-icon-number {
  font-size: clamp(1.75rem, 1.694vw + 1.369rem, 3.063rem);
  line-height: var(--line-height);
}

.p-premium__hero-price-icon-unit {
  font-size: clamp(1.125rem, 0.645vw + 0.98rem, 1.625rem);
  line-height: var(--line-height);
}

.p-premium__hero-price-copy {
  font-size: clamp(1.125rem, 0.968vw + 0.907rem, 1.875rem);
  font-weight: 700;
  line-height: 1.1333333333;
  letter-spacing: 0.03em;
}

.p-premium__hero-price-wrap {
  display: flex;
  align-items: flex-end;
  column-gap: 0.5rem;
  margin-block-start: clamp(0.188rem, -0.361vw + 0.548rem, 0.375rem);
}
@media screen and (max-width: 767px) {
  .p-premium__hero-price-wrap {
    margin-block-start: 0.1875rem;
  }
}

/* 価格の数字部分 ここから */
.p-premium__hero-price-number {
  color: #c13321;
  font-size: clamp(2.25rem, 6.774vw + 0.726rem, 7.5rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-premium__hero-price-number {
    font-size: 3.25rem;
    color: #000000;
  }
}

.p-premium__hero-price-unit {
  /* line-heightの値を16とした場合の値を算出 1.4~2.4の間で算出 */
  line-height: clamp(1.4rem, 1.154vw + 0.846rem, 2rem);
  
}
@media screen and (max-width: 767px) {
  .p-premium__hero-price-unit {
    color: #000000;
  }
}

.p-premium__hero-price-unit-main {
  font-size: clamp(1rem, 1.694vw + 0.619rem, 2.313rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}

.p-premium__hero-price-unit-sub {
  font-size: clamp(0.875rem, 0.806vw + 0.694rem, 1.5rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}

/* 価格の数字部分 ここまで */
@media screen and (max-width: 767px) {
  .p-premium__hero-image {
    /* 先頭に移動したため上余白を打ち消し */
    margin-block-start: 0;
    order: 1;
  }
}
.p-premium__hero-image picture {
  width: 100%;
}
.p-premium__hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
@media screen and (min-width: 1601px) {
  .p-premium__hero-image img {
    object-position: center clamp(-15.625rem, -11.166vw + 11.173rem, 0rem);
  }
}
@media screen and (min-width: 1780px) {
  .p-premium__hero-image img {
    object-position: center clamp(-4.688rem, -50vw + 51.563rem, -4.063rem);
  }
}
@media screen and (min-width: 1900px) {
  .p-premium__hero-image img {
    object-position: center clamp(-37.5rem, -28.093vw + 29.923rem, -3.438rem);
  }
}
@media screen and (min-width: 2830px) {
  .p-premium__hero-image img {
    object-position: center clamp(-26.25rem, -13.861vw + 7.017rem, -17.5rem);
  }
}

.p-premium__hero-image-sub {
  display: flex;
  column-gap: 1.125rem;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline-start: 0.875rem;
  margin-block-start: clamp(0.125rem, 3.726vw - 1.663rem, 2.063rem);
}
@media screen and (min-width: 1601px) {
  .p-premium__hero-image-sub {
    margin-block-start: max(2.0625rem, 2.0625vw);
  }
}
@media screen and (max-width: 767px) {
  .p-premium__hero-image-sub {
    /* 打ち消し*/
    padding-inline-start: 0rem;
    /* 固有のスタイル */
    margin-block-start: 1.375rem;
  }
}

.p-premium__hero-image-sub-left {
  width: clamp(6.25rem, 22.837vw - 4.712rem, 18.125rem);
}
@media screen and (max-width: 767px) {
  .p-premium__hero-image-sub-left {
    width: 100%;
  }
}

.p-premium__hero-image-sub-right {
  width: clamp(6.25rem, 22.837vw - 4.712rem, 18.125rem);
}
@media screen and (max-width: 767px) {
  .p-premium__hero-image-sub-right {
    width: 100%;
  }
}

.p-premium__recommended .p-common__box-border-item {
  row-gap: 1.1875rem;
}
.p-premium__recommended .p-common__box-border-item:nth-child(1) .p-common__box-border-icon {
  width: 25.1633986928%;
  margin-block-start: 1.125rem;
}
.p-premium__recommended .p-common__box-border-item:nth-child(2) .p-common__box-border-icon {
  width: 36.6013071895%;
  aspect-ratio: auto;
  margin-block-start: 0;
}
.p-premium__recommended .p-common__box-border-item:nth-child(2) .p-common__box-border-icon img {
  vertical-align: top;
}
.p-premium__recommended .p-common__box-border-item:nth-child(3) .p-common__box-border-icon {
  width: 38.2352941176%;
}
.p-premium__recommended .p-common__heading-dashed + .p-common__text {
  margin-block-start: clamp(0.938rem, 0.806vw + 0.756rem, 1.563rem);
  letter-spacing: 0;
}
.p-premium__recommended .p-common__table {
  margin-block-start: 1.25rem;
}

.p-custom__hero {
  margin-block-start: clamp(3.75rem, -0.565vw + 4.315rem, 4.188rem);
  background: #f6faed;
}
@media screen and (max-width: 767px) {
  .p-custom__hero {
    padding-block-end: 2.5rem;
  }
}

.p-custom__hero-wrap {
  position: relative;
  max-height: max(41.25rem, 30vw);
  overflow-y: hidden;
}
@media screen and (min-width: 1900px) {
  .p-custom__hero-wrap {
    max-height: max(45rem, 30vw);
  }
}
@media screen and (max-width: 1435px) {
  .p-custom__hero-wrap {
    max-height: none;
  }
}
@media screen and (max-width: 767px) {
  .p-custom__hero-wrap {
    max-height: none;
    overflow-y: visible;
    display: flex;
    flex-direction: column;
  }
}
.p-custom__hero-wrap {
  /* パンくずリスト */
}
.p-custom__hero-wrap .p-breadcrumb {
  /* 打ち消し*/
  margin-block-start: 0rem;
  /* ページ固有のスタイル */
  position: absolute;
  top: clamp(0rem, 2.258vw - 0.508rem, 1.75rem);
  left: 50%;
  translate: -50%;
  width: 100%;
  z-index: 3;
}
@media screen and (min-width: 1601px) {
  .p-custom__hero-wrap .p-breadcrumb {
    top: max(1.75rem, 1.75vw);
  }
}
@media screen and (max-width: 767px) {
  .p-custom__hero-wrap .p-breadcrumb {
    top: 1rem;
  }
}
.p-custom__hero-wrap .p-breadcrumb li {
  padding-inline-start: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .p-custom__hero-wrap .p-breadcrumb li {
    padding-inline-start: 0rem;
  }
}

.p-custom__hero-content {
  width: min(1280px, 100%);
  padding-inline: 2.5rem;
  top: clamp(2.188rem, 5.529vw - 0.466rem, 5.063rem);
  position: absolute;
  left: 50%;
  translate: -50%;
  z-index: 2;
}
@media screen and (min-width: 1601px) {
  .p-custom__hero-content {
    top: max(5.0625rem, 5.0625vw);
  }
}
@media screen and (max-width: 767px) {
  .p-custom__hero-content {
    top: 0;
    position: relative;
    order: 3;
    margin-block-start: 1.5rem;
    padding-inline: 1.25rem;
    max-width: 352px;
  }
}
@media screen and (max-width: 390px) {
  .p-custom__hero-content {
    max-width: none;
  }
}
.p-custom__hero-content .p-common__title {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  column-gap: 1.5rem;
}
.p-custom__hero-content .p-common__title-jp {
  font-size: clamp(1.125rem, 2.043vw + 0.144rem, 2.188rem);
  font-weight: 700;
  line-height: 1.9428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-custom__hero-content .p-common__title-jp {
    font-size: 1.5rem;
  }
}
.p-custom__hero-content .p-custom__hero-strong {
  color: #007e43;
  font-size: clamp(1.313rem, 5.168vw - 1.168rem, 4rem);
  font-weight: 700;
  margin-inline-start: -0.5em;
  line-height: 1.5625;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-custom__hero-content .p-custom__hero-strong {
    font-size: 2rem;
  }
}
.p-custom__hero-content .p-custom__hero-emphasis-char {
  position: relative;
}
.p-custom__hero-content .p-custom__hero-emphasis-char::before {
  content: "";
  position: absolute;
  bottom: calc(100% - clamp(0.5rem, 0.962vw + 0.038rem, 1rem));
  left: 50%;
  translate: -50% 0;
  width: clamp(0.5rem, 0.481vw + 0.269rem, 0.75rem);
  height: clamp(0.5rem, 0.481vw + 0.269rem, 0.75rem);
  margin-block-end: 0.125rem;
  border-radius: 50%;
  background-color: #f39800;
}

.p-custom__hero-description {
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1rem, 0.24vw + 0.885rem, 1.125rem);
  font-weight: 400;
  margin-block-start: clamp(0rem, -3.676vw + 1.765rem, 0.938rem);
  line-height: 1.8888888889;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1601px) {
  .p-custom__hero-description {
    margin-block-start: max(0rem, 0vw);
  }
}
.p-custom__hero-description .--add-strong {
  font-size: clamp(1rem, 0.484vw + 0.891rem, 1.375rem);
  font-weight: 700;
  line-height: 1.3181818182;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-custom__hero-description .--add-strong {
    font-size: 1.125rem;
  }
}

.p-custom__hero-icon-wrap {
  width: clamp(20.375rem, 20.673vw + 10.452rem, 31.125rem);
  background: #ffffff;
  border: 2px solid #c6b198;
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  column-gap: clamp(0rem, 9.135vw - 4.385rem, 4.75rem);
  padding-block: clamp(0.25rem, 1.923vw - 0.673rem, 1.25rem) clamp(0rem, 0.481vw - 0.231rem, 0.25rem);
  padding-inline: clamp(1.25rem, 1.202vw + 0.673rem, 1.875rem);
  margin-block-start: clamp(0rem, 2.404vw - 1.154rem, 1.25rem);
}
@media screen and (max-width: 767px) {
  .p-custom__hero-icon-wrap {
    width: min(20rem, 100%);
    margin-block-start: 1.4375rem;
    padding-block: 0.625rem 0.125rem;
  }
}

.p-custom__hero-icon-item {
  width: clamp(3.75rem, 6.971vw + 0.404rem, 7.375rem);
}
.p-custom__hero-icon-item:first-child .p-custom__hero-icon-description {
  text-indent: -0.5em;
}
.p-custom__hero-icon-item:last-child .p-custom__hero-icon::before {
  content: none;
}

.p-custom__hero-icon {
  position: relative;
  width: clamp(2.5rem, 6.49vw - 0.615rem, 5.875rem);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-custom__hero-icon {
    width: 3.75rem;
  }
}
.p-custom__hero-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: calc(100% + clamp(1.25rem, 0.601vw + 0.962rem, 1.563rem));
  width: clamp(1.125rem, 0.726vw + 0.962rem, 1.688rem);
  height: clamp(1.125rem, 0.726vw + 0.962rem, 1.688rem);
  background: url(../img/custom-home/icon-custom02.webp) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .p-custom__hero-icon::before {
    left: calc(100% + clamp(0.875rem, -0.737vw + 1.228rem, 1.063rem));
  }
}

.p-custom__hero-icon-description {
  color: #382710;
  font-size: clamp(0.875rem, 0.721vw + 0.529rem, 1.25rem);
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  margin-block-start: clamp(0rem, 0.601vw - 0.288rem, 0.313rem);
  line-height: 2.3;
  letter-spacing: 0em;
}

@media screen and (max-width: 767px) {
  .p-custom__hero-image {
    margin-block-start: 0;
    order: 1;
  }
}
.p-custom__hero-image picture {
  width: 100%;
}
.p-custom__hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
@media screen and (min-width: 1601px) {
  .p-custom__hero-image img {
    object-position: center clamp(-15.625rem, -11.166vw + 11.173rem, 0rem);
  }
}

.p-custom__title {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  color: #007e43;
  font-size: clamp(1.313rem, 0.887vw + 1.113rem, 2rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.625;
  letter-spacing: 0.12em;
}
.p-custom__title::before, .p-custom__title::after {
  content: "";
  position: absolute;
  top: calc(50% + clamp(0.313rem, -0.161vw + 0.474rem, 0.438rem));
  translate: 0 -50%;
  width: clamp(3.438rem, -0.403vw + 3.841rem, 3.75rem);
  height: clamp(0.125rem, 0vw + 0.125rem, 0.125rem);
  background-color: #007e43;
}
.p-custom__title::before {
  rotate: 55deg;
  right: calc(100% + clamp(-1.25rem, 3.387vw - 2.012rem, 1.375rem));
}
.p-custom__title::after {
  rotate: -55deg;
  left: calc(100% + clamp(-1.25rem, 1.774vw - 1.649rem, 0.125rem));
}
.p-custom__title .--add-font-bg {
  font-size: clamp(2rem, 2.258vw + 1.492rem, 3.75rem);
  font-weight: inherit;
  line-height: 0.8666666667;
  letter-spacing: 0.12em;
}

.p-custom__wrap {
  margin-block-start: clamp(1.375rem, 1.935vw + 0.94rem, 2.875rem);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto auto auto;
  column-gap: 1.25rem;
  row-gap: 1.25rem;
}
@media screen and (max-width: 980px) {
  .p-custom__wrap {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    justify-items: center;
    row-gap: clamp(1.25rem, 3.226vw + 0.524rem, 2.5rem);
  }
}

.p-custom__item {
  width: min(36.5rem, 100%);
  border: 2px solid #007e43;
  border-radius: 15px;
  overflow: hidden;
  background: #e7edeb;
  padding-block-end: 1.75rem;
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  row-gap: 0;
}
@media screen and (max-width: 980px) {
  .p-custom__item {
    grid-row: auto;
    grid-template-rows: none;
  }
}
.p-custom__item:nth-child(even) .p-custom__item-copy {
  left: auto;
  right: 0;
}
.p-custom__item.--is-green .p-custom__body-item:nth-child(2) {
  padding-inline-start: 4.375rem;
}
.p-custom__item.--is-green .p-custom__body-item:nth-child(2)::before {
  background: url(../img/custom-home/icon-custom06.webp) no-repeat center center/contain;
  width: 3.125rem;
  height: 2.5rem;
  left: 0.5625rem;
}
.p-custom__item.--is-green .p-custom__body-item:nth-child(3) {
  padding-inline-start: 4rem;
}
.p-custom__item.--is-green .p-custom__body-item:nth-child(3)::before {
  background: url(../img/custom-home/icon-custom07.webp) no-repeat center center/contain;
  width: 2.5rem;
  height: 2.6875rem;
  left: 0.6875rem;
}
.p-custom__item.--is-green .c-button__main-link {
  border-color: #007e43;
}
.p-custom__item.--is-gold {
  border-color: #937f55;
  background: #e5dcd1;
}
.p-custom__item.--is-gold .p-custom__body-item:nth-child(1) {
  padding-inline-start: 3.125rem;
}
.p-custom__item.--is-gold .p-custom__body-item:nth-child(1)::before {
  background: url(../img/custom-home/icon-custom08.webp) no-repeat center center/contain;
  width: 2.0625rem;
  height: 1.5625rem;
  left: 0.5625rem;
}
.p-custom__item.--is-gold .p-custom__body-item:nth-child(2) {
  padding-inline-start: 5.625rem;
}
.p-custom__item.--is-gold .p-custom__body-item:nth-child(2)::before {
  background: url(../img/custom-home/icon-custom09.webp) no-repeat center center/contain;
  width: 3.625rem;
  height: 2.5rem;
  left: 0.625rem;
}
.p-custom__item.--is-gold .p-custom__body-item:nth-child(3) {
  padding-inline-start: 4rem;
}
.p-custom__item.--is-gold .p-custom__body-item:nth-child(3)::before {
  background: url(../img/custom-home/icon-custom10.webp) no-repeat center center/contain;
  width: 1.75rem;
  height: 3.0625rem;
  left: 1.25rem;
}
.p-custom__item.--is-gold .p-custom__item-copy-en {
  background-color: #937f55;
}
.p-custom__item.--is-gold .c-button__main-link {
  border-color: #937f55;
}
.p-custom__item .c-button__main {
  width: min(23.75rem, 100%);
}
@media screen and (max-width: 767px) {
  .p-custom__item .c-button__main {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-custom__item .c-button__main-link {
  width: 100%;
  font-size: clamp(1rem, 0.161vw + 0.964rem, 1.125rem);
  padding-inline: clamp(1.688rem, 1.532vw + 1.343rem, 2.875rem) clamp(2.875rem, -0.081vw + 2.956rem, 2.938rem);
  line-height: 2.8888888889;
}
@media screen and (max-width: 767px) {
  .p-custom__item .c-button__main-link {
    min-width: auto;
  }
}
.p-custom__item .c-button__main-link .--add-upper-case {
  text-transform: uppercase;
}

.p-custom__item-image-wrap {
  position: relative;
}

.p-custom__item-image > a:hover {
  opacity: 1;
}

.p-custom__item-copy {
  width: -moz-fit-content;
  width: fit-content;
  display: grid;
  row-gap: 0.75rem;
  position: absolute;
  bottom: clamp(0.625rem, 0.161vw + 0.589rem, 0.75rem);
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-custom__item-copy {
    row-gap: 0.5rem;
  }
}

.p-custom__item-copy-en {
  background-color: #007e43;
  color: #ffffff;
  font-size: clamp(1.313rem, 0.806vw + 1.131rem, 1.938rem);
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  padding-inline: 1.375rem;
  line-height: 1.3548387097;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-custom__item-copy-en {
    line-height: 1.6666666667;
  }
}

.p-custom__item-copy-jp {
  background-color: #ffffff;
  font-size: clamp(0.75rem, 0.484vw + 0.641rem, 1.125rem);
  font-weight: 700;
  text-align: center;
  padding-inline: 0.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-custom__item-copy-jp {
    line-height: 2;
  }
}

.p-custom__body {
  grid-row: 2/-1;
  display: grid;
  grid-template-rows: subgrid;
  row-gap: 0;
  padding-block-start: 1.75rem;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 980px) {
  .p-custom__body {
    grid-row: auto;
    grid-template-rows: none;
  }
}
.p-custom__body .c-button__main {
  margin-block-start: 2rem;
}

.p-custom__lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 0.875rem;
}
@media screen and (max-width: 1240px) {
  .p-custom__lists {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 1.25rem;
  }
}

.p-custom__body-item {
  position: relative;
  display: grid;
  align-content: center;
  background: #ffffff;
  border-radius: 10px;
  font-size: clamp(1rem, 0.081vw + 0.982rem, 1.063rem);
  font-weight: 500;
  padding-block: 0.4375rem;
  letter-spacing: -0.01em;
  padding-inline-start: 3.125rem;
  line-height: 1.4117647059;
}
@media screen and (max-width: 1240px) {
  .p-custom__body-item {
    width: min(17.75rem, 100%);
    margin-inline: auto;
    display: block;
    padding-block: 1rem 0.875rem;
    padding-inline-end: 1.25rem;
  }
}
.p-custom__body-item::before {
  content: "";
  position: absolute;
  width: 1.875rem;
  height: 2.25rem;
  background: url(../img/custom-home/icon-custom05.webp) no-repeat center center/contain;
  left: 0.75rem;
  top: 50%;
  translate: 0 -50%;
}

@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}
.u-font__en {
  font-family: "Karla", sans-serif;
}

.u-font__serif {
  font-family: "Noto Serif JP", serif;
}

.u-text__center {
  text-align: center !important;
}
@media screen and (max-width: 767px) {
  .u-text__center--sp {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .u-text__center--pc {
    text-align: center !important;
  }
}

.u-text__left {
  text-align: left !important;
}
@media screen and (max-width: 767px) {
  .u-text__left--sp {
    text-align: left !important;
  }
}
@media (min-width: 768px) {
  .u-text__left--pc {
    text-align: left !important;
  }
}

.u-text__right {
  text-align: right !important;
}
@media screen and (max-width: 767px) {
  .u-text__right--sp {
    text-align: right !important;
  }
}
@media (min-width: 768px) {
  .u-text__right--pc {
    text-align: right !important;
  }
}

.u-text__nowrap {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .u-text__nowrap--sp {
    white-space: nowrap;
  }
}
@media (min-width: 768px) {
  .u-text__nowrap--pc {
    white-space: nowrap;
  }
}

.u-pointer__none {
  pointer-events: none !important;
}
@media screen and (max-width: 767px) {
  .u-pointer__none--sp {
    pointer-events: none !important;
  }
}
@media (min-width: 768px) {
  .u-pointer__none--pc {
    pointer-events: none !important;
  }
}

.u-color__main {
  color: #007e43;
}

.u-color__accent {
  color: #c23321;
}

.u-color__gold {
  color: #937f55;
}

.u-color__purple {
  color: #1b1464;
}

.u-inline-block {
  display: inline-block;
}
