@charset "UTF-8";
/* ---------- ベースファイル | ここから ---------- */
html {
  font-size: 16px;
}
@media (max-width: 1440px) {
  html {
    font-size: 1.1111111111vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

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

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

a[href^=tel] {
  text-decoration: none;
}

a {
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}

a:hover {
  text-decoration: none;
}

:where(:any-link, button, [type=button], [type=reset], [type=submit], label[for], select, summary, [role=tab], [role=button]) {
  cursor: pointer;
  /*
  - :where() は詳細度（CSSの強さ）が 0 になるので、上書きしやすくするため指定
  - :any-link は a と area のリンクをまとめて指せる
  - label[for] はクリックで入力にフォーカスするので pointer は分かりやすい
  */
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:focus:not(:focus-visible) {
  outline: none;
}

:where(input, select, textarea):focus-visible {
  outline: none;
}

:where(input, select, textarea) {
  font-size: 1rem; /* = 16px */
}

/* ~~~~~ コンテンツ量が少なく短いページ（404、サンクスページなど）でもフッターを最下部に表示する ここから ~~~~~  */
/* HTMLの階層構造で適宜クラス名は変更する */
.content-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.content-wrap[data-theme=bg-gray]::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #efefef;
  z-index: -10;
}

.content-wrap[data-theme=black]::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #000000;
  z-index: -10;
}

.content-wrap__manga-img,
.content-wrap__movie-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0);
  z-index: -10;
}

.content-wrap__manga-img::before,
.content-wrap__movie-img::before {
  content: "";
  position: fixed;
  inset: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  z-index: -10;
}

.content-wrap__manga-img::before {
  background-image: url(../../assets/images/manga/bg-manga-pc.webp);
}
@media screen and (max-width: 767px) {
  .content-wrap__manga-img::before {
    background-image: url(../../assets/images/manga/bg-manga-sp.webp);
  }
}

.content-wrap__movie-img::before {
  background-image: url(../../assets/images/movie/bg-movie-pc.webp);
}
@media screen and (max-width: 767px) {
  .content-wrap__movie-img::before {
    background-image: url(../../assets/images/movie/bg-movie-sp.webp);
  }
}

main {
  flex: 1;
}

/* ~~~~~ コンテンツ量が少なく短いページ（404、サンクスページなど）でもフッターを最下部に表示する ここまで ~~~~~ */
iframe {
  border: none;
}

img {
  image-rendering: auto;
}

img,
video {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* ---------- ベースファイル | ここまで ---------- */
/* ---------- リセットCSS | ここから ---------- */
html {
  box-sizing: border-box;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  tab-size: 4;
  text-size-adjust: 100%;
}

*,
::before,
::after {
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
  box-sizing: border-box;
  background-repeat: no-repeat;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
     # General elements
     # ================================================================= */
hr {
  /* Show the overflow in Edge and IE */
  height: 0;
  overflow: visible;
  /* Add the correct box sizing in Firefox */
  color: inherit;
  /* Correct border color in Firefox. */
}

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

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

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

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

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

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

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

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0;
  border-color: inherit;
  /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

/* # =================================================================
     # Forms
     # ================================================================= */
input {
  border-radius: 0;
}

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

[type=search] {
  appearance: textfield;
  appearance: none;
  /* Correct the outline style in Safari */
}

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

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

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

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

button,
input,
select,
textarea {
  appearance: none;
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  appearance: none;
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentcolor;
  /* Internet Explorer 11+ */
}

legend {
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  border: 0;
  /* Correct the text wrapping in Edge 18- and IE */
}

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

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* # =================================================================
     # Specify media element style
     # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

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

/* # =================================================================
     # Accessibility
     # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
  cursor: default;
}

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

/* Remove default padding */
ul,
ol {
  padding: 0;
  list-style: none;
}

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

/* ---------- リセットCSS | ここまで ---------- */
.inner {
  width: 100%;
  max-width: 93.125rem;
  padding-right: 1.5625rem;
  padding-left: 1.5625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .inner {
    max-width: 32.5rem;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
}

.accordion::details-content {
  content-visibility: unset;
  display: block grid;
}
@media (prefers-reduced-motion: no-preference) {
  .accordion::details-content {
    transition-duration: 300ms;
    transition-property: grid-template-rows;
  }
}

.accordion:not([open])::details-content {
  grid-template-rows: 0fr;
}

.accordion[open]::details-content {
  grid-template-rows: 1fr;
}

summary {
  list-style: none;
}

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

/* ---------- 読み込み時のチラつき防止 | ここから ---------- */
.js-fade-op,
.js-fade-ops,
.js-fade-op-late,
.js-fadeIn-up-single,
.js-fadeIn-up-single02,
.js-pop-ups,
.js-pop-up,
.js-fadeIn-right,
.js-fadeIn-rights,
.js-fadeIn-ups,
.js-fadeIn-diagonal-single,
.js-fadeIn-diagonal-fv,
.js-mv-banner-fade,
.js-fv-fade-up,
.js-fv-fade-op,
.js-manga-pop {
  opacity: 0;
}

/* ---------- 読み込み時のチラつき防止 | ここまで ---------- */
/* ---------- 各セクションのマスクアニメーション（X軸方向） -------------------------- */
.js-mask,
.js-fv-mask,
.js-fv-mask-1s,
.js-mv-banner-mask,
.js-mask-late {
  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,
.js-fv-mask.is-open,
.js-fv-mask-1s.is-open,
.js-mv-banner-mask.is-open,
.js-mask-late.is-open {
  animation: mask 0.3s linear forwards;
}

@keyframes mask {
  0% {
    mask-position: 200% 0%;
  }
  100% {
    mask-position: 0% 0%;
  }
}
/* MVバナー: マスク完了後に mask を消し box-shadow を要素外に表示させる */
.js-mv-banner-mask.is-open {
  animation: mask 0.3s linear forwards, mv-banner-mask-end 0s linear 0.3s forwards;
}

@keyframes mv-banner-mask-end {
  to {
    mask-image: none;
  }
}
/* -------------------- テキストマスクエフェクト ------------------------- */
.js-text-mask,
.js-fv-text-mask,
.js-text-mask-single {
  position: relative;
  transform: translateY(1.25rem);
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  --translateX: 0px;
}

.js-text-mask::before,
.js-fv-text-mask::before,
.js-text-mask-single::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(var(--translateX));
}

.js-text-mask.js-text-mask-black::before,
.js-fv-text-mask.js-text-mask-black::before,
.js-text-mask-single.js-text-mask-black::before {
  background-color: #190000;
}

.js-text-mask.js-text-mask-white::before,
.js-fv-text-mask.js-text-mask-white::before,
.js-text-mask-single.js-text-mask-white::before {
  background-color: #ffffff;
}

.js-text-mask.js-text-mask-green::before,
.js-fv-text-mask.js-text-mask-green::before,
.js-text-mask-single.js-text-mask-green::before {
  background-color: var(--theme);
}

.js-text-mask.js-text-mask-current::before,
.js-fv-text-mask.js-text-mask-current::before,
.js-text-mask-single.js-text-mask-current::before {
  background-color: currentColor;
}

/* -------------------- prefers-reduced-motion ------------------------- */
@media (prefers-reduced-motion: reduce) {
  .js-fade-op,
  .js-fade-ops,
  .js-fade-op-late,
  .js-fadeIn-ups,
  .js-fadeIn-rights,
  .js-mask,
  .js-fv-mask,
  .js-fv-mask-1s,
  .js-mask-late,
  .js-mv-banner-fade,
  .js-mv-banner-mask,
  .js-fv-fade-up,
  .js-fv-fade-op,
  .js-manga-pop,
  .js-text-mask,
  .js-fv-text-mask,
  .js-text-mask-single {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    mask-image: none !important;
  }
  .js-text-mask::before,
  .js-fv-text-mask::before,
  .js-text-mask-single::before {
    display: none !important;
  }
}
.body-content {
  display: grid;
  grid-template-columns: 1fr 23.125rem;
  align-items: stretch;
  gap: 1.4375rem;
  width: 100%;
  padding-inline: 1.875rem;
  flex: 1;
  min-height: 0;
  overflow-x: clip;
}
@media screen and (max-width: 1440px) {
  .body-content {
    grid-template-columns: 1fr;
    padding-inline: 0;
  }
}

.body-content[data-theme=gray] {
  background-color: #efefef;
}

.body-content__main {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.breadcrumb__nav {
  width: 100%;
}

.breadcrumb__items {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 0.3125rem;
}

.breadcrumb__item,
.breadcrumb__items > li {
  display: inline-flex;
  align-items: center;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .breadcrumb__item,
  .breadcrumb__items > li {
    font-size: max(0.875rem, 12px);
  }
}

.breadcrumb__link {
  display: inline-flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .breadcrumb__link:hover {
    opacity: 0.6;
  }
}
.breadcrumb__item--home .breadcrumb__link,
.breadcrumb__items > .home .breadcrumb__link {
  gap: 0.625rem;
}

.breadcrumb__item--home .breadcrumb__link::before,
.breadcrumb__items > .home .breadcrumb__link::before {
  content: "";
  display: inline-block;
  mask-image: url(../images/common/icon-home.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #000000;
  width: 1.25rem;
  aspect-ratio: 1/1;
}

.breadcrumb__items > li:not(:last-of-type)::after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  aspect-ratio: 6/10;
  margin-inline: 0.875rem;
  mask-image: url("../../assets/images/common/icon-arrow-01.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #000000;
  flex-shrink: 0;
}

/* ----- ボタンタイプ共通設定 ここから ----- */
.btn {
  display: inline-block;
  transition: all 0.3s;
  cursor: pointer;
}

.btn__text {
  display: inline-block;
  transition: all 0.3s;
}

/* ----- ボタンタイプ共通設定 ここまで ----- */
/* ----- もっと見る ここから ----- */
.btn-01 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 15rem;
  width: 100%;
  padding-block: 0.625rem;
  padding-inline: 0.625rem;
  background-color: #ffffff;
  border: 1px solid #b5b5b5;
  border-radius: 100vmax;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  text-decoration: none;
  transition: all 0.3s;
}

@media screen and (max-width: 767px) {
  .btn-01.btn-01--top-movie {
    max-width: 11.25rem;
    font-size: max(1rem, 12px);
    padding-block: 0.5rem;
  }
}

.btn-01 .btn__icon {
  position: absolute;
  top: 50%;
  right: 0.9375rem;
  width: 0.5rem;
  aspect-ratio: 6/10;
  background-color: currentColor;
  mask-image: url("../../assets/images/common/icon-arrow-01.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transform: translateY(-50%);
}

@media (any-hover: hover) {
  .btn-01:hover {
    background-color: #000000;
    color: #ffffff;
  }
}
.btn-01:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* ----- もっと見る ここまで ----- */
/* ----- お問い合わせフォームへ ここから ----- */
.btn-02 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 18.75rem;
  width: 100%;
  padding-inline: 0.625rem;
  padding-block: 0.625rem;
  background-color: #ffffff;
  border: 1px solid #b5b5b5;
  border-radius: 100vmax;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-02 {
    max-width: 15.625rem;
    font-size: max(1rem, 12px);
  }
}

.btn-02::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.5rem;
  aspect-ratio: 6/10;
  background-color: currentColor;
  mask-image: url("../../assets/images/common/icon-arrow-01.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transform: translateY(-50%);
}

@media (any-hover: hover) {
  .btn-02:hover {
    background-color: #000000;
    color: #ffffff;
  }
}
.btn-02:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* ----- お問い合わせフォームへ ここまで ----- */
/* ----- ヘッダー内 お問い合わせ ここから ----- */
.btn-header {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: max(clamp(8.75rem, 4.99rem + 4.18vw, 10rem), 100px); /* 140 ~ 160 | 1441 ~ 1920 */
  min-width: 10rem;
  padding-block: 0.5625rem;
  background-color: #ffba00;
  border: 1px solid #000000;
  border-radius: 100vmax;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.16);
  text-decoration: none;
  transition: all 0.3s;
}

.btn-header__ja {
  display: block;
  font-size: 1rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  transition: all 0.3s;
}

.btn-header__en {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.625rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  text-transform: uppercase;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .btn-header:hover {
    background-color: #000000;
  }
  .btn-header:hover .btn-header__ja,
  .btn-header:hover .btn-header__en {
    color: #ffba00;
  }
}
/* ----- ヘッダー内 お問い合わせ ここまで ----- */
/* ----- お問い合わせ送信ボタン ここから ----- */
.btn-submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 31.25rem;
  width: 100%;
  min-height: 3.75rem;
  background-color: #000000;
  border: 2px solid #000000;
  border-radius: 2.25rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-submit {
    max-width: 21.875rem;
    min-height: 3.5rem;
    border-width: 1px;
  }
}

.btn-submit__icon {
  position: absolute;
  top: 50%;
  left: 0.375rem;
  width: 3rem;
  aspect-ratio: 1/1;
  background-color: #ffffff;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-submit__icon {
    width: 2.75rem;
  }
}

.btn-submit__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.875rem;
  aspect-ratio: 1/1;
  background-color: #000000;
  mask-image: url("../../assets/images/common/icon-mail.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-submit__icon::before {
    width: 1.5625rem;
  }
}

.btn-submit__submit {
  width: 100%;
  height: 100%;
  padding-inline: 3.375rem;
  background-color: transparent;
  border: none;
  border-radius: 2.25rem;
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-submit__submit {
    font-size: max(1rem, 12px);
  }
}

@media (any-hover: hover) {
  .btn-submit:hover {
    background-color: #ffffff;
  }
  .btn-submit:hover .btn-submit__submit {
    color: #000000;
  }
  .btn-submit:hover .btn-submit__icon {
    background-color: #000000;
  }
  .btn-submit:hover .btn-submit__icon::before {
    background-color: #ffffff;
  }
}
/* ----- お問い合わせ送信ボタン ここまで ----- */
/* ----- お問い合わせはこちら（コラム本文CTA・aタグ）ここから ----- */
.btn-03 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 31.25rem;
  width: 100%;
  min-height: 3.75rem;
  padding-inline: 3.375rem;
  background-color: #000000;
  border: 2px solid #000000;
  border-radius: 2.25rem;
  text-decoration: none;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-03 {
    max-width: 18.75rem;
    min-height: 3.5rem;
    border: 1px solid #000000;
  }
}

.btn-03__icon {
  position: absolute;
  top: 50%;
  left: 0.375rem;
  width: 3rem;
  aspect-ratio: 1/1;
  background-color: #ffffff;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-03__icon {
    width: 2.75rem;
  }
}

.btn-03__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.875rem;
  aspect-ratio: 1/1;
  background-color: #000000;
  mask-image: url("../../assets/images/common/icon-mail.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-03__icon::before {
    width: 1.5625rem;
  }
}

.btn-03__text {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-03__text {
    font-size: max(1rem, 12px);
  }
}

@media (any-hover: hover) {
  .btn-03:hover {
    background-color: #ffffff;
  }
  .btn-03:hover .btn-03__text {
    color: #000000;
  }
  .btn-03:hover .btn-03__icon {
    background-color: #000000;
  }
  .btn-03:hover .btn-03__icon::before {
    background-color: #ffffff;
  }
}
.btn-03:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* ----- お問い合わせはこちら（コラム本文CTA・aタグ）ここまで ----- */
.case__inner-01 {
  max-width: 75.625rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 1440px) {
  .case__inner-01 {
    max-width: 78.125rem;
  }
}
@media screen and (max-width: 767px) {
  .case__inner-01 {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.case__inner-02 {
  max-width: 90rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .case__inner-02 {
    max-width: 78.125rem;
  }
}
@media screen and (max-width: 767px) {
  .case__inner-02 {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.case__pickup {
  margin-top: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .case__pickup {
    max-width: 25rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 3.125rem;
  }
}

.case__pickup-link {
  position: relative;
  display: grid;
  grid-template-columns: 25rem 1fr;
  gap: clamp(3.125rem, -6.25rem + 10.42vw, 6.25rem); /* 50 ~ 100 | 1440 ~ 1920 */
  padding-block: 3.125rem;
  padding-inline: clamp(1.563rem, -6.875rem + 9.38vw, 4.375rem); /* 25 ~ 70 | 1440 ~ 1920 */
  border-radius: 0.625rem;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.16);
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__pickup-link {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    padding-block: 1.25rem;
    padding-inline: 0.625rem;
  }
}

.case__pickup-img {
  border-radius: 0.625rem;
  overflow: hidden;
}
.case__pickup-img img {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4/3;
  transition: all 0.3s;
}

.case__pickup-body {
  position: relative;
  padding-top: 7.25rem;
}
@media screen and (max-width: 767px) {
  .case__pickup-body {
    padding-top: 2.5rem;
  }
}

.case__pickup-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  mask-image: url(../../assets/images/common/deco-pick-up-black.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #000000;
  width: 6.875rem;
  aspect-ratio: 110/76;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__pickup-body::before {
    width: 3.125rem;
  }
}

.case__pickup-title {
  font-size: max(1.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  text-align: left;
  line-height: 1.4;
  transition: color 0.3s;
  white-space: normal; /* 文字を折り返す */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 表示する行数 */
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .case__pickup-title {
    font-size: max(1.125rem, 12px);
  }
}

.case__pickup-categorys {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.25rem;
}

.case__pickup-category {
  display: block;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
  padding-inline: 0.5rem;
  padding-block: 0.25rem;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__pickup-category {
    font-size: max(0.75rem, 12px);
  }
}

/* 色タームのタグ。色は ACF のカラーピッカー値を --chip-color で受け取る */
.case__pickup-category--color {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.case__pickup-category--color::before {
  content: "";
  flex-shrink: 0;
  width: 0.75rem;
  aspect-ratio: 1;
  background-color: var(--chip-color);
  border: 1px solid #b5b5b5;
  border-radius: 50%;
}

@media (any-hover: hover) {
  .case__pickup-link:hover {
    background-color: #000000;
  }
  .case__pickup-link:hover .case__pickup-img img {
    transform: scale(1.05);
  }
  .case__pickup-link:hover .case__pickup-body::before {
    background-color: #ffffff;
  }
  .case__pickup-link:hover .case__pickup-title {
    color: #ffffff;
  }
  .case__pickup-link:hover .case__pickup-category {
    color: #ffffff;
    border: 1px solid #ffffff;
    background-color: #000000;
  }
}
.case__search {
  margin-top: 5rem;
  scroll-margin-top: 9.375rem;
}
@media screen and (max-width: 767px) {
  .case__search {
    scroll-margin-top: 8.125rem;
  }
}

/* ----- 1段目: キーワード入力 ----- */
.case__search-keyword {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .case__search-keyword {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
}

.case__search-keyword-label {
  display: flex;
  align-items: center;
  height: 3.75rem;
  font-size: 1.875rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .case__search-keyword-label {
    height: auto;
    font-size: 1.5rem;
  }
}

.case__search-keyword-field {
  position: relative;
  width: 100%;
}

.case__search-keyword-input {
  width: 100%;
  min-height: 3.75rem;
  padding-inline: 0.625rem;
  background-color: #efefef;
  border: 1px solid #000000;
  border-radius: 0.25rem;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .case__search-keyword-input {
    min-height: 2.5rem;
    font-size: max(0.875rem, 12px);
  }
}

.case__search-keyword-input::placeholder {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #b5b5b5;
}
@media screen and (max-width: 767px) {
  .case__search-keyword-input::placeholder {
    font-size: max(0.875rem, 12px);
  }
}

.case__search-filters {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.625rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .case__search-filters {
    grid-template-columns: repeat(2, 1fr);
  }
}

.case__search-filter {
  position: relative;
  display: block;
}

.case__search-filter-toggle {
  position: relative;
  width: 100%;
  height: 2.5rem;
  padding-inline: 1rem 2.25rem;
  background-color: #ffffff;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  text-align: start;
  cursor: pointer;
  transition: all 0.3s;
}

.case__search-filter-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.875rem;
  width: 0.5rem;
  aspect-ratio: 6/10;
  background-color: #000000;
  mask-image: url("../../assets/images/common/icon-arrow-01.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  transform: translateY(-50%) rotate(90deg);
  pointer-events: none;
  z-index: 1;
  transition: transform 0.3s;
}

.case__search-filter.is-open .case__search-filter-toggle::after {
  transform: translateY(-50%) rotate(-90deg);
}

.case__search-filter-current {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
}

/* 色タームのカラーチップ。色は ACF のカラーピッカー値を --chip-color で受け取る */
.case__search-filter-current--color::before {
  content: "";
  flex-shrink: 0;
  width: 0.875rem;
  aspect-ratio: 1;
  background-color: var(--chip-color);
  border: 1px solid #b5b5b5;
  border-radius: 50%;
}

.case__search-filter-list {
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  z-index: 2;
  width: 100%;
  max-height: 15rem;
  overflow-y: auto;
  padding-block: 0.25rem;
  background-color: #ffffff;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.case__search-filter.is-open .case__search-filter-list {
  opacity: 1;
  visibility: visible;
}

.case__search-filter-group {
  padding-block: 0.375rem;
  padding-inline: 0.75rem;
  background-color: #f9f9f9;
  border-block: 1px solid #efefef;
  font-size: max(0.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #8b8b8b;
}

.case__search-filter-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-block: 0.5rem;
  padding-inline: 1rem;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  cursor: pointer;
  transition: background-color 0.3s;
}

.case__search-filter-item[aria-selected=true] {
  background-color: #efefef;
}

.case__search-filter-item--color::before {
  content: "";
  flex-shrink: 0;
  width: 0.875rem;
  aspect-ratio: 1;
  background-color: var(--chip-color);
  border: 1px solid #b5b5b5;
  border-radius: 50%;
}

.case__search-keyword {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 2.1875rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .case__search-keyword {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
}

.case__search-keyword-label {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
  padding-block: 0.25rem;
  border: 1px solid transparent;
}

.case__search-keyword-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.case__search-keyword-item {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
}

.case__search-keyword-link {
  display: block;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
  padding-inline: 0.5rem;
  padding-block: 0.25rem;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__search-keyword-link {
    font-size: max(0.75rem, 12px);
  }
}

/* ----- 4段目: 検索ボタン ----- */
.case__search-submit-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}

.case__search-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 31.25rem;
  height: 3.75rem;
  background-color: #000000;
  border-radius: 100vmax;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__search-btn {
    max-width: 15.625rem;
    height: 3.125rem;
  }
}

.case__search-btn-icon {
  position: absolute;
  top: 50%;
  left: 0.375rem;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 3rem;
  aspect-ratio: 1/1;
  background-color: #ffffff;
  border-radius: 100vmax;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__search-btn-icon {
    width: 2.625rem;
  }
}

.case__search-btn-icon::before {
  content: "";
  display: block;
  width: 1.4375rem;
  aspect-ratio: 1/1;
  background-color: #000000;
  mask-image: url("../../assets/images/common/icon-loupe.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__search-btn-icon::before {
    width: 0.9375rem;
  }
}

.case__search-btn-text {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__search-btn-text {
    font-size: max(1rem, 12px);
  }
}

.case__search-reset-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
}

.case__search-reset {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 31.25rem;
  height: 3.75rem;
  background-color: #ffffff;
  border: 1px solid #000000;
  border-radius: 100vmax;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__search-reset {
    max-width: 15.625rem;
    height: 3.125rem;
  }
}

.case__search-reset-icon {
  position: absolute;
  top: 50%;
  left: 0.375rem;
  transform: translateY(-50%);
  width: 3rem;
  aspect-ratio: 1/1;
  background-color: #000000;
  border-radius: 100vmax;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__search-reset-icon {
    width: 2.625rem;
  }
}

.case__search-reset-icon::before,
.case__search-reset-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.25rem;
  height: 2px;
  background-color: #ffffff;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__search-reset-icon::before,
  .case__search-reset-icon::after {
    width: 0.9375rem;
  }
}

.case__search-reset-icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.case__search-reset-icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.case__search-reset-text {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case__search-reset-text {
    font-size: max(1rem, 12px);
  }
}

@media (any-hover: hover) {
  .case__search-btn:hover {
    background-color: #ffffff;
    color: #000000;
    box-shadow: inset 0 0 0 1px #000000;
  }
  .case__search-reset:hover {
    background-color: #000000;
  }
  .case__search-reset:hover .case__search-reset-text {
    color: #ffffff;
  }
  .case__search-reset:hover .case__search-reset-icon {
    background-color: #ffffff;
  }
  .case__search-reset:hover .case__search-reset-icon::before,
  .case__search-reset:hover .case__search-reset-icon::after {
    background-color: #000000;
  }
  .case__search-btn:hover .case__search-btn-text {
    color: #000000;
  }
  .case__search-btn:hover .case__search-btn-icon {
    background-color: #000000;
  }
  .case__search-btn:hover .case__search-btn-icon::before {
    background-color: #ffffff;
  }
  .case__search-keyword-link:hover {
    background-color: #000000;
    color: #ffffff;
  }
  .case__search-filter-toggle:hover {
    border-color: #000000;
  }
  .case__search-filter-item:hover {
    background-color: #efefef;
  }
}
.case__headline {
  margin-top: 5rem;
  padding-top: 7.8125rem;
  border-top: 1px solid #b5b5b5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .case__headline {
    margin-top: 3.125rem;
    padding-top: 3.125rem;
  }
}

.case__headline-text {
  display: inline-block;
  font-size: max(3.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  text-align: center;
  line-height: 1.2;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .case__headline-text {
    font-size: max(1.75rem, 12px);
  }
}

.case__list-wrapper {
  margin-top: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .case__list-wrapper {
    max-width: 25rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 3.125rem;
  }
}

.case__pagination {
  margin-top: 6.25rem;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .case__pagination {
    margin-top: 3.75rem;
  }
}

.case-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.1875rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .case-list {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}

.case-list__item {
  background-color: #ffffff;
  border-radius: 0.625rem;
  overflow: hidden;
}

.case-list__link {
  position: relative;
  display: block;
  padding-block: 0.625rem 0.9375rem;
  padding-inline: 0.625rem;
  height: 100%;
  transition: all 0.3s;
}

.case-list__img {
  position: relative;
  border-radius: 0.625rem;
  overflow: hidden;
}
.case-list__img img {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 360/266;
  transition: all 0.3s;
}

.case-list__body {
  padding-inline: 0.625rem;
  padding-top: 0.9375rem;
}

.case-list__title {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4375;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  transition: color 0.3s;
}

.case-list__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.75rem;
}

.case-list__tag {
  display: block;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
  padding-inline: 0.5rem;
  padding-block: 0.25rem;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .case-list__tag {
    font-size: max(0.75rem, 12px);
  }
}

/* 色タームのタグ。色は ACF のカラーピッカー値を --chip-color で受け取る */
.case-list__tag--color {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.case-list__tag--color::before {
  content: "";
  flex-shrink: 0;
  width: 0.75rem;
  aspect-ratio: 1;
  background-color: var(--chip-color);
  border: 1px solid #b5b5b5;
  border-radius: 50%;
}

@media (any-hover: hover) {
  .case-list__link:hover {
    background-color: #000000;
  }
  .case-list__link:hover .case-list__img-img {
    transform: scale(1.05);
  }
  .case-list__link:hover .case-list__title {
    color: #ffffff;
  }
  .case-list__link:hover .case-list__tag {
    border-color: #ffffff;
    color: #ffffff;
  }
  .case-list__link:hover .icon-arrow {
    background-color: #ffffff;
  }
  .case-list__link:hover .icon-arrow::before {
    background-color: #000000;
  }
}
.catalog-fv {
  position: relative;
  max-width: 90rem;
  margin-inline: auto;
  container-type: inline-size;
}

@media screen and (max-width: 1440px) {
  .catalog-fv__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .catalog-fv__inner {
    padding-inline: 0.625rem;
  }
}

.catalog-fv__image {
  border-radius: 0.625rem;
  overflow: hidden;
}

.catalog-fv__bg {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/600;
  object-fit: cover;
}

.catalog-fv__content {
  position: absolute;
  top: 20cqi;
  left: 5.5555555556cqi;
  width: 27.7777777778cqi;
  font-size: 1.1111111111cqi;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .catalog-fv__content {
    position: static;
    width: 100%;
    margin-top: 1.25rem;
    font-size: 1rem;
    text-align: center;
  }
}

.catalog-fv__title {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 3.125em;
  font-weight: 900;
  line-height: 1.82;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .catalog-fv__title {
    font-size: 1.75rem;
  }
}

.catalog-fv__lead {
  margin-top: 1.875em;
  display: flex;
  flex-direction: column;
  gap: 0.375em;
}
@media screen and (max-width: 767px) {
  .catalog-fv__lead {
    margin-top: 1rem;
  }
}

.catalog-fv__lead-main {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.75em;
  font-weight: 700;
  color: #000000;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  .catalog-fv__lead-main {
    font-size: max(1rem, 12px);
  }
}

.catalog-fv__lead-sub {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.25em;
  font-weight: 700;
  color: #575757;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .catalog-fv__lead-sub {
    font-size: max(0.875rem, 12px);
  }
}

.catalog-fv__catalogs {
  position: absolute;
  top: 4.8611111111cqi;
  right: 4.8611111111cqi;
  width: 25cqi;
  filter: drop-shadow(0.625rem 0.625rem 0.3125rem rgba(0, 0, 0, 0.4));
}

.catalog-fv__catalogs img {
  width: 100%;
  height: auto;
  aspect-ratio: 360/308;
}

.catalog-lineup__inner {
  margin-inline: auto;
  max-width: 90rem;
}
@media screen and (max-width: 1440px) {
  .catalog-lineup__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .catalog-lineup__inner {
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.catalog-lineup__head {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.catalog-lineup__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  line-height: 1;
  color: #575757;
  text-transform: uppercase;
  font-style: italic;
}

.catalog-lineup__eyebrow::after {
  content: "";
  display: block;
  order: -1;
  width: 0.625rem;
  height: 0.125rem;
  background-color: #575757;
}

.catalog-lineup__heading {
  margin-top: 0.8125rem;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 3.125rem;
  font-weight: 900;
  color: #000000;
  line-height: 1.2;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .catalog-lineup__heading {
    font-size: 1.75rem;
  }
}

.catalog-lineup__grid {
  margin-top: 2.8125rem;
  max-width: 66.25rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 0.625rem;
  row-gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .catalog-lineup__grid {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 1.875rem;
    row-gap: 1rem;
  }
}

.catalog-lineup__item {
  display: block;
  width: 100%;
  max-width: 12.75rem;
}

.catalog-lineup__item img {
  height: 100%;
  object-fit: contain;
  aspect-ratio: 204/60;
}

.catalog-lineup__note {
  margin-top: 2.5rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(0.875rem, 12px);
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .catalog-lineup__note {
    margin-top: 1.875rem;
  }
}

.catalog-point + .catalog-point {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .catalog-point + .catalog-point {
    margin-top: 1rem;
  }
}

.catalog-point__inner {
  margin-inline: auto;
  max-width: 90rem;
}
@media screen and (max-width: 1440px) {
  .catalog-point__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .catalog-point__inner {
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.catalog-point__container {
  margin-inline: auto;
  padding-block: 3.125rem 3.75rem;
  padding-inline: clamp(1.25rem, -8.151rem + 10.44vw, 4.375rem); /* 20 ~ 70 | 1441 ~ 1920 */
  max-width: 90rem;
  background: linear-gradient(180deg, #000000 0%, #8b8b8b 100%);
  border-radius: 0.625rem;
}
@media screen and (max-width: 1440px) {
  .catalog-point__container {
    padding-inline: 4.375rem;
  }
}
@media screen and (max-width: 767px) {
  .catalog-point__container {
    padding-block: 2rem;
    padding-inline: 1.25rem;
  }
}

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

.catalog-point__eyebrow::before {
  content: "";
  display: inline-block;
  width: 0.625rem;
  height: 0.125rem;
  margin-right: 0.5rem;
  background-color: #ffffff;
  vertical-align: middle;
}

.catalog-point__row {
  margin-top: 1.1875rem;
  display: flex;
  gap: clamp(1.25rem, -6.271rem + 8.35vw, 3.75rem); /* 20 ~ 60 | 1441 ~ 1920 */
  align-items: flex-start;
}
@media screen and (max-width: 1440px) {
  .catalog-point__row {
    gap: 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .catalog-point__row {
    flex-direction: column;
    gap: 0;
  }
}

.catalog-point__image {
  flex: 1;
  max-width: 33.75rem;
  aspect-ratio: 540/400;
  border-radius: 0.625rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .catalog-point__image {
    width: 100%;
  }
}

.catalog-point__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.catalog-point__body {
  flex: 1;
  max-width: 43.75rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .catalog-point__body {
    width: 100%;
  }
}

.catalog-point__title {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.75rem, 12px);
  font-weight: 900;
  line-height: 1.4;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .catalog-point__title {
    font-size: 1.375rem;
  }
}

.catalog-point__text-box {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .catalog-point__text-box {
    margin-top: 1.25rem;
  }
}

.catalog-point__text {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.125rem, 12px);
  font-weight: 500;
  line-height: 1.7777777778;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .catalog-point__text {
    font-size: 1rem;
  }
}

.catalog-point__text + .catalog-point__text {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .catalog-point__text + .catalog-point__text {
    margin-top: 1.25rem;
  }
}

.catalog-ppe__inner {
  margin-inline: auto;
  max-width: 90rem;
}
@media screen and (max-width: 1440px) {
  .catalog-ppe__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .catalog-ppe__inner {
    padding-inline: 0.9375rem;
  }
}

.catalog-ppe__header {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.catalog-ppe__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  color: #575757;
  text-transform: uppercase;
  font-style: italic;
}

.catalog-ppe__eyebrow::after {
  content: "";
  display: block;
  order: -1;
  width: 0.625rem;
  height: 0.125rem;
  background-color: #575757;
}

.catalog-ppe__heading {
  margin-top: 0.8125rem;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 3.125rem;
  font-weight: 900;
  color: #000000;
  line-height: 1.2;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .catalog-ppe__heading {
    font-size: 1.75rem;
  }
}

.catalog-ppe__list {
  margin-top: 2.75rem;
  max-width: 81.25rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  column-gap: 0.75rem;
  row-gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .catalog-ppe__list {
    grid-template-columns: repeat(4, 1fr);
    margin-top: 1.875rem;
  }
}
@media screen and (max-width: 375px) {
  .catalog-ppe__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.catalog-ppe__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 1.5625rem 0.8125rem;
  padding-inline: 0.25rem;
  background-color: #efefef;
  border: 1px solid #b5b5b5;
  border-radius: 0.625rem;
}

.catalog-ppe__item--etc {
  justify-content: center;
  padding-block: 0;
  background-color: transparent;
  border: none;
}

.catalog-ppe__image {
  display: block;
  width: 100%;
  max-width: 6.25rem;
}

.catalog-ppe__image img {
  height: 100%;
  object-fit: contain;
  aspect-ratio: 1/1;
}

.catalog-ppe__label {
  margin-top: 1.25rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(0.875rem, 12px);
  font-weight: 700;
  color: #000000;
  line-height: 1.4285714286;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.catalog-ppe__etc {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.125rem, 12px);
  font-weight: 700;
  color: #575757;
  text-align: center;
}

.category {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .category {
    gap: 1.25rem;
  }
}

.category__row {
  display: grid;
  grid-template-columns: 5rem 1fr;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .category__row {
    flex-direction: column;
    align-items: flex-start;
    grid-template-columns: 3.75rem 1fr;
    gap: 0.625rem;
  }
}

.category__label {
  position: relative;
  padding-block: 0.3125rem;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .category__label {
    font-size: max(0.75rem, 12px);
  }
}

.category__label::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #b5b5b5;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .category__label::before {
    display: none;
  }
}

.category__items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
@media screen and (max-width: 767px) {
  .category__items {
    gap: 0.625rem 0.25rem;
  }
}

.category__item {
  display: block;
}

.category__link {
  display: block;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
  padding-inline: 0.5rem;
  padding-block: 0.25rem;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  transition: all 0.3s;
}

.category__link.is-current {
  background-color: #000000;
  color: #ffffff;
  pointer-events: none;
}

@media (any-hover: hover) {
  .category__link:not(.is-current):hover {
    background-color: #000000;
    color: #ffffff;
  }
}
.category__link:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

.column__inner {
  max-width: 75.625rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 1440px) {
  .column__inner {
    max-width: 78.125rem;
  }
}
@media screen and (max-width: 767px) {
  .column__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.column__list-wrapper {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .column__list-wrapper {
    max-width: 25rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 2.5rem;
  }
}

.column__pagination {
  margin-top: 3.75rem;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .column__pagination {
    margin-top: 2.5rem;
  }
}

.column-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.875rem;
  row-gap: 4.6875rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .column-list {
    grid-template-columns: 1fr;
  }
}

.company {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .company {
    padding-bottom: 5rem;
  }
}

.company__inner {
  max-width: 84.375rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .company__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.company__layout {
  display: grid;
  grid-template-columns: clamp(12.5rem, -6.25rem + 20.83vw, 18.75rem) 1fr; /* 200 ~ 300 | 1440 ~ 1920 */
  column-gap: clamp(3.125rem, -6.25rem + 10.42vw, 6.25rem); /* 50 ~ 100 | 1440 ~ 1920 */
}
@media screen and (max-width: 1440px) {
  .company__layout {
    grid-template-columns: 18.75rem 1fr;
  }
}
@media screen and (max-width: 767px) {
  .company__layout {
    display: contents;
  }
}

.company__main-img {
  position: sticky;
  top: 7.5rem;
  align-self: start;
}
@media screen and (max-width: 767px) {
  .company__main-img {
    position: static;
  }
}

.company__main-img img {
  aspect-ratio: 300/500;
  height: 100%;
  object-fit: cover;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .company__main-img img {
    aspect-ratio: 16/9;
  }
}

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

.company__row {
  position: relative;
  display: grid;
  grid-template-columns: 11.25rem 1fr;
  column-gap: 1.25rem;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .company__row {
    grid-template-columns: 1fr;
    padding-bottom: 1.875rem;
  }
}

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

.company__row::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 11.25rem;
  height: 1px;
  background-color: #000000;
}
@media screen and (max-width: 767px) {
  .company__row::after {
    width: 6.25rem;
  }
}

.company__row-label {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.7777777778;
}

.company__row-body {
  display: grid;
  grid-template-columns: 1fr;
  align-items: flex-start;
}

.company__row-body[data-theme="2col"] {
  grid-template-columns: 1fr clamp(11.125rem, -4.25rem + 17.08vw, 16.25rem); /* 180 ~ 260 | 1440 ~ 1920 */
  gap: 3.125rem;
}
@media screen and (max-width: 1440px) {
  .company__row-body[data-theme="2col"] {
    grid-template-columns: 1fr 16.25rem; /* 180 ~ 260 | 1440 ~ 1920 */
  }
}
@media screen and (max-width: 767px) {
  .company__row-body[data-theme="2col"] {
    grid-template-columns: 1fr;
    gap: 1.875rem;
  }
}

.company__row-content {
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .company__row-content {
    margin-top: 1.25rem;
  }
}

.company__row-content-text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4;
}

.company__row-mt-10 {
  margin-top: 0.625rem;
}

.company__row-mt-20 {
  margin-top: 1.25rem;
}

.company__row-content-text-link {
  position: relative;
  word-break: break-all;
  transition: opacity 0.3s;
}
.company__row-content-text-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
}
@media (any-hover: hover) {
  .company__row-content-text-link:hover {
    opacity: 0.6;
  }
}

.company__row-content-tel-link {
  transition: opacity 0.3s;
}
@media (any-hover: hover) {
  .company__row-content-tel-link:hover {
    opacity: 0.6;
  }
}

.company__row-content-map {
  position: relative;
  display: inline-flex;
  align-items: center;
  column-gap: 0.4375rem;
  transition: opacity 0.3s;
}
.company__row-content-map::before {
  content: "";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("../../assets/images/common/icon-pin.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.company__row-content-map::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline-start: calc(1.25rem + 0.4375rem);
  inset-inline-end: 0;
  height: 1px;
  background-color: currentColor;
}
@media (any-hover: hover) {
  .company__row-content-map:hover {
    opacity: 0.6;
  }
}

@media screen and (max-width: 767px) {
  .company__row-img {
    max-width: 25rem;
    width: 80%;
    margin-inline: auto;
  }
}
.company__row-img img {
  aspect-ratio: 260/160;
  height: 100%;
  object-fit: cover;
  border-radius: 0.625rem;
}

/* ========================================
  consult
======================================== */
.consult__heading {
  max-width: 33.5rem;
  margin-inline: auto;
}

.consult__heading[data-heading=sustainable] {
  max-width: 44.375rem;
}

.consult__cards {
  margin-top: 3.75rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .consult__cards {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.consult__card {
  padding-block: 3.75rem 4.4375rem;
  text-align: center;
  border-radius: 0.625rem;
}

.consult__card--voice {
  background-color: #f0f0f0;
  box-shadow: none;
}

.consult__card--white {
  background-color: #ffffff;
}

.consult__card--contact {
  background-color: #ffba00;
}

.consult__card-title {
  font-size: 1.75rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.2;
}

.consult__card-desc {
  margin-top: 1.25rem;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4;
}

.consult__card .btn-01 {
  margin-top: 1.25rem;
}

.contact__inner {
  max-width: 75.625rem;
  width: 100%;
  padding-inline: 1.5625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .contact__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.contact__store {
  position: relative;
  border: 1px solid #b5b5b5;
  border-radius: 0.625rem;
  padding-inline: 6.25rem;
  padding-block: 4.125rem 3.625rem;
}
@media screen and (max-width: 767px) {
  .contact__store {
    padding-inline: 0.625rem;
    padding-block: 2.875rem 2.5rem;
  }
}

.contact__store::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 12.5rem);
  height: 0.375rem;
  border-radius: 0 0 0.125rem 0.125rem;
  background-color: #000000;
}
@media screen and (max-width: 767px) {
  .contact__store::before {
    width: calc(100% - 3.75rem);
    height: 0.25rem;
  }
}

.contact__corporate-logo {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .contact__corporate-logo {
    margin-top: 5rem;
  }
}

.contact__form {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .contact__form {
    margin-top: 5rem;
  }
}

.contact-lead {
  text-align: center;
}

.contact-lead__title {
  display: inline-block;
  font-size: max(1.625rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4230769231;
}
@media screen and (max-width: 767px) {
  .contact-lead__title {
    font-size: max(1.25rem, 12px);
  }
}

.contact-lead__text {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
  word-break: keep-all;
  overflow-wrap: anywhere;
  margin-top: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .contact-lead__text {
    margin-top: 1.5625rem;
    font-size: max(0.875rem, 12px);
  }
}

.contact-lead__text-line {
  text-decoration: underline;
  text-underline-offset: 0.1em;
}

.contact-lead__example {
  display: inline-block;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
  padding-block: 0.0625rem;
  padding-inline: 1.5625rem;
  background-color: #efefef;
  border-radius: 0.625rem;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .contact-lead__example {
    font-size: max(0.875rem, 12px);
    padding-inline: 0.625rem;
  }
}

/* ========================================
  contact-shop（店舗案内）
======================================== */
.contact-shop {
  margin-top: 3.75rem;
  padding-top: 3.75rem;
  border-top: 1px solid #b5b5b5;
}
@media screen and (max-width: 767px) {
  .contact-shop {
    margin-top: 3.125rem;
    padding-top: 2.5rem;
  }
}

.contact-shop__heading {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-shop__heading {
    font-size: max(1rem, 12px);
  }
}

.contact-shop__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.875rem;
  row-gap: 2.5rem;
  margin-top: 2.1875rem;
  padding-inline: 3.375rem;
}
@media screen and (max-width: 767px) {
  .contact-shop__list {
    grid-template-columns: 1fr;
    margin-top: 1.5625rem;
    padding-inline: 1.25rem;
  }
}

.contact-shop__img-wrapper img {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 260/160;
  border-radius: 0.625rem;
}

.contact-shop__name {
  margin-top: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #b5b5b5;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.contact-shop__info {
  position: relative;
  margin-top: 0.75rem;
  padding-left: 1.375rem;
}

.contact-shop__info::before {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 1rem;
  aspect-ratio: 1/1;
  background-image: url("../../assets/images/common/icon-pin.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.contact-shop__address {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
}

.contact-shop__map-wrapper {
  margin-top: 0.3125rem;
}

.contact-shop__map {
  position: relative;
  display: inline-block;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  transition: all 0.3s;
}

.contact-shop__map::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.125rem;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transition: all 0.3s;
}

.contact-shop__tel-wrapper {
  margin-top: 0.5rem;
}

.contact-shop__tel {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  letter-spacing: 0.04em;
  transition: all 0.3s;
}

.contact-shop__tel::before {
  content: "";
  display: inline-block;
  width: 1rem;
  aspect-ratio: 1/1;
  background-image: url("../../assets/images/common/icon-tel.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media (any-hover: hover) {
  .contact-shop__map:hover,
  .contact-shop__tel:hover {
    opacity: 0.6;
  }
}
.contact-shop__map:focus-visible,
.contact-shop__tel:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

.contact-shop__note {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  text-align: center;
  margin-top: 2.5rem;
  line-height: 1.7777777778;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .contact-shop__note {
    font-size: max(0.875rem, 12px);
  }
}

.contact-mail {
  margin-top: 2.1875rem;
  padding-top: 4.0625rem;
  border-top: 1px solid #b5b5b5;
}
@media screen and (max-width: 767px) {
  .contact-mail {
    padding-top: 3.125rem;
  }
}

.contact-mail__heading {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-mail__heading {
    font-size: max(1rem, 12px);
  }
}

.contact-mail__text {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
  text-align: center;
  margin-top: 2.5rem;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .contact-mail__text {
    font-size: max(0.875rem, 12px);
    margin-top: 1.875rem;
  }
}

.contact-mail__text-black {
  display: inline-block;
  font-weight: 900;
}

.contact__form-intro {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .contact__form-intro {
    font-size: max(0.875rem, 12px);
  }
}

.contact__form-step {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .contact__form-step {
    max-width: 15.625rem;
    width: 100%;
    margin-inline: auto;
  }
}

.contact__form-step-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .contact__form-step-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
  }
}

.contact__form-step-item {
  position: relative;
  display: grid;
  grid-template-columns: 5rem 1fr;
  align-items: center;
  gap: 1.875rem;
  padding-inline: 3.125rem;
  padding-block: 1.25rem;
  background-color: #efefef;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .contact__form-step-item {
    justify-content: center;
    gap: 0.75rem;
    padding-block: 1rem;
    padding-inline: 1rem;
    min-height: auto;
  }
}

.contact__form-step-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -0.875rem;
  width: 0;
  height: 0;
  border-top: 0.75rem solid transparent;
  border-bottom: 0.75rem solid transparent;
  border-left: 0.875rem solid #efefef;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .contact__form-step-item:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -0.75rem;
    left: 50%;
    border-top: 0.75rem solid #efefef;
    border-bottom: 0;
    border-left: 0.625rem solid transparent;
    border-right: 0.625rem solid transparent;
    transform: translateX(-50%);
  }
}

