@charset "UTF-8";
.section-message {
  padding-block: clamp(8rem, 3.1532385466rem + 6.3191153239vw, 12rem) clamp(10rem, 2.7298578199rem + 9.4786729858vw, 16rem);
}

.section-message-title {
  margin-bottom: clamp(4rem, -3.2701421801rem + 9.4786729858vw, 10rem);
}

.section-message-wrapper {
  display: grid;
  grid-template-columns: clamp(32rem, 20.7312796209rem + 14.691943128vw, 41.3rem) 1fr;
  gap: clamp(4rem, -0.4832543444rem + 5.8451816746vw, 7.7rem);
  align-items: flex-end;
}
@media (max-width: 767.98px) {
  .section-message-wrapper {
    display: block;
  }
}

.section-message-image {
  position: relative;
}
@media (max-width: 767.98px) {
  .section-message-image {
    margin-bottom: 40px;
    text-align: center;
  }
}
.section-message-image::before {
  --position: -50px;
  content: "";
  position: absolute;
  z-index: 1;
  bottom: var(--position);
  left: var(--position);
  width: 240px;
  height: 240px;
  border-bottom: 1px solid var(--color-primary);
  border-left: 1px solid var(--color-primary);
}
@media (max-width: 767.98px) {
  .section-message-image::before {
    display: none;
  }
}

.section-message-ttl {
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: clamp(2rem, 1.272985782rem + 0.9478672986vw, 2.6rem);
  font-weight: var(--font-extra-light);
}

.section-message-txt {
  margin-top: clamp(4rem, -0.8467614534rem + 6.3191153239vw, 8rem);
  letter-spacing: 0.05em;
  font-family: var(--font-mincho);
  font-weight: var(--font-extra-light);
  line-height: 2.333333333;
  text-box: trim-both cap alphabetic;
}

.section-message-from {
  display: flex;
  gap: 20px;
  justify-content: flex-end;
  align-items: flex-end;
  margin-top: clamp(4rem, 3.272985782rem + 0.9478672986vw, 4.6rem);
  font-family: var(--font-mincho);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-none);
}

.section-message-pos {
  font-size: var(--text-xs);
}

.section-message-name {
  font-size: var(--text-2xl);
}

.section-policy-title {
  margin-bottom: clamp(4rem, -3.2701421801rem + 9.4786729858vw, 10rem);
  padding-block: 29px;
  border-bottom: 1px solid currentColor;
  text-align: center;
}

.section-policy-list {
  display: grid;
  gap: clamp(6rem, 1.1532385466rem + 6.3191153239vw, 10rem);
}

.section-policy-list-item-title {
  position: relative;
  margin: 0 auto;
  padding-block: 24px 10px;
  max-width: 546px;
  border-right: 1px solid var(--color-primary);
  border-left: 1px solid var(--color-primary);
  line-height: var(--leading-none);
}
.section-policy-list-item-title::before, .section-policy-list-item-title::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  width: 100px;
  height: 1px;
  background-color: var(--color-primary);
}
.section-policy-list-item-title::before {
  left: 0;
}
.section-policy-list-item-title::after {
  right: 0;
}

.section-policy-list-item-title-inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
@media (max-width: 767.98px) {
  .section-policy-list-item-title-inner {
    gap: 10px;
  }
}

.section-policy-list-item-title-en {
  letter-spacing: -0.02em;
  color: var(--color-primary);
  font-family: var(--font-cormorant-garamond);
  font-size: 2.2rem;
  font-weight: var(--font-light);
}

.section-policy-list-item-title-jp {
  text-align: center;
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: var(--text-2xl);
  font-weight: var(--font-extra-light);
}
@media (max-width: 767.98px) {
  .section-policy-list-item-title-jp {
    line-height: var(--leading-sm);
  }
}

.section-policy-list-item-text {
  margin-top: 36px;
  text-align: center;
  letter-spacing: 0.14em;
  line-height: 2.333333333;
}
.section-policy-list-item-text p {
  margin-block: var(--leading-trim);
}

.section-policy-list-item-content-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 30px;
  margin-top: 48px;
  list-style: none;
  counter-reset: list;
}
@media (max-width: 767.98px) {
  .section-policy-list-item-content-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 559.98px) {
  .section-policy-list-item-content-list {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 30px;
    margin-top: 30px;
  }
}

.section-policy-list-item-content-list-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  padding-bottom: 50px;
  border-bottom: 1px solid var(--color-primary);
}
@media (max-width: 559.98px) {
  .section-policy-list-item-content-list-item {
    padding-bottom: 30px;
  }
}

.section-policy-list-item-content-list-item-title {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: center;
  text-align: center;
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: var(--text-lg);
  font-weight: var(--font-extra-light);
  line-height: 1.666666667;
  counter-increment: list;
}
.section-policy-list-item-content-list-item-title::before {
  content: "(" counter(list, decimal-leading-zero) ")";
  letter-spacing: 0.06em;
  color: var(--color-primary);
  font-family: var(--font-sora);
  font-size: var(--text-sm);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-none);
}

.section-policy-list-item-content-list-item-text {
  margin-top: 30px;
  line-height: 1.866666667;
}
@media (max-width: 767.98px) {
  .section-policy-list-item-content-list-item-text {
    margin-top: 20px;
  }
}

.section-about {
  padding-block: clamp(8rem, 4.36492891rem + 4.7393364929vw, 11rem);
  background: url(../img/pages/company/company_bg.png) no-repeat center center/cover;
}

.section-about-inner {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: clamp(4rem, -5.6935229068rem + 12.6382306477vw, 12rem);
  color: var(--color-white);
}
@media (max-width: 767.98px) {
  .section-about-inner {
    grid-template-columns: 1fr;
  }
}
.section-about-inner .section-about-title {
  padding-top: 50px;
  height: 100%;
}
@media (max-width: 767.98px) {
  .section-about-inner .section-about-title {
    padding-top: 20px;
  }
}
.section-about-inner .section-about-title::after {
  height: 100%;
}

.section-about-table {
  padding-block: 48px 40px;
}
@media (max-width: 767.98px) {
  .section-about-table {
    padding-block: 0;
  }
}
.section-about-table tr :is(th, td) {
  padding-bottom: 40px;
  vertical-align: top;
}
@media (max-width: 767.98px) {
  .section-about-table tr :is(th, td) {
    padding-bottom: 20px;
  }
}
.section-about-table tr:last-child :is(th, td) {
  padding-bottom: 0;
}
.section-about-table th {
  text-align: left;
  white-space: nowrap;
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: var(--text-md);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-none);
}
.section-about-table td {
  padding-left: clamp(2rem, -5.2701421801rem + 9.4786729858vw, 8rem);
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-box: trim-both cap alphabetic;
}

.section-history {
  padding-block: clamp(8rem, 3.1532385466rem + 6.3191153239vw, 12rem) clamp(10rem, 2.7298578199rem + 9.4786729858vw, 16rem);
}

.section-history-inner {
  display: grid;
  gap: 60px;
  margin-bottom: clamp(8rem, 3.1532385466rem + 6.3191153239vw, 12rem);
}
.section-history-inner:last-child {
  margin-bottom: 0;
}

.section-history-group-heading {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: clamp(4rem, 1.5766192733rem + 3.1595576619vw, 6rem);
  border-top: 1px solid #c2b8ad;
  border-bottom: 1px solid #c2b8ad;
  padding-block: 16px 15px;
}
@media (max-width: 767.98px) {
  .section-history-group-heading {
    flex-direction: column;
    gap: 10px;
  }
}

.section-history-group-year {
  letter-spacing: 0.1em;
  color: var(--color-primary);
  font-family: var(--font-sora);
  font-size: clamp(1.8rem, 1.3153238547rem + 0.6319115324vw, 2.2rem);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-none);
}

.section-history-group-title {
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: var(--text-lg);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-md);
}

.section-history-group-history-list {
  display: grid;
  gap: clamp(3.6rem, 1.9036334913rem + 2.2116903633vw, 5rem);
}

.section-history-group-history-list-item {
  display: grid;
  grid-template-columns: 160px 1px 1fr;
  align-items: stretch;
}
@media (max-width: 767.98px) {
  .section-history-group-history-list-item {
    grid-template-columns: max-content 1px 1fr;
    gap: 20px;
  }
}

.section-history-group-history-list-item-year {
  display: flex;
  align-items: center;
  margin-bottom: auto;
  letter-spacing: 0.1em;
  font-family: var(--font-sora);
  font-size: var(--text-md);
  font-weight: var(--font-regular);
  line-height: var(--leading-none);
}
.section-history-group-history-list-item-year::after {
  content: "年";
  font-family: var(--font-base);
  font-weight: var(--font-medium);
}

.section-history-group-history-list-item-border {
  background-color: #c2b8ad;
}

.section-history-group-history-list-item-content {
  padding-left: 30px;
  letter-spacing: 0.1em;
  font-size: var(--text-md);
  text-box: trim-both cap alphabetic;
}
@media (max-width: 767.98px) {
  .section-history-group-history-list-item-content {
    padding-left: 0;
    font-size: var(--text-sm);
  }
}

