@charset "UTF-8";
html {
  font-size: 16px;
}
@media (max-width: 1360px) {
  html {
    font-size: 1.1764705882vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

/* フォントカラーは、使用頻度が多いものを選択する */
body {
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #222222;
  line-height: 1;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

/* コンテンツ量が少なく短いページでもフッターを最下部に表示する ---- */
.content-wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1;
}

/* コンテンツ量が少なく短いページでもフッターを最下部に表示する ここまで ---- */
/* YouTubeのframeborder属性の変わり(HTML5の標準仕様で廃止されているため) */
iframe {
  border: none;
}

/* ジャギー対策 */
img {
  image-rendering: auto;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

ul,
ol {
  padding: 0;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

ul,
ol {
  list-style: none;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
}

article > * + * {
  margin-top: 1em;
}

input,
button,
textarea,
select {
  font: inherit;
}

img:not([alt]) {
  filter: blur(10px);
}

input,
button,
select,
textarea {
  font: inherit;
  border: none;
  border-radius: 0;
  outline: none;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  resize: none;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.inner {
  width: 100%;
  max-width: 88.125rem;
  padding-right: 1.5625rem;
  padding-left: 1.5625rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .inner {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
}

/* ---------- MVのマスクアニメーション -------------------------- */
.js-mv-mask {
  mask-image: linear-gradient(90deg, #ffffff 0% 50%, transparent 100%);
  mask-size: 200% 100%;
  mask-repeat: no-repeat;
  mask-position: 200% 0%;
}

.js-mv-mask.is-open {
  animation: mask 0.5s linear forwards;
}

@keyframes mask {
  0% {
    mask-position: 200% 0%;
  }
  100% {
    mask-position: 0% 0%;
  }
}
/* ---------- MVのマスクアニメーション ここまで ----------------- */
/* ---------- 各セクションのマスクアニメーション -------------------------- */
.js-mask {
  mask-image: linear-gradient(90deg, #ffffff 0% 50%, transparent 100%);
  mask-size: 200% 100%;
  mask-repeat: no-repeat;
  mask-position: 200% 0%;
}

.js-mask.is-open {
  animation: mask 1s linear forwards;
}

@keyframes mask {
  0% {
    mask-position: 200% 0%;
  }
  100% {
    mask-position: 0% 0%;
  }
}
/* ---------- 各セクションのマスクアニメーション ここまで ----------------- */
/* ---------- パララックスの指定 | ここから ---------- */
.js-parallax {
  overflow: hidden;
}
.js-parallax img {
  display: block;
  height: 110%;
  max-width: unset;
}

/* ---------- パララックスの指定 | ここまで ---------- */
/* ---------- 読み込み時のチラつき防止 | ここから ---------- */
.js-pop-up {
  opacity: 0;
}

/* ---------- 読み込み時のチラつき防止 | ここまで ---------- */
.body-bg {
  overflow: clip;
}

.breadcrumb {
  position: relative;
  z-index: 1;
}

.breadcrumb__nav {
  width: 100%;
}

.breadcrumb__items {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.breadcrumb__item {
  font-size: 12px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.3;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .breadcrumb__item {
    font-size: max(0.875rem, 12px);
  }
}

.breadcrumb.breadcrumb--white .breadcrumb__item {
  color: #ffffff;
}

.breadcrumb__item:first-of-type .breadcrumb__link {
  text-transform: uppercase;
}

.breadcrumb__item:last-of-type {
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1; /* 表示する行数を1行に設定 */
  overflow: hidden;
}

.breadcrumb__item::after {
  content: "-";
  display: inline-block;
  margin-inline: 0.4375rem;
  font-size: 0.75rem;
}

.breadcrumb__item:last-of-type::after {
  content: "";
  margin: 0;
}

.breadcrumb__link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.0625rem;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .breadcrumb__link:hover {
    opacity: 0.6;
  }
}
/* ----- ボタンタイプ共通設定 ここから ----- */
.btn {
  display: inline-block;
  transition: all 0.3s;
  cursor: pointer;
  will-change: transform;
}
.btn__text {
  display: inline-block;
  transition: all 0.3s;
}

/* ----- ボタンタイプ共通設定 ここまで ----- */
/* ----- 『CONTACT』ボタン ここから ----- */
.btn.btn-01 {
  position: relative;
  width: 8.75rem;
  border-radius: 100vmax;
  background-color: #222222;
  border: 1px solid #222222;
  padding: 0.5rem 0;
  text-align: center;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .btn.btn-01 {
    width: 100%;
    max-width: 8.75rem;
  }
}

.btn.btn-01::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6rem; /* ボタンの高さの3倍（skewYの角度による） */
  transform: scale(0, 1);
  transform-origin: left top;
  transform: skewY(-20deg) scale(1, 0);
  background-color: #ffffff;
  transition: all 0.3s;
  z-index: -1;
}

.btn__text.btn__text-01 {
  position: relative;
  font-size: max(0.875rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (any-hover: hover) {
  .btn.btn-01:hover::after {
    transform: skewY(-20deg) scale(1, 1);
  }
  .btn.btn-01:hover .btn__text.btn__text-01 {
    color: #222222;
  }
}
/* ----- 『CONTACT』ボタン ここまで ----- */
/* ----- 『RECRUIT』ボタン ここから ----- */
.btn.btn-02 {
  position: relative;
  width: 8.75rem;
  border-radius: 100vmax;
  border: 1px solid #222222;
  padding: 0.5rem 0;
  text-align: center;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .btn.btn-02 {
    width: 100%;
    max-width: 8.75rem;
  }
}

/* ---------- 事業内容 - 法人のお客様　施工例用アイコン | ここから ---------- */
.btn__icon-02.btn__icon-02--service-cases-no-active {
  top: 0.625rem;
  right: 0.625rem;
  transform: none;
}

.btn__icon-02.btn__icon-02--service-cases-active {
  top: 0.625rem;
  right: 0.625rem;
  transform: none;
}

/* ---------- 事業内容 - 法人のお客様　施工例用アイコン | ここまで ---------- */
.btn.btn-02::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6rem; /* ボタンの高さの3倍（skewYの角度による） */
  transform: scale(0, 1);
  transform-origin: left top;
  transform: skewY(-20deg) scale(1, 0);
  background-color: #222222;
  transition: all 0.3s;
  z-index: -1;
}

.btn__text.btn__text-02 {
  position: relative;
  font-size: max(0.875rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (any-hover: hover) {
  .btn.btn-02:hover::after {
    transform: skewY(-20deg) scale(1, 1);
  }
  .btn.btn-02:hover .btn__text.btn__text-02 {
    color: #ffffff;
  }
}
/* ----- 『RECRUIT』ボタン ここまで ----- */
/* ----- 白いボタン ここから ----- */
.btn.btn-03 {
  position: relative;
  width: 100%;
  max-width: 13.75rem;
  border-radius: 100vmax;
  background-color: #ffffff;
  border: 1px solid #222222;
  text-align: left;
  padding: 1rem 0;
  overflow: hidden;
  padding-left: 1.25rem;
  z-index: 1;
  filter: drop-shadow(0.375rem 0.375rem 0.375rem rgba(0, 0, 0, 0.2));
  transition: all 0.3s;
}
@media screen and (max-width: 1440px) {
  .btn.btn-03 {
    max-width: max(12.5rem, 180px);
  }
}
@media screen and (max-width: 768px) {
  .btn.btn-03 {
    max-width: 13.75rem;
  }
}

.btn__icon-01 {
  position: absolute;
  right: 0.4375rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.125rem;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  background-color: #222222;
  transition: all 0.3s;
}

.btn__icon-01::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  mask-image: url(../../assets/images/common/icon-ellipsis.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #ffffff;
  width: 1.25rem;
  aspect-ratio: 20/4;
  transition: all 0.3s;
  z-index: 0;
}

.btn__text.btn__text-03 {
  position: relative;
  font-size: max(1rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (any-hover: hover) {
  .btn.btn-03:hover {
    background-color: #222222;
  }
  .btn.btn-03:hover .btn__text.btn__text-03 {
    color: #ffffff;
  }
  .btn.btn-03:hover .btn__icon-01 {
    background-color: #ffffff;
  }
  .btn.btn-03:hover .btn__icon-01::before {
    background-color: #222222;
  }
}
/* ----- 白いボタン ここまで ----- */
/* ----- 黒いボタン ここから ----- */
.btn.btn-04 {
  position: relative;
  width: 100%;
  max-width: 13.75rem;
  border-radius: 100vmax;
  background-color: #222222;
  border: 1px solid #ffffff;
  text-align: left;
  padding: 1rem 0;
  overflow: hidden;
  padding-left: 1.25rem;
  z-index: 1;
  filter: drop-shadow(0.375rem 0.375rem 0.375rem rgba(0, 0, 0, 0.2));
  transition: all 0.3s;
}
@media screen and (max-width: 1440px) {
  .btn.btn-04 {
    max-width: max(12.5rem, 180px);
  }
}
@media screen and (max-width: 768px) {
  .btn.btn-04 {
    max-width: 13.75rem;
  }
}

.btn__icon-02 {
  position: absolute;
  right: 0.4375rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.125rem;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  background-color: #ffffff;
  transition: all 0.3s;
}

.btn__icon-02::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  mask-image: url(../../assets/images/common/icon-ellipsis.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #222222;
  width: 1.25rem;
  aspect-ratio: 20/4;
  transition: all 0.3s;
  z-index: 0;
}

.btn__text.btn__text-04 {
  position: relative;
  font-size: max(1rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (any-hover: hover) {
  .btn.btn-04:hover {
    background-color: #ffffff;
  }
  .btn.btn-04:hover .btn__text.btn__text-04 {
    color: #222222;
  }
  .btn.btn-04:hover .btn__icon-02 {
    background-color: #222222;
  }
  .btn.btn-04:hover .btn__icon-02::before {
    background-color: #ffffff;
  }
}
/* ----- 黒いボタン ここまで ----- */
/* ----- 『VIEW ALL』ボタン ここから ----- */
.btn.btn-05 {
  position: relative;
  width: 100%;
  max-width: 13.75rem;
  border-radius: 100vmax;
  background-color: #ffffff;
  border: 1px solid #222222;
  padding: 1rem 0;
  overflow: hidden;
  padding-left: 1.25rem;
  z-index: 1;
  filter: drop-shadow(0.375rem 0.375rem 0.375rem rgba(0, 0, 0, 0.2));
  transition: all 0.3s;
}
@media screen and (max-width: 1440px) {
  .btn.btn-05 {
    max-width: max(12.5rem, 180px);
  }
}
.btn__icon-03 {
  position: absolute;
  right: 0.4375rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.125rem;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  background-color: #222222;
  transition: all 0.3s;
}

.btn__icon-03::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  mask-image: url(../../assets/images/common/arrow-01.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #ffffff;
  width: 0.875rem;
  aspect-ratio: 14/7;
  transition: all 0.3s;
  z-index: -1;
}

.btn__text.btn__text-05 {
  position: relative;
  display: block;
  font-size: max(1rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: left;
}

@media (any-hover: hover) {
  .btn.btn-05:hover {
    background-color: #222222;
  }
  .btn.btn-05:hover .btn__text.btn__text-05 {
    color: #ffffff;
  }
  .btn.btn-05:hover .btn__icon-03 {
    background-color: #ffffff;
  }
  .btn.btn-05:hover .btn__icon-03::before {
    background-color: #222222;
  }
}
/* ----- 『VIEW ALL』ボタン ここまで ----- */
/* ---------- 『送信する』ボタン | ここから ---------- */
.btn.btn-contact {
  position: relative;
  display: block;
  width: 100%;
  max-width: 22.5rem;
  height: 100%;
  max-height: 4.25rem;
  background-color: #222222;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  padding: 1.5rem 1.25rem 1.5rem 1.5rem;
  filter: drop-shadow(0.375rem 0.1875rem 0.375rem rgba(0, 0, 0, 0.16));
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .btn.btn-contact {
    max-width: 18.75rem;
    padding: 0.9375rem 0.625rem 0.9375rem 0.9375rem;
    margin-inline: auto;
  }
}

.btn.btn-contact::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transform: translateY(-50%);
  width: 100%;
  mask-image: url(../../assets/images/common/icon-ellipsis.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #ffffff;
  width: 1.25rem;
  aspect-ratio: 20/4;
  transition: all 0.3s;
  z-index: -1;
}

.btn-contact__submit {
  position: relative;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.2em;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .btn-contact__submit {
    font-size: max(1rem, 12px);
  }
}

@media (any-hover: hover) {
  .btn.btn-contact:hover {
    background-color: #ffffff;
  }
  .btn.btn-contact:hover::before {
    background-color: #222222;
  }
  .btn.btn-contact:hover .btn-contact__submit {
    color: #222222;
  }
}
/* ---------- 『送信する』ボタン | ここまで ---------- */
/* ---------- 3点リーダーアイコン（白・透明） | ここから ---------- */
.btn__icon-04 {
  position: absolute;
  right: 2.5rem;
  bottom: 2.5rem;
  width: 6.25rem;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  background-color: transparent;
  border: 1px solid #ffffff;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .btn__icon-04 {
    right: 1.25rem;
    bottom: 1.25rem;
    width: 3.75rem;
  }
}

.btn__icon-04::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  mask-image: url(../../assets/images/common/icon-ellipsis.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #ffffff;
  width: 1.25rem;
  aspect-ratio: 20/4;
  transition: all 0.3s;
  z-index: 0;
}

@media (any-hover: hover) {
  .company__item-link:hover .btn__icon-04 {
    background-color: #ffffff;
    border: 1px solid #222222;
  }
  .company__item-link:hover .btn__icon-04::before {
    background-color: #222222;
  }
}
/* ---------- 3点リーダーアイコン（白・透明） | ここまで ---------- */
/* ---------- 3点リーダーアイコン（黒・白） | ここから ---------- */
.btn__icon-06 {
  position: absolute;
  top: 1.5rem;
  right: 0;
  width: 2.125rem;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  background-color: #efefef;
  border: 1px solid #efefef;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .btn__icon-06 {
    width: 1.5625rem;
  }
}

.btn__icon-06.btn__icon-06--news {
  top: 0;
}
@media screen and (max-width: 768px) {
  .btn__icon-06.btn__icon-06--news {
    right: -0.9375rem;
  }
}

.btn__icon-06::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  mask-image: url(../../assets/images/common/icon-ellipsis.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #222222;
  width: 0.9375rem;
  aspect-ratio: 20/4;
  transition: all 0.3s;
  z-index: 0;
}

@media (any-hover: hover) {
  .top-business__sub-item-link:hover .btn__icon-06,
  .news__item-link:hover .btn__icon-06 {
    background-color: #222222;
    border: 1px solid #222222;
  }
  .top-business__sub-item-link:hover .btn__icon-06::before,
  .news__item-link:hover .btn__icon-06::before {
    background-color: #ffffff;
  }
}
/* ---------- 3点リーダーアイコン（黒・白） | ここまで ---------- */
@media screen and (max-width: 768px) {
  .cases__intro-inner.inner {
    max-width: 33.75rem;
  }
}

.cases__intro-wrapper {
  display: grid;
  grid-template-columns: 660fr 640fr;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .cases__intro-wrapper {
    grid-template-columns: 1fr;
  }
}

.cases__message-text {
  font-size: 3.75rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.4;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .cases__message-text {
    font-size: 1.875rem;
    text-align: center;
  }
}

.cases__intro-text-wrapper {
  display: grid;
  gap: 2.5rem;
}

.cases__intro-text-01 {
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .cases__intro-text-01 {
    font-size: 1.25rem;
  }
}

.cases__intro-text-02 {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
}

.cases__container {
  position: relative;
  margin-top: 12.5rem;
}
@media screen and (max-width: 768px) {
  .cases__container {
    margin-top: 6.25rem;
  }
}

.cases__slide-img {
  position: relative;
  z-index: -1;
}

.cases__wrapper {
  max-width: 88.125rem;
  width: 100%;
  padding-inline: 1.5625rem;
  margin-inline: auto;
  margin-top: -3.75rem;
}
@media screen and (max-width: 768px) {
  .cases__wrapper {
    margin-top: -1.25rem;
  }
}

.cases__heading {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  text-align: right;
  padding: 0.625rem 1.25rem 0 0;
}
@media screen and (max-width: 768px) {
  .cases__heading {
    padding: 0.3125rem 0.3125rem;
  }
}

.cases__heading::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100%;
  background-color: #ffffff;
  z-index: -1;
}

.cases__heading-ja {
  position: relative;
  font-size: 3.125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.44;
}
@media screen and (max-width: 768px) {
  .cases__heading-ja {
    font-size: 1.5rem;
  }
}

.cases__heading-en {
  position: relative;
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .cases__heading-en {
    margin-top: 0.3125rem;
  }
}

.cases__info {
  display: grid;
  grid-template-columns: 360fr 220fr;
  gap: 2.5rem;
  align-items: center;
  padding-left: 46.25rem;
  padding-bottom: 0.9375rem;
}
@media screen and (max-width: 1920px) {
  .cases__info {
    grid-template-columns: 1fr;
    justify-items: center;
    padding-left: 0;
    max-width: 38.75rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .cases__info {
    max-width: 33.75rem;
    margin-top: 3.125rem;
  }
}

.cases__info-text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
}

.cases__btn {
  width: 100%;
  max-width: max(13.75rem, 180px);
}

.column-item-link {
  position: relative;
  padding-top: 1.25rem;
  padding-bottom: 1.875rem;
  padding-inline: 1.25rem;
  background-color: #efefef;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  border-radius: 0.25rem;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .column-item-link {
    gap: 1.25rem;
  }
}

@media (any-hover: hover) {
  .column-item-link:hover .column-item-link__img img {
    transform: scale(1.2);
  }
}
.column-item-link__img {
  width: 100%;
  overflow: hidden;
  border-radius: 0.25rem;
}

.column-item-link__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 360/270;
  transition: ease-in-out 0.3s;
}

.column-item-link__data {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  width: 100%;
  position: relative;
  padding-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .column-item-link__data {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.625rem;
  }
}

.column-item-link__data::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #b5b5b5;
}

.column-item-link__data::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.25rem;
  height: 1px;
  background-color: #222222;
}

.column-item-link__tag {
  font-size: 0.75rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.3;
  background-color: #ffffff;
  padding: 0.4375rem 0.8125rem;
  border-radius: 100vmax;
  border: 1px solid #222222;
  filter: drop-shadow(0.375rem 0.375rem 0.375rem rgba(0, 0, 0, 0.1));
}

.column-item-link__time {
  font-size: 0.75rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: rgba(34, 34, 34, 0.6);
  display: flex;
}

.column-item-link__time p {
  text-transform: uppercase;
  letter-spacing: 0.2em;
}

.column-item-link__time time {
  letter-spacing: 0.1em;
}

.column-item-link__title {
  margin-top: 2.5rem;
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.625;
  width: 100%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  padding-right: 3.75rem;
}
@media screen and (max-width: 768px) {
  .column-item-link__title {
    margin-top: 1.25rem;
    font-size: max(0.875rem, 12px);
  }
}

.column-item-link__icon {
  position: absolute;
  bottom: 2.5rem;
  right: 1.25rem;
}

.company-profile__column-btn {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .company-profile__column-btn {
    text-align: center;
  }
}

.column-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 1440px) {
  .column-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .column-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.company {
  position: relative;
  margin-top: 15.625rem;
}
@media screen and (max-width: 768px) {
  .company {
    margin-top: 7.5rem;
  }
}

.company::before {
  content: "here to help";
  position: absolute;
  top: -11.25rem;
  left: 50.5%;
  transform: translateX(-50%);
  font-size: 12.5rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-wrap: nowrap;
  z-index: -1;
  mix-blend-mode: soft-light;
}
@media screen and (max-width: 1920px) {
  .company::before {
    font-size: 10.4166666667vw;
  }
}
@media screen and (max-width: 768px) {
  .company::before {
    top: -5rem;
    font-size: 2.625rem;
  }
}

@media screen and (max-width: 768px) {
  .company__inner.inner {
    max-width: 33.75rem;
  }
}

.company__intro {
  margin-top: 9.375rem;
}
@media screen and (max-width: 768px) {
  .company__intro {
    margin-top: 6.25rem;
  }
}

.company__intro-wrapper {
  display: grid;
  grid-template-columns: 660fr 640fr;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .company__intro-wrapper {
    grid-template-columns: 1fr;
  }
}

.company__message-text {
  font-size: clamp(3.438rem, 2.5rem + 1.04vw, 3.75rem); /* 55 ~ 60 | 1440 ~ 1920 */
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.4;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .company__message-text {
    font-size: 1.875rem;
    text-align: center;
  }
}

.company__intro-text-wrapper {
  display: grid;
  gap: 2.5rem;
}

.company__intro-text-01 {
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .company__intro-text-01 {
    font-size: 1.25rem;
  }
}

.company__intro-text-02 {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
}

.company__wrapper {
  margin-top: 10rem;
}
@media screen and (max-width: 768px) {
  .company__wrapper {
    max-width: 21.875rem;
    width: 100%;
    margin-inline: auto;
  }
}

.company__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .company__items {
    grid-template-columns: repeat(1, 1fr);
    gap: 3.125rem;
  }
}

.company__item {
  width: 100%;
  aspect-ratio: 440/580;
}

.company__item-link {
  position: relative;
  display: block;
  padding: 2.5rem;
  height: 100%;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .company__item-link {
    padding: 1.25rem;
  }
}

.company__item-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 0.25rem;
  overflow: hidden;
  transition: all 0.3s;
  z-index: -1;
}

.company__item-img::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: rgba(57, 57, 57, 0.6);
  mix-blend-mode: multiply;
  transition: all 0.3s;
  z-index: 0;
}

.company__item-img img {
  position: relative;
  object-fit: cover;
  transition: all 0.3s;
  aspect-ratio: 440/580;
  will-change: transform;
  z-index: -1;
}

.company__item-title-ja {
  font-size: 1.875rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.2em;
}

.company__item-title-en {
  font-size: max(1rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 0.625rem;
}

@media (any-hover: hover) {
  .company__item-link:hover .company__item-img::before {
    background-color: transparent;
  }
  .company__item-link:hover .company__item-img img {
    transform: scale(1.05);
  }
}
.company-history-items {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.company-history-items > :first-child::after {
  height: 50%;
  top: auto;
  transform: translateY(0);
  bottom: 0;
}

.company-history-items > :last-child::after {
  height: 50%;
  top: 0;
  transform: translateY(0);
}

.company-history-item {
  position: relative;
  background-color: #ffffff;
  padding-block: 0.8125rem;
  padding-left: clamp(2.5rem, -3.125rem + 6.25vw, 4.375rem); /* 40 ~ 70 | 1440 ~ 1920 */
  padding-right: clamp(1.25rem, -2.5rem + 4.17vw, 2.5rem); /* 20 ~ 40 | 1440 ~ 1920 */
  display: grid;
  grid-template-columns: max(7.5rem, 70px) max(5.625rem, 65px) 1fr;
  gap: 0.625rem;
  align-items: center;
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  .company-history-item {
    grid-template-columns: auto 1fr;
    gap: 0.625rem;
    padding-left: 2.5rem;
    padding-right: 1.25rem;
  }
}

.company-history-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: clamp(1.25rem, -2.5rem + 4.17vw, 2.5rem); /* 20 ~ 40 | 1440 ~ 1920 */
  transform: translateY(-50%);
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 100vmax;
  background-color: #222222;
}
@media screen and (max-width: 768px) {
  .company-history-item::before {
    left: 0.8125rem;
  }
}

.company-history-item::after {
  content: "";
  position: absolute;
  top: 50%;
  left: clamp(1.5rem, -2.25rem + 4.17vw, 2.75rem); /* 24 ~ 44 | 1440 ~ 1920 */
  transform: translateY(-50%);
  width: 1px;
  height: 100%;
  background-image: repeating-linear-gradient(to bottom, #222222 0, #222222 1px, transparent 1px, transparent 4px);
}
@media screen and (max-width: 768px) {
  .company-history-item::after {
    left: 1.0625rem;
  }
}

.company-history-item__year {
  font-size: 1.625rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #b5b5b5;
  line-height: 1.4444444444;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .company-history-item__year {
    font-size: 1.25rem;
  }
}

.company-history-item__year span {
  font-size: max(1.0625rem, 12px);
  font-weight: 500;
  margin-left: 0.25rem;
}
@media screen and (max-width: 768px) {
  .company-history-item__year span {
    font-size: max(0.75rem, 12px);
    margin-left: 0;
  }
}

.company-history-item__month {
  font-size: max(0.75rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  line-height: 2.7;
  letter-spacing: 0.2em;
}

.company-history-item__content {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.8;
  letter-spacing: 0.2em;
  margin-left: 0.25rem;
}
@media screen and (max-width: 768px) {
  .company-history-item__content {
    margin-left: 0;
  }
}

.company-info-items {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

@media screen and (max-width: 1440px) {
  .company-info-items:first-child {
    border-bottom: solid 1px #b5b5b5;
  }
  .company-info-items .company-info-item:last-child {
    border-bottom: none;
  }
}
.company-info-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-bottom: 1.1875rem;
  border-bottom: 1px dotted #b5b5b5;
}

.company-info-item__title {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #b5b5b5;
  letter-spacing: 0.2em;
  line-height: 1.8125;
  text-transform: uppercase;
}

.company-info-item__content {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.8125;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.company-info-item__content-number-list-item:nth-child(n+2) {
  margin-top: 1.25rem;
}

.company-info-item__content-number-list-item-title,
.company-info-item__content-dot-list-item-text-01 {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.8125;
}

.company-info-item__content-dot-list-item-text-02 {
  padding-left: 4.5em;
  text-indent: -3.4em;
}
@media screen and (max-width: 768px) {
  .company-info-item__content-dot-list-item-text-02 {
    padding-left: 3.5em;
  }
}

.company-profile__policy-inner.inner {
  padding-left: 0;
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-inner.inner {
    max-width: 33.75rem;
    padding-inline: 1.25rem;
    margin-inline: auto;
  }
}

.company-profile__policy-content {
  margin-top: 3.4375rem;
  max-width: 77.5rem;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-content {
    margin-top: 2.5rem;
  }
}

.company-profile__policy-items {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.company-profile__policy-item {
  position: relative;
  padding-block: 3.75rem;
  padding-inline: 6.25rem;
  border: 1px solid #b5b5b5;
  background-color: #efefef;
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item {
    padding-block: 1.875rem;
    padding-inline: 1.875rem;
  }
}

.company-profile__policy-item::before {
  content: "";
  position: absolute;
  top: 3.75rem;
  left: min(4.375rem, 5.8333333333%);
  width: min(3.75rem, 5%);
  aspect-ratio: 60/42;
  background-image: url(../../assets/images/company/profile/double-quotation.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item::before {
    top: 1.25rem;
    left: 0.625rem;
    width: 1.875rem;
  }
}

.company-profile__policy-item::after {
  content: "";
  position: absolute;
  bottom: 3.75rem;
  right: min(4.875rem, 6.5%);
  width: min(3.75rem, 5%);
  aspect-ratio: 60/42;
  background-image: url(../../assets/images/company/profile/double-quotation.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item::after {
    bottom: 1.25rem;
    right: 0.625rem;
    width: 1.875rem;
  }
}

.company-profile__policy-item-title {
  background-color: #222222;
  color: #ffffff;
  padding: 0.625rem 2.5rem;
  border-radius: 100vmax;
  font-size: max(1.25rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-transform: uppercase;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item-title {
    font-size: max(1rem, 12px);
    padding: 0.625rem 1.25rem;
  }
}

.company-profile__policy-item-content01 {
  margin-top: 1.25rem;
}

.company-profile__policy-item-content01 p {
  font-size: max(2.25rem, 12px);
  color: #222222;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.5833333333;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item-content01 p {
    font-size: max(1.25rem, 12px);
  }
}

.company-profile__policy-item-content02 {
  margin-top: 1.25rem;
}

.company-profile__policy-item-content02-list {
  display: flex;
  row-gap: 0.625rem;
  column-gap: min(1.25rem, 1.0416666667%);
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item-content02-list {
    gap: 0.75rem;
  }
}

.company-profile__policy-item-content02-item {
  background-color: #ffffff;
  padding-block: 0.625rem;
  padding-inline: min(1.25rem, 1.0416666667%);
  font-size: max(1.875rem, 12px);
  color: #222222;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1;
  max-width: 28.125rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item-content02-item {
    font-size: max(1.25rem, 12px);
    padding: 0.625rem 0.75rem;
    gap: 0.75rem;
  }
}

.company-profile__policy-item-content02-item span {
  font-size: max(0.75rem, 12px);
  color: #222222;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
}

.company-profile__policy-item-content03 {
  margin-top: 2.5rem;
}

.company-profile__policy-item-content03-list {
  position: relative;
  display: flex;
  column-gap: 1rem;
  row-gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item-content03-list {
    gap: 0.75rem;
    justify-content: flex-start;
    max-width: 17.1875rem;
    width: 100%;
  }
}

.company-profile__policy-item-content03-item::before {
  content: "";
  position: absolute;
  bottom: -2.625rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 1px;
  background-image: url(../../assets/images/common/line-dot.svg);
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item-content03-item::before {
    bottom: -1.375rem;
  }
}

.company-profile__policy-item-content03-item {
  background-color: #ffffff;
  padding-block: 0.25rem;
  padding-inline: min(1.25rem, 1.0416666667%);
  font-size: max(1.5rem, 12px);
  font-weight: 700;
  color: #222222;
  line-height: 1.375;
  letter-spacing: 0.2em;
  display: flex;
  flex-direction: row;
  gap: 1.25rem;
  align-items: center;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item-content03-item {
    font-size: max(1rem, 12px);
    width: 100%;
  }
}

.company-profile__policy-item-content03-item span {
  font-size: max(0.75rem, 12px);
  color: #222222;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}

.company-profile__policy-item-content03-list--small {
  margin-top: 5.125rem;
  column-gap: 0.625rem;
  row-gap: 0.625rem;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 50rem;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item-content03-list--small {
    margin-top: 2.5rem;
    max-width: 33.75rem;
  }
}

.company-profile__policy-item-content03-item--small::before {
  content: none;
}

.company-profile__policy-item-content03-item--small {
  font-size: max(1.25rem, 12px);
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1.4;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  padding-inline: 0.625rem;
}
@media screen and (max-width: 768px) {
  .company-profile__policy-item-content03-item--small {
    font-size: max(1rem, 12px);
    width: fit-content;
  }
}

.company-profile__message {
  margin-top: 12.75rem;
}
@media screen and (max-width: 768px) {
  .company-profile__message {
    margin-top: 6.25rem;
  }
}

.company-profile__message-inner.inner {
  margin-left: 0;
  padding-inline: 0;
}
@media screen and (max-width: 1440px) {
  .company-profile__message-inner.inner {
    margin-right: auto;
    padding-right: 1.25rem;
    max-width: 62.5rem;
  }
}
@media screen and (max-width: 768px) {
  .company-profile__message-inner.inner {
    max-width: 33.75rem;
    margin-inline: auto;
    padding-inline: 1.25rem;
  }
}

.company-profile__message-content {
  display: grid;
  grid-template-columns: 600fr 680fr;
  gap: clamp(3.125rem, -10rem + 14.58vw, 7.5rem); /* 80 ~ 120 | 1440 ~ 1920 */
}
@media screen and (max-width: 1440px) {
  .company-profile__message-content {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
}

.company-profile__message-texts {
  margin-top: -0.625rem;
}
@media screen and (max-width: 768px) {
  .company-profile__message-texts {
    margin-top: 0rem;
  }
}

.company-profile__message-text {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .company-profile__message-text {
    margin-top: 1.25rem;
  }
}

.company-profile__message-body-text-wrapper {
  margin-top: 2.5rem;
}

.company-profile__message-body-text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
  text-indent: 1.125rem;
}

.company-profile__message-title {
  font-size: clamp(1.625rem, 0.875rem + 0.83vw, 1.875rem); /* 26 ~ 30 | 1440 ~ 1920 */
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.8;
  letter-spacing: 0.2em;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .company-profile__message-title {
    font-size: 1.375rem;
  }
}

.company-profile__message-position-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .company-profile__message-position-wrapper {
    margin-top: 2.5rem;
  }
}

.company-profile__message-position {
  font-size: max(0.75rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  line-height: 1.4166666667;
  letter-spacing: 0.2em;
}

.company-profile__message-name {
  font-size: max(1.625rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #222222;
  line-height: 1.0769230769;
  letter-spacing: 0.2em;
  font-weight: 700;
}

.company-profile__message-img {
  max-width: 42.5rem;
  width: 100%;
}
@media screen and (max-width: 1440px) {
  .company-profile__message-img {
    max-width: 33.75rem;
    margin-inline: auto;
    margin-top: 3.75rem;
  }
}

.company-profile__message-img-01 {
  display: none;
}
@media screen and (max-width: 1440px) {
  .company-profile__message-img-01 {
    display: block;
  }
}

@media screen and (max-width: 1440px) {
  .company-profile__message-img-02 {
    display: none;
  }
}

.company-profile__message-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 680/1080;
  border-radius: 0.25rem;
}

.company-profile__info {
  position: relative;
  margin-top: 12.5rem;
}
@media screen and (max-width: 768px) {
  .company-profile__info {
    margin-top: 6.25rem;
  }
}

.company-profile__info-inner.inner {
  margin-top: 10rem;
}
@media screen and (max-width: 1920px) {
  .company-profile__info-inner.inner {
    margin-left: 0;
    padding-left: 0;
    max-width: 79.0625rem;
  }
}
@media screen and (max-width: 768px) {
  .company-profile__info-inner.inner {
    max-width: 33.75rem;
    padding-left: 1.25rem;
    margin-left: auto;
    margin-top: 6.25rem;
  }
}

.company-profile__info::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(50% - 53.125vw);
  background-color: #222222;
  width: 127.0833333333vw;
  height: 100%;
  z-index: -2;
}
@media screen and (max-width: 1921px) {
  .company-profile__info::before {
    right: auto;
    left: -32.5rem;
    width: calc(100% + 32.5rem);
  }
}
@media screen and (max-width: 768px) {
  .company-profile__info::before {
    left: 0;
    width: 100%;
  }
}

.company-profile__info-content {
  margin-top: 3.4375rem;
  background-color: #ffffff;
  padding: 2.5rem 2.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  border-radius: 0.25rem;
}
@media screen and (max-width: 1440px) {
  .company-profile__info-content {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .company-profile__info-content {
    padding: 1.875rem 1.25rem;
  }
}

.company-profile__history {
  position: relative;
  padding-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .company-profile__history {
    padding-top: 6.25rem;
  }
}

@media screen and (max-width: 1920px) {
  .company-profile__history-inner.inner {
    margin-left: 0;
    padding-left: 0;
    max-width: 79.0625rem;
  }
}
@media screen and (max-width: 768px) {
  .company-profile__history-inner.inner {
    margin-left: auto;
    padding-left: 1.25rem;
    max-width: 33.75rem;
  }
}

.company-profile__history::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(50% - 53.125vw);
  background-color: #222222;
  width: 127.0833333333vw;
  height: 100%;
  z-index: -2;
}
@media screen and (max-width: 1921px) {
  .company-profile__history::before {
    right: auto;
    left: -32.5rem;
    width: calc(100% + 32.5rem);
  }
}
@media screen and (max-width: 768px) {
  .company-profile__history::before {
    left: 0;
    width: 100%;
  }
}

.company-profile__history-content {
  margin-top: 3.375rem;
}
@media screen and (max-width: 768px) {
  .company-profile__history-content {
    margin-top: 2.5rem;
  }
}

.company-profile__img {
  position: relative;
  width: 100%;
  height: 50rem;
  overflow-y: clip;
}
@media screen and (max-width: 768px) {
  .company-profile__img {
    height: 18.75rem;
  }
}

.company-profile__img::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(50% - 53.125vw);
  background-size: cover;
  background-repeat: no-repeat;
  width: 127.0833333333vw;
  height: 100%;
  z-index: -2;
}
@media screen and (max-width: 1921px) {
  .company-profile__img::before {
    right: auto;
    left: -32.5rem;
    width: calc(100% + 32.5rem);
  }
}
@media screen and (max-width: 768px) {
  .company-profile__img::before {
    left: 0;
    width: 100%;
  }
}

.company-profile__img-02 {
  margin-top: 10rem;
}
@media screen and (max-width: 768px) {
  .company-profile__img-02 {
    margin-top: 6.25rem;
  }
}

.company-profile__img.company-profile__img-01::before {
  background-image: url(../../assets/images/company/profile/company-profile-pic01.jpg);
}

.company-profile__img.company-profile__img-01::after {
  content: "SHIMANE SUIDO SHIMANE SUIDO";
  position: absolute;
  bottom: -5.625rem;
  left: -31.25rem;
  font-size: max(25rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-wrap: nowrap;
  z-index: -1;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 768px) {
  .company-profile__img.company-profile__img-01::after {
    left: 0;
    font-size: max(6.25rem, 12px);
    bottom: -1.25rem;
  }
}

.company-profile__img.company-profile__img-02::before {
  background-image: url(../../assets/images/company/profile/company-profile-pic02.webp);
}

.company-profile__img.company-profile__img-02::after {
  content: "SHIMANE SUIDO SHIMANE SUIDO";
  position: absolute;
  bottom: -5.625rem;
  left: -31.25rem;
  font-size: max(25rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-wrap: nowrap;
  z-index: -1;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 768px) {
  .company-profile__img.company-profile__img-02::after {
    left: 0;
    font-size: max(6.25rem, 12px);
    bottom: -1.25rem;
  }
}

.company-profile__community {
  margin-top: 12.5rem;
}
@media screen and (max-width: 768px) {
  .company-profile__community {
    margin-top: 6.25rem;
  }
}

.company-profile__community-inner.inner {
  margin-left: 0;
  max-width: 77.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .company-profile__community-inner.inner {
    max-width: 33.75rem;
    margin-inline: auto;
  }
}

.company-profile__community-content {
  margin-top: 3.75rem;
}

.company-profile__sdgs {
  margin-top: 12.5rem;
}
@media screen and (max-width: 768px) {
  .company-profile__sdgs {
    margin-top: 6.25rem;
  }
}

.company-profile__sdgs-inner.inner {
  margin-left: 0;
  max-width: 77.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .company-profile__sdgs-inner.inner {
    max-width: 33.75rem;
    margin-inline: auto;
  }
}

.company-profile__sdgs-content {
  margin-top: 3.25rem;
  max-width: 77.5rem;
}
@media screen and (max-width: 768px) {
  .company-profile__sdgs-content {
    margin-top: 2.5rem;
    max-width: 33.75rem;
  }
}

.contact {
  position: relative;
  z-index: 2;
}

.contact__intro {
  padding-bottom: 12.5rem;
}
@media screen and (max-width: 768px) {
  .contact__intro {
    padding-bottom: 6.25rem;
  }
}

@media screen and (max-width: 768px) {
  .contact__intro-inner.inner {
    max-width: 33.75rem;
  }
}

.contact__intro-wrapper {
  display: grid;
  grid-template-columns: 660fr 640fr;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .contact__intro-wrapper {
    grid-template-columns: 1fr;
  }
}

.contact__message-text {
  font-size: 3.75rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.4;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .contact__message-text {
    font-size: 1.875rem;
    text-align: center;
  }
}

.contact__info {
  display: grid;
  gap: 2.5rem;
}

.contact__info-text-01 {
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .contact__info-text-01 {
    font-size: 1.25rem;
  }
}

.contact__info-tel-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  border-radius: 100vmax;
  border: 1px solid #b5b5b5;
  padding: 1.125rem 1.25rem;
  max-width: 34.875rem;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  .contact__info-tel-wrapper {
    flex-direction: column;
    gap: 1.875rem;
    border-radius: 0.625rem;
    padding: 1.5625rem 0.625rem;
    max-width: 25rem;
  }
}
@media screen and (max-width: 768px) {
  .contact__info-tel-wrapper {
    margin-inline: auto;
  }
}

.contact__info-tel-text {
  font-size: 12px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.2em;
}

.contact__info-tel {
  font-size: 1.25rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .contact__info-tel {
    text-align: center;
  }
}

.contact__info-tel a {
  display: inline-block;
  color: #222222;
  transition: all 0.3s;
}

.contact__info-text-02 {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
}

.contact__info-text-02 span {
  font-weight: 700;
  color: #ff5050;
}

.contact__form-container {
  position: relative;
  padding-top: 12.5rem;
}
@media screen and (max-width: 768px) {
  .contact__form-container {
    padding-top: 6.25rem;
  }
}

.contact__form-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 95.8%;
  height: 1px;
  background-color: #b5b5b5;
}

.contact__form-inner.inner {
  max-width: 69.375rem;
}
@media screen and (max-width: 768px) {
  .contact__form-inner.inner {
    max-width: 33.75rem;
  }
}

.contact__form {
  padding-top: 3.75rem;
}

.contact__btn-wrapper {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .contact__btn-wrapper {
    margin-top: 2.5rem;
  }
}

.footer {
  position: relative;
  padding-top: 15.625rem;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .footer {
    padding-top: 6.25rem;
  }
}

.footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #ffffff;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.footer__top {
  position: relative;
}

.footer__top::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #efefef;
  z-index: -1;
}

.footer__top-container {
  display: grid;
  grid-template-columns: 31.25rem 1fr;
  row-gap: 0; /* 上下の余白 */
  column-gap: clamp(5rem, -2.5rem + 8.33vw, 7.5rem); /* 左右の余白 || 80 ~ 120 | 1440 ~ 1920 */
  max-width: 120rem;
  width: 100%;
  margin-inline: auto;
  padding-left: clamp(3.125rem, -25rem + 31.25vw, 12.5rem); /* 50 ~ 200 | 1440 ~ 1920 */
  padding-top: 4.6875vw;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 1440px) {
  .footer__top-container {
    grid-template-columns: 21.875rem 1fr;
  }
}
@media screen and (max-width: 768px) {
  .footer__top-container {
    max-width: 33.75rem;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 3.75rem; /* 上下の余白 */
    column-gap: 0; /* 左右の余白 */
    padding-inline: 1.25rem;
  }
}

.footer__top-question {
  width: 100%;
  filter: drop-shadow(6px 6px 10px rgba(0, 0, 0, 0.1));
}

.footer__banner {
  width: 100%;
}

.footer__banner-items {
  width: 100%;
}

.footer__banner-item {
  width: 100%;
  border-radius: 0.25rem;
  padding: 2.5rem 2.5rem 2.5rem 2.5rem;
}
@media screen and (max-width: 1921px) {
  .footer__banner-item {
    border-radius: 0.25rem 0 0 0.25rem;
  }
}
@media screen and (max-width: 768px) {
  .footer__banner-item {
    padding: 1.875rem 1.25rem;
    border-radius: 0.25rem;
  }
}

.footer__banner-item:nth-child(n+2) {
  margin-top: 2.5rem;
}

.footer__banner-item.footer__banner-item-faq {
  background-color: #222222;
}

.footer__banner-item.footer__banner-item-contact {
  background-color: #ffffff;
}

.footer__banner-item-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1.5625rem;
  gap: 1.875rem;
}
@media screen and (max-width: 768px) {
  .footer__banner-item-wrapper {
    flex-direction: column;
  }
}

.footer__banner-item-wrapper-faq {
  border-bottom: 1px solid #ffffff;
}

.footer__banner-item-wrapper-contact {
  border-bottom: 1px solid #222222;
}

.footer__banner-item-title-ja {
  font-size: 1.25rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.2em;
}

.footer__banner-item-title-en {
  display: inline-block;
  font-size: 3.75rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .footer__banner-item-title-en {
    font-size: 2rem;
  }
}

.footer__banner-item-title-ja-faq,
.footer__banner-item-title-en-faq {
  color: #ffffff;
}

.footer__banner-item-title-ja-contact,
.footer__banner-item-title-en-contact {
  color: #222222;
}

.footer__banner-item-btn {
  max-width: 13.75rem;
  width: 100%;
}

.footer__banner-item-contact-info {
  margin-top: 1.25rem;
}

.footer__banner-item-contact-info-text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.3;
}

.footer__banner-item-contact-info-tel {
  font-size: 1.25rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.1em;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .footer__banner-item-contact-info-tel {
    text-align: center;
    margin-top: 1.25rem;
  }
}

.footer__banner-item-contact-info-tel a {
  display: inline-block;
  color: #222222;
  transition: all 0.3s;
}

.footer__bottom {
  padding-block: 5rem 2.5rem;
  background-color: #222222;
}
.footer__bottom__inner {
  max-width: 120rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 768px) {
  .footer__bottom__inner {
    padding-inline: 1.25rem;
  }
}

.footer__hero {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .footer__hero {
    gap: 2.5rem;
    flex-direction: column-reverse;
  }
}

.footer__hero-img {
  max-width: 20rem;
  width: 100%;
  border-radius: 0.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .footer__hero-img {
    max-width: 15.625rem;
    margin-inline: auto;
  }
}

.footer__hero-title {
  font-size: 5rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .footer__hero-title {
    font-size: 2.5rem;
    text-align: center;
  }
}

.footer__main {
  margin-top: 3.75rem;
  padding-block: 3.75rem;
  border-top: 0.0625rem solid #ffffff;
  border-bottom: 0.0625rem solid #ffffff;
}

.footer__main-wrapper {
  display: grid;
  grid-template-columns: 33.75rem 1fr;
  gap: 8.75rem;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 1440px) {
  .footer__main-wrapper {
    grid-template-columns: 25rem 1fr;
    gap: 3.75rem;
  }
}
@media screen and (max-width: 960px) {
  .footer__main-wrapper {
    grid-template-columns: 1fr 1.5fr;
  }
}
@media screen and (max-width: 768px) {
  .footer__main-wrapper {
    grid-template-columns: 1fr;
    gap: 3.75rem;
    width: 100%;
    max-width: 20.9375rem;
    margin-inline: auto;
    padding-inline: 1.25rem;
  }
}

.footer__logo {
  width: 100%;
  max-width: 8.4375rem;
}
@media screen and (max-width: 768px) {
  .footer__logo {
    margin-inline: auto;
  }
}

.footer__logo-link {
  display: block;
  width: 100%;
  transition: all 0.3s;
}

.footer__logo-link img {
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .footer__logo-link:hover {
    opacity: 0.6;
  }
}
.footer-address__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  width: 100%;
  margin-top: 4.375rem;
}
@media screen and (max-width: 1440px) {
  .footer-address__items {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .footer-address__items {
    margin-top: 0;
  }
}

.footer-address__item {
  font-size: 12px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.2em;
  line-height: 1.6;
}

.footer__nav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  row-gap: 3.75rem; /* 上下の余白 */
  column-gap: 1.25rem; /* 左右の余白 */
}
@media screen and (max-width: 1919px) {
  .footer__nav {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 960px) {
  .footer__nav {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .footer__nav {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 2.5rem; /* 上下の余白 */
  }
}

.footer__nav-items {
  width: 100%;
}

.footer__nav-item {
  width: 100%;
}

.footer__nav-item-main:nth-child(n+2) {
  margin-top: 2.5rem;
}

.footer__nav-item-main-link {
  position: relative;
  display: inline-block;
  font-size: 1.5rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: transparent;
  line-height: 1.2083333333;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  transition: all 0.3s;
  overflow: hidden;
  text-shadow: 0 -1.5em 0 #ffffff, 0 0 0 #ffffff;
  background: linear-gradient(to bottom, #ffffff 50%, transparent 50%) 0 100%;
  background-size: 100% 205%; /* ブラウザごとで小数点レベルで描画が異なるので、205%にしておく。 */
}

.footer__nav-item-main-link.footer__nav-item-main-link-inactive {
  pointer-events: none;
}

@media (any-hover: hover) {
  .footer__nav-item-main-link:hover {
    text-shadow: 0 0 0 #222222, 0 1.5em 0 #ffffff; /* 2つの影の位置を上方向に1.5emずつずらす */
    background-position: 0 0; /* 背景の位置を動かす */
  }
}
.footer__nav-item-sub {
  margin-top: 2.1875rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-item-sub {
    margin-top: 0.9375rem;
  }
}

.footer__nav-item-sub-menus {
  width: 100%;
}

.footer__nav-item-sub-menu {
  width: 100%;
}

.footer__nav-item-sub-menu:nth-child(n+2) {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-item-sub-menu:nth-child(n+2) {
    margin-top: 0.625rem;
  }
}

.footer__nav-item-sub-menu-link {
  position: relative;
  display: inline-block;
  font-size: 12px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.2em;
  line-height: 1.4166666667;
  transition: all 0.3s;
}

.footer__nav-item-sub-menu-link::before,
.footer__nav-item-sub-menu-link::after {
  content: "";
  position: absolute;
  border-bottom: 1px solid #ffffff;
  display: block;
  transition: all 0.3s ease;
  width: 0;
}

.footer__nav-item-sub-menu-link::before {
  left: 0;
  bottom: -0.3125rem;
}

.footer__nav-item-sub-menu-link::after {
  right: 0;
  top: -0.3125rem;
}

@media (any-hover: hover) {
  .footer__nav-item-sub-menu-link:hover::before,
  .footer__nav-item-sub-menu-link:hover::after {
    width: 100%;
  }
}
.footer__copyright-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.25rem;
}
@media screen and (max-width: 960px) {
  .footer__copyright-wrapper {
    flex-direction: column-reverse;
    gap: 2.5rem;
    padding-top: 2.5rem;
  }
}

.footer__copyright {
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.2em;
  line-height: 1.3;
  text-transform: capitalize;
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    text-align: center;
  }
}

.footer__privacy {
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.2em;
  text-transform: capitalize;
  text-decoration: underline;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .footer__privacy:hover {
    opacity: 0.6;
  }
}
.form__item {
  display: grid;
  grid-template-columns: 14.375rem 1fr;
  grid-template-columns: 230px 1fr;
  gap: 1.875rem;
}
@media screen and (max-width: 960px) {
  .form__item {
    grid-template-columns: 200px 1fr;
  }
}
@media screen and (max-width: 768px) {
  .form__item {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
}

.form__item:nth-child(n+2) {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .form__item:nth-child(n+2) {
    margin-top: 1.875rem;
  }
}

.form__label {
  display: inline-block;
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
  margin-top: 0.8em;
}
@media screen and (max-width: 768px) {
  .form__label {
    margin-top: 0;
  }
}

.form__required {
  display: inline-block;
  font-size: 12px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.2em;
  text-align: center;
  background-color: #ff5050;
  border-radius: 100vmax;
  padding: 0.3125rem 0.625rem;
  margin-left: 1.25rem;
}

.form__data {
  width: 100%;
}

.form__field.form__field-address {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.form__input-zip-wrapper {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.form__input-zip-mark {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
}

.form__input-zip {
  position: relative;
  padding-left: 3.125rem;
}

/* ---------- フォーム共通設定 | ここから ---------- */
.form__input,
.form__textarea {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.8;
  padding: 0.4375rem 1rem;
  width: 100%;
  border-radius: 0.25rem;
  border: 1px solid #b5b5b5;
}

.form__input:focus,
.form__textarea:focus {
  border: 1px solid #222222;
}

.form__textarea {
  height: 12.5rem;
}
@media screen and (max-width: 768px) {
  .form__textarea {
    height: 15.625rem;
  }
}

/* プレースホルダー */
::placeholder {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #b5b5b5;
  letter-spacing: 0.2em;
  line-height: 1.8;
}

/* ---------- フォーム共通設定 | ここまで ---------- */
/* ---------- チェックボックス（共通） | ここから ---------- */
.wpcf7-form-control.wpcf7-checkbox {
  display: flex;
  flex-direction: column;
}

.wpcf7-list-item:nth-child(n+2) {
  margin-top: 0.1875rem;
}

.wpcf7-list-item-label {
  position: relative;
  display: inline-block;
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.9;
  letter-spacing: 0.2em;
  padding-left: 2.25rem;
}

/* チェックボックス */
.wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1.625rem;
  height: 1.625rem;
  border: solid 1px #b5b5b5;
  border-radius: 0.25rem;
  transition: 0.3s ease;
}

/* チェックマーク */
.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 0.25rem;
  transform: rotate(-45deg);
  width: 1.125rem;
  height: 0.5rem;
  border-left: 2px solid #222222;
  border-bottom: 2px solid #222222;
  opacity: 0;
}

input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  opacity: 1;
}

.wpcf7-file {
  width: 100%;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-form-control-wrap {
  display: block;
  margin-top: 1.3125rem;
}

.wpcf7 form.sent .wpcf7-response-output {
  font-size: 1rem;
  font-weight: 500;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #b5b5b5;
  line-height: 1.75;
  text-align: center;
  border: none;
}

/* ---------- チェックボックス（共通） | ここまで ---------- */
/* ---------- プライバシーポリシー | ここから ---------- */
.form__privacy-text-link {
  display: inline-block;
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.3;
  letter-spacing: 0.2em;
  text-decoration: underline;
  text-underline-offset: 0.0625rem;
}

/* ---------- プライバシーポリシー | ここまで ---------- */
/* ---------- エラー時のプレースフォルダー | ここから ---------- */
.wpcf7-not-valid:not(.form__radio) {
  font-size: 0.875rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  line-height: 1;
  color: #ff5050;
  background-color: rgba(201, 72, 0, 0.2);
  border: 1px solid #ff5050;
}

.wpcf7-not-valid:not(.form__radio)::placeholder {
  color: #ffffff;
}

.wpcf7-not-valid-tip {
  font-size: 0.875rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  line-height: 1;
  color: #ff5050;
  margin-top: 0.625rem;
}

/* ---------- エラー時のプレースフォルダー | ここまで ---------- */
.fv-company {
  position: relative;
  padding-top: 5.5rem;
  padding-bottom: max(5.5729166667vw, 6.6875rem);
  height: max(115rem - 5.5729166667vw, 121.6875rem);
}
@media screen and (max-width: 768px) {
  .fv-company {
    height: 71.25rem;
    padding-bottom: 2.5rem;
  }
}

.fv-company::before {
  content: "";
  position: absolute;
  bottom: -21.25rem;
  left: 0;
  width: 100%;
  height: 28.125rem;
  background-color: #efefef;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .fv-company::before {
    bottom: -12.375rem;
    height: 16.25rem;
  }
}

.fv-company::after {
  content: "";
  position: absolute;
  bottom: -21.25rem;
  left: 0;
  width: 100%;
  height: 28.125rem;
  background-image: linear-gradient(to bottom, transparent 0%, #fff 100%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .fv-company::after {
    bottom: -12.375rem;
    height: 16.25rem;
  }
}

.fv-company__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 115rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .fv-company__img {
    height: 68.75rem;
  }
}

.fv-company__img img {
  height: 100%;
  object-fit: cover;
}

.fv-company__outer {
  padding-bottom: 7.1875rem;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 768px) {
  .fv-company__outer {
    padding-bottom: 5rem;
    padding-inline: 1.25rem;
  }
}

.fv-company__title-ja {
  font-size: 2.25rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  line-height: 2;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .fv-company__title-ja {
    font-size: 1.75rem;
    line-height: 1.5;
  }
}

.fv-company__title-en {
  font-size: 6.25rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .fv-company__title-en {
    font-size: 2.625rem;
  }
}

.fv-company__text-wrapper {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .fv-company__text-wrapper {
    margin-top: 3.75rem;
  }
}

.fv-company__text {
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  color: #ffffff;
  line-height: 2;
  letter-spacing: 0.2em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 768px) {
  .fv-company__text {
    font-size: 1.25rem;
  }
}

.fv-company__text:nth-child(n+2) {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .fv-company__text:nth-child(n+2) {
    margin-top: 2.5rem;
  }
}

.fv-company__slide-img {
  position: absolute;
  bottom: -2.6875rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .fv-company__slide-img {
    bottom: 0.625rem;
  }
}

.fv-lower-01 {
  position: relative;
  padding-block: 5.625rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .fv-lower-01 {
    padding-block: 5.625rem 2.5rem;
  }
}

.fv-lower-01::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 18.75rem;
  background-color: #efefef;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .fv-lower-01::before {
    height: 15.625rem;
  }
}

.fv-lower-01::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 18.75rem;
  background-image: linear-gradient(to bottom, transparent 0%, #fff 100%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .fv-lower-01::after {
    height: 15.625rem;
  }
}

.fv-lower-01__outer {
  position: relative;
  max-width: 120rem;
  width: 100%;
  padding-inline: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .fv-lower-01__outer {
    padding-inline: 1.25rem;
  }
}

.fv-lower-01__outer::before {
  content: "here to help";
  position: absolute;
  top: -0.625rem;
  left: 50.5%;
  transform: translateX(-50%);
  font-size: 12.5rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-wrap: nowrap;
  z-index: -1;
  mix-blend-mode: soft-light;
}
@media screen and (max-width: 1920px) {
  .fv-lower-01__outer::before {
    font-size: 10.4166666667vw;
  }
}
@media screen and (max-width: 768px) {
  .fv-lower-01__outer::before {
    top: 2.8125rem;
    font-size: 2.5rem;
  }
}

.fv-lower-01__inner {
  max-width: 90rem;
  width: 100%;
  padding-inline: 2.5rem 3.4375rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .fv-lower-01__inner {
    padding-inline: 1.25rem;
  }
}

.fv-lower-01__title {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 5.9375rem;
}

.fv-lower-01__title-01 {
  display: inline-block;
  font-size: 2.25rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.3;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .fv-lower-01__title-01 {
    font-size: 1.5rem;
  }
}

.fv-lower-01__title-02-wrapper {
  position: relative;
  display: inline-block;
}

.fv-lower-01__title-02-wrapper::before {
  content: "";
  position: absolute;
  right: -1.875rem;
  top: 4.6875rem;
  width: 10.625rem;
  height: 1px;
  background: #222222;
  transform: rotate(339deg);
}
@media screen and (max-width: 768px) {
  .fv-lower-01__title-02-wrapper::before {
    right: -0.625rem;
    top: 2.5rem;
    width: 5rem;
    transform: rotate(342deg);
  }
}

.fv-lower-01__title-02 {
  font-size: 6.25rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 0.3125rem;
  clip-path: polygon(100% 0, 100% 3.125rem, calc(100% - 11.25rem) 100%, 0 100%, 0 0);
}
@media screen and (max-width: 768px) {
  .fv-lower-01__title-02 {
    font-size: 3.125rem;
    clip-path: polygon(100% 0, 100% 1.5625rem, calc(100% - 6.875rem) 100%, 0 100%, 0 0);
  }
}

.fv-lower-01__sub-title {
  text-align: right;
  margin-top: 2.5rem;
}

.fv-lower-01__sub-title-01 {
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-transform: uppercase;
}

.fv-lower-01__sub-title-02 {
  font-size: 3.125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  line-height: 1.2;
  letter-spacing: 0.1em;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .fv-lower-01__sub-title-02 {
    font-size: 1.5rem;
    margin-top: 0.625rem;
  }
}

.fv-lower-02 {
  position: relative;
  padding-top: 5.625rem;
  height: 67.5rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .fv-lower-02 {
    height: 25rem;
  }
}

.fv-lower-02::before {
  position: absolute;
  bottom: -1.75rem;
  left: 50.5%;
  transform: translateX(-50%);
  font-size: 12.5rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-wrap: nowrap;
  z-index: -1;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 1920px) {
  .fv-lower-02::before {
    font-size: 10.4166666667vw;
  }
}
@media screen and (max-width: 768px) {
  .fv-lower-02::before {
    bottom: -0.3125rem;
    font-size: 2.5rem;
  }
}

.fv-lower-02.fv-lower-02-contact::before {
  content: "get in touch";
}

.fv-lower-02.fv-lower-02-cases::before {
  content: "proven performance";
}

.fv-lower-02__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}

.fv-lower-02__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.fv-lower-02__outer {
  position: relative;
  max-width: 120rem;
  width: 100%;
  padding-inline: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .fv-lower-02__outer {
    padding-inline: 1.25rem;
  }
}

.fv-lower-02__inner {
  max-width: 90rem;
  width: 100%;
  padding-inline: 2.5rem 3.4375rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .fv-lower-02__inner {
    padding-inline: 1.25rem;
  }
}

.fv-lower-02__title {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 22.1875rem;
}
@media screen and (max-width: 768px) {
  .fv-lower-02__title {
    margin-top: 5.9375rem;
  }
}

.fv-lower-02__title-01 {
  display: inline-block;
  font-size: 2.25rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.3;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .fv-lower-02__title-01 {
    font-size: 1.5rem;
  }
}

.fv-lower-02__title-02-wrapper {
  position: relative;
  display: inline-block;
}

.fv-lower-02__title-02-wrapper::before {
  content: "";
  position: absolute;
  right: -1.875rem;
  top: 4.6875rem;
  width: 10.625rem;
  height: 1px;
  background: #ffffff;
  transform: rotate(339deg);
}
@media screen and (max-width: 768px) {
  .fv-lower-02__title-02-wrapper::before {
    right: -0.625rem;
    top: 2.4375rem;
    width: 5rem;
    transform: rotate(342deg);
  }
}

.fv-lower-02__title-02 {
  font-size: 6.25rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 0.3125rem;
  clip-path: polygon(100% 0, 100% 3.125rem, calc(100% - 11.25rem) 100%, 0 100%, 0 0);
}
@media screen and (max-width: 768px) {
  .fv-lower-02__title-02 {
    font-size: 3.125rem;
    clip-path: polygon(100% 0, 100% 1.5625rem, calc(100% - 6.875rem) 100%, 0 100%, 0 0);
  }
}

.fv-lower-02__sub-title {
  text-align: right;
  margin-top: 2.5rem;
}

.fv-lower-02__sub-title-01 {
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-transform: uppercase;
}

.fv-lower-02__sub-title-02 {
  font-size: 3.125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  line-height: 1.2;
  letter-spacing: 0.1em;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .fv-lower-02__sub-title-02 {
    font-size: 1.5rem;
    margin-top: 0.625rem;
  }
}

.fv-lower-03 {
  position: relative;
  padding-top: 5.625rem;
  height: 67.5rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .fv-lower-03 {
    height: 25rem;
  }
}

.fv-lower-03::before {
  position: absolute;
  bottom: -1.75rem;
  left: 50.5%;
  transform: translateX(-50%);
  font-size: 12.5rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-wrap: nowrap;
  z-index: -1;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 1920px) {
  .fv-lower-03::before {
    font-size: 10.4166666667vw;
  }
}
@media screen and (max-width: 768px) {
  .fv-lower-03::before {
    bottom: -0.3125rem;
    font-size: 2.5rem;
  }
}

.fv-lower-03.fv-lower-03-company::before {
  content: "license certification";
}

.fv-lower-03.fv-lower-03-location::before {
  content: "profile profile profile";
}

.fv-lower-03__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}

.fv-lower-03__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.fv-lower-03__outer {
  position: relative;
  max-width: 120rem;
  width: 100%;
  padding-inline: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .fv-lower-03__outer {
    padding-inline: 1.25rem;
  }
}

.fv-lower-03__inner {
  max-width: 90rem;
  width: 100%;
  padding-inline: 2.5rem 3.4375rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .fv-lower-03__inner {
    padding-inline: 1.25rem;
  }
}

.fv-lower-03__title {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 23.5625rem;
}
@media screen and (max-width: 768px) {
  .fv-lower-03__title {
    margin-top: 3.75rem;
  }
}

.fv-lower-03__title-01 {
  display: inline-block;
  font-size: 2.25rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.3;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .fv-lower-03__title-01 {
    font-size: 1.5rem;
  }
}

.fv-lower-03__title-02-wrapper {
  position: relative;
  display: inline-block;
}

.fv-lower-03__title-02-wrapper::before {
  content: "";
  position: absolute;
  right: -1.875rem;
  top: 4.6875rem;
  width: 10.625rem;
  height: 1px;
  background: #ffffff;
  transform: rotate(339deg);
}
@media screen and (max-width: 768px) {
  .fv-lower-03__title-02-wrapper::before {
    right: -0.625rem;
    top: 2.5rem;
    width: 5rem;
    transform: rotate(342deg);
  }
}

.fv-lower-03__title-02 {
  font-size: 6.25rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 0.3125rem;
  clip-path: polygon(100% 0, 100% 3.125rem, calc(100% - 11.25rem) 100%, 0 100%, 0 0);
}
@media screen and (max-width: 768px) {
  .fv-lower-03__title-02 {
    font-size: 3.125rem;
    clip-path: polygon(100% 0, 100% 1.5625rem, calc(100% - 6.875rem) 100%, 0 100%, 0 0);
  }
}

.fv-lower-03__sub-title {
  position: absolute;
  bottom: -1px;
  right: 0;
  display: inline-flex;
  flex-direction: column;
  text-align: right;
  background-color: #ffffff;
  padding: 0.625rem 18.75rem 0 1.25rem;
}
@media screen and (max-width: 768px) {
  .fv-lower-03__sub-title {
    padding: 0.3125rem 0.625rem;
  }
}

.fv-lower-03__sub-title-01 {
  font-size: 3.125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.44;
}
@media screen and (max-width: 768px) {
  .fv-lower-03__sub-title-01 {
    font-size: 1.5rem;
  }
}

.fv-lower-03__sub-title-02 {
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .fv-lower-03__sub-title-02 {
    margin-top: 0.3125rem;
  }
}

.fv-lower-04 {
  margin-top: 5.5rem;
}

.fv-lower-04__outer {
  position: relative;
  max-width: 120rem;
  width: 100%;
  padding-inline: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .fv-lower-04__outer {
    padding-inline: 1.25rem;
  }
}

.fv-lower-04__container {
  display: grid;
  grid-template-columns: 1fr 17.5rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 1440px) {
  .fv-lower-04__container {
    grid-template-columns: 1fr 17.5rem;
  }
}
@media screen and (max-width: 768px) {
  .fv-lower-04__container {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.fv-lower-04__img {
  position: relative;
  width: 100%;
  height: 31.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .fv-lower-04__img {
    height: 12.5rem;
  }
}

.fv-lower-04__img::before {
  position: absolute;
  bottom: -1.75rem;
  left: 52%;
  transform: translateX(-50%);
  font-size: 12.5rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-wrap: nowrap;
  z-index: 0;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 1920px) {
  .fv-lower-04__img::before {
    font-size: 10.4166666667vw;
  }
}
@media screen and (max-width: 768px) {
  .fv-lower-04__img::before {
    bottom: -0.3125rem;
    font-size: 2.5rem;
  }
}

.fv-lower-04__img::before {
  content: "individual & other";
}

.fv-lower-04__img img {
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .hamburger {
    position: relative;
    cursor: pointer;
    transition: all 0.3s;
    display: inline-block;
    width: 2.5rem;
    height: 2.5rem;
    background-color: #222222;
    border-radius: 100vmax;
    transition: all 0.3s;
    z-index: 100;
  }
}

@media screen and (max-width: 768px) {
  .hamburger span {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 0.3125rem;
    height: 0.3125rem;
    border-radius: 100vmax;
    background-color: #ffffff;
    transition: all 0.3s;
  }
}

@media (any-hover: hover) {
  .hamburger:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 768px) {
  .hamburger span:first-child {
    left: 30%;
  }
}

@media screen and (max-width: 768px) {
  .hamburger span:nth-child(2) {
    left: 50%;
    opacity: 1;
  }
}

@media screen and (max-width: 768px) {
  .hamburger span:nth-child(3) {
    left: 70%;
    opacity: 1;
  }
}

@media screen and (max-width: 768px) {
  .hamburger.is-active span:first-child {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(315deg);
    width: 1.875rem;
    height: 0.1875rem;
    border-radius: 0;
  }
}

@media screen and (max-width: 768px) {
  .hamburger.is-active span:nth-child(2) {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .hamburger.is-active span:nth-child(3) {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-315deg);
    width: 1.875rem;
    height: 0.1875rem;
    border-radius: 0;
  }
}

@media screen and (max-width: 768px) {
  .hamburger__open-btn.is-active {
    display: none;
  }
}

.header {
  background-color: transparent;
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding: 1.75rem 0;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .header {
    padding: 0.625rem 0;
  }
}

/* スクロールするとヘッダーの色が変化する */
.header.headerChange {
  background-color: #ffffff;
  box-shadow: 0px 0px 5px 0px rgba(181, 181, 181, 0.8);
  padding: 0.46875rem 0;
}
.header__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  transition: all 0.3s;
  padding-inline: 1.25rem;
  max-width: 120rem;
  width: 100%;
  margin-inline: auto;
}

.header__inner.headerChange {
  align-items: center;
}

.header__logo-link {
  display: block;
  width: 8.4375rem;
  transition: all 0.3s;
}

.header__logo-link img {
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .header__logo-link:hover {
    opacity: 0.6;
  }
}
.header__drawer {
  display: none;
}
@media screen and (max-width: 768px) {
  .header__drawer {
    display: block;
  }
}

.header__pc-nav {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  height: inherit;
}
@media screen and (max-width: 768px) {
  .header__pc-nav {
    display: none;
  }
}

.intro {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100svh;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .intro {
    padding-block: 5rem;
    height: auto;
  }
}

.intro__inner.inner {
  max-width: 73.75rem;
  padding-left: 1.25rem;
  padding-right: 1.875rem;
}
@media screen and (max-width: 768px) {
  .intro__inner.inner {
    max-width: 33.75rem;
    padding-inline: 1.25rem;
  }
}

.intro__container {
  display: grid;
  grid-template-columns: 40.625rem 1fr;
  gap: clamp(2.5rem, -6.875rem + 10.42vw, 5.625rem); /* 40 ~ 90 | 1440 ~ 1920 */
}
@media screen and (max-width: 768px) {
  .intro__container {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}

.intro__title {
  font-size: 6.875rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.0909090909;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .intro__title {
    font-size: 3.75rem;
  }
}

.intro__message {
  position: relative;
  font-size: 3.75rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.4;
  letter-spacing: 0.2em;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .intro__message {
    font-size: 2.125rem;
  }
}

.intro__message::before {
  content: "";
  position: absolute;
  top: 43%;
  left: 87%;
  transform: translate(-50%, -50%);
  background-image: url(../../assets/images/top/deco-slash-01.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100vw;
  aspect-ratio: 1920/750;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .intro__message::before {
    top: 102%;
    left: 49%;
  }
}

.intro__info {
  margin-top: 1.75rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .intro__info {
    max-width: 20.9375rem;
    width: 100%;
    margin-inline: auto;
  }
}

.intro__info-img {
  max-width: 9.375rem;
  width: 100%;
  margin-right: 0;
  margin-left: auto;
}

.intro__info-img img {
  object-fit: cover;
  aspect-ratio: 150/200;
}

.intro__info-text-01 {
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.6;
  letter-spacing: 0.2em;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .intro__info-text-01 {
    font-size: 1.25rem;
  }
}

.intro__info-text-02-wrapper {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .intro__info-text-02-wrapper {
    margin-top: 2.5rem;
  }
}

.intro__info-text-02 {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  line-height: 2;
  letter-spacing: 0.2em;
}

.intro__info-text-02:nth-child(n+2) {
  margin-top: 1.75rem;
}

.join {
  margin-top: 12.5rem;
}
@media screen and (max-width: 768px) {
  .join {
    margin-top: 6.25rem;
  }
}

@media screen and (max-width: 768px) {
  .join__inner.inner {
    max-width: 33.75rem;
  }
}

.join__container {
  display: grid;
  grid-template-columns: 620fr 620fr;
  gap: 7.5rem;
}
@media screen and (max-width: 1200px) {
  .join__container {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}

.join__title {
  font-size: 3.75rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media screen and (max-width: 1200px) {
  .join__title {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .join__title {
    font-size: 2.125rem;
  }
}

.join__info {
  display: grid;
  grid-template-columns: 360fr 220fr;
  gap: 2.5rem;
  align-items: center;
}
@media screen and (max-width: 1200px) {
  .join__info {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}

.join__info-text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
}

.join__btn {
  width: 100%;
  max-width: max(13.75rem, 180px);
}

.join__banner {
  width: 100%;
  margin-top: 3.75rem;
}

.license__table-container {
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  padding: 2.5rem;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .license__table-container {
    padding: 1.25rem;
  }
}

.license__table {
  border-collapse: collapse;
  min-width: 75rem;
  width: 100%;
}

.license__row {
  display: grid;
  grid-template-columns: 480fr 140fr 300fr 300fr;
  column-gap: 1.25rem; /* 左右の余白 */
}

.license__heading {
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #b5b5b5;
  letter-spacing: 0.1em;
  text-align: center;
  padding-bottom: 1.25rem;
  border-bottom: 1px dotted #222222;
}
@media screen and (max-width: 768px) {
  .license__heading {
    font-size: max(1rem, 12px);
  }
}

.license__cell {
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.8;
  letter-spacing: 0.1em;
  padding-block: 1.125rem 0.3125rem;
  border-bottom: 1px dotted #222222;
}
@media screen and (max-width: 768px) {
  .license__cell {
    font-size: max(0.875rem, 12px);
  }
}

.license__cell.license__cell--count,
.license__cell.license__cell--dept,
.license__cell.license__cell--law {
  text-align: center;
}

.license__btn {
  margin-top: 3.75rem;
  text-align: center;
}

.line-content {
  background-color: #ffffff;
  padding-block: 5.1875rem;
  padding-inline: 3.75rem;
  border-radius: 0rem 2.5rem 2.5rem 0rem;
  max-width: 25rem;
  width: 50%;
}
@media screen and (max-width: 768px) {
  .line-content {
    width: 70%;
    min-width: auto;
    max-width: 18.75rem;
    padding: 2.5rem;
  }
}

.line-content__logo-wrapper {
  display: grid;
  grid-template-columns: 6.25rem 1fr;
  align-items: center;
  gap: 1.25rem;
  transition: ease-in-out 0.3s;
}
@media screen and (max-width: 768px) {
  .line-content__logo-wrapper {
    grid-template-columns: 3.75rem 1fr;
  }
}

@media (any-hover: hover) {
  .line-content__logo-wrapper:hover {
    opacity: 0.7;
  }
}
.line-content__logo {
  width: 6.25rem;
}
@media screen and (max-width: 768px) {
  .line-content__logo {
    width: 4.375rem;
  }
}

.line-content__logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 100/100;
}

.line-content__logo-text {
  font-size: max(1.625rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.0769230769;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .line-content__logo-text {
    font-size: max(1.25rem, 12px);
  }
}

@media (any-hover: hover) {
  .line-content__logo-wrapper:hover {
    color: #00c300;
  }
}
.line-content__logo-text span {
  font-size: max(0.75rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #00c300;
  line-height: 1.4166666667;
}

.line-content__text-wrapper {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .line-content__text-wrapper {
    margin-top: 1.25rem;
  }
}

.line-content__text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.8571428571;
}

.line-content__qr {
  margin-top: 2.5rem;
  margin-inline: auto;
  width: 7.5rem;
}
@media screen and (max-width: 768px) {
  .line-content__qr {
    margin-top: 1.25rem;
    width: 5rem;
  }
}

.line-content__qr img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 120/120;
}

@media screen and (max-width: 768px) {
  .location__inner.inner {
    max-width: 33.75rem;
  }
}

.location__wrapper {
  margin-top: 3.4375rem;
}

.location__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .location__items {
    grid-template-columns: repeat(1, 1fr);
    gap: 3.125rem;
  }
}

.location__item {
  display: grid;
  grid-template-columns: 280fr 19.375rem;
  gap: 1.25rem;
  padding: 1.25rem 2.5rem 2.8125rem 1.25rem;
  background-color: #efefef;
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  .location__item {
    gap: 1.875rem;
    grid-template-columns: 1fr;
    padding: 1.25rem 1.25rem 1.875rem 1.25rem;
  }
}

.location__item-img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .location__item-img {
    width: 90%;
    margin-inline: auto;
  }
}

.location__item-img img {
  width: 100%;
  aspect-ratio: 280/210;
  object-fit: cover;
  border-radius: 0.25rem;
}

.location__item-info {
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .location__item-info {
    margin-top: 0;
  }
}

.location__item-heading {
  position: relative;
  font-size: 1.75rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #b5b5b5;
  padding-bottom: 1.6875rem;
}
@media screen and (max-width: 768px) {
  .location__item-heading {
    font-size: 1.5rem;
    padding-bottom: 1.25rem;
  }
}

.location__item-heading::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.25rem;
  height: 1px;
  background-color: #222222;
}

.location__item-address {
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-top: 1.875rem;
}

.location__item-tel-link {
  display: inline-block;
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-transform: uppercase;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .location__item-tel-link:hover {
    opacity: 0.6;
  }
}
.location__item-fax {
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-transform: uppercase;
}

.location__item-map {
  margin-top: 1.25rem;
}

.location__item-map-link {
  position: relative;
  display: inline-block;
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #017cde;
  letter-spacing: 0.1em;
  text-transform: capitalize;
  text-decoration: underline;
  padding-right: 1.625rem;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .location__item-map-link:hover {
    opacity: 0.6;
  }
}
.location__item-map-link::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  mask-image: url(../../assets/images/common/map-pin.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #017cde;
  width: 1rem;
  height: 1.25rem;
}

.lower-main {
  margin-top: 8.25rem;
}
@media screen and (max-width: 768px) {
  .lower-main {
    margin-top: 6.25rem;
  }
}

/* 会社概要ページイントロ下の余白 */
.lower-main.lower-main-company {
  margin-top: 14.6875rem;
}
@media screen and (max-width: 768px) {
  .lower-main.lower-main-company {
    margin-top: 9.375rem;
  }
}

.lower-main__inner {
  max-width: 120rem;
  margin-inline: auto;
  padding-inline: 0;
}

.lower-main__container {
  display: grid;
  grid-template-columns: min(21.6875rem, 18.0729166667%) 1fr;
  grid-template-columns: 20rem 1fr;
  gap: clamp(7.5rem, -7.5rem + 16.67vw, 12.5rem); /* 120 ~ 200 | 1440 ~ 1920 */
}
@media screen and (max-width: 768px) {
  .lower-main__container {
    display: block;
  }
}

.lower-main__side {
  position: relative;
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  .lower-main__side {
    display: none;
  }
}

.lower-main__side.has-reform-bg {
  background-color: #efefef;
}

.lower-main__side-menu.side-menu {
  padding-left: 2.5rem;
}

.lp-appeal {
  position: relative;
}

.lp-appeal::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1920/300;
  background-image: url(../../assets/images/shimasui/fv_gradiation.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transform: scaleY(-1);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .lp-appeal::before {
    aspect-ratio: 768/300;
  }
}

.lp-appeal__outer {
  position: relative;
  border-radius: 0 0 3.75rem 3.75rem;
  padding-bottom: 6.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .lp-appeal__outer {
    padding-bottom: 3.125rem;
    border-radius: 0 0 1.875rem 1.875rem;
  }
}

.lp-appeal__outer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #007ae2;
  z-index: -2;
}

.lp-appeal__outer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../../assets/images/shimasui/sandstorm.png);
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -1;
  mix-blend-mode: overlay;
  background-color: #ffffff;
}