.contact__form-step-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 5rem;
  height: 5rem;
  background-color: #ffffff;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .contact__form-step-icon {
    width: 3.125rem;
    height: 3.125rem;
  }
}

.contact__form-step-icon img {
  width: 2.4375rem;
  height: 100%;
  aspect-ratio: 1/1;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .contact__form-step-icon img {
    width: 1.5625rem;
  }
}

.contact__form-step-item-text {
  display: flex;
}

.contact__form-step-num {
  font-size: max(1.25rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  font-style: italic;
}
@media screen and (max-width: 767px) {
  .contact__form-step-num {
    font-size: max(1rem, 12px);
  }
}

.contact__form-step-label {
  position: relative;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  border-left: 1px solid #000000;
  padding-left: 1.25rem;
  margin-left: 1.25rem;
}
@media screen and (max-width: 767px) {
  .contact__form-step-label {
    padding-left: 0.875rem;
    font-size: max(0.8125rem, 12px);
  }
}

.contact__form-wrapper {
  margin-top: 2.1875rem;
}

.corporate-logo__heading {
  font-size: max(1.625rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  text-align: center;
  line-height: 1.4230769231;
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .corporate-logo__heading {
    font-size: max(1.125rem, 12px);
  }
}

.corporate-logo__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  justify-content: center;
  gap: 0.625rem 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .corporate-logo__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.625rem;
    margin-top: 1.875rem;
  }
}

.corporate-logo__item img {
  height: 100%;
  aspect-ratio: 110/50;
  object-fit: contain;
}

.corporate-logo__note {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  text-align: center;
  margin-top: 1.4375rem;
  text-align: center;
}

.data__inner {
  width: 100%;
  max-width: 84.375rem;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .data__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.data-intro {
  margin-top: 7.5rem;
  display: flex;
  align-items: center;
  gap: clamp(1.25rem, -19.395rem + 22.92vw, 6.25rem); /* 20 ~ 100 | 1441 ~ 1790 */
}
@media screen and (max-width: 1440px) {
  .data-intro {
    gap: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .data-intro {
    margin-top: 3.75rem;
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
  }
}

.data-intro__image {
  flex: 1;
}
.data-intro__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 680/342;
  object-fit: cover;
  border-radius: 0.625rem;
}

.data-intro__body {
  flex: 1;
  max-width: 32.5rem;
}
@media (width <= 1580px) {
  .data-intro__body {
    flex: initial;
  }
}

.data-intro__text {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.8;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .data-intro__text {
    font-size: 1.125rem;
  }
}

.data-intro__text + .data-intro__text {
  margin-top: 2.6875rem;
}
@media screen and (max-width: 767px) {
  .data-intro__text + .data-intro__text {
    margin-top: 1.25rem;
  }
}

.data-section__heading {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 3.125rem;
  font-weight: 900;
  line-height: 1.2;
  color: #000000;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .data-section__heading {
    font-size: 1.875rem;
  }
}

.data-section__cards {
  display: flex;
  gap: 1.25rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .data-section__cards {
    flex-direction: column;
  }
}

.data-section__card {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 28.75rem;
  padding-block: 1.0625rem 1.25rem;
  padding-inline: 2.25rem 2.5rem;
  background-color: rgba(255, 255, 255, 0.6);
  border: 0.0625rem solid #ff004e;
  border-radius: 0.625rem;
  display: flex;
  flex-direction: column;
}
@media (width <= 1919px) {
  .data-section__card {
    height: initial;
  }
}
@media screen and (max-width: 767px) {
  .data-section__card {
    padding: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .data-section__card:has(.data-section__donut) {
    padding-block: 1.25rem 0;
    padding-inline: 1.25rem;
  }
}

.data-section__card__title {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: calc(max(1.25rem, 12px) * var(--title-scale, 1));
  font-weight: 700;
  line-height: 1.68;
  color: #ff004e;
  padding-bottom: calc(1.0625rem * var(--title-scale, 1));
  border-bottom: 0.0625rem solid #ff004e;
}

.data-section__bar {
  display: block;
  width: 100%;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .data-section__bar {
    margin-top: 1rem;
  }
}

.data-section__bar img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.data-section__bar[data-bar=reason] {
  max-width: 34.9375rem;
}
.data-section__bar[data-bar=reason] img {
  aspect-ratio: 559/350;
}

.data-section__bar[data-bar=point] {
  max-width: 33.8125rem;
}
.data-section__bar[data-bar=point] img {
  aspect-ratio: 541/342;
}

.data-section__donut {
  flex: 1;
  display: block;
  width: 100%;
  max-width: 30rem;
  margin-top: 1.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .data-section__donut {
    margin-top: initial;
  }
}

.data-section__donut img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.data-voices {
  position: absolute;
  top: 0;
  left: 0;
  width: 40rem;
  height: 28.75rem;
  transform-origin: top left;
  transform: scale(var(--voices-scale, 1));
}

.data-section__card--voices-scaled {
  overflow: hidden;
}

.data-voices__title {
  position: absolute;
  top: 1.0625rem;
  left: 2.25rem;
  right: 2.5rem;
}

.data-voices__item {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #ffffff;
  border-radius: 2.9375rem;
  box-shadow: 0 0 1.25rem rgba(255, 0, 78, 0.8);
  padding: 0.625rem 1.5rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4285714286;
  color: #000000;
}

.data-voices__item--highlight {
  z-index: 2;
  box-shadow: 0 0 2.5rem #ff004e;
  font-size: 1.25rem;
  line-height: 1.2;
  color: #ff004e;
}

.data-voices--01 .data-voices__item--01 {
  top: 7.4375rem;
  left: 3.125rem;
  width: 15.5rem;
  min-height: 5rem;
}

.data-voices--01 .data-voices__item--02 {
  top: 8.4375rem;
  left: 22.25rem;
  width: 14.625rem;
  min-height: 5rem;
}

.data-voices--01 .data-voices__item--03 {
  top: 11.9375rem;
  left: 11.1875rem;
  width: 17.5rem;
  min-height: 5.8125rem;
}

.data-voices--01 .data-voices__item--04 {
  top: 17.1875rem;
  left: 4.25rem;
  width: 17.25rem;
  min-height: 5rem;
  z-index: 1;
}

.data-voices--01 .data-voices__item--05 {
  top: 19.375rem;
  left: 19.625rem;
  width: 17.25rem;
  min-height: 6.25rem;
}

.data-voices--02 .data-voices__item--01 {
  top: 7.4375rem;
  left: 2.6875rem;
  width: 16.375rem;
  min-height: 5rem;
}

.data-voices--02 .data-voices__item--02 {
  top: 8.4375rem;
  left: 23.5625rem;
  width: 12rem;
  min-height: 3.75rem;
}

.data-voices--02 .data-voices__item--03 {
  top: 11.9375rem;
  left: 8.0625rem;
  width: 23.75rem;
  min-height: 5.8125rem;
}

.data-voices--02 .data-voices__item--04 {
  top: 17.1875rem;
  left: 17.875rem;
  width: 19rem;
  min-height: 5rem;
  z-index: 1;
}

.data-voices--02 .data-voices__item--05 {
  top: 19.375rem;
  left: 3.125rem;
  width: 17.25rem;
  min-height: 5rem;
}

.data-voices--03 .data-voices__item--01 {
  top: 6.8125rem;
  left: 20rem;
  width: 16.875rem;
  min-height: 5rem;
  z-index: 1;
}

.data-voices--03 .data-voices__item--02 {
  top: 7.4375rem;
  left: 3.125rem;
  width: 19.875rem;
  min-height: 6.25rem;
}

.data-voices--03 .data-voices__item--03 {
  top: 13.1875rem;
  left: 8.6875rem;
  width: 22.5rem;
  min-height: 7.3125rem;
}

.data-voices--03 .data-voices__item--04 {
  top: 20rem;
  left: 16.625rem;
  width: 19rem;
  min-height: 3.75rem;
  z-index: 1;
}

.data-voices--03 .data-voices__item--05 {
  top: 20.625rem;
  left: 5.1875rem;
  width: 12.875rem;
  min-height: 5rem;
}

.data-voices--04 .data-voices__item--01 {
  top: 6.8125rem;
  left: 3.125rem;
  width: 15.5rem;
  min-height: 5rem;
}

.data-voices--04 .data-voices__item--02 {
  top: 8.4375rem;
  left: 16.5625rem;
  width: 20.75rem;
  min-height: 5rem;
}

.data-voices--04 .data-voices__item--03 {
  top: 13.1875rem;
  left: 7.4375rem;
  width: 25rem;
  min-height: 5.8125rem;
}

.data-voices--04 .data-voices__item--04 {
  top: 18.25rem;
  left: 3.125rem;
  width: 15.5rem;
  min-height: 3.75rem;
  z-index: 1;
}

.data-voices--04 .data-voices__item--05 {
  top: 19.375rem;
  left: 13.5rem;
  width: 23.375rem;
  min-height: 6.25rem;
}

.data-voices--05 .data-voices__item--01 {
  top: 7.4375rem;
  left: 3.125rem;
  width: 21.625rem;
  min-height: 6.25rem;
}

.data-voices--05 .data-voices__item--02 {
  top: 8.4375rem;
  left: 22.6875rem;
  width: 13.75rem;
  min-height: 5rem;
}

.data-voices--05 .data-voices__item--03 {
  top: 13.1875rem;
  left: 11.1875rem;
  width: 17.5rem;
  min-height: 5.8125rem;
}

.data-voices--05 .data-voices__item--04 {
  top: 17.1875rem;
  left: 3.125rem;
  width: 12.875rem;
  min-height: 5rem;
}

.data-voices--05 .data-voices__item--05 {
  top: 18.125rem;
  left: 16.125rem;
  width: 20.75rem;
  min-height: 5rem;
  z-index: 1;
}

.data-voices--05 .data-voices__item--06 {
  top: 21.875rem;
  left: 5rem;
  width: 21.625rem;
  min-height: 3.75rem;
}

.data-voices--06 .data-voices__item--01 {
  top: 7.4375rem;
  left: 3.125rem;
  width: 19rem;
  min-height: 5rem;
}

.data-voices--06 .data-voices__item--02 {
  top: 8.4375rem;
  left: 20.9375rem;
  width: 17.25rem;
  min-height: 5rem;
}

.data-voices--06 .data-voices__item--03 {
  top: 12.25rem;
  left: 10.5625rem;
  width: 18.75rem;
  min-height: 7.3125rem;
}

.data-voices--06 .data-voices__item--04 {
  top: 18.4375rem;
  left: 17.875rem;
  width: 19rem;
  min-height: 5rem;
  z-index: 1;
}

.data-voices--06 .data-voices__item--05 {
  top: 19.375rem;
  left: 3.125rem;
  width: 18.125rem;
  min-height: 6.25rem;
}

.data-voices--07 .data-voices__item--01 {
  top: 6.8125rem;
  left: 4.4375rem;
  width: 12.875rem;
  min-height: 5rem;
  z-index: 3;
}

.data-voices--07 .data-voices__item--02 {
  top: 7.1875rem;
  left: 19.1875rem;
  width: 15.5rem;
  min-height: 5rem;
}

.data-voices--07 .data-voices__item--03 {
  top: 11.3125rem;
  left: 9.9375rem;
  width: 20rem;
  min-height: 5.8125rem;
}

.data-voices--07 .data-voices__item--04 {
  top: 16.375rem;
  left: 3.125rem;
  width: 15.5rem;
  min-height: 3.75rem;
}

.data-voices--07 .data-voices__item--05 {
  top: 17.5625rem;
  left: 23.25rem;
  width: 12.875rem;
  min-height: 3.75rem;
}

.data-voices--07 .data-voices__item--06 {
  top: 20.625rem;
  left: 8.0625rem;
  width: 22.5rem;
  min-height: 5rem;
}

.faq__inner {
  max-width: 75rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .faq__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .faq__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.faq__list {
  border-top: 1px solid #b5b5b5;
}

.faq__item {
  border-bottom: 1px solid #b5b5b5;
}

.faq__summary {
  display: grid;
  grid-template-columns: auto 1fr 2.5rem;
  gap: 1.25rem;
  align-items: baseline;
  padding-block: 1.5625rem;
  padding-inline: 0.625rem;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .faq__summary {
    grid-template-columns: auto 1fr 1.875rem;
    gap: 0.75rem;
    padding-block: 1.25rem;
  }
}

.faq__label {
  font-size: max(1.25rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #000000;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .faq__label {
    font-size: max(1.125rem, 12px);
  }
}

.faq__question {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .faq__question {
    font-size: max(1rem, 12px);
  }
}

.faq__icon {
  position: relative;
  align-self: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #000000;
  background-color: #ffffff;
  border-radius: 100vmax;
  transition: background-color 0.3s, transform 0.4s;
}
@media screen and (max-width: 767px) {
  .faq__icon {
    width: 1.875rem;
    height: 1.875rem;
  }
}

.faq__icon::before,
.faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #000000;
  transform: translate(-50%, -50%);
  transition: transform 0.4s, background-color 0.3s;
}

.faq__icon::before {
  width: 1rem;
  height: 1px;
}
@media screen and (max-width: 767px) {
  .faq__icon::before {
    width: 0.75rem;
  }
}

.faq__icon::after {
  width: 1px;
  height: 1rem;
}
@media screen and (max-width: 767px) {
  .faq__icon::after {
    height: 0.75rem;
  }
}

.faq__item[open] .faq__icon {
  transform: rotate(180deg);
}

.faq__item[open] .faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

@media (any-hover: hover) {
  .faq__summary:hover .faq__icon {
    background-color: #000000;
  }
  .faq__summary:hover .faq__icon::before,
  .faq__summary:hover .faq__icon::after {
    background-color: #ffffff;
  }
}
.faq__content {
  overflow: hidden;
}

.faq__answer {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.25rem;
  align-items: baseline;
  padding-block: 1.5625rem;
  padding-inline: 1.25rem;
  background-color: #efedec;
}
@media screen and (max-width: 767px) {
  .faq__answer {
    gap: 0.9375rem;
    padding-block: 0.9375rem;
    padding-inline: 0.625rem;
  }
}

.faq__answer-text {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 1.4444444444;
}
@media screen and (max-width: 767px) {
  .faq__answer-text {
    font-size: max(1rem, 12px);
  }
}

.faq__answer-text:nth-child(n+2) {
  margin-top: 1em;
}

.faq__answer-list {
  margin-top: 1em;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.faq__answer-item {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 1.4444444444;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  .faq__answer-item {
    font-size: max(1rem, 12px);
  }
}

.footer {
  padding-block: 3.125rem;
  background-color: #efefef;
}
@media screen and (max-width: 767px) {
  .footer {
    padding-block: 1.875rem 3.125rem;
  }
}

.footer__inner {
  max-width: 113.125rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.footer__breadcrumb {
  padding-bottom: 3.125rem;
  border-bottom: 1px solid #b5b5b5;
}
@media screen and (max-width: 767px) {
  .footer__breadcrumb {
    padding-bottom: 1.875rem;
  }
}

.footer__logo {
  max-width: 15.625rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .footer__logo {
    max-width: 12.5rem;
  }
}

.footer__logo-link {
  display: block;
  transition: all 0.3s;
}
@media (any-hover: hover) {
  .footer__logo-link:hover {
    opacity: 0.6;
  }
}
.footer__logo-link img {
  height: 100%;
  object-fit: contain;
}

/* ----- お問い合わせ（767px以下では非表示） ----- */
.footer__contact {
  display: grid;
  grid-template-columns: 1fr 66.25rem;
  grid-template-columns: 1fr clamp(50rem, 1.25rem + 54.17vw, 66.25rem); /* 800 ~ 1060 | 1440 ~ 1920 */
  align-items: stretch;
  padding-inline: 1.875rem;
  padding-block: 1.25rem;
  gap: 1.25rem;
  background-color: #ffba00;
  border-radius: 0.375rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 1200px) {
  .footer__contact {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .footer__contact {
    display: none;
  }
}

.footer__contact-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.footer__contact-title-ja {
  font-size: 1.6875rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  line-height: 1;
}

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

.footer__contact-text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.625;
  margin-top: 0.9375rem;
}

.footer__contact-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.footer__contact-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-inline: 1.25rem;
  padding-block: 2rem;
  background-color: #ffffff;
  border-radius: 0.625rem;
  text-align: center;
}

.footer__contact-tel-label {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.375;
}

.footer__contact-tel-label::before {
  content: "";
  mask-image: url(../../assets/images/common/icon-tel.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #000000;
  width: 1rem;
  aspect-ratio: 1/1;
}

.footer__contact-tel {
  margin-top: 0.625rem;
}

.footer__contact-tel-link {
  position: relative;
  font-size: 2.5rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  transition: all 0.3s;
}

.footer__contact-tel-link::before {
  content: "";
  position: absolute;
  bottom: 0.3125rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 1px;
  background-color: #000000;
}

@media (any-hover: hover) {
  .footer__contact-tel-link:hover {
    opacity: 0.6;
  }
}
.footer__contact-tel-sub {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  margin-top: 0.625rem;
}

.footer__contact-web-title {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4;
  text-align: center;
}

.footer__contact-web-btn {
  margin-top: 1.25rem;
}

/* ----- メニュー（5カラム → 段階的減算） ----- */
.footer__nav {
  max-width: 103.75rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .footer__nav {
    max-width: max-content;
    width: 100%;
    margin-inline: auto;
  }
}

.footer__nav-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 1.25rem;
  justify-content: space-between;
}
@media screen and (max-width: 1280px) {
  .footer__nav-cols {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .footer__nav-cols {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 1.875rem;
  }
}
@media screen and (max-width: 440px) {
  .footer__nav-cols {
    gap: 1.875rem 1.25rem;
  }
}

/* 1 カラム内に複数グループ（OUCの強み + 在庫管理システム 等）を縦積みする */
.footer__nav-list-items {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}

.footer__nav-title {
  position: relative;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4285714286;
  padding-inline-start: 1.125rem;
}
@media screen and (max-width: 767px) {
  .footer__nav-title {
    font-size: max(1rem, 12px);
    padding-inline-start: 1.25rem;
  }
}

.footer__nav-title::before {
  content: "・";
  position: absolute;
  left: 0;
}

/* 子リンクを持たない見出し（在庫管理システム / 会社概要 / よくある質問）のリンク */
.footer__nav-title-link {
  text-decoration: underline;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .footer__nav-title-link:hover {
    /* リセット CSS の a:hover { text-decoration: none } を打ち消すため再宣言する */
    text-decoration: underline;
    opacity: 0.6;
  }
}
.footer__nav-title-link:focus-visible {
  text-decoration: underline;
}

.footer__nav-items {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 0.875rem;
  padding-inline-start: 1rem;
}
@media screen and (max-width: 767px) {
  .footer__nav-items {
    margin-top: 1rem;
    padding-inline-start: 1.125rem;
  }
}

.footer__nav-link {
  position: relative;
  display: inline-block;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
  padding-left: 1em;
  text-decoration: underline;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .footer__nav-link {
    font-size: max(1rem, 12px);
  }
}

.footer__nav-link::before {
  content: "-";
  position: absolute;
  left: 0;
  text-decoration: none;
}

@media (any-hover: hover) {
  .footer__nav-link:hover {
    /* リセット CSS の a:hover { text-decoration: none } を打ち消すため再宣言する */
    text-decoration: underline;
    opacity: 0.6;
  }
}
.footer__nav-link:focus-visible {
  text-decoration: underline;
}

/* ----- フッター（767px以下では非表示） ----- */
.footer__sub-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.125rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .footer__sub-nav {
    margin-top: 2.5rem;
    flex-direction: column;
  }
}

.footer__sub-nav-items {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.125rem;
}

.footer__sub-nav-link {
  position: relative;
  display: block;
  font-size: 10px;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  text-transform: uppercase;
  transition: all 0.3s;
}
@media (any-hover: hover) {
  .footer__sub-nav-link:hover {
    opacity: 0.6;
  }
}

.footer__sub-nav-link::before {
  content: "";
  position: absolute;
  bottom: -0.125rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 1px;
  background-color: #000000;
}

.footer__copyright-text {
  display: block;
  font-size: 10px;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  text-transform: uppercase;
}

.form {
  padding-block: 3.75rem;
  padding-inline: 6.25rem;
  background-color: #ffffff;
  border: 1px solid #b5b5b5;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .form {
    padding-block: 2.5rem;
    padding-inline: 1rem;
  }
}

.form__row {
  display: grid;
  grid-template-columns: 16.25rem 1fr;
  align-items: center;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #efedec;
}
@media screen and (max-width: 767px) {
  .form__row {
    display: block;
    padding-bottom: 1.5rem;
  }
}

.form__row + .form__row {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .form__row + .form__row {
    margin-top: 1.5rem;
  }
}

.form__row--address,
.form__row--choice {
  align-items: start;
}

.form__row--textarea {
  display: block;
}

.form__head {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 1440px) {
  .form__row--address .form__head,
  .form__row--choice .form__head {
    padding-top: 1.0625rem;
  }
}

.form__label {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .form__label {
    font-size: max(0.9375rem, 12px);
  }
}

.form__required {
  margin-left: 0.75rem;
  padding-block: 0.125rem;
  padding-inline: 0.5rem;
  background-color: #000000;
  border-radius: 0.125rem;
  font-size: max(0.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.04em;
}

.form__body {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form__body {
    margin-top: 0.625rem;
  }
}

.form__body .wpcf7-form-control-wrap {
  display: block;
}

.form__row--textarea .form__body {
  margin-top: 1.25rem;
}

/* ----- 入力欄 ----- */
.form__input {
  width: 100%;
  height: 3.75rem;
  padding-inline: 1.25rem;
  background-color: #ffffff;
  border: 1px solid #867d7a;
  border-radius: 0.125rem;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .form__input {
    height: 3.125rem;
    padding-inline: 0.875rem;
    font-size: max(0.9375rem, 12px);
  }
}

.form__textarea {
  width: 100%;
  height: 10rem;
  padding-block: 1rem;
  padding-inline: 1.25rem;
  background-color: #ffffff;
  border: 1px solid #867d7a;
  border-radius: 0.125rem;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
  resize: vertical;
}
@media screen and (max-width: 767px) {
  .form__textarea {
    padding-inline: 0.875rem;
    font-size: max(0.9375rem, 12px);
  }
}

.form__input::placeholder,
.form__textarea::placeholder {
  color: #b5b5b5;
}

.form__input:focus,
.form__textarea:focus {
  outline: 2px solid #ffba00;
  outline-offset: -1px;
}

/* ----- ご住所 ----- */
.form__address-postcode {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.form__postcode-mark {
  flex-shrink: 0;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
}

.form__input--postcode {
  max-width: 25rem;
}

.form__input--address {
  margin-top: 1.25rem;
}

/* ----- 弊社を知ったきっかけ（チェックボックス／○表示） ----- */
.form__choice-list {
  display: flex;
  flex-wrap: wrap;
  column-gap: 2.5rem;
  row-gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .form__choice-list {
    column-gap: 1.25rem;
    row-gap: 1rem;
  }
}

.form__choice label,
.wpcf7-list-item label {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.form__choice-input,
.wpcf7-list-item label input[type="checkbox"] {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1rem;
  height: 1rem;
  margin: 0;
  opacity: 0;
  transform: translateY(-50%);
  cursor: pointer;
}

.form__choice-label,
.wpcf7-list-item-label {
  position: relative;
  padding-left: 1.625rem;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .form__choice-label,
  .wpcf7-list-item-label  {
    font-size: max(0.9375rem, 12px);
  }
}

.form__choice-label::before,
.wpcf7-list-item-label::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  background-color: #ffffff;
  border: 1px solid #867d7a;
  border-radius: 0.125rem;
}

.form__choice-label::after,
.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.25rem;
  width: 0.5rem;
  height: 0.25rem;
  border-left: 0.125rem solid #000000;
  border-bottom: 0.125rem solid #000000;
  transform: translateY(-70%) rotate(-45deg);
  opacity: 0;
}

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

/* ----- 個人情報同意（チェックボックス／□表示） ----- */
.form__row--privacy {
  display: block;
  margin-top: 2.5rem;
  padding-bottom: 0;
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .form__row--privacy {
    margin-top: 1.5rem;
  }
}

.form__consent,
.form__consent .wpcf7-list-item {
  display: block;
}

.form__check {
  position: relative;
  display: block;
  max-width: 45.625rem;
  margin-inline: auto;
  cursor: pointer;
}

.form__check-input {
  position: absolute;
  top: 0.1875rem;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.form__check-label {
  display: block;
  position: relative;
  /*
  padding-left: 2.25rem;
  */
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .form__check-label {
    font-size: max(0.875rem, 12px);
  }
}

/*
.form__check-label::before {
  content: "";
  position: absolute;
  top: 0.1875rem;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #ffffff;
  border: 1px solid #b5b5b5;
  border-radius: 0.125rem;
}

.form__check-label::after {
  content: "";
  position: absolute;
  top: 0.5625rem;
  left: 0.375rem;
  width: 0.75rem;
  height: 0.4375rem;
  border-left: 0.125rem solid #000000;
  border-bottom: 0.125rem solid #000000;
  transform: rotate(-45deg);
  opacity: 0;
}

.form__check-input:checked + .form__check-label::after {
  opacity: 1;
}
*/

.form__consent-link {
  position: relative;
  display: inline-block;
  color: #000000;
  transition: all 0.3s;
}

.form__consent-link::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.3125rem;
  width: 100%;
  height: 1px;
  background-color: currentColor;
}

@media (any-hover: hover) {
  .form__consent-link:hover {
    opacity: 0.6;
  }
}
/* ----- 送信ボタンエリア（配置のみ・本体は _btn.scss） ----- */
.form__btn-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 2.1875rem;
}
.wpcf7-spinner{
  display:none !important;
}

/* ========================================
  hamburger（全ページ共通: header 外 fixed 配置）
======================================== */
.hamburger {
  position: fixed;
  top: 2.1875rem;
  right: 2.8125rem;
  display: block;
  width: 3.125rem;
  aspect-ratio: 1/1;
  background-color: #ffffff;
  border-radius: 0.625rem;
  cursor: pointer;
  transition: all 0.3s;
  z-index: 30;
}
@media screen and (max-width: 767px) {
  .hamburger {
    top: 1.25rem;
    right: 0.9375rem;
    width: 2.5rem;
  }
}

.hamburger span {
  position: absolute;
  left: 50%;
  width: 1.5rem;
  height: 1px;
  background-color: #000000;
  transition: all 0.3s;
}

.hamburger span:nth-child(1) {
  top: calc(50% - 0.3125rem);
  transform: translateX(-50%);
}

.hamburger span:nth-child(2) {
  top: calc(50% + 0.3125rem);
  transform: translateX(-50%);
}

.hamburger.is-active span:nth-child(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(200deg);
}

.hamburger.is-active span:nth-child(2) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-200deg);
}

@media (any-hover: hover) {
  .hamburger:hover {
    background-color: #000000;
  }
  .hamburger:hover span {
    background-color: #ffffff;
  }
}
/* ============================================================
 * headerの仕様
 * - 下層: 全幅 fixed 常時表示 / 1441以上は side-menu と並列の縮小幅
 * - TOP: 下側 header (非 mv__header) はここをベースに使用、is-show で表示切替
 * ============================================================ */
.header {
  position: fixed;
  top: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 3.75rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 5rem;
  padding-inline: 2.1875rem 5rem;
  background-color: #ffffff;
  border-radius: 0.625rem;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.2);
  z-index: 10;
  /* 1441以上: 縮小幅 / hamburger 余白不要なので padding 縮小 / side-menu (z-index 10) より上に */
}
@media screen and (min-width: 1441px) {
  .header {
    left: 1.875rem;
    transform: none;
    width: calc(100% - 23.125rem - 5rem);
    padding-inline: clamp(0.625rem, -7.188rem + 7.81vw, 2.188rem) clamp(0.625rem, -5.625rem + 6.25vw, 1.875rem); /* 10 ~ 35 | 1600 ~ 1920 || 10 ~ 30 | 1600 ~ 1920 */
    z-index: 20;
  }
}
@media screen and (max-width: 767px) {
  .header {
    top: 0.625rem;
    height: 3.75rem;
    padding-inline: 0.625rem 3.4375rem;
    width: calc(100% - 1.25rem);
  }
}

/* ============================================================
 * TOP ページ (body.is-top)
 * - 非 mv__header (下側 header): 初期非表示、is-show で表示 (JS 制御)
 * - mv__header: MV 内 absolute 全幅 (1441以上でも全幅維持)
 * ============================================================ */
body.is-top .header:not(.mv__header) {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s, visibility 0.3s;
}

body.is-top .header:not(.mv__header).is-show {
  visibility: visible;
  opacity: 1;
}

body.is-top .header.mv__header {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 3.75rem);
  z-index: 12;
  /* 1441以上: base の縮小幅を打ち消して全幅維持、padding は hamburger 分確保 */
}
@media screen and (min-width: 1441px) {
  body.is-top .header.mv__header {
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 3.75rem);
    padding-inline: 2.1875rem 5rem;
  }
}
@media screen and (max-width: 767px) {
  body.is-top .header.mv__header {
    top: 0.625rem;
    width: calc(100% - 1.25rem);
  }
}

.header__left {
  display: flex;
  align-items: center;
  gap: clamp(2.5rem, -1.26rem + 4.18vw, 3.75rem); /* 40 ~ 60 | 1441 ~ 1920 */
}

.header__logo {
  max-width: 12.375rem;
  width: 100%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .header__logo {
    max-width: 7.5rem;
  }
}

.header__logo-link {
  display: block;
  transition: all 0.3s;
}
@media (any-hover: hover) {
  .header__logo-link:hover {
    opacity: 0.6;
  }
}
.header__logo-link img {
  height: 100%;
  object-fit: contain;
}

@media screen and (max-width: 767px) {
  .header__nav {
    display: none;
  }
}

.header__nav-items {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.header__nav-items[data-theme=mv-header] {
  display: flex;
}

@media screen and (max-width: 1600px) {
  .header__nav-items {
    display: grid;
    grid-template-columns: repeat(4, max-content);
    column-gap: 1.5rem;
    row-gap: 0.375rem;
  }
}
@media screen and (max-width: 1440px) {
  .header__nav-items {
    display: flex;
  }
}
.header__nav-link {
  display: inline-block;
  font-size: clamp(0.938rem, 0.94vw, 1.125rem); /* 15 ~ 18 | 1600 ~ 1920 */
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.3s;
}
@media screen and (max-width: 1440px) {
  .header__nav-link {
    font-size: 1.125rem;
  }
}

.header__nav-items[data-theme=mv-header] {
  font-size: 1.125rem;
}

@media (any-hover: hover) {
  .header__nav-link:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .header__contact {
    display: none;
  }
}

.header__sp-icons {
  display: none;
}
@media screen and (max-width: 767px) {
  .header__sp-icons {
    display: flex;
    align-items: center;
    gap: 0.3125rem;
  }
}

.header__sp-icon-link {
  display: block;
  width: 2.1875rem;
  aspect-ratio: 1/1;
  transition: opacity 0.3s;
}
@media (any-hover: hover) {
  .header__sp-icon-link:hover {
    opacity: 0.6;
  }
}
.header__sp-icon-link img {
  object-fit: contain;
}

/* SP ヘッダー内 お問い合わせボタン (btn-header の縮小版) */
.header__sp-contact-btn {
  min-width: 6.5625rem;
  padding-block: 0.25rem;
}
.header__sp-contact-btn .btn-header__ja {
  font-size: max(0.8125rem, 12px);
}
.header__sp-contact-btn .btn-header__en {
  margin-top: 0.125rem;
  font-size: 9px;
}

/* ============================================================
 * mega-menu open 時: ヘッダー透明化 + hamburger だけ前面 (TOP / 下層 共通)
 * ============================================================ */
body.is-menu-open .header {
  background-color: transparent;
  box-shadow: none;
  border-radius: 0;
  pointer-events: none;
}

body.is-menu-open .header__logo,
body.is-menu-open .header__nav,
body.is-menu-open .header__contact {
  display: none;
}

/* ============================================================
 * ドロップダウンメニュー (PC のみ)
 * ============================================================ */
.header__nav-item {
  position: relative;
}

.header__nav-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  padding-top: 1.25rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 10;
}

.header__nav-item--dropdown:focus-within .header__nav-dropdown {
  opacity: 1;
  visibility: visible;
}