:is(.section-awards-title, .section-future-title) {
  display: flex;
  gap: 24px;
  align-items: flex-end;
  margin-bottom: clamp(4rem, 1.5766192733rem + 3.1595576619vw, 6rem);
  letter-spacing: 0.1em;
  color: var(--color-primary);
  font-family: var(--font-mincho);
  font-size: var(--text-lg);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-none);
}
@media (max-width: 767.98px) {
  :is(.section-awards-title, .section-future-title)::before {
    display: block;
    content: "";
    flex: 1;
    height: 1px;
    background-color: #c2b8ad;
  }
}
:is(.section-awards-title, .section-future-title)::after {
  display: block;
  content: "";
  flex: 1;
  height: 1px;
  background-color: #c2b8ad;
}

:is(.section-history-title, .section-office-title) {
  margin-bottom: clamp(4rem, -3.2701421801rem + 9.4786729858vw, 10rem);
}

.section-office-list {
  display: grid;
  gap: clamp(4rem, 1.5766192733rem + 3.1595576619vw, 6rem);
}

.section-office-list-item {
  padding-bottom: clamp(4rem, 1.5766192733rem + 3.1595576619vw, 6rem);
  border-bottom: 1px solid #c2b8ad;
}

.section-office-list-item-title {
  margin-bottom: 18px;
  letter-spacing: 0.1em;
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  line-height: var(--leading-none);
}

.section-office-list-item-image {
  margin-bottom: clamp(2rem, -0.4233807267rem + 3.1595576619vw, 4rem);
}

.section-office-list-item-address {
  display: flex;
  gap: 30px;
  align-items: center;
  margin-top: clamp(2rem, 0.7883096367rem + 1.579778831vw, 3rem);
  letter-spacing: 0.1em;
  font-size: var(--text-md);
  font-weight: var(--font-medium);
}
@media (max-width: 767.98px) {
  .section-office-list-item-address {
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
  }
}
.section-office-list-item-address span {
  font-family: var(--font-sora);
  font-weight: var(--font-regular);
}
.section-office-list-item-address a {
  display: flex;
  flex-direction: row-reverse;
  gap: 5px;
  align-items: center;
  position: relative;
  padding-bottom: 6px;
  text-decoration: none;
  color: var(--color-base);
  font-size: var(--text-xs);
  line-height: var(--leading-none);
}
.section-office-list-item-address a::before {
  display: block;
  content: "";
  width: 13px;
  height: 17px;
  background: url(../img/common/icon_pin.png) no-repeat center center/contain;
}
.section-office-list-item-address a::after {
  display: block;
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-base);
}

.section-office-list-item-tel {
  margin-top: 20px;
  letter-spacing: 0.1em;
  line-height: var(--leading-md);
}
.section-office-list-item-tel span {
  font-family: var(--font-sora);
  font-weight: var(--font-regular);
}
.section-office-list-item-tel a {
  text-decoration: none;
  color: currentColor;
}

.section-office-list-item-business-hours {
  margin-top: 8px;
  letter-spacing: 0.1em;
  font-size: var(--text-2xs);
  line-height: var(--leading-md);
}
@media (max-width: 767.98px) {
  .section-office-list-item-business-hours {
    margin-top: 0;
  }
}
.section-office-list-item-business-hours span {
  font-family: var(--font-sora);
  font-weight: var(--font-regular);
}

body.page-manufacturer .section-manufacturer {
  padding-block: clamp(8rem, 7.5153238547rem + 0.6319115324vw, 8.4rem) clamp(10rem, 2.7298578199rem + 9.4786729858vw, 16rem);
}
body.page-manufacturer .section-manufacturer-section {
  margin-bottom: clamp(6rem, 1.1532385466rem + 6.3191153239vw, 10rem);
}
body.page-manufacturer .section-manufacturer-section-title {
  padding-bottom: 10px;
  border-bottom: 1px solid currentColor;
  letter-spacing: -0.02em;
  font-family: var(--font-cormorant-garamond);
  font-size: var(--text-3xl);
  font-weight: var(--font-regular);
  line-height: var(--leading-none);
  margin-bottom: 40px;
  padding-bottom: 20px;
  letter-spacing: 0.1em;
  color: var(--color-primary);
  font-family: var(--font-base);
  font-weight: var(--font-medium);
}
body.page-manufacturer .manufacturer-toc {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: clamp(6rem, 1.1532385466rem + 6.3191153239vw, 10rem);
  list-style: none;
}
body.page-manufacturer .manufacturer-toc li {
  display: flex;
  gap: 20px;
  align-items: center;
  letter-spacing: 0.1em;
  line-height: var(--leading-none);
}
body.page-manufacturer .manufacturer-toc li:not(:last-child)::after {
  display: block;
  content: "";
  width: 1px;
  height: 20px;
  background-color: var(--color-primary);
}
body.page-manufacturer .manufacturer-toc li a {
  text-decoration: none;
  color: var(--color-primary);
}
body.page-manufacturer .manufacturer-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 30px;
  list-style: none;
}
@media (max-width: 767.98px) {
  body.page-manufacturer .manufacturer-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 559.98px) {
  body.page-manufacturer .manufacturer-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }
}
body.page-manufacturer .manufacturer-list li {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color-primary);
}
body.page-manufacturer .manufacturer-list a {
  text-decoration: none;
  color: currentColor;
}
body.page-manufacturer .manufacturer-list-item-name {
  letter-spacing: 0.1em;
  font-size: var(--text-md);
  line-height: var(--leading-md);
  text-box: trim-both cap alphabetic;
}
body.page-manufacturer .manufacturer-list-item-url {
  margin-top: 18px;
  letter-spacing: 0.1em;
  color: var(--color-primary);
  font-family: var(--font-sora);
  font-weight: var(--font-regular);
  line-height: var(--leading-md);
  text-box: trim-both cap alphabetic;
}