.lp-appeal__inner.inner {
  max-width: 118.125rem;
}
@media screen and (max-width: 768px) {
  .lp-appeal__inner.inner {
    max-width: 33.75rem;
  }
}

.lp-appeal__white-bg {
  position: relative;
  padding-block: 5.9375rem;
  background-color: #ffffff;
  border-radius: 2.5rem;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .lp-appeal__white-bg {
    padding-block: 2.5rem;
  }
}

.lp-appeal__white-bg::before {
  content: "";
  position: absolute;
  bottom: -9.625rem;
  left: 50%;
  transform: translateX(-48.9%);
  width: 45.4375rem;
  aspect-ratio: 1457/582;
  background-image: url(../../assets/images/shimasui/appeal_deco01.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .lp-appeal__white-bg::before {
    width: 15.625rem;
    bottom: -4.375rem;
  }
}

.lp-appeal__text-wrapper01 p {
  font-size: max(1.125rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.8;
  letter-spacing: 0.2em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .lp-appeal__text-wrapper01 p {
    font-size: max(1rem, 12px);
    text-align: start;
  }
}

.lp-appeal__text-wrapper01 p span {
  background-color: #fff500;
}

.lp-appeal__shimasui24 {
  font-size: clamp(6.25rem, -15rem + 25vw, 7.5rem); /* 100 ~ 120 | 1360 ~ 1440 */
  font-family: "fot-udkakugoc60-pro", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  text-transform: uppercase;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .lp-appeal__shimasui24 {
    margin-top: 2.5rem;
    font-size: max(2.5rem, 12px);
  }
}

.lp-appeal__always {
  margin-top: 8.8125rem;
  text-align: center;
  font-size: max(1.375rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  line-height: 2.7272727273;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .lp-appeal__always {
    margin-top: 5rem;
    line-height: 1.5;
  }
}

.lp-appeal__text-wrapper02 {
  margin-top: 6.1875rem;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 768px) {
  .lp-appeal__text-wrapper02 {
    margin-top: 2.5rem;
  }
}

.lp-appeal__text-wrapper02 p {
  text-align: center;
  font-size: max(1.5rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.8;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .lp-appeal__text-wrapper02 p {
    font-size: max(1.125rem, 12px);
  }
}

.lp-appeal__archive-wrapper {
  position: relative;
  margin-inline: auto;
  width: fit-content;
}

.lp-appeal__archive-wrapper::before {
  content: "";
  position: absolute;
  top: -8.125rem;
  left: calc(50% - 44.5rem);
  width: 15.625rem;
  aspect-ratio: 510/511;
  background-image: url(../../assets/images/shimasui/appeal_deco02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  animation: zigzagComment2-pc 1.5s steps(2, end) infinite;
}
@media screen and (max-width: 768px) {
  .lp-appeal__archive-wrapper::before {
    width: clamp(6.25rem, 3.261rem + 12.76vw, 9.375rem);
    left: calc(50% - clamp(12.5rem, 6.521rem + 25.51vw, 18.75rem));
    top: 50%;
    transform: translateY(-50%);
    animation: zigzagComment2-sp 1.5s steps(2, end) infinite;
  }
}

@keyframes zigzagComment2-pc {
  0% {
    transform: rotate(-10deg);
  }
  100% {
    transform: rotate(20deg);
  }
}
@keyframes zigzagComment2-sp {
  0% {
    transform: translateY(-50%) rotate(-10deg);
  }
  100% {
    transform: translateY(-50%) rotate(20deg);
  }
}
.lp-appeal__archive-wrapper::after {
  content: "";
  position: absolute;
  top: -10.625rem;
  right: calc(50% - 37.1875rem);
  width: 12.9375rem;
  aspect-ratio: 172/147;
  background-image: url(../../assets/images/shimasui/appeal_deco03.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  animation: zigzagComment1-pc 1.5s steps(2, end) infinite;
}
@media screen and (max-width: 768px) {
  .lp-appeal__archive-wrapper::after {
    width: clamp(6.25rem, 3.261rem + 12.76vw, 9.375rem);
    right: calc(50% - clamp(12.5rem, 6.521rem + 25.51vw, 18.75rem));
    top: 50%;
    transform: translateY(-100%);
    animation: zigzagComment1-sp 1.5s steps(2, end) infinite;
  }
}

@keyframes zigzagComment1-pc {
  0% {
    transform: rotate(10deg);
  }
  100% {
    transform: rotate(-20deg);
  }
}
@keyframes zigzagComment1-sp {
  0% {
    transform: translateY(-100%) rotate(10deg);
  }
  100% {
    transform: translateY(-100%) rotate(-20deg);
  }
}
.lp-appeal__archive {
  width: fit-content;
  position: relative;
  margin-top: 3.75rem;
  display: flex;
  justify-content: center;
  gap: 15.625rem;
}
@media screen and (max-width: 768px) {
  .lp-appeal__archive {
    flex-direction: column;
    gap: 2.5rem;
  }
}

.lp-appeal__archive::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(50% - 44.5rem);
  width: 15.75rem;
  aspect-ratio: 212/167;
  background-image: url(../../assets/images/shimasui/appeal_deco04.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  animation: zigzagComment2 1.5s steps(2, end) infinite;
}
@media screen and (max-width: 768px) {
  .lp-appeal__archive::before {
    width: clamp(6.25rem, 3.261rem + 12.76vw, 9.375rem);
    right: calc(50% - clamp(12.5rem, 6.521rem + 25.51vw, 18.75rem));
    top: 50%;
    transform: translateY(30%);
  }
}

@keyframes zigzagComment2 {
  0% {
    transform: rotate(-10deg);
  }
  100% {
    transform: rotate(20deg);
  }
}
.lp-appeal__archive-item {
  display: flex;
  flex-direction: column;
  place-items: center;
  gap: 2.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .lp-appeal__archive-item {
    gap: 1.25rem;
  }
}

.lp-appeal__archive-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -7.5rem;
  transform: translateY(-50%) scale(-1, 1);
  mask-image: url(../../assets/images/shimasui/appeal_leaf.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #ffffff;
  width: 5.0625rem;
  aspect-ratio: 81/200;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .lp-appeal__archive-item::before {
    width: 2.5rem;
    left: -2.8125rem;
  }
}

.lp-appeal__archive-item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -7.5rem;
  transform: translateY(-50%);
  mask-image: url(../../assets/images/shimasui/appeal_leaf.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #ffffff;
  width: 5.0625rem;
  aspect-ratio: 81/200;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .lp-appeal__archive-item::after {
    width: 2.5rem;
    right: -2.8125rem;
  }
}

.lp-appeal__archive-item-title {
  position: relative;
  font-size: max(1.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4333333333;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .lp-appeal__archive-item-title {
    font-size: max(1.5rem, 12px);
  }
}

.lp-appeal__archive-item-title::before {
  content: "";
  position: absolute;
  bottom: -0.75rem;
  left: 50%;
  transform: translateX(-50%);
  mask-image: url(../../assets/images/shimasui/appeal_dot.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #ffffff;
  width: 6.25rem;
  aspect-ratio: 81/3;
}
@media screen and (max-width: 768px) {
  .lp-appeal__archive-item-title::before {
    width: 5rem;
    bottom: -0.5rem;
  }
}

.lp-appeal__archive-item-number {
  font-size: max(6.25rem, 12px);
  font-family: "fot-udkakugoc60-pro", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .lp-appeal__archive-item-number {
    font-size: max(3.125rem, 12px);
  }
}

.lp-appeal__archive-item-number span {
  font-size: max(3.125rem, 12px);
  font-family: "fot-udkakugoc60-pro", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  padding-left: 0.1em;
}
@media screen and (max-width: 768px) {
  .lp-appeal__archive-item-number span {
    font-size: max(1.25rem, 12px);
  }
}

.lp-area {
  position: relative;
  margin-top: 6.25rem;
  border-radius: 3.75rem;
  padding-block: 3.75rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .lp-area {
    margin-top: 6.25rem;
    padding-block: 3.75rem;
    border-radius: 1.875rem;
  }
}

.lp-area::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #007ae2;
  z-index: -2;
}

.lp-area::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../../assets/images/shimasui/sandstorm.png);
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -1;
  mix-blend-mode: overlay;
  background-color: #ffffff;
}

.lp-area__inner {
  max-width: 118.125rem;
}
@media screen and (max-width: 768px) {
  .lp-area__inner {
    max-width: 33.75rem;
  }
}

.lp-area__item {
  display: grid;
  grid-template-columns: 3.75rem 1fr;
  gap: 1px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .lp-area__item {
    grid-template-columns: none;
    grid-template-rows: 3.75rem 1fr;
  }
}

.lp-area__item-deco {
  border: 1px solid #007ae2;
  padding-block: 1.875rem 0.625rem;
  border-radius: 1.25rem 0.375rem 0.375rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #ffffff;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .lp-area__item-deco {
    border-radius: 1.25rem 1.25rem 0.375rem 0.375rem;
    padding-block: 1rem;
    flex-direction: row;
    justify-content: center;
    gap: 0.625rem;
  }
}

.lp-area__item-serivice {
  font-size: 0.75rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #007ae2;
  writing-mode: vertical-rl;
  text-orientation: sideways;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .lp-area__item-serivice {
    writing-mode: horizontal-tb;
    text-orientation: none;
  }
}

.lp-area__item-content {
  background-color: #ffffff;
  padding: 1.375rem;
  border: 1px solid #007ae2;
  border-radius: 0.375rem 1.25rem 1.25rem 0.375rem;
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  gap: 2.5rem;
}
@media screen and (max-width: 1440px) {
  .lp-area__item-content {
    padding: 1.875rem;
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .lp-area__item-content {
    padding: 1.875rem;
    border-radius: 0.375rem 0.375rem 1.25rem 1.25rem;
    grid-template-columns: 1fr;
    gap: 1.875rem;
  }
}

.lp-area__item-text-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-top: 2.25rem;
  padding-left: 2.3125rem;
}
@media screen and (max-width: 1440px) {
  .lp-area__item-text-wrapper {
    gap: 1.5rem;
    padding-top: 0rem;
    padding-left: 0rem;
  }
}

.lp-area__item-title {
  font-size: max(1.75rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.8;
}

.lp-area__item-list {
  display: flex;
  flex-direction: column;
  gap: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .lp-area__item-list {
    gap: 1.25rem;
  }
}

.lp-area__item-list-item {
  display: grid;
  grid-template-columns: 4.8125rem 1fr;
  gap: 0.25rem;
}
@media screen and (max-width: 768px) {
  .lp-area__item-list-item {
    grid-template-columns: 1fr;
  }
}

.lp-area__item-area01 {
  font-size: max(1.125rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.6;
}

.lp-area__item-area02 {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.8;
}

.lp-area__item-map {
  width: 100%;
  z-index: 1;
}

.lp-area__item-map iframe {
  width: 100%;
  height: 33.125rem;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .lp-area__item-map iframe {
    height: 18.75rem;
  }
}

.lp-contact__inner.inner {
  max-width: 88.375rem;
}
@media screen and (max-width: 768px) {
  .lp-contact__inner.inner {
    max-width: 33.75rem;
  }
}

.lp-contact__content {
  justify-content: center;
  width: 100%;
  display: inline-flex;
  gap: 2.125rem;
}
@media screen and (max-width: 768px) {
  .lp-contact__content {
    flex-direction: column;
    align-items: center;
  }
}

.lp-contact__content a {
  display: inline-block;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .lp-contact__content a:hover {
    opacity: 0.6;
  }
}
.lp-contact__content a.lp-contact__link {
  display: flex;
  align-items: center;
  gap: min(1.125rem, 0.9375vw);
}
@media screen and (max-width: 768px) {
  .lp-contact__content a.lp-contact__link {
    flex-direction: column;
    justify-content: center;
    gap: 0.625rem;
  }
}

.lp-contact__icon {
  display: inline-block;
  width: min(13.375rem, 11.1458333333vw);
  aspect-ratio: 214/214;
}
@media screen and (max-width: 768px) {
  .lp-contact__icon {
    width: 7.5rem;
  }
}

.lp-contact__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 214/214;
}

.lp-contact__text-wrapper {
  display: inline-flex;
  flex-direction: column;
  gap: 0.625rem;
  text-align: center;
}

.lp-contact__text01 {
  font-size: min(max(1.8125rem, 12px), 1.5104166667vw);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.14em;
  line-height: 1.5172413793;
}
@media screen and (max-width: 768px) {
  .lp-contact__text01 {
    font-size: max(0.75rem, 12px);
  }
}

.lp-contact__text02 {
  font-size: min(max(1.6875rem, 12px), 1.40625vw);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #777777;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .lp-contact__text02 {
    font-size: max(1rem, 12px);
  }
}

.lp-contact__text03 {
  font-size: min(max(1.5rem, 12px), 1.25vw);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  background-color: #222222;
  color: #ffffff;
  letter-spacing: 0.1em;
  border-radius: 0.25rem;
  padding: 0.5rem;
}
@media screen and (max-width: 768px) {
  .lp-contact__text03 {
    font-size: max(1rem, 12px);
  }
}

.lp-contact__text-tel {
  font-size: min(max(6.875rem, 12px), 5.7291666667vw);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #007ae2;
  line-height: 1;
  letter-spacing: -0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .lp-contact__text-tel {
    font-size: max(3.125rem, 12px);
  }
}

.lp-contact__text-layout {
  display: inline-flex;
  gap: min(1.875rem, 1.5625vw);
  align-items: center;
}
@media screen and (max-width: 768px) {
  .lp-contact__text-layout {
    gap: 0.625rem;
    flex-direction: column;
  }
}

.lp-contact__btn-wrapper {
  display: inline-flex;
  gap: 0.625rem;
}

.lp-faq {
  margin-top: 5.875rem;
}
@media screen and (max-width: 768px) {
  .lp-faq {
    margin-top: 3.75rem;
  }
}

.lp-faq__inner {
  max-width: 118.125rem;
}
@media screen and (max-width: 768px) {
  .lp-faq__inner {
    max-width: 33.75rem;
  }
}

.lp-faq__content {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 1fr 16.875rem;
  gap: 4.375rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .lp-faq__content {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    place-items: center;
  }
}

.lp-faq__list-wrapper {
  width: 100%;
}

.lp-faq__img {
  width: 16.875rem;
  padding-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .lp-faq__img {
    max-width: 12.5rem;
    width: 80%;
    padding-top: 0;
  }
}

.lp-faq__img img {
  width: 100%;
  aspect-ratio: 270/500;
  object-fit: cover;
}

.lp-faq__contact {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .lp-faq__contact {
    margin-top: 3.75rem;
  }
}

.lp-faq-list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

@media (any-hover: hover) {
  .lp-faq-item:hover .lp-faq-item__question {
    background-color: #b5b5b5;
  }
}
.lp-faq-item__question {
  display: grid;
  grid-template-columns: 2.5rem 1fr 2.125rem;
  align-items: center;
  gap: 1.25rem;
  background-color: #efefef;
  padding: 1.25rem;
  cursor: pointer;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .lp-faq-item__question {
    gap: 0.625rem;
    grid-template-columns: 1.5rem 1fr 1.25rem;
    padding: 0.75rem;
  }
}

.lp-faq-item__icon {
  width: 2.5rem;
  height: 2.5rem;
  background-color: #007ae2;
  border-radius: 100vmax;
  color: #ffffff;
  font-size: max(1.75rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .lp-faq-item__icon {
    width: 1.5rem;
    height: 1.5rem;
    font-size: max(1rem, 12px);
  }
}

.lp-faq-item__question h3 {
  font-size: max(1.125rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.7777777778;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .lp-faq-item__question h3 {
    font-size: max(1rem, 12px);
  }
}

.lp-faq-item__mark {
  position: relative;
  width: 2.125rem;
  height: 2.125rem;
  background-color: #ffffff;
  border-radius: 100vmax;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .lp-faq-item__mark {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.lp-faq-item__mark::before,
.lp-faq-item__mark::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #007ae2;
}

.lp-faq-item__mark::before {
  width: 2px;
  height: 10px;
  transition: transform 0.3s ease;
}

.lp-faq-item__mark::after {
  width: 10px;
  height: 2px;
}

.lp-faq-item.is-open .lp-faq-item__mark::before {
  transform: translate(-50%, -50%) rotate(90deg);
}

.lp-faq-item__answer {
  display: none;
  padding: 1.25rem 4rem 1.25rem 1.25rem;
  background-color: #ffffff;
  border: 1px solid #efefef;
  grid-template-columns: 2.5rem 1fr;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .lp-faq-item__answer {
    gap: 0.625rem;
    grid-template-columns: 1.5rem 1fr;
    padding-block: 0.75rem;
    padding-left: 0.75rem;
    padding-right: 2.125rem;
  }
}

.lp-faq-item__answer.active {
  display: grid;
}

.lp-faq-item__answer p {
  font-size: max(1.125rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.7777777778;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .lp-faq-item__answer p {
    font-size: max(1rem, 12px);
  }
}

.lp-faq-item__answer-inner {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  align-items: center;
  gap: 1.25rem;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .lp-faq-item__answer-inner {
    gap: 0.625rem;
    grid-template-columns: 1.5rem 1fr;
  }
}

.lp-fv {
  position: relative;
  background-image: url(../../assets/images/shimasui/fv_font.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100svh;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .lp-fv {
    aspect-ratio: auto;
  }
}

.lp-fv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #007ae2;
  background-image: url(../../assets/images/shimasui/sandstorm.png);
  background-size: cover;
  background-repeat: repeat-y;
  background-position: center;
  z-index: 0;
  mix-blend-mode: overlay;
}

.lp-fv__breadcrumb {
  padding-inline: 2.5rem;
  padding-top: 5.5rem;
}
@media screen and (max-width: 768px) {
  .lp-fv__breadcrumb {
    padding-inline: 1.25rem;
  }
}

.lp-fv::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1920/300;
  background-image: url(../../assets/images/shimasui/fv_gradiation.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -2;
}
@media screen and (max-width: 768px) {
  .lp-fv::after {
    aspect-ratio: 768/300;
  }
}

.lp-fv__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.lp-fv__bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #007ae2;
  z-index: -3;
}

.lp-fv__inner.inner {
  max-width: 87.75rem;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .lp-fv__inner.inner {
    max-width: 33.75rem;
  }
}

.lp-fv__text01 {
  font-size: min(max(4.375rem, 12px), 3.6458333333vw);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .lp-fv__text01 {
    font-size: max(1.25rem, 12px);
  }
}

.lp-fv__text02 {
  content: "";
  position: absolute;
  bottom: min(-0.46875vw, -0.5625rem);
  left: 50%;
  transform: translateX(-50%);
  font-size: min(9.21875vw, 11.0625rem);
  font-family: "fot-udkakugoc60-pro", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .lp-fv__text02 {
    font-size: min(max(3.125rem, 12px), 13.3333333333vw);
    bottom: -0.3125rem;
  }
}

.lp-fv__swiper-wrapper {
  width: 100%;
  height: 100vh;
}

.lp-fv__contact {
  position: absolute;
  top: 6.25rem;
  right: 0;
  width: fit-content;
  z-index: 0;
  background-color: #ffffff;
  padding-block: 1.3125rem;
  padding-inline: 1.25rem;
  border-radius: 1.5rem 0 0 1.5rem;
}
@media screen and (max-width: 768px) {
  .lp-fv__contact {
    display: none;
  }
}

.lp-fv__contact .lp-contact__inner.inner {
  max-width: 45.0625rem;
  padding-inline: 1.25rem;
}

.lp-fv__contact .lp-contact__content {
  gap: 1rem;
}

.lp-fv__contact .lp-contact__content a.lp-contact__link {
  gap: 0.875rem;
}

.lp-fv__contact .lp-contact__icon {
  width: min(6.25rem, 5.2083333333vw);
}

.lp-fv__contact .lp-contact__icon img {
  border-radius: 0.75rem;
}

.lp-fv__contact .lp-contact__text-wrapper {
  gap: 0.3125rem;
}

.lp-fv__contact .lp-contact__text01 {
  font-size: min(max(0.9375rem, 12px), 0.78125vw);
  line-height: 1.4666666667;
}

.lp-fv__contact .lp-contact__text02 {
  font-size: min(max(0.875rem, 12px), 0.7291666667vw);
}

.lp-fv__contact .lp-contact__text03 {
  font-size: min(max(0.75rem, 12px), 0.625vw);
  padding-block: 0.3125rem;
  padding-inline: 0.4375rem;
  border-radius: 100vmax;
}

.lp-fv__contact .lp-contact__text-tel {
  font-size: min(max(3.5rem, 12px), 2.9166666667vw);
}

.lp-fv__contact .lp-contact__text-layout {
  gap: min(0.625rem, 0.5208333333vw);
}

.lp-fv__contact .lp-contact__btn-wrapper {
  gap: 0.3125rem;
}

.lp-professional {
  position: relative;
  margin-top: 6.125rem;
  padding-block: 3.75rem;
  border-radius: 3.75rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .lp-professional {
    margin-top: 3.75rem;
    border-radius: 1.875rem;
  }
}

.lp-professional::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #007ae2;
  z-index: -2;
}

.lp-professional::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../../assets/images/shimasui/sandstorm.png);
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -1;
  mix-blend-mode: overlay;
  background-color: #ffffff;
}

.lp-professional__inner {
  max-width: 118.125rem;
}
@media screen and (max-width: 768px) {
  .lp-professional__inner {
    max-width: 33.75rem;
  }
}

.lp-professional__content {
  margin-top: 2.5rem;
}

.lp-professional-item {
  display: grid;
  grid-template-columns: min(3.75rem, 3.125vw) 1fr;
  gap: 1px;
}
@media screen and (max-width: 768px) {
  .lp-professional-item {
    grid-template-columns: none;
    grid-template-rows: 3.75rem 1fr;
  }
}

.lp-professional-item__deco {
  border: 1px solid #007ae2;
  padding: min(1.875rem, 1.5625vw) min(0.625rem, 0.5208333333vw);
  border-radius: 1.25rem 0.375rem 0.375rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #ffffff;
  gap: min(1.5rem, 1.25vw);
}
@media screen and (max-width: 768px) {
  .lp-professional-item__deco {
    border-radius: 1.25rem 1.25rem 0.375rem 0.375rem;
    flex-direction: row;
    justify-content: center;
    gap: 0.625rem;
    padding-block: 1rem;
  }
}

.lp-professional-item__number {
  font-size: 1.625rem;
  font-family: "fot-udkakugoc60-pro", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #007ae2;
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  .lp-professional-item__number {
    font-size: 1.25rem;
  }
}

.lp-professional-item__deco-title {
  font-size: max(0.75rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #007ae2;
  writing-mode: vertical-rl;
  text-orientation: sideways;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .lp-professional-item__deco-title {
    writing-mode: horizontal-tb;
    text-orientation: none;
  }
}

.lp-professional-item__heading {
  font-size: max(0.75rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #007ae2;
  writing-mode: vertical-rl;
  text-orientation: sideways;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .lp-professional-item__heading {
    writing-mode: horizontal-tb;
    text-orientation: initial;
    display: none;
  }
}

.lp-professional-item__content {
  background-color: #ffffff;
  padding-block: 1.25rem;
  padding-left: min(6.25rem, 5.2083333333vw);
  padding-right: min(1.25rem, 1.0416666667vw);
  border: 1px solid #007ae2;
  border-radius: 0.375rem 1.25rem 1.25rem 0.375rem;
  display: grid;
  grid-template-columns: 32% 1fr;
  gap: min(11.8125rem, 9.84375vw);
  overflow: hidden;
  align-items: center;
}
@media screen and (max-width: 1440px) {
  .lp-professional-item__content {
    padding: 1.875rem;
  }
}
@media screen and (max-width: 768px) {
  .lp-professional-item__content {
    padding-top: 3.125rem;
    padding-inline: 1.875rem;
    padding-bottom: 3.125rem;
    border-radius: 0.375rem 0.375rem 1.25rem 1.25rem;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.lp-professional-item__text-wrapper {
  display: flex;
  flex-direction: column;
  gap: min(2rem, 1.6666666667vw);
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .lp-professional-item__text-wrapper {
    gap: 1.25rem;
    margin-top: 0rem;
  }
}

.lp-professional-item__title {
  font-size: min(max(1.75rem, 12px), 1.4583333333vw);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.8;
  position: relative;
  z-index: 1;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 768px) {
  .lp-professional-item__title {
    font-size: max(1.5rem, 12px);
    line-height: 1.3333333333;
  }
}

.lp-professional-item__title::before {
  position: absolute;
  top: -5.8125rem;
  left: -2.5625rem;
  font-size: min(max(6.25rem, 12px), 5.2083333333vw);
  font-family: "fot-udkakugoc60-pro", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #efefef;
  text-transform: uppercase;
  z-index: -1;
  text-wrap: nowrap;
}
@media screen and (max-width: 1920px) {
  .lp-professional-item__title::before {
    top: clamp(-3.75rem, 1.259rem - 5.89vw, -5.813rem); /* -60 ~ -93 | 1360 ~ 1920 */
    left: clamp(-1.25rem, 1.938rem - 3.75vw, -2.563rem); /* -20 ~ -41 | 1360 ~ 1920 */
  }
}
@media screen and (max-width: 768px) {
  .lp-professional-item__title::before {
    top: -1.875rem;
    left: -0.625rem;
    font-size: 2.25rem;
  }
}

.lp-professional-item__title-01::before {
  content: "地元の歴史と実績";
}

.lp-professional-item__title-02::before {
  content: "有資格者が対応";
}

.lp-professional-item__title-03::before {
  content: "明朗会計・事前見積もり";
}

.lp-professional-item__text {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.8;
}

.lp-professional-item__img {
  width: 100%;
  position: relative;
  z-index: 1;
}

.lp-professional-item__img img {
  border-radius: 1.25rem;
  width: 100%;
  aspect-ratio: 940/530;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .lp-professional-item__img img {
    aspect-ratio: 6/5;
  }
}

.lp-professional-item__img::before {
  content: "";
  position: absolute;
  bottom: -1.875rem;
  width: min(19rem, 15.8333333333vw);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  aspect-ratio: 606/1013;
  z-index: 1;
}

.lp-professional-item__img-01::before {
  background-image: url(../../assets/images/shimasui/professional_deco01.webp);
  left: calc(50% - clamp(31.875rem, -3.849rem + 39.67vw, 43.75rem));
}
@media screen and (max-width: 1440px) {
  .lp-professional-item__img-01::before {
    bottom: -70px;
    left: min(-9.375rem, -10.4166666667vw);
  }
}
@media screen and (max-width: 768px) {
  .lp-professional-item__img-01::before {
    left: auto;
    right: -3.75rem;
    width: 9.375rem;
    bottom: -3.1875rem;
  }
}

.lp-professional-item__img-02::before {
  background-image: url(../../assets/images/shimasui/professional_deco02.png);
  left: calc(50% - clamp(31.875rem, -5.729rem + 41.75vw, 44.375rem));
}
@media screen and (max-width: 1440px) {
  .lp-professional-item__img-02::before {
    bottom: -70px;
    left: min(-9.375rem, -10.4166666667vw);
  }
}
@media screen and (max-width: 768px) {
  .lp-professional-item__img-02::before {
    left: auto;
    right: -3.75rem;
    width: 9.375rem;
    bottom: -3.1875rem;
  }
}

.lp-professional-item__img-03::before {
  background-image: url(../../assets/images/shimasui/professional_deco03.webp);
  left: calc(50% - clamp(31.875rem, -6.669rem + 42.8vw, 44.688rem));
}
@media screen and (max-width: 1440px) {
  .lp-professional-item__img-03::before {
    bottom: -70px;
    left: min(-9.375rem, -10.4166666667vw);
  }
}
@media screen and (max-width: 768px) {
  .lp-professional-item__img-03::before {
    left: auto;
    right: -3.75rem;
    width: 9.375rem;
    bottom: -3.1875rem;
  }
}

.lp-professional-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.lp-section-title {
  display: flex;
  align-items: flex-end;
  gap: 1.25rem;
  border-bottom: 1px solid #007ae2;
  border-top: 1px solid #007ae2;
  padding-block: 1.5rem;
}
@media screen and (max-width: 768px) {
  .lp-section-title {
    flex-direction: column;
    gap: 0.75rem;
    align-items: center;
  }
}

.lp-section-title__text01 {
  font-size: min(max(1.625rem, 12px), 1.3541666667vw);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #007ae2;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .lp-section-title__text01 {
    font-size: max(1rem, 12px);
  }
}

.lp-section-title__text-main {
  font-size: min(7.5rem, 6.25vw);
  font-family: "fot-udkakugoc60-pro", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .lp-section-title__text-main {
    font-size: 2.5rem;
  }
}

.lp-section-title__text02 {
  position: relative;
  display: inline-block;
  font-size: min(max(1.375rem, 12px), 1.1458333333vw);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #007ae2;
  line-height: 1.5909090909;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding-left: 1.875rem;
}
@media screen and (max-width: 768px) {
  .lp-section-title__text02 {
    font-size: max(0.875rem, 12px);
  }
}

.lp-section-title__text02::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -0.625rem;
  transform: translateY(-50%);
  width: 2.5rem;
  aspect-ratio: 1/1;
  mask-image: url("../../assets/images/shimasui/icon_prize.svg");
  mask-size: cover;
  mask-position: center;
  mask-repeat: no-repeat;
  background: #007ae2;
}
@media screen and (max-width: 768px) {
  .lp-section-title__text02::before {
    width: 1.25rem;
    left: 0rem;
  }
}

.lp-section-title--white {
  border-color: #222222;
}

.lp-section-title--white .lp-section-title__text01 {
  color: #222222;
}

.lp-section-title--white .lp-section-title__text-main {
  color: #ffffff;
}

.lp-section-title--white .lp-section-title__text02 {
  color: #222222;
}

.lp-section-title--white .lp-section-title__text02::before {
  background: #222222;
}

.lp-shimasui-swiper {
  position: relative;
  width: 100%;
  height: inherit;
  z-index: 0;
}

.lp-shimasui-swiper .swiper {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.lp-shimasui-swiper .swiper-slide {
  position: relative;
}
.lp-shimasui-swiper .swiper-slide.swiper-slide-active {
  z-index: 2;
}

.lp-fv__swiper-slide {
  width: 100%;
  padding-inline: 24.375rem;
}
@media screen and (max-width: 768px) {
  .lp-fv__swiper-slide {
    padding-inline: 1.25rem;
  }
}

.lp-shimasui-swiper .swiper-slide img {
  display: block;
  width: 53%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(200px 40px 50px rgba(0, 0, 0, 0.2));
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 9.375rem;
}
@media screen and (max-width: 768px) {
  .lp-shimasui-swiper .swiper-slide img {
    top: 6.25rem;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    filter: drop-shadow(100px 20px 25px rgba(0, 0, 0, 0.2));
  }
}

.lp-fv-swiper-pagination__wrapper {
  position: absolute;
  top: 12.0625rem;
  left: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .lp-fv-swiper-pagination__wrapper {
    bottom: 6.25rem;
    top: auto;
  }
}

.lp-fv__inner .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  text-align: center;
  border: 2px solid #ffffff;
  opacity: 1;
  background: transparent;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .lp-fv__inner .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
  }
}

.lp-fv__inner .swiper-pagination-bullet-active {
  background: #ffffff;
}

.lp-fv__inner .swiper-pagination {
  position: relative;
  display: flex;
  gap: 0.125rem;
  margin-top: 2.5rem;
}

.lp-trouble {
  margin-top: 6.4375rem;
}
@media screen and (max-width: 768px) {
  .lp-trouble {
    margin-top: 3.125rem;
  }
}

.lp-trouble__inner.inner {
  max-width: 118.125rem;
}
@media screen and (max-width: 768px) {
  .lp-trouble__inner.inner {
    max-width: 33.75rem;
  }
}

.lp-trouble__inner02.inner {
  max-width: 118.125rem;
}
@media screen and (max-width: 1440px) {
  .lp-trouble__inner02.inner {
    max-width: 62.5rem;
  }
}
@media screen and (max-width: 768px) {
  .lp-trouble__inner02.inner {
    max-width: 33.75rem;
  }
}

.lp-trouble__content {
  margin-top: 2.5rem;
}

.lp-trouble__contact {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .lp-trouble__contact {
    margin-top: 3.75rem;
  }
}

.lp-trouble-item {
  display: grid;
  grid-template-columns: 3.75rem 1fr;
  gap: 1px;
}
@media screen and (max-width: 768px) {
  .lp-trouble-item {
    grid-template-columns: none;
    grid-template-rows: 3.75rem 1fr;
  }
}

.lp-trouble-item__deco {
  border: 1px solid #007ae2;
  padding-block: 1.875rem 0.625rem;
  border-radius: 1.25rem 0.375rem 0.375rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .lp-trouble-item__deco {
    border-radius: 1.25rem 1.25rem 0.375rem 0.375rem;
    flex-direction: row;
    justify-content: center;
    gap: 0.625rem;
    padding-block: 1rem;
  }
}

.lp-trouble-item__number {
  font-size: 1.625rem;
  font-family: "fot-udkakugoc60-pro", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #007ae2;
}
@media screen and (max-width: 768px) {
  .lp-trouble-item__number {
    font-size: 1.25rem;
  }
}

.lp-trouble-item__trouble {
  font-size: 0.75rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #007ae2;
  writing-mode: vertical-rl;
  text-orientation: sideways;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .lp-trouble-item__trouble {
    writing-mode: horizontal-tb;
    text-orientation: none;
  }
}

.lp-trouble-item__content {
  background-color: #ffffff;
  padding: 2.5rem;
  border: 1px solid #007ae2;
  border-radius: 0.375rem 1.25rem 1.25rem 0.375rem;
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  gap: 2.125rem;
}
@media screen and (max-width: 768px) {
  .lp-trouble-item__content {
    padding: 1.875rem;
    border-radius: 0.375rem 0.375rem 1.25rem 1.25rem;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 1.25rem;
  }
}

.lp-trouble-item__text-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .lp-trouble-item__text-wrapper {
    display: contents;
  }
}

.lp-trouble-item__title-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
@media screen and (max-width: 768px) {
  .lp-trouble-item__title-wrapper {
    grid-row: 1;
  }
}

.lp-trouble-item__title {
  font-size: max(1.5rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.4583333333;
}

.lp-trouble-item__price {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #007ae2;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.lp-trouble-item__price span {
  margin-left: 0.625rem;
  font-size: max(0.75rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  display: inline-block;
}

.lp-trouble-item__text {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.8;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .lp-trouble-item__text {
    grid-row: 3;
  }
}

.lp-trouble-item__img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .lp-trouble-item__img {
    grid-row: 2;
  }
}

.lp-trouble-item__img img {
  border-radius: 0.625rem;
  width: 100%;
  aspect-ratio: 390/260;
  object-fit: cover;
}

.lp-trouble-list {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 1440px) {
  .lp-trouble-list {
    grid-template-columns: 1fr;
  }
}

.lp-voice {
  margin-top: 5.9375rem;
}
@media screen and (max-width: 768px) {
  .lp-voice {
    margin-top: 3.75rem;
  }
}

.lp-voice__inner {
  max-width: 118.125rem;
}
@media screen and (max-width: 768px) {
  .lp-voice__inner {
    max-width: 33.75rem;
  }
}

.lp-voice__content {
  margin-top: 2.5rem;
}

.lp-voice-item {
  display: grid;
  grid-template-columns: 3.75rem 1fr;
  gap: 1px;
}
@media screen and (max-width: 768px) {
  .lp-voice-item {
    grid-template-columns: none;
    grid-template-rows: 3.75rem 1fr;
  }
}

.lp-voice-item__deco {
  border: 1px solid #efefef;
  background-color: #efefef;
  padding-block: 1.875rem 0.625rem;
  border-radius: 1.25rem 0.375rem 0.375rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .lp-voice-item__deco {
    border-radius: 1.25rem 1.25rem 0.375rem 0.375rem;
    flex-direction: row;
    justify-content: center;
    gap: 0.625rem;
    padding-block: 1rem;
  }
}

.lp-voice-item__number {
  font-size: 1.625rem;
  font-family: "fot-udkakugoc60-pro", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #007ae2;
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  .lp-voice-item__number {
    font-size: 1.25rem;
  }
}

.lp-voice-item__voice {
  font-size: 0.75rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #007ae2;
  writing-mode: vertical-rl;
  text-orientation: sideways;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .lp-voice-item__voice {
    writing-mode: horizontal-tb;
    text-orientation: none;
  }
}

.lp-voice-item__content {
  background-color: #efefef;
  padding-top: 1.875rem;
  padding-inline: 1.875rem;
  padding-bottom: 3.75rem;
  border: 1px solid #efefef;
  border-radius: 0.375rem 1.25rem 1.25rem 0.375rem;
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}
@media screen and (max-width: 768px) {
  .lp-voice-item__content {
    padding: 1.875rem 1.25rem;
    border-radius: 0.375rem 0.375rem 1.25rem 1.25rem;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.lp-voice-item__customer {
  display: flex;
  gap: 1.25rem;
}

.lp-voice-item__img {
  width: 5rem;
}

.lp-voice-item__img img {
  width: 100%;
  object-fit: cover;
  border-radius: 100vmax;
  aspect-ratio: 80/80;
}

.lp-voice-item__detail {
  display: flex;
  flex-direction: column;
  gap: 0.8125rem;
  padding-top: 0.75rem;
}

.lp-voice-item__time {
  font-size: max(0.8125rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #007ae2;
  line-height: 1;
}

.lp-voice-item__name {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.4;
}

.lp-voice-item__comment {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.lp-voice-item__comment-title {
  font-size: max(1.25rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

.lp-voice-item__comment-text {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.lp-voice-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 1440px) {
  .lp-voice-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .lp-voice-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.mechanical {
  position: relative;
  margin-top: 12.5rem;
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .mechanical {
    margin-top: 9.375rem;
  }
}

.mechanical::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(50% - 53.125vw);
  background-color: #efefef;
  width: 127.0833333333vw;
  height: 100%;
  z-index: -2;
}
@media screen and (max-width: 1921px) {
  .mechanical::before {
    right: auto;
    left: -32.5rem;
    width: calc(100% + 32.5rem);
  }
}
@media screen and (max-width: 768px) {
  .mechanical::before {
    left: 0;
    width: 100%;
  }
}

.mechanical__inner.inner {
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .mechanical__inner.inner {
    max-width: 33.75rem;
    padding-inline: 1.25rem;
  }
}

.mechanical__container {
  margin-top: 3.75rem;
}

.mechanical__item {
  padding-left: 3.75rem;
  border-top: 1px dotted #222222;
  padding-block: 5rem;
}
@media screen and (max-width: 1440px) {
  .mechanical__item {
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .mechanical__item {
    padding-block: 3.125rem;
  }
}

.mechanical__item:nth-child(n+2) {
  border-bottom: 1px dotted #222222;
}

.mechanical__wrapper {
  display: grid;
  grid-template-columns: 800fr 420fr;
  gap: clamp(2.5rem, -5rem + 8.33vw, 5rem); /* 40 ~ 80 | 1440 ~ 1920 */
}
@media screen and (max-width: 768px) {
  .mechanical__wrapper {
    gap: 2.5rem;
    grid-template-columns: 1fr;
  }
}

.mechanical__text-wrapper {
  grid-template-columns: 1fr;
}

.mechanical__heading {
  position: relative;
  font-size: 1.75rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  line-height: 1.3;
  letter-spacing: 0.2em;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #b5b5b5;
}
@media screen and (max-width: 768px) {
  .mechanical__heading {
    font-size: 1.5rem;
  }
}

.mechanical__heading::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.25rem;
  height: 1px;
  background-color: #222222;
}

.mechanical__text-01 {
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.2em;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .mechanical__text-01 {
    font-size: 1.25rem;
  }
}

.mechanical__text-02 {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
  margin-top: 1.25rem;
}

.mechanical__info-wrapper {
  margin-top: 3.75rem;
}
@media screen and (max-width: 1440px) {
  .mechanical__info-wrapper {
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .mechanical__info-wrapper {
    margin-top: 2.5rem;
    padding-left: 0;
  }
}

@media screen and (max-width: 1440px) {
  .mechanical__info-wrapper.mechanical__info-wrapper-01 {
    display: none;
  }
}

.mechanical__info-wrapper.mechanical__info-wrapper-02 {
  display: none;
}
@media screen and (max-width: 1440px) {
  .mechanical__info-wrapper.mechanical__info-wrapper-02 {
    display: block;
  }
}

.mechanical__info-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  padding: 1.875rem;
  background-color: #ffffff;
  border-radius: 0.25rem;
}
@media screen and (max-width: 960px) {
  .mechanical__info-items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .mechanical__info-items {
    grid-template-columns: repeat(1, 1fr);
    padding: 1.25rem;
  }
}

.mechanical__info-item {
  position: relative;
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.1em;
  padding-left: 1.25rem;
}

.mechanical__info-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85em;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 100vmax;
  background-color: #222222;
}

.mechanical__img {
  width: 100%;
  max-width: 25rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .mechanical__img {
    width: 90%;
  }
}

.mechanical__img-01 {
  display: none;
}
@media screen and (max-width: 768px) {
  .mechanical__img-01 {
    display: block;
    margin-top: 3.75rem;
  }
}

@media screen and (max-width: 768px) {
  .mechanical__img-02 {
    display: none;
  }
}

.mechanical__img img {
  aspect-ratio: 420/560;
  object-fit: cover;
  border-radius: 0.25rem;
}

.mv {
  position: relative;
  height: 100lvh;
  min-height: 100lvh;
  overflow: hidden;
}

.mv__img-wrapper {
  height: 100lvh;
  min-height: 100lvh;
}

.mv__img-inner {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100lvh;
  min-height: 100lvh;
  z-index: -1;
  overflow: hidden;
  /* JavaScriptからブラーと明るさを調整 */
  --blur: 0px;
  --brightness: 100%;
}

.mv__img-inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100lvh;
  min-height: 100lvh;
  width: 100%;
  backdrop-filter: blur(var(--blur)) brightness(var(--brightness));
  z-index: 2;
}

.mv__base {
  position: absolute;
  inset: 0;
}

/* 単一画像用 */
.mv__base-single {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* 分割用 */
.mv__base-split {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

/* 左右それぞれ */
.mv__base-left,
.mv__base-right {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* 初期状態では単一画像だけ表示 */
.mv__base-split {
  display: none;
}

/* 右の画像 */
.mv-slide-img-02,
.mv-slide-current-img-02 {
  background-position: 0% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

/* 左の画像 */
.mv-slide-img-03,
.mv-slide-current-img-03 {
  background-position: 100% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

/* 左右分割のアニメ専用レイヤー*/
.mv__overlay {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  pointer-events: none;
  opacity: 0;
}

/* 表示 */
.mv__overlay.is-active {
  opacity: 1;
}

/* 左右のパネル */
.mv__pane {
  position: relative;
  overflow: hidden;
}

/* 背景画像（スライド対象） */
.mv__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 100lvh;
  min-height: 100lvh;
  background-size: cover;
  background-repeat: no-repeat;
  transition: transform 1000ms ease;
  transform: translateY(0);
  will-change: transform;
}

.mv__img.mv-slide-current-img-01 {
  background-position: 50% 50%;
}

.mv__img.mv-slide-current-img-02,
.mv__img.mv-slide-current-img-03 {
  width: 100%;
}

.mv__img.mv-slide-current-img-02 {
  left: auto;
  right: 0;
}

/* 右パネル：右半分を表示 */
.mv__right .mv__img.mv__img.mv-slide-current-img-01 {
  left: -100%;
}

/* 次画像の初期配置 */
.mv__left .mv__img-next {
  transform: translateY(100%);
}

.mv__right .mv__img-next {
  transform: translateY(-100%);
}

/* アニメーション中（逆方向にスライド） */
.mv__overlay.is-animating .mv__left .mv__img-current {
  transform: translateY(-100%);
}

.mv__overlay.is-animating .mv__left .mv__img-next {
  transform: translateY(0);
}

.mv__overlay.is-animating .mv__right .mv__img-current {
  transform: translateY(100%);
}

.mv__overlay.is-animating .mv__right .mv__img-next {
  transform: translateY(0);
}

.mv__title-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: max-content;
  text-align: center;
}

.mv__title-main {
  font-size: max(2.0833333333vw, 40px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.4;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .mv__title-main {
    font-size: 10.6666666667vw;
  }
}

.mv__title-sub {
  font-size: max(0.7291666667vw, 14px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.16em;
  margin-top: 1.0416666667vw;
}
@media screen and (max-width: 768px) {
  .mv__title-sub {
    font-size: max(3.7333333333vw, 14px);
    margin-top: 5.3333333333vw;
  }
}

.mv__banner {
  position: absolute;
  right: 0;
  bottom: 2.5rem;
  max-width: 32.1875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .mv__banner {
    bottom: 0.625rem;
    max-width: 15.625rem;
  }
}

.mv__banner-link {
  display: block;
  width: 100%;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .mv__banner-link:hover {
    filter: brightness(1.2);
  }
}
.news {
  position: relative;
  background-color: #ffffff;
  padding-top: 12.5rem;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .news {
    padding-top: 6.25rem;
  }
}

@media screen and (max-width: 1024px) {
  .news__inner.inner {
    width: 90%;
  }
}
@media screen and (max-width: 768px) {
  .news__inner.inner {
    width: 100%;
    max-width: 33.75rem;
  }
}

.news__container {
  display: grid;
  grid-template-columns: 18.75rem 1fr;
  gap: 2.875rem;
}
@media screen and (max-width: 1024px) {
  .news__container {
    grid-template-columns: 1fr;
  }
}

.news__side {
  margin-top: -0.625rem;
}

.news__category-items {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.375rem;
  margin-top: 4.375rem;
}
@media screen and (max-width: 1024px) {
  .news__category-items {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.9375rem;
    margin-top: 3.125rem;
  }
}

.news__category,
.news__category-link {
  display: inline-block;
  font-size: max(0.75rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.3;
  letter-spacing: 0.1em;
  padding: 0.4375rem 0.875rem;
  border: 1px solid #222222;
  background-color: #ffffff;
  border-radius: 100vmax;
  transition: all 0.3s;
  filter: drop-shadow(0.375rem 0.375rem 0.375rem rgba(0, 0, 0, 0.1));
}

@media (any-hover: hover) {
  .news__category-link:hover {
    color: #ffffff;
    background-color: #222222;
  }
}
.news__btn {
  margin-top: 3.75rem;
}
@media screen and (max-width: 1024px) {
  .news__btn {
    text-align: center;
  }
}

.news__item {
  position: relative;
  border-top: 1px solid #b5b5b5;
}

.news__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.25rem;
  height: 1px;
  background-color: #222222;
}

.news__item:last-child {
  border-bottom: 1px solid #b5b5b5;
}

.news__item:last-child::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.25rem;
  height: 1px;
  background-color: #222222;
}

.news__item-link {
  position: relative;
  display: grid;
  grid-template-columns: 12.5rem 1fr;
  gap: 3.75rem;
  padding: 2.5rem 2.5rem 2.5rem 1.25rem;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .news__item-link {
    grid-template-columns: 1fr;
    gap: 1.875rem;
    padding: 1.25rem 1.25rem;
  }
}

@media (any-hover: hover) {
  .news__item-link:hover {
    background-color: #efefef;
  }
  .news__item-link:hover .news__item-img img {
    transform: scale(1.1);
  }
}
.news__item-img {
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .news__item-img {
    width: 90%;
    margin-inline: auto;
  }
}

.news__item-img img {
  aspect-ratio: 200/150;
  border-radius: 0.25rem;
  object-fit: cover;
  transition: all 0.3s;
}

.news__meta {
  display: grid;
  grid-template-columns: 1fr 122px;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .news__meta {
    grid-template-columns: 1fr;
  }
}

.news__item-category-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.news__time {
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: rgba(34, 34, 34, 0.6);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.news__title-wrapper {
  position: relative;
  margin-top: 4.625rem;
  padding-right: 5.875rem;
}
@media screen and (max-width: 768px) {
  .news__title-wrapper {
    margin-top: 1.875rem;
    padding-right: 0;
  }
}

.news__title {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.1em;
  white-space: normal; /* 文字を折り返す */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 表示する行数 */
  overflow: hidden;
}

.pc-nav__items {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pc-nav__item {
  position: relative;
}

.pc-nav__item-link {
  position: relative;
  display: inline-block;
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: transparent;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.3125rem 0.75rem;
  transition: all 0.3s;
  overflow: hidden;
  text-shadow: 0 -1.5em 0 #222222, 0 0 0 #222222;
  background: linear-gradient(to bottom, #222222 50%, transparent 50%) 0 100%;
  background-size: 100% 205%; /* ブラウザごとで小数点レベルで描画が異なるので、205%にしておく。 */
}

.pc-nav__item-link.pc-nav__item-link-inactive {
  pointer-events: none;
}

@media (any-hover: hover) {
  .pc-nav__item-link:hover {
    text-shadow: 0 0 0 #ffffff, 0 1.5em 0 #222222; /* 2つの影の位置を上方向に1.5emずつずらす */
    background-position: 0 0; /* 背景の位置を動かす */
  }
}
.pc-nav__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #ffffff;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
  width: max-content;
  transition: all 0.3s;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
}

.pc-nav__dropdown-item {
  transition: all 0.3s;
  width: 100%;
}

.pc-nav__dropdown-link {
  display: block;
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  padding: 0.625rem 1rem;
  text-decoration: none;
  transition: all 0.3s;
}

.pc-nav__item-dropdown:hover .pc-nav__dropdown {
  opacity: 1;
  visibility: visible;
}

@media (any-hover: hover) {
  .pc-nav__dropdown-link:hover {
    background-color: #efefef;
  }
}
.pc-nav__btn-items {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
}

.pc-nav__btn-item {
  width: 100%;
}

.pipeline {
  margin-top: 12.5rem;
}

.pipeline__inner.inner {
  padding-left: 0;
  padding-right: 2.5rem;
}
@media screen and (max-width: 768px) {
  .pipeline__inner.inner {
    max-width: 33.75rem;
    padding-inline: 1.25rem;
  }
}

.pipeline__container {
  margin-top: 3.75rem;
}

.pipeline__item {
  padding-left: 3.75rem;
  border-top: 1px dotted #222222;
  padding-block: 5rem;
}
@media screen and (max-width: 1440px) {
  .pipeline__item {
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .pipeline__item {
    padding-block: 3.125rem;
  }
}

.pipeline__item:nth-child(n+2) {
  border-bottom: 1px dotted #222222;
}

.pipeline__wrapper {
  display: grid;
  grid-template-columns: 800fr 420fr;
  gap: clamp(2.5rem, -5rem + 8.33vw, 5rem); /* 40 ~ 80 | 1440 ~ 1920 */
}
@media screen and (max-width: 768px) {
  .pipeline__wrapper {
    gap: 2.5rem;
    grid-template-columns: 1fr;
  }
}

.pipeline__heading {
  position: relative;
  font-size: 1.75rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  line-height: 1.3;
  letter-spacing: 0.2em;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #b5b5b5;
}
@media screen and (max-width: 768px) {
  .pipeline__heading {
    font-size: 1.5rem;
  }
}

.pipeline__heading::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.25rem;
  height: 1px;
  background-color: #222222;
}

.pipeline__text-01 {
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.2em;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .pipeline__text-01 {
    font-size: 1.25rem;
  }
}

.pipeline__text-02 {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
  margin-top: 1.25rem;
}

.pipeline__info-wrapper {
  margin-top: 3.75rem;
}
@media screen and (max-width: 1440px) {
  .pipeline__info-wrapper {
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .pipeline__info-wrapper {
    margin-top: 2.5rem;
    padding-left: 0;
  }
}

@media screen and (max-width: 1440px) {
  .pipeline__info-wrapper.pipeline__info-wrapper-01 {
    display: none;
  }
}

.pipeline__info-wrapper.pipeline__info-wrapper-02 {
  display: none;
}
@media screen and (max-width: 1440px) {
  .pipeline__info-wrapper.pipeline__info-wrapper-02 {
    display: block;
  }
}

.pipeline__info-items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
  padding: 1.875rem;
  background-color: #efefef;
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  .pipeline__info-items {
    padding: 1.25rem;
  }
}

.pipeline__info-item {
  position: relative;
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.1em;
  padding-left: 1.25rem;
}

.pipeline__info-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85em;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 100vmax;
  background-color: #222222;
}

.pipeline__info-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .pipeline__info-box {
    grid-template-columns: repeat(1, 1fr);
  }
}

.pipeline__info-box-item {
  padding: 1.25rem;
  background-color: #efefef;
  border-radius: 0.25rem;
}
.pipeline__info-group-title {
  position: relative;
  font-size: 1.25rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  line-height: 1.26;
  letter-spacing: 0.2em;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #b5b5b5;
}

.pipeline__info-group-title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.25rem;
  height: 1px;
  background-color: #222222;
}

.pipeline__info-group-sub-title {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  line-height: 1.4;
  letter-spacing: 0.2em;
  margin-top: 1.25rem;
}

.pipeline__info-group-items {
  margin-top: 0.625rem;
}

.pipeline__info-group-item {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.pipeline__img {
  width: 100%;
  max-width: 25rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .pipeline__img {
    width: 90%;
  }
}

.pipeline__img-01 {
  display: none;
}
@media screen and (max-width: 768px) {
  .pipeline__img-01 {
    display: block;
    margin-top: 3.75rem;
  }
}

@media screen and (max-width: 768px) {
  .pipeline__img-02 {
    display: none;
  }
}

.pipeline__img img {
  aspect-ratio: 420/560;
  object-fit: cover;
  border-radius: 0.25rem;
}

.reform-item {
  position: relative;
  background-color: #ffffff;
  padding: 2.5rem clamp(1.25rem, -2.5rem + 4.17vw, 2.5rem); /* 20 ~ 40 | 1440 ~ 1920 */
  display: grid;
  grid-template-columns: 560fr 440fr;
  gap: 2.5rem;
  border-radius: 0.25rem;
}
@media screen and (max-width: 1440px) {
  .reform-item {
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .reform-item {
    padding: 1.25rem;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.reform-item:nth-child(n+2) {
  margin-top: 1.25rem;
}

.reform-item__content {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding-top: 5rem;
}

.reform-item__icon {
  position: absolute;
  display: grid;
  grid-template-rows: 1.25rem 1fr;
  flex-direction: column;
  top: 1.125rem;
  left: 1.25rem;
  gap: 0.375rem;
}

.reform-item__icon-number {
  font-size: 0.875rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #b5b5b5;
  letter-spacing: 0.2em;
  line-height: 1.4;
}

.reform-item__icon-title {
  font-size: 0.625rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #b5b5b5;
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-transform: uppercase;
}

.reform-item__icon-title span {
  text-transform: capitalize;
}

.reform-item__img {
  width: 100%;
}

.reform-item__img img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 440/330;
  border-radius: 0.25rem;
}

.reform-item__title {
  font-size: max(1.75rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.2857142857;
}
@media screen and (max-width: 768px) {
  .reform-item__title {
    font-size: max(1.5rem, 12px);
  }
}

.reform-item__text01 {
  font-size: max(1.375rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.5909090909;
  margin-top: 2.3125rem;
}
@media screen and (max-width: 768px) {
  .reform-item__text01 {
    font-size: max(1.25rem, 12px);
    margin-top: 1.25rem;
  }
}

.reform-item__text02 {
  margin-top: 1.25rem;
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .reform-item__text02 {
    font-size: max(0.875rem, 12px);
  }
}

.sdgs-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 1440px) {
  .sdgs-items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .sdgs-items {
    grid-template-columns: repeat(1, 1fr);
  }
}

.sdgs-item {
  padding-top: 1.25rem;
  padding-inline: 1.25rem;
  padding-bottom: 1.875rem;
  background-color: #efefef;
  border-radius: 0.25rem;
}

.sdgs-item__upper {
  position: relative;
  display: flex;
  justify-content: space-between;
}

.sdgs-item__upper::before {
  content: "";
  position: absolute;
  bottom: -1.25rem;
  left: 0;
  width: 1.25rem;
  height: 1px;
  background-color: #222222;
  z-index: 1;
}

.sdgs-item__upper::after {
  content: "";
  position: absolute;
  bottom: -1.25rem;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #b5b5b5;
}

.sdgs-item__icon {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.sdgs-item__icon-number {
  font-size: max(0.875rem, 12px);
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #b5b5b5;
  letter-spacing: 0.2em;
  line-height: 1.4;
}

.sdgs-item__icon-title {
  font-size: 0.625rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #b5b5b5;
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-transform: capitalize;
}

.sdgs-item__img {
  width: 6.25rem;
}
@media screen and (max-width: 768px) {
  .sdgs-item__img {
    width: 4.6875rem;
  }
}

.sdgs-item__img img {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 0.25rem;
}

.sdgs-item__main {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .sdgs-item__main {
    margin-top: 2.5rem;
  }
}

.sdgs-item__title {
  font-size: max(1.25rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.25;
  color: #222222;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.sdgs-item__text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.7857142857;
  color: #222222;
}

.sdgs-item__title.sdgs-item__title--01 {
  color: #e5001e;
}

.sdgs-item__title.sdgs-item__title--03 {
  color: #1b973a;
}

.sdgs-item__title.sdgs-item__title--04 {
  color: #c50e28;
}

.sdgs-item__title.sdgs-item__title--05 {
  color: #e83418;
}

.sdgs-item__title.sdgs-item__title--06 {
  color: #00a6d9;
}

.sdgs-item__title.sdgs-item__title--10 {
  color: #dc097b;
}

.sdgs-item__title.sdgs-item__title--11 {
  color: #f5a20b;
}

.sdgs-item__title.sdgs-item__title--12 {
  color: #d39206;
}

.sdgs-item__title.sdgs-item__title--13 {
  color: #407936;
}

/* ---------- 下層ページ用セクションタイトル | ここから ---------- */
.section-title {
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .section-title {
    align-items: center;
    flex-direction: column;
    gap: 0.9375rem;
  }
}

.section-title__ja {
  display: inline-block;
  font-size: 2.5rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  line-height: 1.45;
  letter-spacing: 0.2em;
  clip-path: polygon(100% 0, 100% 1.75rem, calc(100% - 5.625rem) 100%, 0 100%, 0 0);
}
@media screen and (max-width: 768px) {
  .section-title__ja {
    font-size: 1.75rem;
    letter-spacing: 0.1em;
    clip-path: none;
    padding-bottom: 0.9375rem;
    border-bottom: 1px solid #222222;
  }
}

.section-title__en {
  position: relative;
  display: inline-block;
  font-size: 0.875rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  line-height: 1.1428571429;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  transform: translateY(-0.4375rem);
}
@media screen and (max-width: 768px) {
  .section-title__en {
    font-size: max(1rem, 12px);
    transform: none;
  }
}

.section-title__en::before {
  content: "";
  position: absolute;
  left: -4.0625rem;
  top: -0.25rem;
  width: 5rem;
  height: 1px;
  background: #222222;
  transform: rotate(338deg);
}
@media screen and (max-width: 768px) {
  .section-title__en::before {
    content: none;
  }
}

/* ---------- 下層ページ用セクションタイトル | ここまで ---------- */
/* ---------- トップページ用セクションタイトル | ここから ---------- */
.top-section-title {
  display: flex;
  align-items: flex-end;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .top-section-title {
    align-items: center;
    flex-direction: column;
    gap: 0.9375rem;
  }
}

.top-section-title__ja {
  display: inline-block;
  font-size: 3.75rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  line-height: 1.2;
  letter-spacing: 0.2em;
  clip-path: polygon(100% 0, 100% 1.875rem, calc(100% - 6.75rem) 100%, 0 100%, 0 0);
}
@media screen and (max-width: 768px) {
  .top-section-title__ja {
    font-size: 2.5rem;
    letter-spacing: 0.1em;
    clip-path: none;
    padding-bottom: 0.9375rem;
    border-bottom: 1px solid #222222;
  }
}

@media screen and (max-width: 768px) {
  .section-title__ja.section-title__ja--community {
    text-align: center;
  }
}

.top-section-title__en {
  position: relative;
  display: inline-block;
  font-size: 1rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  transform: translate(-0.3125rem, -0.4375rem);
}
@media screen and (max-width: 768px) {
  .top-section-title__en {
    transform: none;
  }
}

.top-section-title__en::before {
  content: "";
  position: absolute;
  left: -5.5rem;
  top: 0.0625rem;
  width: 7.5rem;
  height: 1px;
  background: #222222;
  transform: rotate(338deg);
}
@media screen and (max-width: 768px) {
  .top-section-title__en::before {
    content: none;
  }
}

/* ---------- トップページ用セクションタイトル | ここまで ---------- */
.top-section-title__ja.section-title__ja--white,
.section-title__ja.section-title__ja--white {
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .top-section-title__ja.section-title__ja--white,
  .section-title__ja.section-title__ja--white {
    border-bottom: 1px solid #ffffff;
  }
}

.top-section-title__en.section-title__en--white,
.section-title__en.section-title__en--white {
  color: #ffffff;
}

.top-section-title__en.section-title__en--white::before,
.section-title__en.section-title__en--white::before {
  background: #ffffff;
}

/* ---------- 会社案内ページ用セクションタイトル | ここから ---------- */
.section-title-company {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  gap: 1.25rem;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .section-title-company {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 0.9375rem;
  }
}

.section-title-company::before {
  content: "";
  position: absolute;
  right: -2.5rem;
  bottom: 3rem;
  width: 10.625rem;
  height: 1px;
  background: #222222;
  transform: rotate(334deg);
}
@media screen and (max-width: 768px) {
  .section-title-company::before {
    content: none;
  }
}

.section-title-company__ja {
  font-size: 2.25rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .section-title-company__ja {
    font-size: 1.75rem;
    padding-bottom: 0.9375rem;
    border-bottom: 1px solid #222222;
  }
}

.section-title-company__en {
  font-size: 6.25rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  clip-path: polygon(100% 0, 100% 1.875rem, calc(100% - 9.0625rem) 100%, 0 100%, 0 0);
}
@media screen and (max-width: 768px) {
  .section-title-company__en {
    font-size: 3.125rem;
    clip-path: none;
  }
}

/* ---------- 会社案内ページ用セクションタイトル | ここまで ---------- */
@media screen and (max-width: 1200px) {
  .section-title-top-business,
  .section-title-top-recruit,
  .section-title-top-cases {
    justify-content: center;
  }
}

@media screen and (max-width: 1024px) {
  .section-title-news {
    justify-content: center;
  }
}

.service01-fv {
  height: 50rem;
}
@media screen and (max-width: 768px) {
  .service01-fv {
    height: auto;
  }
}

.service01-fv img {
  object-fit: cover;
  aspect-ratio: 1920/800;
  height: 100%;
}

.service02__support-inner.inner {
  padding-right: 0;
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .service02__support-inner.inner {
    max-width: 33.75rem;
    padding-right: 1.25rem;
    margin-right: auto;
  }
}

.service02__support-img {
  margin-top: 2.5rem;
}

.service02__support-img img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1400/650;
}

.service02__support-content {
  margin-top: 4.6875rem;
  max-width: 70rem;
  width: 80%;
}
@media screen and (max-width: 768px) {
  .service02__support-content {
    width: 100%;
    max-width: 33.75rem;
    margin-top: 1.25rem;
  }
}

.service02__support-content-text01 {
  font-size: max(1.375rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 1.6;
  margin-top: 2.9375rem;
}

.service02__support-content-text-wrapper {
  margin-top: 1.25rem;
}

.service02__support-content-text02 {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
  line-height: 2;
}

.service02__reform {
  margin-top: 12.5rem;
  padding-block: 5.3125rem;
  background-color: #efefef;
  position: relative;
}
@media screen and (max-width: 768px) {
  .service02__reform {
    margin-top: 6.25rem;
    padding-block: 3.75rem;
  }
}

.service02__reform-inner.inner {
  padding-left: 0;
  padding-right: 1.25rem;
  max-width: 71.25rem;
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .service02__reform-inner.inner {
    padding-left: 1.25rem;
    max-width: 33.75rem;
    margin-left: auto;
  }
}

.service02__reform::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(50% - 53.125vw);
  background-color: #efefef;
  width: 127.0833333333vw;
  height: 100%;
  z-index: -2;
}
@media screen and (max-width: 1921px) {
  .service02__reform::before {
    right: auto;
    left: -32.5rem;
    width: calc(100% + 32.5rem);
  }
}
@media screen and (max-width: 768px) {
  .service02__reform::before {
    left: 0;
    width: 100%;
  }
}

.service02__reform-title-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .service02__reform-title-wrapper {
    display: contents;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
  }
}

.service02__reform-btn-item {
  min-width: 13.75rem;
}
@media screen and (max-width: 768px) {
  .service02__reform-btn-item {
    margin-top: 3.75rem;
    margin-inline: auto;
    min-width: 11.25rem;
    text-align: center;
  }
}

.service02__reform-content {
  margin-top: 3.75rem;
}
.service02__column {
  margin-top: 11.8125rem;
}
@media screen and (max-width: 768px) {
  .service02__column {
    margin-top: 6.25rem;
  }
}

.service02__column-inner.inner {
  padding-left: 1.125rem;
  max-width: 80.375rem;
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .service02__column-inner.inner {
    padding-left: 1.25rem;
    max-width: 33.75rem;
    margin-left: auto;
  }
}

.service02__column-content {
  margin-top: 3.375rem;
}

.service02__column-btn {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .service02__column-btn {
    text-align: center;
  }
}

.service02__line01 {
  width: 100%;
  background-image: url(../../assets/images/service02/service_line01.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 1920/800;
  padding-top: 8.75rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .service02__line01 {
    padding-top: 6.25rem;
    padding-bottom: 5rem;
  }
}

.service02__line02 {
  width: calc(100% - 2.5rem);
  margin-top: 12.5rem;
  background-image: url(../../assets/images/service02/service_line02.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 1380/800;
  padding-top: 8.75rem;
  padding-bottom: 7.5rem;
  margin-left: 2.5rem;
}
@media screen and (max-width: 768px) {
  .service02__line02 {
    width: 100%;
    padding-top: 6.25rem;
    margin-left: 0;
    padding-bottom: 5rem;
  }
}

.service-cases {
  position: relative;
  padding-top: 10rem;
  padding-bottom: 13.75rem;
}
@media screen and (max-width: 768px) {
  .service-cases {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}

.service-cases::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(50% - 53.125vw);
  background-image: url(../../assets/images/service01/bg-cases.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 127.0833333333vw;
  height: 100%;
  z-index: -2;
}
@media screen and (max-width: 1921px) {
  .service-cases::before {
    right: auto;
    left: -32.5rem;
    width: calc(100% + 32.5rem);
  }
}
@media screen and (max-width: 768px) {
  .service-cases::before {
    left: 0;
    width: 100%;
  }
}

.service-cases__inner.inner {
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .service-cases__inner.inner {
    max-width: 33.75rem;
    padding-inline: 1.25rem;
  }
}

.service-cases__wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 70rem;
  width: 100%;
}
@media screen and (max-width: 1440px) {
  .service-cases__wrapper {
    flex-direction: column;
  }
}

.service-cases__intro-box {
  display: grid;
  grid-template-columns: 22.5rem 13.75rem;
  gap: 2.5rem;
  max-width: 38.75rem;
  width: 100%;
}
@media screen and (max-width: 1440px) {
  .service-cases__intro-box {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 1440px) {
  .service-cases__intro-text-wrapper {
    margin-top: 2.5rem;
  }
}

.service-cases__intro-text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  line-height: 2;
  letter-spacing: 0.2em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 768px) {
  .service-cases__intro-text {
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .service-cases__reform-btn-item {
    text-align: center;
  }
}

.side-menu {
  position: sticky;
  top: 6.25rem;
}

.side-menu__items {
  position: relative;
  width: 100%;
  display: inline-flex;
  flex-direction: column;
}

.side-menu__item:nth-child(1) {
  border-top: 1px solid #b5b5b5;
}

.side-menu__item {
  position: relative;
  padding-block: 1.8125rem;
  padding-right: 1.875rem;
  border-bottom: 1px solid #b5b5b5;
}

.side-menu__item::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.75rem;
  background-color: #b5b5b5;
  mask-image: url(../../assets/images/common/arrow-01.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 0.875rem;
  aspect-ratio: 14/7;
  transition: ease-in-out 0.2s;
}

.side-menu__item-link {
  position: relative;
  display: inline-block;
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  line-height: 1.5;
  letter-spacing: 0.2em;
  transition: all 0.3s;
  text-transform: uppercase;
}

.side-menu--dark .side-menu__item {
  border-color: #ffffff;
}

.side-menu--dark .side-menu__item-link {
  color: #ffffff;
}

.side-menu--dark .side-menu__item::before {
  background-color: #ffffff;
}

.side-menu--dark .side-menu__item.is-current .side-menu__item-link {
  color: #b5b5b5;
}

@media (any-hover: hover) {
  .side-menu--dark .side-menu__item-link:hover {
    color: rgba(181, 181, 181, 0.6);
  }
}
.side-menu__item.is-current .side-menu__item-link {
  color: #b5b5b5;
}

@media (any-hover: hover) {
  .side-menu__item-link:hover {
    color: rgba(181, 181, 181, 0.6);
  }
}
.single-cases {
  margin-top: 12.5rem;
}
@media screen and (max-width: 768px) {
  .single-cases {
    margin-top: 4.375rem;
  }
}

@media screen and (max-width: 768px) {
  .single-cases__intro-inner.inner {
    max-width: 33.75rem;
  }
}

.cases__intro-wrapper {
  display: grid;
  grid-template-columns: 660fr 640fr;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .cases__intro-wrapper {
    grid-template-columns: 1fr;
  }
}

.single-cases__intro-wrapper {
  display: grid;
  grid-template-columns: 660fr 640fr;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .single-cases__intro-wrapper {
    grid-template-columns: 1fr;
  }
}

.single-cases__message-text {
  font-size: 3.75rem;
  font-size: clamp(3.125rem, 1.442rem + 1.92vw, 3.75rem);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.4;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .single-cases__message-text {
    font-size: 1.875rem;
    text-align: center;
  }
}

.single-cases__intro-text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
}

.single-cases__intro-text:nth-child(n+2) {
  margin-top: 1.75rem;
}

.single-cases__phase {
  margin-top: 13.125rem;
}
@media screen and (max-width: 768px) {
  .single-cases__phase {
    margin-top: 5rem;
  }
}

.single-cases__phase-wrapper {
  position: relative;
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .single-cases__phase-wrapper {
    padding-block: 3.75rem;
  }
}

.single-cases__phase-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 95.8%;
  height: 1px;
  background-color: #b5b5b5;
}

.single-cases__phase-wrapper:last-child::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 95.8%;
  height: 1px;
  background-color: #b5b5b5;
}

@media screen and (max-width: 768px) {
  .single-cases__phase-inner.inner {
    max-width: 33.75rem;
  }
}

.single-cases__phase-heading {
  font-size: 1.75rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .single-cases__phase-heading {
    font-size: 1.5rem;
  }
}

.single-cases__phase-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 4.0625rem;
}
@media screen and (max-width: 768px) {
  .single-cases__phase-items {
    grid-template-columns: repeat(1, 1fr);
    gap: 3.75rem;
    margin-top: 1.875rem;
  }
}

.single-cases__phase-item {
  width: 100%;
}

.single-cases__phase-item-img {
  width: 100%;
}

.single-cases__phase-item img {
  width: 100%;
  aspect-ratio: 440/330;
  object-fit: cover;
}

.single-cases__phase-item-text {
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-top: 1.25rem;
}

.cases-client {
  padding: 2.5rem 2.5rem 0 2.5rem;
}
@media screen and (max-width: 768px) {
  .cases-client {
    max-width: 33.75rem;
    width: 100%;
    margin-inline: auto;
    padding: 1.25rem 1.25rem;
  }
}

.cases-client__category {
  display: inline-block;
  font-size: 10px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  letter-spacing: 0.1em;
  border: 1px solid #222222;
  background-color: #ffffff;
  border-radius: 100vmax;
  padding: 0.5625rem 0.875rem;
  filter: drop-shadow(0.375rem 0.375rem 0.375rem rgba(0, 0, 0, 0.2));
}
@media screen and (max-width: 768px) {
  .cases-client__category {
    filter: drop-shadow(0.1875rem 0.1875rem 0.1875rem rgba(0, 0, 0, 0.2));
  }
}

.cases-client__title {
  font-size: 1.25rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .cases-client__title {
    font-size: 1.5rem;
  }
}

.cases-client__info {
  display: grid;
  gap: 0.625rem;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  padding-block: 2.5rem;
  margin-top: 9.875rem;
}
@media screen and (max-width: 768px) {
  .cases-client__info {
    padding-block: 1.25rem;
    margin-top: 3.125rem;
  }
}

.cases-client__city {
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: rgba(34, 34, 34, 0.6);
  letter-spacing: 0.2em;
}

.cases-client__name {
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.2em;
}

.cases-client__date {
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: rgba(34, 34, 34, 0.6);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

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

.slide-img.fv-company__slide-img {
  height: max(15.625vw, 18.75rem);
}
@media screen and (max-width: 768px) {
  .slide-img.fv-company__slide-img {
    height: 20vw;
  }
}

.slide-img.cases__slide-img {
  height: 31.25vw;
}
@media screen and (max-width: 768px) {
  .slide-img.cases__slide-img {
    height: 40vw;
  }
}

/* 右から左へ */
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.slide-img__wrapper {
  display: flex;
  overflow: hidden;
  align-items: center;
  height: 100%;
}

.slide-img__items.slide-img__items-company {
  display: flex;
  align-items: center;
  gap: max(1.0416666667vw, 1.25rem);
  margin-left: max(1.0416666667vw, 1.25rem);
}
@media screen and (max-width: 768px) {
  .slide-img__items.slide-img__items-company {
    gap: max(4vw, 0.9375rem);
    margin-left: max(4vw, 0.9375rem);
  }
}

.slide-img__items.slide-img__items-cases {
  display: flex;
  align-items: center;
}

.slide-img__items-company.slide-img__items--left {
  animation: infinity-scroll-left 90s infinite linear 0.5s both;
}

.slide-img__items-cases.slide-img__items--left {
  animation: infinity-scroll-left 180s infinite linear 0.5s both;
}

.slide-img__item.slide-img__item-company {
  width: max(20.8333333333vw, 25rem);
}
@media screen and (max-width: 768px) {
  .slide-img__item.slide-img__item-company {
    width: max(26.6666666667vw, 6.25rem);
  }
}

.slide-img__item.slide-img__item-company img {
  aspect-ratio: 400/300;
  object-fit: cover;
}

.slide-img__item.slide-img__item-cases {
  width: 166.5625vw;
}
@media screen and (max-width: 768px) {
  .slide-img__item.slide-img__item-cases {
    width: 213.3333333333vw;
  }
}

.slide-img__item.slide-img__item-cases img {
  aspect-ratio: 3198/600;
  object-fit: cover;
}

.slide-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
}

.slide-text.slide-text-footer {
  top: 0;
  z-index: -1;
}

.slide-text.slide-text-top-cases {
  top: auto;
  bottom: -1px;
  z-index: 1;
}

.slide-text.slide-text-top-mv {
  top: auto;
  bottom: -3.6458333333vw;
  z-index: 1;
  mix-blend-mode: overlay;
}

.slide-text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 15.1041666667vw;
  background-image: linear-gradient(to top, transparent 0%, #fff 100%);
  z-index: -1;
}

.slide-text.slide-text-top-cases::before {
  background-image: linear-gradient(to bottom, transparent 0%, #fff 100%);
}

.slide-text.slide-text-top-mv::before {
  content: none;
}

.slide-text.slide-text-top-cases::after {
  content: "";
  position: absolute;
  top: 0;
  left: 52.6%;
  transform: translateX(-50%);
  background-image: url(../../assets/images/top/deco-img.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  aspect-ratio: 1920/291;
}

.slide-text__wrapper {
  display: flex;
  overflow: hidden;
  align-items: center;
}

.slide-text__items {
  display: flex;
  align-items: center;
}

.slide-text__items--left {
  animation: infinity-scroll-left 100s infinite linear 0.5s both;
}

/* 右から左へ */
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.slide-text__item {
  position: relative;
  width: 100%;
}
.slide-text__item {
  width: 159.5833333333vw;
  margin-left: 5.2083333333vw;
}

.slide-text.slide-text-top-mv .slide-text__item img {
  mix-blend-mode: color-burn;
}

.sp-nav {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-nav {
    display: none;
    position: absolute;
    top: -0.625rem;
    left: 0;
    right: 0;
    width: 100%;
    height: 100dvh;
    overflow: scroll;
    background-color: #efefef;
    padding: 5.625rem 0;
  }
}

@media screen and (max-width: 768px) {
  .sp-nav.is-active {
    display: block;
  }
}

/* スクロールバー非表示 | ここから -------------- */
@media screen and (max-width: 768px) {
  .sp-nav {
    -ms-overflow-style: none; /* IE, Edge 対応 */
    scrollbar-width: none; /* Firefox 対応 */
  }
}

@media screen and (max-width: 768px) {
  .sp-nav::-webkit-scrollbar {
    display: none; /* Chrome, Safari 対応 */
    /* スクロールバー非表示 | ここまで -------------- */
  }
}

@media screen and (max-width: 768px) {
  .sp-nav__inner {
    max-width: 23.4375rem;
    width: 100%;
    margin: auto;
    padding: 0 0.9375rem;
  }
}

@media screen and (max-width: 768px) {
  .sp-nav__logo {
    max-width: 12.5rem;
    width: 100%;
    margin: auto;
    transition: all 0.3s;
  }
}

.sp-nav__logo-link {
  display: block;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .sp-nav__logo-link:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 768px) {
  .sp-nav__items {
    margin-top: 4.0625rem;
    display: flex;
    flex-direction: column;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .sp-nav__item:nth-child(n+2) {
    margin-top: 1.875rem;
  }
}

@media screen and (max-width: 768px) {
  .sp-nav__item-link {
    display: inline-block;
    font-size: max(1rem, 12px);
    font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    color: #222222;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: all 0.3s;
  }
}

@media (any-hover: hover) {
  .sp-nav__item-link:hover {
    opacity: 0.6;
  }
}
.sp-nav__btn-items {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.875rem;
  margin-top: 1.875rem;
}

.sp-nav__btn-item {
  width: 100%;
  text-align: center;
}

.sp-nav__accordion-btn {
  position: relative;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  font-size: max(1.125rem, 12px);
  text-align: center;
  padding-inline: 1.875rem;
  cursor: pointer;
}

.sp-nav__item-icon {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.875rem;
  height: 0.875rem;
}

.sp-nav__item-icon::after,
.sp-nav__item-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 0.125rem;
  background-color: #222222;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}

.sp-nav__item-icon::before {
  transform: translate(-50%, -50%) rotate(90deg);
}

.sp-nav__item-accordion.is-open .sp-nav__item-icon::before {
  transform: translate(-50%, -50%) rotate(0deg);
}

.sp-nav__accordion-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.sp-nav__accordion-item:first-child {
  margin-top: 0.625rem;
}

.sp-nav__accordion-link {
  display: block;
  font-size: max(1rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #707070;
  padding: 0.9375rem 0;
  text-decoration: none;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .sp-nav__accordion-link:hover {
    opacity: 0.6;
  }
}
.slide-pagination-wrapper-service-cases {
  display: flex;
  justify-content: center;
  gap: 6.25rem;
  max-width: 40.625rem;
  width: 100%;
  margin-top: 5rem;
}
@media screen and (max-width: 1440px) {
  .slide-pagination-wrapper-service-cases {
    max-width: 34.375rem;
  }
}
@media screen and (max-width: 768px) {
  .slide-pagination-wrapper-service-cases {
    margin-top: 3.125rem;
    margin-inline: auto;
  }
}

/* ---------- Swiperのページャーと『次へ・前へ』ボタンの上下中央を揃える | ここから ---------- */
/* PC時にページャーと『次へ・前へ』ボタンの上下中央を揃える */
/* 注目カード */
.swiper-option {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .swiper-option {
    top: -1.5625vw;
  }
}

.swiper-option > .swiper-horizontal > .swiper-pagination-bullets,
.swiper-option > .swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-option > .swiper-pagination-custom,
.swiper-option > .swiper-pagination-fraction {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .swiper-option > .swiper-horizontal > .swiper-pagination-bullets,
  .swiper-option > .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-option > .swiper-pagination-custom,
  .swiper-option > .swiper-pagination-fraction {
    width: auto;
  }
}

.swiper-pagination-bullets {
  display: flex;
  align-items: center;
}

.swiper-button-prev.swiper-button-prev-top-cases,
.swiper-button-next.swiper-button-next-top-cases {
  position: absolute;
  margin-top: initial;
}

/* ---------- Swiperのページャーと『次へ・前へ』ボタンの上下中央を揃える | ここまで ---------- */
/* ===== 事業内容 - 法人のお客様　施工例｜ ここから ===== */
.swiper-button-prev-service-cases,
.swiper-button-next-service-cases {
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #ffffff;
  border: 0.125rem solid #222222;
  border-radius: 100vmax;
  transition: all 0.3s;
}

.swiper-button-prev-service-cases::after,
.swiper-button-next-service-cases::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  mask-image: url(../../assets/images/common/arrow-01.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #222222;
  width: 1.25rem;
  aspect-ratio: 14/7;
  transition: all 0.3s;
}

.swiper-button-prev-service-cases::after {
  transform: translate(-55%, -50%) rotate(90deg);
}

.swiper-button-next-service-cases::after {
  transform: translate(-45%, -50%) rotate(-90deg);
}

@media (any-hover: hover) {
  .swiper-button-prev-service-cases:hover,
  .swiper-button-next-service-cases:hover {
    background-color: #222222;
    border: 0.125rem solid #ffffff;
  }
  .swiper-button-prev-service-cases:hover::after,
  .swiper-button-next-service-cases:hover::after {
    background-color: #ffffff;
  }
}
/* ===== 事業内容 - 法人のお客様　施工例｜ ここまで ===== */
/* ===== トップページ - 施工例｜ ここから ===== */
.swiper-button-prev-top-cases,
.swiper-button-next-top-cases {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 5rem;
  height: 5rem;
  background-color: #222222;
  border: 0.125rem solid #222222;
  border-radius: 100vmax;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .swiper-button-prev-top-cases,
  .swiper-button-next-top-cases {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.swiper-button-prev-top-cases {
  right: calc(50% + 30.9375rem);
  left: auto;
}
@media screen and (max-width: 1920px) {
  .swiper-button-prev-top-cases {
    right: calc(50% + 25.78125vw);
  }
}
@media screen and (max-width: 768px) {
  .swiper-button-prev-top-cases {
    right: calc(50% + 32vw);
  }
}

.swiper-button-next-top-cases {
  left: calc(50% + 30.9375rem);
}
@media screen and (max-width: 1920px) {
  .swiper-button-next-top-cases {
    left: calc(50% + 25.78125vw);
  }
}
@media screen and (max-width: 768px) {
  .swiper-button-next-top-cases {
    left: calc(50% + 32vw);
  }
}

.swiper-button-prev-top-cases::after,
.swiper-button-next-top-cases::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  mask-image: url(../../assets/images/common/arrow-01.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #ffffff;
  width: 1.25rem;
  aspect-ratio: 14/7;
  transition: all 0.3s;
}

.swiper-button-prev-top-cases::after {
  transform: translate(-55%, -50%) rotate(90deg);
}

.swiper-button-next-top-cases::after {
  transform: translate(-45%, -50%) rotate(-90deg);
}

@media (any-hover: hover) {
  .swiper-button-prev-top-cases:hover,
  .swiper-button-next-top-cases:hover {
    background-color: #ffffff;
  }
  .swiper-button-prev-top-cases:hover::after,
  .swiper-button-next-top-cases:hover::after {
    background-color: #222222;
  }
}
/* ===== トップページ - 施工例｜ ここまで ===== */
/* ------------- 前へ次への矢印カスタマイズ ここまで ------------- */
.service-cases__swiper-wrapper,
.top-cases__swiper-wrapper {
  display: flex;
}

/* 事業内容 - 法人のお客様 | 施工例 */
.service-cases__swiper {
  position: relative;
  margin-left: 0;
  margin-right: calc(50% - 50vw);
  width: 100vw;
  margin-top: 6.5625rem;
}
@media screen and (max-width: 768px) {
  .service-cases__swiper {
    width: 100%;
    padding-left: 0;
    margin-top: 5rem;
  }
}

/* トップページ | 施工例 */
.top-cases__swiper {
  position: relative;
  margin-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .top-cases__swiper {
    width: 100%;
    margin-top: 5rem;
  }
}

.service-cases__slide.swiper-slide-active {
  position: relative;
  z-index: 2;
}

.service-cases__slide {
  transition: all 0.3s;
}

.service-cases__slide-link {
  display: grid;
  grid-template-columns: 1fr 13.75rem;
  gap: 1.875rem;
  padding: 1.25rem;
  border-radius: 0.25rem;
  overflow: hidden;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .service-cases__slide-link {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.service-cases__slide-link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: #efefef;
  z-index: -1;
  transition: all 0.3s;
  will-change: transform;
}

.service-cases__slide-link.service-cases__slide-link--top::before {
  background-color: transparent;
  backdrop-filter: blur(30px) brightness(1.3);
}

@media (any-hover: hover) {
  .service-cases__slide-link:hover .service-cases-card__image-wrapper img {
    transform: scale(1.1);
  }
  .service-cases__slide-link.service-cases__slide-link--top:hover::before {
    backdrop-filter: blur(40px) brightness(1.5);
  }
}
.service-cases-card__image-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  .service-cases-card__image-wrapper {
    width: 90%;
    margin-inline: auto;
  }
}

.service-cases-card__image-wrapper img {
  object-fit: cover;
  aspect-ratio: 360/480;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .service-cases-card__image-wrapper img {
    aspect-ratio: 1/1;
  }
}

.service-cases__slide-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .service-cases__slide-title-wrapper {
    margin-top: 1.875rem;
  }
}

.service-cases__slide-category-wrapper {
  max-width: 10.625rem;
  width: 100%;
}

.service-cases-card__slide-active .service-cases__slide-category-wrapper {
  max-width: none;
}

.service-cases__slide-category {
  display: inline-block;
  font-size: 10px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.3;
  letter-spacing: 0.1em;
  border: 1px solid #222222;
  background-color: #ffffff;
  border-radius: 100vmax;
  padding: 0.5625rem 0.875rem;
  filter: drop-shadow(0.375rem 0.375rem 0.375rem rgba(0, 0, 0, 0.1));
}
@media screen and (max-width: 768px) {
  .service-cases__slide-category {
    filter: drop-shadow(0.1875rem 0.1875rem 0.1875rem rgba(0, 0, 0, 0.1));
  }
}

.service-cases__slide-title {
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .service-cases__slide-title {
    font-size: max(0.875rem, 12px);
  }
}

.service-cases__slide-title-active {
  font-size: 1.25rem;
}
@media screen and (max-width: 768px) {
  .service-cases__slide-title-active {
    font-size: 1rem;
    padding-bottom: 0.625rem;
  }
}

.service-cases__slide-info-description {
  display: grid;
  gap: 0.625rem;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  padding-block: 2.5rem;
}
@media screen and (max-width: 768px) {
  .service-cases__slide-info-description {
    padding-block: 0.9375rem;
  }
}

.service-cases__slide-city {
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: rgba(34, 34, 34, 0.6);
  letter-spacing: 0.2em;
}

.service-cases__slide-name {
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .service-cases__slide-name {
    font-size: max(0.875rem, 12px);
  }
}

.service-cases__slide-date {
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: rgba(34, 34, 34, 0.6);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.title-line {
  width: 100%;
  position: relative;
  color: #222222;
  font-size: 1.5625rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.3;
  text-transform: uppercase;
  display: inline-block;
  padding-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .title-line {
    font-size: 1.25rem;
    padding-bottom: 0.9375rem;
  }
}

.title-line::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #b5b5b5;
}

.title-line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.25rem;
  height: 1px;
  background-color: #222222;
}

.top-business {
  position: relative;
  padding-top: 12.5rem;
  background-color: #ffffff;
  padding-bottom: 15rem;
}
@media screen and (max-width: 768px) {
  .top-business {
    padding-bottom: 6.25rem;
    padding-top: 6.25rem;
  }
}

.top-business__inner {
  max-width: 120rem;
  width: 100%;
  padding-inline: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .top-business__inner {
    max-width: 33.75rem;
    padding-inline: 1.25rem;
  }
}

.top-business__intro-container {
  display: grid;
  grid-template-columns: 740fr max(38.75rem, 500px);
  align-items: center;
  max-width: 85rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .top-business__intro-container {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}

.top-business__intro-info {
  display: grid;
  grid-template-columns: 1fr 13.75rem;
  gap: 1.25rem;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  .top-business__intro-info {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 3.75rem;
  }
}

.top-business__info {
  display: grid;
  grid-template-columns: 345fr 514fr;
  gap: clamp(1.25rem, -2.5rem + 4.17vw, 2.5rem); /* 20 ~ 40 | 1440 ~ 1920 */
  width: 100%;
  margin-top: -3.125rem;
}
@media screen and (max-width: 1440px) {
  .top-business__info {
    grid-template-columns: 1fr;
    gap: 3.75rem;
    margin-top: -1.25rem;
  }
}

.top-business__info-text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
}

.top-business__heading {
  position: absolute;
  left: 0;
  bottom: -4.25rem;
  display: inline-flex;
  flex-direction: column;
  padding: 0.625rem 0.625rem 0.625rem 0;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .top-business__heading {
    bottom: -2.1875rem;
    padding: 0.3125rem 0.3125rem;
  }
}

.top-business__heading::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  z-index: -1;
}

.top-business__heading-ja {
  font-size: 3.125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.44;
}
@media screen and (max-width: 1920px) {
  .top-business__heading-ja {
    font-size: 2.6041666667vw;
  }
}
@media screen and (max-width: 768px) {
  .top-business__heading-ja {
    font-size: 1.5rem;
  }
}

.top-business__heading-en {
  font-size: 12px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #222222;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .top-business__heading-en {
    margin-top: 0.3125rem;
  }
}

.top-business__btn {
  width: 100%;
  max-width: max(13.75rem, 180px);
}
@media screen and (max-width: 1440px) {
  .top-business__btn {
    margin-inline: auto;
  }
}

.top-business__info-btn {
  width: 100%;
  max-width: max(13.75rem, 180px);
  margin-top: 14.375rem;
}
@media screen and (max-width: 1440px) {
  .top-business__info-btn {
    margin-top: 5rem;
    margin-inline: auto;
  }
}

.top-business__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
  max-width: 115rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 3.75rem;
}
@media screen and (max-width: 1440px) {
  .top-business__container {
    gap: 3.125rem;
  }
}
@media screen and (max-width: 768px) {
  .top-business__container {
    grid-template-columns: repeat(1, 1fr);
    gap: 5rem;
  }
}

.top-business__item {
  width: 100%;
}

.top-business__img {
  position: relative;
  width: 100%;
}
@media screen and (max-width: 1440px) {
  .top-business__img {
    margin-inline: auto;
  }
}

.top-business__img img {
  aspect-ratio: 900/675;
  object-fit: cover;
  border-radius: 0.25rem;
}

.top-business__sub-items {
  margin-top: 5rem;
}
@media screen and (max-width: 1440px) {
  .top-business__sub-items {
    margin-top: 0;
  }
}

.top-business__sub-item {
  border-top: 1px solid rgba(34, 34, 34, 0.4);
}

.top-business__sub-item:last-child {
  border-bottom: 1px solid rgba(34, 34, 34, 0.4);
}

.top-business__sub-item-link {
  position: relative;
  display: grid;
  grid-template-columns: 3.75rem 1fr 2.75rem;
  padding-block: 1.5rem;
  width: 100%;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .top-business__sub-item-link {
    grid-template-columns: 3.125rem 1fr 2.1875rem;
    padding-block: 1.25rem;
  }
}

@media (any-hover: hover) {
  .top-business__sub-item-link:hover {
    background-color: #efefef;
  }
}
.top-business__number {
  font-size: 1.125rem;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.top-business__sub-item-title {
  font-size: 1.25rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.45;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .top-business__sub-item-title {
    font-size: 1.125rem;
  }
}

.top-business__sub-item-text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.2em;
  margin-top: 1.25rem;
}

.top-business__banner {
  width: 100%;
  margin-top: 1.25rem;
}

.top-cases {
  position: relative;
  z-index: 1;
  padding-bottom: 25.5208333333vw;
  margin-top: -34.375rem;
}
@media screen and (max-width: 768px) {
  .top-cases {
    margin-top: -35.625rem;
    padding-bottom: 12.5rem;
  }
}

.top-cases::before {
  content: "";
  position: absolute;
  top: 26.25rem;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #efefef;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .top-cases::before {
    top: 34.375rem;
  }
}

.top-cases__intro-container {
  display: grid;
  grid-template-columns: 740fr max(38.75rem, 500px);
  align-items: center;
  max-width: 85rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .top-cases__intro-container {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}

.top-cases__intro-info {
  display: grid;
  grid-template-columns: 1fr 13.75rem;
  gap: 1.25rem;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  .top-cases__intro-info {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 3.75rem;
  }
}

.top-cases__info {
  display: grid;
  grid-template-columns: 345fr 514fr;
  gap: clamp(1.25rem, -2.5rem + 4.17vw, 2.5rem); /* 20 ~ 40 | 1440 ~ 1920 */
  width: 100%;
  margin-top: -3.125rem;
}
@media screen and (max-width: 1440px) {
  .top-cases__info {
    grid-template-columns: 1fr;
    gap: 3.75rem;
    margin-top: -1.25rem;
  }
}

.top-cases__info-text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  line-height: 2;
  letter-spacing: 0.2em;
}

.top-cases__btn {
  width: 100%;
  max-width: max(13.75rem, 180px);
}
@media screen and (max-width: 1440px) {
  .top-cases__btn {
    margin-inline: auto;
  }
}

.top-company {
  position: relative;
  padding-bottom: 46.875rem;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .top-company {
    padding-bottom: 35.625rem;
    padding-bottom: 45rem;
  }
}

.top-company__group.top-company__group-02 {
  margin-top: 34.375rem;
}
@media screen and (max-width: 768px) {
  .top-company__group.top-company__group-02 {
    margin-top: 11.25rem;
  }
}

@media screen and (max-width: 768px) {
  .top-company__inner.inner {
    max-width: 33.75rem;
  }
}

.top-company__message {
  padding-top: 10rem;
}

.top-company__logo {
  max-width: 15.0625rem;
  width: 100%;
  margin-inline: auto;
}

.top-company__message-wrapper {
  margin-top: 5.625rem;
  width: max-content;
  margin-inline: auto;
}

.top-company__message-main {
  font-size: 1.875rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.5333333333;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .top-company__message-main {
    font-size: 1.5rem;
  }
}

.top-company__bg-inner::after {
  content: "";
  position: absolute;
  top: 52.7%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../../assets/images/top/deco-slash-02.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100vw;
  aspect-ratio: 1920/740;
  z-index: 2;
}

.top-company__message-sub {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.13em;
  text-align: center;
  margin-top: 1.25rem;
}

.top-company__container {
  display: grid;
  grid-template-columns: max(31.25rem, 300px) 1fr;
  gap: clamp(5rem, -6.25rem + 12.5vw, 8.75rem); /* 80 ~ 140 | 1440 ~ 1920 */
}
@media screen and (max-width: 768px) {
  .top-company__container {
    grid-template-columns: 1fr;
  }
}

/* Safariのみの指定 */
_::-webkit-full-page-media,
_:future,
:root .top-company__container {
  gap: clamp(5rem, -11.875rem + 18.75vw, 10.625rem); /* 80 ~ 170 | 1440 ~ 1920 */
}

.top-company__text-wrapper {
  margin-top: 4.0625rem;
}

.top-company__text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  line-height: 2;
  letter-spacing: 0.2em;
}

.top-company__text:nth-child(n+2) {
  margin-top: 1.75rem;
}

.top-company__info-btn {
  margin-top: 3.4375rem;
}
@media screen and (max-width: 768px) {
  .top-company__info-btn {
    text-align: center;
  }
}

.top-company__img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .top-company__img {
    margin-top: 3.125rem;
  }
}

.top-company__img img {
  object-fit: cover;
  aspect-ratio: 720/540;
  border-radius: 0.25rem;
}

.top-company__btn-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .top-company__btn-items {
    grid-template-columns: repeat(1, 1fr);
    max-width: 21.875rem;
    width: 100%;
    margin-inline: auto;
  }
}

.top-company__btn-item {
  width: 100%;
}

.top-company__btn-item-link {
  position: relative;
  display: block;
  padding: 0.9375rem 0.875rem;
  border-radius: 0.25rem;
  border: 1px solid #ffffff;
  background-color: rgba(0, 0, 0, 0.6);
  filter: drop-shadow(0.375rem 0.1875rem 0.375rem rgba(0, 0, 0, 0.16));
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .top-company__btn-item-link:hover {
    background-color: rgba(57, 57, 57, 0.4);
  }
}
.top-company__btn-item-link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transform: translateY(-50%);
  width: 100%;
  mask-image: url(../../assets/images/common/icon-ellipsis.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #ffffff;
  width: 1.25rem;
  aspect-ratio: 20/4;
  transition: all 0.3s;
  z-index: 0;
}

.top-company__btn-title-ja {
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .top-company__btn-title-ja {
    font-size: max(1rem, 12px);
  }
}

.top-company__btn-title-en {
  font-size: 10px;
  font-family: "Figtree", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 0.5rem;
}

.top-company__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  z-index: -1;
  overflow: hidden;
  will-change: filter;
}

.top-company__bg-inner {
  position: relative;
  width: 100%;
  height: 100%;
  /* JavaScriptからブラーと明るさを調整 */
  --blur: 0px;
  --brightness: 100%;
}

.top-company__bg-inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
  min-height: 100lvh;
  backdrop-filter: blur(var(--blur)) brightness(var(--brightness));
  z-index: 2;
}

.top-company__bg-img {
  width: 100%;
  height: 100lvh;
  min-height: 100lvh;
  object-fit: cover;
}

.top-recruit {
  position: relative;
  background-color: #ffffff;
  padding-top: 12.5rem;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .top-recruit {
    padding-top: 6.25rem;
  }
}

@media screen and (max-width: 768px) {
  .top-recruit__inner.inner {
    max-width: 33.75rem;
  }
}

.top-recruit__intro-container {
  display: grid;
  grid-template-columns: 740fr max(38.75rem, 500px);
  align-items: center;
  max-width: 85rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .top-recruit__intro-container {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}

.top-recruit__intro-info {
  display: grid;
  grid-template-columns: 1fr 13.75rem;
  gap: 1.25rem;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  .top-recruit__intro-info {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 3.75rem;
  }
}

.top-recruit__info-text {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
}

.top-recruit__btn {
  width: 100%;
  max-width: max(13.75rem, 180px);
}
@media screen and (max-width: 1440px) {
  .top-recruit__btn {
    margin-inline: auto;
  }
}

.top-recruit__banner {
  width: 100%;
  margin-top: 3.125rem;
}

.water__inner.inner {
  padding-left: 3.75rem;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .water__inner.inner {
    max-width: 33.75rem;
    padding-inline: 1.25rem;
  }
}

.water__container {
  margin-top: 3.75rem;
}

.water__wrapper {
  display: grid;
  grid-template-columns: 800fr 420fr;
  gap: clamp(2.5rem, -5rem + 8.33vw, 5rem); /* 40 ~ 80 | 1440 ~ 1920 */
  padding-left: 3.75rem;
  border-top: 1px dotted #222222;
  padding-top: 5rem;
}
@media screen and (max-width: 1440px) {
  .water__wrapper {
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .water__wrapper {
    gap: 2.5rem;
    grid-template-columns: 1fr;
    padding-top: 3.125rem;
  }
}

.water__heading {
  position: relative;
  font-size: 1.75rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #222222;
  line-height: 1.3;
  letter-spacing: 0.2em;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #b5b5b5;
}
@media screen and (max-width: 768px) {
  .water__heading {
    font-size: 1.5rem;
  }
}

.water__heading::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.25rem;
  height: 1px;
  background-color: #222222;
}

.water__text-01 {
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.2em;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .water__text-01 {
    font-size: 1.25rem;
  }
}

.water__text-02 {
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.2em;
  margin-top: 1.25rem;
}

.water__info-wrapper {
  margin-top: 3.75rem;
}
@media screen and (max-width: 1440px) {
  .water__info-wrapper {
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .water__info-wrapper {
    margin-top: 2.5rem;
    padding-left: 0;
  }
}

@media screen and (max-width: 1440px) {
  .water__info-wrapper.water__info-wrapper-01 {
    display: none;
  }
}

.water__info-wrapper.water__info-wrapper-02 {
  display: none;
}
@media screen and (max-width: 1440px) {
  .water__info-wrapper.water__info-wrapper-02 {
    display: block;
  }
}

.water__info-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  padding: 1.875rem;
  background-color: #efefef;
  border-radius: 0.25rem;
}
@media screen and (max-width: 960px) {
  .water__info-items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .water__info-items {
    grid-template-columns: repeat(1, 1fr);
    padding: 1.25rem;
  }
}

.water__info-item {
  position: relative;
  font-size: max(0.875rem, 12px);
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.1em;
  padding-left: 1.25rem;
}

.water__info-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85em;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 100vmax;
  background-color: #222222;
}

.water__img {
  width: 100%;
  max-width: 25rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .water__img {
    width: 90%;
  }
}

.water__img-01 {
  display: none;
}
@media screen and (max-width: 768px) {
  .water__img-01 {
    display: block;
    margin-top: 3.75rem;
  }
}

@media screen and (max-width: 768px) {
  .water__img-02 {
    display: none;
  }
}

.water__img img {
  aspect-ratio: 420/560;
  object-fit: cover;
  border-radius: 0.25rem;
}

.l-lower {
  margin-top: 11.875rem;
}
@media screen and (max-width: 768px) {
  .l-lower {
    margin-top: 6.25rem;
  }
}

/* ------------------------ */
/* 固有のフォント設定 */
/* 共通パーツで設定すると不便な場合、こちらに設定する */
/* ------------------------ */
/* ---------- 2行目から先頭1文字開けて表示される（※、・が先頭に記載されているときに使用） ここから ---------- */
.text-wrap {
  padding-left: 1em;
  text-indent: -1em;
}

/* ---------- 2行目から先頭1文字開けて表示される（※、・が先頭に記載されているときに使用） ここまで ---------- */
/* ------------------------ */
/* 改行用、SP・PC非表示用の設定 */
/* ------------------------ */
/* ---------- 改行用 | ここから ---------- */
@media screen and (max-width: 1800px) {
  .br-1800 {
    display: none;
  }
}

/* ---------- 改行用 | ここまで ---------- */
/* ---------- 表示・非表示 〜 more：以上、less：以下 | ここから ---------- */
/* PCのとき非表示 */
.br-sp,
.pc-none {
  display: none;
}
@media screen and (max-width: 768px) {
  .br-sp,
  .pc-none {
    display: block;
  }
}

/* SPのとき非表示 */
@media screen and (max-width: 768px) {
  .br-pc,
  .sp-none {
    display: none;
  }
}

/* ---------- 表示・非表示 〜 more：以上、less：以下 | ここまで ---------- */
/* ---------- margin-topの設定 | ここから ---------- */
.mt-pc-1 {
  margin-top: 0.0625rem;
}

.mt-pc-2 {
  margin-top: 0.125rem;
}

.mt-pc-3 {
  margin-top: 0.1875rem;
}

.mt-pc-4 {
  margin-top: 0.25rem;
}

.mt-pc-5 {
  margin-top: 0.3125rem;
}

.mt-pc-6 {
  margin-top: 0.375rem;
}

.mt-pc-7 {
  margin-top: 0.4375rem;
}

.mt-pc-8 {
  margin-top: 0.5rem;
}

.mt-pc-9 {
  margin-top: 0.5625rem;
}

.mt-pc-10 {
  margin-top: 0.625rem;
}

.mt-pc-11 {
  margin-top: 0.6875rem;
}

.mt-pc-12 {
  margin-top: 0.75rem;
}

.mt-pc-13 {
  margin-top: 0.8125rem;
}

.mt-pc-14 {
  margin-top: 0.875rem;
}

.mt-pc-15 {
  margin-top: 0.9375rem;
}

.mt-pc-16 {
  margin-top: 1rem;
}

.mt-pc-17 {
  margin-top: 1.0625rem;
}

.mt-pc-18 {
  margin-top: 1.125rem;
}

.mt-pc-19 {
  margin-top: 1.1875rem;
}

.mt-pc-20 {
  margin-top: 1.25rem;
}

.mt-pc-21 {
  margin-top: 1.3125rem;
}

.mt-pc-22 {
  margin-top: 1.375rem;
}

.mt-pc-23 {
  margin-top: 1.4375rem;
}

.mt-pc-24 {
  margin-top: 1.5rem;
}

.mt-pc-25 {
  margin-top: 1.5625rem;
}

.mt-pc-26 {
  margin-top: 1.625rem;
}

.mt-pc-27 {
  margin-top: 1.6875rem;
}

.mt-pc-28 {
  margin-top: 1.75rem;
}

.mt-pc-29 {
  margin-top: 1.8125rem;
}

.mt-pc-30 {
  margin-top: 1.875rem;
}

.mt-pc-31 {
  margin-top: 1.9375rem;
}

.mt-pc-32 {
  margin-top: 2rem;
}

.mt-pc-33 {
  margin-top: 2.0625rem;
}

.mt-pc-34 {
  margin-top: 2.125rem;
}

.mt-pc-35 {
  margin-top: 2.1875rem;
}

.mt-pc-36 {
  margin-top: 2.25rem;
}

.mt-pc-37 {
  margin-top: 2.3125rem;
}

.mt-pc-38 {
  margin-top: 2.375rem;
}

.mt-pc-39 {
  margin-top: 2.4375rem;
}

.mt-pc-40 {
  margin-top: 2.5rem;
}

.mt-pc-41 {
  margin-top: 2.5625rem;
}

.mt-pc-42 {
  margin-top: 2.625rem;
}

.mt-pc-43 {
  margin-top: 2.6875rem;
}

.mt-pc-44 {
  margin-top: 2.75rem;
}

.mt-pc-45 {
  margin-top: 2.8125rem;
}

.mt-pc-46 {
  margin-top: 2.875rem;
}

.mt-pc-47 {
  margin-top: 2.9375rem;
}

.mt-pc-48 {
  margin-top: 3rem;
}

.mt-pc-49 {
  margin-top: 3.0625rem;
}

.mt-pc-50 {
  margin-top: 3.125rem;
}

.mt-pc-51 {
  margin-top: 3.1875rem;
}

.mt-pc-52 {
  margin-top: 3.25rem;
}

.mt-pc-53 {
  margin-top: 3.3125rem;
}

.mt-pc-54 {
  margin-top: 3.375rem;
}

.mt-pc-55 {
  margin-top: 3.4375rem;
}

.mt-pc-56 {
  margin-top: 3.5rem;
}

.mt-pc-57 {
  margin-top: 3.5625rem;
}

.mt-pc-58 {
  margin-top: 3.625rem;
}

.mt-pc-59 {
  margin-top: 3.6875rem;
}

.mt-pc-60 {
  margin-top: 3.75rem;
}

.mt-pc-61 {
  margin-top: 3.8125rem;
}

.mt-pc-62 {
  margin-top: 3.875rem;
}

.mt-pc-63 {
  margin-top: 3.9375rem;
}

.mt-pc-64 {
  margin-top: 4rem;
}

.mt-pc-65 {
  margin-top: 4.0625rem;
}

.mt-pc-66 {
  margin-top: 4.125rem;
}

.mt-pc-67 {
  margin-top: 4.1875rem;
}

.mt-pc-68 {
  margin-top: 4.25rem;
}

.mt-pc-69 {
  margin-top: 4.3125rem;
}

.mt-pc-70 {
  margin-top: 4.375rem;
}

.mt-pc-71 {
  margin-top: 4.4375rem;
}

.mt-pc-72 {
  margin-top: 4.5rem;
}

.mt-pc-73 {
  margin-top: 4.5625rem;
}

.mt-pc-74 {
  margin-top: 4.625rem;
}

.mt-pc-75 {
  margin-top: 4.6875rem;
}

.mt-pc-76 {
  margin-top: 4.75rem;
}

.mt-pc-77 {
  margin-top: 4.8125rem;
}

.mt-pc-78 {
  margin-top: 4.875rem;
}

.mt-pc-79 {
  margin-top: 4.9375rem;
}

.mt-pc-80 {
  margin-top: 5rem;
}

.mt-pc-81 {
  margin-top: 5.0625rem;
}

.mt-pc-82 {
  margin-top: 5.125rem;
}

.mt-pc-83 {
  margin-top: 5.1875rem;
}

.mt-pc-84 {
  margin-top: 5.25rem;
}

.mt-pc-85 {
  margin-top: 5.3125rem;
}

.mt-pc-86 {
  margin-top: 5.375rem;
}

.mt-pc-87 {
  margin-top: 5.4375rem;
}

.mt-pc-88 {
  margin-top: 5.5rem;
}

.mt-pc-89 {
  margin-top: 5.5625rem;
}

.mt-pc-90 {
  margin-top: 5.625rem;
}

.mt-pc-91 {
  margin-top: 5.6875rem;
}

.mt-pc-92 {
  margin-top: 5.75rem;
}

.mt-pc-93 {
  margin-top: 5.8125rem;
}

.mt-pc-94 {
  margin-top: 5.875rem;
}

.mt-pc-95 {
  margin-top: 5.9375rem;
}

.mt-pc-96 {
  margin-top: 6rem;
}

.mt-pc-97 {
  margin-top: 6.0625rem;
}

.mt-pc-98 {
  margin-top: 6.125rem;
}

.mt-pc-99 {
  margin-top: 6.1875rem;
}

.mt-pc-100 {
  margin-top: 6.25rem;
}

.mt-pc-101 {
  margin-top: 6.3125rem;
}

.mt-pc-102 {
  margin-top: 6.375rem;
}

.mt-pc-103 {
  margin-top: 6.4375rem;
}

.mt-pc-104 {
  margin-top: 6.5rem;
}

.mt-pc-105 {
  margin-top: 6.5625rem;
}

.mt-pc-106 {
  margin-top: 6.625rem;
}

.mt-pc-107 {
  margin-top: 6.6875rem;
}

.mt-pc-108 {
  margin-top: 6.75rem;
}

.mt-pc-109 {
  margin-top: 6.8125rem;
}

.mt-pc-110 {
  margin-top: 6.875rem;
}

.mt-pc-111 {
  margin-top: 6.9375rem;
}

.mt-pc-112 {
  margin-top: 7rem;
}

.mt-pc-113 {
  margin-top: 7.0625rem;
}

.mt-pc-114 {
  margin-top: 7.125rem;
}

.mt-pc-115 {
  margin-top: 7.1875rem;
}

.mt-pc-116 {
  margin-top: 7.25rem;
}

.mt-pc-117 {
  margin-top: 7.3125rem;
}

.mt-pc-118 {
  margin-top: 7.375rem;
}

.mt-pc-119 {
  margin-top: 7.4375rem;
}

.mt-pc-120 {
  margin-top: 7.5rem;
}

.mt-pc-121 {
  margin-top: 7.5625rem;
}

.mt-pc-122 {
  margin-top: 7.625rem;
}

.mt-pc-123 {
  margin-top: 7.6875rem;
}

.mt-pc-124 {
  margin-top: 7.75rem;
}

.mt-pc-125 {
  margin-top: 7.8125rem;
}

.mt-pc-126 {
  margin-top: 7.875rem;
}

.mt-pc-127 {
  margin-top: 7.9375rem;
}

.mt-pc-128 {
  margin-top: 8rem;
}

.mt-pc-129 {
  margin-top: 8.0625rem;
}

.mt-pc-130 {
  margin-top: 8.125rem;
}

.mt-pc-131 {
  margin-top: 8.1875rem;
}

.mt-pc-132 {
  margin-top: 8.25rem;
}

.mt-pc-133 {
  margin-top: 8.3125rem;
}

.mt-pc-134 {
  margin-top: 8.375rem;
}

.mt-pc-135 {
  margin-top: 8.4375rem;
}

.mt-pc-136 {
  margin-top: 8.5rem;
}

.mt-pc-137 {
  margin-top: 8.5625rem;
}

.mt-pc-138 {
  margin-top: 8.625rem;
}

.mt-pc-139 {
  margin-top: 8.6875rem;
}

.mt-pc-140 {
  margin-top: 8.75rem;
}

.mt-pc-141 {
  margin-top: 8.8125rem;
}

.mt-pc-142 {
  margin-top: 8.875rem;
}

.mt-pc-143 {
  margin-top: 8.9375rem;
}

.mt-pc-144 {
  margin-top: 9rem;
}

.mt-pc-145 {
  margin-top: 9.0625rem;
}

.mt-pc-146 {
  margin-top: 9.125rem;
}

.mt-pc-147 {
  margin-top: 9.1875rem;
}

.mt-pc-148 {
  margin-top: 9.25rem;
}

.mt-pc-149 {
  margin-top: 9.3125rem;
}

.mt-pc-150 {
  margin-top: 9.375rem;
}

.mt-pc-151 {
  margin-top: 9.4375rem;
}

.mt-pc-152 {
  margin-top: 9.5rem;
}

.mt-pc-153 {
  margin-top: 9.5625rem;
}

.mt-pc-154 {
  margin-top: 9.625rem;
}

.mt-pc-155 {
  margin-top: 9.6875rem;
}

.mt-pc-156 {
  margin-top: 9.75rem;
}

.mt-pc-157 {
  margin-top: 9.8125rem;
}

.mt-pc-158 {
  margin-top: 9.875rem;
}

.mt-pc-159 {
  margin-top: 9.9375rem;
}

.mt-pc-160 {
  margin-top: 10rem;
}

.mt-pc-161 {
  margin-top: 10.0625rem;
}

.mt-pc-162 {
  margin-top: 10.125rem;
}

.mt-pc-163 {
  margin-top: 10.1875rem;
}

.mt-pc-164 {
  margin-top: 10.25rem;
}

.mt-pc-165 {
  margin-top: 10.3125rem;
}

.mt-pc-166 {
  margin-top: 10.375rem;
}

.mt-pc-167 {
  margin-top: 10.4375rem;
}

.mt-pc-168 {
  margin-top: 10.5rem;
}

.mt-pc-169 {
  margin-top: 10.5625rem;
}

.mt-pc-170 {
  margin-top: 10.625rem;
}

.mt-pc-171 {
  margin-top: 10.6875rem;
}

.mt-pc-172 {
  margin-top: 10.75rem;
}

.mt-pc-173 {
  margin-top: 10.8125rem;
}

.mt-pc-174 {
  margin-top: 10.875rem;
}

.mt-pc-175 {
  margin-top: 10.9375rem;
}

.mt-pc-176 {
  margin-top: 11rem;
}

.mt-pc-177 {
  margin-top: 11.0625rem;
}

.mt-pc-178 {
  margin-top: 11.125rem;
}

.mt-pc-179 {
  margin-top: 11.1875rem;
}

.mt-pc-180 {
  margin-top: 11.25rem;
}

.mt-pc-181 {
  margin-top: 11.3125rem;
}

.mt-pc-182 {
  margin-top: 11.375rem;
}

.mt-pc-183 {
  margin-top: 11.4375rem;
}

.mt-pc-184 {
  margin-top: 11.5rem;
}

.mt-pc-185 {
  margin-top: 11.5625rem;
}

.mt-pc-186 {
  margin-top: 11.625rem;
}

.mt-pc-187 {
  margin-top: 11.6875rem;
}

.mt-pc-188 {
  margin-top: 11.75rem;
}

.mt-pc-189 {
  margin-top: 11.8125rem;
}

.mt-pc-190 {
  margin-top: 11.875rem;
}

.mt-pc-191 {
  margin-top: 11.9375rem;
}

.mt-pc-192 {
  margin-top: 12rem;
}

.mt-pc-193 {
  margin-top: 12.0625rem;
}

.mt-pc-194 {
  margin-top: 12.125rem;
}

.mt-pc-195 {
  margin-top: 12.1875rem;
}

.mt-pc-196 {
  margin-top: 12.25rem;
}

.mt-pc-197 {
  margin-top: 12.3125rem;
}

.mt-pc-198 {
  margin-top: 12.375rem;
}

.mt-pc-199 {
  margin-top: 12.4375rem;
}

.mt-pc-200 {
  margin-top: 12.5rem;
}

@media screen and (max-width: 768px) {
  .mt-sp-1 {
    margin-top: 0.0625rem;
  }
  .mt-sp-2 {
    margin-top: 0.125rem;
  }
  .mt-sp-3 {
    margin-top: 0.1875rem;
  }
  .mt-sp-4 {
    margin-top: 0.25rem;
  }
  .mt-sp-5 {
    margin-top: 0.3125rem;
  }
  .mt-sp-6 {
    margin-top: 0.375rem;
  }
  .mt-sp-7 {
    margin-top: 0.4375rem;
  }
  .mt-sp-8 {
    margin-top: 0.5rem;
  }
  .mt-sp-9 {
    margin-top: 0.5625rem;
  }
  .mt-sp-10 {
    margin-top: 0.625rem;
  }
  .mt-sp-11 {
    margin-top: 0.6875rem;
  }
  .mt-sp-12 {
    margin-top: 0.75rem;
  }
  .mt-sp-13 {
    margin-top: 0.8125rem;
  }
  .mt-sp-14 {
    margin-top: 0.875rem;
  }
  .mt-sp-15 {
    margin-top: 0.9375rem;
  }
  .mt-sp-16 {
    margin-top: 1rem;
  }
  .mt-sp-17 {
    margin-top: 1.0625rem;
  }
  .mt-sp-18 {
    margin-top: 1.125rem;
  }
  .mt-sp-19 {
    margin-top: 1.1875rem;
  }
  .mt-sp-20 {
    margin-top: 1.25rem;
  }
  .mt-sp-21 {
    margin-top: 1.3125rem;
  }
  .mt-sp-22 {
    margin-top: 1.375rem;
  }
  .mt-sp-23 {
    margin-top: 1.4375rem;
  }
  .mt-sp-24 {
    margin-top: 1.5rem;
  }
  .mt-sp-25 {
    margin-top: 1.5625rem;
  }
  .mt-sp-26 {
    margin-top: 1.625rem;
  }
  .mt-sp-27 {
    margin-top: 1.6875rem;
  }
  .mt-sp-28 {
    margin-top: 1.75rem;
  }
  .mt-sp-29 {
    margin-top: 1.8125rem;
  }
  .mt-sp-30 {
    margin-top: 1.875rem;
  }
  .mt-sp-31 {
    margin-top: 1.9375rem;
  }
  .mt-sp-32 {
    margin-top: 2rem;
  }
  .mt-sp-33 {
    margin-top: 2.0625rem;
  }
  .mt-sp-34 {
    margin-top: 2.125rem;
  }
  .mt-sp-35 {
    margin-top: 2.1875rem;
  }
  .mt-sp-36 {
    margin-top: 2.25rem;
  }
  .mt-sp-37 {
    margin-top: 2.3125rem;
  }
  .mt-sp-38 {
    margin-top: 2.375rem;
  }
  .mt-sp-39 {
    margin-top: 2.4375rem;
  }
  .mt-sp-40 {
    margin-top: 2.5rem;
  }
  .mt-sp-41 {
    margin-top: 2.5625rem;
  }
  .mt-sp-42 {
    margin-top: 2.625rem;
  }
  .mt-sp-43 {
    margin-top: 2.6875rem;
  }
  .mt-sp-44 {
    margin-top: 2.75rem;
  }
  .mt-sp-45 {
    margin-top: 2.8125rem;
  }
  .mt-sp-46 {
    margin-top: 2.875rem;
  }
  .mt-sp-47 {
    margin-top: 2.9375rem;
  }
  .mt-sp-48 {
    margin-top: 3rem;
  }
  .mt-sp-49 {
    margin-top: 3.0625rem;
  }
  .mt-sp-50 {
    margin-top: 3.125rem;
  }
  .mt-sp-51 {
    margin-top: 3.1875rem;
  }
  .mt-sp-52 {
    margin-top: 3.25rem;
  }
  .mt-sp-53 {
    margin-top: 3.3125rem;
  }
  .mt-sp-54 {
    margin-top: 3.375rem;
  }
  .mt-sp-55 {
    margin-top: 3.4375rem;
  }
  .mt-sp-56 {
    margin-top: 3.5rem;
  }
  .mt-sp-57 {
    margin-top: 3.5625rem;
  }
  .mt-sp-58 {
    margin-top: 3.625rem;
  }
  .mt-sp-59 {
    margin-top: 3.6875rem;
  }
  .mt-sp-60 {
    margin-top: 3.75rem;
  }
  .mt-sp-61 {
    margin-top: 3.8125rem;
  }
  .mt-sp-62 {
    margin-top: 3.875rem;
  }
  .mt-sp-63 {
    margin-top: 3.9375rem;
  }
  .mt-sp-64 {
    margin-top: 4rem;
  }
  .mt-sp-65 {
    margin-top: 4.0625rem;
  }
  .mt-sp-66 {
    margin-top: 4.125rem;
  }
  .mt-sp-67 {
    margin-top: 4.1875rem;
  }
  .mt-sp-68 {
    margin-top: 4.25rem;
  }
  .mt-sp-69 {
    margin-top: 4.3125rem;
  }
  .mt-sp-70 {
    margin-top: 4.375rem;
  }
  .mt-sp-71 {
    margin-top: 4.4375rem;
  }
  .mt-sp-72 {
    margin-top: 4.5rem;
  }
  .mt-sp-73 {
    margin-top: 4.5625rem;
  }
  .mt-sp-74 {
    margin-top: 4.625rem;
  }
  .mt-sp-75 {
    margin-top: 4.6875rem;
  }
  .mt-sp-76 {
    margin-top: 4.75rem;
  }
  .mt-sp-77 {
    margin-top: 4.8125rem;
  }
  .mt-sp-78 {
    margin-top: 4.875rem;
  }
  .mt-sp-79 {
    margin-top: 4.9375rem;
  }
  .mt-sp-80 {
    margin-top: 5rem;
  }
  .mt-sp-81 {
    margin-top: 5.0625rem;
  }
  .mt-sp-82 {
    margin-top: 5.125rem;
  }
  .mt-sp-83 {
    margin-top: 5.1875rem;
  }
  .mt-sp-84 {
    margin-top: 5.25rem;
  }
  .mt-sp-85 {
    margin-top: 5.3125rem;
  }
  .mt-sp-86 {
    margin-top: 5.375rem;
  }
  .mt-sp-87 {
    margin-top: 5.4375rem;
  }
  .mt-sp-88 {
    margin-top: 5.5rem;
  }
  .mt-sp-89 {
    margin-top: 5.5625rem;
  }
  .mt-sp-90 {
    margin-top: 5.625rem;
  }
  .mt-sp-91 {
    margin-top: 5.6875rem;
  }
  .mt-sp-92 {
    margin-top: 5.75rem;
  }
  .mt-sp-93 {
    margin-top: 5.8125rem;
  }
  .mt-sp-94 {
    margin-top: 5.875rem;
  }
  .mt-sp-95 {
    margin-top: 5.9375rem;
  }
  .mt-sp-96 {
    margin-top: 6rem;
  }
  .mt-sp-97 {
    margin-top: 6.0625rem;
  }
  .mt-sp-98 {
    margin-top: 6.125rem;
  }
  .mt-sp-99 {
    margin-top: 6.1875rem;
  }
  .mt-sp-100 {
    margin-top: 6.25rem;
  }
  .mt-sp-101 {
    margin-top: 6.3125rem;
  }
  .mt-sp-102 {
    margin-top: 6.375rem;
  }
  .mt-sp-103 {
    margin-top: 6.4375rem;
  }
  .mt-sp-104 {
    margin-top: 6.5rem;
  }
  .mt-sp-105 {
    margin-top: 6.5625rem;
  }
  .mt-sp-106 {
    margin-top: 6.625rem;
  }
  .mt-sp-107 {
    margin-top: 6.6875rem;
  }
  .mt-sp-108 {
    margin-top: 6.75rem;
  }
  .mt-sp-109 {
    margin-top: 6.8125rem;
  }
  .mt-sp-110 {
    margin-top: 6.875rem;
  }
  .mt-sp-111 {
    margin-top: 6.9375rem;
  }
  .mt-sp-112 {
    margin-top: 7rem;
  }
  .mt-sp-113 {
    margin-top: 7.0625rem;
  }
  .mt-sp-114 {
    margin-top: 7.125rem;
  }
  .mt-sp-115 {
    margin-top: 7.1875rem;
  }
  .mt-sp-116 {
    margin-top: 7.25rem;
  }
  .mt-sp-117 {
    margin-top: 7.3125rem;
  }
  .mt-sp-118 {
    margin-top: 7.375rem;
  }
  .mt-sp-119 {
    margin-top: 7.4375rem;
  }
  .mt-sp-120 {
    margin-top: 7.5rem;
  }
  .mt-sp-121 {
    margin-top: 7.5625rem;
  }
  .mt-sp-122 {
    margin-top: 7.625rem;
  }
  .mt-sp-123 {
    margin-top: 7.6875rem;
  }
  .mt-sp-124 {
    margin-top: 7.75rem;
  }
  .mt-sp-125 {
    margin-top: 7.8125rem;
  }
  .mt-sp-126 {
    margin-top: 7.875rem;
  }
  .mt-sp-127 {
    margin-top: 7.9375rem;
  }
  .mt-sp-128 {
    margin-top: 8rem;
  }
  .mt-sp-129 {
    margin-top: 8.0625rem;
  }
  .mt-sp-130 {
    margin-top: 8.125rem;
  }
  .mt-sp-131 {
    margin-top: 8.1875rem;
  }
  .mt-sp-132 {
    margin-top: 8.25rem;
  }
  .mt-sp-133 {
    margin-top: 8.3125rem;
  }
  .mt-sp-134 {
    margin-top: 8.375rem;
  }
  .mt-sp-135 {
    margin-top: 8.4375rem;
  }
  .mt-sp-136 {
    margin-top: 8.5rem;
  }
  .mt-sp-137 {
    margin-top: 8.5625rem;
  }
  .mt-sp-138 {
    margin-top: 8.625rem;
  }
  .mt-sp-139 {
    margin-top: 8.6875rem;
  }
  .mt-sp-140 {
    margin-top: 8.75rem;
  }
  .mt-sp-141 {
    margin-top: 8.8125rem;
  }
  .mt-sp-142 {
    margin-top: 8.875rem;
  }
  .mt-sp-143 {
    margin-top: 8.9375rem;
  }
  .mt-sp-144 {
    margin-top: 9rem;
  }
  .mt-sp-145 {
    margin-top: 9.0625rem;
  }
  .mt-sp-146 {
    margin-top: 9.125rem;
  }
  .mt-sp-147 {
    margin-top: 9.1875rem;
  }
  .mt-sp-148 {
    margin-top: 9.25rem;
  }
  .mt-sp-149 {
    margin-top: 9.3125rem;
  }
  .mt-sp-150 {
    margin-top: 9.375rem;
  }
  .mt-sp-151 {
    margin-top: 9.4375rem;
  }
  .mt-sp-152 {
    margin-top: 9.5rem;
  }
  .mt-sp-153 {
    margin-top: 9.5625rem;
  }
  .mt-sp-154 {
    margin-top: 9.625rem;
  }
  .mt-sp-155 {
    margin-top: 9.6875rem;
  }
  .mt-sp-156 {
    margin-top: 9.75rem;
  }
  .mt-sp-157 {
    margin-top: 9.8125rem;
  }
  .mt-sp-158 {
    margin-top: 9.875rem;
  }
  .mt-sp-159 {
    margin-top: 9.9375rem;
  }
  .mt-sp-160 {
    margin-top: 10rem;
  }
  .mt-sp-161 {
    margin-top: 10.0625rem;
  }
  .mt-sp-162 {
    margin-top: 10.125rem;
  }
  .mt-sp-163 {
    margin-top: 10.1875rem;
  }
  .mt-sp-164 {
    margin-top: 10.25rem;
  }
  .mt-sp-165 {
    margin-top: 10.3125rem;
  }
  .mt-sp-166 {
    margin-top: 10.375rem;
  }
  .mt-sp-167 {
    margin-top: 10.4375rem;
  }
  .mt-sp-168 {
    margin-top: 10.5rem;
  }
  .mt-sp-169 {
    margin-top: 10.5625rem;
  }
  .mt-sp-170 {
    margin-top: 10.625rem;
  }
  .mt-sp-171 {
    margin-top: 10.6875rem;
  }
  .mt-sp-172 {
    margin-top: 10.75rem;
  }
  .mt-sp-173 {
    margin-top: 10.8125rem;
  }
  .mt-sp-174 {
    margin-top: 10.875rem;
  }
  .mt-sp-175 {
    margin-top: 10.9375rem;
  }
  .mt-sp-176 {
    margin-top: 11rem;
  }
  .mt-sp-177 {
    margin-top: 11.0625rem;
  }
  .mt-sp-178 {
    margin-top: 11.125rem;
  }
  .mt-sp-179 {
    margin-top: 11.1875rem;
  }
  .mt-sp-180 {
    margin-top: 11.25rem;
  }
  .mt-sp-181 {
    margin-top: 11.3125rem;
  }
  .mt-sp-182 {
    margin-top: 11.375rem;
  }
  .mt-sp-183 {
    margin-top: 11.4375rem;
  }
  .mt-sp-184 {
    margin-top: 11.5rem;
  }
  .mt-sp-185 {
    margin-top: 11.5625rem;
  }
  .mt-sp-186 {
    margin-top: 11.625rem;
  }
  .mt-sp-187 {
    margin-top: 11.6875rem;
  }
  .mt-sp-188 {
    margin-top: 11.75rem;
  }
  .mt-sp-189 {
    margin-top: 11.8125rem;
  }
  .mt-sp-190 {
    margin-top: 11.875rem;
  }
  .mt-sp-191 {
    margin-top: 11.9375rem;
  }
  .mt-sp-192 {
    margin-top: 12rem;
  }
  .mt-sp-193 {
    margin-top: 12.0625rem;
  }
  .mt-sp-194 {
    margin-top: 12.125rem;
  }
  .mt-sp-195 {
    margin-top: 12.1875rem;
  }
  .mt-sp-196 {
    margin-top: 12.25rem;
  }
  .mt-sp-197 {
    margin-top: 12.3125rem;
  }
  .mt-sp-198 {
    margin-top: 12.375rem;
  }
  .mt-sp-199 {
    margin-top: 12.4375rem;
  }
  .mt-sp-200 {
    margin-top: 12.5rem;
  }
}
/* ---------- margin-topの設定 | ここまで ---------- *//*# sourceMappingURL=style.css.map */