@media (any-hover: hover) {
  .header__nav-item--dropdown:hover .header__nav-dropdown {
    opacity: 1;
    visibility: visible;
  }
}
.header__nav-dropdown-items {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.2);
  border-radius: 0.625rem;
  overflow: hidden;
  list-style: none;
  margin: 0;
  padding: 0;
}

.header__nav-dropdown-link {
  display: block;
  font-size: max(clamp(0.875rem, 0.499rem + 0.42vw, 1rem), 12px); /* 14 ~ 16 | 1441 ~ 1920 */
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.75rem 1.25rem;
  transition: background-color 0.3s, color 0.3s;
}

.header__nav-dropdown-link::before {
  content: "└";
  margin-inline-end: 0.25rem;
}

@media (any-hover: hover) {
  .header__nav-dropdown-link:hover {
    background-color: #f0f0f0;
  }
}
.heading {
  display: inline-block;
  font-size: max(3.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .heading {
    font-size: max(1.5rem, 12px);
  }
}

.history {
  position: relative;
  padding-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .history {
    padding-top: 5rem;
  }
}

.history::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-block-end: 6.875rem;
  inset-inline-start: -1.875rem;
  inset-inline-end: -26.4375rem;
  background-image: linear-gradient(180deg, #000000 0%, #8b8b8b 100%);
  z-index: -1;
}
@media screen and (max-width: 1440px) {
  .history::before {
    inset-inline: 0;
    inset-block-end: 3.125rem;
  }
}

.history__inner {
  max-width: 84.375rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}

.history__layout {
  display: grid;
  grid-template-columns: clamp(12.5rem, -6.25rem + 20.83vw, 18.75rem) 1fr; /* 200 ~ 300 | 1440 ~ 1920 */
  column-gap: clamp(3.125rem, -6.25rem + 10.42vw, 6.25rem); /* 50 ~ 100 | 1440 ~ 1920 */
  margin-top: 1.25rem;
}
@media screen and (max-width: 1440px) {
  .history__layout {
    grid-template-columns: 18.75rem 1fr; /* 200 ~ 300 | 1440 ~ 1920 */
    column-gap: clamp(3.125rem, -6.25rem + 10.42vw, 6.25rem); /* 50 ~ 100 | 1440 ~ 1920 */
  }
}
@media screen and (max-width: 767px) {
  .history__layout {
    display: contents;
  }
}

.history__title {
  display: inline-block;
  font-size: max(3.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #ffffff;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.44;
}
@media screen and (max-width: 767px) {
  .history__title {
    font-size: max(1.875rem, 12px);
  }
}

.history__main-img {
  position: sticky;
  top: 7.5rem;
  align-self: start;
}
@media screen and (max-width: 767px) {
  .history__main-img {
    position: static;
    margin-top: 3.125rem;
  }
}

.history__main-img img {
  aspect-ratio: 300/500;
  height: 100%;
  object-fit: cover;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .history__main-img img {
    aspect-ratio: 16/9;
  }
}

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

.history__row {
  position: relative;
  display: grid;
  grid-template-columns: 11.25rem 1fr;
  gap: 1.25rem;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .history__row {
    grid-template-columns: 1fr;
    padding-bottom: 1.25rem;
    gap: 0.9375rem;
  }
}

.history__row::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #ffffff;
  width: 100%;
  height: 1px;
}

.history__row::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #ffffff;
  width: 11.25rem;
  height: 1px;
}
@media screen and (max-width: 767px) {
  .history__row::after {
    width: 6.25rem;
  }
}

.history__row-label {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #ffffff;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.7777777778;
}

.history__row-body {
  display: grid;
  grid-template-columns: 1fr;
  align-items: flex-start;
}

.history__row-body[data-theme="2col"] {
  grid-template-columns: 1fr clamp(11.125rem, -4.25rem + 17.08vw, 16.25rem); /* 180 ~ 260 | 1440 ~ 1920 */
  gap: 3.125rem;
}
@media screen and (max-width: 1440px) {
  .history__row-body[data-theme="2col"] {
    grid-template-columns: 1fr 16.25rem;
  }
}
@media screen and (max-width: 767px) {
  .history__row-body[data-theme="2col"] {
    grid-template-columns: 1fr;
    gap: 1.875rem;
  }
}

.history__row-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .history__row-content {
    margin-top: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .history__row-img {
    max-width: 25rem;
    width: 80%;
    margin-inline: auto;
  }
}
.history__row-img img {
  aspect-ratio: 260/160;
  height: 100%;
  object-fit: cover;
  border-radius: 0.625rem;
}

.history__row-item {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  column-gap: 1.25rem;
  align-items: start;
}

.history__row-body--multi .history__row-item {
  padding-block: 1.25rem;
}
@media screen and (max-width: 767px) {
  .history__row-body--multi .history__row-item {
    padding-block: 0.625rem;
  }
}

.history__row-body--multi .history__row-item:first-child {
  padding-top: 0;
}

.history__row-body--multi .history__row-item:last-child {
  padding-bottom: 0;
}

.history__row-body--multi .history__row-item:not(:last-child) {
  border-bottom: 1px solid #b5b5b5;
}

.history__row-month {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.4;
  white-space: nowrap;
}

.history__row-text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #ffffff;
  font-weight: 500;
  line-height: 1.4;
}

.history__loop-img {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .history__loop-img {
    margin-top: 5rem;
  }
}

/* ========================================
  icon-arrow（共通：丸 + 矢印アイコン）
  span 要素として親 anchor 等の内部に配置。
  親要素には position: relative が必須。
  data-theme でデザインバリエーション切替。
======================================== */
.icon-arrow {
  position: absolute;
  border-radius: 100vmax;
  transition: all 0.3s;
}

.icon-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  mask-image: url("../../assets/images/common/icon-arrow-01.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

.icon-arrow[data-theme=news-list] {
  top: 50%;
  right: 1.25rem;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #000000;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .icon-arrow[data-theme=news-list] {
    width: 1.875rem;
    height: 1.875rem;
    right: 0.9375rem;
  }
}

.icon-arrow[data-theme=news-list]::before {
  width: 0.625rem;
  aspect-ratio: 6/10;
  background-color: #ffffff;
}

.icon-arrow[data-theme=case-list] {
  right: 0.9375rem;
  bottom: 0.5rem;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #000000;
}
@media screen and (max-width: 767px) {
  .icon-arrow[data-theme=case-list] {
    width: 1.875rem;
    height: 1.875rem;
    right: 0.9375rem;
    bottom: 0.9375rem;
  }
}

.icon-arrow[data-theme=case-list]::before {
  width: 0.625rem;
  aspect-ratio: 6/10;
  background-color: #ffffff;
}

.icon-arrow[data-theme=mv-card] {
  right: 0.625rem;
  bottom: 0.5rem;
  width: 2.1875rem;
  height: 2.1875rem;
  background-color: #000000;
}
@media screen and (max-width: 767px) {
  .icon-arrow[data-theme=mv-card] {
    width: 1.875rem;
    height: 1.875rem;
  }
}

.icon-arrow[data-theme=mv-card]::before {
  width: 0.625rem;
  aspect-ratio: 6/10;
  background-color: #ffffff;
}

.icon-arrow[data-theme=side-menu] {
  right: 0.625rem;
  bottom: 0.625rem;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #ffffff;
}

.icon-arrow[data-theme=side-menu]::before {
  width: 0.375rem;
  height: 0.625rem;
  background-color: #000000;
}

.icon-arrow[data-theme=mega-menu] {
  right: 1.25rem;
  bottom: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .icon-arrow[data-theme=mega-menu] {
    right: 0.625rem;
    bottom: 0.625rem;
  }
}

.icon-arrow[data-theme=mv] {
  right: 1.25rem;
  bottom: 1.25rem;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .icon-arrow[data-theme=mv] {
    right: 0.625rem;
    bottom: 0.625rem;
  }
}

.icon-arrow[data-theme=banner-movie] {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 2.5rem;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .icon-arrow[data-theme=banner-movie] {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.icon-arrow[data-theme=banner-movie]::before {
  width: 0.625rem;
  aspect-ratio: 6/10;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .icon-arrow[data-theme=banner-movie]::before {
    width: 0.375rem;
    height: 0.625rem;
  }
}

@media (any-hover: hover) {
  .mega-menu__banner-link:hover .icon-arrow[data-theme=banner-movie],
  .side-menu__banner-link:hover .icon-arrow[data-theme=banner-movie] {
    background-color: transparent;
  }
  .mega-menu__banner-link:hover .icon-arrow[data-theme=banner-movie]::before,
  .side-menu__banner-link:hover .icon-arrow[data-theme=banner-movie]::before {
    background-color: #000000;
  }
}
.icon-arrow[data-theme=mega-menu]::before {
  width: 0.375rem;
  aspect-ratio: 6/10;
  background-color: #000000;
}

.icon-arrow[data-theme=mv]::before {
  width: 0.625rem;
  aspect-ratio: 6/10;
  background-color: #000000;
}

.interview-lead {
  position: relative;
}

.interview-lead__inner {
  max-width: 71.875rem;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .interview-lead__inner {
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.interview-lead__head {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.interview-lead__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  line-height: 1;
  color: #93b59b;
  text-transform: uppercase;
  font-style: italic;
}

.interview-lead__label-bar {
  display: inline-block;
  width: 0.625rem;
  height: 0.125rem;
  background-color: #93b59b;
}

.interview-lead__heading {
  margin-top: 0.75rem;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(3.125rem, 12px);
  font-weight: 900;
  line-height: 1.2;
  color: #000000;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .interview-lead__heading {
    font-size: max(1.625rem, 12px);
  }
}

.interview-lead__body {
  position: relative;
  margin-top: 2.875rem;
  margin-inline: auto;
}

.interview-lead__bg {
  position: absolute;
  top: 2rem;
  left: -27%;
  z-index: 0;
  width: 154.09%;
  aspect-ratio: 1695/534;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .interview-lead__bg {
    top: 45%;
  }
}

.interview-lead__bg img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
}

.interview-lead__cards {
  position: relative;
  z-index: 1;
  gap: 1.25rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .interview-lead__cards {
    grid-template-columns: repeat(1, 1fr);
  }
}

.interview-lead__card {
  max-width: 33.75rem;
  width: 100%;
  padding-block: 3.75rem 3.375rem;
  padding-inline: clamp(1.25rem, -26.72rem + 31.06vw, 4.375rem); /* 20 ~ 70 | 1441 ~ 1602 */
  background-color: rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(1.25rem);
  -webkit-backdrop-filter: blur(1.25rem);
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.16);
  border-radius: 1.25rem;
  text-align: center;
}
@media screen and (max-width: 1440px) {
  .interview-lead__card {
    padding-inline: 4.375rem;
  }
}
@media screen and (max-width: 767px) {
  .interview-lead__card {
    padding-inline: clamp(0.938rem, -0.557rem + 6.38vw, 2.5rem); /* 15 ~ 40 | 375 ~ 767 */
  }
}

.interview-lead__photo {
  width: 15rem;
  margin-inline: auto;
  aspect-ratio: 1/1;
  border-radius: 100%;
  overflow: hidden;
}

.interview-lead__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.interview-lead__card-heading {
  margin-top: 2.8125rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.625rem, 12px);
  font-weight: 700;
  line-height: 1.4230769231;
  color: #000000;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .interview-lead__card-heading {
    margin-top: 1.875rem;
    font-size: max(1.375rem, 12px);
  }
}

.interview-lead__divider {
  display: block;
  width: 100%;
  height: 0.0625rem;
  margin-top: 1.875rem;
  background-color: #000000;
}
@media screen and (max-width: 767px) {
  .interview-lead__divider {
    margin-top: 1.25rem;
  }
}

.interview-lead__profile {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 1.3125rem;
  margin-top: 1.875rem;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .interview-lead__profile {
    margin-top: 1.25rem;
  }
}

.interview-lead__badge {
  display: inline-block;
  flex-shrink: 0;
  padding-block: 0.375rem;
  padding-inline: 0.634375rem;
  background-color: #000000;
  border-radius: 0.25rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .interview-lead__badge {
    margin-top: 0.1875rem;
  }
}

.interview-lead__org {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.25rem, 12px);
  font-weight: 500;
  line-height: 1.5;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .interview-lead__org {
    font-size: max(1.125rem, 12px);
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
}

.interview-lead__name {
  margin-top: 0.625rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.5rem, 12px);
  font-weight: 500;
  line-height: 1.4583333333;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .interview-lead__name {
    font-size: max(1.25rem, 12px);
  }
}

.interview-lead__name-hon {
  font-size: max(1.125rem, 12px);
}
@media screen and (max-width: 767px) {
  .interview-lead__name-hon {
    font-size: max(1rem, 12px);
  }
}

.interview-marquee {
  width: 100%;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .interview-marquee {
    margin-top: 5rem;
  }
}

.interview-marquee__track {
  display: inline-flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  animation: interview-marquee 30s linear infinite;
  will-change: transform;
}

.interview-marquee__text {
  display: inline-block;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 5rem;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -0.04em;
  color: #efefef;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .interview-marquee__text {
    font-size: 3rem;
  }
}

.interview-marquee__strong {
  font-weight: 700;
}

@keyframes interview-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.interview-marquee.loop-img {
  overflow: hidden;
  width: 100vw;
  height: 5vw;
  margin-inline-start: -1.875rem;
}
@media screen and (max-width: 1440px) {
  .interview-marquee.loop-img {
    margin-inline-start: 0;
  }
}
@media screen and (max-width: 767px) {
  .interview-marquee.loop-img {
    height: 16vw;
  }
}

.interview-marquee .loop-img__wrapper,
.interview-marquee .loop-img__items {
  height: 100%;
  gap: min(2.5rem, 2.0833333333vw);
  align-items: center;
  flex-shrink: 0;
}

.interview-article {
  width: min(100% - 3.125rem, 43.75rem);
  margin-top: 7.375rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .interview-article {
    width: min(100% - 1.25rem, 31.25rem);
    margin-top: 5rem;
  }
}

.interview-article__block {
  margin-top: 3.75rem;
}

.interview-article__heading {
  padding-bottom: 0.625rem;
  border-bottom: 0.0625rem solid #000000;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.75rem, 12px);
  font-weight: 700;
  line-height: 1.4285714286;
  color: #000000;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .interview-article__heading {
    font-size: max(1.375rem, 12px);
  }
}

.interview-article__heading span {
  display: inline-block;
}

.interview-article__text-box {
  margin-top: 2.25rem;
}

.interview-article__text {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.125rem, 12px);
  font-weight: 500;
  line-height: 1.7777777778;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .interview-article__text {
    font-size: max(1rem, 12px);
  }
}

.interview-article__text + .interview-article__text {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .interview-article__text + .interview-article__text {
    margin-top: 1.25rem;
  }
}

.interview-article__text strong {
  font-weight: 700;
}

.interview-article__bullet {
  display: block;
  position: relative;
  padding-left: 1.5rem;
}

.interview-article__bullet::before {
  content: "";
  position: absolute;
  left: 0.1875rem;
  top: calc(0.8888888889em - 0.28125rem);
  width: 0.6875rem;
  height: 0.6875rem;
  border-radius: 100%;
  background-color: #000000;
}

.interview-article__list-lead {
  display: block;
}

.interview-article__list-item {
  display: block;
}

.interview-article__list-description {
  display: block;
  padding-left: 1em;
}

.interview-figure {
  margin-top: 3.375rem;
}

.interview-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 700/450;
  object-fit: cover;
}

.interview-photo {
  margin-top: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .interview-photo {
    margin-top: 2.1875rem;
  }
}

.interview-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 700/525;
  object-fit: cover;
  border-radius: 0.625rem;
}

.interview-photo--group img {
  aspect-ratio: 700/390;
}

.interview-photo__caption {
  margin-top: 1.25rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.125rem, 12px);
  font-weight: 500;
  line-height: 1.7777777778;
  color: #000000;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .interview-photo__caption {
    margin-top: 0.625rem;
    font-size: max(1rem, 12px);
  }
}

.interview-article__block--mt-lg {
  margin-top: 7.0625rem;
}
@media screen and (max-width: 767px) {
  .interview-article__block--mt-lg {
    margin-top: 5rem;
  }
}

.interview-marquee--tight {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .interview-marquee--tight {
    margin-top: 1.875rem;
  }
}

.interview-lead__intro {
  max-width: 43.75rem;
  margin-top: 2.5rem;
  margin-inline: auto;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.125rem, 12px);
  font-weight: 500;
  line-height: 1.7777777778;
  color: #000000;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .interview-lead__intro {
    margin-top: 1.5rem;
    font-size: max(1rem, 12px);
  }
}

.interview-figure--02 {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .interview-figure--02 {
    margin-top: 2.5rem;
  }
}

.interview-figure--02 img {
  aspect-ratio: 700/470;
  border-radius: 0.625rem;
}

.inventory-feature {
  position: relative;
  z-index: 0;
  margin-top: 8.75rem;
  margin-inline: -1.875rem -26.4375rem;
  padding-block: 6.25rem 5rem;
  padding-inline: 1.875rem 26.4375rem;
  overflow: hidden;
  background: linear-gradient(180deg, #ddecf5 0%, #fff8bf 100%);
  border-top-left-radius: 12.5rem;
  border-bottom-left-radius: 12.5rem;
}
@media screen and (max-width: 1440px) {
  .inventory-feature {
    margin-inline: 0;
    padding-inline: 1.5625rem;
    border-top-left-radius: 6.25rem;
    border-bottom-left-radius: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .inventory-feature {
    margin-top: 5rem;
    padding-block: 3.125rem;
    padding-inline: 0.9375rem;
    border-top-left-radius: 3.75rem;
    border-bottom-left-radius: 3.75rem;
  }
}

.inventory-feature__deco-text {
  position: absolute;
  top: 4.5rem;
  left: calc(max(0px, (100vw - 120rem) / 2) + 4.625rem);
  z-index: -1;
  width: min(84.75rem, 70.625vw);
  mix-blend-mode: multiply;
  pointer-events: none;
}
@media screen and (max-width: 1440px) {
  .inventory-feature__deco-text {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) {
  .inventory-feature__deco-text {
    top: 1.875rem;
    width: min(31.25rem, 90.6666666667vw);
  }
}

.inventory-feature__inner {
  position: relative;
  max-width: 70rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .inventory-feature__inner {
    max-width: 31.25rem;
  }
}

.inventory-feature__head {
  margin-top: 0.4375rem;
  text-align: center;
}

.inventory-feature__heading {
  display: inline-block;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(2.125rem, 12px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.0588235294;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .inventory-feature__heading {
    font-size: max(1.5rem, 12px);
  }
}

.inventory-feature__heading span {
  display: inline-block;
}

.inventory-feature__lead {
  margin-top: 0.875rem;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  line-height: 1.8;
  color: #000000;
}

.inventory-feature__cards {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .inventory-feature__cards {
    margin-top: 1.875rem;
  }
}

.inventory-feature__card {
  display: flex;
  gap: 3.75rem;
  padding-block: 2.5rem;
  padding-inline: 2.5rem;
  background-color: #ffffff;
  border-radius: 1.25rem;
  box-shadow: inset 0 0.25rem 0.25rem #b4dff8;
}
@media screen and (max-width: 767px) {
  .inventory-feature__card {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-block: 1.5rem;
    padding-inline: 1.25rem;
  }
}

.inventory-feature__movie-wrap {
  flex-shrink: 1;
  min-width: 0;
  width: 31.25rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .inventory-feature__movie-wrap {
    order: 2;
    width: 100%;
    margin-top: 1.5rem;
  }
}

.inventory-feature__movie {
  display: block;
  width: 100%;
  aspect-ratio: 500/282;
  object-fit: cover;
  border-radius: 1.25rem;
}

.inventory-feature__body {
  flex-shrink: 1;
  min-width: 0;
  width: 27.5rem;
  max-width: 100%;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .inventory-feature__body {
    display: contents;
  }
}

.inventory-feature__head-row {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .inventory-feature__head-row {
    order: 1;
  }
}

.inventory-feature__numbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.75rem;
  height: 4.375rem;
  min-width: 48px;
  min-height: 44px;
  background: linear-gradient(180deg, #ddecf5 0%, #fff8bf 100%);
  border-radius: 0 0.625rem 0.625rem 0;
}

.inventory-feature__num-label {
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(0.625rem, 12px);
  font-weight: 500;
  line-height: 1;
  color: #000000;
  text-transform: uppercase;
  font-style: italic;
}

.inventory-feature__num-digit {
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.375rem, 12px);
  font-weight: 700;
  line-height: 1;
  color: #000000;
  font-style: italic;
}

.inventory-feature__card-title {
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.875rem, 12px);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.2;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .inventory-feature__card-title {
    font-size: max(1.5rem, 12px);
  }
}

.inventory-feature__description {
  margin-top: 1.125rem;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  line-height: 1.8;
  color: #575757;
}
@media screen and (max-width: 767px) {
  .inventory-feature__description {
    order: 3;
  }
}

.inventory-feature__description-strong {
  font-weight: 700;
  color: #000000;
}

.inventory-intro {
  position: relative;
  z-index: 0;
  margin-inline-start: -1.875rem;
  margin-inline-end: -26.4375rem;
  padding-block: 1.875rem 0;
  padding-inline-start: 1.875rem;
  padding-inline-end: 26.4375rem;
  clip-path: inset(-100vh 0 -100vh 0);
  background-color: #ddecf5;
  border-bottom-left-radius: 12.5rem;
}
@media screen and (max-width: 1440px) {
  .inventory-intro {
    margin-inline: 0;
    padding-inline: 1.5625rem;
    border-bottom-left-radius: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .inventory-intro {
    padding-block: 1.875rem 3.125rem;
    padding-inline: 0.9375rem;
    border-bottom-left-radius: 3.75rem;
  }
}

.inventory-intro::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 46.25rem;
  background: linear-gradient(90deg, #fff8bf 0%, #ddecf5 100%);
  border-bottom-left-radius: 12.5rem;
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width: 1440px) {
  .inventory-intro::before {
    width: 55%;
    border-bottom-left-radius: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .inventory-intro::before {
    border-bottom-left-radius: 3.75rem;
  }
}

.inventory-intro__deco-text {
  position: absolute;
  top: 11.375rem;
  left: calc(max(0px, (100vw - 120rem) / 2) + 4.625rem);
  z-index: -1;
  width: min(84.75rem, 70.625vw);
  mix-blend-mode: multiply;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .inventory-intro__deco-text {
    top: 8.75rem;
    left: 50%;
    translate: -50% 0;
    width: min(31.25rem, 90.6666666667vw);
  }
}

.inventory-intro__inner {
  position: relative;
  max-width: 70rem;
  margin-inline: auto;
  padding-top: 16.25rem;
  padding-bottom: 0.875rem;
}
@media screen and (max-width: 1920px) {
  .inventory-intro__inner {
    max-width: 80.625rem;
    margin-left: max(0px, (100% - 120rem) / 2);
    margin-right: auto;
    padding-left: clamp(2.5rem, -21.875rem + 27.083vw, 10.625rem); /* 40 ~ 170 | 1440 ~ 1920 */
  }
}
@media screen and (max-width: 1440px) {
  .inventory-intro__inner {
    padding-left: 7.5rem;
  }
}
@media screen and (max-width: 767px) {
  .inventory-intro__inner {
    max-width: 31.25rem;
    margin-inline: auto;
    padding-top: 10rem;
    padding-left: 0;
  }
}

.inventory-intro__logo-card {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 18.75rem;
  height: 13.125rem;
  padding-top: 8.125rem;
  padding-inline-start: 2.5rem;
  background-color: #ffffff;
  border-bottom-right-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .inventory-intro__logo-card {
    width: 12.5rem;
    height: 8.75rem;
    padding-top: 5.375rem;
    padding-inline-start: 1.5rem;
  }
}

.inventory-intro__logo-img {
  display: block;
  width: 12.8125rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .inventory-intro__logo-img {
    width: 10rem;
  }
}

.inventory-intro__main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3.6875rem;
}
@media screen and (max-width: 767px) {
  .inventory-intro__main {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
}

.inventory-intro__lead {
  flex-shrink: 0;
  width: 31.3125rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .inventory-intro__lead {
    display: contents;
  }
}

@media (width <= 500px) {
  .inventory-intro__lead-inner {
    margin-inline: auto;
    width: fit-content;
  }
}

.inventory-intro__sub {
  display: inline-block;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.5625rem, 12px);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.44;
  color: #000000;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .inventory-intro__sub {
    font-size: max(1.125rem, 12px);
    white-space: normal;
  }
}
@media (width <= 410px) {
  .inventory-intro__sub {
    display: flex;
    flex-direction: column;
  }
}

.inventory-intro__sub span {
  display: inline-block;
}

.inventory-intro__title {
  display: inline-block;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(3.375rem, 12px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.462962963;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .inventory-intro__title {
    font-size: max(1.875rem, 12px);
  }
}

.inventory-intro__title-small {
  font-size: max(2.625rem, 12px);
}
@media screen and (max-width: 767px) {
  .inventory-intro__title-small {
    font-size: max(1.5rem, 12px);
  }
}

.inventory-intro__checks {
  margin-top: 1.25rem;
}

.inventory-intro__check-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
}
@media (width <= 500px) {
  .inventory-intro__check-row {
    flex-direction: column;
    gap: 0.625rem;
  }
}

.inventory-intro__check-row + .inventory-intro__check-row {
  margin-top: 0.625rem;
}

.inventory-intro__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding-block: 0.1875rem;
  padding-inline: 0.1875rem 1.25rem;
  background-color: #01a0eb;
  border-radius: 1.25rem;
}

.inventory-intro__pill-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.125rem;
  height: 2.125rem;
  background-color: #ffffff;
  border-radius: 100%;
}