body:is(.page-contact, .page-recruit) #autozip {
  opacity: 0;
  pointer-events: none;
}
body:is(.page-contact, .page-recruit) .section-contact {
  padding-block: 80px clamp(10rem, 2.7298578199rem + 9.4786729858vw, 16rem);
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper {
  --color-error: #ea5151;
  --form-gap: 60px;
  --form-item-gap: 24px;
  --textarea-height: 200px;
  --checkbox-radio-size: 38px;
  --submit-button-background-color: var(--color-base);
  --input-background-color: transparent;
  --checkbox-radio-background-color: transparent;
  --checkbox-check-width: 12px;
  --checkbox-check-height: 20px;
  --checkbox-check-position-bottom: 12px;
  --checkbox-check-position-left: 14px;
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper :is(input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=url],
input[type=number],
input[type=date],
textarea,
select) {
  display: block;
  padding-block: 0 20px;
  padding-inline: 0;
  border: none;
  border-bottom: 1px solid #c2b8ad;
  font-size: var(--text-md);
  line-height: var(--leading-md);
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper :is(input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=url],
input[type=number],
input[type=date],
textarea,
select)::-moz-placeholder {
  color: #dcd4cb;
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper :is(input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=url],
input[type=number],
input[type=date],
textarea,
select)::placeholder {
  color: #dcd4cb;
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper :is(input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=url],
input[type=number],
input[type=date],
textarea,
select):focus {
  border-bottom-color: transparent;
  outline: none;
  box-shadow: 0 2px 0 var(--color-primary);
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper input[name=your-zip] {
  max-width: 510px;
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper input[type=file]::file-selector-button {
  padding: 13px 60px;
  border: 1px solid #c2b8ad;
  border-radius: 4px;
  color: var(--color-base);
  line-height: var(--leading-none);
  background: #ece9e6;
  cursor: pointer;
}
@media (max-width: 767.98px) {
  body:is(.page-contact, .page-recruit) .section-contact .form-wrapper input[type=file]::file-selector-button {
    padding-inline: 32px;
  }
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper .form-head {
  margin-top: 0 !important;
  font-size: var(--text-md);
  font-weight: var(--font-medium);
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper .form-item:has([aria-required=true], input[type=radio]) .form-head p {
  gap: 4px;
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper .form-item:has([aria-required=true], input[type=radio]) .form-head p::after {
  content: "*";
  margin-left: 0;
  padding: 0;
  color: var(--color-error);
  font-size: var(--text-md);
  font-weight: var(--font-medium);
  background-color: transparent;
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper .wpcf7-form-control.wpcf7-acceptance {
  margin-block: clamp(4rem, -0.8467614534rem + 6.3191153239vw, 8rem) 40px;
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper #btn-submit .wpcf7-submit {
  padding: 0;
  width: 230px;
  height: 60px;
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper #btn-submit .wpcf7-submit:not(:disabled):hover {
  opacity: 0.7;
}
body:is(.page-contact, .page-recruit) .section-contact .form-wrapper .wpcf7-acceptance .wpcf7-list-item-label::after {
  content: "*";
  margin-left: 4px;
  padding: 0;
  color: var(--color-error);
  font-size: var(--text-md);
  font-weight: var(--font-medium);
}
body:is(.page-contact, .page-recruit) .section-contact-description {
  margin-bottom: clamp(4rem, -3.2701421801rem + 9.4786729858vw, 10rem);
  letter-spacing: 0.1em;
  font-size: var(--text-md);
}

body:is(.page-hozantomoe, .page-marukin) .section-intro {
  padding-block: 110px 0;
}
body:is(.page-hozantomoe, .page-marukin) .section-intro-title-en {
  margin-bottom: 15px;
  color: var(--color-primary);
  font-family: var(--font-cormorant-garamond);
  font-size: var(--text-3xl);
  line-height: var(--leading-none);
}
body:is(.page-hozantomoe, .page-marukin) .section-intro-title {
  padding-top: 18px;
  letter-spacing: 0;
  font-size: var(--text-xl);
  line-height: var(--leading-md);
}
body:is(.page-hozantomoe, .page-marukin) .section-intro-inner {
  display: grid;
  grid-template-columns: clamp(24rem, 3.8277860327rem + 26.3001485884vw, 41.7rem) 1fr;
  margin-top: clamp(6.4rem, 3.4368499257rem + 3.8632986627vw, 9rem);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-intro-inner {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: 48px;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-intro-logo {
  text-align: center;
}
body:is(.page-hozantomoe, .page-marukin) .section-intro-text {
  display: grid;
  gap: 40px;
  margin-bottom: clamp(4rem, -0.558692422rem + 5.9435364042vw, 8rem);
  padding-right: clamp(4rem, -0.558692422rem + 5.9435364042vw, 8rem);
  font-family: var(--font-mincho);
  font-weight: var(--font-extra-light);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-intro-text {
    gap: 20px;
    padding-right: 0;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-intro-images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
@media (max-width: 559.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-intro-images {
    gap: 20px;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-intro-images img {
  width: 100%;
}
body:is(.page-hozantomoe, .page-marukin) .section-news-inner {
  display: grid;
  gap: 40px;
}
@media (min-width: 768px) {
  body:is(.page-hozantomoe, .page-marukin) .section-news-inner {
    grid-template-columns: 240px 1fr;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-news-inner .btn-wrapper {
  margin-top: 64px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-news-inner .btn-wrapper {
    margin-top: 32px;
  }
}
@media (max-width: 1023.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-news-inner .news-list {
    grid-template-columns: 1fr;
  }
  body:is(.page-hozantomoe, .page-marukin) .section-news-inner .news-list-item {
    grid-template-areas: "date category" "title title";
    grid-template-columns: max-content 1fr;
    grid-column: auto;
    height: auto;
    padding-block: 20px;
    padding-inline: 0;
  }
  body:is(.page-hozantomoe, .page-marukin) .section-news-inner .news-list-item .entry-categories {
    justify-content: flex-start;
    margin-inline: 20px 0;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-news {
  padding-block: 150px 210px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-news {
    padding-block: 80px 120px;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-news-primary {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}
body:is(.page-hozantomoe, .page-marukin) .section-news-title-en {
  padding-bottom: 10px;
  letter-spacing: -0.02em;
  font-family: var(--font-cormorant-garamond);
  font-size: var(--text-3xl);
  font-weight: var(--font-regular);
  line-height: var(--leading-none);
}
body:is(.page-hozantomoe, .page-marukin) .section-news-title-ja {
  flex: 1;
  border-top-color: var(--color-primary);
  color: var(--color-base);
  font-size: var(--text-3xl);
  line-height: 1.357142857;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-news-title-ja {
    font-size: var(--text-xl);
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-news-title-ja::after {
  height: 100%;
  background-color: var(--color-primary);
}
body:is(.page-hozantomoe, .page-marukin) .section-news-title-ja span {
  font-size: var(--text-xl);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-news-title-ja span {
    display: inline;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-series-top {
  display: grid;
  grid-template-columns: 1fr clamp(36rem, 25.7429420505rem + 13.3729569094vw, 45rem);
  gap: clamp(4.8rem, -1.1263001486rem + 7.7265973254vw, 10rem);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-series-top {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-series-top-primary {
    display: contents;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-series-top-image {
  position: relative;
  text-align: center;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-series-top-image {
    margin-top: 48px;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-series-top-image::before {
  --position: -50px;
  content: "";
  position: absolute;
  z-index: 1;
  top: var(--position);
  right: var(--position);
  width: 240px;
  height: calc(100% - var(--position));
  border-top: 1px solid var(--color-primary);
  border-right: 1px solid var(--color-primary);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-series-top-image::before {
    display: none;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-series-top-image:is(.border-none)::before {
  display: none;
}
body:is(.page-hozantomoe, .page-marukin) .section-series-copy {
  color: var(--color-primary);
  font-family: var(--font-mincho);
  font-size: var(--text-lg);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-sm);
  padding-block: 12px;
  border-block: 1px solid currentColor;
}
body:is(.page-hozantomoe, .page-marukin) .section-series-title {
  position: relative;
  padding-block: 44px;
  border-bottom: 1px solid var(--color-primary);
  letter-spacing: 0.04em;
  font-family: var(--font-mincho);
  font-size: var(--text-3xl);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-sm);
}
body:is(.page-hozantomoe, .page-marukin) .section-series-text {
  margin-top: 60px;
  letter-spacing: 0.03em;
  font-family: var(--font-mincho);
  font-weight: var(--font-extra-light);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-series-text {
    order: 99;
    margin-top: 48px;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-series-text p {
  margin-block: var(--leading-trim);
}
body:is(.page-hozantomoe, .page-marukin) .section-series-images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 29px;
  margin-top: 76px;
  list-style: none;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-series-images {
    grid-template-columns: 1fr;
    margin-top: 48px;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-series-image {
  text-align: center;
}
body:is(.page-hozantomoe, .page-marukin) .section-series-image-title {
  margin-block: 40px 30px;
  text-align: center;
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: var(--text-lg);
  font-weight: var(--font-extra-light);
  line-height: 1.666666667;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-series-image-title {
    margin-block: 24px;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-series-image-title span {
  display: block;
  margin-block: var(--leading-trim);
}
body:is(.page-hozantomoe, .page-marukin) .section-series-image-text {
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-weight: var(--font-extra-light);
}
body:is(.page-hozantomoe, .page-marukin) .section-series-image-text p {
  display: block;
  margin-block: var(--leading-trim);
}
body:is(.page-hozantomoe, .page-marukin) .section-series-bottom .btn-wrapper {
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-series-bottom .btn-wrapper {
    margin-top: 48px;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-series-bottom .btn-primary {
  justify-content: center;
  position: relative;
  --max-width: 320px;
}
body:is(.page-hozantomoe, .page-marukin) .section-series-bottom .btn-primary .icon-arrow {
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
  margin: auto;
}
body:is(.page-hozantomoe, .page-marukin) .section-product-cats .btn-primary {
  justify-content: flex-start;
  position: relative;
  margin-top: 80px;
  padding-left: 40px;
  height: 64px;
  --max-width: 360px;
}
body:is(.page-hozantomoe, .page-marukin) .section-product-cats .btn-primary .icon-arrow {
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
  margin: auto;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-product-cats .btn-primary {
    justify-content: center;
    margin-top: 48px;
    padding-inline: 30px;
  }
  body:is(.page-hozantomoe, .page-marukin) .section-product-cats .btn-primary .icon-arrow {
    position: static;
    margin: 0;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-product-cats-title {
  margin-bottom: 78px;
  text-align: center;
  letter-spacing: 0.1em;
  color: var(--color-primary);
  font-family: var(--font-mincho);
  font-size: var(--text-3xl);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-none);
  padding-block: 20px;
  border-block: 1px solid var(--color-primary);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-product-cats-title {
    margin-bottom: 48px;
  }
}
body:is(.page-hozantomoe, .page-marukin) .section-product-child-terms {
  grid-template-columns: repeat(5, 1fr);
  gap: 27px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-product-child-terms {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 559.98px) {
  body:is(.page-hozantomoe, .page-marukin) .section-product-child-terms {
    grid-template-columns: repeat(2, 1fr);
  }
}

body:is(.page-hozantomoe) #under-fv {
  background: url(../img/pages/hozantomoe/fv_bg.jpg) no-repeat center center/cover;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe) #under-fv {
    background-position: center right;
  }
}
body:is(.page-hozantomoe) .section-intro-title::after {
  height: 240px;
}
body:is(.page-hozantomoe) .section-product-cats {
  padding-bottom: clamp(8rem, -1.117384844rem + 11.8870728083vw, 16rem);
}
body:is(.page-hozantomoe) .section-product-cats .btn-primary {
  --max-width: 320px;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe) .section-product-cats .btn-primary {
    margin-top: 48px;
  }
}
body:is(.page-hozantomoe) :is(.section-series-01, .section-series-02) {
  padding-bottom: clamp(8rem, 5.720653789rem + 2.9717682021vw, 10rem);
}
body:is(.page-hozantomoe) .section-movie {
  padding-bottom: clamp(8rem, -1.117384844rem + 11.8870728083vw, 16rem);
}
body:is(.page-hozantomoe) .section-movie .btn-primary {
  --max-width: 340px;
  margin-top: 60px;
  padding-left: 47px;
  color: var(--color-white);
  background-color: var(--color-base);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe) .section-movie .btn-primary {
    margin-top: 48px;
  }
}
body:is(.page-hozantomoe) .section-movie .btn-primary .btn-primary-text {
  letter-spacing: 0.14em;
}
body:is(.page-hozantomoe) .section-movie-title-en {
  margin-bottom: 15px;
  color: var(--color-primary);
  font-family: var(--font-cormorant-garamond);
  font-size: var(--text-3xl);
  line-height: var(--leading-none);
}
body:is(.page-hozantomoe) .section-movie-title {
  padding-top: 18px;
  letter-spacing: 0;
  font-size: var(--text-xl);
  line-height: var(--leading-md);
}
body:is(.page-hozantomoe) .section-movie-box {
  margin: 80px auto 0;
  width: 800px;
  max-width: 100%;
  aspect-ratio: 800/450;
}
body:is(.page-hozantomoe) .section-movie-box iframe {
  width: 100%;
  height: 100%;
}

body:is(.page-marukin) #under-fv {
  background: url(../img/pages/marukin/fv_bg.jpg) no-repeat center center/cover;
}
body:is(.page-marukin) .section-intro-inner {
  grid-template-columns: 300px 1fr;
  gap: clamp(8rem, 3.441307578rem + 5.9435364042vw, 12rem);
}
@media (max-width: 767.98px) {
  body:is(.page-marukin) .section-intro-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
body:is(.page-marukin) .section-intro-text {
  margin-bottom: 0;
  letter-spacing: 0.07em;
}
body:is(.page-marukin) .section-intro-images {
  margin-top: 80px;
}
@media (max-width: 767.98px) {
  body:is(.page-marukin) .section-intro-images {
    grid-template-columns: 1fr;
    gap: 48px;
    margin-top: 40px;
  }
}
body:is(.page-marukin) .section-intro-image-item-title {
  text-align: center;
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: var(--text-lg);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-md);
  margin-block: 44px 30px;
}
@media (max-width: 767.98px) {
  body:is(.page-marukin) .section-intro-image-item-title {
    margin-block: 24px 20px;
  }
}
body:is(.page-marukin) .section-intro-image-item-title span {
  display: block;
  margin-block: var(--leading-trim);
}
body:is(.page-marukin) .section-intro-image-item-text {
  letter-spacing: 0.08em;
  font-family: var(--font-mincho);
  font-weight: var(--font-extra-light);
}
body:is(.page-marukin) .section-series-title {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
  padding-block: 18px;
}
body:is(.page-marukin) .section-series-title::after {
  display: block;
  content: "";
  width: 85px;
  height: 86px;
  background: url(../img/common/logo_ids.png) no-repeat center center/contain;
}
@media (max-width: 767.98px) {
  body:is(.page-marukin) .section-series-title::after {
    width: 48px;
    height: 48px;
  }
}
body:is(.page-marukin) .section-series-subtitle {
  margin-top: 50px;
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: 2.6rem;
  font-weight: var(--font-extra-light);
  line-height: var(--leading-md);
}
@media (max-width: 767.98px) {
  body:is(.page-marukin) .section-series-subtitle {
    margin-top: 48px;
  }
}
body:is(.page-marukin) .section-series .section-series-top-image::before {
  height: 530px;
}
body:is(.page-marukin) .section-series .section-series-text {
  order: 98;
  margin-top: 40px;
  letter-spacing: 0.04em;
}
body:is(.page-marukin) .section-series .btn-wrapper {
  order: 99;
  margin-top: 50px;
}
body:is(.page-marukin) .section-news {
  padding-block: 160px;
}
@media (max-width: 767.98px) {
  body:is(.page-marukin) .section-news {
    padding-block: 80px;
  }
}
body:is(.page-marukin) .section-series-01 {
  padding-top: 210px;
}

body:is(.page-shorthammer) {
  --color-base: #333;
  font-size: var(--text-md);
}
body:is(.page-shorthammer) .lp-header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  padding: 18px;
}
body:is(.page-shorthammer) .lp-header-logo {
  line-height: var(--leading-none);
}
body:is(.page-shorthammer) .section-fv-inner {
  display: flex;
  gap: clamp(4.8rem, -1.7657587549rem + 8.560311284vw, 7rem);
  align-items: flex-start;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-fv-inner {
    flex-direction: column;
    margin-right: 0;
  }
}
body:is(.page-shorthammer) .section-fv-primary {
  padding-top: 140px;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-fv-primary {
    padding-top: 120px;
    width: 100%;
  }
}
body:is(.page-shorthammer) .section-fv-secondary {
  flex: 1;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-fv-secondary {
    width: 100%;
  }
}
body:is(.page-shorthammer) .section-fv-title {
  letter-spacing: 0.12em;
  font-size: 4.2rem;
  font-weight: var(--font-bold);
  line-height: var(--leading-md);
}
@media (max-width: 559.98px) {
  body:is(.page-shorthammer) .section-fv-title {
    font-size: var(--text-4xl);
  }
}
body:is(.page-shorthammer) .section-fv-text {
  margin-block: 40px 48px;
  letter-spacing: 0.14em;
}
body:is(.page-shorthammer) .section-fv-ids {
  position: relative;
}
body:is(.page-shorthammer) .section-fv-ids .section-fv-ids-inner {
  --border-width: 2px;
  display: flex;
  gap: 16px;
  align-items: center;
  padding-left: 12px;
  border-top: var(--border-width) solid #cacaca;
  border-bottom: var(--border-width) solid #cacaca;
  padding-block: 14px;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-fv-ids .section-fv-ids-inner {
    padding-left: 0;
  }
}
body:is(.page-shorthammer) .section-fv-ids .section-fv-ids-inner::before, body:is(.page-shorthammer) .section-fv-ids .section-fv-ids-inner::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 2;
  width: 50%;
  height: var(--border-width);
  background-color: #c2272c;
}
body:is(.page-shorthammer) .section-fv-ids .section-fv-ids-inner::before {
  top: 0;
  left: 0;
}
body:is(.page-shorthammer) .section-fv-ids .section-fv-ids-inner::after {
  right: 0;
  bottom: 0;
}
body:is(.page-shorthammer) .section-fv-ids-icon {
  width: 74px;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-fv-ids-icon {
    width: 48px;
  }
}
body:is(.page-shorthammer) .section-fv-ids-text {
  flex: 1;
  letter-spacing: 0.12em;
  font-size: 1.7rem;
  font-weight: var(--font-bold);
  line-height: 1.411764706;
}
body:is(.page-shorthammer) .section-fv-ids-text span {
  font-family: var(--font-montserrat);
  font-weight: var(--font-medium);
}
body:is(.page-shorthammer) .section-fv-image {
  margin-left: auto;
  max-width: 720px;
  height: 550px;
  background: url(../img/pages/marukin/shorthammer/fv_img_02.png) no-repeat center center/cover;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-fv-image {
    aspect-ratio: 720/550;
    height: auto;
  }
}
body:is(.page-shorthammer) #section-intro {
  padding-block: 160px 140px;
  overflow: hidden;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) #section-intro {
    padding-block: 80px 70px;
  }
}
body:is(.page-shorthammer) .section-intro-title {
  margin-bottom: 70px;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: var(--text-4xl);
  font-weight: var(--font-bold);
  line-height: 1.46875;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-intro-title {
    margin-bottom: 48px;
    font-size: var(--text-2xl);
  }
}
body:is(.page-shorthammer) .section-intro-title span span {
  font-size: 2.2rem;
}
body:is(.page-shorthammer) .section-intro-list {
  display: grid;
  grid-template-columns: repeat(6, 490px);
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 2940px;
  list-style: none;
}
@media (max-width: 1023.98px) {
  body:is(.page-shorthammer) .section-intro-list {
    grid-template-columns: repeat(2, 1fr);
    position: static;
    transform: translateX(0);
    width: auto;
  }
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-intro-list {
    grid-template-columns: 1fr;
  }
}
body:is(.page-shorthammer) .section-intro-list-item {
  --border: 2px solid #cacaca;
  padding-inline: 6px;
}
body:is(.page-shorthammer) .section-intro-list-item:not(:last-child) {
  border-right: var(--border);
}
@media (max-width: 1023.98px) {
  body:is(.page-shorthammer) .section-intro-list-item:nth-child(3) {
    border-left: var(--border);
  }
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-intro-list-item {
    border-left: var(--border);
  }
  body:is(.page-shorthammer) .section-intro-list-item:nth-child(3) .section-intro-list-item-inner {
    border-bottom: none;
  }
}
body:is(.page-shorthammer) .section-intro-list-item-inner {
  height: 100%;
  padding-block: 32px;
  border-top: var(--border);
  border-bottom: var(--border);
}
body:is(.page-shorthammer) .section-intro-list-item-text {
  text-align: center;
  letter-spacing: 0.14em;
  font-weight: var(--font-bold);
}
body:is(.page-shorthammer) #section-trouble {
  padding-block: 160px 130px;
  background-color: #f3f3f3;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) #section-trouble {
    padding-block: 80px 60px;
  }
}
body:is(.page-shorthammer) .section-trouble-title {
  margin-bottom: 70px;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: var(--text-4xl);
  font-weight: var(--font-bold);
  line-height: 1.46875;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-trouble-title {
    margin-bottom: 48px;
    font-size: var(--text-2xl);
  }
}
body:is(.page-shorthammer) .section-trouble-text {
  display: grid;
  gap: 3.5em;
  text-align: center;
  letter-spacing: 0.14em;
  line-height: 2.625;
}
body:is(.page-shorthammer) .section-trouble-text p {
  margin-block: var(--leading-trim);
}
body:is(.page-shorthammer) .section-trouble-image {
  margin: 100px auto 0;
  width: 540px;
  height: 176px;
  background: url(../img/pages/marukin/shorthammer/trouble_img_01.png) no-repeat center center/contain;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-trouble-image {
    margin-top: 40px;
    width: 100%;
  }
}
body:is(.page-shorthammer) #section-feature {
  padding-block: clamp(8rem, -24.5946508172rem + 42.4962852897vw, 36.6rem) clamp(8rem, -2.2570579495rem + 13.3729569094vw, 17rem);
}
body:is(.page-shorthammer) .section-feature-title {
  margin-bottom: 80px;
  padding-bottom: 20px;
  border-bottom: 2px solid #cacaca;
  letter-spacing: 0.12em;
  font-size: var(--text-2xl);
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-feature-title {
    margin-bottom: 48px;
  }
}
body:is(.page-shorthammer) .section-feature-sections {
  display: grid;
  gap: clamp(8rem, -1.117384844rem + 11.8870728083vw, 16rem);
}
body:is(.page-shorthammer) .section-feature-section {
  --content-area: my-clamp(360, 570);
  display: grid;
  grid-template-areas: "content image";
  grid-template-columns: var(--content-area) 1fr;
  gap: clamp(6.4rem, -1.1218424963rem + 9.8068350669vw, 13rem);
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-feature-section {
    grid-template-areas: "content" "image";
    grid-template-columns: 1fr;
    gap: 48px;
    margin: 0;
  }
  body:is(.page-shorthammer) .section-feature-section .section-feature-section-image {
    text-align: center !important;
  }
}
body:is(.page-shorthammer) .section-feature-section .section-feature-section-image {
  text-align: right;
}
body:is(.page-shorthammer) .section-feature-section:is(.overhang-left) {
  grid-template-areas: "image content";
  grid-template-columns: 1fr var(--content-area);
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-feature-section:is(.overhang-left) {
    grid-template-areas: "content" "image";
    grid-template-columns: 1fr;
  }
}
body:is(.page-shorthammer) .section-feature-section:is(.overhang-left) .section-feature-section-image {
  text-align: left;
}
body:is(.page-shorthammer) .section-feature-section-content {
  grid-area: content;
  padding-top: 80px;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-feature-section-content {
    padding-top: 0;
  }
}
body:is(.page-shorthammer) .section-feature-section-title {
  letter-spacing: 0.04em;
  font-size: 3rem;
  line-height: 1.866666667;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-feature-section-title {
    font-size: var(--text-xl);
  }
}
body:is(.page-shorthammer) .section-feature-section-text {
  display: grid;
  gap: 3.75em;
  margin-top: clamp(4.8rem, 2.2927191679rem + 3.2689450223vw, 7rem);
  line-height: 2.375;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-feature-section-text {
    gap: 2em;
  }
}
body:is(.page-shorthammer) .section-feature-section-text p {
  margin-block: var(--leading-trim);
}
body:is(.page-shorthammer) .section-feature-section-list {
  display: grid;
  gap: 30px;
  margin-top: 40px;
  list-style: none;
}
body:is(.page-shorthammer) .section-feature-section-list-item {
  padding-left: 20px;
  border-left: 4px solid #cacaca;
}
body:is(.page-shorthammer) .section-feature-section-list-title {
  letter-spacing: 0.14em;
  font-size: var(--text-sm);
  line-height: var(--leading-none);
}
body:is(.page-shorthammer) .section-feature-section-list-text {
  margin-top: 10px;
  letter-spacing: 0.14em;
  font-size: var(--text-sm);
  line-height: 1.6;
}
body:is(.page-shorthammer) .section-feature-section-image-wrapper {
  grid-area: image;
}
body:is(.page-shorthammer) .section-feature-section-image-caption {
  margin-top: 12px;
  text-align: center;
  letter-spacing: 0.14em;
  font-size: var(--text-sm);
  font-weight: var(--font-bold);
  line-height: var(--leading-md);
}
body:is(.page-shorthammer) #section-quality {
  padding: 20px;
  color: var(--color-white);
  background-color: #040404;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) #section-quality {
    padding: 10px;
  }
}
body:is(.page-shorthammer) .section-quality-inner {
  padding-block: 140px;
  background: url(../img/pages/marukin/shorthammer/quality_img_01.png) no-repeat center center/cover;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-quality-inner {
    padding-block: 80px;
  }
}
body:is(.page-shorthammer) .section-quality-title {
  margin-bottom: 70px;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: var(--text-4xl);
  font-weight: var(--font-bold);
  line-height: 1.46875;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-quality-title {
    margin-bottom: 48px;
    font-size: var(--text-2xl);
  }
}
body:is(.page-shorthammer) .section-quality-text {
  display: grid;
  gap: 4em;
  text-align: center;
  line-height: 2.375;
}
body:is(.page-shorthammer) .section-quality-text p {
  margin-block: var(--leading-trim);
}
body:is(.page-shorthammer) #section-voice {
  padding-block: clamp(8rem, -1.117384844rem + 11.8870728083vw, 16rem);
}
body:is(.page-shorthammer) .section-voice-title {
  margin-bottom: 80px;
  padding-bottom: 20px;
  border-bottom: 2px solid #cacaca;
  letter-spacing: 0.12em;
  font-size: var(--text-2xl);
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-voice-title {
    margin-bottom: 48px;
  }
}
body:is(.page-shorthammer) .section-voice-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  list-style: none;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-voice-list {
    grid-template-columns: 1fr;
  }
}
body:is(.page-shorthammer) .section-voice-list-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 30px;
  padding: 40px;
  border-radius: 4px;
  background-color: #f9f9f9;
}
body:is(.page-shorthammer) .section-voice-list-item-icon {
  margin: 0 auto;
  width: 80px;
  height: 80px;
  background: var(--icon) no-repeat center center/contain;
}
body:is(.page-shorthammer) .section-voice-list-item-text {
  letter-spacing: 0.12em;
  font-size: var(--text-sm);
  font-weight: var(--font-bold);
  line-height: 2.133333333;
}
body:is(.page-shorthammer) .section-voice-list-item-text p {
  margin-block: var(--leading-trim);
}
body:is(.page-shorthammer) #section-lineup {
  padding-bottom: clamp(8rem, -1.117384844rem + 11.8870728083vw, 16rem);
}
body:is(.page-shorthammer) .section-lineup-title {
  margin-bottom: 80px;
  padding-bottom: 20px;
  border-bottom: 2px solid #cacaca;
  letter-spacing: 0.12em;
  font-size: var(--text-2xl);
  margin-bottom: 50px;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-lineup-title {
    margin-bottom: 48px;
  }
}
body:is(.page-shorthammer) .section-lineup-text {
  margin-bottom: 80px;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-lineup-text {
    margin-bottom: 48px;
  }
}
body:is(.page-shorthammer) .section-lineup-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 30px;
  list-style: none;
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-lineup-list {
    grid-template-columns: 1fr;
  }
}
body:is(.page-shorthammer) .section-lineup-list .btn-primary {
  justify-content: center;
  margin-top: 20px;
  width: 100%;
  max-width: 100%;
  color: var(--color-white);
  background-color: #111;
  padding-block: 18px 17px;
}
body:is(.page-shorthammer) .section-lineup-list-item-image {
  aspect-ratio: 340/200;
  border: 1px solid #c2b8ae;
}
body:is(.page-shorthammer) .section-lineup-list-item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
body:is(.page-shorthammer) .section-lineup-list-item-title {
  margin-block: 30px 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #cacaca;
  letter-spacing: 0.14em;
  font-size: var(--text-md);
  font-weight: var(--font-medium);
  line-height: var(--leading-md);
}
body:is(.page-shorthammer) .section-lineup-list-item-price {
  line-height: var(--leading-none);
}
body:is(.page-shorthammer) .section-lineup-list-item-price span:nth-child(1) {
  font-family: var(--font-barlow);
  font-size: 3rem;
  font-weight: var(--font-light);
}
body:is(.page-shorthammer) .section-lineup-list-item-price span:nth-child(2) {
  margin-left: 5px;
  letter-spacing: 0.2em;
  font-size: var(--text-sm);
  font-weight: var(--font-bold);
}
body:is(.page-shorthammer) .section-lineup-btn-wrapper {
  margin-top: 60px;
}
body:is(.page-shorthammer) .section-lineup-btn-wrapper .btn-primary {
  --max-width: 300px;
  justify-content: center;
  position: relative;
  height: 64px;
  padding-block: 10px;
}
body:is(.page-shorthammer) .section-lineup-btn-wrapper .btn-primary .btn-primary-text {
  letter-spacing: 0.14em;
  font-weight: var(--font-medium);
}
body:is(.page-shorthammer) .section-lineup-btn-wrapper .btn-primary .icon-arrow {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
}
body:is(.page-shorthammer) .section-question-title {
  margin-bottom: 80px;
  padding-bottom: 20px;
  border-bottom: 2px solid #cacaca;
  letter-spacing: 0.12em;
  font-size: var(--text-2xl);
}
@media (max-width: 767.98px) {
  body:is(.page-shorthammer) .section-question-title {
    margin-bottom: 48px;
  }
}
body:is(.page-shorthammer) #section-question {
  padding-bottom: clamp(8rem, 2.8714710253rem + 6.6864784547vw, 12.5rem);
}

body:is(.page-hozantomoe-lp) {
  --color-base: #111;
  font-family: var(--font-mincho);
  font-weight: var(--font-regular);
}
body:is(.page-hozantomoe-lp) .section-fv-inner {
  display: grid;
  grid-template-areas: "secondary primary";
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-fv-inner {
    grid-template-areas: "primary" "secondary";
    grid-template-columns: 1fr;
  }
}
body:is(.page-hozantomoe-lp) .section-fv-primary {
  grid-area: primary;
  padding-block: 60px 70px;
  padding-inline: 20px;
}
body:is(.page-hozantomoe-lp) .section-fv-secondary {
  grid-area: secondary;
  background: url(../img/pages/hozantomoe/hozantomoe-lp/fv_img_01.png) no-repeat center center/cover;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-fv-secondary {
    height: 240px;
  }
}
body:is(.page-hozantomoe-lp) .section-fv-logo {
  margin-bottom: 60px;
  text-align: center;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-fv-logo {
    margin-bottom: 32px;
  }
}
body:is(.page-hozantomoe-lp) .section-fv-title {
  text-align: center;
  font-family: var(--font-shippori);
  font-size: 3.6rem;
  font-weight: var(--font-regular);
  line-height: 1.555555556;
}
body:is(.page-hozantomoe-lp) .section-fv-text {
  margin-block: 40px 50px;
  text-align: center;
  letter-spacing: 0.2em;
  font-size: var(--text-md);
  line-height: 2.5;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-fv-text {
    margin-block: 24px 36px;
  }
}
body:is(.page-hozantomoe-lp) .section-fv-idc {
  display: flex;
  justify-content: center;
}
body:is(.page-hozantomoe-lp) .section-fv-idc-inner {
  display: inline-flex;
  gap: 36px;
  align-items: center;
  padding-right: 20px;
  border-top: 1px solid #cacaca;
  border-bottom: 1px solid #cacaca;
  padding-block: 20px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-fv-idc-inner {
    gap: 20px;
  }
}
body:is(.page-hozantomoe-lp) .section-fv-idc-text {
  letter-spacing: 0.12em;
  color: #444;
  font-family: var(--font-base);
  line-height: 1.466666667;
}
body:is(.page-hozantomoe-lp) #section-concept {
  padding: 20px;
  color: var(--color-white);
  background-color: #000;
}
body:is(.page-hozantomoe-lp) .section-concept-inner {
  padding-block: 176px 212px;
  background: url(../img/pages/hozantomoe/hozantomoe-lp/about_img_01.png) no-repeat center center/cover;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-concept-inner {
    padding-block: 110px;
  }
}
body:is(.page-hozantomoe-lp) .section-concept-title {
  padding-left: 124px;
  letter-spacing: 0.06em;
  font-family: var(--font-shippori);
  font-size: 3.8rem;
  font-weight: var(--font-regular);
  line-height: 1.842105263;
}
@media (max-width: 1023.98px) {
  body:is(.page-hozantomoe-lp) .section-concept-title {
    padding-left: 0;
  }
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-concept-title {
    letter-spacing: 0;
    font-size: 2.6rem;
  }
}
body:is(.page-hozantomoe-lp) .section-concept-text {
  display: flex;
  justify-content: flex-end;
  margin-top: 120px;
  letter-spacing: 0.2em;
  font-size: var(--text-md);
  line-height: 3.125;
}
@media (max-width: 1023.98px) {
  body:is(.page-hozantomoe-lp) .section-concept-text {
    justify-content: flex-start;
  }
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-concept-text {
    gap: 64px;
    margin-top: 64px;
    line-height: 2.5;
  }
}
body:is(.page-hozantomoe-lp) #section-feature {
  padding-block: 160px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) #section-feature {
    padding-block: 80px;
  }
}
body:is(.page-hozantomoe-lp) .section-feature-title {
  margin-bottom: 50px;
  padding-bottom: 20px;
  border-bottom: 2px solid #cacaca;
  letter-spacing: 0.12em;
  font-size: var(--text-2xl);
  font-weight: var(--font-regular);
  margin-bottom: 64px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-feature-title {
    margin-bottom: 48px;
  }
}
body:is(.page-hozantomoe-lp) .section-feature-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  list-style: none;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-feature-list {
    grid-template-columns: 1fr;
  }
}
body:is(.page-hozantomoe-lp) .section-feature-list-item-title {
  text-align: center;
  letter-spacing: 0.1em;
  font-family: var(--font-shippori);
  font-size: var(--text-lg);
  font-weight: var(--font-regular);
  line-height: 1.666666667;
  margin-block: 40px 30px;
}
body:is(.page-hozantomoe-lp) .section-feature-list-item-image {
  text-align: center;
}
body:is(.page-hozantomoe-lp) #section-voice {
  padding-bottom: 160px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) #section-voice {
    padding-bottom: 80px;
  }
}
body:is(.page-hozantomoe-lp) .section-voice-title {
  margin-bottom: 50px;
  padding-bottom: 20px;
  border-bottom: 2px solid #cacaca;
  letter-spacing: 0.12em;
  font-size: var(--text-2xl);
  font-weight: var(--font-regular);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-voice-title {
    margin-bottom: 48px;
  }
}
body:is(.page-hozantomoe-lp) .section-voice-text {
  margin-bottom: 80px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-voice-text {
    margin-bottom: 64px;
  }
}
body:is(.page-hozantomoe-lp) .section-voice-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  list-style: none;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-voice-list {
    grid-template-columns: 1fr;
  }
}
body:is(.page-hozantomoe-lp) .section-voice-list-item {
  --pos: 30px;
  position: relative;
  padding: 50px 40px;
  background-color: #f9f9f9;
}
body:is(.page-hozantomoe-lp) .section-voice-list-item::before, body:is(.page-hozantomoe-lp) .section-voice-list-item::after {
  display: block;
  content: "";
  position: absolute;
  width: 26px;
  height: 20px;
  background: url(../img/common/icon_quote.png) no-repeat center center/contain;
}
body:is(.page-hozantomoe-lp) .section-voice-list-item::before {
  top: var(--pos);
  left: var(--pos);
}
body:is(.page-hozantomoe-lp) .section-voice-list-item::after {
  right: var(--pos);
  bottom: var(--pos);
  rotate: 180deg;
}
body:is(.page-hozantomoe-lp) .section-voice-list-item-text {
  text-align: center;
  letter-spacing: 0.1em;
  font-family: var(--font-shippori);
  font-weight: var(--font-medium);
}
body:is(.page-hozantomoe-lp) #section-kura {
  padding-block: 160px;
  background-color: #f3f3f3;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) #section-kura {
    padding-block: 80px;
  }
}
body:is(.page-hozantomoe-lp) .section-kura-title {
  margin-bottom: 50px;
  text-align: center;
  letter-spacing: 0.04em;
  font-size: 3rem;
  font-weight: var(--font-regular);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-kura-title {
    font-size: var(--text-2xl);
  }
}
body:is(.page-hozantomoe-lp) .section-kura-boxes {
  display: grid;
  grid-template-columns: 1fr 1fr clamp(18rem, 8.882615156rem + 11.8870728083vw, 26rem);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-kura-boxes {
    grid-template-columns: repeat(2, 1fr);
  }
}
body:is(.page-hozantomoe-lp) .section-kura-image-area {
  grid-area: 1/1/2/2;
  background: url(../img/pages/hozantomoe/hozantomoe-lp/kura_img_01.png) no-repeat center center/cover;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-kura-image-area {
    aspect-ratio: 1/1;
  }
}
body:is(.page-hozantomoe-lp) .section-kura-image-area:nth-child(2) {
  grid-area: 1/2/2/3;
  background-image: url(../img/pages/hozantomoe/hozantomoe-lp/kura_img_02.png);
}
body:is(.page-hozantomoe-lp) .section-kura-logo-area {
  padding-block: 48px;
  text-align: center;
  background-color: var(--color-white);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-kura-logo-area {
    padding-block: 24px;
    grid-area: 2/1/3/3;
  }
}
body:is(.page-hozantomoe-lp) .section-kura-text {
  margin-top: 50px;
  letter-spacing: 0.12em;
  font-size: var(--text-md);
  line-height: 2.5;
}
body:is(.page-hozantomoe-lp) #section-lineup {
  padding-block: 160px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) #section-lineup {
    padding-block: 80px;
  }
}
body:is(.page-hozantomoe-lp) .section-lineup-title {
  margin-bottom: 50px;
  padding-bottom: 20px;
  border-bottom: 2px solid #cacaca;
  letter-spacing: 0.12em;
  font-size: var(--text-2xl);
  font-weight: var(--font-regular);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-lineup-title {
    margin-bottom: 48px;
  }
}
body:is(.page-hozantomoe-lp) .section-lineup-text {
  letter-spacing: 0.2em;
}
body:is(.page-hozantomoe-lp) .section-lineup-series-wrapper {
  display: grid;
  gap: 100px;
  margin-top: 80px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-lineup-series-wrapper {
    gap: 64px;
    margin-top: 64px;
  }
}
body:is(.page-hozantomoe-lp) .section-lineup-series-section-title {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}
body:is(.page-hozantomoe-lp) .section-lineup-series-section-title span {
  display: flex;
  align-items: center;
  height: 45px;
  border: 1px solid var(--color-base);
  line-height: var(--leading-sm);
}
body:is(.page-hozantomoe-lp) .section-lineup-series-section-title span:nth-child(1) {
  padding: 10px 20px;
  letter-spacing: 0.32em;
  color: var(--color-white);
  font-family: var(--font-shippori);
  font-weight: var(--font-regular);
  background-color: var(--color-base);
}
body:is(.page-hozantomoe-lp) .section-lineup-series-section-title span:nth-child(2) {
  padding: 10px 35px;
  letter-spacing: 0.2em;
  font-size: var(--text-md);
  font-weight: var(--font-light);
}
body:is(.page-hozantomoe-lp) .section-lineup-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 30px;
  list-style-type: none;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-lineup-list {
    grid-template-columns: 1fr;
  }
}
body:is(.page-hozantomoe-lp) .section-lineup-list .btn-primary {
  justify-content: center;
  margin-top: 20px;
  width: 100%;
  max-width: 100%;
  color: var(--color-white);
  background-color: #111;
  padding-block: 18px 17px;
}
body:is(.page-hozantomoe-lp) .section-lineup-list-item-title {
  letter-spacing: 0.1em;
  font-size: var(--text-md);
  line-height: var(--leading-md);
  margin-block: 30px 20px;
}
body:is(.page-hozantomoe-lp) .section-lineup-list-item-info {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0;
  border-top: 1px solid #e9e9e9;
  font-size: var(--text-sm);
  line-height: var(--leading-md);
}
body:is(.page-hozantomoe-lp) .section-lineup-list-item-info dt,
body:is(.page-hozantomoe-lp) .section-lineup-list-item-info dd {
  padding-block: 10px;
  border-bottom: 1px solid #e9e9e9;
}
body:is(.page-hozantomoe-lp) .section-lineup-list-item-info dd {
  padding-left: 20px;
  text-align: right;
}
body:is(.page-hozantomoe-lp) .section-lineup-list-item-image {
  text-align: center;
}
body:is(.page-hozantomoe-lp) .section-lineup-btn-wrapper {
  margin-top: 60px;
}
body:is(.page-hozantomoe-lp) .section-lineup-btn-wrapper .btn-primary {
  --max-width: 300px;
  justify-content: center;
  position: relative;
  height: 64px;
  padding-block: 10px;
}
body:is(.page-hozantomoe-lp) .section-lineup-btn-wrapper .btn-primary .btn-primary-text {
  letter-spacing: 0.14em;
  font-weight: var(--font-medium);
}
body:is(.page-hozantomoe-lp) .section-lineup-btn-wrapper .btn-primary .icon-arrow {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
}
body:is(.page-hozantomoe-lp) #section-question {
  padding-bottom: 160px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) #section-question {
    padding-bottom: 80px;
  }
}
body:is(.page-hozantomoe-lp) .section-question-title {
  margin-bottom: 50px;
  padding-bottom: 20px;
  border-bottom: 2px solid #cacaca;
  letter-spacing: 0.12em;
  font-size: var(--text-2xl);
  font-weight: var(--font-regular);
  margin-bottom: 80px;
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-question-title {
    margin-bottom: 48px;
  }
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-question-title {
    margin-bottom: 48px;
  }
}
body:is(.page-hozantomoe-lp) .section-question-list-item-title {
  font-size: var(--text-lg);
  font-weight: var(--font-regular);
}
body:is(.page-hozantomoe-lp) .section-question-list-item-title::before {
  width: 26px;
  background-image: url(../img/common/icon_question_02.png);
}
body:is(.page-hozantomoe-lp) .section-question-list-item-text {
  padding-left: 56px;
  letter-spacing: 0.12em;
  font-size: var(--text-md);
}
@media (max-width: 767.98px) {
  body:is(.page-hozantomoe-lp) .section-question-list-item-text {
    padding-left: 0;
  }
}
body:is(.page-hozantomoe-lp) .section-cta-text {
  letter-spacing: 0.16em;
  font-size: var(--text-md);
  line-height: 2.125;
}
body:is(.page-hozantomoe-lp) .section-cta-title {
  font-family: var(--font-shippori);
  font-weight: var(--font-regular);
}

body.page-about .section-intro {
  padding-block: 120px 100px;
}
@media (max-width: 767.98px) {
  body.page-about .section-intro {
    padding-block: 80px;
  }
}
body.page-about .section-intro-inner {
  padding-top: 80px;
  border-top: 1px solid var(--color-primary);
}
body.page-about .section-intro-title {
  text-align: center;
  letter-spacing: 0.1em;
  color: var(--color-primary);
  font-family: var(--font-mincho);
  font-size: 2.6rem;
  font-weight: var(--font-extra-light);
}
body.page-about .section-intro-text {
  margin-top: 70px;
  text-align: center;
  letter-spacing: 0.14em;
  font-family: var(--font-mincho);
  font-weight: var(--font-extra-light);
  line-height: 2.333333333;
}
@media (max-width: 767.98px) {
  body.page-about .section-intro-text {
    margin-top: 48px;
  }
}
body.page-about .section-strength {
  padding-block: 120px;
}
body.page-about .section-strength:last-child {
  padding-bottom: 160px;
}
@media (max-width: 767.98px) {
  body.page-about .section-strength {
    padding-block: 80px;
  }
}
body.page-about .section-strength .btn-wrapper {
  display: grid;
  gap: 20px;
  margin-top: 50px;
}
body.page-about .section-strength .btn-primary {
  --max-width: 310px;
  height: 64px;
}
body.page-about .section-strength-title {
  gap: 10px;
  margin-bottom: 50px;
  color: var(--color-primary);
  line-height: var(--leading-none);
}
@media (max-width: 767.98px) {
  body.page-about .section-strength-title {
    order: -99;
  }
}
body.page-about .section-strength-title-num {
  letter-spacing: 0.06em;
  font-family: var(--font-sora);
  font-size: var(--text-sm);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-none);
}
body.page-about .section-strength-title-text {
  margin-top: 10px;
  padding-block: 30px;
  border-block: 1px solid currentColor;
  font-family: var(--font-mincho);
  font-size: var(--text-2xl);
  font-weight: var(--font-extra-light);
  line-height: 1.666666667;
}
body.page-about .section-strength-subtitle {
  margin-bottom: 40px;
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: var(--text-lg);
  font-weight: var(--font-extra-light);
  line-height: 1.666666667;
}
body.page-about .section-strength-description {
  letter-spacing: 0.05em;
  font-family: var(--font-mincho);
  font-weight: var(--font-extra-light);
  line-height: 1.866666667;
}
body.page-about .section-strength-01-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(4rem, -0.558692422rem + 5.9435364042vw, 8rem);
  margin-top: 60px;
  list-style: none;
}
@media (max-width: 767.98px) {
  body.page-about .section-strength-01-list {
    grid-template-columns: 1fr;
    margin-top: 48px;
  }
}
body.page-about .section-strength-01-list-item-title {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-bottom: 24px;
  min-height: 100px;
  text-align: center;
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: var(--text-2xl);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-none);
}
body.page-about .section-strength-01-list-item-title::before, body.page-about .section-strength-01-list-item-title::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  width: 100px;
  height: 100px;
  border-top: 1px solid var(--color-primary);
}
body.page-about .section-strength-01-list-item-title::before {
  left: 0;
  border-left: 1px solid var(--color-primary);
}
body.page-about .section-strength-01-list-item-title::after {
  right: 0;
  border-right: 1px solid var(--color-primary);
}
body.page-about .section-strength-01-list-item-text {
  letter-spacing: 0.14em;
  font-family: var(--font-mincho);
  font-weight: var(--font-extra-light);
  line-height: 2.333333333;
}
body.page-about .section-strength-flex {
  display: grid;
  grid-template-columns: 1fr max-content;
  gap: 80px;
}
@media (max-width: 1023.98px) {
  body.page-about .section-strength-flex {
    gap: 48px;
  }
}
@media (max-width: 767.98px) {
  body.page-about .section-strength-flex {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media (max-width: 767.98px) {
  body.page-about .section-strength-flex-primary {
    display: contents;
  }
}
body.page-about .section-strength-flex-secondary {
  padding-top: 30px;
}
@media (max-width: 767.98px) {
  body.page-about .section-strength-flex-secondary {
    order: -98;
    margin-bottom: 40px;
    padding-top: 0;
    text-align: center;
  }
}

body.page-recruit {
  --color-primary-lighter: #c2b8ad;
  --color-beige: #fdfcf8;
}
body.page-recruit .section {
  padding-block: 120px;
}
@media (max-width: 767.98px) {
  body.page-recruit .section {
    padding-block: 80px;
  }
}
body.page-recruit .section-intro {
  padding-block: 120px 100px;
}
@media (max-width: 767.98px) {
  body.page-recruit .section-intro {
    padding-block: 80px;
  }
}
body.page-recruit .section-intro-inner {
  padding-top: 80px;
  border-top: 1px solid var(--color-primary-lighter);
}
body.page-recruit .section-intro-title {
  text-align: center;
  letter-spacing: 0.1em;
  color: var(--color-primary);
  font-family: var(--font-mincho);
  font-size: 2.6rem;
  font-weight: var(--font-extra-light);
}
body.page-recruit .section-intro-text {
  margin-top: 70px;
  text-align: center;
  letter-spacing: 0.14em;
  font-family: var(--font-mincho);
  font-weight: var(--font-extra-light);
  line-height: 2.333333333;
}
@media (max-width: 767.98px) {
  body.page-recruit .section-intro-text {
    margin-top: 48px;
  }
}
body.page-recruit .section-mission {
  background-color: var(--color-beige);
}
body.page-recruit .section-mission-title {
  margin-bottom: 100px;
  color: var(--color-primary);
  line-height: var(--leading-none);
}
@media (max-width: 767.98px) {
  body.page-recruit .section-mission-title {
    margin-bottom: 48px;
  }
}
body.page-recruit .section-mission-title-en {
  letter-spacing: -0.02em;
  font-family: var(--font-cormorant-garamond);
  font-size: 2.6rem;
  font-weight: var(--font-regular);
}
body.page-recruit .section-mission-title-ja {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--color-primary-lighter);
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: var(--text-xl);
  font-weight: var(--font-extra-light);
}
body.page-recruit .section-mission-subtitle {
  margin-bottom: 50px;
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: 2.6rem;
  font-weight: var(--font-extra-light);
  line-height: var(--leading-md);
}
@media (max-width: 767.98px) {
  body.page-recruit .section-mission-subtitle {
    margin-bottom: 36px;
  }
}
body.page-recruit .section-mission-text {
  letter-spacing: 0.14em;
  line-height: 1.866666667;
}
body.page-recruit .section-top-border-title {
  margin-bottom: 80px;
  padding-top: 30px;
  border-top: 1px solid var(--color-primary-lighter);
  letter-spacing: 0.1em;
  color: var(--color-primary);
  font-family: var(--font-mincho);
  font-size: var(--text-3xl);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-md);
}
@media (max-width: 767.98px) {
  body.page-recruit .section-top-border-title {
    margin-bottom: 48px;
  }
}
body.page-recruit .section-top-border-title span {
  display: block;
  margin-block: var(--leading-trim);
}
body.page-recruit .job-description {
  display: grid;
  gap: 80px;
}
@media (max-width: 767.98px) {
  body.page-recruit .job-description {
    gap: 40px;
  }
}
body.page-recruit .job-description-title {
  margin-bottom: 40px;
  letter-spacing: 0.1em;
  font-size: var(--text-lg);
  line-height: var(--leading-md);
}
@media (max-width: 767.98px) {
  body.page-recruit .job-description-title {
    margin-bottom: 20px;
  }
}
body.page-recruit .job-description-list-item {
  border-block: 1px solid var(--color-primary-lighter);
}
body.page-recruit .job-description-list-item:not(:last-child) {
  border-bottom: none;
}
body.page-recruit .job-description-list-item-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-block: 30px;
  text-align: left;
}
body.page-recruit .job-description-list-item-header .icon-chevron {
  display: block;
  width: 19px;
  height: 12px;
  background: url(../img/pages/recruit/icon_chevron.png) no-repeat center center/contain;
  transition: rotate 0.3s ease-in;
}
body.page-recruit .job-description-list-item-header:is(.is-active) .icon-chevron {
  rotate: 180deg;
}
body.page-recruit .job-description-list-item-title {
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: var(--text-xl);
  font-weight: var(--font-extra-light);
  line-height: var(--leading-none);
}
body.page-recruit .job-description-list-item-body {
  display: none;
  padding-block: 30px 60px;
}
@media (max-width: 767.98px) {
  body.page-recruit .job-description-list-item-body {
    padding-block: 18px 48px;
  }
}
body.page-recruit .job-description-table-head {
  margin-bottom: 32px;
  letter-spacing: 0.1em;
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  line-height: 1.666666667;
}
@media (max-width: 767.98px) {
  body.page-recruit .job-description-table-head {
    margin-bottom: 10px;
  }
}
body.page-recruit .job-description-table-body {
  letter-spacing: 0.14em;
  line-height: 1.866666667;
}
body.page-recruit .job-description-table-body:not(:last-child) {
  margin-bottom: 60px;
}
@media (max-width: 767.98px) {
  body.page-recruit .job-description-table-body:not(:last-child) {
    margin-bottom: 32px;
  }
}
body.page-recruit .section-requirements {
  background-color: var(--color-beige);
}
body.page-recruit .recruit-table {
  width: 100%;
  border-top: 1px solid var(--color-primary-lighter);
  border-collapse: collapse;
}
body.page-recruit .recruit-table :is(th, td) {
  border-bottom: 1px solid var(--color-primary-lighter);
  vertical-align: top;
  padding-block: 30px;
}
@media (max-width: 767.98px) {
  body.page-recruit .recruit-table :is(th, td) {
    display: block;
    width: 100%;
  }
}
body.page-recruit .recruit-table th {
  width: 196px;
  text-align: left;
  letter-spacing: 0.1em;
  font-size: var(--text-md);
}
@media (max-width: 767.98px) {
  body.page-recruit .recruit-table th {
    padding-bottom: 0;
    width: 100%;
    border-bottom: none;
  }
}
body.page-recruit .recruit-table td {
  letter-spacing: 0.14em;
  line-height: 1.866666667;
}
body.page-recruit .recruit-table td .grid {
  gap: 2.75em;
}
@media (max-width: 767.98px) {
  body.page-recruit .recruit-table td .grid {
    gap: 1.5em;
  }
}
body.page-recruit .section-contact {
  background-color: var(--color-beige);
}
body.page-recruit .section-contact .flex {
  -moz-column-gap: 40px;
       column-gap: 40px;
}
body.page-recruit .section-contact .wpcf7-form-control-wrap:has(select) {
  display: block;
  max-width: 140px;
}
body.page-recruit .section-contact .wpcf7-form-control-wrap:has(select)::after {
  content: "年";
  bottom: auto;
  font-size: var(--text-md);
  font-weight: var(--font-medium);
  line-height: var(--leading-md);
}
body.page-recruit .section-contact .wpcf7-form-control-wrap:has(select):has([name=your-birthday-month])::after {
  content: "月";
}
body.page-recruit .section-contact .wpcf7-form-control-wrap:has(select):has([name=your-birthday-day])::after {
  content: "日";
}
body.page-recruit .section-contact .wpcf7-form-control-wrap:has(select) select {
  background: none;
}