.inventory-intro__pill-icon::before {
  content: "";
  width: 1.125rem;
  height: 0.875rem;
  background-color: #01a0eb;
  mask-image: url("../../assets/images/inventory-system/icon-check.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.inventory-intro__pill-text {
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.5;
  color: #ffffff;
}

.inventory-intro__pill-trail {
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
  color: #000000;
}

.inventory-intro__cta-wrapper {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .inventory-intro__cta-wrapper {
    order: 1;
    margin-inline: auto;
    width: fit-content;
  }
}

.inventory-intro__cta {
  display: inline-block;
  max-width: 28.75rem;
  width: 100%;
  transition: opacity 0.3s;
}

.inventory-intro__cta img {
  display: block;
  width: 100%;
  height: auto;
}

@media (any-hover: hover) {
  .inventory-intro__cta:hover {
    opacity: 0.5;
  }
}
.inventory-intro__visual {
  position: relative;
  flex-shrink: 1;
  min-width: 0;
  width: 35rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .inventory-intro__visual {
    order: 2;
    width: 100%;
    margin-top: 1.875rem;
  }
}

.inventory-intro__visual::after {
  content: "";
  position: absolute;
  bottom: -4.375rem;
  left: 50%;
  z-index: -1;
  width: 25rem;
  height: 1.875rem;
  background-color: #43b9ff;
  border-radius: 100%;
  filter: blur(0.9375rem);
  transform: translateX(-50%);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .inventory-intro__visual::after {
    display: none;
  }
}

.inventory-intro__movie {
  display: block;
  width: 100%;
  aspect-ratio: 560/316;
  object-fit: cover;
  border-radius: 1.25rem;
}

.inventory-intro__steps {
  position: relative;
  display: flex;
  gap: 1.25rem;
  margin-top: 3.75rem;
  max-width: 62.5rem;
  transform: translateY(3.4375rem);
}
@media screen and (max-width: 1440px) {
  .inventory-intro__steps {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .inventory-intro__steps {
    flex-direction: column;
    margin-top: 3.125rem;
    margin-inline: auto;
    max-width: fit-content;
    transform: none;
  }
}

.inventory-intro__step {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
  min-width: 0;
  padding-block: 1.25rem;
  padding-inline-end: 1rem;
  background-color: #ffffff;
  border-radius: 0.625rem;
  box-shadow: 0.625rem 0.625rem 0.625rem rgba(221, 236, 245, 0.9);
}

@media (width <= 1680px) {
  .inventory-intro__step[data-step="01"] {
    flex-grow: 1.08;
  }
}

@media (width <= 1680px) {
  .inventory-intro__step[data-step="02"] {
    flex-grow: 1.02;
  }
}

@media (width <= 1680px) {
  .inventory-intro__step[data-step="03"] {
    flex-grow: 0.9;
  }
}

.inventory-intro__step-bar {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.75rem;
  height: 5rem;
  min-width: 48px;
  min-height: 44px;
  background: linear-gradient(180deg, #ddecf5 0%, #fff8bf 100%);
  border-radius: 0 0.625rem 0.625rem 0;
}

.inventory-intro__step-label {
  display: block;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(0.625rem, 12px);
  font-weight: 500;
  line-height: 1;
  color: #000000;
  text-transform: uppercase;
  font-style: italic;
}

.inventory-intro__step-digit {
  display: block;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.375rem, 12px);
  font-weight: 700;
  line-height: 1;
  color: #000000;
  font-style: italic;
}

.inventory-intro__step-text {
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.125rem, 12px);
  font-weight: 500;
  line-height: 1.4444444444;
  color: #000000;
}

.inventory-intro__step-marker {
  --marker-height: 55%;
  font-weight: 700;
  color: #01a0eb;
  background-image: linear-gradient(to top, #ddecf5 var(--marker-height), transparent var(--marker-height));
  background-repeat: no-repeat;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.inventory-intro__step-person {
  position: absolute;
  right: -7.5rem;
  bottom: -0.625rem;
  width: 8.75rem;
  height: auto;
}
@media screen and (max-width: 1680px) {
  .inventory-intro__step-person {
    display: none;
  }
}

.inventory-merit {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .inventory-merit {
    margin-top: 5rem;
  }
}

.inventory-merit__inner {
  max-width: 73.125rem;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .inventory-merit__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.inventory-merit__container {
  display: flex;
  align-items: stretch;
  gap: 3.5rem;
}
@media screen and (max-width: 767px) {
  .inventory-merit__container {
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
  }
}

.inventory-merit__headings {
  margin-top: 0.6875rem;
  position: relative;
  flex-shrink: 0;
  align-self: flex-start;
  width: 100%;
  max-width: 11.5rem;
}
@media screen and (max-width: 767px) {
  .inventory-merit__headings {
    align-self: auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    gap: 1.875rem;
    max-width: none;
  }
}

.inventory-merit__vtexts {
  display: flex;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .inventory-merit__vtexts {
    justify-content: center;
    gap: 0.75rem;
  }
}

.inventory-merit__vtext {
  position: relative;
  z-index: 1;
  writing-mode: vertical-rl;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(2.5rem, 12px);
  font-weight: 700;
  letter-spacing: 0.3em;
  line-height: 1.25;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .inventory-merit__vtext {
    font-size: max(1.5rem, 12px);
  }
}

.inventory-merit__vtext + .inventory-merit__vtext::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: -6.875rem;
  left: -0.5625rem;
  width: 0.125rem;
  background-image: url("../../assets/images/inventory-system/line-vertical.svg");
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 0.125rem auto;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .inventory-merit__vtext + .inventory-merit__vtext::before {
    top: 0;
    bottom: 0;
    left: -0.4375rem;
  }
}

.inventory-merit__vtext--label {
  font-size: max(2.5rem, 12px);
  text-orientation: upright;
}
@media screen and (max-width: 767px) {
  .inventory-merit__vtext--label {
    font-size: max(1.5rem, 12px);
  }
}

.inventory-merit__vtext-accent {
  color: #01a0eb;
}

.inventory-merit__workers {
  position: relative;
  z-index: 2;
  display: block;
  width: 11.25rem;
  height: auto;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .inventory-merit__workers {
    flex-shrink: 0;
    width: 7.5rem;
    margin-top: 0;
  }
}

.inventory-merit__items {
  width: 100%;
  min-width: 0;
  max-width: 55rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 1440px) {
  .inventory-merit__items {
    flex-basis: 0;
    flex-grow: 1;
  }
}
@media screen and (max-width: 767px) {
  .inventory-merit__items {
    flex: 0 0 auto;
    width: 100%;
  }
}

.inventory-merit__item {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 2.1875rem;
  min-width: 0;
  min-height: 22.5rem;
  padding-block: 1.25rem;
  padding-inline: 3.125rem 1.25rem;
  background: linear-gradient(180deg, #ddecf5 0%, #fff8bf 100%);
  border-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .inventory-merit__item {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    min-height: 0;
    padding-block: 1.875rem;
    padding-inline: 1.25rem;
  }
}

.inventory-merit__item-head {
  position: relative;
  flex-shrink: 0;
  width: 10.9375rem;
  margin-top: 4.375rem;
}
@media screen and (max-width: 767px) {
  .inventory-merit__item-head {
    width: 100%;
    margin-top: 2.5rem;
  }
}

.inventory-merit__item-logo {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.25rem, 12px);
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
  font-style: italic;
}

.inventory-merit__item-sub {
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.125rem, 12px);
  font-weight: 700;
  line-height: 1.4444444444;
  color: #000000;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.inventory-merit__item-sub::after {
  content: "";
  display: block;
  width: 6.25rem;
  height: 0.25rem;
  margin-top: 0.625rem;
  background-color: #ffffff;
}

.inventory-merit__item-title {
  margin-top: 1.5rem;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(2.125rem, 12px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2352941176;
  color: #01a0eb;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .inventory-merit__item-title {
    font-size: max(1.75rem, 12px);
    white-space: normal;
  }
}

.inventory-merit__box {
  display: flex;
  align-items: center;
  gap: 4.375rem;
  flex-shrink: 1;
  min-width: 0;
  width: 37.5rem;
  max-width: 100%;
  padding-block: 1.25rem;
  padding-inline: 3.125rem 2.5rem;
  background-color: #ffffff;
  border-radius: 1.25rem;
  box-shadow: inset 0 0.25rem 0.25rem #b4dff8;
}
@media screen and (max-width: 767px) {
  .inventory-merit__box {
    flex-direction: column;
    gap: 1.875rem;
    width: 100%;
    height: auto;
    padding-block: 1.5rem;
    padding-inline: 1.25rem;
  }
}

.inventory-merit__box-illust {
  flex-shrink: 1;
  min-width: 0;
  width: 12.5rem;
}
@media screen and (max-width: 767px) {
  .inventory-merit__box-illust {
    width: 8.75rem;
  }
}

.inventory-merit__box-illust img {
  display: block;
  width: 100%;
  height: auto;
}

.inventory-merit__body {
  flex-shrink: 1;
  min-width: 0;
  width: 15rem;
  max-width: 100%;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  line-height: 1.8;
  color: #575757;
}
@media screen and (max-width: 767px) {
  .inventory-merit__body {
    width: 100%;
  }
}

.inventory-problem {
  position: relative;
  z-index: 0;
  margin-top: 8.5rem;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .inventory-problem {
    margin-top: 5rem;
  }
}

.inventory-problem__deco-text {
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  width: min(84.75rem, 70.625vw);
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .inventory-problem__deco-text {
    left: 50%;
    width: min(31.25rem, 90.6666666667vw);
  }
}

.inventory-problem__inner {
  max-width: 73.125rem;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .inventory-problem__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.inventory-problem__head {
  padding-top: 6.5625rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .inventory-problem__head {
    padding-top: 3.75rem;
  }
}

.inventory-problem__heading {
  display: inline-block;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.625rem, 12px);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.3846153846;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .inventory-problem__heading {
    font-size: max(1.25rem, 12px);
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
}

.inventory-problem__head-line {
  display: block;
  width: 6.25rem;
  height: 0.25rem;
  margin-top: 1.875rem;
  margin-inline: auto;
  background: linear-gradient(90deg, #ddecf5 0%, #fff8bf 100%);
  border-radius: 0.125rem;
}

.inventory-problem__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem 1.25rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .inventory-problem__cards {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-top: 2.5rem;
  }
}

.inventory-problem__card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 27.5rem;
  padding-block: 2.5rem 7.5rem;
  padding-inline: 1.875rem;
  background-color: #ddecf5;
  border-radius: 1.25rem;
  box-shadow: inset 0 0.25rem 0.25rem #b4dff8;
}
@media screen and (max-width: 767px) {
  .inventory-problem__card {
    min-height: 0;
    padding-block: 2rem 8.125rem;
  }
}

.inventory-problem__icon {
  position: absolute;
  bottom: -1.25rem;
  left: 50%;
  width: 7.5rem;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .inventory-problem__icon {
    bottom: 0.625rem;
  }
}

.inventory-problem__icon img {
  display: block;
  width: 100%;
  height: auto;
}

.inventory-problem__card-sub {
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.125rem, 12px);
  font-weight: 700;
  line-height: 1.4444444444;
  color: #01a0eb;
  text-align: center;
}

.inventory-problem__card-title {
  margin-top: 0.625rem;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(2.125rem, 12px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4411764706;
  color: #000000;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .inventory-problem__card-title {
    font-size: max(1.75rem, 12px);
  }
}

.inventory-problem__card-text {
  width: 15rem;
  margin-top: 1.875rem;
  margin-inline: auto;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  line-height: 1.7375;
  color: #575757;
}
@media screen and (max-width: 767px) {
  .inventory-problem__card-text {
    width: 100%;
  }
}

.loop-img__wrapper {
  display: flex;
  align-items: center;
  gap: 1.875rem;
}
@media screen and (max-width: 1921px) {
  .loop-img__wrapper {
    gap: 1.25rem;
  }
}

.loop-img__wrapper--vertical {
  flex-direction: column;
  height: 100%;
}

.loop-img__items {
  display: flex;
  align-items: center;
  gap: 1.875rem;
}
@media screen and (max-width: 1921px) {
  .loop-img__items {
    gap: 1.25rem;
  }
}

.loop-img__items--left {
  animation: loop-scroll-left 300s infinite linear both;
}

.loop-img__items--left-strengths {
  animation: loop-scroll-left 100s infinite linear both;
}

@keyframes loop-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.loop-img__items--right {
  animation: loop-scroll-right 100s infinite linear both;
}

@keyframes loop-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
.loop-img__item.loop-img__item--img {
  width: 32.5rem;
}
@media screen and (max-width: 1921px) {
  .loop-img__item.loop-img__item--img {
    width: 29.5rem;
  }
}
@media screen and (max-width: 767px) {
  .loop-img__item.loop-img__item--img {
    width: 12.5rem;
  }
}

.loop-img__item.loop-img__item--img img {
  aspect-ratio: 472/340;
  height: 100%;
  object-fit: cover;
  border-radius: 0.625rem;
}

.loop-img__item.loop-img__item--text {
  flex-shrink: 0;
  height: 100%;
}

.loop-img__item.loop-img__item--text img {
  width: auto;
  max-width: none;
  height: 100%;
  object-fit: contain;
}

@media screen and (max-width: 1440px) {
  .lower-fv {
    padding-block: 1.25rem 2.1875rem;
  }
}
@media screen and (max-width: 767px) {
  .lower-fv {
    padding-block: 1.25rem 2.1875rem;
  }
}

.lower-fv[data-theme=news],
.lower-fv[data-theme=company],
.lower-fv[data-theme=column],
.lower-fv[data-theme=faq],
.lower-fv[data-theme=case] {
  padding-block: 1.25rem 5.9375rem;
}

.lower-fv__inner {
  padding-inline: clamp(1.563rem, -10rem + 12.5vw, 5rem); /* 25 ~ 80 | 1480 ~ 1920 */
  padding-inline: clamp(1.563rem, -20.385rem + 21.15vw, 5rem); /* 25 ~ 80 | 1660 ~ 1920 */
  max-width: 91.6875rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .lower-fv__inner {
    padding-inline: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .lower-fv__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.lower-fv__title {
  display: inline-block;
  font-size: 3.75rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .lower-fv__title {
    font-size: 1.875rem;
  }
}

.manga {
  margin-top: 2.5rem;
}

.manga__inner {
  max-width: 75.625rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .manga__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .manga__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.manga__head {
  position: relative;
}

.manga__title img {
  height: 100%;
  object-fit: contain;
}

.manga__subtitle {
  position: absolute;
  top: 13.625rem;
  right: 0;
  font-size: max(1.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  white-space: nowrap;
  padding-right: clamp(2.5rem, -11rem + 15vw, 7rem);
}
@media screen and (max-width: 767px) {
  .manga__subtitle {
    position: static;
    margin-top: 0.625rem;
    font-size: max(1.25rem, 12px);
    padding-right: 0;
  }
}

.manga__body {
  display: flex;
  align-items: flex-start;
  gap: 6.25rem;
  max-width: 68.75rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .manga__body {
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
    margin-top: 3.125rem;
  }
}

.manga__cover {
  flex-shrink: 0;
  width: 37.5rem;
}
@media screen and (max-width: 767px) {
  .manga__cover {
    width: 100%;
    max-width: 27.5rem;
  }
}

.manga__cover img {
  height: auto;
  aspect-ratio: 600/760;
  object-fit: contain;
}

@media screen and (max-width: 767px) {
  .manga__list-area {
    width: 100%;
    max-width: 27.5rem;
  }
}

.manga__list-title img {
  width: 100%;
  max-width: 25rem;
  height: auto;
}

.manga__list {
  margin-top: 1.25rem;
}

.manga__item {
  display: flex;
  align-items: baseline;
  column-gap: 1.9375rem;
  padding-block: 1.25rem;
  border-bottom: 0.5px solid #575757;
}

.manga__item-number {
  flex-shrink: 0;
  font-size: 1.25rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1;
  font-style: italic;
}

.manga__item-body {
  flex: 1;
  min-width: 0;
}

.manga__item-title {
  position: relative;
  font-size: 1.125rem;
  font-family: "Zen Old Mincho", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  font-weight: 400;
  color: #000000;
  line-height: 1.5;
  letter-spacing: -0.05em;
}

.manga__item-title::before {
  content: "–";
  position: absolute;
  top: 0;
  left: -1.125rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0;
}

.manga__item-sub {
  margin-top: 0.25rem;
  font-size: max(0.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.5;
}

.manga__wrapper {
  margin-top: 7.5rem;
  height: 700vh;
}
@media screen and (max-width: 767px) {
  .manga__wrapper {
    margin-top: 6.25rem;
    height: 600vh;
  }
}

.manga__pin {
  position: sticky;
  top: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  height: 100vh;
  overflow: hidden;
}

.manga__deco {
  grid-area: 1/1;
  z-index: 0;
  width: 100%;
  max-width: 62.5rem;
}

.manga__frames {
  position: relative;
  grid-area: 1/1;
  height: 80vh;
  width: 100%;
  max-width: 37.1875rem;
  z-index: 1;
}

.manga__frame {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 1;
}

.manga__frame.is-active {
  z-index: 2;
  opacity: 1;
}

.manga__frame img {
  height: 100%;
  object-fit: contain;
}

@media (prefers-reduced-motion: reduce) {
  .manga__frame {
    transition: none;
  }
}
.marking-print-about {
  margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about {
    margin-top: 5rem;
  }
}

.marking-print-about__inner {
  width: 100%;
  max-width: 81.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .marking-print-about__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .marking-print-about__inner {
    max-width: 32.5rem;
    width: 100%;
    padding-inline: 0.625rem;
  }
}

.marking-print-about__head {
  display: grid;
  grid-template-columns: 416fr 800fr;
  gap: 5.25rem;
  margin-top: 7.1875rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__head {
    grid-template-columns: 1fr;
    margin-top: 3.75rem;
  }
}

.marking-print-about__head-title {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__head-title {
    margin-top: 0;
  }
}

.marking-print-about__head-en {
  font-size: 3.75rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .marking-print-about__head-en {
    font-size: 2.125rem;
  }
}

.marking-print-about__head-ja {
  font-size: 1.75rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  margin-top: 0.625rem;
}

.marking-print-about__head-scribble {
  display: block;
  position: absolute;
  left: 0;
  top: 6.875rem;
  width: 26rem;
  aspect-ratio: 416/24;
  background-image: url("../../assets/images/marking-print/deco-title-scribble.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .marking-print-about__head-scribble {
    top: 5.3125rem;
    width: 18.75rem;
  }
}

.marking-print-about__head-lead {
  font-size: 1.5rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .marking-print-about__head-lead {
    font-size: 1.125rem;
    line-height: 1.7777777778;
  }
}

/* ---- 本文ブロック ---- */
.marking-print-about__body {
  width: 100%;
  max-width: 68.75rem;
  margin-inline: auto;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__body {
    margin-top: 3.5rem;
  }
}

.marking-print-about__visual,
.marking-print-about__visual-small {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__visual,
  .marking-print-about__visual-small {
    margin-top: 5rem;
  }
}

.marking-print-about__visual img {
  height: 100%;
  aspect-ratio: 1100/500;
  object-fit: cover;
  border-radius: 0.625rem;
}

.marking-print-about__visual-small img {
  height: 100%;
  object-fit: contain;
}

.marking-print-about__lead {
  margin-top: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__lead {
    margin-top: 5rem;
  }
}

.marking-print-about__lead-02 {
  margin-top: 2.5rem;
}

.marking-print-about__lead-title {
  display: inline-block;
  font-size: 3.125rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .marking-print-about__lead-title {
    font-size: 1.875rem;
  }
}

.marking-print-about__lead-text-wrapper {
  margin-top: 2.6875rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__lead-text-wrapper {
    margin-top: 1.875rem;
  }
}

.marking-print-about__lead-text {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .marking-print-about__lead-text {
    font-size: max(1rem, 12px);
  }
}

.marking-print-about__lead-text:nth-child(n+2) {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__lead-text:nth-child(n+2) {
    margin-top: 1.5625rem;
  }
}

.marking-print-about__gallery {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__gallery {
    margin-top: 3.5rem;
  }
}

.marking-print-about__gallery-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__gallery-items {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.marking-print-about__gallery-img img {
  aspect-ratio: 360/257;
  object-fit: cover;
  border-radius: 0.625rem;
}

.marking-print-about__gallery-text-wrapper {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__gallery-text-wrapper {
    margin-top: 1.875rem;
  }
}

.marking-print-about__gallery-text {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #575757;
  line-height: 1.4;
}

.marking-print-about__print-steps {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__print-steps {
    margin-top: 5rem;
  }
}

.marking-print-about__point-box {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .marking-print-about__point-box {
    margin-top: 5rem;
  }
}

.marking-print-about__profile {
  position: relative;
}

.marking-print-about__profile-bg {
  position: absolute;
  top: 2.0625rem;
  left: -27%;
  background-image: url("../../assets/images/marking-print/deco-bg-scribble.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 154.1%;
  aspect-ratio: 1695/534;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .marking-print-about__profile-bg {
    top: 50%;
    transform: translateY(-50%);
  }
}

.profile-card {
  position: relative;
  z-index: 1;
  padding-block: 3.75rem 1.5625rem;
  padding-inline: 5.625rem;
  background-color: rgba(255, 255, 255, 0.65);
  border-radius: 0.625rem;
  backdrop-filter: blur(1.875rem) brightness(1.15);
  -webkit-backdrop-filter: blur(1.875rem) brightness(1.15);
}
@media screen and (max-width: 767px) {
  .profile-card {
    padding-block: 2.5rem;
    padding-inline: 1.25rem;
  }
}

.profile-card[data-theme=ouc-original] {
  padding-block: 3.75rem;
}
@media screen and (max-width: 767px) {
  .profile-card[data-theme=ouc-original] {
    padding-block: 2.5rem;
  }
}

.profile-card__photo {
  width: 100%;
  max-width: 15rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .profile-card__photo {
    max-width: 11.25rem;
  }
}

.profile-card__photo img {
  height: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 100vmax;
}

.profile-card__name {
  text-align: center;
  margin-top: 2.1875rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #b5b5b5;
}

.profile-card__name-main {
  font-size: max(1.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .profile-card__name-main {
    font-size: max(1.5rem, 12px);
  }
}

.profile-card__name-honorific {
  font-size: max(1.375rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  margin-left: 0.25rem;
}
@media screen and (max-width: 767px) {
  .profile-card__name-honorific {
    font-size: max(1rem, 12px);
  }
}

.profile-card__name-en {
  font-size: 11px;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #575757;
  letter-spacing: 0.2em;
  text-transform: capitalize;
  margin-top: 0.375rem;
}
@media screen and (max-width: 767px) {
  .profile-card__name-en {
    font-size: 10px;
  }
}

.profile-card__body {
  display: flex;
  align-items: flex-start;
  gap: 1.875rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .profile-card__body {
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
  }
}

.profile-card__label {
  display: inline-block;
  font-size: max(0.875rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-style: italic;
  color: #ffffff;
  line-height: 1.4285714286;
  text-transform: uppercase;
  border-radius: 0.375rem;
  background-color: #000000;
  padding-block: 0.1875rem;
  padding-inline: 0.5625rem;
}

.profile-card__label[data-theme=green] {
  background-color: #2d6a55;
}

.profile-card__text {
  font-size: 1.25rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .profile-card__text {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.marking-print-mv {
  position: relative;
  width: auto;
  height: 100lvh;
  margin-inline-start: -1.875rem;
  margin-inline-end: -26.4375rem; /* padding R 30 + gap 23 + sidebar 370 */
}
@media screen and (max-width: 1440px) {
  .marking-print-mv {
    margin-inline: 0;
  }
}

.marking-print-mv__inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.marking-print-mv__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.marking-print-mv__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.marking-print-mv__gradient {
  position: absolute;
  top: 0;
  right: 0;
  background: linear-gradient(90deg, rgba(255, 0, 78, 0) 0%, #ff7705 47.78%, #ff9e02 75.37%, #8fdb00 100%);
  width: 58.3333333333vw;
  height: 100%;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .marking-print-mv__gradient {
    top: auto;
    left: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(255, 0, 78, 0) 0%, #ff7705 47.78%, #ff9e02 75.37%, #8fdb00 100%);
    width: 100%;
    height: 30lvh;
  }
}

.marking-print-mv__content {
  position: absolute;
  top: 50%;
  left: calc(76.6% - clamp(14.375rem, 25rem - 20.83vw, 0rem)); /* 150 ~ 0 | 1440 ~ 1920 */
  transform: translate(-50%, -50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .marking-print-mv__content {
    top: 50%;
    left: 50%;
    width: max-content;
    margin-inline: auto;
  }
}

.marking-print-mv__label {
  display: inline-flex;
  align-items: center;
  gap: min(0.375rem, 0.3125vw);
  font-size: min(0.6875rem, 0.5729166667vw);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  font-style: italic;
  color: #ffffff;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .marking-print-mv__label {
    gap: 0.375rem;
    font-size: 0.8125rem;
    text-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
  }
}

.marking-print-mv__label::after {
  content: "";
  display: block;
  order: -1;
  width: min(0.625rem, 0.5208333333vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .marking-print-mv__label::after {
    width: 0.625rem;
  }
}

.marking-print-mv__heading {
  display: inline-block;
  font-size: min(2.25rem, 1.875vw);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  line-height: 1.1944444444;
  color: #ffffff;
  margin-top: min(1.5625rem, 1.3020833333vw);
}
@media screen and (max-width: 767px) {
  .marking-print-mv__heading {
    font-size: 1.75rem;
    margin-top: 0.9375rem;
    text-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
  }
}
@media screen and (max-width: 520px) {
  .marking-print-mv__heading {
    font-size: 6.9333333333vw;
  }
}

.marking-print-mv__loop {
  position: absolute;
  bottom: -1.1875rem;
  left: 50%;
  transform: translateX(-50%);
  height: 5vw;
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .marking-print-mv__loop {
    bottom: -0.75rem;
    height: 16vw;
  }
}

.marking-print-mv__loop .loop-img__wrapper,
.marking-print-mv__loop .loop-img__items {
  height: 100%;
  gap: 0;
}

.mega-menu {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 20;
  width: 100%;
  height: 100svh;
  overflow-y: auto;
  overscroll-behavior: contain;
}

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

/* スクロールバー非表示 | ここから -------------- */
.mega-menu {
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
}

.mega-menu::-webkit-scrollbar {
  display: none; /* Chrome, Safari 対応 */
}

/* スクロールバー非表示 | ここまで -------------- */
.mega-menu__wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding-block: 2.5rem 1.875rem;
  padding-inline: clamp(1.563rem, -5.938rem + 8.33vw, 4.063rem); /* 25 ~ 65 | 1440 ~ 1920 */
}
@media screen and (max-width: 1440px) {
  .mega-menu__wrapper {
    padding: 1.875rem 1.875rem 1.25rem;
    gap: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .mega-menu__wrapper {
    padding-block: 1.5625rem 1.25rem;
    padding-inline: 1.25rem;
    gap: 1.875rem;
  }
}

.mega-menu__wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #efefef;
  z-index: -1;
}

.mega-menu__logo {
  display: block;
  max-width: 12.375rem;
  width: 100%;
}
@media screen and (max-width: 1440px) {
  .mega-menu__logo {
    order: 1;
  }
}
@media screen and (max-width: 767px) {
  .mega-menu__logo {
    max-width: 9.3125rem;
  }
}

.mega-menu__logo-link {
  display: block;
  transition: all 0.3s;
}
@media (any-hover: hover) {
  .mega-menu__logo-link:hover {
    opacity: 0.6;
  }
}
.mega-menu__logo-link img {
  height: 100%;
  object-fit: contain;
}

/* ----- バナー (SP のみ表示) ----- */
.mega-menu__banners {
  display: none;
}
@media screen and (max-width: 767px) {
  .mega-menu__banners {
    display: grid;
    order: 3;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    max-width: 31.25rem;
    width: 100%;
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .mega-menu__banners > li:nth-child(1) {
    order: 1;
  }
}

@media screen and (max-width: 767px) {
  .mega-menu__banners > li:nth-child(2) {
    order: 2;
  }
}

/* 動画バナーは 2 カラム化の対象外。全幅 1 カラムのまま維持する */
@media screen and (max-width: 767px) {
  .mega-menu__banners > li:nth-child(3) {
    order: 5;
    grid-column: 1/-1;
  }
}

@media screen and (max-width: 767px) {
  .mega-menu__banners > li:nth-child(4) {
    order: 3;
  }
}

@media screen and (max-width: 767px) {
  .mega-menu__banners > li:nth-child(5) {
    order: 4;
  }
}

@media screen and (max-width: 767px) {
  .mega-menu__sns-card {
    order: 6;
    grid-column: 1/-1;
  }
}

.mega-menu__banner-link {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
  border-radius: 0.5rem;
  transition: filter 0.3s;
}

/* バナー右下 白円 + 矢印は共通パーツ .icon-arrow[data-theme="mega-menu"] で実装 */
.mega-menu__banner-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (any-hover: hover) {
  .mega-menu__banner-link:hover {
    filter: brightness(1.3);
  }
  .mega-menu__banner-link:hover .icon-arrow {
    background-color: #000000;
  }
  .mega-menu__banner-link:hover .icon-arrow::before {
    background-color: #ffffff;
  }
}
/* ----- SNSカード（バナー6番目セル） ----- */
.mega-menu__sns-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mega-menu__sns-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.mega-menu__sns-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
  gap: 0.3125rem;
  padding-block: 0.625rem;
  padding-inline: 1.875rem 1.25rem;
  padding-inline: clamp(1.25rem, -0.625rem + 2.08vw, 1.875rem) clamp(0.625rem, -1.25rem + 2.08vw, 1.25rem); /* 20 ~ 30 | 1440 ~ 1920 ||  10 ~ 20 | 1440 ~ 1920 */
  background-color: #ffffff;
  border-radius: 0.625rem;
  min-height: 3.125rem;
}
@media screen and (max-width: 767px) {
  .mega-menu__sns-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding-block: 0.625rem;
    padding-inline: 0.625rem;
  }
}

.mega-menu__sns-row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(0.625rem, -1.25rem + 2.08vw, 1.25rem); /* 10 ~ 20 | 1440 ~ 1920 */
  height: 1px;
  background-color: #000000;
}
@media screen and (max-width: 767px) {
  .mega-menu__sns-row::before {
    content: none;
  }
}

.mega-menu__sns-row-left {
  display: grid;
  grid-template-columns: clamp(0.938rem, -1.875rem + 3.13vw, 1.875rem) 1fr; /* 15 ~ 30 | 1440 ~ 1920 */
  align-items: center;
  gap: 0.625rem;
}

.mega-menu__sns-symbol {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1/1;
}

.mega-menu__sns-symbol-img {
  height: 100%;
  object-fit: contain;
}

.mega-menu__sns-label {
  font-size: max(0.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.1666666667;
}
@media screen and (max-width: 767px) {
  .mega-menu__sns-label {
    white-space: nowrap;
  }
  .mega-menu__sns-label br {
    display: none;
  }
}

.mega-menu__sns-icons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: clamp(1rem, -2rem + 3.33vw, 2rem); /* 16 ~ 32 | 1440 ~ 1920 */
}
@media screen and (max-width: 767px) {
  .mega-menu__sns-icons {
    justify-content: center;
    grid-template-columns: repeat(auto-fit, max-content);
    gap: 1.25rem;
  }
}

.mega-menu__sns-icon-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

/* 2番目以降のアイテム頭に縦線「|」 */
.mega-menu__sns-icon-item:not(:first-child)::before {
  content: "";
  position: absolute;
  left: clamp(-1rem, 1rem - 1.6667vw, -0.5rem); /* 1440px: -8px / 1920px: -16px */
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 0.75rem;
  background-color: #b5b5b5;
}

.mega-menu__sns-icon-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  transition: all 0.3s;
}
.mega-menu__sns-icon-link img {
  width: clamp(0.938rem, 1.04vw, 1.25rem); /* 15 ~ 20 | 1440 ~ 1920 */
  aspect-ratio: 1/1;
  object-fit: contain;
}

.mega-menu__sns-icon-text {
  font-size: max(clamp(0.75rem, 0.375rem + 0.42vw, 0.875rem), 12px); /* 12 ~ 14 | 1440 ~ 1920 */
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
}

@media (any-hover: hover) {
  .mega-menu__sns-icon-link:hover {
    opacity: 0.6;
  }
}
/* ----- お問い合わせ (SP のみ表示) ----- */
.mega-menu__contact {
  display: none;
}
@media screen and (max-width: 767px) {
  .mega-menu__contact {
    display: grid;
    order: 4;
    grid-template-columns: 1fr;
    align-items: stretch;
    padding-inline: 0.625rem;
    padding-block: 1rem;
    gap: 0.875rem;
    background-color: #ffba00;
    border-radius: 0.375rem;
    max-width: 31.25rem;
    width: 100%;
    margin-inline: auto;
  }
}

.mega-menu__contact-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.mega-menu__contact-title-ja {
  font-size: max(1.6875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .mega-menu__contact-title-ja {
    font-size: max(1.25rem, 12px);
  }
}

.mega-menu__contact-title-en {
  font-size: max(0.875rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .mega-menu__contact-title-en {
    font-size: max(0.625rem, 12px);
  }
}

.mega-menu__contact-text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.625;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .mega-menu__contact-text {
    font-size: max(0.8125rem, 12px);
    margin-top: 0.625rem;
  }
}

.mega-menu__contact-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .mega-menu__contact-items {
    grid-template-columns: repeat(1, 1fr);
    gap: 0.75rem;
  }
}

.mega-menu__contact-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-inline: 1.25rem;
  padding-block: 2rem;
  background-color: #ffffff;
  border-radius: 0.625rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .mega-menu__contact-item {
    padding-block: 1.25rem;
  }
}

.mega-menu__contact-tel-label {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.375;
}
@media screen and (max-width: 767px) {
  .mega-menu__contact-tel-label {
    font-size: max(0.875rem, 12px);
  }
}

.mega-menu__contact-tel-label::before {
  content: "";
  mask-image: url(../../assets/images/common/icon-tel.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #000000;
  width: 1rem;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .mega-menu__contact-tel-label::before {
    width: 0.875rem;
  }
}

.mega-menu__contact-tel {
  margin-top: 0.625rem;
}

.mega-menu__contact-tel-link {
  position: relative;
  font-size: 2.5rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .mega-menu__contact-tel-link {
    font-size: 1.875rem;
  }
}

.mega-menu__contact-tel-link::before {
  content: "";
  position: absolute;
  bottom: 0.3125rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 1px;
  background-color: #000000;
}

@media (any-hover: hover) {
  .mega-menu__contact-tel-link:hover {
    opacity: 0.6;
  }
}
.mega-menu__contact-tel-sub {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  margin-top: 0.625rem;
}

.mega-menu__contact-web-title {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .mega-menu__contact-web-title {
    font-size: max(1.125rem, 12px);
  }
}

.mega-menu__contact-web-btn {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .mega-menu__contact-web-btn {
    margin-top: 0.75rem;
  }
}

.mega-menu__nav {
  max-width: 103.75rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 3.75rem;
}
@media screen and (max-width: 1440px) {
  .mega-menu__nav {
    order: 2;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .mega-menu__nav {
    max-width: max-content;
    width: 100%;
    margin-inline: auto;
  }
}

.mega-menu__nav-cols {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 2.5rem 1.25rem;
}
@media screen and (max-width: 1920px) {
  .mega-menu__nav-cols {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .mega-menu__nav-cols {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem 1.875rem;
  }
}
@media screen and (max-width: 440px) {
  .mega-menu__nav-cols {
    gap: 1.25rem;
  }
}

.mega-menu__nav-title {
  position: relative;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4285714286;
  padding-inline-start: 1.125rem;
}
@media screen and (max-width: 767px) {
  .mega-menu__nav-title {
    font-size: max(1rem, 12px);
    padding-inline-start: 1.25rem;
  }
}

.mega-menu__nav-title::before {
  content: "・";
  position: absolute;
  left: 0;
}

.mega-menu__nav-title-link {
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .mega-menu__nav-title-link:hover {
    opacity: 0.6;
  }
}
.mega-menu__nav-items {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 0.875rem;
  padding-inline-start: 1rem;
}
@media screen and (max-width: 767px) {
  .mega-menu__nav-items {
    gap: 0.5rem;
    margin-top: 0.625rem;
  }
}

.mega-menu__nav-link {
  position: relative;
  display: inline-block;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4285714286;
  padding-left: 1em;
  transition: all 0.3s;
}

.mega-menu__nav-link::before {
  content: "-";
  position: absolute;
  left: 0;
}

@media (any-hover: hover) {
  .mega-menu__nav-link:hover {
    opacity: 0.6;
  }
}
.mega-menu__sub-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.125rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 1440px) {
  .mega-menu__sub-nav {
    order: 5;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .mega-menu__sub-nav {
    flex-direction: column;
  }
}

.mega-menu__sub-nav-items {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.125rem;
}

.mega-menu__sub-nav-link {
  position: relative;
  display: block;
  font-size: 10px;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  text-transform: uppercase;
  transition: all 0.3s;
}
@media (any-hover: hover) {
  .mega-menu__sub-nav-link:hover {
    opacity: 0.6;
  }
}

.mega-menu__sub-nav-link::before {
  content: "";
  position: absolute;
  bottom: -0.125rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 1px;
  background-color: #000000;
}

.mega-menu__copyright-text {
  display: block;
  font-size: 10px;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  text-transform: uppercase;
}

.movie-about {
  margin-top: 11.5625rem;
}
@media screen and (max-width: 767px) {
  .movie-about {
    margin-top: 6.25rem;
  }
}

.movie-about__inner {
  max-width: 70.625rem;
  width: 100%;
  margin-inline: auto;
  padding-left: 0.625rem;
}
@media screen and (max-width: 1440px) {
  .movie-about__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .movie-about__inner {
    max-width: 32.5rem;
    max-width: 23.4375rem;
    padding-inline: 0.625rem;
  }
}

.movie-about__01 {
  position: relative;
  display: flex;
}
@media screen and (max-width: 767px) {
  .movie-about__01 {
    flex-direction: column;
  }
}

.movie-about__02 {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  margin-top: 20.9375rem;
}
@media screen and (max-width: 767px) {
  .movie-about__02 {
    flex-direction: column-reverse;
    margin-top: 9.375rem;
  }
}

.movie-about__text-body {
  flex: 0 0 28.125rem;
}
@media screen and (max-width: 767px) {
  .movie-about__text-body {
    flex: 0 0 auto;
    width: 100%;
  }
}

.movie-about__img.movie-about__img--01 {
  position: absolute;
  top: -4.0625rem;
  right: -9.5rem;
  max-width: 56.9375rem;
  aspect-ratio: 911/760;
}
@media screen and (max-width: 767px) {
  .movie-about__img.movie-about__img--01 {
    position: static;
    position: relative;
    top: auto;
    right: auto;
    max-width: 25rem;
  }
}
.movie-about__img.movie-about__img--01 img {
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .movie-about__img.movie-about__img--01 img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120%;
    max-width: none;
    height: auto;
  }
}

.movie-about__img.movie-about__img--02 {
  position: absolute;
  top: -17.5rem;
  left: -6.1875rem;
  max-width: 75rem;
  aspect-ratio: 1200/1077;
  z-index: -1;
}
@media screen and (max-width: 1600px) and (min-width:1441px) {
  .movie-about__img.movie-about__img--02 {
    left:0;
  }
}
@media screen and (max-width: 767px) {
  .movie-about__img.movie-about__img--02 {
    position: static;
    position: relative;
    top: auto;
    left: auto;
  }
}
.movie-about__img.movie-about__img--02 img {
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .movie-about__img.movie-about__img--02 img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 130%;
    max-width: none;
    height: auto;
  }
}

.movie-about__title img {
  width: 17.625rem;
  height: auto;
  display: block;
}

.movie-about__lead {
  font-size: max(1.5rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ff004e;
  line-height: 2.125;
  letter-spacing: 0.4em;
  margin-top: 4.375rem;
}
@media screen and (max-width: 767px) {
  .movie-about__lead {
    font-size: max(1.125rem, 12px);
    margin-top: 3rem;
  }
}

.movie-about__heading-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4375rem;
}

.movie-about__01 .movie-about__heading-wrapper {
  margin-top: 0.8125rem;
}

.movie-about__heading {
  display: inline-block;
  font-size: 2rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  letter-spacing: 0.2em;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .movie-about__heading {
    font-size: 1.5rem;
    padding-block: 0.3125rem;
    padding-inline: 0.3125rem;
  }
}

.movie-about__text-wrapper {
  margin-top: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .movie-about__text-wrapper {
    margin-top: 2.5rem;
  }
}

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

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

.movie-about__en {
  font-size: 10px;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-style: italic;
  color: #ff004e;
  line-height: 2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .movie-about__en {
    margin-top: 1.25rem;
  }
}

.movie-list {
  margin-top: 11.5625rem;
  scroll-margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .movie-list {
    margin-top: 9.375rem;
    scroll-margin-top: 5.625rem;
  }
}

.movie-list__inner {
  max-width: 81.25rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .movie-list__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .movie-list__inner {
    max-width: 26.25rem;
    margin-inline: auto;
    padding-inline: 0.625rem;
  }
}

.movie-list__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.movie-list__heading-en {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: max(1rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-style: italic;
  color: #ffffff;
  text-transform: uppercase;
}
.movie-list__heading-en::after {
  content: "";
  display: block;
  order: -1;
  width: 0.625rem;
  height: 1px;
  background-color: #ffffff;
}

.movie-list__heading-ja {
  font-size: 3.125rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #ffffff;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .movie-list__heading-ja {
    font-size: 2.25rem;
    margin-top: 0.9375rem;
  }
}

.movie-list__items {
  display: grid;
  gap: 3.75rem 2.1875rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .movie-list__items {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.movie-list__item {
  text-align: center;
}

.movie-list__link {
  position: relative;
  display: block;
  aspect-ratio: 410/230;
}
.movie-list__link::before {
  content: "";
  position: absolute;
  left: 1.25rem;
  bottom: -3.75rem;
  width: 3.75rem;
  aspect-ratio: 60/80;
  background-image: url(../../assets/images/movie/deco-movie-list.svg);
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}

.movie-list__iframe,
.movie-list__video {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0.625rem;
  border: 1px solid #b5b5b5;
  overflow: hidden;
  transition: all 0.3s;
}

.movie-list__video {
  object-fit: cover;
  background-color: #000000;
}

@media (any-hover: hover) {
  .movie-list__link:hover .movie-list__iframe,
  .movie-list__link:hover .movie-list__video {
    filter: brightness(1.3);
  }
}
.movie-list__wrapper {
  position: relative;
  margin-top: 1.25rem;
  padding-inline: 1.25rem;
  z-index: 1;
}

.movie-list__title {
  font-size: 1.25rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.44;
  white-space: normal; /* 文字を折り返す */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 表示する行数 */
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .movie-list__title {
    font-size: 1.125rem;
  }
}

.movie-list__company {
  font-size: max(0.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.4;
  margin-top: 0.3125rem;
}

.movie-list__pagination {
  display: flex;
  justify-content: center;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .movie-list__pagination {
    margin-top: 5rem;
  }
}

.movie-list .page-numbers {
  color: #ffffff;
}

.movie-list .page-numbers:not(.dots):not(.first):not(.prev):not(.next):not(.last):not(.current)::after {
  background-color: #ffffff;
}

.movie-list .page-numbers.current {
  color: #000000;
  background-color: #ffffff;
  border-color: #ffffff;
}

.movie-list .page-numbers.current::after {
  background-color: #000000;
}

.movie-list .first.page-numbers,
.movie-list .prev.page-numbers,
.movie-list .next.page-numbers,
.movie-list .last.page-numbers {
  border-color: #ffffff;
}

.movie-list .prev.page-numbers::after,
.movie-list .next.page-numbers::after,
.movie-list .first.page-numbers::after,
.movie-list .last.page-numbers::after {
  background-color: #ffffff;
}

@media (any-hover: hover) {
  .movie-list .page-numbers:not(.dots):not(.first):not(.prev):not(.next):not(.last):not(.current):hover {
    color: #000000;
    background-color: #ffffff;
    border-color: #ffffff;
  }
  .movie-list .page-numbers:not(.dots):not(.first):not(.prev):not(.next):not(.last):not(.current):hover::after {
    background-color: #000000;
  }
  .movie-list .first.page-numbers:hover,
  .movie-list .prev.page-numbers:hover,
  .movie-list .next.page-numbers:hover,
  .movie-list .last.page-numbers:hover {
    background-color: #ffffff;
    border-color: #ffffff;
  }
  .movie-list .first.page-numbers:hover::after,
  .movie-list .prev.page-numbers:hover::after,
  .movie-list .next.page-numbers:hover::after,
  .movie-list .last.page-numbers:hover::after {
    background-color: #000000;
  }
}
.movie-mv {
  position: relative;
  width: auto;
  height: 100lvh;
  margin-inline-start: -1.875rem;
  margin-inline-end: -26.4375rem;
}
@media screen and (max-width: 1440px) {
  .movie-mv {
    margin-inline: 0;
  }
}

.movie-mv__inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.movie-mv__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, #ff004e 100%);
  z-index: -1;
}

.movie-mv__video {
  position: absolute;
  inset: 0 auto 0 0;
  width: 45.8333333333%;
  height: 100%;
  clip-path: polygon(0 0, 100% 0, 45.8333333333% 100%, 0 100%);
  z-index: 2;
}
@media screen and (max-width: 1440px) {
  .movie-mv__video {
    width: 60%;
  }
}
@media screen and (max-width: 767px) {
  .movie-mv__video {
    inset: 0;
    width: 100%;
    clip-path: polygon(0 0, 100% 0, 100% 50%, 0 70%);
  }
}

.movie-mv__video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.movie-mv__content {
  position: absolute;
  top: 45.3%;
  left: calc(60.4% - clamp(9.375rem, 25rem - 20.83vw, 0rem)); /* 150 ~ 0 | 1440 ~ 1920 */
  translate: -50% -50%;
  width: min(62.5rem, 52.0833333333vw);
  aspect-ratio: 1000/790;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .movie-mv__content {
    top: 50%;
    left: 50%;
    width: 34.6875rem;
  }
}
@media screen and (max-width: 520px) {
  .movie-mv__content {
    width: 106.6666666667vw;
  }
}

.movie-mv__smoke img {
  height: 100%;
  object-fit: contain;
  aspect-ratio: 1000/790;
}

.movie-mv__title {
  position: absolute;
  top: 41.7%;
  left: 54%;
  width: min(37.5rem, 31.25vw);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .movie-mv__title {
    left: 50%;
    width: 26rem;
  }
}
@media screen and (max-width: 520px) {
  .movie-mv__title {
    width: 80vw;
  }
}
.movie-mv__title img {
  height: 100%;
  object-fit: contain;
  aspect-ratio: 600/178;
}

.movie-mv__logo {
  position: absolute;
  top: 4.6875vw;
  right: 5.2083333333vw;
  width: min(7.5rem, 6.25vw);
}
@media screen and (max-width: 767px) {
  .movie-mv__logo {
    top: 4.3125rem;
    right: 2.1875rem;
    width: 6.9375rem;
  }
}
@media screen and (max-width: 520px) {
  .movie-mv__logo {
    top: 13.3333333333vw;
    right: 6.6666666667vw;
    width: 21.3333333333vw;
  }
}
.movie-mv__logo img {
  height: 100%;
  object-fit: contain;
  aspect-ratio: 120/67;
}

.movie-mv__text-wrapper {
  position: absolute;
  top: 70.4%;
  left: 50.4%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .movie-mv__text-wrapper {
    top: 95%;
    left: 50%;
  }
}

.movie-mv__heading {
  font-size: min(1.375rem, 1.1458333333vw);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.6em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .movie-mv__heading {
    font-size: 1.5625rem;
  }
}
@media screen and (max-width: 520px) {
  .movie-mv__heading {
    font-size: 4.8vw;
  }
}

.movie-mv__en {
  font-size: min(0.75rem, 0.625vw); /* 12 / 1920 × 100 */
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-style: italic;
  color: #ffffff;
  line-height: 2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: min(1.875rem, 1.5625vw);
}
@media screen and (max-width: 767px) {
  .movie-mv__en {
    font-size: 0.875rem;
    margin-top: 1.75rem;
  }
}
@media screen and (max-width: 520px) {
  .movie-mv__en {
    font-size: 2.6666666667vw;
    margin-top: 5.3333333333vw;
  }
}

.movie-mv__loop {
  position: absolute;
  bottom: -1.1875rem;
  left: 50%;
  transform: translateX(-50%);
  height: 5vw;
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .movie-mv__loop {
    bottom: -0.75rem;
    height: 16vw;
  }
}

.movie-mv__loop .loop-img__wrapper,
.movie-mv__loop .loop-img__items {
  height: 100%;
  gap: 0;
}

.mv {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 100svh;
  padding-block: 9.375rem 2.5rem;
}
@media screen and (max-width: 1280px) {
  .mv {
    display: block;
    padding-block: 1.25rem;
    min-height: auto;
  }
}

.mv::before {
  content: "";
  position: absolute;
  bottom: -63.75rem;
  left: -4.375rem;
  background-image: url(../../assets/images/top/introduction-deco-01.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 41.25rem;
  aspect-ratio: 660/1100;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .mv::before {
    bottom: -6.25rem;
    left: -3.125rem;
    width: 18.75rem;
  }
}

.mv__inner {
  width: 100%;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 1280px) {
  .mv__inner {
    padding-inline: 0.625rem;
  }
}

.mv__banners {
  container-type: inline-size;
  aspect-ratio: 1840/764;
  display: grid;
  grid-template-columns: 580fr 600fr 580fr;
  grid-template-rows: repeat(2, 1fr);
  grid-template-areas: "full hero custom" "pattern center catalog";
  row-gap: 1.9cqi;
  column-gap: 1.9cqi;
}
@media screen and (max-width: 1280px) {
  .mv__banners {
    container-type: normal;
    aspect-ratio: auto;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    grid-template-areas: none;
    row-gap: 0.625rem;
    column-gap: 0.625rem;
    max-width: 62.5rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .mv__banners {
    margin-top: 4.375rem;
    max-width: 31.25rem;
  }
}
@media screen and (max-width: 500px) {
  .mv__banners {
    grid-template-columns: 1fr;
  }
}

.mv__banner {
  position: relative;
}

.mv__banner--full {
  grid-area: full;
}

.mv__banner--pattern {
  grid-area: pattern;
}

.mv__banner--custom {
  grid-area: custom;
}

.mv__banner--catalog {
  grid-area: catalog;
}

.mv__banner--hero {
  grid-area: hero;
}

.mv__banner--center-card {
  grid-area: center;
}

@media screen and (max-width: 1280px) {
  .mv__banner--full,
  .mv__banner--pattern,
  .mv__banner--custom,
  .mv__banner--catalog,
  .mv__banner--hero,
  .mv__banner--center-card {
    grid-area: auto;
  }
  .mv__banner--hero,
  .mv__banner--center-card {
    grid-column: 1/-1;
  }
  .mv__banner--hero {
    order: -1;
  }
}
.mv__banner-link {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 0.54cqi;
  transition: all 0.3s;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 1280px) {
  .mv__banner-link {
    border-radius: 0.625rem;
  }
}

.mv__banner-link.mv__banner-link--2-columns {
  display: grid;
  grid-template-columns: 240fr 340fr;
}
@media screen and (max-width: 767px) {
  .mv__banner-link.mv__banner-link--2-columns {
    display: block;
  }
}

.mv__banner-img {
  height: 100%;
  object-fit: contain;
  transition: all 0.3s;
}

.mv__banner-video-wrapper {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .mv__banner-video-wrapper {
    display: none;
  }
}

.mv__banner-video-wrapper > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mv__banner-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .mv__banner-video {
    display: none;
  }
}

.mv__banner.mv__banner--custom .mv__banner-video {
  filter: brightness(1.1);
}

@media (any-hover: hover) {
  .mv__banner-link:hover .mv__banner-video-wrapper video,
  .mv__banner-link:hover .mv__banner-video-wrapper img {
    scale: 1.1;
  }
  .mv__banner-link:hover .icon-arrow {
    background-color: #000000;
  }
  .mv__banner-link:hover .icon-arrow::before {
    background-color: #ffffff;
  }
}
.mv__banner--hero {
  display: flex;
  align-items: center;
  justify-content: center;
}

.mv__hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .mv__hero {
    padding-block: 1.875rem;
    width: 100%;
  }
}

.mv__hero-title {
  width: 21.3cqi;
  height: 15.22cqi;
  object-fit: contain;
}
@media screen and (max-width: 1280px) {
  .mv__hero-title {
    width: 24.5rem;
    max-width: 100%;
    height: auto;
  }
}

.mv__banner--center-card {
  display: flex;
  flex-direction: column;
}

.mv__center {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 0.76cqi;
}
@media screen and (max-width: 1280px) {
  .mv__center {
    gap: 0.875rem;
  }
}

.mv__center-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.54cqi;
  flex: 1;
}
@media screen and (max-width: 1280px) {
  .mv__center-cards {
    gap: 0.625rem;
  }
}

.mv__center-card-link {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 0.43cqi;
  transition: all 0.3s;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 1280px) {
  .mv__center-card-link {
    border-radius: 0.5rem;
  }
}
.mv__center-card-link .icon-arrow {
  right: auto;
  left: 1.875rem;
  bottom: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .mv__center-card-link .icon-arrow {
    left: 1rem;
    bottom: 0.625rem;
  }
}

.mv__center-card-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .mv__center-card-link:hover .icon-arrow {
    background-color: #ffffff;
  }
  .mv__center-card-link:hover .icon-arrow::before {
    background-color: #000000;
  }
}
@media screen and (max-width: 767px) {
  .mv__center-card-link:hover .mv__center-card-img {
    filter: blur(2px);
  }
}
/* ----- SNS row（mega-menu__sns-row 流用） ----- */
.mv__sns-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
  gap: 1.09cqi;
  padding-block: 0.54cqi;
  padding-inline: 1.09cqi 0.82cqi;
  background-color: #efefef;
  border-radius: 0.54cqi;
}
@media screen and (max-width: 1280px) {
  .mv__sns-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    padding-block: 0.875rem 1rem;
    padding-inline: 0.625rem;
    border-radius: 0.625rem;
  }
}

.mv__sns-row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.54cqi;
  height: 1px;
  background-color: #000000;
}
@media screen and (max-width: 1280px) {
  .mv__sns-row::before {
    content: none;
  }
}

.mv__sns-label {
  font-size: 0.65cqi;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
@media screen and (max-width: 1280px) {
  .mv__sns-label {
    font-size: max(1.125rem, 14px);
  }
}
@media screen and (max-width: 767px) {
  .mv__sns-label {
    font-size: max(0.875rem, 12px);
  }
}

.mv__sns-icons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 1.36cqi;
}
@media screen and (max-width: 1280px) {
  .mv__sns-icons {
    gap: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .mv__sns-icons {
    gap: 1.5625rem;
  }
}

.mv__sns-icon-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.33cqi;
}
@media screen and (max-width: 1280px) {
  .mv__sns-icon-item {
    gap: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .mv__sns-icon-item {
    gap: 0.375rem;
  }
}

.mv__sns-icon-item:not(:first-child)::before {
  content: "";
  position: absolute;
  left: -0.82cqi;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 0.82cqi;
  background-color: #b5b5b5;
}
@media screen and (max-width: 1280px) {
  .mv__sns-icon-item:not(:first-child)::before {
    left: -1.25rem;
    height: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .mv__sns-icon-item:not(:first-child)::before {
    left: -0.9375rem;
    height: 0.9375rem;
  }
}

.mv__sns-icon-link {
  display: inline-flex;
  align-items: center;
  gap: 0.33cqi;
  transition: all 0.3s;
}
.mv__sns-icon-link img {
  width: 1.36cqi;
  aspect-ratio: 1/1;
  object-fit: contain;
}
@media screen and (max-width: 1280px) {
  .mv__sns-icon-link {
    gap: 0.375rem;
  }
  .mv__sns-icon-link img {
    width: max(1.875rem, 20px);
  }
}
@media screen and (max-width: 767px) {
  .mv__sns-icon-link img {
    width: 1.5625rem;
  }
}

.mv__sns-icon-text {
  font-size: 0.87cqi;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1;
}
@media screen and (max-width: 1280px) {
  .mv__sns-icon-text {
    font-size: max(1.25rem, 14px);
  }
}
@media screen and (max-width: 767px) {
  .mv__sns-icon-text {
    font-size: max(1rem, 12px);
  }
}

@media (any-hover: hover) {
  .mv__sns-icon-link:hover {
    opacity: 0.6;
  }
}
.news__inner {
  max-width: 75.625rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 1440px) {
  .news__inner {
    max-width: 78.125rem;
  }
}
@media screen and (max-width: 767px) {
  .news__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.news__category {
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #b5b5b5;
}
@media screen and (max-width: 767px) {
  .news__category {
    padding-bottom: 1.875rem;
  }
}

.news__list-wrapper {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .news__list-wrapper {
    max-width: 25rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 2.5rem;
  }
}

.news__pagination {
  margin-top: 3.75rem;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .news__pagination {
    margin-top: 2.5rem;
  }
}

.news-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .news-list {
    gap: 1.25rem;
  }
}

.news-list__item {
  border: 1px solid #efefef;
  border-radius: 0.625rem;
}

.news-list__item-link {
  position: relative;
  display: grid;
  grid-template-columns: 8.75rem 10rem 1fr 2.5rem;
  gap: 2.5rem;
  align-items: center;
  padding-block: 0.625rem;
  padding-inline: 0.625rem 1.25rem;
  border-radius: 0.625rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .news-list__item-link {
    grid-template-columns: 1fr auto;
    gap: 1.5625rem;
    padding-block: 1.25rem 1.5625rem;
    padding-inline: 1.25rem;
  }
}

.news-list__img {
  display: block;
  overflow: hidden;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .news-list__img {
    width: 90%;
    margin-inline: auto;
  }
}
.news-list__img img {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 140/100;
  transition: all 0.3s;
}

.news-list__meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
  padding-right: 1.5625rem;
  border-right: 1px solid #efefef;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .news-list__meta {
    padding-bottom: 1.5625rem;
    padding-right: 0;
    border-right: none;
    border-bottom: 1px solid #efefef;
  }
}

.news-list__date {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.05em;
  line-height: 1;
  white-space: nowrap;
  transition: color 0.3s;
}
@media screen and (max-width: 767px) {
  .news-list__date {
    font-size: max(0.875rem, 12px);
  }
}

.news-list__category {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
  padding-inline: 0.5rem;
  padding-block: 0.25rem;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  transition: all 0.3s;
}

.news-list__title {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4;
  white-space: normal; /* 文字を折り返す */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 表示する行数 */
  overflow: hidden;
  transition: color 0.3s;
}

.news-list__item-link .icon-arrow[data-theme=news-list] {
  position: relative;
  top: auto;
  right: auto;
  transform: none;
  align-self: center;
}

@media screen and (max-width: 767px) {
  .news-list__img,
  .news-list__meta {
    grid-column: 1/-1;
  }
  .news-list__title {
    grid-column: 1;
  }
  .news-list__item-link .icon-arrow[data-theme=news-list] {
    grid-column: 2;
    align-self: center;
  }
}
@media (any-hover: hover) {
  .news-list__item-link:hover {
    background-color: #000000;
  }
  .news-list__item-link:hover img {
    transform: scale(1.1);
  }
  .news-list__item-link:hover .news-list__date,
  .news-list__item-link:hover .news-list__title {
    color: #ffffff;
  }
  .news-list__item-link:hover .news-list__category {
    background-color: #000000;
    border-color: #ffffff;
    color: #ffffff;
  }
  .news-list__item-link:hover .news-list__meta {
    border-color: #ffffff;
  }
  .news-list__item-link:hover .icon-arrow {
    background-color: #ffffff;
  }
  .news-list__item-link:hover .icon-arrow::before {
    background-color: #000000;
  }
}
.order-page {
  --theme: #006c2e;
}

.order-page[data-theme=pattern-order] {
  --theme: #0059a9;
}

.order-page[data-theme=custom-made] {
  --theme: #e75217;
}

.order-page-cards {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .order-page-cards {
    margin-top: 2.5rem;
  }
}

.order-page-cards[data-theme=pattern-order] {
  --theme: #0059a9;
}

.order-page-cards[data-theme=custom-made] {
  --theme: #e75217;
}

@media screen and (max-width: 1440px) {
  .order-page-cards__inner {
    margin-inline: auto;
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .order-page-cards__inner {
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.order-page-cards__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .order-page-cards__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
  }
}

.order-page-cards__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 3.75rem;
  padding-inline: 1.25rem;
  text-align: center;
  background: linear-gradient(180deg, #000000 0%, var(--theme) 100%);
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .order-page-cards__card {
    padding-top: 2.5rem;
  }
}

.order-page-cards__title {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  .order-page-cards__title {
    font-size: 1.375rem;
  }
}

.order-page-cards__text {
  margin-top: 1.25rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.4;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.order-page-cards__btn {
  margin-top: 1.25rem;
  width: 100%;
}

.order-page-cards__image {
  margin-top: 2.125rem;
  max-width: 100%;
  border-radius: 0.625rem;
}

.order-page-cards__card--catalog .order-page-cards__image {
  width: clamp(15.625rem, 0.625rem + 16.67vw, 20.625rem); /* 250 ~ 330 | 1440 ~ 1920 */
  aspect-ratio: 330/300;
}
@media screen and (max-width: 1440px) {
  .order-page-cards__card--catalog .order-page-cards__image {
    width: 20.625rem;
  }
}
@media screen and (max-width: 767px) {
  .order-page-cards__card--catalog .order-page-cards__image {
    width: 15.625rem;
  }
}

.order-page-cards__card--strength .order-page-cards__image {
  width: 36.8125rem;
  aspect-ratio: 700/380;
}

.order-page-cards__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.order-page-comparison {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
  margin-top: 2.5rem;
}

@media screen and (max-width: 1440px) {
  .order-page-comparison__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .order-page-comparison__inner {
    padding-inline: 0.625rem;
  }
}

.order-page-comparison__container {
  padding-block: 3.75rem 2.5rem;
  padding-inline: 2.5rem;
  border-radius: 0.625rem;
  background-color: #efefef;
}
@media screen and (max-width: 767px) {
  .order-page-comparison__container {
    padding-block: 1.875rem;
    padding-inline: 0.3125rem;
  }
}

.order-page-comparison__heading {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.4285714286;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .order-page-comparison__heading {
    font-size: 1.25rem;
  }
}

.order-page-comparison__table {
  margin-top: 2.5rem;
  margin-inline: auto;
  display: block;
  width: 100%;
  max-width: 62.5rem;
}
@media screen and (max-width: 767px) {
  .order-page-comparison__table {
    margin-top: 1.875rem;
    overflow-x: auto;
  }
}

@media screen and (max-width: 767px) {
  .order-page-comparison__table img {
    min-width: 43.75rem;
  }
}

.order-page-features {
  padding-block: 5rem 3rem;
  background: linear-gradient(180deg, #000000 0%, var(--theme) 100%);
  margin-inline-start: -1.875rem;
  margin-inline-end: -26.4375rem;
  padding-inline-start: 1.875rem;
  padding-inline-end: 26.4375rem;
}
@media screen and (max-width: 1440px) {
  .order-page-features {
    margin-inline: 0;
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .order-page-features {
    padding-block: 5rem;
  }
}

.order-page-features__inner {
  max-width: 90rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .order-page-features__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .order-page-features__inner {
    margin-inline: auto;
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.order-page-features__heading {
  display: inline-block;
  max-width: 90rem;
  margin-inline: auto;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2.5rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .order-page-features__heading {
    padding-inline: 0;
    font-size: 1.5rem;
  }
}

.order-page-features__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto auto;
  gap: 1.875rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .order-page-features__list {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 3.75rem;
    margin-top: 3.75rem;
  }
}

.order-page-features__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 0;
}
@media screen and (max-width: 767px) {
  .order-page-features__item {
    display: flex;
    flex-direction: column;
  }
}

.order-page-features__image {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 0.625rem;
  overflow: hidden;
}

.order-page-features__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.order-page-features__title {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.25rem, 12px);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  margin-top: 2.125rem;
  padding-inline: 1.875rem;
}
@media screen and (max-width: 767px) {
  .order-page-features__title {
    font-size: max(1.125rem, 12px);
    padding-inline: 0.625rem;
  }
}

.order-page-features__text {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 700;
  color: #efefef;
  line-height: 1.8;
  margin-top: 0.625rem;
  padding-inline: 1.875rem;
}
@media screen and (max-width: 767px) {
  .order-page-features__text {
    padding-inline: 0.625rem;
  }
}

.order-page-flow {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
  padding-block: 7.5625rem 7.8125rem;
}
@media screen and (max-width: 767px) {
  .order-page-flow {
    padding-block: 5rem 5rem;
  }
}

@media screen and (max-width: 1440px) {
  .order-page-flow__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .order-page-flow__inner {
    margin-inline: auto;
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.order-page-flow__heading {
  display: inline-block;
  padding-left: 0.625rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2.5rem;
  font-weight: 900;
  color: #000000;
  line-height: 1.4;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .order-page-flow__heading {
    font-size: 1.5rem;
  }
}

.order-page-flow__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem 0.9375rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .order-page-flow__list {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.order-page-flow__item {
  position: relative;
  padding-block: 1.25rem 2.5rem;
  padding-inline: 2.5rem 1.25rem;
  background-color: #efefef;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .order-page-flow__item {
    padding-inline: 1.25rem;
  }
}

.order-page-flow__icon {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 3.75rem;
  height: 3.75rem;
  background-color: var(--theme);
  mask: var(--icon) no-repeat center/contain;
  -webkit-mask: var(--icon) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .order-page-flow__icon {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.order-page-flow__item:nth-of-type(1) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-01.svg');
}

.order-page-flow__item:nth-of-type(2) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-02.svg');
}

.order-page-flow__item:nth-of-type(3) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-03.svg');
}

.order-page-flow__item:nth-of-type(4) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-04.svg');
}

.order-page-flow__item:nth-of-type(5) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-05.svg');
}

.order-page-flow__item:nth-of-type(6) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-06.svg');
}

.order-page-flow__item:nth-of-type(7) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-07.svg');
}

.order-page-flow__item:nth-of-type(8) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-08.svg');
}

.order-page[data-theme=pattern-order] .order-page-flow__item:nth-of-type(2) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-04.svg');
}
.order-page[data-theme=pattern-order] .order-page-flow__item:nth-of-type(4) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-05.svg');
}
.order-page[data-theme=pattern-order] .order-page-flow__item:nth-of-type(5) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-06.svg');
}
.order-page[data-theme=pattern-order] .order-page-flow__item:nth-of-type(6) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-08.svg');
}

.order-page[data-theme=custom-made] .order-page-flow__item:nth-of-type(3) .order-page-flow__icon {
  --icon: url('../images/common/icon-pc.svg');
}
.order-page[data-theme=custom-made] .order-page-flow__item:nth-of-type(5) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-09.svg');
}
.order-page[data-theme=custom-made] .order-page-flow__item:nth-of-type(6) .order-page-flow__icon {
  --icon: url('../images/full-order/icon-flow-08.svg');
}

.order-page-flow__head {
  margin-top: 4.125rem;
  display: flex;
  align-items: flex-end;
  gap: 1.125rem;
}
@media screen and (max-width: 767px) {
  .order-page-flow__head {
    margin-top: 2.8125rem;
  }
}

.order-page-flow__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(0.875rem, 12px);
  font-weight: 300;
  color: #000000;
  line-height: 1.2142857143;
  font-style: italic;
  text-transform: uppercase;
}

.order-page-flow__num {
  display: inline-block;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.875rem, 12px);
  font-weight: 500;
  line-height: 1;
}

.order-page-flow__title {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #000000;
  line-height: 1.2;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .order-page-flow__title {
    font-size: 1rem;
  }
}

.order-page-flow__text {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 0.0625rem solid #000000;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #000000;
  line-height: 1.4;
  max-width: 23.125rem;
}
@media screen and (max-width: 767px) {
  .order-page-flow__text {
    max-width: 100%;
  }
}

.order-page-fv {
  position: relative;
  max-width: 90rem;
  margin-inline: auto;
  container-type: inline-size;
}

@media screen and (max-width: 1440px) {
  .order-page-fv__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .order-page-fv__inner {
    padding-inline: 0.625rem;
  }
}

.order-page-fv__image {
  border-radius: 0.625rem;
  overflow: hidden;
}

.order-page-fv__bg {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/600;
  object-fit: cover;
}

.order-page-fv__content {
  position: absolute;
  top: 4.1666666667cqi;
  right: 5.5555555556cqi;
  font-size: 1.1111111111cqi;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .order-page-fv__content {
    position: static;
    width: 100%;
    margin-top: 1.25rem;
    font-size: 1rem;
  }
}

.order-page-fv__logo {
  display: block;
  width: 100%;
  max-width: 11em;
}
@media screen and (max-width: 767px) {
  .order-page-fv__logo {
    position: absolute;
    top: 11.1111111111cqi;
    right: 7.6388888889cqi;
    width: 22.2222222222cqi;
    max-width: none;
  }
}

.order-page-fv__logo img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 176/120;
}

.order-page-fv__title {
  margin-top: 0.0625em;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 3.125em;
  font-weight: 900;
  line-height: 1.82;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .order-page-fv__title {
    margin-top: initial;
    font-size: 2rem;
  }
}

.order-page-fv__badge {
  margin-top: 1.875em;
  padding-block: 0.875em 0.625em;
  padding-inline: 0.625em;
  position: relative;
  width: 17.5em;
  height: 6.25em;
  max-width: 100%;
  background-color: var(--theme);
  border-radius: 0.25em;
}
@media screen and (max-width: 767px) {
  .order-page-fv__badge {
    margin-top: 0.625rem;
  }
}

.order-page-fv__badge-main {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.375em;
  color: #ffffff;
}

.order-page-fv__badge-label {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.25em;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: -0.1em;
}

.order-page-fv__badge-num {
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2.5em;
  font-weight: 500;
  line-height: 1;
}

.order-page-fv__badge-unit {
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.25em;
  font-weight: 500;
  line-height: 1;
}

.order-page-fv__badge-note {
  margin-top: 0.4375em;
  padding-block: 0.5em;
  padding-inline: 0.5625em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  border-radius: 0.25em;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 0.875em;
  font-weight: 900;
  color: var(--theme);
}
@media screen and (max-width: 375px) {
  .order-page-fv__badge-note {
    height: 1.875em;
  }
}

.order-page-fv__lead {
  margin-top: 2.5em;
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}
@media screen and (max-width: 767px) {
  .order-page-fv__lead {
    margin-top: 1.25rem;
  }
}

.order-page-fv__lead-main {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.75em;
  font-weight: 700;
  color: #000000;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  .order-page-fv__lead-main {
    font-size: 1.25rem;
  }
}

.order-page-fv__lead-sub {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.25em;
  font-weight: 700;
  color: #575757;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .order-page-fv__lead-sub {
    font-size: 1rem;
  }
}

.order-page-lineup {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
}

@media screen and (max-width: 1440px) {
  .order-page-lineup__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .order-page-lineup__inner {
    padding-inline: 0.625rem;
  }
}

.order-page-lineup__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 767px) {
  .order-page-lineup__header {
    padding-inline: 0.9375rem;
  }
}

.order-page-lineup__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  color: var(--theme);
  text-transform: uppercase;
  font-style: italic;
}

.order-page-lineup__eyebrow::after {
  content: "";
  display: block;
  order: -1;
  width: 0.625rem;
  height: 0.125rem;
  background-color: var(--theme);
}

.order-page-lineup__heading {
  margin-top: 0.8125rem;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 3.125rem;
  font-weight: 900;
  color: #000000;
  line-height: 1.2;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .order-page-lineup__heading {
    font-size: 1.75rem;
  }
}

.order-page-lineup__panel {
  margin-top: 2.8125rem;
  padding-block: 3.75rem;
  padding-inline: 4.375rem;
  background: linear-gradient(180deg, #000000 0%, var(--theme) 100%);
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .order-page-lineup__panel {
    margin-top: 1.875rem;
    padding-block: 1.875rem;
    padding-inline: 1.25rem;
    border-radius: 0.375rem;
  }
}

.order-page-lineup__panel-title {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.75rem, 12px);
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  line-height: 1.4285714286;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .order-page-lineup__panel-title {
    font-size: 1.25rem;
  }
}

.order-page-lineup__charts {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .order-page-lineup__charts {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    margin-top: 1.875rem;
  }
}

.order-page-lineup__chart {
  flex: 1;
  display: block;
  width: 100%;
  max-width: 39.375rem;
}

.order-page-lineup__chart img {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 630/400;
  border-radius: 0.625rem;
}

.order-page-strength {
  padding-block: 3.75rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .order-page-strength {
    padding-block: 1.875rem 3.75rem;
  }
}

.order-page-strength__inner {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .order-page-strength__inner {
    padding-inline: 0.9375rem;
  }
}

.order-page-strength__title {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--theme);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .order-page-strength__title {
    font-size: 1.375rem;
  }
}