.border-top-title {
  position: relative;
  padding-top: 30px;
  border-top: 1px solid currentColor;
  letter-spacing: 0.1em;
  font-family: var(--font-mincho);
  font-size: var(--text-3xl);
  font-weight: var(--font-extra-light);
}
@media (max-width: 767.98px) {
  .border-top-title {
    padding-top: 20px;
    font-size: var(--text-2xl);
  }
}
.border-top-title span {
  display: block;
  margin-block: var(--leading-trim);
}

.with-border-right-title::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 280px;
  background-color: currentColor;
}
@media (max-width: 767.98px) {
  .with-border-right-title::after {
    display: none;
  }
}

.section-question-list {
  display: grid;
  gap: 30px;
  list-style: none;
}

.section-question-list-item {
  padding: 40px;
  border-radius: 4px;
  background-color: #f9f9f9;
}
@media (max-width: 767.98px) {
  .section-question-list-item {
    padding: 40px 20px;
  }
}

.section-question-list-item-title {
  display: flex;
  gap: 30px;
  align-items: center;
  margin-bottom: 30px;
  letter-spacing: 0.12em;
  font-size: var(--text-lg);
  line-height: 1.777777778;
}
@media (max-width: 767.98px) {
  .section-question-list-item-title {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
  }
}
.section-question-list-item-title::before {
  display: block;
  content: "";
  flex: none;
  width: 32px;
  height: 34px;
  background: url(../img/common/icon_question.png) no-repeat center center/contain;
}
@media (max-width: 767.98px) {
  .section-question-list-item-title::before {
    width: 24px;
    height: 26px;
  }
}