.order-page-strength__text {
  margin-top: 1.25rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 700;
  color: #575757;
  line-height: 1.4;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.order-page-strength__btn {
  margin-top: 1.25rem;
  display: flex;
  justify-content: center;
}

.order-page-works {
  padding-block: 5rem;
  background: linear-gradient(180deg, #000000 0%, var(--theme) 100%);
  margin-inline-start: -1.875rem;
  margin-inline-end: -26.4375rem;
  padding-inline-start: 1.875rem;
  padding-inline-end: 26.4375rem;
}
@media screen and (max-width: 1440px) {
  .order-page-works {
    margin-inline: 0;
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .order-page-works {
    padding-block: 2.5rem;
  }
}

.order-page-works__inner {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .order-page-works__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .order-page-works__inner {
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.order-page-works__heading {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2.5rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.4;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .order-page-works__heading {
    font-size: 1.5rem;
  }
}

.order-page-works__slider {
  position: relative;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .order-page-works__slider {
    margin-top: 1rem;
    margin-inline: auto;
    max-width: 25rem;
  }
}

.order-page-works__slider .swiper {
  overflow: hidden;
}

.order-page-works__card {
  height: auto;
}

.order-page-works__card-link {
  display: block;
  color: #ffffff;
  text-decoration: none;
}

.order-page-works__card-image {
  position: relative;
  width: 100%;
  aspect-ratio: 350/260;
  border-radius: 0.625rem;
  overflow: hidden;
  background-color: #575757;
}

.order-page-works__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}

.order-page-works__card-company {
  margin-top: 1.875rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  color: #ffffff;
  line-height: 1.4;
}

.order-page-works__card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.625rem;
}

.order-page-works__card-tag {
  padding-block: 0.25rem;
  padding-inline: 0.625rem;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(0.875rem, 12px);
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
  background-color: #ffffff;
}

@media (any-hover: hover) {
  .order-page-works__card-link:hover .order-page-works__card-image img {
    transform: scale(1.05);
  }
  .order-page-works__card-link:hover .icon-arrow[data-theme=mv-card] {
    background-color: #ffffff;
  }
  .order-page-works__card-link:hover .icon-arrow[data-theme=mv-card]::before {
    background-color: #000000;
  }
}
.order-page-works__nav {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
  max-width: 15rem;
  width: 100%;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .order-page-works__nav {
    margin-top: 1.875rem;
    margin-inline: auto;
  }
}

.order-page-works__nav-btn {
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #ffffff;
  border: 1px solid #000000;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  transition: background-color 0.3s;
}

.order-page-works__nav-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.625rem;
  aspect-ratio: 6/10;
  background-color: #000000;
  mask-image: url("../../assets/images/common/icon-arrow-01.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transform: translate(-50%, -50%);
  transition: background-color 0.3s;
}

.order-page-works__nav-btn--prev::before {
  transform: translate(-50%, -50%) rotate(180deg);
}

@media (any-hover: hover) {
  .order-page-works__nav-btn:hover {
    background-color: #000000;
  }
  .order-page-works__nav-btn:hover::before {
    background-color: #ffffff;
  }
}
.order-page-works__nav-btn.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}

.order-page-works__btn {
  max-width: 15rem;
  width: 100%;
  margin-top: 2.5rem;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .order-page-works__btn {
    margin-top: 1.875rem;
    margin-inline: auto;
  }
}

.original-uniform {
  margin-top: 0.625rem;
}

.original-uniform__inner-01 {
  max-width: 81.25rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .original-uniform__inner-01 {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .original-uniform__inner-01 {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.original-uniform-01__title img {
  width: 100%;
}

.original-uniform__inner-02 {
  max-width: 68.75rem;
  width: 100%;
  margin-inline: auto;
}

.original-uniform-01__list {
  margin-top: 2.375rem;
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

.original-uniform-01__item {
  position: relative;
  display: grid;
  grid-template-columns: 32.5rem 1fr;
  align-items: flex-start;
  gap: 6.25rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__item {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}

.original-uniform-01__item--reverse {
  grid-template-columns: 1fr 32.5rem;
  gap: 5.625rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__item--reverse {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}

.original-uniform-01__item--reverse .original-uniform-01__img {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__item--reverse .original-uniform-01__img {
    grid-column: auto;
    grid-row: auto;
  }
}

.original-uniform-01__item--reverse .original-uniform-01__body {
  grid-column: 2;
  grid-row: 1;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__item--reverse .original-uniform-01__body {
    grid-column: auto;
    grid-row: auto;
  }
}

.original-uniform-01__img {
  position: relative;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__img {
    margin-top: 0;
  }
}
.original-uniform-01__img img {
  height: 100%;
  object-fit: contain;
}

.original-uniform-01__item .original-uniform-01__img {
  padding-right: 3.125rem;
  padding-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__item .original-uniform-01__img {
    padding-right: 1.25rem;
    padding-bottom: 1.25rem;
  }
}

.original-uniform-01__item.original-uniform-01__item--reverse .original-uniform-01__img {
  padding-right: 0;
  padding-left: 3.125rem;
  padding-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__item.original-uniform-01__item--reverse .original-uniform-01__img {
    padding-left: 0;
    padding-right: 1.25rem;
    padding-bottom: 1.25rem;
  }
}

.original-uniform-01__img::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 12.5rem;
  height: 7.5rem;
  pointer-events: none;
  background-image: linear-gradient(#707070 0 0), linear-gradient(#707070 0 0);
  background-repeat: no-repeat;
  background-size: 12.5rem 1px, 1px 7.5rem;
  background-position: right bottom 0.625rem, right 0.6875rem bottom;
}

.original-uniform-01__item--reverse .original-uniform-01__img::after {
  right: auto;
  left: 0;
  background-position: left bottom 0.625rem, left 0.6875rem bottom;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__item--reverse .original-uniform-01__img::after {
    right: 0;
    left: auto;
    background-position: right bottom 0.625rem, right 0.6875rem bottom;
  }
}

.original-uniform-01__eyebrow {
  position: absolute;
  top: 3.75rem;
  text-align: right;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__eyebrow {
    top: 1.25rem;
  }
}

.original-uniform-01__item .original-uniform-01__eyebrow {
  right: -2.3125rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__item .original-uniform-01__eyebrow {
    right: 0;
  }
}

.original-uniform-01__item--reverse .original-uniform-01__img .original-uniform-01__eyebrow {
  top: 0;
  left: 3.4375rem;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .original-uniform-01__eyebrow--pc {
    display: none;
  }
}

.original-uniform-01__eyebrow--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__eyebrow--sp {
    display: block;
  }
}

.original-uniform-01__eyebrow-sub {
  display: block;
  font-size: 6px;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  color: #000000;
  line-height: 1.3333333333;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.original-uniform-01__eyebrow-main {
  display: block;
  font-size: max(0.9375rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  color: #000000;
  text-transform: uppercase;
  margin-top: 0.4375rem;
  padding-top: 0.4375rem;
  border-top: 0.3125rem solid #000000;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__eyebrow-main {
    font-size: max(0.75rem, 12px);
    margin-top: 0.3125rem;
    padding-top: 0.3125rem;
    border-top: 0.1875rem solid #000000;
  }
}

.original-uniform-01__body {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-inline: 4.6875rem;
  padding-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__body {
    padding-inline: 1.25rem;
    padding-top: 3.125rem;
  }
}

.original-uniform-01__body::before {
  content: "";
  position: absolute;
  top: 0;
  left: -0.25rem;
  z-index: 1;
  width: 32.5rem;
  height: 7.5rem;
  pointer-events: none;
  background-image: linear-gradient(#707070 0 0), linear-gradient(#707070 0 0);
  background-repeat: no-repeat;
  background-size: 32.5rem 1px, 1px 7.5rem;
  background-position: left top 0.625rem, left 0.625rem top;
}

.original-uniform-01__number {
  font-size: max(1.25rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-style: italic;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__number {
    font-size: max(1rem, 12px);
  }
}

.original-uniform-01__heading {
  font-size: max(1.5rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__heading {
    font-size: max(1.25rem, 12px);
    margin-top: 1.25rem;
  }
}

.original-uniform-01__text-wrapper {
  margin-top: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-01__text-wrapper {
    margin-top: 1.875rem;
  }
}

.original-uniform-01__text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4;
}

.original-uniform-01__text:nth-child(n+2) {
  margin-top: 1.25rem;
}

.original-uniform-02 {
  margin-top: 12.8125rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-02 {
    margin-top: 6.25rem;
  }
}

.original-uniform-02__title img {
  width: 100%;
}

.original-uniform-02__movie {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__movie {
    gap: 0.75rem;
    margin-top: 3.125rem;
  }
}
.original-uniform-02__movie::before, .original-uniform-02__movie::after {
  content: "";
  flex-shrink: 0;
  width: 0.9375rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__movie::before, .original-uniform-02__movie::after {
    width: 0.625rem;
  }
}
.original-uniform-02__movie::before {
  background-image: url("../../assets/images/manga/deco-movie-left.svg");
}
.original-uniform-02__movie::after {
  background-image: url("../../assets/images/manga/deco-movie-right.svg");
}

.original-uniform-02__movie-frame {
  width: 100%;
  max-width: 62.5rem;
}

.original-uniform-02__movie-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}

.original-uniform-02__showcases {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  max-width: 68.75rem;
  width: 100%;
  margin-top: 4.6875rem;
  margin-inline: auto;
}

.original-uniform-02__showcase {
  position: relative;
  display: grid;
  grid-template-columns: 27.5rem 1fr;
  gap: 5rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__showcase {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.original-uniform-02__showcase::before,
.original-uniform-02__showcase::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 6.25rem;
  height: 3.75rem;
  pointer-events: none;
  background-image: linear-gradient(#707070 0 0), linear-gradient(#707070 0 0);
  background-repeat: no-repeat;
  background-size: 6.25rem 1px, 1px 3.75rem;
}

.original-uniform-02__showcase::before {
  top: 0;
  left: 0;
  background-position: left top 0.625rem, left 0.625rem top;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__showcase::before {
    top: -0.625rem;
    left: -0.625rem;
    width: 3.75rem;
    height: 2.5rem;
    background-size: 3.75rem 1px, 1px 2.5rem;
    background-position: left top 0.3125rem, left 0.3125rem top;
  }
}

.original-uniform-02__showcase::after {
  right: 0;
  bottom: 0;
  background-position: right bottom 0.625rem, right 0.6875rem bottom;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__showcase::after {
    right: -0.625rem;
    bottom: -1.25rem;
    width: 3.75rem;
    height: 2.5rem;
    background-size: 3.75rem 1px, 1px 2.5rem;
    background-position: right bottom 0.3125rem, right 0.3125rem bottom;
  }
}

.original-uniform-02__showcase--reverse::after {
  content: none;
}

.original-uniform-02__showcase--no-desc::before {
  content: none;
}

.original-uniform-02__showcase--reverse {
  grid-template-columns: 1fr 27.5rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__showcase--reverse {
    grid-template-columns: 1fr;
  }
}

.original-uniform-02__showcase--reverse .original-uniform-02__figure {
  grid-column: 2;
  grid-row: 1;
  padding-left: 0;
  padding-right: 3.75rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__showcase--reverse .original-uniform-02__figure {
    grid-column: auto;
    grid-row: auto;
    padding-right: 0;
  }
}

.original-uniform-02__showcase--reverse .original-uniform-02__body {
  grid-column: 1;
  grid-row: 1;
  padding-right: 0;
  padding-left: 3.75rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__showcase--reverse .original-uniform-02__body {
    grid-column: auto;
    grid-row: auto;
    padding-left: 0;
  }
}

.original-uniform-02__figure {
  padding-left: 3.75rem;
  padding-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__figure {
    order: 2;
    padding-left: 0;
    padding-top: 0;
    width: 90%;
    margin-inline: auto;
  }
}

.original-uniform-02__figure img {
  height: 100%;
  object-fit: contain;
}

.original-uniform-02__body {
  margin-top: 3.875rem;
  padding-right: 3.75rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__body {
    display: contents;
    margin-top: 0;
    padding-right: 1.25rem;
    padding-bottom: 3.125rem;
  }
}

.original-uniform-02__desc {
  font-size: max(1.5rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__desc {
    order: 1;
  }
}

.original-uniform-02__points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__points {
    order: 3;
    gap: 1.25rem;
    margin-top: 0;
  }
}

.original-uniform-02__point-img img {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 240/160;
}

.original-uniform-02__point--side {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .original-uniform-02__point--side {
    column-gap: 1.25rem;
  }
}

.original-uniform-02__point-label {
  display: flex;
  align-items: baseline;
  column-gap: 0.5rem;
  border-bottom: 1px solid #707070;
  margin-top: 0.9375rem;
  padding-bottom: 0.625rem;
}

.original-uniform-02__point-en {
  font-size: max(1rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-style: italic;
  color: #000000;
  line-height: 1;
}

.original-uniform-02__point-num {
  font-size: max(1.875rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-style: italic;
  color: #000000;
  line-height: 1;
}

.original-uniform-02__point-text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4;
  margin-top: 1.25rem;
}

.ouc-original-about {
  margin-top: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about {
    margin-top: 5rem;
  }
}

.ouc-original-about__inner {
  width: 100%;
  max-width: 68.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .ouc-original-about__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .ouc-original-about__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.ouc-original-about__title {
  display: inline-block;
  font-size: 3.125rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__title {
    font-size: 1.875rem;
    line-height: 1.3333333333;
  }
}

.ouc-original-about__lead {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
  margin-top: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__lead {
    font-size: max(1rem, 12px);
    margin-top: 2.5rem;
  }
}

.ouc-original-about__credit {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #575757;
  margin-top: 1.25rem;
}

.ouc-original-about__profile {
  position: relative;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__profile {
    margin-top: 3.5rem;
  }
}

.ouc-original-about__profile .profile-card__name-en {
  color: #2d6a55;
}

.ouc-original-about__profile-bg {
  position: absolute;
  top: 2.0625rem;
  left: -27%;
  width: 154.1%;
  aspect-ratio: 1695/534;
  background-image: url("../../assets/images/marking-print/deco-bg-scribble.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__profile-bg {
    top: 50%;
    transform: translateY(-50%);
  }
}

.ouc-original-about__gallery {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__gallery {
    margin-top: 3.5rem;
  }
}

.ouc-original-about__gallery-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__gallery-items {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.ouc-original-about__gallery-img img {
  width: 100%;
  height: auto;
  aspect-ratio: 360/257;
  object-fit: cover;
  border-radius: 0.625rem;
}

.ouc-original-about__lead-block {
  margin-top: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__lead-block {
    margin-top: 5rem;
  }
}

.ouc-original-about__lead-block--single {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__lead-block--single {
    margin-top: 1.875rem;
  }
}

.ouc-original-about__lead-title {
  display: inline-block;
  font-size: 3.125rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__lead-title {
    font-size: 1.75rem;
    line-height: 1.4285714286;
  }
}

.ouc-original-about__lead-text-wrapper {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__lead-text-wrapper {
    margin-top: 1.875rem;
  }
}

.ouc-original-about__lead-text {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__lead-text {
    font-size: max(1rem, 12px);
  }
}

.ouc-original-about__lead-text:nth-child(n+2) {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__lead-text:nth-child(n+2) {
    margin-top: 1.5rem;
  }
}

.ouc-original-about__visual {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__visual {
    margin-top: 3.5rem;
  }
}

.ouc-original-about__visual img {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1100/500;
  border-radius: 0.625rem;
}

.ouc-original-about__gallery2 {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__gallery2 {
    margin-top: 3.5rem;
  }
}

.ouc-original-about__gallery2-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__gallery2-items {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.ouc-original-about__gallery2-img img {
  height: 100%;
  aspect-ratio: 530/400;
  object-fit: cover;
  border-radius: 0.625rem;
}

.ouc-original-about__gallery2-caption {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #575757;
  line-height: 1.4;
  margin-top: 0.625rem;
}

.ouc-original-about__body {
  margin-top: 7.1875rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__body {
    margin-top: 5rem;
  }
}

.ouc-original-about__body-text {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
}

.ouc-original-about__body-text:nth-child(n+2) {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-about__body-text:nth-child(n+2) {
    margin-top: 1.5rem;
  }
}

.ouc-original-initiative {
  --theme: #006c2e;
  margin-top: 12.1875rem;
  padding-block: 5rem;
  background: linear-gradient(180deg, #000000 0%, var(--theme) 100%);
  margin-inline-start: -1.875rem;
  margin-inline-end: -26.4375rem;
  padding-inline-start: 1.875rem;
  padding-inline-end: 26.4375rem;
}
@media screen and (max-width: 1440px) {
  .ouc-original-initiative {
    margin-inline: 0;
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .ouc-original-initiative {
    margin-top: 3.75rem;
  }
}

.ouc-original-initiative__inner {
  max-width: 90rem;
  margin-inline: auto;
  width: 100%;
}
@media screen and (max-width: 1440px) {
  .ouc-original-initiative__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .ouc-original-initiative__inner {
    max-width: 32.5rem;
    margin-inline: auto;
    padding-inline: 0.625rem;
  }
}

.ouc-original-initiative__heading {
  display: inline-block;
  max-width: 90rem;
  margin-inline: auto;
  font-size: 2.5rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.475;
}
@media screen and (max-width: 767px) {
  .ouc-original-initiative__heading {
    font-size: 1.75rem;
    line-height: 1.4285714286;
  }
}

.ouc-original-initiative__lead {
  max-width: 90rem;
  margin-inline: auto;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #efefef;
  line-height: 1.8;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-initiative__lead {
    margin-top: 1rem;
  }
}

.ouc-original-initiative__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.875rem;
  margin-top: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-initiative__list {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    margin-top: 2.5rem;
  }
}

.ouc-original-initiative__item {
  display: flex;
  flex-direction: column;
}

.ouc-original-initiative__img img {
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 0.625rem;
}

.ouc-original-initiative__wrapper {
  padding-inline: 1.5625rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-initiative__wrapper {
    padding-inline: 0.625rem;
    margin-top: 1.25rem;
  }
}

.ouc-original-initiative__title {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .ouc-original-initiative__title {
    font-size: max(1.125rem, 12px);
  }
}

.ouc-original-initiative__text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #efefef;
  line-height: 1.8;
  margin-top: 0.625rem;
}

.ouc-original-initiative__info {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 0.9375rem;
}

.ouc-original-initiative__info-item {
  display: flex;
  align-items: center;
}

.ouc-original-initiative__info-link {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  text-decoration: none;
  transition: all 0.3s;
}
@media (any-hover: hover) {
  .ouc-original-initiative__info-link:hover {
    opacity: 0.6;
  }
}

.ouc-original-initiative__info-link::before {
  content: "";
  display: block;
  mask-image: url(../../assets/images/common/icon-pin.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  width: 1.25rem;
  aspect-ratio: 1/1;
  background-color: #ffffff;
}

.ouc-original-initiative__info-link--tel::before {
  mask-image: url(../../assets/images/common/icon-tel-02.svg);
}

.ouc-original-initiative__info-text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.4;
}

.ouc-original-mv {
  position: relative;
  width: auto;
  height: 100lvh;
  margin-inline-start: -1.875rem;
  margin-inline-end: -26.4375rem;
  overflow: hidden;
}
@media screen and (max-width: 1440px) {
  .ouc-original-mv {
    margin-inline: 0;
  }
}

.ouc-original-mv__inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.ouc-original-mv__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.ouc-original-mv__bg img {
  height: 100%;
  object-fit: cover;
  object-position: 30% 50%;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__bg img {
    object-position: 50% 50%;
  }
}

.ouc-original-mv__gradient {
  position: absolute;
  top: 0;
  right: 0;
  background: linear-gradient(90deg, rgba(0, 108, 46, 0) 0%, rgba(0, 108, 46, 0.55) 35%, rgba(0, 108, 46, 0.92) 100%);
  width: 58.3333333333vw;
  height: 100%;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__gradient {
    top: auto;
    left: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(0, 108, 46, 0) 0%, rgba(0, 108, 46, 0.7) 50%, rgba(0, 108, 46, 0.92) 100%);
    width: 100%;
    height: 40lvh;
  }
}

.ouc-original-mv__decoration {
  position: absolute;
  top: min(2.5rem, 2.0833333333vw);
  left: min(2.5rem, 2.0833333333vw);
  width: min(8.75rem, 7.2916666667vw);
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__decoration {
    top: 1.25rem;
    left: 1.25rem;
    width: 5rem;
  }
}

.ouc-original-mv__decoration img {
  width: 100%;
  height: auto;
  display: block;
}

.ouc-original-mv__content {
  position: absolute;
  top: 48%;
  left: calc(78.8% - clamp(14.375rem, 25rem - 20.83vw, 0rem)); /* 150 ~ 0 | 1440 ~ 1920 */
  transform: translate(-50%, -50%);
  width: max-content;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__content {
    top: 50%;
    left: 50%;
    margin-inline: auto;
  }
}

.ouc-original-mv__label {
  display: flex;
  width: fit-content;
  align-items: center;
  gap: min(0.375rem, 0.3125vw);
  font-size: min(0.6875rem, 0.5729166667vw);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  font-style: italic;
  color: #ffffff;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__label {
    gap: 0.375rem;
    font-size: 0.8125rem;
    text-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
  }
}

.ouc-original-mv__label::after {
  content: "";
  display: block;
  order: -1;
  width: min(0.625rem, 0.5208333333vw);
  aspect-ratio: 1;
  border-radius: 100vmax;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__label::after {
    width: 0.625rem;
  }
}

.ouc-original-mv__heading {
  display: inline-block;
  font-size: min(2.25rem, 1.875vw);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  line-height: 1.2777777778;
  color: #ffffff;
  margin-top: min(1.5625rem, 1.3020833333vw);
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__heading {
    font-size: 1.75rem;
    margin-top: 0.9375rem;
    text-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
  }
}

.ouc-original-mv__profile {
  margin-top: min(6.25rem, 5.2083333333vw);
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__profile {
    margin-top: 3.75rem;
  }
}

.ouc-original-mv__profile-en {
  display: inline-block;
  font-size: min(0.6875rem, 0.5729166667vw);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__profile-en {
    font-size: 0.75rem;
  }
}

.ouc-original-mv__profile-name {
  display: flex;
  width: fit-content;
  align-items: baseline;
  gap: min(0.25rem, 0.2083333333vw);
  margin-top: min(0.625rem, 0.5208333333vw);
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__profile-name {
    margin-top: 0.5rem;
    gap: 0.25rem;
  }
}

.ouc-original-mv__profile-name-main {
  display: inline-block;
  font-size: min(1.625rem, 1.3541666667vw);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__profile-name-main {
    font-size: 1.375rem;
  }
}

.ouc-original-mv__profile-honorific {
  display: inline-block;
  font-size: min(1.125rem, 0.9375vw);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__profile-honorific {
    font-size: 0.9375rem;
  }
}

.ouc-original-mv__profile-sub {
  display: inline-block;
  margin-top: min(0.625rem, 0.5208333333vw);
  font-size: min(0.6875rem, 0.5729166667vw);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__profile-sub {
    margin-top: 0.125rem;
    font-size: 0.75rem;
  }
}

.ouc-original-mv__loop {
  position: absolute;
  bottom: -1.1875rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 5vw;
  z-index: 4;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__loop {
    bottom: -0.75rem;
    height: 16vw;
  }
}

.ouc-original-mv__loop .loop-img__wrapper,
.ouc-original-mv__loop .loop-img__items {
  height: 100%;
  gap: min(2.5rem, 2.0833333333vw);
  align-items: center;
  flex-shrink: 0;
}

.ouc-original-mv__loop-item {
  font-size: min(5rem, 4.1666666667vw);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 300;
  color: #efefef;
  letter-spacing: -0.04em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .ouc-original-mv__loop-item {
    font-size: 13.3333333333vw;
  }
}

.ouc-original-wear {
  --theme: #2d6a55;
  margin-top: 8.125rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-wear {
    margin-top: 5rem;
  }
}

.ouc-original-wear__inner {
  width: 100%;
  max-width: 81.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .ouc-original-wear__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .ouc-original-wear__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

/* ---- 見出しブロック ---- */
.ouc-original-wear__head {
  width: 100%;
  max-width: 68.75rem;
  margin-inline: auto;
}

.ouc-original-wear__title {
  display: inline-block;
  font-size: 3.125rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .ouc-original-wear__title {
    font-size: 1.875rem;
    line-height: 1.3333333333;
  }
}

.ouc-original-wear__lead {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-wear__lead {
    font-size: max(1rem, 12px);
    line-height: 1.75;
    margin-top: 1.75rem;
  }
}

.ouc-original-wear__block {
  position: relative;
  width: 100%;
  max-width: 68.75rem;
  margin-inline: auto;
  margin-top: 3.4375rem;
}

.ouc-original-wear__block::before {
  content: "";
  position: absolute;
  transform: translateY(-50%);
  width: 154.1%;
  aspect-ratio: 1695/534;
  background-image: url("../../assets/images/ouc-original/deco-bg-scribble-ouc-original.svg");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 0;
}

.ouc-original-wear__block--top::before {
  top: 28.6%;
  left: -67%;
}

.ouc-original-wear__block--bottom::before {
  top: 28%;
  left: 9%;
  transform: translateY(-50%);
}

.ouc-original-wear__block-inner {
  position: relative;
  padding-block: 3.75rem;
  padding-inline: 3.75rem;
  background-color: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(1.875rem) brightness(1.15);
  -webkit-backdrop-filter: blur(1.875rem) brightness(1.15);
  border-radius: 0.625rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .ouc-original-wear__block-inner {
    padding-block: 2.5rem;
    padding-inline: 1.25rem;
  }
}

.ouc-original-wear__label {
  position: relative;
  font-size: max(0.6875rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  font-style: italic;
  color: #2d6a55;
  padding-left: 1rem;
  text-transform: uppercase;
}

.ouc-original-wear__label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.625rem;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  background-color: #2d6a55;
}

.ouc-original-wear__sub-title {
  display: inline-block;
  font-size: 1.875rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #2d6a55;
  line-height: 1.4666666667;
  margin-top: 0.125rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-wear__sub-title {
    font-size: 1.375rem;
  }
}

.ouc-original-wear__text {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
  margin-top: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-wear__text {
    font-size: max(1rem, 12px);
    line-height: 1.75;
    margin-top: 1.875rem;
  }
}

.ouc-original-wear__link-wrapper {
  margin-top: 0.625rem;
}

.ouc-original-wear__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding-left: 1.75rem;
  transition: all 0.3s;
}
@media (any-hover: hover) {
  .ouc-original-wear__link:hover {
    opacity: 0.6;
  }
}

.ouc-original-wear__link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  mask-image: url(../../assets/images/common/icon-link.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #2d6a55;
  width: 1.25rem;
  aspect-ratio: 1/1;
}

.ouc-original-wear__link-text {
  position: relative;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #2d6a55;
  line-height: 1.4;
}

.ouc-original-wear__link-text::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #2d6a55;
}

.ouc-original-wear__gallery {
  margin-top: 2.5rem;
}

.ouc-original-wear__gallery-main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-wear__gallery-main {
    gap: 1rem;
  }
}

.ouc-original-wear__gallery-main-item img {
  width: 100%;
  height: auto;
  aspect-ratio: 480/700;
  object-fit: cover;
  border-radius: 0.625rem;
}

.ouc-original-wear__gallery-sub {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.625rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .ouc-original-wear__gallery-sub {
    gap: 0.3125rem;
    margin-top: 0.625rem;
  }
}

.ouc-original-wear__gallery-sub-item img {
  width: 100%;
  height: auto;
  aspect-ratio: 320/220;
  object-fit: cover;
  border-radius: 0.625rem;
}

.page-tab {
  display: flex;
}

.page-tab__item {
  flex: 1;
}

.page-tab__link {
  position: relative;
  display: block;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7777777778;
  color: #b5b5b5;
  padding-bottom: 1rem;
  background-image: linear-gradient(90deg, #b5b5b5 0%, #b5b5b5 100%);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100% 0.125rem;
  transition: color 0.3s;
}
.page-tab__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.125rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .page-tab__link {
    font-size: 0.9375rem;
  }
}
@media (any-hover: hover) {
  .page-tab__link:hover {
    color: #000000;
  }
  .page-tab__link:hover::after {
    opacity: 1;
  }
}

.page-tab__link.is-active {
  color: #000000;
  pointer-events: none;
}
.page-tab__link.is-active::after {
  opacity: 1;
}

/* OUCの強み・データで見るOUC（虹色グラデーション） */
.page-tab--data .page-tab__link::after {
  background-image: linear-gradient(90deg, #ff004e 0%, #ff7705 47.8%, #ff9e02 75.4%, #8fdb00 100%);
}

/* マーキング プリント・刺繍（グリーン単色） */
.page-tab--marking .page-tab__link::after {
  background-color: #006c2e;
}

.pagination,
.nav-links {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  width: 2.5rem;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .page-numbers {
    font-size: max(0.75rem, 12px);
    width: 1.875rem;
  }
}

.page-numbers:not(.dots):not(.first):not(.prev):not(.next):not(.last):not(.current) {
  position: relative;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 100vmax;
}

.page-numbers:not(.dots):not(.first):not(.prev):not(.next):not(.last):not(.current)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.625rem;
  height: 1px;
  width: 1em;
  background-color: #000000;
  transform: translateX(-50%);
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .page-numbers:not(.dots):not(.first):not(.prev):not(.next):not(.last):not(.current)::after {
    bottom: 0.375rem;
  }
}

.page-numbers.current {
  position: relative;
  color: #ffffff;
  background-color: #000000;
  border: 1px solid #000000;
  border-radius: 100vmax;
}

.page-numbers.current::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.5rem;
  height: 1px;
  width: 1em;
  background-color: #ffffff;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .page-numbers.current::after {
    bottom: 0.375rem;
  }
}

.page-numbers.dots {
  transform: translateY(-10%);
}

.first.page-numbers,
.prev.page-numbers,
.next.page-numbers,
.last.page-numbers {
  position: relative;
  width: 2.5rem;
  aspect-ratio: 1/1;
  background-color: transparent;
  border: 1px solid #000000;
  border-radius: 100vmax;
}
@media screen and (max-width: 767px) {
  .first.page-numbers,
  .prev.page-numbers,
  .next.page-numbers,
  .last.page-numbers {
    width: 1.875rem;
  }
}

.prev.page-numbers::after,
.next.page-numbers::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5rem;
  aspect-ratio: 6/10;
  mask-image: url("../../assets/images/common/icon-arrow-01.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #000000;
  transition: background-color 0.3s;
}

.first.page-numbers::after,
.last.page-numbers::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.8125rem;
  height: 0.625rem;
  mask-image: url(../images/common/icon-arrow-02.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #000000;
  transition: background-color 0.3s;
}

.next.page-numbers::after,
.last.page-numbers::after {
  transform: translate(-50%, -50%);
}

.prev.page-numbers::after,
.first.page-numbers::after {
  transform: translate(-50%, -50%) rotate(180deg);
}

.page-numbers:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

@media (any-hover: hover) {
  .page-numbers:not(.dots):not(.first):not(.prev):not(.next):not(.last):not(.current):hover {
    color: #ffffff;
    background-color: #000000;
    border-color: #000000;
  }
  .page-numbers:not(.dots):not(.first):not(.prev):not(.next):not(.last):not(.current):hover::after {
    background-color: #ffffff;
  }
  .first.page-numbers:hover,
  .prev.page-numbers:hover,
  .next.page-numbers:hover,
  .last.page-numbers:hover {
    background-color: #000000;
    border-color: #000000;
  }
  .first.page-numbers:hover::after,
  .prev.page-numbers:hover::after,
  .next.page-numbers:hover::after,
  .last.page-numbers:hover::after {
    background-color: #ffffff;
  }
}
.point-box {
  padding-inline: clamp(2.5rem, -2.188rem + 5.21vw, 4.063rem); /* 40 ~ 65 | 1440 ~ 1920 */
  padding-block: 3.125rem 3.4375rem;
  background-color: #006c2e;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .point-box {
    padding-inline: 1.25rem;
    padding-block: 2.5rem 2.8125rem;
  }
}

.point-box__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: flex-start;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .point-box__wrapper {
    grid-template-columns: 1fr;
  }
}

.point-box__img img {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 460/340;
  border-radius: 0.625rem;
}

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

.point-box__label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.625rem;
  height: 1px;
  background-color: #ffffff;
}

.point-box__title {
  display: inline-block;
  font-size: max(1.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .point-box__title {
    font-size: max(1.25rem, 12px);
  }
}

.point-box__text {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.7777777778;
  margin-top: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .point-box__text {
    font-size: max(1rem, 12px);
  }
}

.post-detail-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-top: 1px solid #b5b5b5;
  padding-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .post-detail-nav {
    grid-template-columns: 1fr 1fr;
    gap: 1.875rem;
    padding-top: 2.5rem;
  }
}

.post-detail-nav__links {
  display: contents;
}

.post-detail-nav__prev {
  grid-column: 1;
}

.post-detail-nav__next {
  grid-column: 3;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .post-detail-nav__next {
    grid-column: 2;
  }
}

.post-detail-nav__back {
  grid-column: 2;
  text-align: center;
}

.post-detail-nav__back--sp {
  grid-column: 1/-1;
  text-align: center;
}
.post-detail-nav__back--sp a {
  justify-content: center;
}

.post-detail-nav__prev a,
.post-detail-nav__next a,
.post-detail-nav__back a {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  transition: opacity 0.3s;
}

.post-detail-nav__next a {
  flex-direction: row-reverse;
}

.post-detail-nav__prev a::before,
.post-detail-nav__next a::before,
.post-detail-nav__back a::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: #000000;
  transition: all 0.3s;
}

.post-detail-nav__prev a::before,
.post-detail-nav__next a::before {
  width: 0.75rem;
  aspect-ratio: 6/10;
  mask-image: url("../../assets/images/common/icon-arrow-01.svg");
}

.post-detail-nav__prev a::before {
  transform: scale(-1, 1);
}

.post-detail-nav__back a::before {
  width: 1.375rem;
  aspect-ratio: 1/1;
  mask-image: url("../../assets/images/common/icon-square.svg");
}

.post-detail-nav__text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .post-detail-nav__text {
    font-size: max(0.875rem, 12px);
  }
}

@media (any-hover: hover) {
  .post-detail-nav__prev a:hover,
  .post-detail-nav__next a:hover,
  .post-detail-nav__back a:hover {
    opacity: 0.6;
  }
}
.print-steps {
  padding-inline: 1.5625rem 2.5rem;
  padding-block: 1.875rem;
  background-color: #efefef;
  border: 0.6875rem solid #ffffff;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .print-steps {
    padding-inline: 0.9375rem;
    padding-block: 1.875rem;
    border: 0.3125rem solid #ffffff;
  }
}

.print-steps__title {
  display: inline-block;
  font-size: 1.75rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .print-steps__title {
    font-size: 1.375rem;
  }
}

.print-steps__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .print-steps__list {
    grid-template-columns: 1fr;
  }
}

.print-steps__item {
  position: relative;
  padding-inline: 1.25rem;
  padding-block: 1.25rem;
  background-color: #ffffff;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .print-steps__item {
    padding-inline: 0.9375rem;
  }
}

.print-steps__item::before {
  content: "";
  position: absolute;
  right: -0.8125rem;
  top: 50%;
  transform: translate(0%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 0.625rem solid transparent;
  border-bottom: 0.625rem solid transparent;
  border-left: 0.875rem solid #ffffff;
  border-right: 0;
}
@media screen and (max-width: 767px) {
  .print-steps__item::before {
    content: "";
    top: auto;
    right: auto;
    bottom: -0.8125rem;
    left: 50%;
    transform: translate(-50%, 0%);
    border-top: 0.875rem solid #ffffff;
    border-bottom: 0;
    border-left: 0.625rem solid transparent;
    border-right: 0.625rem solid transparent;
  }
}

.print-steps__item:last-child::before {
  content: none;
}

.print-steps__num {
  position: relative;
  font-size: max(0.875rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-style: italic;
  color: #575757;
  text-transform: uppercase;
  padding-left: 1rem;
}
.print-steps__num::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.625rem;
  height: 1px;
  background-color: currentColor;
}

.print-steps__img {
  margin-top: 0.5rem;
}

.print-steps__img img {
  height: 100%;
  aspect-ratio: 200/120;
  object-fit: cover;
  border-radius: 0.375rem;
}

.print-steps__text {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #575757;
  line-height: 1.5714285714;
  margin-top: 1.25rem;
}

.side-menu {
  position: sticky;
  top: 1.25rem;
  align-self: start;
  max-height: calc(100svh - 2.5rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  background-color: #efefef;
  border-radius: 0.625rem;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.2);
  z-index: 10;
}
@media screen and (max-width: 1440px) {
  .side-menu {
    display: none;
  }
}

.side-menu--fixed {
  position: fixed;
  top: 1.875rem;
  right: 1.875rem;
  width: 23.125rem;
}
@media screen and (min-width: 1441px) {
  .side-menu--fixed {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
  }
}
.side-menu--fixed.is-show {
  visibility: visible;
  opacity: 1;
}

.side-menu__wrapper {
  display: flex;
  flex-direction: column;
  padding-block: 2.125rem 1.625rem;
}

.side-menu__inner-01 {
  padding-inline: 1.6875rem;
}

.side-menu__inner-02 {
  padding-inline: 2.5rem;
}

.side-menu__logo {
  max-width: 12.375rem;
  width: 100%;
}

.side-menu__logo-link {
  display: block;
  transition: all 0.3s;
}
@media (any-hover: hover) {
  .side-menu__logo-link:hover {
    opacity: 0.6;
  }
}
.side-menu__logo-link img {
  height: 100%;
  object-fit: contain;
}

.side-menu__banners {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-top: 1.875rem;
}

.side-menu__banner-link {
  position: relative;
  display: block;
  overflow: hidden;
}

.side-menu__banner-img {
  display: block;
  width: 100%;
  height: auto;
  transition: filter 0.3s;
}

@media (any-hover: hover) {
  .side-menu__banner-link:hover .side-menu__banner-img {
    filter: brightness(1.3);
  }
  .side-menu__banner-link:hover .icon-arrow {
    background-color: #000000;
  }
  .side-menu__banner-link:hover .icon-arrow::before {
    background-color: #ffffff;
  }
}
.side-menu__contact {
  padding-inline: 0.3125rem;
  padding-block: 0.5rem 0.3125rem;
  background-color: #ffba00;
  border-radius: 0.625rem;
  margin-top: 1.25rem;
}

.side-menu__contact-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.side-menu__contact-title-ja {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  line-height: 1.5;
}

.side-menu__contact-title-en {
  font-size: 0.5rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}

.side-menu__contact-items {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: 0.625rem;
}

.side-menu__contact-item-link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.3125rem;
  width: 100%;
  min-height: 3.125rem;
  padding: 0.5rem 2.25rem 0.5rem 2.25rem;
  background-color: #ffffff;
  border-radius: 0.25rem;
  text-align: center;
  transition: all 0.3s;
}

.side-menu__contact-item-link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.8125rem;
  transform: translateY(-50%);
  width: 0.5rem;
  aspect-ratio: 6/10;
  mask-image: url("../../assets/images/common/icon-arrow-01.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #000000;
}

.side-menu__contact-item-link-text-01 {
  position: relative;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5714285714;
  padding-left: 1.5rem;
  transition: all 0.3s;
}

.side-menu__contact-item-link-text-01::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  mask-image: url(../../assets/images/common/icon-tel.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #000000;
  width: 0.875rem;
  aspect-ratio: 1/1;
  transition: all 0.3s;
}

.side-menu__contact-item-link-text-02 {
  font-size: max(1rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  text-decoration: underline;
  transition: all 0.3s;
}

.side-menu__contact-item-link-text-03 {
  width: 100%;
  font-size: 10px;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #575757;
  line-height: 1.5;
  transition: all 0.3s;
}

.side-menu__contact-item-link-text-04 {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.2857142857;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .side-menu__contact-item-link:hover {
    background-color: #000000;
    color: #ffffff;
  }
  .side-menu__contact-item-link:hover .side-menu__contact-item-link-text-01::before {
    background-color: #ffffff;
  }
  .side-menu__contact-item-link:hover .side-menu__contact-item-link-text-01,
  .side-menu__contact-item-link:hover .side-menu__contact-item-link-text-02,
  .side-menu__contact-item-link:hover .side-menu__contact-item-link-text-03,
  .side-menu__contact-item-link:hover .side-menu__contact-item-link-text-04 {
    color: #ffffff;
  }
}
.side-menu__copyright {
  margin-top: 3.5rem;
}

.side-menu__copyright-text {
  font-size: 10px;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  text-transform: uppercase;
}

.single-case__inner {
  max-width: 75rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .single-case__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.single-case__container {
  padding-block: 3.125rem;
  padding-inline: clamp(1.563rem, -3.125rem + 5.21vw, 3.125rem); /* 25 ~ 50 | 1440 ~ 1920 */
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .single-case__container {
    padding-block: 2.5rem;
    padding-inline: 1.25rem;
    margin-top: 1.875rem;
  }
}
@media screen and (max-width: 375px) {
  .single-case__container {
    padding-inline: 0.625rem;
  }
}

.single-case__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.9375rem;
}

.single-case__date {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 1.5;
  white-space: nowrap;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .single-case__date {
    font-size: max(1rem, 12px);
  }
}

.single-case__categorys {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.single-case__category {
  display: inline-block;
  padding: 0.25rem 0.9375rem;
  border-radius: 100vmax;
  border: 1px solid #000000;
}
.single-case__category-text {
  display: inline-block;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.3;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .single-case__category-text {
    font-size: max(0.875rem, 12px);
  }
}

.single-case__title {
  font-size: max(1.5rem, 18px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .single-case__title {
    font-size: max(1.125rem, 12px);
  }
}

.single-case__main-image {
  max-width: 63.75rem;
  width: 85%;
  margin-inline: auto;
  margin-top: 5rem;
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 414px) {
  .single-case__main-image {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .single-case__main-image {
    margin-top: 3.125rem;
    margin-bottom: 3.75rem;
  }
}

.single-case__main-image img {
  aspect-ratio: 1020/680;
  object-fit: cover;
}

.single-case__body {
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .single-case__body {
    padding-bottom: 3.75rem;
  }
}

.single-case__body h2 {
  font-size: max(1.25rem, 16px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  overflow-wrap: break-word;
  margin-top: 3.125rem;
  padding: 0.5rem 0.9375rem;
  border-top: 1px solid #b5b5b5;
  border-bottom: 1px solid #b5b5b5;
}
@media screen and (max-width: 767px) {
  .single-case__body h2 {
    font-size: max(1.125rem, 12px);
    padding: 0.3125rem 0.3125rem;
    margin-top: 2.5rem;
  }
}

.single-case__body h3 {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  margin-top: 3.125rem;
  padding-bottom: 0.3125rem;
  padding-inline: 0.9375rem;
  overflow-wrap: break-word;
  border-bottom: 1px solid #b5b5b5;
}
@media screen and (max-width: 767px) {
  .single-case__body h3 {
    font-size: max(1rem, 12px);
    padding-inline: 0.3125rem;
    margin-top: 2.5rem;
  }
}

.single-case__body p {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .single-case__body p {
    font-size: max(1rem, 12px);
  }
}

.single-case__body p:nth-child(n+2) {
  margin-top: 1em;
}

.single-case__body p strong {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .single-case__body p strong {
    font-size: max(1rem, 12px);
  }
}

.single-case__body p a {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 2;
  overflow-wrap: break-word;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .single-case__body p a {
    font-size: max(1rem, 12px);
  }
}

@media (any-hover: hover) {
  .single-case__body p a:hover {
    opacity: 0.6;
  }
}
.single-case__body > ul {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .single-case__body > ul {
    margin-top: 0.625rem;
  }
}

.single-case__body > ul > li {
  position: relative;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 2;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .single-case__body > ul > li {
    font-size: max(1rem, 12px);
  }
}

.single-case__body > ul > li:first-child {
  margin-top: 0;
}

/* リストの「・」 */
.single-case__body > ul > li::before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.single-case__body figure,
.single-case__body iframe {
  display: block;
  max-width: 63.75rem;
  width: 85%;
  margin-inline: auto;
  margin-top: 5rem;
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 414px) {
  .single-case__body figure,
  .single-case__body iframe {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .single-case__body figure,
  .single-case__body iframe {
    margin-top: 3.125rem;
    margin-bottom: 3.75rem;
  }
}

.single-case__body figure img {
  aspect-ratio: 1020/680;
  object-fit: cover;
}

.single-case__body iframe {
  aspect-ratio: 16/9;
}

.single-case__btn-contaner {
  display: flex;
  justify-content: space-between;
  padding-top: 1.875rem;
  border-top: 1px solid #000000;
}
@media screen and (max-width: 767px) {
  .single-case__btn-contaner {
    flex-direction: column;
    gap: 1.875rem;
  }
}

.single-case__postLinks-wrapper {
  display: contents;
}
@media screen and (max-width: 767px) {
  .single-case__postLinks-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.single-case__btn-back {
  text-align: center;
}
.single-case__btn-back a,
.postLink-prev a,
.postLink-next a {
  position: relative;
  display: inline-block;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .single-case__btn-back a,
  .postLink-prev a,
  .postLink-next a {
    font-size: max(0.875rem, 12px);
  }
}

.postLink-prev a {
  padding-left: 2.1875rem;
}

.postLink-next a {
  padding-right: 2.1875rem;
}

.postLink-prev a::before,
.postLink-next a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  mask-image: url(../../assets/images/common/icon-arrow-04.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #000000;
  width: 1.25rem;
  aspect-ratio: 20/11;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .postLink-prev a::before,
  .postLink-next a::before {
    width: 0.9375rem;
  }
}

.postLink-prev a::before {
  transform: translateY(-50%) scale(-1, 1);
  left: 0;
}

.postLink-next a::before {
  right: 0;
}

@media (any-hover: hover) {
  .single-case__btn-back a:hover,
  .postLink-prev a:hover,
  .postLink-next a:hover {
    opacity: 0.6;
  }
}
.single-case-mv {
  position: relative;
}

.single-case-mv__image {
  position: relative;
  height: min(100svh - 11.25rem, 48.75rem);
}
@media screen and (max-width: 767px) {
  .single-case-mv__image {
    height: 30rem;
  }
}

.single-case-mv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* テキスト可読性確保のグラデーション */
.single-case-mv__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.55) 100%);
}

.single-case-mv__content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  column-gap: 2.5rem;
  padding-inline: 2.5rem;
  padding-block-end: 2.5rem;
}
@media screen and (max-width: 767px) {
  .single-case-mv__content {
    flex-direction: column;
    align-items: flex-start;
    padding-inline: 0.9375rem;
    padding-block-end: 1.25rem;
  }
}

.single-case-mv__case-no {
  display: inline-block;
  background-color: #000000;
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding-block: 0.375rem;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .single-case-mv__case-no {
    font-size: max(1rem, 12px);
    padding-block: 0.25rem;
    padding-inline: 0.9375rem;
  }
}

.single-case-mv__body {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .single-case-mv__body {
    text-align: left;
    margin-top: 0.9375rem;
  }
}

.single-case-mv__title-wrapper {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .single-case-mv__title-wrapper {
    justify-content: flex-start;
    gap: 0.625rem;
  }
}

.single-case-mv__title {
  font-size: max(1.5rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .single-case-mv__title {
    font-size: max(1.125rem, 12px);
  }
}

.single-case-mv__industry {
  display: inline-block;
  padding-block: 0.25rem;
  padding-inline: 0.9375rem;
  border-radius: 100vmax;
  border: 1px solid #ffffff;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.3;
}

.single-case-mv__catch {
  font-size: max(2rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.6;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .single-case-mv__catch {
    font-size: max(1.25rem, 12px);
    margin-top: 0.625rem;
  }
}

.single-case__anchor-items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .single-case__anchor-items {
    gap: 0.625rem;
  }
}

.single-case__anchor-item {
  width: 100%;
  max-width: 15rem;
}

.single-case__anchor-link {
  position: relative;
  display: block;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  text-align: center;
  padding-block: 0.75rem;
  padding-inline: 1.875rem;
  border: 1px solid #000000;
  border-radius: 100vmax;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .single-case__anchor-link {
    font-size: max(0.875rem, 12px);
    padding-block: 0.625rem;
    padding-inline: 1.5625rem;
  }
}

/* 下向き矢印 */
.single-case__anchor-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.9375rem;
  transform: translateY(-50%) rotate(90deg);
  mask-image: url("../../assets/images/common/icon-arrow-01.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #000000;
  width: 0.5rem;
  aspect-ratio: 6/10;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .single-case__anchor-link:hover {
    opacity: 0.6;
  }
}
.single-case__interview {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .single-case__interview {
    margin-top: 3.125rem;
  }
}

.single-case__profile {
  display: flex;
  align-items: center;
  column-gap: 3.125rem;
  max-width: 50rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .single-case__profile {
    flex-direction: column;
    align-items: stretch;
    column-gap: 0;
  }
}

.single-case__profile-image {
  max-width: 28.125rem;
  width: 48%;
}
@media screen and (max-width: 767px) {
  .single-case__profile-image {
    width: 100%;
    margin-inline: auto;
  }
}

.single-case__profile-image img {
  aspect-ratio: 3/2;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .single-case__profile-body {
    margin-top: 1.25rem;
  }
}

.single-case__label {
  display: inline-block;
  background-color: #000000;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding-block: 0.25rem;
  padding-inline: 1rem;
}

.single-case__profile-name {
  font-size: max(1.375rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .single-case__profile-name {
    font-size: max(1.25rem, 12px);
    margin-top: 0.625rem;
  }
}

.single-case__profile-position {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #707070;
  line-height: 1.5;
  margin-top: 0.3125rem;
}

.single-case__heading {
  font-size: max(1.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  text-align: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .single-case__heading {
    font-size: max(1.25rem, 12px);
    margin-top: 2.5rem;
  }
}

.single-case__text {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 2;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .single-case__text {
    font-size: max(1rem, 12px);
    margin-top: 1.25rem;
  }
}

.single-case__photo-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.875rem;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .single-case__photo-items {
    grid-template-columns: 1fr;
    gap: 0.9375rem;
    margin-top: 1.875rem;
  }
}

.single-case__photo-item img {
  aspect-ratio: 3/2;
  object-fit: cover;
}

.single-case__photo-single {
  max-width: 63.75rem;
  width: 100%;
  margin-inline: auto;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .single-case__photo-single {
    margin-top: 1.875rem;
  }
}

.single-case__photo-single img {
  aspect-ratio: 3/2;
  object-fit: cover;
}

.single-case__product-section {
  background-color: #f9f9f9;
  border-radius: 0.625rem;
  padding-block: 3.75rem;
  padding-inline: 2.5rem;
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .single-case__product-section {
    padding-block: 2.5rem;
    padding-inline: 0.9375rem;
    margin-top: 3.75rem;
  }
}

.single-case__product-heading {
  text-align: center;
}

.single-case__product-heading .single-case__heading {
  margin-top: 0.625rem;
}

.single-case__product {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .single-case__product {
    flex-direction: column;
    margin-top: 1.875rem;
  }
}

.single-case__product-image {
  max-width: 26.25rem;
  width: 42%;
}
@media screen and (max-width: 767px) {
  .single-case__product-image {
    width: 70%;
    margin-inline: auto;
  }
}

.single-case__product-image img {
  aspect-ratio: 1/1;
  object-fit: contain;
}

.single-case__product-body {
  width: 54%;
}
@media screen and (max-width: 767px) {
  .single-case__product-body {
    width: 100%;
    margin-top: 1.25rem;
  }
}

.single-case__product-name {
  font-size: max(1.375rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .single-case__product-name {
    font-size: max(1.125rem, 12px);
  }
}

.single-case__product-desc {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 2;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .single-case__product-desc {
    font-size: max(0.875rem, 12px);
    margin-top: 0.625rem;
  }
}

.single-case__point-items {
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .single-case__point-items {
    margin-top: 0.9375rem;
  }
}

.single-case__point-item {
  display: flex;
  align-items: center;
  column-gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .single-case__point-item {
    column-gap: 0.9375rem;
  }
}

.single-case__point-item + .single-case__point-item {
  margin-top: 1.25rem;
}

.single-case__point-image {
  flex-shrink: 0;
  width: 100%;
  max-width: 7.5rem;
}
@media screen and (max-width: 767px) {
  .single-case__point-image {
    max-width: 6.875rem;
  }
}

.single-case__point-image img {
  aspect-ratio: 1/1;
  object-fit: cover;
}

.single-case__point-label {
  display: inline-block;
  background-color: #000000;
  font-size: max(0.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding-block: 0.125rem;
  padding-inline: 0.625rem;
}

.single-case__point-text {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 1.8;
  margin-top: 0.625rem;
}

.single-case__company {
  display: grid;
  grid-template-columns: 1fr 17.5rem;
  column-gap: 2.5rem;
  align-items: start;
  border: 1px solid #b5b5b5;
  border-radius: 0.625rem;
  padding-block: 3.125rem;
  padding-inline: 2.5rem;
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .single-case__company {
    grid-template-columns: 1fr;
    padding-block: 1.875rem;
    padding-inline: 0.9375rem;
    margin-top: 3.75rem;
  }
}

.single-case__company .single-case__label {
  grid-column: 1/-1;
  justify-self: start;
}

.single-case__company-logo {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  max-width: 17.5rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .single-case__company-logo {
    grid-column: 1;
    margin-inline: auto;
    margin-top: 1.25rem;
  }
}

.single-case__company-body {
  grid-column: 1;
  grid-row: 2;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .single-case__company-body {
    grid-row: 3;
    margin-top: 1.25rem;
  }
}

.single-case__company-name {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .single-case__company-name {
    font-size: max(1.125rem, 12px);
  }
}

.single-case__company-desc {
  font-size: max(0.9375rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 2;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .single-case__company-desc {
    font-size: max(0.875rem, 12px);
  }
}

.single-case__company-items {
  margin-top: 1.25rem;
}

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

.single-case__company-item + .single-case__company-item {
  margin-top: 0.5rem;
}

.single-case__company-link {
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 1.8;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .single-case__company-link:hover {
    opacity: 0.6;
  }
}
.single-case__btn-wrapper {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .single-case__btn-wrapper {
    text-align: center;
  }
}

.single-case__btn-wrapper .btn__text {
  text-transform: uppercase;
}

.single-column__inner-01 {
  max-width: 75.625rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .single-column__inner-01 {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.single-column__intro {
  display: grid;
  grid-template-columns: 25rem 1fr;
  gap: 6.25rem;
  padding-block: 3.125rem;
  padding-inline: 2.5rem;
  border-radius: 0.625rem;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 767px) {
  .single-column__intro {
    grid-template-columns: 1fr;
    gap: 1.875rem;
    padding-block: 1.25rem;
    padding-inline: 1rem;
  }
}

.single-column__img {
  width: 100%;
  border-radius: 0.625rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .single-column__img {
    width: 90%;
    margin-inline: auto;
  }
}
.single-column__img img {
  height: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.single-column__intro-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.single-column__title {
  font-size: max(1.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .single-column__title {
    font-size: max(1.125rem, 12px);
  }
}

.single-column__intro-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #b5b5b5;
}

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

.single-column__categorys {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.single-column__category {
  display: block;
  padding-inline: 0.5rem;
  padding-block: 0.25rem;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  .single-column__category {
    font-size: max(0.75rem, 12px);
  }
}

.single-column__inner-02 {
  max-width: 75.625rem;
  width: 100%;
  margin-top: 5rem;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .single-column__inner-02 {
    margin-top: 3.125rem;
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.single-column__container {
  display: grid;
  grid-template-columns: 18.75rem 1fr;
  gap: 10rem;
}
@media screen and (max-width: 767px) {
  .single-column__container {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}

@media screen and (max-width: 767px) {
  .single-column__side {
    order: 2;
  }
}

.single-column__side-inner {
  position: sticky;
  top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .single-column__side-inner {
    position: static;
    top: auto;
    max-width: 25rem;
    margin-inline: auto;
  }
}

.single-column__related-title {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4444444444;
}

.single-column__related-list {
  margin-top: 1.25rem;
}

.single-column__related-item + .single-column__related-item {
  margin-top: 1.25rem;
}

.single-column__related-link {
  display: block;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4285714286;
  text-decoration: none;
  transition: color 0.3s;
}

@media (any-hover: hover) {
  .single-column__related-link:hover {
    color: #097ef8;
  }
}
.single-column__related-link:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

.single-column__share {
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid #b5b5b5;
}

.single-column__share-title {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4444444444;
}

.single-column__share-list {
  display: flex;
  gap: 0.625rem;
  margin-top: 1.25rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #b5b5b5;
}

.single-column__share-link {
  display: block;
  width: 1.25rem;
  padding: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s;
}

.single-column__share-icon {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.single-column__share-icon--x {
  background-image: url("../../assets/images/common/icon-x-black.svg");
}

.single-column__share-icon--facebook {
  background-image: url("../../assets/images/common/icon-facebook-black.svg");
}

.single-column__share-icon--linkedin {
  background-image: url("../../assets/images/common/icon-linkedin-black.svg");
}

.single-column__share-icon--link {
  background-image: url("../../assets/images/common/icon-link-black.svg");
}

@media (any-hover: hover) {
  .single-column__share-link:hover {
    opacity: 0.6;
  }
}
.single-column__share-link:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

.single-column__copy-toast {
  margin-top: 0.75rem;
  font-size: max(0.8125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #097ef8;
  line-height: 1.5384615385;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
}

.single-column__copy-toast.is-show {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 767px) {
  .single-column__main {
    order: 1;
  }
}

.single-column__content > p {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .single-column__content > p {
    font-size: max(1rem, 12px);
  }
}

.single-column__content > p + p {
  margin-top: 1.75rem;
}

.single-column__content > h2 {
  margin-top: 3.125rem;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
  font-size: max(1.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  line-height: 1.4285714286;
  scroll-margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .single-column__content > h2 {
    font-size: max(1.375rem, 12px);
    padding-inline: 0.625rem;
  }
}

.single-column__content > h3 {
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .single-column__content > h3 {
    padding-inline: 0.625rem;
  }
}

.single-column__content > h2 + p,
.single-column__content > h2 + ol {
  margin-top: 1.875rem;
}

/* OUCが選ばれる理由リスト（番号は CSS counter）*/
.single-column__content > ol {
  counter-reset: reason;
}

.single-column__content > ol > li {
  display: flex;
  gap: 0.25rem;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7777777778;
  counter-increment: reason;
}
@media screen and (max-width: 767px) {
  .single-column__content > ol > li {
    font-size: max(1rem, 12px);
  }
}
.single-column__content > ol > li::before {
  content: counter(reason) ".";
  flex-shrink: 0;
}
.single-column__content > ol > li + li {
  margin-top: 1.75rem;
}

/* 目次（Easy Table of Contents 出力に合わせる）*/
#ez-toc-container {
  margin-top: 3.125rem;
  padding-block: 1.875rem;
  padding-inline: 2.5rem;
  border: 1px solid #b5b5b5;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  #ez-toc-container {
    padding-inline: 1.25rem;
  }
}

.ez-toc-title {
  font-size: max(1.375rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4545454545;
}

.ez-toc-list {
  margin-top: 1.25rem;
}

.ez-toc-list li + li {
  margin-top: 1rem;
}

.ez-toc-link {
  position: relative;
  display: inline-block;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #097ef8;
  line-height: 1.4444444444;
  text-decoration: none;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .ez-toc-link {
    font-size: max(1rem, 12px);
  }
}

.ez-toc-link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
}

@media (any-hover: hover) {
  .ez-toc-link:hover {
    opacity: 0.6;
  }
}
.ez-toc-link:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

.single-column__cta {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 3.125rem;
  padding-block: 2.5rem;
  padding-inline: 2.5rem;
  border: 1px solid #b5b5b5;
  border-radius: 0.625rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .single-column__cta {
    padding-block: 1.875rem;
    padding-inline: 1.25rem;
  }
}

.single-column__cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 31.25rem;
  max-width: 80%;
  height: 0.375rem;
  background-color: #000000;
  border-radius: 0 0 0.125rem 0.125rem;
  transform: translateX(-50%);
  z-index: 1;
}

.single-column__cta::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #efefef;
  mask-image: url("../../assets/images/common/icon-mail.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  width: 54.3%;
  aspect-ratio: 1/1;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .single-column__cta::after {
    left: 1.25rem;
    width: 6.25rem;
  }
}

.single-column__cta-body {
  position: relative;
  display: flex;
  flex-direction: column;
}

.single-column__cta-title {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .single-column__cta-title {
    font-size: max(1.125rem, 12px);
  }
}

.single-column__cta-text {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #b5b5b5;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #575757;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .single-column__cta-text {
    font-size: max(0.875rem, 12px);
  }
}

.single-column__cta-btn {
  margin-top: 1.875rem;
}

/* 著者・監修者情報 */
.single-column__author {
  margin-top: 3.125rem;
  padding-block: 1.5rem;
  padding-inline: 1.75rem;
  background-color: #f2f9fd;
  border: 1px solid #b5b5b5;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .single-column__author {
    padding-block: max(1.25rem, 12px);
    padding-inline: max(1.25rem, 12px);
  }
}

.single-column__author-title {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 2;
}

.single-column__author-items {
  margin-top: 1rem;
}
.single-column__author-items > * + * {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #b5b5b5;
}

.single-column__author-item {
  display: grid;
  grid-template-columns: 8.125rem 1fr;
  gap: 1.25rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .single-column__author-item {
    grid-template-columns: max(5rem, 12px) 1fr;
  }
}

.single-column__author-avatar img {
  height: 100%;
  aspect-ratio: 1/1;
  border-radius: 0.3125rem;
  object-fit: cover;
}

.single-column__author-info {
  flex: 1;
  min-width: 0;
}

.single-column__author-role {
  font-size: max(0.8125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #575757;
  line-height: 1.5384615385;
}

.single-column__author-name {
  margin-top: 0.125rem;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
}

.single-column__author-desc {
  margin-top: 0.375rem;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.7142857143;
}

.single-news__inner {
  max-width: 75rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .single-news__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.single-news__container {
  border: 1px solid #b5b5b5;
  border-radius: 0.625rem;
  padding-block: 3.125rem;
  padding-inline: clamp(1.563rem, -3.125rem + 5.21vw, 3.125rem); /* 25 ~ 50 | 1440 ~ 1920 */
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .single-news__container {
    padding-block: 2.5rem;
    padding-inline: 1.25rem;
    margin-top: 1.875rem;
  }
}
@media screen and (max-width: 375px) {
  .single-news__container {
    padding-inline: 0.625rem;
  }
}

.single-news__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.9375rem;
}

.single-news__date {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 1.5;
  white-space: nowrap;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .single-news__date {
    font-size: max(1rem, 12px);
  }
}

.single-news__categorys {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.single-news__category {
  display: inline-block;
  padding: 0.25rem 0.9375rem;
  border-radius: 100vmax;
  border: 1px solid #000000;
}
.single-news__category-text {
  display: inline-block;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.3;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .single-news__category-text {
    font-size: max(0.875rem, 12px);
  }
}

.single-news__title {
  font-size: max(1.5rem, 18px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .single-news__title {
    font-size: max(1.125rem, 12px);
  }
}

.single-news__main-image {
  max-width: 63.75rem;
  width: 85%;
  margin-inline: auto;
  margin-top: 5rem;
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 414px) {
  .single-news__main-image {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .single-news__main-image {
    margin-top: 3.125rem;
    margin-bottom: 3.75rem;
  }
}

.single-news__main-image img {
  aspect-ratio: 1020/680;
  object-fit: cover;
}

.single-news__body {
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .single-news__body {
    padding-bottom: 3.75rem;
  }
}

.single-news__body h2 {
  font-size: max(1.25rem, 16px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  overflow-wrap: break-word;
  margin-top: 3.125rem;
  padding: 0.5rem 0.9375rem;
  border-top: 1px solid #b5b5b5;
  border-bottom: 1px solid #b5b5b5;
}
@media screen and (max-width: 767px) {
  .single-news__body h2 {
    font-size: max(1.125rem, 12px);
    padding: 0.3125rem 0.3125rem;
    margin-top: 2.5rem;
  }
}

.single-news__body h3 {
  font-size: max(1.25rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  margin-top: 3.125rem;
  padding-bottom: 0.3125rem;
  padding-inline: 0.9375rem;
  overflow-wrap: break-word;
  border-bottom: 1px solid #b5b5b5;
}
@media screen and (max-width: 767px) {
  .single-news__body h3 {
    font-size: max(1rem, 12px);
    padding-inline: 0.3125rem;
    margin-top: 2.5rem;
  }
}

.single-news__body p {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .single-news__body p {
    font-size: max(1rem, 12px);
  }
}

.single-news__body p:nth-child(n+2) {
  margin-top: 1em;
}

.single-news__body p strong {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .single-news__body p strong {
    font-size: max(1rem, 12px);
  }
}

.single-news__body p a {
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 2;
  overflow-wrap: break-word;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .single-news__body p a {
    font-size: max(1rem, 12px);
  }
}

@media (any-hover: hover) {
  .single-news__body p a:hover {
    opacity: 0.6;
  }
}
.single-news__body > ul {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .single-news__body > ul {
    margin-top: 0.625rem;
  }
}

.single-news__body > ul > li {
  position: relative;
  font-size: max(1.125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 2;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .single-news__body > ul > li {
    font-size: max(1rem, 12px);
  }
}

.single-news__body > ul > li:first-child {
  margin-top: 0;
}

/* リストの「・」 */
.single-news__body > ul > li::before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.single-news__body figure,
.single-news__body iframe {
  display: block;
  max-width: 63.75rem;
  width: 85%;
  margin-inline: auto;
  margin-top: 5rem;
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 414px) {
  .single-news__body figure,
  .single-news__body iframe {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .single-news__body figure,
  .single-news__body iframe {
    margin-top: 3.125rem;
    margin-bottom: 3.75rem;
  }
}

.single-news__body figure img {
  aspect-ratio: 1020/680;
  object-fit: cover;
}

.single-news__body iframe {
  aspect-ratio: 16/9;
}

.single-news__btn-contaner {
  display: flex;
  justify-content: space-between;
  padding-top: 1.875rem;
  border-top: 1px solid #000000;
}
@media screen and (max-width: 767px) {
  .single-news__btn-contaner {
    flex-direction: column;
    gap: 1.875rem;
  }
}

.single-news__postLinks-wrapper {
  display: contents;
}
@media screen and (max-width: 767px) {
  .single-news__postLinks-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.single-news__btn-back {
  text-align: center;
}
.single-news__btn-back a,
.postLink-prev a,
.postLink-next a {
  position: relative;
  display: inline-block;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .single-news__btn-back a,
  .postLink-prev a,
  .postLink-next a {
    font-size: max(0.875rem, 12px);
  }
}

.postLink-prev a {
  padding-left: 2.1875rem;
}

.postLink-next a {
  padding-right: 2.1875rem;
}

.postLink-prev a::before,
.postLink-next a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  mask-image: url(../../assets/images/common/icon-arrow-04.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #000000;
  width: 1.25rem;
  aspect-ratio: 20/11;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .postLink-prev a::before,
  .postLink-next a::before {
    width: 0.9375rem;
  }
}

.postLink-prev a::before {
  transform: translateY(-50%) scale(-1, 1);
  left: 0;
}

.postLink-next a::before {
  right: 0;
}

@media (any-hover: hover) {
  .single-news__btn-back a:hover,
  .postLink-prev a:hover,
  .postLink-next a:hover {
    opacity: 0.6;
  }
}
.strengths__page-tab {
  max-width: 81.25rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .strengths__page-tab {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .strengths__page-tab {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.strengths__intro {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .strengths__intro {
    margin-top: 3.75rem;
  }
}

.strengths__intro-inner {
  max-width: 75rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .strengths__intro-inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .strengths__intro-inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.strengths__intro-movie {
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .strengths__intro-movie {
    border-radius: 0.625rem;
  }
}
.strengths__intro-movie video {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1200/675;
}

.strengths__intro-body {
  margin-top: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .strengths__intro-body {
    margin-top: 5rem;
  }
}

.strengths__intro-title-wrapper {
  position: relative;
}
@media screen and (max-width: 767px) {
  .strengths__intro-title-wrapper {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .strengths__intro-title-wrapper::after {
    content: "";
    display: block;
    clear: both;
  }
}

.strengths__intro-title {
  position: relative;
  display: inline-block;
  font-size: clamp(5rem, -6.25rem + 12.5vw, 6.25rem); /* 80 ~ 100 | 1440 ~ 1600 */
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (max-width: 1440px) {
  .strengths__intro-title {
    font-size: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .strengths__intro-title {
    display: block;
    font-size: max(1.875rem, 12px);
    width: max-content;
    margin-inline: auto;
  }
}

.strengths__intro-title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.625rem;
  background-image: url("../../assets/images/strengths/deco-scribble.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 94%;
  aspect-ratio: 940/40;
  z-index: -1;
}

.strengths__intro-sub-movie {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: clamp(11.875rem, 6.25rem + 6.25vw, 13.75rem); /* 190 ~ 220 | 1440 ~ 1920 */
  border-radius: 0.625rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .strengths__intro-sub-movie {
    position: static;
    transform: none;
    float: right;
    width: 100%;
    max-width: 11.25rem;
    margin-block: 2.5rem 0.625rem;
    margin-left: 1.875rem;
  }
}
.strengths__intro-sub-movie video {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 220/140;
}

.strengths__intro-lead {
  font-size: max(1.5rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.8;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .strengths__intro-lead {
    font-size: max(1rem, 12px);
    margin-top: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .strengths__intro-lead--pc {
    display: none;
  }
}

.strengths__intro-lead--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .strengths__intro-lead--sp {
    display: block;
  }
}

.strengths__pride {
  position: relative;
  margin-top: 7.5rem;
  padding-top: 9.375rem;
}
@media screen and (max-width: 767px) {
  .strengths__pride {
    padding-top: 3.75rem;
    margin-top: 5rem;
  }
}

.strengths__pride-inner {
  max-width: 75rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .strengths__pride-inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .strengths__pride-inner {
    max-width: 33.75rem;
    padding-inline: 1.25rem;
  }
}

.strengths__pride::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-block-end: 16.875rem; /* loop-img はみ出し分 */
  inset-inline-start: -1.875rem;
  inset-inline-end: -26.4375rem; /* 30(padding) + 23(gap) + 370(サイドバー) */
  background-image: linear-gradient(180deg, #000000 0%, #8b8b8b 100%);
  z-index: -1;
}
@media screen and (max-width: 1440px) {
  .strengths__pride::before {
    inset-inline: 0;
    inset-block-end: 4.375rem; /* loop-img はみ出し分 */
  }
}

.strengths__pride-head {
  display: grid;
  grid-template-columns: 21.25rem 1fr;
  gap: 6.25rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .strengths__pride-head {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}

.strengths__pride-title {
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .strengths__pride-title {
    max-width: 18.75rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 0;
  }
}
.strengths__pride-title img {
  height: 100%;
  object-fit: contain;
}

.strengths__pride-text {
  font-size: max(1.375rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 2.4;
}
@media screen and (max-width: 767px) {
  .strengths__pride-text {
    font-size: max(1rem, 12px);
  }
}

.strengths__pride-text:not(:first-child) {
  margin-top: 3.25rem;
}
@media screen and (max-width: 767px) {
  .strengths__pride-text:not(:first-child) {
    margin-top: 1.875rem;
  }
}

.strengths__pride-loop {
  margin-top: 9.375rem;
}
@media screen and (max-width: 767px) {
  .strengths__pride-loop {
    margin-top: 5rem;
  }
}

.strengths__pride-card {
  display: grid;
}

.strengths__pride-card > * {
  grid-area: 1/1;
}

.strengths__pride-role {
  display: flex;
  flex-direction: column;
  align-items: center;
  place-self: center;
  text-align: center;
  z-index: 10;
}

.strengths__pride-role-en {
  font-size: max(2.375rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 0.7105263158;
  letter-spacing: -0.11em;
  text-transform: capitalize;
  font-style: italic;
}
@media screen and (max-width: 767px) {
  .strengths__pride-role-en {
    font-size: max(1.25rem, 12px);
  }
}

.strengths__pride-role-ja {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.6875;
  letter-spacing: -0.11em;
}
@media screen and (max-width: 767px) {
  .strengths__pride-role-ja {
    font-size: max(0.875rem, 12px);
  }
}

.strengths__story {
  position: relative;
  margin-top: 9.875rem;
}
@media screen and (max-width: 767px) {
  .strengths__story {
    margin-top: 7.5rem;
  }
}

.strengths__story-inner {
  display: contents;
}
@media screen and (max-width: 767px) {
  .strengths__story-inner {
    display: block;
    max-width: 32.5rem;
    width: 100%;
    margin-inline: auto;
    padding-inline: 0.625rem;
  }
}

.strengths__story-stage {
  position: relative;
}

.strengths__story-pin {
  position: sticky;
  top: 7.5rem;
  height: 0;
  pointer-events: none;
  transition: all 0.3s;
}

.strengths__story-pin--uniform {
  z-index: 1;
}

.strengths__story-pin--ships {
  z-index: 3;
}

.strengths__story-pin.is-hidden {
  opacity: 0;
}

.strengths__story-uniform {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 98.3%;
}
.strengths__story-uniform img {
  height: 100%;
  object-fit: contain;
}

.strengths__story-ships {
  position: absolute;
  top: 50svh;
  margin-block-start: -10.3125rem;
  left: calc(50% + 22.25rem);
  display: grid;
  max-width: 18.75rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .strengths__story-ships {
    left: auto;
    right: -11.25rem;
    max-width: 12.5rem;
  }
}
@media screen and (max-width: 599px) {
  .strengths__story-ships {
    display: none;
  }
}

.strengths__story-ship {
  grid-area: 1/1;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: all 0.3s;
}

.strengths__story-ship.is-active {
  opacity: 1;
}

.strengths__story-phone {
  position: relative;
  padding-top: 7.1875rem;
  width: 100%;
  max-width: 48.75rem;
  margin-inline: auto;
  filter: drop-shadow(0 0 2.5rem rgba(0, 0, 0, 0.6));
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .strengths__story-phone {
    filter: drop-shadow(0 0 0.625rem rgba(0, 0, 0, 0.6));
    max-width: 32.5rem;
  }
}
.strengths__story-phone img {
  height: 100%;
  object-fit: contain;
}

.strengths__story-outro {
  display: grid;
  grid-template-columns: auto clamp(9.375rem, -18.75rem + 31.25vw, 18.75rem) auto; /* 150 ~ 300 | 1440 ~ 1920 */
  align-items: center;
  margin-top: 9.0625rem;
  margin-inline: auto;
  width: max-content;
}
@media screen and (max-width: 767px) {
  .strengths__story-outro {
    grid-template-columns: auto;
    gap: 2.5rem;
    width: auto;
    margin-top: 5rem;
  }
}

.strengths__story-title {
  font-size: clamp(5rem, 1.25rem + 4.17vw, 6.25rem); /* 80 ~ 100 | 1440 ~ 1920 */
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #000000;
  letter-spacing: -0.06em;
  line-height: 1.4;
  padding-right: 1.5rem;
}
@media screen and (max-width: 767px) {
  .strengths__story-title {
    font-size: max(3.125rem, 12px);
    text-align: center;
    padding-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .strengths__story-outro-ship {
    max-width: 9.375rem;
    width: 100%;
    margin-inline: auto;
  }
}
.strengths__story-outro-ship img {
  height: 100%;
  object-fit: contain;
}

.strengths__story-text {
  font-size: clamp(1.25rem, 0.5rem + 0.83vw, 1.5rem); /* 20 ~ 24 | 1440 ~ 1920 */
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4166666667;
  padding-left: 3.75rem;
}
@media screen and (max-width: 767px) {
  .strengths__story-text {
    font-size: max(1rem, 12px);
    text-align: center;
    padding-left: 0;
  }
}

.sustainable-bring {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
}

.sustainable-bring__inner {
  max-width: 81.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .sustainable-bring__inner {
    padding-inline: 1.5625rem;
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-bring__inner {
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.sustainable-bring__header {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sustainable-bring__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  line-height: 1;
  color: #93b59b;
  text-transform: uppercase;
}

.sustainable-bring__eyebrow::after {
  content: "";
  display: block;
  order: -1;
  flex-shrink: 0;
  width: 0.625rem;
  height: 0.125rem;
  background-color: #93b59b;
}

.sustainable-bring__heading {
  display: inline-block;
  margin-top: 0.375rem;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 3.125rem;
  font-weight: 900;
  line-height: 1.44;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .sustainable-bring__heading {
    font-size: 1.875rem;
  }
}

.sustainable-bring__logo {
  margin-top: 5rem;
  margin-inline: auto;
  display: block;
  width: 100%;
  max-width: 19.375rem;
}

.sustainable-bring__logo img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 310/180;
}

.sustainable-bring__about {
  margin-top: 5rem;
}

.sustainable-bring__about-title {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.5rem, 12px);
  font-weight: 700;
  line-height: 1.4583333333;
  color: #000000;
  text-align: center;
}

.sustainable-bring__cols {
  margin-top: 2.5rem;
  max-width: 52.5rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .sustainable-bring__cols {
    grid-template-columns: repeat(1, 1fr);
  }
}

.sustainable-bring__col {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  line-height: 1.375;
  color: #000000;
}

.sustainable-bring__flow {
  margin-top: 7.5rem;
  margin-inline: auto;
  display: block;
  width: 100%;
  max-width: 49.375rem;
}
@media screen and (max-width: 767px) {
  .sustainable-bring__flow {
    margin-top: 5rem;
  }
}

.sustainable-bring__flow img {
  width: 100%;
  height: auto;
  object-fit: contain;
  aspect-ratio: 790/580;
}

.sustainable-bring__apply {
  margin-top: 7.625rem;
  container-type: inline-size;
  --bring-step-arrow-offset: 0.8620689655cqi;
  --bring-screen-arrow-offset: 1.724137931cqi;
  padding-block: 4.375rem;
  padding-inline: clamp(1.25rem, -8.151rem + 10.44vw, 4.375rem); /* 20 ~ 70 | 1441 ~ 1920 */
  background-color: #ffffff;
  border: 1px solid #00456a;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .sustainable-bring__apply {
    padding-block: 2rem;
    padding-inline: 1.25rem;
  }
}

.sustainable-bring__apply-title {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.75rem, 12px);
  font-weight: 700;
  line-height: 1.4;
  color: #000000;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .sustainable-bring__apply-title {
    font-size: 1.25rem;
  }
}

.sustainable-bring__apply-note {
  margin-top: 0.625rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(0.875rem, 12px);
  font-weight: 500;
  line-height: 1.4285714286;
  color: #000000;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.sustainable-bring__steps {
  margin-top: 2.4375rem;
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.5rem, 1.149137931cqi, 0.833125rem);
}
@media screen and (max-width: 767px) {
  .sustainable-bring__steps {
    grid-template-columns: repeat(1, 1fr);
  }
}

.sustainable-bring__step {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: clamp(140px, 22.4137931034cqi, 260px);
  padding-block: clamp(1.125rem, 1.724137931cqi, 1.25rem);
  padding-inline: clamp(0.625rem, 1.2931034483cqi, 0.9375rem) clamp(0.75rem, 2.1551724138cqi, 1.5625rem);
  background: linear-gradient(180deg, #00456a 0%, #93b59b 100%);
  border-radius: 0.625rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sustainable-bring__step {
    min-height: max(260px, 16.25rem);
    justify-content: center;
  }
}

.sustainable-bring__step:not(:last-child) {
  width: calc(100% + var(--bring-step-arrow-offset));
  border-radius: 0;
  -webkit-mask-image: url("../../assets/images/sustainable/mask-image-step.svg");
  mask-image: url("../../assets/images/sustainable/mask-image-step.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  padding-inline: clamp(0.625rem, 1.2931034483cqi, 0.9375rem) clamp(1rem, 3.0172413793cqi, 2.1875rem);
}
@media screen and (max-width: 767px) {
  .sustainable-bring__step:not(:last-child) {
    width: 100%;
    -webkit-mask-image: url("../../assets/images/sustainable/mask-image-step-sp.svg");
    mask-image: url("../../assets/images/sustainable/mask-image-step-sp.svg");
  }
}

.sustainable-bring__step-title {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(13px, 1.9827586207cqi, 23px);
  font-weight: 700;
  line-height: 1.4782608696;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .sustainable-bring__step-title {
    font-size: max(1.4375rem, 12px);
  }
}

.sustainable-bring__step-icon {
  margin-top: clamp(1rem, 2.5862068966cqi, 1.875rem);
  display: block;
  width: 100%;
  max-width: clamp(4.25rem, 8.6206896552cqi, 6.25rem);
}

.sustainable-bring__step-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 100/100;
}

.sustainable-bring__step-description {
  margin-top: clamp(0.75rem, 1.724137931cqi, 1.25rem);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(12px, 1.2068965517cqi, 14px);
  font-weight: 700;
  line-height: 1.3571428571;
  color: #ffffff;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .sustainable-bring__step-description {
    font-size: max(0.875rem, 12px);
  }
}

.sustainable-bring__screens-title {
  margin-top: 5rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.75rem, 12px);
  font-weight: 700;
  line-height: 1.4285714286;
  color: #000000;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sustainable-bring__screens-title {
    font-size: max(1.25rem, 12px);
  }
}

.sustainable-bring__screens {
  margin-top: 2.375rem;
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, 3.4482758621cqi, 2.5rem);
}
@media screen and (max-width: 767px) {
  .sustainable-bring__screens {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
  }
}

.sustainable-bring__screen {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding-block: clamp(1rem, 1.724137931cqi, 1.25rem);
  padding-inline: clamp(1rem, 2.5862068966cqi, 1.875rem);
  background: linear-gradient(180deg, #00456a 0%, #93b59b 100%);
  border-radius: 0.625rem;
  text-align: center;
}

.sustainable-bring__screen:not(:last-child) {
  width: calc(100% + var(--bring-screen-arrow-offset));
  border-radius: 0;
  -webkit-mask-image: url("../../assets/images/sustainable/mask-image-screen.svg");
  mask-image: url("../../assets/images/sustainable/mask-image-screen.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  padding-inline: clamp(1rem, 2.5862068966cqi, 1.875rem) clamp(1.375rem, 4.3103448276cqi, 3.125rem);
}
@media screen and (max-width: 767px) {
  .sustainable-bring__screen:not(:last-child) {
    width: 100%;
    padding-inline: clamp(1rem, 2.5862068966cqi, 1.875rem);
    padding-bottom: 2rem;
    -webkit-mask-image: url("../../assets/images/sustainable/mask-image-screen-sp.svg");
    mask-image: url("../../assets/images/sustainable/mask-image-screen-sp.svg");
  }
}

.sustainable-bring__screen-cap {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(12px, 1.2068965517cqi, 14px);
  font-weight: 700;
  line-height: 1.3571428571;
  color: #ffffff;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .sustainable-bring__screen-cap {
    font-size: max(0.875rem, 12px);
  }
}

.sustainable-bring__screen-image {
  margin-top: clamp(1rem, 1.724137931cqi, 1.25rem);
  display: block;
  width: 100%;
  max-width: clamp(13.75rem, 25.8620689655cqi, 18.75rem);
}

.sustainable-bring__screen-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 300/430;
}

.sustainable-circular__inner {
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .sustainable-circular__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-circular__inner {
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.sustainable-circular__container {
  margin-inline: auto;
  max-width: 90rem;
  padding-block: 5rem 4.375rem;
  padding-inline: clamp(1.25rem, -8.151rem + 10.44vw, 4.375rem); /* 20 ~ 70 | 1441 ~ 1920 */
  background: linear-gradient(180deg, #00456a 0%, #93b59b 100%);
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .sustainable-circular__container {
    padding-block: 2.5rem;
    padding-inline: 1.25rem;
  }
}

.sustainable-circular__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .sustainable-circular__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}

.sustainable-circular__header-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.sustainable-circular__title {
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 4.375rem;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
  font-style: italic;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .sustainable-circular__title {
    font-size: 2.5rem;
  }
}

.sustainable-circular__lead {
  margin-top: 1.5rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.5rem, 12px);
  font-weight: 700;
  line-height: 1.2;
  color: #ffffff;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .sustainable-circular__lead {
    font-size: max(1.125rem, 12px);
  }
}

.sustainable-circular__description {
  width: 26.25rem;
  max-width: 100%;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  line-height: 1.375;
  color: #ffffff;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.sustainable-circular__description span {
  font-weight: 900;
}

.sustainable-circular__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .sustainable-circular__list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.sustainable-circular__item {
  min-width: 0;
  min-height: 28.125rem;
  padding-block: 1.75rem 1.875rem;
  padding-inline: 1.875rem;
  background-color: #ffffff;
  border-radius: 0.625rem;
}

.sustainable-circular__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1.375rem;
}
@media (width <= 1099px) {
  .sustainable-circular__head {
    flex-direction: column;
    align-items: initial;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-circular__head {
    flex-direction: initial;
    align-items: flex-end;
  }
}

.sustainable-circular__en {
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.75rem, 12px);
  font-weight: 700;
  line-height: 1;
  color: #000000;
  font-style: italic;
  text-transform: uppercase;
}

.sustainable-circular__ja {
  padding-left: 1.25rem;
  border-left: 1px solid #000000;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(0.875rem, 12px);
  font-weight: 700;
  line-height: 1.4285714286;
  color: #000000;
}

.sustainable-circular__visual {
  margin-top: 2.8125rem;
  margin-left: 1.0625rem;
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}

.sustainable-circular__illust {
  flex: 0 1 15rem;
  min-width: 0;
  width: 15rem;
  max-width: 100%;
  aspect-ratio: 240/160;
}

.sustainable-circular__illust[data-illust=no-sdgs] {
  margin-inline: auto;
}

.sustainable-circular__illust img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sustainable-circular__sdgs {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.sustainable-circular__sdgs-item {
  display: block;
  width: 100%;
  max-width: 3.125rem;
}

.sustainable-circular__sdgs-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 50/50;
}

.sustainable-circular__text {
  margin-top: 2.1875rem;
  margin-inline: auto;
  max-width: 20rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  line-height: 1.375;
  color: #575757;
}

.sustainable-circular__item--eplus {
  grid-column: span 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .sustainable-circular__item--eplus {
    grid-column: auto;
  }
}

.sustainable-circular__eplus {
  display: flex;
  align-items: center;
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .sustainable-circular__eplus {
    flex-direction: column;
    gap: 1.5rem;
    text-align: center;
  }
}

.sustainable-circular__eplus-logo {
  flex-shrink: 0;
  width: 9.375rem;
}

.sustainable-circular__eplus-logo img {
  width: 100%;
  height: auto;
}

.sustainable-circular__eplus-text {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 700;
  line-height: 1.375;
  color: #000000;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.sustainable-features {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
}

.sustainable-features__list {
  max-width: 81.25rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 1440px) {
  .sustainable-features__list {
    padding-inline: 1.5625rem;
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-features__list {
    grid-template-columns: repeat(1, 1fr);
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.sustainable-features__item {
  padding-block: clamp(1.25rem, -5.184rem + 5.88vw, 1.875rem); /* 20 ~ 30 | 1750 ~ 1920 */
  padding-inline: clamp(0.938rem, -8.713rem + 8.82vw, 1.875rem); /* 15 ~ 30 | 1750 ~ 1920 */
  background-color: #efefef;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .sustainable-features__item {
    padding-block: 1.25rem;
    padding-inline: 1.25rem;
  }
}

.sustainable-features__icon {
  margin-inline: auto;
  display: block;
  width: 100%;
  max-width: 3.75rem;
}

.sustainable-features__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 60/60;
}

.sustainable-features__title {
  font-size: clamp(1.188rem, 0.247rem + 1.04vw, 1.5rem); /* 19 ~ 24 | 1441 ~ 1920 */
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  line-height: 1.4583333333;
  color: #000000;
  text-align: center;
  margin-top: 1.25rem;
}
@media screen and (max-width: 1440px) {
  .sustainable-features__title {
    font-size: max(1.5rem, 12px);
  }
}
@media screen and (max-width: 767px) {
  .sustainable-features__title {
    font-size: 1.25rem;
  }
}

.sustainable-features__line {
  display: block;
  width: 100%;
  height: 0.0625rem;
  margin-top: 0.875rem;
  background-color: #000000;
}

.sustainable-features__text {
  margin-top: 1.875rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1rem, 12px);
  font-weight: 500;
  line-height: 1.375;
  color: #575757;
}

.sustainable-features__note {
  margin-top: 1.25rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.125rem, 12px);
  font-weight: 900;
  line-height: 1.4444444444;
  color: #575757;
}

.sustainable-fv {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
}

.sustainable-fv__inner {
  max-width: 63.125rem;
  margin-inline: auto;
  display: flex;
  gap: 2.75rem;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .sustainable-fv__inner {
    flex-direction: column;
    gap: initial;
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.sustainable-fv__body {
  margin-top: 6.25rem;
  flex-shrink: 1;
  max-width: 31.3125rem;
}
@media screen and (max-width: 767px) {
  .sustainable-fv__body {
    margin-top: 2.5rem;
    max-width: 100%;
  }
}

.sustainable-fv__heading {
  display: inline-block;
}

.sustainable-fv__heading img {
  width: 27.5rem;
  max-width: 100%;
  height: auto;
}

.sustainable-fv__lead {
  margin-top: 2.5rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(1.375rem, 12px);
  font-weight: 700;
  color: #575757;
  line-height: 1.8;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .sustainable-fv__lead {
    margin-top: 1.5rem;
    font-size: max(1rem, 12px);
  }
}

.sustainable-fv__media {
  max-width: 21.875rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .sustainable-fv__media {
    max-width: 15.625rem;
    margin-top: 1.875rem;
    margin-inline: auto;
  }
}

.sustainable-fv__media img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.sustainable-interview__inner {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .sustainable-interview__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-interview__inner {
    padding-inline: 0.625rem;
    max-width: 32.5rem;
  }
}

.sustainable-interview__heading {
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(2.5rem, 12px);
  font-weight: 900;
  line-height: 1.5;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .sustainable-interview__heading {
    font-size: max(1.625rem, 12px);
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
}

.sustainable-interview__banner {
  position: relative;
  margin-top: 1.25rem;
  aspect-ratio: 1440/600;
  border-radius: 0.625rem;
  overflow: hidden;
  background: linear-gradient(180deg, #00456a 0%, #93b59b 100%);
  container-type: inline-size;
}
@media screen and (max-width: 767px) {
  .sustainable-interview__banner {
    aspect-ratio: auto;
    display: flex;
    flex-wrap: wrap;
  }
}

.sustainable-interview__banner:nth-child(even) {
  background: linear-gradient(180deg, #93b59b 0%, #00456a 100%);
}

.sustainable-interview__banner + .sustainable-interview__banner {
  margin-top: 2.5rem;
}

.sustainable-interview__photo {
  position: absolute;
  top: 0;
  width: 29.1667%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .sustainable-interview__photo {
    position: static;
    width: 50%;
    height: auto;
  }
}

.sustainable-interview__photo--left {
  left: 0;
}

.sustainable-interview__photo--right {
  right: 0;
}

.sustainable-interview__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .sustainable-interview__photo img {
    height: auto;
    aspect-ratio: 190/300;
  }
}

.sustainable-interview__panel {
  position: absolute;
  inset-block: 0;
  inset-inline: 29.1667%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sustainable-interview__panel {
    position: relative;
    inset-block: auto;
    inset-inline: auto;
    width: 100%;
    aspect-ratio: 1/1;
  }
}

.sustainable-interview__panel::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 75.3%;
  height: 1px;
  background-color: #ffffff;
  translate: -50% -50%;
  rotate: -48.9deg;
  pointer-events: none;
  z-index: 0;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .sustainable-interview__panel::before {
    top: 52%;
    width: 76.8%;
    rotate: -49.9deg;
  }
}

.sustainable-interview__company {
  position: absolute;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.6944444444cqi;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .sustainable-interview__company {
    gap: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-interview__company {
    gap: 1.6666666667cqi;
  }
}

.sustainable-interview__company:first-child {
  top: 4.6527777778cqi;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .sustainable-interview__company:first-child {
    top: 4.1875rem;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-interview__company:first-child {
    top: 11.1666666667cqi;
  }
}

.sustainable-interview__company:first-child.sustainable-interview__company--green {
  left: 16.5%;
}
@media screen and (min-width: 320px) and (max-width: 374.98px) {
  .sustainable-interview__company:first-child.sustainable-interview__company--green {
    left: calc(7% + 10.5% * (100vw - 320px) / 54px);
  }
}
@media screen and (max-width: 319.98px) {
  .sustainable-interview__company:first-child.sustainable-interview__company--green {
    left: 6%;
  }
}

.sustainable-interview__company:first-child.sustainable-interview__company--blue {
  right: 13.2%;
}

.sustainable-interview__company--green {
  align-items: flex-start;
  color: #93b59b;
}

.sustainable-interview__company--blue {
  align-items: flex-end;
  color: #00456a;
}

.sustainable-interview__company--green .sustainable-interview__company-sub {
  order: 1;
}

.sustainable-interview__company--green .sustainable-interview__company-name {
  order: 2;
}

.sustainable-interview__company--blue .sustainable-interview__company-name {
  order: 1;
}

.sustainable-interview__company--blue .sustainable-interview__company-sub {
  order: 2;
}

.sustainable-interview__company-sub {
  display: inline-block;
  padding-block: 0 0.0625rem;
  padding-inline: 0.1388888889cqi;
  color: currentColor;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(0.9722222222cqi, 12px);
  font-weight: 500;
  line-height: 1;
  background-color: #ffffff;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .sustainable-interview__company-sub {
    padding-inline: 0.125rem;
    font-size: max(0.875rem, 12px);
  }
}
@media screen and (max-width: 767px) {
  .sustainable-interview__company-sub {
    padding-inline: 0.3333333333cqi;
    font-size: max(2.3333333333cqi, 12px);
  }
}

.sustainable-interview__company-name {
  display: inline-flex;
  align-items: flex-end;
  color: currentColor;
  line-height: 1;
}

.sustainable-interview__company-name-text {
  padding-block: 0 0.125rem;
  padding-inline: 0.1388888889cqi;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2.7777777778cqi;
  font-weight: 400;
  line-height: 1;
  background-color: #ffffff;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .sustainable-interview__company-name-text {
    padding-inline: 0.125rem;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-interview__company-name-text {
    padding-inline: 0.3333333333cqi;
    font-size: 6.6666666667cqi;
  }
}

.sustainable-interview__company-name-text[data-text=ls] {
  letter-spacing: -0.1em;
}

.sustainable-interview__company-hon {
  padding-block: 0 0.0625rem;
  padding-inline: 0.1388888889cqi;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.3888888889cqi;
  font-weight: 500;
  line-height: 1;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .sustainable-interview__company-hon {
    padding-inline: 0.125rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-interview__company-hon {
    padding-inline: 0.3333333333cqi;
    font-size: 3.3333333333cqi;
  }
}

.sustainable-interview__label {
  position: absolute;
  top: 12.5cqi;
  left: 50%;
  z-index: 1;
  width: 26.3888888889cqi;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 6.25cqi;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  color: #ffffff;
  text-transform: uppercase;
  translate: -50%;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .sustainable-interview__label {
    top: 11.5rem;
    width: 23.75rem;
    font-size: 5.625rem;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-interview__label {
    top: 30cqi;
    width: 63.3333333333cqi;
    font-size: 15cqi;
  }
}

.sustainable-interview__label::first-line {
  font-weight: 700;
}

.sustainable-interview__label span {
  display: inline-block;
  font-size: 4.1666666667cqi;
  font-weight: 300;
  letter-spacing: -0.04em;
  position: absolute;
  top: 4.5833333333cqi;
  translate: -50%;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .sustainable-interview__label span {
    top: 3.9375rem;
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-interview__label span {
    top: 11cqi;
    font-size: 10cqi;
  }
}

.sustainable-interview__description {
  position: absolute;
  top: 22.3611111111cqi;
  left: 50%;
  z-index: 1;
  width: 23.6111111111cqi;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: max(0.9722222222cqi, 12px);
  font-weight: 500;
  color: #ffffff;
  translate: -50%;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .sustainable-interview__description {
    top: 20.125rem;
    width: 28.125rem;
    font-size: max(0.875rem, 12px);
  }
}
@media screen and (max-width: 767px) {
  .sustainable-interview__description {
    top: 53.6666666667cqi;
    width: 46.6666666667cqi;
    font-size: max(2.3333333333cqi, 12px);
  }
}

.interview-mv .sustainable-interview__label {
  top: 15.8333333333cqi;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .interview-mv .sustainable-interview__label {
    top: 13.625rem;
  }
}
@media screen and (max-width: 767px) {
  .interview-mv .sustainable-interview__label {
    top: 36.3333333333cqi;
  }
}

.interview-mv .sustainable-interview__description {
  top: 25.625cqi;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .interview-mv .sustainable-interview__description {
    top: 23.0625rem;
  }
}
@media screen and (max-width: 767px) {
  .interview-mv .sustainable-interview__description {
    top: 61.5cqi;
  }
}

.sustainable-interview__btn {
  position: absolute;
  top: 26.8055555556cqi;
  left: 50%;
  z-index: 1;
  width: 16.6666666667cqi;
  margin: 0;
  translate: -50%;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .sustainable-interview__btn {
    top: 24.125rem;
    width: 15rem;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-interview__btn {
    top: 64.3333333333cqi;
    width: 40cqi;
  }
}

.sustainable-interview__company:last-child {
  top: 32.7083333333cqi;
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .sustainable-interview__company:last-child {
    top: 29.4375rem;
  }
}
@media screen and (max-width: 767px) {
  .sustainable-interview__company:last-child {
    top: 78.5cqi;
  }
}

.sustainable-interview__company:last-child.sustainable-interview__company--green {
  left: 20%;
}
@media screen and (min-width: 768px) and (max-width: 950px) {
  .sustainable-interview__company:last-child.sustainable-interview__company--green {
    left: calc(10% + 10% * (100vw - 768px) / 182px);
  }
}
@media screen and (min-width: 320px) and (max-width: 374.98px) {
  .sustainable-interview__company:last-child.sustainable-interview__company--green {
    left: calc(6% + 14% * (100vw - 320px) / 54px);
  }
}
@media screen and (max-width: 319.98px) {
  .sustainable-interview__company:last-child.sustainable-interview__company--green {
    left: 6%;
  }
}

.sustainable-interview__company:last-child.sustainable-interview__company--blue {
  right: 9.7%;
}

@-moz-document url-prefix() {
  @media screen and (min-width: 360px) and (max-width: 374.98px) {
    .sustainable-interview__company:first-child.sustainable-interview__company--green {
      left: 15%;
    }
  }
  @media screen and (min-width: 340px) and (max-width: 359.98px) {
    .sustainable-interview__company:first-child.sustainable-interview__company--green {
      left: 12%;
    }
  }
  @media screen and (min-width: 320px) and (max-width: 339.98px) {
    .sustainable-interview__company:first-child.sustainable-interview__company--green {
      left: 8%;
    }
  }
  @media screen and (min-width: 890px) and (max-width: 950px) {
    .sustainable-interview__company:last-child.sustainable-interview__company--green {
      left: 18%;
    }
  }
  @media screen and (min-width: 829px) and (max-width: 889.98px) {
    .sustainable-interview__company:last-child.sustainable-interview__company--green {
      left: 15%;
    }
  }
  @media screen and (min-width: 768px) and (max-width: 828.98px) {
    .sustainable-interview__company:last-child.sustainable-interview__company--green {
      left: 12%;
    }
  }
  @media screen and (min-width: 360px) and (max-width: 374.98px) {
    .sustainable-interview__company:last-child.sustainable-interview__company--green {
      left: 18%;
    }
  }
  @media screen and (min-width: 340px) and (max-width: 359.98px) {
    .sustainable-interview__company:last-child.sustainable-interview__company--green {
      left: 14%;
    }
  }
  @media screen and (min-width: 320px) and (max-width: 339.98px) {
    .sustainable-interview__company:last-child.sustainable-interview__company--green {
      left: 9%;
    }
  }
}
.top-brand-cards {
  margin-top: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .top-brand-cards {
    margin-top: 5rem;
  }
}

.top-brand-cards__inner {
  max-width: 90rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .top-brand-cards__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .top-brand-cards__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.top-brand-cards__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-brand-cards__list {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
}

.top-brand-cards__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 3.75rem;
  padding-inline: 2.5rem;
  background-color: #efefef;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .top-brand-cards__card {
    padding-top: 1.25rem;
    padding-inline: 1.75rem;
  }
}

.top-brand-cards__card-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  text-align: center;
}

.top-brand-cards__card-heading {
  font-size: max(1.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .top-brand-cards__card-heading {
    font-size: max(1.5rem, 12px);
  }
}

.top-brand-cards__card-text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #575757;
  line-height: 1.4;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .top-brand-cards__card-text {
    font-size: max(0.875rem, 12px);
    margin-top: 0.875rem;
  }
}

.top-brand-cards__card-btn {
  margin-top: 1.25rem;
}

.top-brand-cards__card-img {
  width: 100%;
  margin-inline: auto;
}

.top-brand-cards__card.top-brand-cards__card--sustainable .top-brand-cards__card-img {
  max-width: clamp(12.5rem, 3.125rem + 10.42vw, 15.625rem); /* 200 ~ 250 | 1440 ~ 1920 */
  margin-block: 3.75rem;
}
@media screen and (max-width: 1440px) {
  .top-brand-cards__card.top-brand-cards__card--sustainable .top-brand-cards__card-img {
    max-width: 15.625rem;
  }
}
@media screen and (max-width: 767px) {
  .top-brand-cards__card.top-brand-cards__card--sustainable .top-brand-cards__card-img {
    margin-block: 1.875rem;
    max-width: 8.125rem;
  }
}

.top-brand-cards__card.top-brand-cards__card--sustainable .top-brand-cards__card-img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.top-brand-cards__card-img.top-brand-cards__card-img--luxe {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 37.3125rem;
}
@media screen and (max-width: 767px) {
  .top-brand-cards__card-img.top-brand-cards__card-img--luxe {
    position: static;
    transform: none;
    max-width: none;
    margin-top: -0.9375rem;
  }
}

.top-brand-cards__card-img.top-brand-cards__card-img--luxeimg {
  height: 100%;
  aspect-ratio: 597/380;
  object-fit: cover;
}

.top-branding {
  position: relative;
  width: 100%;
  padding-top: 9.375rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-branding {
    padding-top: 6.25rem;
  }
}

.top-branding__heading-wrapper {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  width: max-content;
  margin-top: 5rem;
  margin-inline: auto;
  translate: -15.09375rem 0;
}
@media screen and (max-width: 1440px) {
  .top-branding__heading-wrapper {
    translate: none;
  }
}
@media screen and (max-width: 767px) {
  .top-branding__heading-wrapper {
    margin-top: 3.75rem;
    text-align: center;
  }
}

.top-branding__heading {
  font-size: 3.125rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.28;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-branding__heading {
    font-size: max(2.25rem, 12px);
  }
}

.top-branding__slider {
  position: relative;
  width: 100%;
}

.top-branding__wear-pride {
  display: none;
}
@media screen and (max-width: 767px) {
  .top-branding__wear-pride {
    display: block;
    position: absolute;
    top: -6.25rem;
    right: 0.625rem;
    width: 5rem;
    z-index: 2;
    pointer-events: none;
  }
}

.top-branding__row {
  overflow: hidden;
  transition: opacity 0.3s;
}

.top-branding__row + .top-branding__row {
  margin-top: 1.25rem;
}

.top-branding__row:not(.swiper-initialized) {
  opacity: 0;
}
.top-branding__row:not(.swiper-initialized) .top-branding__item {
  width: calc((100% - 3.75rem) / 4);
}
@media screen and (max-width: 991px) {
  .top-branding__row:not(.swiper-initialized) .top-branding__item {
    width: calc((100% - 1.25rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .top-branding__row:not(.swiper-initialized) .top-branding__item {
    width: calc((100% - 1.25rem) / 1.5);
  }
}

.top-branding__items {
  display: flex;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.top-branding__items.swiper-wrapper {
  transition-timing-function: linear;
}

.top-branding__item {
  position: relative;
  flex-shrink: 0;
}

.top-branding__item-link {
  display: block;
}

.top-branding__card {
  position: relative;
  width: 100%;
  aspect-ratio: 540/370;
  border-radius: 0.625rem;
  overflow: hidden;
  background-color: #ffffff;
}

.top-branding__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: filter 0.5s;
}

.top-branding__caption {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-block: 1.25rem;
  padding-inline: 1.25rem;
  background-color: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .top-branding__caption {
    padding-block: 0.625rem;
    padding-inline: 0.625rem;
    opacity: 1;
  }
}

.top-branding__caption-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
}

.top-branding__company {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-branding__company {
    font-size: max(0.875rem, 12px);
  }
}

.top-branding__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.top-branding__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.875rem;
  padding-inline: 0.625rem;
  background-color: #ffffff;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1;
}

/* 色タームのタグ。色は ACF のカラーピッカー値を --chip-color で受け取る */
.top-branding__tag--color {
  gap: 0.375rem;
}

.top-branding__tag--color::before {
  content: "";
  flex-shrink: 0;
  width: 0.75rem;
  aspect-ratio: 1;
  background-color: var(--chip-color);
  border: 1px solid #b5b5b5;
  border-radius: 50%;
}

@media (any-hover: hover) {
  .top-branding__item-link:hover .top-branding__card-img {
    filter: blur(8px);
  }
  .top-branding__item-link:hover .top-branding__caption {
    opacity: 1;
  }
}
.top-branding__btn-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .top-branding__btn-wrapper {
    margin-top: 1.25rem;
  }
}

.top-column {
  margin-top: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .top-column {
    margin-top: 5.3125rem;
  }
}

.top-column__inner {
  max-width: 90rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .top-column__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .top-column__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.top-column__slider {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-column__slider {
    max-width: 25rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 1.5rem;
  }
}

.top-column__slider .swiper {
  overflow: hidden;
}

/* 767px以下は Swiper 未初期化 → 縦積み1カラム */
@media screen and (max-width: 767px) {
  .top-column__slider .swiper-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  .top-column__slider .swiper-slide {
    width: 100%;
  }
  /* PC は 6 件表示。767px以下は 4 件目以降を非表示にして 3 件表示にする */
  .top-column__slider .swiper-slide:nth-child(n+4) {
    display: none;
  }
}
/* ----- カード ----- */
.top-column__card {
  height: auto;
}

.top-column__card-link {
  display: block;
  color: #000000;
  border-radius: 0.625rem;
  padding: 0.625rem;
  transition: all 0.3s;
}

.top-column__card-img {
  border-radius: 0.625rem;
  overflow: hidden;
}

.top-column__card-img img {
  aspect-ratio: 370/264;
  object-fit: cover;
  transition: transform 0.3s;
}

.top-column__card-body {
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
  padding-top: 0.9375rem;
  padding-inline: 0.625rem;
}

.top-column__card-date {
  flex-shrink: 0;
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.05em;
  line-height: 1;
  white-space: nowrap;
  transition: color 0.3s;
}
@media screen and (max-width: 767px) {
  .top-column__card-date {
    font-size: max(0.875rem, 12px);
  }
}

.top-column__card-content {
  flex: 1;
  min-width: 0;
}

.top-column__card-title {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  transition: color 0.3s;
}

.top-column__card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 1rem;
  list-style: none;
  padding: 0;
}

.top-column__card-tag {
  padding-block: 0.25rem;
  padding-inline: 0.5rem;
  background-color: #ffffff;
  border: 1px solid #b5b5b5;
  border-radius: 0.25rem;
  font-size: max(0.875rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000000;
  line-height: 1;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

/* ----- カードホバー（色反転 + 画像ズーム） ----- */
@media (any-hover: hover) {
  .top-column__card-link:hover {
    background-color: #000000;
    color: #ffffff;
  }
  .top-column__card-link:hover .top-column__card-date,
  .top-column__card-link:hover .top-column__card-title {
    color: #ffffff;
  }
  .top-column__card-link:hover .top-column__card-tag {
    background-color: #000000;
    border-color: #ffffff;
    color: #ffffff;
  }
  .top-column__card-link:hover .top-column__card-img img {
    transform: scale(1.1);
  }
  .top-column__card-link:hover .icon-arrow[data-theme=mv-card] {
    background-color: #ffffff;
  }
  .top-column__card-link:hover .icon-arrow[data-theme=mv-card]::before {
    background-color: #000000;
  }
}
.top-column__btn-container {
  max-width: 15rem;
  width: 100%;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-column__btn-container {
    margin-top: 1.875rem;
    margin-inline: auto;
  }
}

.top-column__slide-btn-wrapper {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .top-column__slide-btn-wrapper {
    display: none;
  }
}

.top-column__slide-btn {
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #000000;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  transition: background-color 0.3s;
}

.top-column__slide-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.625rem;
  aspect-ratio: 6/10;
  background-color: #ffffff;
  mask-image: url("../../assets/images/common/icon-arrow-01.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transform: translate(-50%, -50%);
  transition: background-color 0.3s;
}

.top-column__slide-btn--prev::before {
  transform: translate(-50%, -50%) rotate(180deg);
}

@media (any-hover: hover) {
  .top-column__slide-btn:hover {
    background-color: #ffffff;
    border: 1px solid #000000;
  }
  .top-column__slide-btn:hover::before {
    background-color: #000000;
  }
}
.top-column__slide-btn.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}

.top-column__btn-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-column__btn-wrapper {
    margin-top: 1.875rem;
  }
}

/* body の横スクロールバー防止（vw / dvi 使用箇所のはみ出し抑制） */
:where(:root, body) {
  overflow-x: clip;
}

.top-hanger {
  position: relative;
  width: 100%;
  background-image: url("../images/top/bg-hanger-pc.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .top-hanger {
    background-image: url("../images/top/bg-hanger-sp.webp");
  }
}

.top-instagram {
  margin-top: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .top-instagram {
    margin-top: 5rem;
  }
}

.top-instagram__inner {
  max-width: 90rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .top-instagram__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .top-instagram__inner {
    max-width: 32.5rem;
    width: 100%;
    padding-inline: 0.625rem;
  }
}

.top-instagram__items {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.75rem;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .top-instagram__items {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
}

.top-instagram__item {
  aspect-ratio: 230/290;
  border-radius: 0.625rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-instagram__item {
    aspect-ratio: 113/141;
  }
}

.top-instagram__item-link {
  display: block;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}
@media (any-hover: hover) {
  .top-instagram__item-link:hover {
    filter: brightness(1.3);
  }
}
.top-instagram__item-link img {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 230/290;
}

.top-instagram__message {
  margin-top: 7.5rem;
  display: flex;
  justify-content: space-between;
  gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .top-instagram__message {
    flex-direction: column;
    max-width: 20.9375rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 5rem;
  }
}

.top-instagram__message-img {
  max-width: 30.9375rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top-instagram__message-img {
    max-width: 18.75rem;
  }
}
.top-instagram__message-img img {
  height: 100%;
  object-fit: contain;
}

.top-instagram__message-body {
  position: relative;
  display: grid;
  grid-template-columns: 19.125rem 18.75rem;
  gap: 1.0625rem;
  max-width: 40.1875rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top-instagram__message-body {
    grid-template-columns: 1fr 1fr;
    gap: 0.625rem;
    margin-top: 1.875rem;
  }
}

.top-instagram__message-body::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 6.25rem;
  background-color: #000000;
}
@media screen and (max-width: 767px) {
  .top-instagram__message-body::before {
    height: 5rem;
  }
}

.top-instagram__message-title {
  font-size: max(1.875rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 300;
  color: #000000;
  line-height: 1.1333333333;
  letter-spacing: -0.005em;
  font-style: italic;
  text-transform: uppercase;
  padding-left: 3.75rem;
}
@media screen and (max-width: 767px) {
  .top-instagram__message-title {
    font-size: max(1.125rem, 12px);
    padding-left: 1.25rem;
    margin-left: 0;
  }
}

.top-instagram__message-text {
  font-size: max(0.9375rem, 12px);
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 300;
  color: #000000;
  line-height: 1.3333333333;
  letter-spacing: -0.005em;
  font-style: italic;
}
@media screen and (max-width: 767px) {
  .top-instagram__message-text {
    font-size: max(0.625rem, 12px);
  }
}

.top-introduction {
  position: relative;
  container-type: inline-size;
  margin-top: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .top-introduction {
    margin-top: 2.8125rem;
  }
}

.top-introduction::before,
.top-introduction::after {
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 41.25rem;
  z-index: -1;
}
@media screen and (max-width: 1920px) {
  .top-introduction::before,
  .top-introduction::after {
    width: 44.5cqi;
  }
}
@media screen and (max-width: 767px) {
  .top-introduction::before,
  .top-introduction::after {
    width: 18.75rem;
  }
}

.top-introduction::before {
  top: -57.8125rem;
  right: -6.25rem;
  background-image: url(../../assets/images/top/introduction-deco-02.webp);
  aspect-ratio: 660/1000;
}
@media screen and (max-width: 1920px) {
  .top-introduction::before {
    top: -63.054cqi;
    right: -6.817cqi;
  }
}
@media screen and (max-width: 767px) {
  .top-introduction::before {
    top: -15.625rem;
    right: -6.25rem;
  }
}

.top-introduction::after {
  top: -8.125rem;
  left: -6.6875rem;
  background-image: url(../../assets/images/top/introduction-deco-01.webp);
  aspect-ratio: 660/1100;
}
@media screen and (max-width: 1920px) {
  .top-introduction::after {
    top: -8.862cqi;
    left: -7.294cqi;
  }
}
@media screen and (max-width: 767px) {
  .top-introduction::after {
    top: auto;
    bottom: -9.375rem;
    left: -6.25rem;
  }
}

.top-introduction__inner {
  max-width: 90rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .top-introduction__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .top-introduction__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.top-introduction__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .top-introduction__cards {
    grid-template-columns: 1fr;
    gap: 0.625rem;
    margin-top: 1.375rem;
  }
}

.top-introduction__card {
  display: flex;
  flex-direction: column;
  background-color: #efefef;
  border-radius: 0.625rem;
  overflow: hidden;
}

.top-introduction__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  padding-inline: 2.5rem;
  padding-block: 4.0625rem 3.125rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-introduction__body {
    padding-inline: 1.25rem;
    padding-block: 1.375rem 0;
  }
}

.top-introduction__title {
  font-size: max(1.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .top-introduction__title {
    font-size: max(1.5rem, 12px);
  }
}

.top-introduction__text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #575757;
  line-height: 1.4;
  margin-top: 1.4375rem;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .top-introduction__text {
    font-size: max(0.875rem, 12px);
    margin-top: 0.75rem;
  }
}

.top-introduction__btn {
  margin-top: 1.25rem;
}

@media screen and (max-width: 767px) {
  .top-introduction__img {
    margin-top: -1rem;
  }
}

.top-introduction__img img {
  height: 100%;
  object-fit: cover;
  aspect-ratio: 700/380;
}

.top-movie {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: 9.375rem;
  display: grid;
  grid-template-columns: 1fr 23.125rem;
  gap: 1.4375rem;
  padding-inline: 1.875rem;
  z-index: 1;
}
@media screen and (max-width: 1440px) {
  .top-movie {
    grid-template-columns: 1fr;
    padding-inline: 0;
    padding-block: 9.375rem;
  }
}
@media screen and (max-width: 767px) {
  .top-movie {
    padding-block: 6.25rem;
  }
}

.top-movie__inner {
  max-width: 90rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .top-movie__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .top-movie__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.top-movie__video-wrapper {
  position: relative;
  max-width: 75rem;
  width: 100%;
  margin-inline: auto;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .top-movie__video-wrapper {
    max-width: 31.25rem;
    border-radius: 0.625rem;
  }
}

.top-movie__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1200/675;
  border-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .top-movie__video {
    border-radius: 0.625rem;
  }
}

.top-movie__mask {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #000000 0%, #ff004e 100%);
  opacity: 0.8;
  z-index: 1;
  border-radius: 1.25rem;
  -webkit-mask-image: linear-gradient(to top, #000 0%, transparent 100%);
  mask-image: linear-gradient(to top, #000 0%, transparent 100%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 0% 100%;
  mask-position: 0% 100%;
  -webkit-mask-size: 100% 0%;
  mask-size: 100% 0%;
}
@media screen and (max-width: 767px) {
  .top-movie__mask {
    border-radius: 0.625rem;
  }
}

.top-movie__mask.is-active {
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  transition: -webkit-mask-size 1s cubic-bezier(0.22, 1, 0.36, 1), mask-size 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.top-movie__content {
  position: absolute;
  inset: 0;
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 3;
  opacity: 0;
  transform: translateY(1.25rem);
}

.top-movie__content.is-active {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.top-movie__heading {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 50cqi;
}
@media screen and (max-width: 767px) {
  .top-movie__heading {
    max-width: 40cqi;
  }
}
.top-movie__heading img {
  height: 100%;
  object-fit: contain;
}

.top-movie__text {
  font-size: 1.375rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.4545454545;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .top-movie__text {
    font-size: max(1rem, 12px);
    margin-top: 1.25rem;
  }
}

.top-movie__btn-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .top-movie__btn-wrapper {
    margin-top: 1.25rem;
  }
}

.top-movie__deco {
  position: absolute;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  will-change: opacity, transform;
}
.top-movie__deco img {
  width: 100%;
  height: auto;
  display: block;
}

.top-movie__deco.is-active {
  opacity: 1;
  transition: opacity 0.8s ease;
}

.top-movie__deco--human {
  left: 79.17%;
  top: 59.85%;
  width: 21.67%;
}

.top-movie__deco--smoke-01 {
  left: -0.83%;
  top: -1.48%;
  width: 35.25%;
}

.top-movie__deco--smoke-02 {
  left: 60.83%;
  top: 51.56%;
  width: 40%;
}

.top-news {
  margin-top: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .top-news {
    margin-top: 5rem;
  }
}

.top-news__inner {
  max-width: 90rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .top-news__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .top-news__inner {
    max-width: 32.5rem;
    padding-inline: 0.625rem;
  }
}

.top-news__list-wrapper {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .top-news__list-wrapper {
    max-width: 25rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 1.5625rem;
  }
}

.top-news__btn-wrapper {
  display: flex;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .top-news__btn-wrapper {
    justify-content: center;
    margin-top: 3.125rem;
  }
}

.top-special {
  margin-top: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .top-special {
    margin-top: 5.3125rem;
  }
}

.top-special__inner {
  max-width: 90rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1440px) {
  .top-special__inner {
    padding-inline: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .top-special__inner {
    max-width: 32.5rem;
    width: 100%;
    margin-inline: auto;
    padding-inline: 0.9375rem;
  }
}

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

.top-special__card {
  position: relative;
  z-index: 0;
  aspect-ratio: 700/400;
  border-radius: 0.625rem;
  overflow: hidden;
  container-type: inline-size;
}
@media screen and (max-width: 767px) {
  .top-special__card {
    aspect-ratio: auto;
    container-type: normal;
  }
}

.top-special__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: filter 0.3s;
}

.top-special__card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, #000000 0%, #8b8b8b 100%);
  opacity: 0.6;
}

.top-special__card--manga::before {
  background-image: url("../images/top/special-01.webp");
}

.top-special__card--collab::before {
  background-image: url("../images/top/special-02.webp");
}

@media (any-hover: hover) {
  .top-special__card--manga:has(.btn-01:hover)::before,
  .top-special__card--collab:has(.btn-01:hover)::before {
    filter: blur(4px);
  }
}
.top-special__card-body {
  position: relative;
  display: grid;
  grid-template-rows: minmax(2.4em, max-content) max-content max-content;
  align-content: start;
  font-size: max(1.75rem, 12px);
  width: 100%;
  height: 100%;
  padding-inline: 5.7142857143cqi;
  padding-block: 9.2857142857cqi 16.7142857143cqi;
  text-align: center;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top-special__card-body {
    font-size: max(1.5rem, 12px);
    padding-block: 2.5rem;
    padding-inline: 1.25rem;
  }
}

.top-special__card-title {
  display: grid;
  place-items: center;
  font-size: 4cqi;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .top-special__card-title {
    font-size: max(1.5rem, 12px);
  }
}

.top-special__card-text {
  font-size: 2.2857142857cqi;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.4;
  margin-top: 1.375rem;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .top-special__card-text {
    font-size: max(1rem, 12px);
  }
}

.top-special__btn-wrapper {
  margin-top: 2.8125rem;
}

.top-special__company-btn-wrapper {
  margin-top: 1.25rem;
}

.top-special__company {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .top-special__company {
    max-width: 31.25rem;
    width: 100%;
    margin-inline: auto;
    margin-top: 3.75rem;
  }
}

.top-special__company-body {
  position: relative;
  min-height: 22.5rem;
}
@media screen and (max-width: 767px) {
  .top-special__company-body {
    min-height: 0;
    background-color: #f0f0f0;
    border-radius: 0.625rem;
    padding: 1.25rem;
  }
}

.top-special__company-content {
  position: relative;
  max-width: 43.75rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding-block: 4.0625rem 4.375rem;
  padding-inline: 2.5rem;
  text-align: center;
  background-color: #f0f0f0;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .top-special__company-content {
    padding-block: 0.625rem 1.25rem;
    padding-inline: 0;
    background-color: transparent;
    border-radius: 0;
  }
}

.top-special__company-title {
  font-size: max(1.75rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .top-special__company-title {
    font-size: max(1.25rem, 12px);
  }
}

.top-special__company-text {
  font-size: max(1rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #575757;
  line-height: 1.4;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .top-special__company-text {
    font-size: max(0.875rem, 12px);
    margin-top: 1.25rem;
  }
}

.top-special__company-img {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  max-width: clamp(30rem, -45rem + 83.33vw, 55rem); /* 480 ~ 880 | 1440 ~ 1920 */
  width: 100%;
}
@media screen and (max-width: 1440px) {
  .top-special__company-img {
    max-width: 50rem;
  }
}
@media screen and (max-width: 767px) {
  .top-special__company-img {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 0.625rem;
    margin-inline: auto;
    max-width: 17.875rem;
  }
}

.top-special__company-img img {
  height: 100%;
  object-fit: contain;
  aspect-ratio: 880/340;
}

.top-tagline {
  font-size: max(0.8125rem, 12px);
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.5384615385;
  text-align: center;
}

.top-tagline--heading {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .top-tagline--heading {
    display: none;
  }
}

.top-tagline--inline {
  display: none;
}
@media screen and (max-width: 767px) {
  .top-tagline--inline {
    display: block;
    margin-top: 1.25rem;
    text-align: center;
  }
}

.l-lower {
  margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .l-lower {
    margin-top: 5.25rem;
  }
}

.l-lower-manga {
  margin-top: 6.5625rem;
}
@media screen and (max-width: 767px) {
  .l-lower-manga {
    margin-top: 4.375rem;
  }
}

.l-footer {
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .l-footer {
    margin-top: 5rem;
  }
}

.l-consult {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-consult {
    margin-top: 5rem;
  }
}

.l-data-section {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-data-section {
    margin-top: 5rem;
  }
}

.l-page-tab {
  margin-top: 7.5rem;
  margin-bottom: 12.5rem;
}
@media screen and (max-width: 767px) {
  .l-page-tab {
    margin-top: 5rem;
    margin-bottom: 7.5rem;
  }
}

.l-order-page-lineup {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-order-page-lineup {
    margin-top: 5rem;
  }
}

.l-catalog-lineup {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-catalog-lineup {
    margin-top: 5rem;
  }
}

.l-catalog-ppe {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-catalog-ppe {
    margin-top: 5rem;
  }
}

.l-catalog-points {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-catalog-points {
    margin-top: 5rem;
  }
}

.l-sustainable-features {
  margin-top: 6.5rem;
}
@media screen and (max-width: 767px) {
  .l-sustainable-features {
    margin-top: 5rem;
  }
}

.l-sustainable-circular {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-sustainable-circular {
    margin-top: 5rem;
  }
}

.l-sustainable-interview {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-sustainable-interview {
    margin-top: 5rem;
  }
}

.l-sustainable-bring {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-sustainable-bring {
    margin-top: 5rem;
  }
}

.l-lower--sustainable {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .l-lower--sustainable {
    margin-top: 5rem;
  }
}

.l-lower--inventory {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .l-lower--inventory {
    margin-top: 0;
  }
}

.l-lower--interview {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-lower--interview {
    margin-top: 5rem;
  }
}

.l-interview-lead {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-interview-lead {
    margin-top: 5rem;
  }
}

.l-consult-interview {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-consult-interview {
    margin-top: 5rem;
  }
}

.l-consult-inventory-system {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .l-consult-inventory-system {
    margin-top: 5rem;
  }
}


/* SP微調整 */

@media only screen and (max-width:767px){
  .case__corporate-logo{
    margin-top:1rem;
  }

  section.strengths,
  section.data{
    margin-top:1.5rem;
  }


  .lower-fv[data-theme=news],
  .lower-fv[data-theme=column]{
    padding-bottom:0;
  }

  .lower-fv[data-theme=faq]{
    padding-bottom:2rem;
  }

}


/* ------------------------ */
/* 固有のフォント設定 */
/* 共通パーツで設定すると不便な場合、こちらに設定する */
/* ------------------------ */
/* ---------- 2行目から先頭1文字開けて表示される（※、・が先頭に記載されているときに使用） ここから ---------- */
.text-wrap {
  padding-left: 1em;
  text-indent: -1em;
}

/* ---------- 2行目から先頭1文字開けて表示される（※、・が先頭に記載されているときに使用） ここまで ---------- */
/* ------------------------ */
/* 改行用、SP・PC非表示用の設定 */
/* ------------------------ */
/* ---------- 改行 〜 more：以上、less：以下 | ここから ---------- */
/* 767px以下で改行 */
.br-767-less {
  display: none;
}
@media screen and (max-width: 767px) {
  .br-767-less {
    display: block;
  }
}

/* 768px以上で改行 */
@media screen and (max-width: 767px) {
  .br-768-more {
    display: none;
  }
}

/* ---------- 改行 | ここまで ---------- */
/* ---------- 表示・非表示 | ここから ---------- */
/* PCのとき非表示 */
.pc-none {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc-none {
    display: block;
  }
}

/* SPのとき非表示 */
@media screen and (max-width: 767px) {
  .sp-none {
    display: none;
  }
}

/* ---------- 表示・非表示 | ここまで ---------- */
/* ---------- 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;
  }
}
/* PC・SP共通用 */
.mt-1 {
  margin-top: 0.0625rem;
}

.mt-2 {
  margin-top: 0.125rem;
}

.mt-3 {
  margin-top: 0.1875rem;
}

.mt-4 {
  margin-top: 0.25rem;
}

.mt-5 {
  margin-top: 0.3125rem;
}

.mt-6 {
  margin-top: 0.375rem;
}

.mt-7 {
  margin-top: 0.4375rem;
}

.mt-8 {
  margin-top: 0.5rem;
}

.mt-9 {
  margin-top: 0.5625rem;
}

.mt-10 {
  margin-top: 0.625rem;
}

.mt-11 {
  margin-top: 0.6875rem;
}

.mt-12 {
  margin-top: 0.75rem;
}

.mt-13 {
  margin-top: 0.8125rem;
}

.mt-14 {
  margin-top: 0.875rem;
}

.mt-15 {
  margin-top: 0.9375rem;
}

.mt-16 {
  margin-top: 1rem;
}

.mt-17 {
  margin-top: 1.0625rem;
}

.mt-18 {
  margin-top: 1.125rem;
}

.mt-19 {
  margin-top: 1.1875rem;
}

.mt-20 {
  margin-top: 1.25rem;
}

.mt-21 {
  margin-top: 1.3125rem;
}

.mt-22 {
  margin-top: 1.375rem;
}

.mt-23 {
  margin-top: 1.4375rem;
}

.mt-24 {
  margin-top: 1.5rem;
}

.mt-25 {
  margin-top: 1.5625rem;
}

.mt-26 {
  margin-top: 1.625rem;
}

.mt-27 {
  margin-top: 1.6875rem;
}

.mt-28 {
  margin-top: 1.75rem;
}

.mt-29 {
  margin-top: 1.8125rem;
}

.mt-30 {
  margin-top: 1.875rem;
}

.mt-31 {
  margin-top: 1.9375rem;
}

.mt-32 {
  margin-top: 2rem;
}

.mt-33 {
  margin-top: 2.0625rem;
}

.mt-34 {
  margin-top: 2.125rem;
}

.mt-35 {
  margin-top: 2.1875rem;
}

.mt-36 {
  margin-top: 2.25rem;
}

.mt-37 {
  margin-top: 2.3125rem;
}

.mt-38 {
  margin-top: 2.375rem;
}

.mt-39 {
  margin-top: 2.4375rem;
}

.mt-40 {
  margin-top: 2.5rem;
}

.mt-41 {
  margin-top: 2.5625rem;
}

.mt-42 {
  margin-top: 2.625rem;
}

.mt-43 {
  margin-top: 2.6875rem;
}

.mt-44 {
  margin-top: 2.75rem;
}

.mt-45 {
  margin-top: 2.8125rem;
}

.mt-46 {
  margin-top: 2.875rem;
}

.mt-47 {
  margin-top: 2.9375rem;
}

.mt-48 {
  margin-top: 3rem;
}

.mt-49 {
  margin-top: 3.0625rem;
}

.mt-50 {
  margin-top: 3.125rem;
}

.mt-51 {
  margin-top: 3.1875rem;
}

.mt-52 {
  margin-top: 3.25rem;
}

.mt-53 {
  margin-top: 3.3125rem;
}

.mt-54 {
  margin-top: 3.375rem;
}

.mt-55 {
  margin-top: 3.4375rem;
}

.mt-56 {
  margin-top: 3.5rem;
}

.mt-57 {
  margin-top: 3.5625rem;
}

.mt-58 {
  margin-top: 3.625rem;
}

.mt-59 {
  margin-top: 3.6875rem;
}

.mt-60 {
  margin-top: 3.75rem;
}

.mt-61 {
  margin-top: 3.8125rem;
}

.mt-62 {
  margin-top: 3.875rem;
}

.mt-63 {
  margin-top: 3.9375rem;
}

.mt-64 {
  margin-top: 4rem;
}

.mt-65 {
  margin-top: 4.0625rem;
}

.mt-66 {
  margin-top: 4.125rem;
}

.mt-67 {
  margin-top: 4.1875rem;
}

.mt-68 {
  margin-top: 4.25rem;
}

.mt-69 {
  margin-top: 4.3125rem;
}

.mt-70 {
  margin-top: 4.375rem;
}

.mt-71 {
  margin-top: 4.4375rem;
}

.mt-72 {
  margin-top: 4.5rem;
}

.mt-73 {
  margin-top: 4.5625rem;
}

.mt-74 {
  margin-top: 4.625rem;
}

.mt-75 {
  margin-top: 4.6875rem;
}

.mt-76 {
  margin-top: 4.75rem;
}

.mt-77 {
  margin-top: 4.8125rem;
}

.mt-78 {
  margin-top: 4.875rem;
}

.mt-79 {
  margin-top: 4.9375rem;
}

.mt-80 {
  margin-top: 5rem;
}

.mt-81 {
  margin-top: 5.0625rem;
}

.mt-82 {
  margin-top: 5.125rem;
}

.mt-83 {
  margin-top: 5.1875rem;
}

.mt-84 {
  margin-top: 5.25rem;
}

.mt-85 {
  margin-top: 5.3125rem;
}

.mt-86 {
  margin-top: 5.375rem;
}

.mt-87 {
  margin-top: 5.4375rem;
}

.mt-88 {
  margin-top: 5.5rem;
}

.mt-89 {
  margin-top: 5.5625rem;
}

.mt-90 {
  margin-top: 5.625rem;
}

.mt-91 {
  margin-top: 5.6875rem;
}

.mt-92 {
  margin-top: 5.75rem;
}

.mt-93 {
  margin-top: 5.8125rem;
}

.mt-94 {
  margin-top: 5.875rem;
}

.mt-95 {
  margin-top: 5.9375rem;
}

.mt-96 {
  margin-top: 6rem;
}

.mt-97 {
  margin-top: 6.0625rem;
}

.mt-98 {
  margin-top: 6.125rem;
}

.mt-99 {
  margin-top: 6.1875rem;
}

.mt-100 {
  margin-top: 6.25rem;
}

.mt-101 {
  margin-top: 6.3125rem;
}

.mt-102 {
  margin-top: 6.375rem;
}

.mt-103 {
  margin-top: 6.4375rem;
}

.mt-104 {
  margin-top: 6.5rem;
}

.mt-105 {
  margin-top: 6.5625rem;
}

.mt-106 {
  margin-top: 6.625rem;
}

.mt-107 {
  margin-top: 6.6875rem;
}

.mt-108 {
  margin-top: 6.75rem;
}

.mt-109 {
  margin-top: 6.8125rem;
}

.mt-110 {
  margin-top: 6.875rem;
}

.mt-111 {
  margin-top: 6.9375rem;
}

.mt-112 {
  margin-top: 7rem;
}

.mt-113 {
  margin-top: 7.0625rem;
}

.mt-114 {
  margin-top: 7.125rem;
}

.mt-115 {
  margin-top: 7.1875rem;
}

.mt-116 {
  margin-top: 7.25rem;
}

.mt-117 {
  margin-top: 7.3125rem;
}

.mt-118 {
  margin-top: 7.375rem;
}

.mt-119 {
  margin-top: 7.4375rem;
}

.mt-120 {
  margin-top: 7.5rem;
}

.mt-121 {
  margin-top: 7.5625rem;
}

.mt-122 {
  margin-top: 7.625rem;
}

.mt-123 {
  margin-top: 7.6875rem;
}

.mt-124 {
  margin-top: 7.75rem;
}

.mt-125 {
  margin-top: 7.8125rem;
}

.mt-126 {
  margin-top: 7.875rem;
}

.mt-127 {
  margin-top: 7.9375rem;
}

.mt-128 {
  margin-top: 8rem;
}

.mt-129 {
  margin-top: 8.0625rem;
}

.mt-130 {
  margin-top: 8.125rem;
}

.mt-131 {
  margin-top: 8.1875rem;
}

.mt-132 {
  margin-top: 8.25rem;
}

.mt-133 {
  margin-top: 8.3125rem;
}

.mt-134 {
  margin-top: 8.375rem;
}

.mt-135 {
  margin-top: 8.4375rem;
}

.mt-136 {
  margin-top: 8.5rem;
}

.mt-137 {
  margin-top: 8.5625rem;
}

.mt-138 {
  margin-top: 8.625rem;
}

.mt-139 {
  margin-top: 8.6875rem;
}

.mt-140 {
  margin-top: 8.75rem;
}

.mt-141 {
  margin-top: 8.8125rem;
}

.mt-142 {
  margin-top: 8.875rem;
}

.mt-143 {
  margin-top: 8.9375rem;
}

.mt-144 {
  margin-top: 9rem;
}

.mt-145 {
  margin-top: 9.0625rem;
}

.mt-146 {
  margin-top: 9.125rem;
}

.mt-147 {
  margin-top: 9.1875rem;
}

.mt-148 {
  margin-top: 9.25rem;
}

.mt-149 {
  margin-top: 9.3125rem;
}

.mt-150 {
  margin-top: 9.375rem;
}

.mt-151 {
  margin-top: 9.4375rem;
}

.mt-152 {
  margin-top: 9.5rem;
}

.mt-153 {
  margin-top: 9.5625rem;
}

.mt-154 {
  margin-top: 9.625rem;
}

.mt-155 {
  margin-top: 9.6875rem;
}

.mt-156 {
  margin-top: 9.75rem;
}

.mt-157 {
  margin-top: 9.8125rem;
}

.mt-158 {
  margin-top: 9.875rem;
}

.mt-159 {
  margin-top: 9.9375rem;
}

.mt-160 {
  margin-top: 10rem;
}

.mt-161 {
  margin-top: 10.0625rem;
}

.mt-162 {
  margin-top: 10.125rem;
}

.mt-163 {
  margin-top: 10.1875rem;
}

.mt-164 {
  margin-top: 10.25rem;
}

.mt-165 {
  margin-top: 10.3125rem;
}

.mt-166 {
  margin-top: 10.375rem;
}

.mt-167 {
  margin-top: 10.4375rem;
}

.mt-168 {
  margin-top: 10.5rem;
}

.mt-169 {
  margin-top: 10.5625rem;
}

.mt-170 {
  margin-top: 10.625rem;
}

.mt-171 {
  margin-top: 10.6875rem;
}

.mt-172 {
  margin-top: 10.75rem;
}

.mt-173 {
  margin-top: 10.8125rem;
}

.mt-174 {
  margin-top: 10.875rem;
}

.mt-175 {
  margin-top: 10.9375rem;
}

.mt-176 {
  margin-top: 11rem;
}

.mt-177 {
  margin-top: 11.0625rem;
}

.mt-178 {
  margin-top: 11.125rem;
}

.mt-179 {
  margin-top: 11.1875rem;
}

.mt-180 {
  margin-top: 11.25rem;
}

.mt-181 {
  margin-top: 11.3125rem;
}

.mt-182 {
  margin-top: 11.375rem;
}

.mt-183 {
  margin-top: 11.4375rem;
}

.mt-184 {
  margin-top: 11.5rem;
}

.mt-185 {
  margin-top: 11.5625rem;
}

.mt-186 {
  margin-top: 11.625rem;
}

.mt-187 {
  margin-top: 11.6875rem;
}

.mt-188 {
  margin-top: 11.75rem;
}

.mt-189 {
  margin-top: 11.8125rem;
}

.mt-190 {
  margin-top: 11.875rem;
}

.mt-191 {
  margin-top: 11.9375rem;
}

.mt-192 {
  margin-top: 12rem;
}

.mt-193 {
  margin-top: 12.0625rem;
}

.mt-194 {
  margin-top: 12.125rem;
}

.mt-195 {
  margin-top: 12.1875rem;
}

.mt-196 {
  margin-top: 12.25rem;
}

.mt-197 {
  margin-top: 12.3125rem;
}

.mt-198 {
  margin-top: 12.375rem;
}

.mt-199 {
  margin-top: 12.4375rem;
}

.mt-200 {
  margin-top: 12.5rem;
}

/* ---------- margin-topの設定 | ここまで ---------- */
/* ---------- スクリーンリーダー専用テキスト（視覚的に非表示） | ここから ---------- */
.sr-only {
  position: absolute;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}

/* ---------- スクリーンリーダーオンリー用の記述 | ここまで ---------- *//*# sourceMappingURL=style.css.map */