.section-question-list-item-text {
  padding-left: 62px;
  letter-spacing: 0.12em;
}
@media (max-width: 767.98px) {
  .section-question-list-item-text {
    padding-left: 0;
  }
}

#section-lp-cta {
  padding: 20px;
  color: var(--color-white);
  background-color: #111;
}
#section-lp-cta .section-cta-inner {
  padding-block: 70px 60px;
  background-color: #1b1b1b;
}
#section-lp-cta .section-cta-title {
  text-align: center;
  font-size: var(--text-3xl);
  line-height: var(--leading-md);
}
#section-lp-cta .section-cta-text {
  margin-block: 50px;
  text-align: center;
  letter-spacing: 0.16em;
  line-height: 2.125;
}
#section-lp-cta .section-cta-hr {
  margin-inline: calc(50% - 50cqw);
}
@media (max-width: 767.98px) {
  #section-lp-cta .section-cta-hr:is(.disable-mobile) {
    margin-inline: 0;
  }
}
#section-lp-cta .section-cta-btn-wrapper {
  display: flex;
  gap: 42px;
  align-items: center;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  #section-lp-cta .section-cta-btn-wrapper {
    flex-direction: column;
    gap: 20px;
  }
}
#section-lp-cta .section-cta-btn-wrapper .btn-primary {
  --max-width: 360px;
  height: 72px;
  padding-block: 10px;
  padding-inline: 78px 26px;
  border: 1px solid var(--color-white);
  color: var(--color-white);
}
@media (max-width: 1023.98px) {
  #section-lp-cta .section-cta-btn-wrapper .btn-primary {
    padding-left: 56px;
  }
}
@media (max-width: 767.98px) {
  #section-lp-cta .section-cta-btn-wrapper .btn-primary {
    padding-left: 26px;
  }
}
#section-lp-cta .section-cta-btn-wrapper .btn-primary .btn-primary-text {
  letter-spacing: 0.12em;
  font-family: var(--font-base);
  font-size: var(--text-lg);
  font-weight: var(--font-medium);
}
@media (max-width: 767.98px) {
  #section-lp-cta .section-cta-btn-wrapper .btn-primary .btn-primary-text {
    font-size: var(--text-md);
  }
}
#section-lp-cta .section-cta-btn-wrapper .btn-primary .icon-arrow {
  width: 28px;
  height: 11px;
  -webkit-mask-image: url(../img/common/icon_arrow_02.png);
          mask-image: url(../img/common/icon_arrow_02.png);
}

.lp-footer-logo {
  margin-block: 80px;
}

.lp-footer-copyright {
  padding-bottom: 10px;
  letter-spacing: 0.02em;
  font-size: 1rem;
  font-weight: var(--font-regular);
  line-height: var(--leading-none);
}
