@charset "UTF-8";


@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&display=swap");
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    -webkit-animation-delay: -1ms;
    animation-delay: -1ms;
    -webkit-animation-duration: 1ms;
    animation-duration: 1ms;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    background-attachment: initial;
    scroll-behavior: auto;
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    -webkit-transition-duration: 0s;
            transition-duration: 0s;
  }
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

iframe,
img,
input,
select,
textarea,
video {
  max-width: 100%;
  height: auto;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

ol, ul {
  list-style: none;
}

img {
  image-rendering: -webkit-optimize-contrast;
}

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

table {
  border-collapse: collapse;
}

button {
  border-radius: 0;
  text-transform: none;
  border: none;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

:root {
  --f: 0.078125vw;
  --f2: 0.078125vw;
}
@media only screen and (min-width: 1280.01px) {
  :root {
    --f2: 1px;
  }
}
@media screen and (max-width: 960px) {
  :root {
    --f: 0.2666vw;
    --f2: 0.2666vw;
  }
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  text-align: justify;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

body {
  position: relative;
  z-index: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: calc(var(--f) * 15);
  line-height: 1.7;
  letter-spacing: 0.08em;
  color: #000;
}

.bodyBg {
  content: "";
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/_common/bg_noise.jpg) left top repeat;
  -webkit-transition-duration: 600ms;
          transition-duration: 600ms;
}
.bodyBg--gray {
  background-image: url(../img/_common/bg_noise_gray.jpg);
  opacity: 0;
}
.bodyBg--dark {
  background-image: url(../img/_common/bg_zara_black.jpg);
  opacity: 0;
}
body.section-gray .bodyBg--gray {
  opacity: 1;
}
body.section-dark .bodyBg--dark {
  opacity: 1;
}

h1,
h2,
h3,
h4,
h5,
h6,
b,
strong,
dt,
th {
  font-weight: inherit;
}

br.sp {
  display: none;
}

@media screen and (max-width: 960px) {
  br.pc {
    display: none;
  }
  br.sp {
    display: inline;
  }
}
span.nl {
  display: inline-block;
}

.animeScroll {
  will-change: transform;
}

.footer {
  position: relative;
  overflow: hidden;
  z-index: 3000;
  width: 100%;
  color: #fff;
  /* --- アニメーション --- */
}
.footer__container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  height: calc(100vh - var(--f2) * 64);
  padding-top: calc(var(--f) * 120);
}
.footer__logo {
  position: absolute;
  left: 0;
  top: calc(var(--f) * 26);
  opacity: 0.2;
  width: 100%;
  text-align: center;
}
.footer__logo img {
  display: block;
  width: calc(var(--f) * 1200);
  margin: 0 auto;
}
.footer__maincopy {
  width: 100%;
  margin: 0 0 calc(var(--f) * 67);
}
.footer__maincopy__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(var(--f) * 12);
  padding: 0 0 0 calc(var(--f) * 12);
}
.footer__maincopy__inner img {
  max-width: unset;
  height: calc(var(--f) * 82.6);
}
.footer__nav {
  position: absolute;
  right: calc(var(--f2) * 40);
  bottom: calc(var(--f2) * 40);
}
.footer__nav__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(var(--f2) * 30);
}
.footer__nav__link {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  color: #9E9E9E;
  font-size: calc(var(--f2) * 13);
  font-weight: 600;
  text-align: center;
}
.footer__copyright {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  left: calc(var(--f2) * 40);
  bottom: calc(var(--f2) * 40);
  color: #9E9E9E;
  font-size: calc(var(--f2) * 13);
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .footer__container {
    height: 100dvh;
    padding-bottom: calc(var(--f) * 100);
  }
  .footer__logo img {
    width: 92vw;
  }
  .footer__maincopy__inner {
    padding-left: 0;
  }
  .footer__maincopy__inner img {
    height: calc(var(--f) * 26);
  }
  .footer__nav {
    right: unset;
    bottom: calc(var(--f) * 80);
    left: 4vw;
    width: 92vw;
    padding: calc(var(--f) * 20) 0;
    border-bottom: 1px solid #434343;
  }
  .footer__nav__items {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer__copyright {
    width: 100%;
    left: 0;
    bottom: calc(var(--f) * 40);
    text-align: center;
  }
}
.footer__maincopy {
  -webkit-transition-duration: 1000ms;
          transition-duration: 1000ms;
}
.footer.animeOff .footer__maincopy {
  -webkit-filter: blur(calc(var(--f) * 40));
          filter: blur(calc(var(--f) * 40));
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  opacity: 0;
}
.footer__maincopy {
  -webkit-filter: blur(calc(var(--f) * 0));
          filter: blur(calc(var(--f) * 0));
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 11000;
  width: 100%;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.header__logo {
  position: relative;
  z-index: 300;
}
.header__logo img {
  display: block;
  width: 100%;
}
.header__logo svg {
  display: block;
  width: 100%;
}
.header__logo svg #header_x5F_logo_x5F_ja {
  fill: rgba(0, 0, 0, 0);
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.header__logo svg #header_x5F_logo_x5F_en {
  fill: #000;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
body.home .header {
  opacity: 0;
}
body.home .header.animeLoaded {
  opacity: 1;
}
body.scroll .header {
  background: #fff;
}
@media screen and (min-width: 960.02px) {
  .header__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    height: calc(var(--f2) * 64);
    padding: 0 calc(var(--f2) * 40);
  }
  .header__logo {
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: calc(var(--f2) * 180);
    padding: calc(var(--f2) * 16) 0 0;
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms;
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
  .header__cta {
    font-family: "Outfit", sans-serif;
    font-optical-sizing: auto;
    font-size: calc(var(--f) * 14);
    line-height: 1.7;
    font-weight: 700;
    letter-spacing: 0.05em;
    font-style: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%;
  }
  .header__cta__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: calc(var(--f2) * 40);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .header__cta__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header__cta__link {
    font-size: calc(var(--f2) * 15);
    font-weight: 500;
  }
  body.home .header__logo {
    top: calc(var(--f2) * 40);
    width: calc(var(--f2) * 320);
  }
  body.home .header__logo svg #header_x5F_logo_x5F_ja {
    fill: black;
  }
  body.home.scroll .header__logo {
    top: 0;
    width: calc(var(--f2) * 180);
  }
  body.home.scroll .header__logo svg #header_x5F_logo_x5F_ja {
    fill: rgba(0, 0, 0, 0);
  }
}
@media screen and (max-width: 960px) {
  .header__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: calc(var(--f) * 50);
  }
  .header__logo {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: calc(var(--f) * 167);
    padding: calc(var(--f) * 17) 0 0;
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms;
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
  .nav__btn:checked + .nav__label + .header__logo svg path {
    fill: #fff;
  }
  .header__cta {
    display: none;
  }
  body.home .header__logo {
    width: calc(var(--f) * 240);
    padding-top: calc(var(--f) * 58);
  }
  body.home .header__logo svg #header_x5F_logo_x5F_ja {
    fill: black;
  }
  body.home.scroll .header__logo {
    width: calc(var(--f) * 167);
    padding-top: calc(var(--f) * 16);
  }
  body.home.scroll .header__logo svg #header_x5F_logo_x5F_ja {
    fill: rgba(0, 0, 0, 0);
  }
  body.scrollEnd .header {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

.main {
  min-height: 100vh;
}

@media screen and (min-width: 960.02px) {
  .nav__btn, .nav__label {
    display: none;
  }
  .nav__wrap {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: 100%;
  }
  .nav__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: calc(var(--f2) * 40);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .nav__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .nav__item--home, .nav__item--contact {
    display: none;
  }
  .nav__link {
    font-family: "Outfit", sans-serif;
    font-optical-sizing: auto;
    font-size: calc(var(--f) * 14);
    line-height: 1.7;
    font-weight: 700;
    letter-spacing: 0.05em;
    font-style: normal;
    font-size: calc(var(--f2) * 15);
    font-weight: 500;
  }
}
@media screen and (max-width: 960px) {
  .nav__btn {
    display: none;
  }
  .nav__label {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 300;
    display: block;
    width: calc(var(--f) * 56);
    height: calc(var(--f) * 50);
  }
  .nav__label span {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 42.8%;
    height: calc(var(--f) * 2);
    margin: auto;
  }
  .nav__label span::before, .nav__label span::after {
    content: "";
    position: absolute;
    display: block;
    width: 83.3%;
    height: 2px;
    background: #000;
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms;
  }
  .nav__label span::before {
    left: 0;
    top: calc(var(--f) * -5);
  }
  .nav__label span::after {
    right: 0;
    top: calc(var(--f) * 5);
  }
  .nav__btn:checked + .nav__label span::before {
    left: 8.35%;
    top: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    background: #fff;
  }
  .nav__btn:checked + .nav__label span::after {
    right: 8.35%;
    top: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    background: #fff;
  }
  .nav__wrap {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100vh;
    color: #fff;
    background: url(../img/_common/nav_sp_bg.jpg) right bottom/cover no-repeat;
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms;
  }
  .nav__btn:checked + .nav__label + .header__logo + .nav__wrap {
    opacity: 1;
    pointer-events: all;
  }
  .nav__items {
    border-top: 1px solid #3C3C3C;
  }
  .nav__item {
    border-bottom: 1px solid #3C3C3C;
  }
  .nav__link {
    font-family: "Outfit", sans-serif;
    font-optical-sizing: auto;
    font-size: calc(var(--f) * 14);
    line-height: 1.7;
    font-weight: 700;
    letter-spacing: 0.05em;
    font-style: normal;
    display: block;
    width: 92vw;
    padding: calc(var(--f) * 20) calc(var(--f) * 10);
    font-size: calc(var(--f) * 21);
    background: url(../img/_common/nav_sp_arrow.svg) right calc(var(--f) * 10) center/calc(var(--f) * 11) auto no-repeat;
  }
}

.homeCategoryRedefinition {
  position: relative;
  overflow: hidden;
  height: 360vh;
  opacity: 0;
  -webkit-transition-duration: 10s;
          transition-duration: 10s;
  /* --- アニメーション --- */
}
.homeCategoryRedefinition__head {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  /* --- アニメーション --- */
  position: fixed;
}
.homeCategoryRedefinition__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.67em;
  padding: calc(var(--f) * 95) calc(var(--f) * 40) calc(var(--f) * 160);
  font-size: calc(var(--f2) * 14);
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.homeCategoryRedefinition__head .inner::before {
  content: "";
  display: block;
  width: 0.36em;
  height: 0.36em;
  background: #000;
  border-radius: 999px;
}
@media screen and (max-width: 960px) {
  .homeCategoryRedefinition__head .inner {
    padding-top: calc(var(--f) * 95);
    padding-left: 4vw;
  }
}
.homeCategoryRedefinition__head .inner {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}
.homeCategoryRedefinition__container {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
}
.homeCategoryRedefinition__chart {
  position: relative;
}
.homeCategoryRedefinition__chart__after {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
  -webkit-transition: all 400ms linear;
  transition: all 400ms linear;
}
.homeCategoryRedefinition__chart__after img {
  display: block;
  width: 100%;
}
.homeCategoryRedefinition__body__catch {
  font-weight: 900;
  font-size: calc(var(--f) * 36);
  line-height: 1.3;
  letter-spacing: 0.03em;
  margin: 0 0 calc(var(--f) * 32);
}
.homeCategoryRedefinition__body__contents {
  font-size: calc(var(--f) * 16);
  line-height: 1.9;
}
.homeCategoryRedefinition__body__contents p {
  margin: 0 0 1.15em;
}
.homeCategoryRedefinition__body__contents p:last-child {
  margin-bottom: 0;
}
.homeCategoryRedefinition__body__contents b {
  display: inline-block;
  position: relative;
  padding: 0 0.5em;
}
.homeCategoryRedefinition__body__contents b:after {
  content: "道路性能を強化する";
  color: #fff;
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 0.5em;
}
.homeCategoryRedefinition__chart__pager::before, .homeCategoryRedefinition__chart__pager::after {
  content: "";
  display: block;
  width: calc(var(--f) * 6);
  height: calc(var(--f) * 6);
  border: 1px solid #2D2C2C;
  border-radius: 999px;
}
@media screen and (min-width: 960.02px) {
  .homeCategoryRedefinition__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    gap: calc(var(--f) * 38);
  }
  .homeCategoryRedefinition__chart {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: calc(var(--f) * 386);
  }
}
@media screen and (min-width: 960.02px) and (min-aspect-ratio: 1000/550) {
  .homeCategoryRedefinition__chart {
    top: 10vh;
  }
  .homeCategoryRedefinition__chart img {
    width: unset;
    height: 70vh;
  }
}
@media screen and (min-width: 960.02px) {
  .homeCategoryRedefinition__body {
    width: calc(var(--f) * 480);
  }
  .homeCategoryRedefinition__chart__pager {
    position: absolute;
    left: calc(var(--f) * 40);
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    gap: calc(var(--f) * 30);
    width: calc(var(--f) * 6);
    height: 100%;
  }
}
@media screen and (max-width: 960px) {
  .homeCategoryRedefinition {
    opacity: 1 !important;
    height: unset;
    margin-top: 15vh;
  }
  .homeCategoryRedefinition__head {
    position: absolute;
    z-index: 100;
  }
  .homeCategoryRedefinition__head .inner {
    top: 0;
    padding-top: calc(var(--f) * 25);
  }
  .homeCategoryRedefinition__container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    gap: calc(var(--f) * 38);
    height: 100%;
    padding: 0 4vw 50vh;
  }
  .homeCategoryRedefinition__chart {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .homeCategoryRedefinition__chart__before {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
  .homeCategoryRedefinition__chart__after {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
  .homeCategoryRedefinition__body {
    padding-top: calc(var(--f) * 98);
  }
  .homeCategoryRedefinition__body__catch {
    font-size: calc(var(--f) * 28);
  }
  .homeCategoryRedefinition__chart__pager {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: calc(var(--f) * 30);
  }
}
.homeCategoryRedefinition {
  opacity: 0;
  pointer-events: none;
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
}
.homeCategoryRedefinition__body .a {
  display: inline-block;
}
@media screen and (min-width: 960.02px) {
  .homeCategoryRedefinition.animeStep00 {
    opacity: 1;
    pointer-events: all;
  }
  .homeCategoryRedefinition.animeStep01 .homeCategoryRedefinition__body {
    opacity: 1;
  }
  .homeCategoryRedefinition.animeStep02 .homeCategoryRedefinition__body__catch {
    font-weight: 900;
    font-size: calc(var(--f) * 36);
    line-height: 1.3;
    letter-spacing: 0.03em;
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeCategoryRedefinition.animeStep02 .homeCategoryRedefinition__chart__before {
    opacity: 1;
    -webkit-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
  }
  .homeCategoryRedefinition.animeStep02 .homeCategoryRedefinition__chart__pager::before {
    background: #2D2C2C;
  }
  .homeCategoryRedefinition.animeStep03 .homeCategoryRedefinition__chart__before {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    -webkit-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
  }
  .homeCategoryRedefinition.animeStep04 .homeCategoryRedefinition__chart__before {
    opacity: 0;
  }
  .homeCategoryRedefinition.animeStep04 .homeCategoryRedefinition__chart__pager::before {
    background: none;
  }
  .homeCategoryRedefinition.animeStep05 .homeCategoryRedefinition__chart__after {
    opacity: 1;
  }
  .homeCategoryRedefinition.animeStep05 .homeCategoryRedefinition__chart__after {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    -webkit-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
  }
  .homeCategoryRedefinition.animeStep05 .homeCategoryRedefinition__chart__pager::after {
    background: #2D2C2C;
  }
  .homeCategoryRedefinition.animeStep02 .homeCategoryRedefinition__body__catch {
    font-weight: 900;
    font-size: calc(var(--f) * 36);
    line-height: 1.3;
    letter-spacing: 0.03em;
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeCategoryRedefinition.animeStep02 .homeCategoryRedefinition__body__contents {
    opacity: 1;
    -webkit-transition: all 400ms linear 800ms;
    transition: all 400ms linear 800ms;
  }
  .homeCategoryRedefinition.animeStep02 .homeCategoryRedefinition__body__contents p {
    margin: 0 0 1.15em;
  }
  .homeCategoryRedefinition.animeStep02 .homeCategoryRedefinition__body__contents p:last-child {
    margin-bottom: 0;
  }
  .homeCategoryRedefinition.animeStep03 .homeCategoryRedefinition__body__contents b:after {
    width: 100%;
    -webkit-transition: all 400ms linear 600ms;
    transition: all 400ms linear 600ms;
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
  .homeCategoryRedefinition.animeStep10 {
    opacity: 0;
    pointer-events: none;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
  }
}
@media screen and (max-width: 960px) {
  .homeCategoryRedefinition.animeStep00 {
    opacity: 1;
    pointer-events: all;
  }
  .homeCategoryRedefinition.animeOff .homeCategoryRedefinition__body__catch {
    font-weight: 900;
    font-size: calc(var(--f) * 36);
    line-height: 1.3;
    letter-spacing: 0.03em;
    opacity: 1;
  }
  .homeCategoryRedefinition.animeOff .homeCategoryRedefinition__body__contents {
    opacity: 1;
  }
  .homeCategoryRedefinition.animeOff .homeCategoryRedefinition__body__contents p {
    margin: 0 0 1.15em;
  }
  .homeCategoryRedefinition.animeOff .homeCategoryRedefinition__body__contents p:last-child {
    margin-bottom: 0;
  }
  .homeCategoryRedefinition.animeStep06 .homeCategoryRedefinition__chart__after {
    opacity: 1;
  }
  .homeCategoryRedefinition.animeStep00 .homeCategoryRedefinition__body__contents b:after {
    width: 100%;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
  .homeCategoryRedefinition.animeStep00 .homeCategoryRedefinition__chart__before {
    opacity: 1;
    -webkit-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
  }
  .homeCategoryRedefinition.animeStep00 .homeCategoryRedefinition__chart__pager::before {
    background: #2D2C2C;
  }
  .homeCategoryRedefinition.animeStep00 .homeCategoryRedefinition__chart__before {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    -webkit-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
  }
  .homeCategoryRedefinition.animeStep06 .homeCategoryRedefinition__chart__before {
    opacity: 0;
  }
  .homeCategoryRedefinition.animeStep06 .homeCategoryRedefinition__chart__pager::before {
    background: none;
  }
  .homeCategoryRedefinition.animeStep06 .homeCategoryRedefinition__chart__after {
    opacity: 1;
  }
  .homeCategoryRedefinition.animeStep06 .homeCategoryRedefinition__chart__after {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    -webkit-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
  }
  .homeCategoryRedefinition.animeStep06 .homeCategoryRedefinition__chart__pager::after {
    background: #2D2C2C;
  }
  .homeCategoryRedefinition.animeStep06 .homeCategoryRedefinition__chart__after {
    opacity: 1;
  }
  .homeCategoryRedefinition.animeStep10 {
    opacity: 0;
    pointer-events: all;
  }
}

.homeContradiction {
  position: relative;
  z-index: 1;
  height: 400vh;
  margin-top: -50vh;
  color: #fff;
  /* --- アニメーション --- */
}
.homeContradiction::before {
  content: "";
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/_common/bg_zara_black.jpg) left top repeat;
}
.homeContradiction__head {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  /* --- アニメーション --- */
  position: fixed;
  z-index: 1000;
}
.homeContradiction__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.67em;
  padding: calc(var(--f) * 95) calc(var(--f) * 40) calc(var(--f) * 160);
  font-size: calc(var(--f2) * 14);
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.homeContradiction__head .inner::before {
  content: "";
  display: block;
  width: 0.36em;
  height: 0.36em;
  background: #000;
  border-radius: 999px;
}
@media screen and (max-width: 960px) {
  .homeContradiction__head .inner {
    padding-top: calc(var(--f) * 95);
    padding-left: 4vw;
  }
}
.homeContradiction__head .inner {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}
.homeContradiction__head .inner {
  color: #fff;
}
.homeContradiction__head .inner::before {
  background: #fff;
}
.homeContradiction__container {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.homeContradiction__maincopy {
  width: 100%;
}
.homeContradiction__maincopy__outer {
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
.homeContradiction__maincopy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100vh;
}
.homeContradiction__maincopy__text {
  width: 100%;
  white-space: nowrap;
}
.homeContradiction__maincopy__text span {
  display: block;
  font-size: calc(var(--f) * 56);
  line-height: 1.46;
  font-weight: 900;
  letter-spacing: -0.02em;
  text-align: center;
}
.homeContradiction__maincopy__text span b {
  position: relative;
  z-index: 10;
  display: inline-block;
  padding: 0.25em 1.43em;
  margin: 0.5em 0.5em 0.35em;
  line-height: 1;
}
.homeContradiction__maincopy__text span b::before {
  content: "我慢のエコ";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.25em 1.43em;
  color: #000;
  background: #fff;
}
.homeContradiction__body__outer {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.homeContradiction__body__catch {
  font-weight: 900;
  font-size: calc(var(--f) * 36);
  line-height: 1.3;
  letter-spacing: 0.03em;
  margin: 0 0 calc(var(--f) * 40);
}
.homeContradiction__body__contents p {
  margin: 0 0 1.15em;
}
.homeContradiction__body__contents p:last-child {
  margin-bottom: 0;
}
.homeContradiction__body__item {
  position: relative;
  background: rgba(119, 119, 119, 0.7);
}
.homeContradiction__body__item img {
  display: block;
  width: 100%;
}
.homeContradiction__body__item span {
  position: absolute;
  display: block;
  width: 5.28%;
  aspect-ratio: 1/1;
}
.homeContradiction__body__item span:nth-child(2) {
  left: 0;
  top: 0;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}
.homeContradiction__body__item span:nth-child(3) {
  right: 0;
  top: 0;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
}
.homeContradiction__body__item span:nth-child(4) {
  right: 0;
  bottom: 0;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.homeContradiction__body__item span:nth-child(5) {
  left: 0;
  bottom: 0;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 960.02px) {
  .homeContradiction__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: calc(var(--f) * 56);
    width: 100%;
  }
  .homeContradiction__body__text {
    width: calc(var(--f) * 356);
  }
  .homeContradiction__body__list {
    width: calc(var(--f) * 590);
    padding-top: calc(var(--f) * 53);
  }
  .homeContradiction__body__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .homeContradiction__body__item {
    width: calc((100% - var(--f) * 22) / 2);
  }
}
@media screen and (max-width: 960px) {
  .homeContradiction {
    height: 300vh;
    margin-top: 0;
    overflow: hidden;
  }
  .homeContradiction__container {
    position: absolute;
    height: 100%;
  }
  .homeContradiction__maincopy__outer {
    position: fixed;
    height: 100%;
  }
  .homeContradiction__maincopy__text span {
    font-size: calc(var(--f) * 27);
  }
  .homeContradiction__body {
    padding: 0 4vw;
  }
  .homeContradiction__body__outer {
    top: unset;
    bottom: 0;
    height: 50%;
  }
  .homeContradiction__body__catch {
    font-size: calc(var(--f) * 28);
  }
  .homeContradiction__body__contents {
    margin-bottom: calc(var(--f) * 46);
  }
  .homeContradiction__body__list {
    padding-right: 10vw;
    padding-left: 10vw;
  }
  .homeContradiction__body__item {
    margin-bottom: calc(var(--f) * 26);
  }
  .homeContradiction__body__item:last-child {
    margin-bottom: 0;
  }
}
.homeContradiction {
  opacity: 0;
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  pointer-events: none;
}
.homeContradiction__head {
  -webkit-transition-duration: 600ms;
          transition-duration: 600ms;
}
.homeContradiction__maincopy {
  -webkit-transition-duration: 600ms;
          transition-duration: 600ms;
}
.homeContradiction__maincopy__text span b::before {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  -webkit-transition-delay: 0ms;
          transition-delay: 0ms;
}
.homeContradiction__body__item {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
}
.homeContradiction__body__text .a {
  display: inline-block;
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
}
.homeContradiction.animeOff .homeContradiction__maincopy__text span b::before {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
@media screen and (min-width: 960.02px) {
  .homeContradiction.animeOff .homeContradiction__body__text .a {
    opacity: 0;
  }
  .homeContradiction.animeOff .homeContradiction__body__item {
    opacity: 0;
  }
  .homeContradiction.animeStep00 {
    -webkit-transition-delay: 1000ms;
            transition-delay: 1000ms;
  }
  .homeContradiction.animeStep01 .homeContradiction__maincopy__text span b::before {
    -webkit-transition-delay: 1960ms;
            transition-delay: 1960ms;
  }
  .homeContradiction.animeStep06 .homeContradiction__body__text .a {
    -webkit-transition-delay: 0ms;
            transition-delay: 0ms;
  }
  .homeContradiction.animeStep00 {
    opacity: 1;
    pointer-events: all;
  }
  .homeContradiction.animeStep01 .homeContradiction__maincopy__text span b::before {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  .homeContradiction.animeStep05 .homeContradiction__maincopy {
    opacity: 0;
  }
  .homeContradiction.animeStep06 .homeContradiction__body__text .a {
    opacity: 1;
  }
  .homeContradiction.animeStep06 .homeContradiction__body__item {
    opacity: 1;
  }
  .homeContradiction.animeStep10 {
    opacity: 0;
    pointer-events: none;
  }
}
@media screen and (max-width: 960px) {
  .homeContradiction.animeStep00 {
    opacity: 1;
    pointer-events: all;
  }
  .homeContradiction.animeStep01 .homeContradiction__maincopy__text span b::before {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  .homeContradiction.animeStep04 .homeContradiction__maincopy, .homeContradiction.animeStep04 .homeContradiction__head {
    opacity: 0;
  }
  .homeContradiction.animeStep06 .homeContradiction__body__text .a {
    opacity: 1;
    -webkit-transform: translateY(calc(var(--f) * 0));
            transform: translateY(calc(var(--f) * 0));
    -webkit-transition-delay: 1000ms;
            transition-delay: 1000ms;
  }
  .homeContradiction.animeStep06 .homeContradiction__body__item {
    background: rgba(119, 119, 119, 0.7);
  }
  .homeContradiction.animeStep06 .homeContradiction__body__item img {
    opacity: 1;
  }
  .homeContradiction.animeStep06 .homeContradiction__body__item span {
    opacity: 1;
    width: 5.28%;
  }
  .homeContradiction.animeStep10 {
    opacity: 0;
    pointer-events: none;
  }
}

.homeCoreTechnology {
  position: relative;
  overflow: hidden;
  /* --- アニメーション --- */
}
.homeCoreTechnology__head {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  /* --- アニメーション --- */
  position: fixed;
}
.homeCoreTechnology__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.67em;
  padding: calc(var(--f) * 95) calc(var(--f) * 40) calc(var(--f) * 160);
  font-size: calc(var(--f2) * 14);
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.homeCoreTechnology__head .inner::before {
  content: "";
  display: block;
  width: 0.36em;
  height: 0.36em;
  background: #000;
  border-radius: 999px;
}
@media screen and (max-width: 960px) {
  .homeCoreTechnology__head .inner {
    padding-top: calc(var(--f) * 95);
    padding-left: 4vw;
  }
}
.homeCoreTechnology__head .inner {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}
.homeCoreTechnology__chart {
  position: relative;
  z-index: 10;
  padding: calc(var(--f) * 40) 0;
}
.homeCoreTechnology__chart::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  z-index: -1;
  display: block;
  width: 100vw;
  height: 100%;
  margin-left: -50vw;
  background: url(../img/_common/bg_zara_black.jpg);
}
.homeCoreTechnology__chart img {
  display: block;
  width: calc(var(--f) * 987);
  margin: 0 auto;
}
.homeCoreTechnology__body__catch {
  font-weight: 900;
  font-size: calc(var(--f) * 36);
  line-height: 1.3;
  letter-spacing: 0.03em;
  margin: 0 0 calc(var(--f) * 32);
}
.homeCoreTechnology__body__contents {
  font-size: calc(var(--f) * 16);
  line-height: 1.8;
}
.homeCoreTechnology__body__contents p {
  margin: 0 0 1.15em;
}
.homeCoreTechnology__body__contents p:last-child {
  margin-bottom: 0;
}
.homeCoreTechnology__list {
  padding: calc(var(--f) * 112) 0 calc(var(--f) * 126);
}
.homeCoreTechnology__list__title {
  font-weight: 900;
  font-size: calc(var(--f) * 36);
  line-height: 1.3;
  letter-spacing: 0.03em;
  margin: 0 0 calc(var(--f) * 44);
  font-size: calc(var(--f) * 28);
  text-align: center;
}
.homeCoreTechnology__list__item {
  position: relative;
  padding: calc(var(--f) * 50) calc(var(--f) * 40);
  background: url(../img/_common/bg_noise_gray.jpg) repeat;
}
.homeCoreTechnology__list__item .title {
  position: relative;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  margin: 0 0 calc(var(--f) * 20);
}
.homeCoreTechnology__list__item .ja {
  font-size: calc(var(--f) * 20);
  font-weight: 900;
}
.homeCoreTechnology__list__item .en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  font-size: calc(var(--f) * 12);
  font-weight: 400;
}
.homeCoreTechnology__list__item .detail {
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 400;
}
.homeCoreTechnology__list__item .border {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.homeCoreTechnology__list__item .border span {
  position: absolute;
  display: block;
  background: #000;
}
.homeCoreTechnology__list__item .border span:nth-child(1) {
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
}
.homeCoreTechnology__list__item .border span:nth-child(2) {
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
}
.homeCoreTechnology__list__item .border span:nth-child(3) {
  right: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
}
.homeCoreTechnology__list__item .border span:nth-child(4) {
  left: 0;
  bottom: 0;
  width: 1px;
  height: 100%;
}
@media screen and (min-width: 960.02px) {
  .homeCoreTechnology {
    opacity: 0;
    pointer-events: none;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
    height: 400vh;
  }
  .homeCoreTechnology__body {
    position: fixed;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: calc(var(--f2) * 40);
    width: 100%;
    height: 100vh;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    opacity: 0;
    -webkit-filter: blur(1.5rem);
            filter: blur(1.5rem);
    margin-bottom: 300vh;
  }
  .homeCoreTechnology__chartwrap {
    position: fixed;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100vh;
    padding-top: 16vh;
  }
  .homeCoreTechnology__listwrap {
    position: fixed;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100vh;
    opacity: 0;
    -webkit-transform: translateY(calc(var(--f) * 40));
            transform: translateY(calc(var(--f) * 40));
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
    -webkit-transition-delay: 600ms;
            transition-delay: 600ms;
  }
  .homeCoreTechnology__list {
    padding: calc(var(--f) * 80) 0 0;
  }
  .homeCoreTechnology__list__list {
    width: calc(var(--f) * 1000);
  }
  .homeCoreTechnology__list__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .homeCoreTechnology__list__item {
    width: calc((100% - var(--f) * 70) / 3);
  }
}
@media screen and (min-width: 960.02px) {
  .homeCoreTechnology.animeStep00 {
    opacity: 1;
    pointer-events: all;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeCoreTechnology.animeStep00 .homeCoreTechnology__body {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  .homeCoreTechnology.animeStep03 .homeCoreTechnology__body {
    opacity: 0;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-filter: blur(1.5em);
            filter: blur(1.5em);
  }
  .homeCoreTechnology__chart::before {
    opacity: 0;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transition: all 400ms linear 600ms;
    transition: all 400ms linear 600ms;
  }
  .homeCoreTechnology__chart img {
    opacity: 0;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeCoreTechnology.animeStep04 .homeCoreTechnology__chart {
    opacity: 1;
  }
  .homeCoreTechnology.animeStep04 .homeCoreTechnology__chart:before {
    opacity: 1;
    height: 100%;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .homeCoreTechnology.animeStep04 .homeCoreTechnology__chart img {
    opacity: 1;
    -webkit-transition: all 400ms linear 600ms;
    transition: all 400ms linear 600ms;
  }
  .homeCoreTechnology.animeStep05 .homeCoreTechnology__chart::before {
    opacity: 0;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transition: all 500ms linear 600ms;
    transition: all 500ms linear 600ms;
  }
  .homeCoreTechnology.animeStep05 .homeCoreTechnology__chart img {
    opacity: 0;
    -webkit-transition: all 500ms linear;
    transition: all 500ms linear;
  }
  .homeCoreTechnology.animeStep05 .homeCoreTechnology__listwrap {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .homeCoreTechnology.animeStep10 {
    opacity: 0;
    pointer-events: none;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
  }
}
@media screen and (max-width: 960px) {
  .homeCoreTechnology__head {
    position: absolute;
    z-index: 100;
  }
  .homeCoreTechnology__head .inner {
    position: relative;
    top: 0;
    padding-top: calc(var(--f) * 25);
  }
  .homeCoreTechnology__body {
    width: 92vw;
    padding: calc(var(--f) * 98) 0 calc(var(--f) * 20);
    margin: 0 auto;
    margin-bottom: calc(var(--f) * 28);
  }
  .homeCoreTechnology__body__catch {
    font-size: calc(var(--f) * 28);
    line-height: 1.15;
    text-align: left;
  }
  .homeCoreTechnology__chart {
    padding: calc(var(--f) * 50) 4vw;
  }
  .homeCoreTechnology__list {
    padding: calc(var(--f) * 45) 0 calc(var(--f) * 70);
  }
  .homeCoreTechnology__list__title {
    margin-bottom: calc(var(--f) * 24);
    font-size: calc(var(--f) * 21);
  }
  .homeCoreTechnology__list__list {
    width: 92vw;
    margin: 0 auto;
  }
  .homeCoreTechnology__list__item {
    padding: calc(var(--f) * 40) calc(var(--f) * 20);
    margin: 0 0 calc(var(--f) * 30);
  }
  .homeCoreTechnology__list__item:last-child {
    margin-bottom: 0;
  }
}

.homeEcosystem {
  position: relative;
  /* --- アニメーション --- */
}
.homeEcosystem__head {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  /* --- アニメーション --- */
  position: fixed;
}
.homeEcosystem__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.67em;
  padding: calc(var(--f) * 95) calc(var(--f) * 40) calc(var(--f) * 160);
  font-size: calc(var(--f2) * 14);
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.homeEcosystem__head .inner::before {
  content: "";
  display: block;
  width: 0.36em;
  height: 0.36em;
  background: #000;
  border-radius: 999px;
}
@media screen and (max-width: 960px) {
  .homeEcosystem__head .inner {
    padding-top: calc(var(--f) * 95);
    padding-left: 4vw;
  }
}
.homeEcosystem__head .inner {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}
.homeEcosystem__body__catch {
  font-weight: 900;
  font-size: calc(var(--f) * 36);
  line-height: 1.3;
  letter-spacing: 0.03em;
  margin: 0 0 calc(var(--f) * 32);
}
.homeEcosystem__body__contents {
  font-size: calc(var(--f) * 16);
  line-height: 1.8;
}
.homeEcosystem__body__contents p {
  margin: 0 0 1.15em;
}
.homeEcosystem__body__contents p:last-child {
  margin-bottom: 0;
}
.homeEcosystem__body__contents b {
  display: inline-block;
  padding: 0 0.5em;
  margin: 0 0.5em;
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(7%, transparent), color-stop(7%, #000), color-stop(98%, #000), color-stop(98%, transparent));
  background: linear-gradient(transparent 7%, #000 7%, #000 98%, transparent 98%);
  margin-right: 0;
  margin-left: 0;
}
.homeEcosystem__network__title {
  margin: 0 0 calc(var(--f) * 60);
  font-size: calc(var(--f) * 22);
  text-align: center;
}
.homeEcosystem__network__chart .title {
  padding: calc(var(--f) * 8) 0;
  margin: 0 0 calc(var(--f) * 10);
  color: #fff;
  font-size: calc(var(--f) * 16);
  text-align: center;
  background: #000;
}
.homeEcosystem__network__chart .icon {
  margin: 0 0 calc(var(--f) * 14);
}
.homeEcosystem__network__chart .icon img {
  display: block;
  width: calc(var(--f) * 108);
  margin: 0 auto;
}
.homeEcosystem__network__chart .partner {
  margin: 0 0 calc(var(--f) * 20);
}
.homeEcosystem__network__chart .partner:last-child {
  margin-bottom: 0;
}
.homeEcosystem__network__chart .partner__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(var(--f) * 14);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: calc(var(--f) * 50);
  padding: 0;
  margin: 0 0 calc(var(--f) * 10);
  font-size: calc(var(--f) * 13);
  text-align: center;
  border-radius: calc(var(--f) * 4);
}
.homeEcosystem__network__chart .partner__category::before, .homeEcosystem__network__chart .partner__category::after {
  content: "";
  width: calc(var(--f) * 5);
  height: calc(var(--f) * 50);
  border: 1px solid #2D2C2C;
}
.homeEcosystem__network__chart .partner__category::before {
  border-right: none;
}
.homeEcosystem__network__chart .partner__category::after {
  border-left: none;
}
.homeEcosystem__network__chart .partner__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(var(--f) * 14);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: calc(var(--f) * 70);
  margin: 0 0 calc(var(--f) * 10);
  font-size: calc(var(--f) * 16);
  line-height: 2.1;
  font-weight: 900;
  text-align: center;
}
.homeEcosystem__network__chart .partner:nth-child(4) .partner__name {
  min-height: calc(var(--f) * 36);
}
@media screen and (min-width: 960.02px) {
  .homeEcosystem {
    opacity: 0;
    pointer-events: none;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
    height: 500vh;
  }
  .homeEcosystem__container {
    width: calc(var(--f) * 1000);
    margin: 0 auto;
  }
  .homeEcosystem__body {
    position: fixed;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    gap: calc(var(--f) * 40);
    width: 100%;
    height: 100vh;
    -webkit-filter: blur(1.5rem);
            filter: blur(1.5rem);
    opacity: 0;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeEcosystem__networkwrap {
    position: fixed;
    left: 0;
    top: 15vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    gap: calc(var(--f) * 40);
    width: 100%;
    height: 100vh;
    -webkit-filter: blur(1.5rem);
            filter: blur(1.5rem);
    opacity: 0;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeEcosystem__network {
    width: calc(var(--f) * 1000);
    margin: 0 auto;
    padding: 0 calc(var(--f) * 10);
  }
  .homeEcosystem__network__title {
    width: 100%;
    opacity: 0;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeEcosystem__body__contents {
    width: calc(var(--f) * 386);
  }
  .homeEcosystem__network__chart {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    opacity: 0;
  }
  .homeEcosystem__network__chart .box {
    width: calc((100% - var(--f) * 60) / 4);
  }
}
@media screen and (max-width: 960px) {
  .homeEcosystem__container {
    width: 92vw;
    padding: calc(var(--f) * 98) 0 calc(var(--f) * 20);
    margin: 0 auto;
  }
  .homeEcosystem__head {
    position: absolute;
    z-index: 100;
  }
  .homeEcosystem__head .inner {
    top: 0;
    padding-top: calc(var(--f) * 25);
  }
  .homeEcosystem__body {
    margin-bottom: calc(var(--f) * 28);
  }
  .homeEcosystem__body__catch {
    font-size: calc(var(--f) * 28);
    text-align: left;
  }
  .homeEcosystem__network__title {
    margin: calc(var(--f) * 26);
    font-size: calc(var(--f) * 16);
  }
  .homeEcosystem__network__chart .box {
    margin-bottom: calc(var(--f) * 42);
  }
  .homeEcosystem__network__chart .box:last-child {
    margin-bottom: 0;
  }
  .homeEcosystem__network__chart .title {
    font-size: calc(var(--f) * 18);
  }
  .homeEcosystem__network__chart .icon {
    margin-bottom: 0;
  }
  .homeEcosystem__network__chart .icon img {
    width: calc(var(--f) * 138);
  }
  .homeEcosystem__network__chart .partner__category {
    height: auto;
    min-height: unset;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    margin-right: calc(var(--f) * 25);
    margin-left: calc(var(--f) * 25);
    font-size: calc(var(--f) * 16);
    line-height: 1.5;
  }
  .homeEcosystem__network__chart .partner__name {
    font-size: calc(var(--f) * 18);
    line-height: 3.3;
  }
}
@media screen and (min-width: 960.02px) {
  .homeEcosystem.animeStep00 {
    opacity: 1;
    pointer-events: all;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
  }
  .homeEcosystem.animeStep10 {
    opacity: 0;
    pointer-events: none;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
  }
  .homeEcosystem__body {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeEcosystem.animeStep00 .homeEcosystem__body {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  .homeEcosystem.animeStep02 .homeEcosystem__body {
    opacity: 0;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-filter: blur(1.5em);
            filter: blur(1.5em);
  }
  .homeEcosystem.animeStep02 .homeEcosystem__networkwrap {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  .homeEcosystem.animeStep02 .homeEcosystem__network__title {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeEcosystem.animeStep02 .homeEcosystem__network .homeEcosystem__network__chart {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
}

.homeEmptySeat {
  position: relative;
  /* --- アニメーション --- */
}
.homeEmptySeat__head {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  /* --- アニメーション --- */
}
.homeEmptySeat__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.67em;
  padding: calc(var(--f) * 95) calc(var(--f) * 40) calc(var(--f) * 160);
  font-size: calc(var(--f2) * 14);
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.homeEmptySeat__head .inner::before {
  content: "";
  display: block;
  width: 0.36em;
  height: 0.36em;
  background: #000;
  border-radius: 999px;
}
@media screen and (max-width: 960px) {
  .homeEmptySeat__head .inner {
    padding-top: calc(var(--f) * 95);
    padding-left: 4vw;
  }
}
.homeEmptySeat__head .inner {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}
.homeEmptySeat__body {
  margin: 0 0 calc(var(--f) * 38);
}
.homeEmptySeat__body__catch {
  font-weight: 900;
  font-size: calc(var(--f) * 36);
  line-height: 1.3;
  letter-spacing: 0.03em;
  margin: 0 0 calc(var(--f) * 22);
  text-align: center;
  opacity: 0;
  -webkit-transition: all 0.4s linear;
  transition: all 0.4s linear;
}
.homeEmptySeat__body__contents {
  text-align: center;
  -webkit-transition: all 0.4s linear;
  transition: all 0.4s linear;
}
.homeEmptySeat__body__contents p {
  margin: 0 0 1.15em;
}
.homeEmptySeat__body__contents p:last-child {
  margin-bottom: 0;
}
.homeEmptySeat__body__contents b {
  display: inline-block;
  position: relative;
  padding: 0 0.5em;
}
.homeEmptySeat__body__contents b:after {
  content: "MICHINARUはその空席を取りにいく";
  color: #fff;
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 0.5em;
  -webkit-transition: all 0.4s linear;
  transition: all 0.4s linear;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}
.homeEmptySeat__chart {
  opacity: 0;
  -webkit-transition: all 0.4s linear;
  transition: all 0.4s linear;
}
.homeEmptySeat__chart svg {
  display: block;
  width: calc(var(--f) * 640);
  max-width: 100%;
  margin: 0 auto;
}
.homeEmptySeat__chart .st0 {
  fill: none;
  stroke: #777777;
  opacity: 0;
  -webkit-transition: all 0.4s linear;
  transition: all 0.4s linear;
}
.homeEmptySeat__chart .st0:nth-of-type(1) {
  -webkit-transition: all 0.2s linear 0.4s;
  transition: all 0.2s linear 0.4s;
  height: 0;
}
.homeEmptySeat__chart .st0:nth-of-type(23) {
  -webkit-transition: all 0.2s linear 0.4s;
  transition: all 0.2s linear 0.4s;
  width: 0;
}
.homeEmptySeat__chart .st1 {
  fill: #FFFFFF;
  stroke: #2D2C2C;
  opacity: 0;
  -webkit-transition: all 0.4s linear;
  transition: all 0.4s linear;
}
.homeEmptySeat__chart .st2 {
  -webkit-clip-path: url(#SVGID_00000011738387933723488830000014399752611800370594_);
          clip-path: url(#SVGID_00000011738387933723488830000014399752611800370594_);
}
.homeEmptySeat__chart .st3 {
  fill: none;
  stroke: #2D2C2C;
}
.homeEmptySeat__chart .st4 {
  fill: #2D2C2C;
}
.homeEmptySeat__chart .st5 {
  -webkit-clip-path: url(#SVGID_00000005949189293452611200000001784991571540164017_);
          clip-path: url(#SVGID_00000005949189293452611200000001784991571540164017_);
  opacity: 0;
}
.homeEmptySeat__chart .st6 {
  fill: #777777;
  opacity: 0;
}
.homeEmptySeat__chart .st7 {
  -webkit-clip-path: url(#SVGID_00000085217924924529376840000016162754268283268232_);
          clip-path: url(#SVGID_00000085217924924529376840000016162754268283268232_);
}
.homeEmptySeat__chart .st8 {
  -webkit-clip-path: url(#SVGID_00000092416516794026926800000001393750541507831994_);
          clip-path: url(#SVGID_00000092416516794026926800000001393750541507831994_);
}
.homeEmptySeat__chart .st9 {
  -webkit-clip-path: url(#SVGID_00000174577508866133709700000003929817933390515128_);
          clip-path: url(#SVGID_00000174577508866133709700000003929817933390515128_);
}
.homeEmptySeat__chart .st10 {
  -webkit-clip-path: url(#SVGID_00000030447068005081701810000013352695306288177286_);
          clip-path: url(#SVGID_00000030447068005081701810000013352695306288177286_);
}
.homeEmptySeat__chart .st11 {
  -webkit-clip-path: url(#SVGID_00000137091338543456481370000013073243319643706755_);
          clip-path: url(#SVGID_00000137091338543456481370000013073243319643706755_);
}
.homeEmptySeat__chart .st12 {
  -webkit-clip-path: url(#SVGID_00000142156636390616163540000006103587552146636701_);
          clip-path: url(#SVGID_00000142156636390616163540000006103587552146636701_);
}
.homeEmptySeat__chart .st13 {
  -webkit-clip-path: url(#SVGID_00000007393376860600637410000015759362653331475901_);
          clip-path: url(#SVGID_00000007393376860600637410000015759362653331475901_);
}
.homeEmptySeat__chart .st14 {
  fill: none;
  stroke: #000000;
  stroke-dasharray: 2, 2;
}
.homeEmptySeat__chart .st15 {
  -webkit-clip-path: url(#SVGID_00000016073092307923636640000017470539458703214527_);
          clip-path: url(#SVGID_00000016073092307923636640000017470539458703214527_);
}
.homeEmptySeat__chart .st16 {
  fill: #231815;
}
.homeEmptySeat__chart .st17 {
  fill: #FFFFFF;
}
.homeEmptySeat__chart .st18 {
  fill: none;
}
.homeEmptySeat__chart .st19 {
  fill: #FFFFFF;
  stroke: #000000;
  stroke-width: 2;
  stroke-miterlimit: 10;
}
.homeEmptySeat__fullimage {
  width: 100%;
  margin: calc(var(--f) * 36) 0 0;
}
.homeEmptySeat__fullimage a {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: calc(var(--f) * 20);
  width: calc(var(--f) * 640);
  max-width: 92vw;
  margin: 0 auto;
  padding: calc(var(--f) * 10) 0;
  border: 1px solid #A3A3A3;
  font-size: calc(var(--f) * 13);
}
.homeEmptySeat__fullimage a::after {
  content: "";
  display: block;
  width: 0.92em;
  height: 0.92em;
  background: url(../img/_common/outlink.svg) center/contain no-repeat;
}
@media screen and (min-width: 960.02px) {
  .homeEmptySeat__head {
    position: fixed;
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms;
  }
  .homeEmptySeat__container {
    position: fixed;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
  }
  .homeEmptySeat__body {
    width: 100%;
    padding-top: 10vh;
  }
  .homeEmptySeat__body__contents {
    width: calc(var(--f) * 794);
    max-width: 100%;
    margin: 0 auto;
    opacity: 0;
  }
  .homeEmptySeat__chart svg {
    width: calc(var(--f) * 794);
  }
  .homeEmptySeat__fullimage {
    margin-top: calc(var(--f) * 60);
  }
}
@media screen and (min-width: 960.02px) and (min-aspect-ratio: 10/6) {
  .homeEmptySeat__chart svg {
    width: unset;
    height: 38vh;
  }
  .homeEmptySeat__fullimage {
    margin-top: calc(var(--f) * 50);
  }
}
@media screen and (max-width: 960px) {
  .homeEmptySeat {
    margin-top: -50vh;
  }
  .homeEmptySeat__container {
    padding-top: calc(var(--f) * 146);
  }
  .homeEmptySeat__body {
    padding-right: 4vw;
    padding-left: 4vw;
  }
  .homeEmptySeat__body__catch {
    font-size: calc(var(--f) * 28);
    text-align: left;
  }
  .homeEmptySeat__body__contents {
    text-align: left;
    opacity: 0;
  }
  .homeEmptySeat__chart {
    width: 100%;
    padding: 0 2vw;
  }
  .homeEmptySeat__chart svg {
    width: 100%;
  }
}
@media screen and (min-width: 960.02px) {
  .homeEmptySeat {
    opacity: 0;
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
    height: 500vh;
    margin-top: -50vh;
  }
  .homeEmptySeat__container {
    position: fixed;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    height: 100vh;
    padding: 0;
    margin: 0 auto;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
    -webkit-transition-timing-function: ease-in-out;
            transition-timing-function: ease-in-out;
    -webkit-filter: blur(1.5rem);
            filter: blur(1.5rem);
  }
  .homeEmptySeat__body .a {
    display: inline-block;
  }
  .homeEmptySeat__chart #emptySeat_x5F_title {
    -webkit-transition: all 0.4s linear 0.6s;
    transition: all 0.4s linear 0.6s;
  }
  .homeEmptySeat__chart #emptySeat_x5F_michinaru {
    -webkit-transition: all 0.4s linear 0.6s;
    transition: all 0.4s linear 0.6s;
  }
  .homeEmptySeat__fullimage {
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
    -webkit-transition-delay: 0ms;
            transition-delay: 0ms;
  }
  .homeEmptySeat.animeOff .homeEmptySeat__chart #emptySeat_x5F_title {
    opacity: 0;
  }
  .homeEmptySeat.animeOff .homeEmptySeat__chart #emptySeat_x5F_michinaru {
    opacity: 0;
  }
  .homeEmptySeat.animeOff .homeEmptySeat__fullimage {
    opacity: 1;
  }
  .homeEmptySeat.animeStep00 {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__body {
    opacity: 1;
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__body__catch {
    opacity: 1;
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__body__contents {
    opacity: 1;
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__body__contents b:after {
    width: 100%;
    -webkit-transition: all 0.4s linear 0.6s;
    transition: all 0.4s linear 0.6s;
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__container {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart {
    opacity: 1;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart .st0 {
    opacity: 1;
    -webkit-transition: all 0.2s linear 1s;
    transition: all 0.2s linear 1s;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart .st0:nth-of-type(1) {
    -webkit-transition: all 0.2s linear 0.4s;
    transition: all 0.2s linear 0.4s;
    opacity: 1;
    height: 100%;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart .st0:nth-of-type(23) {
    -webkit-transition: all 0.2s linear 0.4s;
    transition: all 0.2s linear 0.4s;
    opacity: 1;
    width: 100%;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart .st6 {
    opacity: 1;
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__fullimage {
    opacity: 1;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart .st1 {
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart .st1:nth-of-type(1) {
    opacity: 1;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart .st1:nth-of-type(2) {
    opacity: 1;
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart .st1:nth-of-type(3) {
    opacity: 1;
    -webkit-transition-delay: 0.4s;
            transition-delay: 0.4s;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart .st1:nth-of-type(4) {
    opacity: 1;
    -webkit-transition-delay: 0.6s;
            transition-delay: 0.6s;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart .st5 {
    opacity: 1;
    -webkit-transition: all 0.4s linear 1s;
    transition: all 0.4s linear 1s;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart #emptySeat_x5F_title {
    opacity: 1;
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__chart #emptySeat_x5F_michinaru {
    opacity: 1;
    -webkit-transition: all 0.4s linear 0.6s;
    transition: all 0.4s linear 0.6s;
  }
  .homeEmptySeat.animeStep10 {
    opacity: 0;
    -webkit-transition-duration: 0.4s;
            transition-duration: 0.4s;
  }
  .homeEmptySeat #emptySeat_x5F_michinaru {
    opacity: 1;
    -webkit-transition: all 0.4s linear 0.6s;
    transition: all 0.4s linear 0.6s;
  }
  .homeEmptySeat.animeStep10 {
    opacity: 0;
    -webkit-transition-duration: 0.4s;
            transition-duration: 0.4s;
  }
}
@media screen and (max-width: 960px) {
  .homeEmptySeat.animeStep01 .homeEmptySeat__body {
    opacity: 1;
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__body__catch {
    opacity: 1;
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__body__contents {
    opacity: 1;
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep01 .homeEmptySeat__body__contents b:after {
    width: 100%;
    -webkit-transition: all 0.4s linear 0.6s;
    transition: all 0.4s linear 0.6s;
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
  .homeEmptySeat.animeStep03 .homeEmptySeat__chart {
    opacity: 1;
  }
  .homeEmptySeat.animeStep03 .homeEmptySeat__chart .st0 {
    opacity: 1;
    -webkit-transition: all 0.2s linear 1s;
    transition: all 0.2s linear 1s;
  }
  .homeEmptySeat.animeStep03 .homeEmptySeat__chart .st0:nth-of-type(1) {
    -webkit-transition: all 0.2s linear 0.4s;
    transition: all 0.2s linear 0.4s;
    opacity: 1;
    height: 100%;
  }
  .homeEmptySeat.animeStep03 .homeEmptySeat__chart .st0:nth-of-type(23) {
    -webkit-transition: all 0.2s linear 0.4s;
    transition: all 0.2s linear 0.4s;
    opacity: 1;
    width: 100%;
  }
  .homeEmptySeat.animeStep03 .homeEmptySeat__chart .st6 {
    opacity: 1;
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep03 .homeEmptySeat__fullimage {
    opacity: 1;
  }
  .homeEmptySeat.animeStep04 .homeEmptySeat__chart .st1 {
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep04 .homeEmptySeat__chart .st1:nth-of-type(1) {
    opacity: 1;
  }
  .homeEmptySeat.animeStep04 .homeEmptySeat__chart .st1:nth-of-type(2) {
    opacity: 1;
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
  .homeEmptySeat.animeStep04 .homeEmptySeat__chart .st1:nth-of-type(3) {
    opacity: 1;
    -webkit-transition-delay: 0.4s;
            transition-delay: 0.4s;
  }
  .homeEmptySeat.animeStep04 .homeEmptySeat__chart .st1:nth-of-type(4) {
    opacity: 1;
    -webkit-transition-delay: 0.6s;
            transition-delay: 0.6s;
  }
  .homeEmptySeat.animeStep04 .homeEmptySeat__chart .st5 {
    opacity: 1;
    -webkit-transition: all 0.4s linear 1s;
    transition: all 0.4s linear 1s;
  }
  .homeEmptySeat.animeStep04 .homeEmptySeat__chart #emptySeat_x5F_title {
    opacity: 1;
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
  }
  .homeEmptySeat.animeStep04 .homeEmptySeat__chart #emptySeat_x5F_michinaru {
    opacity: 1;
    -webkit-transition: all 0.4s linear 0.6s;
    transition: all 0.4s linear 0.6s;
  }
}

.homeMV {
  height: 150vh;
  /* --- アニメーション --- */
}
.homeMV__container {
  position: relative;
  height: 100svh;
}
.homeMV__logo {
  width: calc(var(--f) * 410);
  aspect-ratio: 410/324;
}
.homeMV__logo__inner {
  position: relative;
  display: block;
  width: 89.2%;
}
.homeMV__logo__inner .circle img,
.homeMV__logo__inner .load img {
  display: block;
  width: 100%;
}
.homeMV__logo__inner .load {
  position: absolute;
  left: 0;
  bottom: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.homeMV__logo__inner .load img {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
}
.homeMV__ja {
  font-size: calc(var(--f) * 16);
  font-weight: 500;
  white-space: nowrap;
}
.homeMV__ja p {
  margin: 0 0 1.15em;
}
.homeMV__ja p:last-child {
  margin-bottom: 0;
}
.homeMV__en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  font-size: calc(var(--f) * 20);
  line-height: 1.25;
  font-weight: 600;
  white-space: nowrap;
}
.homeMV__maincopy__inner {
  padding: 0 calc(var(--f) * 12) 0 0;
}
.homeMV__maincopy__inner img {
  height: calc(var(--f) * 87.5);
}
.homeMV__copyright {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(-8em + var(--f) * 33.5);
  display: block;
  width: 16em;
  height: 1em;
  margin: auto 0;
  font-size: calc(var(--f) * 9.3);
  line-height: 1;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (min-width: 960.02px) {
  .homeMV__logo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
  .homeMV__ja {
    position: absolute;
    top: 0;
    right: calc(var(--f) * 115);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    height: 100%;
  }
  .homeMV__en {
    position: absolute;
    top: 0;
    left: calc(var(--f) * 160);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    height: 100%;
  }
  .homeMV__maincopy {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
  }
  .homeMV__maincopy__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: calc(var(--f) * 12);
  }
}
@media screen and (min-width: 960.02px) and (min-aspect-ratio: 2/1) {
  .homeMV__logo {
    width: unset;
    height: 50.625vh;
  }
}
@media screen and (max-width: 960px) {
  .homeMV__logo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: calc(var(--f) * 273);
    margin: auto;
    padding-right: calc(var(--f) * 20);
  }
  .homeMV__logo__inner {
    width: 100%;
  }
  .homeMV__ja {
    position: absolute;
    top: calc(var(--f) * 128);
    left: 0;
    width: 100%;
  }
  .homeMV__ja p {
    text-align: center;
  }
  .homeMV__en {
    display: none;
  }
  .homeMV__maincopy {
    position: absolute;
    left: 0;
    bottom: calc(var(--f) * 20);
    width: 100%;
  }
  .homeMV__maincopy__inner {
    padding-left: calc(var(--f) * 13);
  }
  .homeMV__maincopy__inner img {
    display: block;
    height: calc(var(--f) * 46);
    margin: calc(var(--f) * 14.5) auto 0;
  }
  .homeMV__copyright {
    width: 40em;
    left: unset;
    right: calc(-19.5em + var(--f) * 16);
    text-align: left;
  }
}
@media screen and (max-width: 960px) and (min-aspect-ratio: 500/930) {
  .homeMV__logo {
    padding-top: 16vh;
  }
}
@media screen and (max-width: 960px) and (min-aspect-ratio: 500/850) {
  .homeMV__ja p {
    font-size: 2.2vh;
  }
  .homeMV__logo {
    padding-top: 14vh;
    width: 38vh;
  }
  .homeMV__maincopy {
    bottom: 4.94vh;
  }
  .homeMV__maincopy__inner {
    padding-left: calc(var(--f) * 13);
  }
  .homeMV__maincopy__inner img {
    height: 6vh;
    margin-top: 2vh;
  }
}
.homeMV {
  opacity: 0;
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
}
.homeMV__container {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
}
.homeMV__ja .a {
  display: inline-block;
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
}
.homeMV__ja .a01 {
  -webkit-transition-delay: 1120ms;
          transition-delay: 1120ms;
}
.homeMV__ja .a02 {
  -webkit-transition-delay: 1240ms;
          transition-delay: 1240ms;
}
.homeMV__ja .a03 {
  -webkit-transition-delay: 1360ms;
          transition-delay: 1360ms;
}
.homeMV__ja .a04 {
  -webkit-transition-delay: 1480ms;
          transition-delay: 1480ms;
}
.homeMV__en .a {
  display: inline-block;
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
}
.homeMV__en .a01 {
  -webkit-transition-delay: 1120ms;
          transition-delay: 1120ms;
}
.homeMV__en .a02 {
  -webkit-transition-delay: 1240ms;
          transition-delay: 1240ms;
}
.homeMV__en .a03 {
  -webkit-transition-delay: 1360ms;
          transition-delay: 1360ms;
}
.homeMV__en .a04 {
  -webkit-transition-delay: 1480ms;
          transition-delay: 1480ms;
}
.homeMV__maincopy__inner {
  overflow: hidden;
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  -webkit-transition-delay: 2000ms;
          transition-delay: 2000ms;
}
.homeMV__copyright {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  -webkit-transition-delay: 2000ms;
          transition-delay: 2000ms;
}
.homeMV.animeOff .homeMV__ja .a {
  opacity: 0;
  -webkit-transform: translateX(calc(var(--f) * -80));
          transform: translateX(calc(var(--f) * -80));
}
.homeMV.animeOff .homeMV__en .a {
  opacity: 0;
  -webkit-transform: translateX(calc(var(--f) * -80));
          transform: translateX(calc(var(--f) * -80));
}
.homeMV.animeOff .homeMV__maincopy__inner {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
.homeMV.animeOn {
  opacity: 1;
}
.homeMV.animeOn .homeMV__ja .a {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.homeMV.animeOn .homeMV__en .a {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.homeMV.animeOn .homeMV__maincopy__inner {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.homeMV.animeOn .homeMV__copyright {
  opacity: 1;
}
.homeMV.animeStep10 {
  opacity: 0;
}

.homeOP {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 12000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  background: url(../img/_common/bg_noise_black.jpg) left top repeat;
  /* --- アニメーション --- */
}
.homeOP__logo {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: calc(var(--f) * 162);
  aspect-ratio: 162/141;
}
.homeOP__logo__inner {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-clip-path: url(#homeOP_shape);
          clip-path: url(#homeOP_shape);
}
.homeOP__logo__inner img, .homeOP__logo__inner svg {
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
}
.homeOP__logo__inner img #homeOP_x5F_path1,
.homeOP__logo__inner img #homeOP_x5F_path2,
.homeOP__logo__inner img #homeOP_x5F_path3, .homeOP__logo__inner svg #homeOP_x5F_path1,
.homeOP__logo__inner svg #homeOP_x5F_path2,
.homeOP__logo__inner svg #homeOP_x5F_path3 {
  fill: none;
  stroke: #fafafa;
  stroke-miterlimit: 10;
}
.homeOP__logo__inner img #homeOP_x5F_path1, .homeOP__logo__inner svg #homeOP_x5F_path1 {
  stroke-width: 27;
  -webkit-animation: drawLogo 900ms ease-out 300ms forwards;
          animation: drawLogo 900ms ease-out 300ms forwards;
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
}
.homeOP__logo__inner img #homeOP_x5F_path2, .homeOP__logo__inner svg #homeOP_x5F_path2 {
  stroke-width: 73;
  -webkit-animation: drawLogo 1600ms ease-out 900ms forwards;
          animation: drawLogo 1600ms ease-out 900ms forwards;
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
}
.homeOP__logo__inner img #homeOP_x5F_path3, .homeOP__logo__inner svg #homeOP_x5F_path3 {
  stroke-width: 17;
  -webkit-animation: drawLogo 1200ms ease-out 1600ms forwards;
          animation: drawLogo 1200ms ease-out 1600ms forwards;
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
}
@-webkit-keyframes drawLogo {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes drawLogo {
  to {
    stroke-dashoffset: 0;
  }
}
.homeOP.animeLoaded {
  pointer-events: none;
  opacity: 0;
  -webkit-transition-duration: 1600ms;
          transition-duration: 1600ms;
}

.homeProvenStrength {
  position: relative;
  color: #fff;
  /* --- アニメーション --- */
}
.homeProvenStrength__head {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  /* --- アニメーション --- */
  position: fixed;
}
.homeProvenStrength__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.67em;
  padding: calc(var(--f) * 95) calc(var(--f) * 40) calc(var(--f) * 160);
  font-size: calc(var(--f2) * 14);
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.homeProvenStrength__head .inner::before {
  content: "";
  display: block;
  width: 0.36em;
  height: 0.36em;
  background: #000;
  border-radius: 999px;
}
@media screen and (max-width: 960px) {
  .homeProvenStrength__head .inner {
    padding-top: calc(var(--f) * 95);
    padding-left: 4vw;
  }
}
.homeProvenStrength__head .inner {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}
.homeProvenStrength__head .inner {
  color: #fff;
}
.homeProvenStrength__head .inner::before {
  background: #fff;
}
.homeProvenStrength__chart .st0 {
  fill: #6F6F6F;
}
.homeProvenStrength__chart .st1 {
  fill: #D8D8D8;
}
.homeProvenStrength__chart .st2 {
  fill: #A0A0A0;
}
.homeProvenStrength__chart .st3 {
  fill: #FFFFFF;
}
.homeProvenStrength__chart .st4 {
  fill: none;
  stroke: #FFFFFF;
  stroke-width: 3.5405;
}
.homeProvenStrength__chart .st5 {
  fill: none;
}
.homeProvenStrength__chart .st6 {
  fill: #A79F8D;
}
.homeProvenStrength__chart .st7 {
  fill: none;
  stroke: #777777;
}
.homeProvenStrength__body {
  margin: 0 0 calc(var(--f) * 60);
}
.homeProvenStrength__body__catch {
  font-weight: 900;
  font-size: calc(var(--f) * 36);
  line-height: 1.3;
  letter-spacing: 0.03em;
  margin: 0 0 calc(var(--f) * 32);
  text-align: center;
}
.homeProvenStrength__body__contents {
  font-size: calc(var(--f) * 16);
  line-height: 1.8;
  text-align: center;
}
.homeProvenStrength__body__contents p {
  margin: 0 0 1.15em;
}
.homeProvenStrength__body__contents p:last-child {
  margin-bottom: 0;
}
.homeProvenStrength__body__contents b {
  display: inline-block;
  position: relative;
  padding: 0 0.5em;
}
.homeProvenStrength__body__contents b:after {
  content: "高機能樹脂";
  color: #000;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 0.5em;
  -webkit-transition: all 400ms linear;
  transition: all 400ms linear;
}
.homeProvenStrength__list {
  padding: calc(var(--f) * 136) 0 0;
}
.homeProvenStrength__list__title {
  font-weight: 900;
  font-size: calc(var(--f) * 36);
  line-height: 1.3;
  letter-spacing: 0.03em;
  margin: 0 0 calc(var(--f) * 44);
  font-size: calc(var(--f) * 28);
  text-align: center;
}
.homeProvenStrength__list__list {
  width: calc(var(--f) * 1000);
  margin: 0 auto;
}
.homeProvenStrength__list__item {
  position: relative;
  padding: calc(var(--f) * 50) calc(var(--f) * 40);
  background: #373737;
}
.homeProvenStrength__list__item .title {
  position: relative;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  margin: 0 0 calc(var(--f) * 20);
}
.homeProvenStrength__list__item .ja {
  font-size: calc(var(--f) * 20);
  font-weight: 900;
}
.homeProvenStrength__list__item .en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  font-size: calc(var(--f) * 12);
  font-weight: 400;
}
.homeProvenStrength__list__item .detail {
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 400;
}
.homeProvenStrength__list__item .border {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.homeProvenStrength__list__item .border span {
  position: absolute;
  display: block;
  background: #777;
}
.homeProvenStrength__list__item .border span:nth-child(1) {
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
}
.homeProvenStrength__list__item .border span:nth-child(2) {
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
}
.homeProvenStrength__list__item .border span:nth-child(3) {
  right: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
}
.homeProvenStrength__list__item .border span:nth-child(4) {
  left: 0;
  bottom: 0;
  width: 1px;
  height: 100%;
}
@media screen and (min-width: 960.02px) {
  .homeProvenStrength {
    opacity: 0;
    pointer-events: none;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
    height: 400vh;
  }
  .homeProvenStrength__container {
    width: calc(var(--f) * 1000);
    padding: calc(var(--f) * 110) 0 calc(var(--f) * 180);
    margin: 0 auto;
  }
  .homeProvenStrength__body {
    position: fixed;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-filter: blur(1.5rem);
            filter: blur(1.5rem);
    opacity: 0;
    transition: all 400ms linear;
  }
  .homeProvenStrength__body__catch {
    opacity: 0;
    -webkit-transition: all 400ms linear 800ms;
    transition: all 400ms linear 800ms;
    width: 100%;
  }
  .homeProvenStrength__body__contents {
    opacity: 0;
    -webkit-transition: all 400ms linear 400ms;
    transition: all 400ms linear 400ms;
    width: calc(var(--f) * 630);
    margin: 0 auto;
  }
  .homeProvenStrength__chart {
    position: fixed;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
  }
  .homeProvenStrength__chart img,
  .homeProvenStrength__chart svg {
    display: block;
    width: calc(var(--f) * 590);
    margin: 0 auto;
  }
  .homeProvenStrength__listwrap {
    position: fixed;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100vh;
    opacity: 0;
    -webkit-transform: translateY(calc(var(--f) * 40));
            transform: translateY(calc(var(--f) * 40));
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  }
  .homeProvenStrength__list {
    padding: calc(var(--f) * 80) 0 0;
  }
  .homeProvenStrength__list__list {
    width: calc(var(--f) * 1000);
  }
  .homeProvenStrength__list__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .homeProvenStrength__list__item {
    width: calc((100% - var(--f) * 70) / 3);
  }
}
@media screen and (max-width: 960px) {
  .homeProvenStrength__container {
    width: 92vw;
    padding: calc(var(--f) * 98) 0 calc(var(--f) * 20);
    margin: 0 auto;
  }
  .homeProvenStrength__head {
    position: absolute;
    z-index: 100;
  }
  .homeProvenStrength__head .inner {
    top: 0;
    padding-top: calc(var(--f) * 25);
  }
  .homeProvenStrength__body {
    margin-bottom: calc(var(--f) * 28);
  }
  .homeProvenStrength__body__catch {
    font-size: calc(var(--f) * 28);
    text-align: left;
  }
  .homeProvenStrength__body__contents {
    text-align: left;
  }
  .homeProvenStrength__chart {
    padding: calc(var(--f) * 50) 4vw;
  }
  .homeProvenStrength__list {
    padding: calc(var(--f) * 45) 0 calc(var(--f) * 70);
  }
  .homeProvenStrength__list__title {
    margin-bottom: calc(var(--f) * 24);
    font-size: calc(var(--f) * 21);
  }
  .homeProvenStrength__list__list {
    width: 92vw;
    margin: 0 auto;
  }
  .homeProvenStrength__list__item {
    padding: calc(var(--f) * 40) calc(var(--f) * 20);
    margin: 0 0 calc(var(--f) * 30);
  }
  .homeProvenStrength__list__item:last-child {
    margin-bottom: 0;
  }
}
.homeProvenStrength::before, .homeProvenStrength::after {
  -webkit-transition-duration: 1450ms;
          transition-duration: 1450ms;
}
.homeProvenStrength.animeOff::before, .homeProvenStrength.animeOff::after {
  width: 0;
}
@media screen and (min-width: 960.02px) {
  .homeProvenStrength.animeStep00 {
    opacity: 1;
    pointer-events: all;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeProvenStrength__body {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeProvenStrength.animeStep00 .homeProvenStrength__body {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  .homeProvenStrength.animeStep03 .homeProvenStrength__body {
    opacity: 0;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-filter: blur(1.5em);
            filter: blur(1.5em);
  }
  .homeProvenStrength.animeStep00 .homeProvenStrength__body__catch {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeProvenStrength.animeStep00 .homeProvenStrength__body__contents {
    opacity: 1;
    -webkit-transition: all 400ms linear 400ms;
    transition: all 400ms linear 400ms;
  }
  .homeProvenStrength__chart {
    opacity: 0;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeProvenStrength.animeStep04 .homeProvenStrength__chart {
    opacity: 1;
  }
  .homeProvenStrength.animeStep05 .homeProvenStrength__chart {
    opacity: 0;
  }
  .homeProvenStrength.animeStep05 .homeProvenStrength__listwrap {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .homeProvenStrength.animeStep10 {
    opacity: 0;
    pointer-events: none;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
  }
}
.homeProvenStrength__chart {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}
.homeProvenStrength__chart #bar_x5F_1,
.homeProvenStrength__chart #bar_x5F_2,
.homeProvenStrength__chart #bar_x5F_3 {
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  -webkit-transform-origin: center 86.5%;
          transform-origin: center 86.5%;
}
.homeProvenStrength__chart #bar_x5F_1 {
  -webkit-transition-delay: 500ms;
          transition-delay: 500ms;
  -webkit-transition-duration: 700ms;
          transition-duration: 700ms;
}
.homeProvenStrength__chart #bar_x5F_2 {
  -webkit-transition-delay: 700ms;
          transition-delay: 700ms;
  -webkit-transition-duration: 1000ms;
          transition-duration: 1000ms;
}
.homeProvenStrength__chart #bar_x5F_3 {
  -webkit-transition-delay: 900ms;
          transition-delay: 900ms;
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}
.homeProvenStrength__chart #bar_x5F_1,
.homeProvenStrength__chart #bar_x5F_2,
.homeProvenStrength__chart #bar_x5F_3 {
  -webkit-transform: scale(1, 0);
          transform: scale(1, 0);
}
.homeProvenStrength.animeStep04 .homeProvenStrength__chart #bar_x5F_1,
.homeProvenStrength.animeStep04 .homeProvenStrength__chart #bar_x5F_2,
.homeProvenStrength.animeStep04 .homeProvenStrength__chart #bar_x5F_3 {
  -webkit-transform: scale(1);
          transform: scale(1);
}
@media screen and (max-width: 960px) {
  .homeProvenStrength.animeStep01 .homeProvenStrength__chart #bar_x5F_1,
  .homeProvenStrength.animeStep01 .homeProvenStrength__chart #bar_x5F_2,
  .homeProvenStrength.animeStep01 .homeProvenStrength__chart #bar_x5F_3 {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.homeSocialImpact {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(250, 250, 250)), to(rgba(250, 250, 250, 0)));
  background: linear-gradient(rgb(250, 250, 250), rgba(250, 250, 250, 0));
  z-index: 10000;
  /* --- アニメーション --- */
}
.homeSocialImpact__head {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  /* --- アニメーション --- */
  position: fixed;
}
.homeSocialImpact__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.67em;
  padding: calc(var(--f) * 95) calc(var(--f) * 40) calc(var(--f) * 160);
  font-size: calc(var(--f2) * 14);
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.homeSocialImpact__head .inner::before {
  content: "";
  display: block;
  width: 0.36em;
  height: 0.36em;
  background: #000;
  border-radius: 999px;
}
@media screen and (max-width: 960px) {
  .homeSocialImpact__head .inner {
    padding-top: calc(var(--f) * 95);
    padding-left: 4vw;
  }
}
.homeSocialImpact__head .inner {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}
.homeSocialImpact__container {
  width: calc(var(--f) * 1200);
  padding: calc(var(--f) * 154) 0 calc(var(--f) * 104);
  margin: 0 auto;
}
.homeSocialImpact__body {
  margin: 0 0 calc(var(--f) * 72);
}
.homeSocialImpact__body__catch {
  font-weight: 900;
  font-size: calc(var(--f) * 36);
  line-height: 1.3;
  letter-spacing: 0.03em;
  margin: 0 0 calc(var(--f) * 36);
  text-align: center;
  line-height: 1.6;
}
.homeSocialImpact__body__contents {
  font-size: calc(var(--f) * 16);
  line-height: 1.8;
  text-align: center;
}
.homeSocialImpact__body__contents p {
  margin: 0 0 1.15em;
}
.homeSocialImpact__body__contents p:last-child {
  margin-bottom: 0;
}
.homeSocialImpact__body__contents b {
  display: inline-block;
  padding: 0 0.5em;
  margin: 0 0.5em;
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(7%, transparent), color-stop(7%, #000), color-stop(98%, #000), color-stop(98%, transparent));
  background: linear-gradient(transparent 7%, #000 7%, #000 98%, transparent 98%);
}
.homeSocialImpact__chart__chart {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: calc(var(--f2) * 80);
}
.homeSocialImpact__chart__chart .after {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.homeSocialImpact__chart__chart img {
  display: block;
  max-height: calc(100vh - var(--f2) * 200);
  margin: 0 auto;
}
.homeSocialImpact__fullimage {
  margin: calc(var(--f) * 24) 0 0;
}
.homeSocialImpact__fullimage div.img {
  padding: calc(var(--f) * 40) 8vw calc(var(--f) * 32);
  margin: 0 -4vw calc(var(--f) * 30);
  background: rgba(0, 0, 0, 0.05);
}
.homeSocialImpact__fullimage a {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: calc(var(--f) * 20);
  width: calc(var(--f) * 400);
  max-width: 92vw;
  margin: calc(var(--f) * 12) auto 0;
  padding: calc(var(--f) * 10) 0;
  border: 1px solid #A3A3A3;
  font-size: calc(var(--f) * 13);
}
.homeSocialImpact__fullimage a::after {
  content: "";
  display: block;
  width: 0.92em;
  height: 0.92em;
  background: url(../img/_common/outlink.svg) center/contain no-repeat;
}
@media screen and (min-width: 960.02px) {
  .homeSocialImpact {
    opacity: 0;
    pointer-events: none;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
    height: 600vh;
  }
  .homeSocialImpact__container {
    padding: 100vh 0 0;
  }
  .homeSocialImpact__body {
    position: fixed;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    width: 100%;
    height: 100vh;
    -webkit-filter: blur(1.5rem);
            filter: blur(1.5rem);
    opacity: 0;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeSocialImpact__body__catch {
    width: 100%;
  }
  .homeSocialImpact__body__contents {
    width: 100%;
  }
  .homeSocialImpact__chartwrap {
    position: fixed;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    gap: calc(var(--f) * 40);
    width: 100%;
    height: 100vh;
    -webkit-filter: blur(1.5rem);
            filter: blur(1.5rem);
    opacity: 0;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeSocialImpact__chart {
    padding-left: calc(var(--f) * 20);
  }
  .homeSocialImpact__chart__chart {
    width: calc(var(--f) * 1200);
    margin: 0 auto;
  }
  .homeSocialImpact__chart__chart .before {
    opacity: 0;
  }
  .homeSocialImpact__chart__chart .after {
    opacity: 0;
  }
  .homeSocialImpact__chart__chart img {
    max-width: calc(var(--f) * 800);
  }
  .homeSocialImpact__chartSP {
    display: none;
  }
  .homeSocialImpact__fullimage {
    margin-top: calc(var(--f) * 60);
  }
}
@media screen and (max-width: 960px) {
  .homeSocialImpact__container {
    width: 92vw;
    padding: calc(var(--f) * 98) 0 calc(var(--f) * 20);
    margin: 0 auto;
  }
  .homeSocialImpact__head {
    position: absolute;
    z-index: 100;
  }
  .homeSocialImpact__head .inner {
    top: 0;
    padding-top: calc(var(--f) * 25);
  }
  .homeSocialImpact__body {
    margin-bottom: calc(var(--f) * 28);
  }
  .homeSocialImpact__body__catch {
    font-size: calc(var(--f) * 28);
    text-align: left;
  }
  .homeSocialImpact__body__contents {
    text-align: left;
  }
  .homeSocialImpact__chart {
    display: none;
  }
}
@media screen and (min-width: 960.02px) {
  .homeSocialImpact.animeStep00 {
    opacity: 1;
    pointer-events: all;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeSocialImpact.animeStep10 {
    opacity: 0;
    pointer-events: none;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
  }
  .homeSocialImpact.animeStep00 .homeSocialImpact__body {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  .homeSocialImpact.animeStep03 .homeSocialImpact__body {
    -webkit-transition: all 1s linear;
    transition: all 1s linear;
    -webkit-filter: blur(1.5rem);
            filter: blur(1.5rem);
    opacity: 0;
  }
  .homeSocialImpact.animeStep01 .homeSocialImpact__body__catch {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeSocialImpact.animeStep04 .homeSocialImpact__body__contents {
    opacity: 1;
    -webkit-transition: all 400ms linear 200ms;
    transition: all 400ms linear 200ms;
  }
  .homeSocialImpact.animeStep04 .homeSocialImpact__chartwrap {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  .homeSocialImpact__chart .line_1 {
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
  .homeSocialImpact__chart .line_2 .st0 {
    -webkit-transition-duration: 1000ms;
            transition-duration: 1000ms;
    -webkit-transition-delay: 1600ms;
            transition-delay: 1600ms;
    stroke-dasharray: 500;
    stroke-dashoffset: 0;
  }
  .homeSocialImpact__chart .after {
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
    -webkit-transition-delay: 2000ms;
            transition-delay: 2000ms;
  }
  .homeSocialImpact.animeStep04 .homeSocialImpact__chart__chart {
    width: calc(var(--f) * 900);
    margin: 0 auto;
  }
  .homeSocialImpact.animeStep04 .homeSocialImpact__chart__chart .before {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeSocialImpact.animeStep04 .homeSocialImpact__chart__chart .after {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeSocialImpact__chart.animeOff {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -80));
            transform: translateX(calc(var(--f) * -80));
  }
  .homeSocialImpact__chart.animeOff .line_1 {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
  }
  .homeSocialImpact__chart.animeOff .line_2 .st0 {
    stroke-dashoffset: 500;
  }
  .homeSocialImpact__chart.animeOff .after {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -80));
            transform: translateX(calc(var(--f) * -80));
  }
}

.homeStatement {
  position: relative;
  z-index: 10;
  overflow: hidden;
  height: 450vh;
  margin-top: -50vh;
  /* --- アニメーション --- */
}
.homeStatement__head {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  /* --- アニメーション --- */
  position: fixed;
}
.homeStatement__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.67em;
  padding: calc(var(--f) * 95) calc(var(--f) * 40) calc(var(--f) * 160);
  font-size: calc(var(--f2) * 14);
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.homeStatement__head .inner::before {
  content: "";
  display: block;
  width: 0.36em;
  height: 0.36em;
  background: #000;
  border-radius: 999px;
}
@media screen and (max-width: 960px) {
  .homeStatement__head .inner {
    padding-top: calc(var(--f) * 95);
    padding-left: 4vw;
  }
}
.homeStatement__head .inner {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}
.homeStatement__container {
  position: fixed;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(var(--f) * 135);
  width: 100%;
  height: 100vh;
}
.homeStatement__maincopy {
  padding: calc(var(--f) * 148) 0 0;
}
.homeStatement__maincopy__inner img {
  display: block;
  height: calc(var(--f) * 53);
  margin: 0 0 calc(var(--f) * 16);
}
.homeStatement__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-line-pack: end;
      align-content: flex-end;
  padding-bottom: calc(var(--f) * 32);
}
.homeStatement__body__text {
  line-height: 1.9;
  letter-spacing: 0.15em;
}
.homeStatement__body__text p {
  margin: 0 0 1.15em;
}
.homeStatement__body__text p:last-child {
  margin-bottom: 0;
}
.homeStatement__body__text p {
  margin-bottom: 1.25em;
}
.homeStatement__load {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
}
.homeStatement__load__item {
  display: block;
  background: #000;
}
.homeStatement__load__item--1 {
  height: calc(var(--f) * 2);
  margin-bottom: calc(var(--f) * 27);
}
.homeStatement__load__item--2 {
  height: calc(var(--f) * 6);
  margin-bottom: calc(var(--f) * 43);
}
.homeStatement__load__item--3 {
  height: calc(var(--f) * 11);
  margin-bottom: calc(var(--f) * 60);
}
.homeStatement__load__item--4 {
  height: calc(var(--f) * 30);
}
.homeStatement__bg {
  position: fixed;
  left: 0;
  top: -2px;
  z-index: 200;
  overflow: hidden;
  pointer-events: none;
  display: block;
  width: 100%;
  height: 100vh;
}
.homeStatement__bg svg {
  display: block;
  width: 100%;
}
.homeStatement__bg svg .st0 {
  opacity: 0.6;
}
.homeStatement__bg svg .st1 {
  opacity: 0.21;
}
.homeStatement__bg svg .st2 {
  fill: none;
  stroke: #000000;
}
@media screen and (max-width: 960px) {
  .homeStatement {
    opacity: 1 !important;
    height: unset;
    background: url(../img/_common/bg_noise_gray.jpg);
  }
  .homeStatement__head {
    position: absolute;
    z-index: 100;
  }
  .homeStatement__head .inner {
    top: 0;
    padding-top: calc(var(--f) * 25);
  }
  .homeStatement__container {
    position: relative;
    display: block;
    height: unset;
    padding: calc(var(--f) * 108) 4vw 0;
  }
  .homeStatement__maincopy {
    width: 100%;
    padding-top: 0;
    padding-bottom: calc(var(--f) * 50);
  }
  .homeStatement__maincopy__inner img {
    height: calc(var(--f) * 34.2);
  }
  .homeStatement__load {
    position: relative;
    padding-top: calc(var(--f) * 40);
  }
  .homeStatement__bg {
    position: absolute;
  }
  .homeStatement__bg svg .st0 {
    opacity: 0.4;
  }
  .homeStatement__bg svg .st1 {
    opacity: 0.4;
  }
}
.homeStatement {
  opacity: 0;
  pointer-events: none;
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
}
.homeStatement__maincopy__inner {
  overflow: hidden;
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  -webkit-transition-delay: 0ms;
          transition-delay: 0ms;
}
.homeStatement__body__text p {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
  -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
          transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
}
.homeStatement__body__text p:nth-child(1) {
  -webkit-transition-delay: 420ms;
          transition-delay: 420ms;
}
.homeStatement__body__text p:nth-child(2) {
  -webkit-transition-delay: 540ms;
          transition-delay: 540ms;
}
.homeStatement__body__text p:nth-child(3) {
  -webkit-transition-delay: 660ms;
          transition-delay: 660ms;
}
.homeStatement__body__text p:nth-child(4) {
  -webkit-transition-delay: 780ms;
          transition-delay: 780ms;
}
.homeStatement__body__text p:nth-child(5) {
  -webkit-transition-delay: 900ms;
          transition-delay: 900ms;
}
.homeStatement__load .homeStatement__load__item {
  -webkit-transition-duration: 1600ms;
          transition-duration: 1600ms;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.homeStatement__load__item--1 {
  -webkit-transition-delay: 400ms;
          transition-delay: 400ms;
  -webkit-transition-duration: 1600ms;
          transition-duration: 1600ms;
}
.homeStatement__load__item--2 {
  -webkit-transition-delay: 300ms;
          transition-delay: 300ms;
  -webkit-transition-duration: 1550ms;
          transition-duration: 1550ms;
}
.homeStatement__load__item--3 {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}
.homeStatement__load__item--4 {
  -webkit-transition-delay: 100ms;
          transition-delay: 100ms;
  -webkit-transition-duration: 1450ms;
          transition-duration: 1450ms;
}
.homeStatement__bg svg {
  -webkit-transition-duration: 3000ms;
          transition-duration: 3000ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (min-width: 960.02px) {
  .homeStatement.animeOff .homeStatement__maincopy__inner {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
            clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  .homeStatement.animeOff .homeStatement__body__text p {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -80));
            transform: translateX(calc(var(--f) * -80));
  }
}
.homeStatement.animeOff .homeStatement__load .homeStatement__load__item {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
.homeStatement.animeOff .homeStatement__bg {
  stroke-dasharray: 4000;
  stroke-dashoffset: 4000;
}
.homeStatement.animeOff .homeStatement__bg svg {
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
  opacity: 0;
}
@media screen and (max-width: 960px) {
  .homeStatement.animeOff .homeStatement__bg svg {
    -webkit-transform: scale(1.875);
            transform: scale(1.875);
  }
}
.homeStatement.animeStep00 {
  opacity: 1;
  pointer-events: all;
}
.homeStatement.animeStep00 .homeStatement__bg {
  stroke-dashoffset: 0;
}
.homeStatement.animeStep00 .homeStatement__bg svg {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}
@media screen and (max-width: 960px) {
  .homeStatement.animeStep00 .homeStatement__bg svg {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
}
.homeStatement.animeStep01 .homeStatement__maincopy__inner {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.homeStatement.animeStep02 .homeStatement__body__text p {
  opacity: 1;
  -webkit-transform: translateY(calc(var(--f) * 0));
          transform: translateY(calc(var(--f) * 0));
}
.homeStatement.animeStep06 .homeStatement__body__text p {
  opacity: 0;
}
.homeStatement.animeStep06 .homeStatement__body__text p:nth-child(1), .homeStatement.animeStep06 .homeStatement__body__text p:nth-child(2), .homeStatement.animeStep06 .homeStatement__body__text p:nth-child(3), .homeStatement.animeStep06 .homeStatement__body__text p:nth-child(4), .homeStatement.animeStep06 .homeStatement__body__text p:nth-child(5) {
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
  -webkit-transition-delay: 0ms;
          transition-delay: 0ms;
}
.homeStatement.animeStep07 .homeStatement__load .homeStatement__load__item {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.homeStatement.animeStep10 {
  opacity: 0;
  pointer-events: none;
  -webkit-transition-delay: 1000ms;
          transition-delay: 1000ms;
}

.homeValue {
  position: relative;
  z-index: 1500;
  height: 400vh;
  margin-top: -25vh;
  /* --- アニメーション --- */
}
.homeValue__container {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100vh;
}
.homeValue__container::before {
  content: "";
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100vh;
  background: url(../img/_common/bg_zara_black.jpg) repeat;
}
.homeValue__container::after {
  content: "";
  position: fixed;
  left: 0;
  top: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/_common/bg_noise.jpg) left top repeat;
}
.homeValue__maincopy {
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
}
.homeValue__maincopy__text span {
  display: block;
  font-size: calc(var(--f) * 44.5);
  line-height: 1.46;
  font-weight: 900;
  letter-spacing: -0.01em;
  text-align: center;
}
.homeValue__maincopy__text span b {
  position: relative;
  z-index: 10;
  display: inline-block;
  padding: 0.3em 0.6em;
  margin: 0.4em 0.2em 0 0;
  font-size: 1.44em;
  line-height: 1;
}
.homeValue__maincopy__text span b::before {
  content: "新しい価値";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.3em 0.6em;
  color: #000;
  background: #fff;
}
@media screen and (max-width: 960px) {
  .homeValue {
    height: 200vh;
    margin-top: -50vh;
  }
  .homeValue__maincopy__text span {
    font-size: calc(var(--f) * 25.5);
  }
}
@media screen and (min-width: 960.02px) {
  .homeValue {
    pointer-events: none;
    opacity: 0;
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  }
  .homeValue__container::before {
    opacity: 0;
    -webkit-transition-duration: 1400ms;
            transition-duration: 1400ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
    -webkit-transition-delay: 0ms;
            transition-delay: 0ms;
  }
  .homeValue__maincopy {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms;
    -webkit-transition-delay: 800ms;
            transition-delay: 800ms;
  }
  .homeValue__maincopy__text span {
    -webkit-transition-duration: 1000ms;
            transition-duration: 1000ms;
  }
  .homeValue.animeOff .homeValue__maincopy {
    opacity: 0;
  }
  .homeValue.animeOff .homeValue__maincopy__text span {
    opacity: 0;
  }
  .homeValue.animeStep00 {
    pointer-events: default;
    opacity: 1;
  }
  .homeValue.animeStep04 .homeValue__container::before {
    opacity: 1;
  }
  .homeValue.animeStep04 .homeValue__maincopy {
    opacity: 1;
  }
  .homeValue.animeStep04 .homeValue__maincopy span {
    opacity: 1;
  }
  .homeValue.animeStep10 {
    pointer-events: none;
    opacity: 0;
  }
}
@media screen and (max-width: 960px) {
  .homeValue {
    pointer-events: none;
    opacity: 0;
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  }
  .homeValue__container::before {
    opacity: 0;
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  }
  .homeValue__maincopy {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms;
    -webkit-transition-delay: 100ms;
            transition-delay: 100ms;
  }
  .homeValue__maincopy__text span {
    -webkit-transition-duration: 1000ms;
            transition-duration: 1000ms;
  }
  .homeValue__maincopy__text span b {
    -webkit-transition-duration: 1000ms;
            transition-duration: 1000ms;
    -webkit-transition-delay: 100ms;
            transition-delay: 100ms;
  }
  .homeValue__maincopy__text span b::before {
    -webkit-transition-duration: 1000ms;
            transition-duration: 1000ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
    -webkit-transition-delay: 100ms;
            transition-delay: 100ms;
  }
  .homeValue.animeOff .homeValue__maincopy {
    opacity: 0;
  }
  .homeValue.animeOff .homeValue__maincopy__text span {
    opacity: 0;
  }
  .homeValue.animeOff .homeValue__maincopy__text span b::before {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
            clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  .homeValue.animeStep00 {
    pointer-events: default;
    opacity: 1;
  }
  .homeValue.animeStep01 .homeValue__container::before {
    opacity: 1;
  }
  .homeValue.animeStep01 .homeValue__maincopy {
    opacity: 1;
  }
  .homeValue.animeStep01 .homeValue__maincopy span {
    opacity: 1;
  }
  .homeValue.animeStep01 .homeValue__maincopy__text span b {
    opacity: 1;
  }
  .homeValue.animeStep01 .homeValue__maincopy__text span b::before {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  .homeValue.animeStep10 {
    pointer-events: none;
    opacity: 0;
  }
}

.homeValueRetention {
  position: relative;
  /* --- アニメーション --- */
}
.homeValueRetention__head {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  /* --- アニメーション --- */
  position: fixed;
}
.homeValueRetention__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.67em;
  padding: calc(var(--f) * 95) calc(var(--f) * 40) calc(var(--f) * 160);
  font-size: calc(var(--f2) * 14);
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.homeValueRetention__head .inner::before {
  content: "";
  display: block;
  width: 0.36em;
  height: 0.36em;
  background: #000;
  border-radius: 999px;
}
@media screen and (max-width: 960px) {
  .homeValueRetention__head .inner {
    padding-top: calc(var(--f) * 95);
    padding-left: 4vw;
  }
}
.homeValueRetention__head .inner {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms;
}
.homeValueRetention__container {
  margin: 0 auto;
}
.homeValueRetention__body {
  margin: 0 0 calc(var(--f) * 54);
}
.homeValueRetention__body__catch {
  font-weight: 900;
  font-size: calc(var(--f) * 36);
  line-height: 1.3;
  letter-spacing: 0.03em;
  margin: 0 0 calc(var(--f) * 50);
  text-align: center;
  line-height: 1.6;
}
.homeValueRetention__body__contents {
  font-size: calc(var(--f) * 16);
  line-height: 1.8;
}
.homeValueRetention__body__contents p {
  margin: 0 0 1.15em;
}
.homeValueRetention__body__contents p:last-child {
  margin-bottom: 0;
}
.homeValueRetention__body__contents b {
  display: inline-block;
  padding: 0 0.5em;
  margin: 0 0.5em;
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(7%, transparent), color-stop(7%, #000), color-stop(98%, #000), color-stop(98%, transparent));
  background: linear-gradient(transparent 7%, #000 7%, #000 98%, transparent 98%);
}
.homeValueRetention__chart {
  position: relative;
  overflow: visible;
  margin-bottom: calc(var(--f) * 36);
}
.homeValueRetention__chart img {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-height: 50vh;
}
.homeValueRetention__chart img:nth-child(1) {
  position: relative;
}
.homeValueRetention__fullimage {
  margin: 0 0 calc(var(--f) * 45);
}
.homeValueRetention__fullimage div.img {
  padding: calc(var(--f) * 40) 8vw calc(var(--f) * 32);
  margin: 0 -4vw calc(var(--f) * 30);
  background: rgba(0, 0, 0, 0.05);
}
.homeValueRetention__fullimage a {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: calc(var(--f) * 20);
  margin: 0 calc(var(--f) * 24);
  padding: calc(var(--f) * 10) 0;
  border: 1px solid #A3A3A3;
  font-size: calc(var(--f) * 13);
}
.homeValueRetention__fullimage a::after {
  content: "";
  display: block;
  width: 0.92em;
  height: 0.92em;
  background: url(../img/_common/outlink.svg) center/contain no-repeat;
}
.homeValueRetention__notice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
}
.homeValueRetention__notice__inner {
  width: calc(var(--f) * 530);
}
.homeValueRetention__notice__catch {
  margin: 0 0 calc(var(--f) * 34);
  font-size: calc(var(--f) * 16);
}
.homeValueRetention__notice__catch small {
  font-size: 0.9375em;
  font-weight: 500;
}
.homeValueRetention__notice__contents {
  font-size: calc(var(--f) * 14);
  font-weight: 400;
}
@media screen and (min-width: 960.02px) {
  .homeValueRetention {
    opacity: 0;
    -webkit-transition-duration: 1s;
            transition-duration: 1s;
  }
  .homeValueRetention__body {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    position: sticky;
    top: 50vh;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-filter: blur(1.5rem);
            filter: blur(1.5rem);
    opacity: 0;
  }
  .homeValueRetention__container {
    width: calc(var(--f) * 1200);
    padding: 100vh 0 0;
  }
  .homeValueRetention__body__contents {
    width: calc(var(--f) * 630);
    margin: 0 auto;
  }
  .homeValueRetention__chart__outer {
    height: 400vh;
  }
  .homeValueRetention__chart__inner {
    position: fixed;
    left: 0;
    top: 0;
    overflow: visible;
    position: sticky;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: calc(var(--f) * 1200);
    height: 100vh;
    margin: 0 auto;
  }
  .homeValueRetention__fullimage {
    display: none;
  }
  .homeValueRetention__notice {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%;
  }
  .homeValueRetention__notice__inner {
    width: calc(var(--f) * 530);
    margin-right: calc(var(--f) * 88);
  }
}
@media screen and (max-width: 960px) {
  .homeValueRetention {
    margin-top: -30vh;
    background: url(../img/_common/bg_noise_gray.jpg);
  }
  .homeValueRetention__head {
    position: absolute;
    z-index: 100;
  }
  .homeValueRetention__head .inner {
    position: relative;
    top: 0;
    padding-top: calc(var(--f) * 25);
  }
  .homeValueRetention__container {
    width: 92vw;
    padding: calc(var(--f) * 98) 0 calc(var(--f) * 80);
  }
  .homeValueRetention__chart {
    display: none;
  }
  .homeValueRetention__body {
    margin-bottom: calc(var(--f) * 28);
  }
  .homeValueRetention__body__catch {
    font-size: calc(var(--f) * 28);
    line-height: 1.15;
    text-align: left;
  }
}
@media screen and (min-width: 960.02px) {
  .homeValueRetention.animeStep00 {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeValueRetention.animeStep10 {
    opacity: 0;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
  }
  .homeValueRetention.animeStep04 .homeValueRetention__body {
    -webkit-transition: all 1s linear;
    transition: all 1s linear;
    -webkit-filter: blur(1.5rem);
            filter: blur(1.5rem);
    opacity: 0;
  }
  .homeValueRetention.animeStep01 .homeValueRetention__body {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  .homeValueRetention__chart__outer {
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
    -webkit-transition-delay: 400ms;
            transition-delay: 400ms;
  }
  .homeValueRetention__chart {
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
    -webkit-transition-delay: 400ms;
            transition-delay: 400ms;
  }
  .homeValueRetention__notice {
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
    -webkit-transition-delay: 400ms;
            transition-delay: 400ms;
  }
  .homeValueRetention.animeStep00 .homeValueRetention__body {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeValueRetention.animeStep04 .homeValueRetention__body {
    -webkit-transition: all 500ms linear;
    transition: all 500ms linear;
    -webkit-filter: blur(1.5rem);
            filter: blur(1.5rem);
    opacity: 0;
  }
  .homeValueRetention.animeStep01 .homeValueRetention__body__catch {
    opacity: 1;
    -webkit-transition: all 400ms linear;
    transition: all 400ms linear;
  }
  .homeValueRetention.animeStep01 .homeValueRetention__body__contents {
    opacity: 1;
    -webkit-transition: all 400ms linear 1s;
    transition: all 400ms linear 1s;
  }
  .homeValueRetention__chart__outer.animeOff .homeValueRetention__chart {
    opacity: 0;
  }
  .homeValueRetention__chart__outer.animeOff .homeValueRetention__notice {
    opacity: 0;
  }
  .homeValueRetention__chart__outer.animeStep00 {
    opacity: 1;
  }
  .homeValueRetention__chart__outer.animeStep01 .homeValueRetention__chart {
    opacity: 1;
  }
  .homeValueRetention__chart__outer.animeStep07 .homeValueRetention__notice {
    opacity: 1;
  }
  .homeValueRetention__chart__outer.animeStep10 {
    opacity: 0;
  }
  .homeValueRetention.animeStep10 {
    opacity: 0;
    -webkit-transition-duration: 400ms;
            transition-duration: 400ms;
  }
}

.lum-lightbox {
  z-index: 50000;
}

.lum-lightbox-inner {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
}

.lum-lightbox-inner img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
}

.lum-lightbox-image-wrapper {
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
}

.lum-close-button {
  opacity: 1 !important;
  -webkit-transform: scale(0.75);
          transform: scale(0.75);
  background: rgba(0, 0, 0, 0.25);
}

.aboutCTA {
  position: relative;
  padding: calc(var(--f) * 65) 0 calc(var(--f) * 120);
  background: url(../img/_common/bg_noise_gray.jpg);
}
.aboutCTA__container {
  position: relative;
  margin: 0 auto;
}
.aboutCTA__text .title {
  margin: 0 0 calc(var(--f) * 20);
}
.aboutCTA__text .title .en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: block;
  margin: 0 0 calc(var(--f) * 40);
  font-size: calc(var(--f) * 14);
}
.aboutCTA__text .title .ja {
  font-size: calc(var(--f) * 18);
  line-height: 1.7;
  font-weight: 900;
}
.aboutCTA__text .text {
  margin: 0 0 calc(var(--f) * 20);
}
.aboutCTA__text .button a {
  position: relative;
  display: block;
  padding: calc(var(--f) * 50) 0;
  color: #fff;
  font-size: calc(var(--f) * 16);
  text-align: center;
  background: #000;
}
.aboutCTA__text .button a::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(var(--f) * 60);
  bottom: 0;
  display: block;
  width: 0.5em;
  height: 0.57em;
  margin: auto 0;
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.aboutCTA__contact dl dt {
  position: relative;
  padding: calc(var(--f) * 10) 0 calc(var(--f) * 10) calc(var(--f) * 13);
  margin: 0 0 calc(var(--f) * 20);
  font-size: calc(var(--f) * 16);
  font-weight: 900;
  border-top: 1px solid #777;
}
.aboutCTA__contact dl dt::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: calc(var(--f) * 3);
  height: calc(var(--f) * 3);
  margin: auto 0;
  background: #000;
  border-radius: 999px;
}
.aboutCTA__contact dl dd {
  padding: 0 0 0 calc(var(--f) * 12);
  margin: 0 0 calc(var(--f) * 60);
  font-weight: 500;
}
.aboutCTA__contact dl dd .tel {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: inline-block;
  margin: 0 0 calc(var(--f) * 10);
  font-size: calc(var(--f) * 24);
}
.aboutCTA__contact dl dd .name {
  display: inline-block;
  margin: 0 0 calc(var(--f) * 10);
  font-size: calc(var(--f) * 16);
  font-weight: 900;
}
.aboutCTA__contact dl dd:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 960.02px) {
  .aboutCTA__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    width: calc(var(--f) * 1000);
  }
  .aboutCTA__text {
    width: 49.7%;
  }
  .aboutCTA__text .button {
    padding-right: calc(var(--f) * 30);
  }
  .aboutCTA__contact {
    width: 39.3%;
    padding-top: calc(var(--f) * 12);
  }
}
@media screen and (max-width: 960px) {
  .aboutCTA {
    padding-top: calc(var(--f) * 80);
  }
  .aboutCTA__container {
    width: 92vw;
  }
  .aboutCTA__text {
    margin-bottom: calc(var(--f) * 80);
  }
  .aboutCTA__text .title {
    margin-bottom: calc(var(--f) * 42);
  }
  .aboutCTA__text .title .en {
    margin-bottom: calc(var(--f) * 44);
  }
  .aboutCTA__text .text {
    margin-bottom: calc(var(--f) * 40);
    font-size: calc(var(--f) * 16);
    line-height: 1.88;
  }
  .aboutCTA__text .button a::after {
    right: calc(var(--f) * 40);
  }
}

.aboutDetail {
  position: relative;
  border-top: 1px solid #D1D1D1;
  /* --- アニメーション --- */
}
.aboutDetail__container {
  position: relative;
  width: calc(var(--f) * 1000);
  padding: calc(var(--f) * 72) 0 calc(var(--f) * 80);
  margin: 0 auto;
}
.aboutDetail__nav__item {
  margin: 0 0 calc(var(--f) * 20);
}
.aboutDetail__nav__item a {
  position: relative;
  display: block;
  padding: 0.1em 0 0.1em calc(var(--f) * 30);
  color: #777;
  font-size: calc(var(--f) * 13);
  font-weight: 500;
}
.aboutDetail__nav__item.current a {
  color: #000;
}
.aboutDetail__nav__item.current a::after {
  content: "";
  position: absolute;
  right: 100%;
  top: 0;
  display: block;
  width: calc(var(--f) * 3);
  height: 100%;
  background: #777;
}
.aboutDetail__nav.current_1 .aboutDetail__nav__item:nth-child(1) a, .aboutDetail__nav.current_2 .aboutDetail__nav__item:nth-child(2) a, .aboutDetail__nav.current_3 .aboutDetail__nav__item:nth-child(3) a, .aboutDetail__nav.current_4 .aboutDetail__nav__item:nth-child(4) a, .aboutDetail__nav.current_5 .aboutDetail__nav__item:nth-child(5) a, .aboutDetail__nav.current_6 .aboutDetail__nav__item:nth-child(6) a, .aboutDetail__nav.current_7 .aboutDetail__nav__item:nth-child(7) a {
  color: #000;
}
.aboutDetail__nav.current_1 .aboutDetail__nav__item:nth-child(1) a::after, .aboutDetail__nav.current_2 .aboutDetail__nav__item:nth-child(2) a::after, .aboutDetail__nav.current_3 .aboutDetail__nav__item:nth-child(3) a::after, .aboutDetail__nav.current_4 .aboutDetail__nav__item:nth-child(4) a::after, .aboutDetail__nav.current_5 .aboutDetail__nav__item:nth-child(5) a::after, .aboutDetail__nav.current_6 .aboutDetail__nav__item:nth-child(6) a::after, .aboutDetail__nav.current_7 .aboutDetail__nav__item:nth-child(7) a::after {
  content: "";
  position: absolute;
  right: 100%;
  top: 0;
  display: block;
  width: calc(var(--f) * 6);
  height: 100%;
  background: #777;
}
.aboutDetail__contents__box {
  margin: 0 0 calc(var(--f) * 110);
}
.aboutDetail__contents__box:last-child {
  margin-bottom: 0;
}
.aboutDetail__contents__box .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  margin: 0 0 calc(var(--f) * 28);
  font-size: calc(var(--f) * 24);
  text-align: left;
}
.aboutDetail__contents__box .count {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  margin: 0.65em 1.667em 0 0;
  color: #777;
  font-size: calc(var(--f) * 18);
  line-height: 1.1;
}
.aboutDetail__contents__box .text {
  font-size: calc(var(--f) * 16);
  line-height: 1.88;
  font-weight: 500;
}
.aboutDetail__contents__box .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: calc(var(--f) * 40) 0 0;
}
.aboutDetail__contents__box .link a {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  padding: 0.9375em 3em;
  font-size: calc(var(--f) * 16);
  text-align: center;
  border: 1px solid #777;
}
.aboutDetail__contents__box .notice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: calc(var(--f) * 32) 0 0;
  font-size: calc(var(--f) * 12);
}
.aboutDetail__contents__box .faq dl {
  margin: 0 0 calc(var(--f) * 20);
}
.aboutDetail__contents__box .faq dl:last-child {
  margin-bottom: 0;
}
.aboutDetail__contents__box .faq dl dt {
  position: relative;
  padding: calc(var(--f) * 40) calc(var(--f) * 40) calc(var(--f) * 12) calc(var(--f) * 73);
  background: #eee;
  font-weight: 900;
}
.aboutDetail__contents__box .faq dl dt .q {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  position: absolute;
  left: calc(var(--f) * 40);
  top: calc(var(--f) * 40);
  font-size: calc(var(--f) * 16);
}
.aboutDetail__contents__box .faq dl dd {
  padding: 0 calc(var(--f) * 40) calc(var(--f) * 40);
  background: #eee;
  font-weight: 500;
}
@media screen and (min-width: 960.02px) {
  .aboutDetail__container {
    padding-left: calc(var(--f) * 364);
  }
  .aboutDetail__nav {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: calc(var(--f) * 304);
    height: 100%;
    border-right: 1px solid #D1D1D1;
  }
  .aboutDetail__nav__items {
    position: sticky;
    left: 0;
    top: 0;
    padding: calc(var(--f) * 90) 0;
  }
}
@media screen and (max-width: 960px) {
  .aboutDetail__container {
    width: 92vw;
    padding-top: calc(var(--f) * 68);
    padding-bottom: calc(var(--f) * 54);
  }
  .aboutDetail__nav {
    display: none;
  }
  .aboutDetail__contents__box {
    margin-bottom: calc(var(--f) * 134);
  }
  .aboutDetail__contents__box .title {
    margin-right: -4vw;
  }
  .aboutDetail__contents__box .link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin: calc(var(--f) * 40) 0 0;
  }
  .aboutDetail__contents__box .link a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: calc(var(--f) * 87);
    padding: 0 2em;
  }
  .aboutDetail__contents__box .faq dt {
    padding: calc(var(--f) * 30) calc(var(--f) * 30) calc(var(--f) * 12) calc(var(--f) * 54);
  }
  .aboutDetail__contents__box .faq dt .q {
    left: calc(var(--f) * 30);
    top: calc(var(--f) * 30);
  }
  .aboutDetail__contents__box .faq dd {
    padding: 0 calc(var(--f) * 30) calc(var(--f) * 30);
  }
}
.aboutDetail__contents__box .title,
.aboutDetail__contents__box .text,
.aboutDetail__contents__box .link,
.aboutDetail__contents__box .notice,
.aboutDetail__contents__box .faq dl {
  -webkit-transition-duration: 1200ms;
          transition-duration: 1200ms;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.aboutDetail__contents__box .title.animeOff,
.aboutDetail__contents__box .text.animeOff,
.aboutDetail__contents__box .link.animeOff,
.aboutDetail__contents__box .notice.animeOff,
.aboutDetail__contents__box .faq dl.animeOff {
  opacity: 0;
}

.aboutIntro {
  position: relative;
  z-index: 1;
  padding: 0 0 calc(var(--f) * 118);
  /* --- アニメーション --- */
}
.aboutIntro::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.aboutIntro__head {
  padding: calc(var(--f) * 170) 0 0;
  text-align: center;
  margin: 0 0 calc(var(--f) * 70);
}
.aboutIntro__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: inline-block;
  padding: 0 0 calc(var(--f) * 12);
  font-size: calc(var(--f) * 24);
  font-weight: 700;
  border-bottom: 1px solid #2D2C2C;
}
@media screen and (max-width: 960px) {
  .aboutIntro__head {
    padding-top: calc(var(--f) * 138);
  }
}
.aboutIntro__container {
  margin: 0 auto;
}
.aboutIntro__text__catch {
  margin: 0 0 calc(var(--f) * 52);
  font-size: calc(var(--f) * 36);
  line-height: 1.3;
}
.aboutIntro__text__contents {
  font-size: calc(var(--f) * 16);
  line-height: 2.2;
  font-weight: 500;
}
@media screen and (min-width: 960.02px) {
  .aboutIntro__container {
    width: 92vw;
    text-align: center;
  }
  .aboutIntro__text {
    padding: 0 calc(var(--f) * 25);
  }
  .aboutIntro__text__catch {
    white-space: nowrap;
    text-align: center;
  }
  .aboutIntro__text__contents {
    text-align: center;
  }
}
@media screen and (max-width: 960px) {
  .aboutIntro {
    padding-bottom: calc(var(--f) * 70);
  }
  .aboutIntro::after {
    display: none;
  }
  .aboutIntro__container {
    width: 92vw;
  }
  .aboutIntro__head {
    padding-top: calc(var(--f) * 126);
    margin-bottom: calc(var(--f) * 40);
  }
  .aboutIntro__text__catch {
    margin-bottom: calc(var(--f) * 20);
    font-size: calc(var(--f) * 28);
    line-height: 1.3;
  }
  .aboutIntro__text__contents {
    margin-bottom: calc(var(--f) * 28);
  }
}
.aboutIntro.animeOff .aboutIntro__body__text .a {
  opacity: 0;
}
.aboutIntro.animeOff .aboutIntro__head, .aboutIntro.animeOff .aboutIntro__text__catch, .aboutIntro.animeOff .aboutIntro__text__contents {
  opacity: 0;
  -webkit-transition-duration: 1200ms;
          transition-duration: 1200ms;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.aboutIntro.animeOff .aboutIntro__head {
  -webkit-transition-delay: 120ms;
          transition-delay: 120ms;
}
.aboutIntro.animeOff .aboutIntro__text__catch {
  -webkit-transition-delay: 240ms;
          transition-delay: 240ms;
}
.aboutIntro.animeOff .aboutIntro__text__contents {
  -webkit-transition-delay: 360ms;
          transition-delay: 360ms;
}
.aboutIntro.animeOff .aboutIntro__chart {
  -webkit-transition-delay: 480ms;
          transition-delay: 480ms;
}
.aboutIntro.animeOn .aboutIntro__head, .aboutIntro.animeOn .aboutIntro__text__catch, .aboutIntro.animeOn .aboutIntro__text__contents {
  opacity: 1;
  -webkit-transform: translateY(calc(var(--f) * 0));
          transform: translateY(calc(var(--f) * 0));
}

.contactForm {
  position: relative;
  overflow: hidden;
  /* --- アニメーション --- */
}
.contactForm__head {
  padding: calc(var(--f) * 170) 0 0;
  text-align: center;
  margin: 0 0 calc(var(--f) * 44);
}
.contactForm__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: inline-block;
  padding: 0 0 calc(var(--f) * 12);
  font-size: calc(var(--f) * 24);
  font-weight: 700;
  border-bottom: 1px solid #2D2C2C;
}
@media screen and (max-width: 960px) {
  .contactForm__head {
    padding-top: calc(var(--f) * 138);
  }
}
.contactForm__container {
  margin: 0 auto;
}
.contactForm__text__catch {
  margin: 0 0 calc(var(--f) * 32);
  font-size: calc(var(--f) * 36);
}
.contactForm__text__contents {
  margin: 0 0 calc(var(--f) * 12);
  font-size: calc(var(--f) * 16);
  line-height: 1.9;
  font-weight: 500;
}
.contactForm__text__contents a {
  text-decoration: underline;
}
.contactForm__container {
  position: relative;
  margin: 0 auto;
}
.contactForm__text__attention {
  text-align: right;
}
.contactForm__form__title {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  margin: 0 0 calc(var(--f) * 65);
  font-size: calc(var(--f) * 14);
}
.contactForm__form__form table {
  width: 100%;
}
.contactForm__form__form th,
.contactForm__form__form td {
  display: block;
}
.contactForm__form__form tr {
  border-top: solid 1px #D1D1D1;
}
.contactForm__form__form th {
  margin: 0 0 calc(var(--f) * 15);
  padding-right: 1em;
  font-weight: 900;
  white-space: nowrap;
}
.contactForm__form__form td {
  margin-bottom: calc(var(--f) * 40);
}
.contactForm__form__form input[type=text],
.contactForm__form__form input[type=email],
.contactForm__form__form input[type=tel],
.contactForm__form__form textarea {
  display: block;
  width: 100%;
  padding: 0.6em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #BFBFBF;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #fff;
  font-size: calc(var(--f) * 16);
}
.contactForm__form__form input[type=text]::-webkit-input-placeholder, .contactForm__form__form input[type=email]::-webkit-input-placeholder, .contactForm__form__form input[type=tel]::-webkit-input-placeholder, .contactForm__form__form textarea::-webkit-input-placeholder {
  color: #777;
}
.contactForm__form__form input[type=text]::-moz-placeholder, .contactForm__form__form input[type=email]::-moz-placeholder, .contactForm__form__form input[type=tel]::-moz-placeholder, .contactForm__form__form textarea::-moz-placeholder {
  color: #777;
}
.contactForm__form__form input[type=text]:-ms-input-placeholder, .contactForm__form__form input[type=email]:-ms-input-placeholder, .contactForm__form__form input[type=tel]:-ms-input-placeholder, .contactForm__form__form textarea:-ms-input-placeholder {
  color: #777;
}
.contactForm__form__form input[type=text]::-ms-input-placeholder, .contactForm__form__form input[type=email]::-ms-input-placeholder, .contactForm__form__form input[type=tel]::-ms-input-placeholder, .contactForm__form__form textarea::-ms-input-placeholder {
  color: #777;
}
.contactForm__form__form input[type=text]::placeholder,
.contactForm__form__form input[type=email]::placeholder,
.contactForm__form__form input[type=tel]::placeholder,
.contactForm__form__form textarea::placeholder {
  color: #777;
}
.contactForm__form__form textarea {
  height: calc(var(--f) * 160);
}
.contactForm__form__form tr.select .wpcf7-form-control-wrap {
  position: relative;
}
.contactForm__form__form tr.select .wpcf7-form-control-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(var(--f) * 10);
  bottom: 0;
  display: block;
  width: calc(var(--f) * 9);
  height: calc(var(--f) * 7);
  margin: auto 0;
  background: #000;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.contactForm__form__form tr.select select {
  width: 100%;
  padding: 0.7em 0;
  border: none;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-bottom: 1px solid #BFBFBF;
  background: none;
  font-size: calc(var(--f) * 16);
}
.contactForm__form__agree {
  border-top: solid 1px #D1D1D1;
  padding: calc(var(--f) * 18) 0 0;
  margin: calc(var(--f) * 25) 0 0;
}
.contactForm__form__agree p {
  margin: 0 0 calc(var(--f) * 18);
  font-size: calc(var(--f) * 14);
  line-height: 1.6;
  font-weight: 400;
}
.contactForm__form__agree p a {
  text-decoration: underline;
}
.contactForm__form__agree .wpcf7-form-control-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.contactForm__form__agree .wpcf7-form-control-wrap .wpcf7-form-control {
  width: 100%;
}
.contactForm__form__agree .wpcf7-form-control-wrap .wpcf7-list-item {
  width: 100%;
  margin: 0;
}
.contactForm__form__agree .wpcf7-form-control-wrap label {
  display: block;
  width: 100%;
}
.contactForm__form__agree .wpcf7-form-control-wrap label input {
  display: none;
}
.contactForm__form__agree .wpcf7-form-control-wrap label .wpcf7-list-item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1em;
  width: 100%;
  padding: 0.76em 1.33em;
  font-size: calc(var(--f) * 15);
  border: 1px solid #BFBFBF;
}
.contactForm__form__agree .wpcf7-form-control-wrap label .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 1.667em;
  height: 1.667em;
  border: 1px solid #BFBFBF;
  border-radius: calc(var(--f) * 5);
  background: #fff;
}
.contactForm__form__agree .wpcf7-form-control-wrap label input:checked + .wpcf7-list-item-label::before {
  background: url(../img/contact/check.svg) center/contain no-repeat;
}
.contactForm__form__submit {
  margin: calc(var(--f) * 34) 0 0;
}
.contactForm__form__submit .button {
  position: relative;
  display: block;
  width: 100%;
}
.contactForm__form__submit .button::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(var(--f) * 220);
  bottom: 0;
  display: block;
  width: 0.5em;
  height: 0.57em;
  margin: auto 0;
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.contactForm__form__submit .button input,
.contactForm__form__submit .button span {
  display: block;
  width: 100%;
  padding: calc(var(--f) * 50) 0;
  color: #fff;
  font-size: calc(var(--f) * 18);
  font-weight: 900;
  text-align: center;
  background: #2D2C2C;
  border: 1px solid #A3A3A3;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.contactForm__form__submit .button #formBack {
  padding: calc(var(--f) * 20) 0;
  margin: calc(var(--f) * 24) 0 0;
  color: #000;
  font-size: calc(var(--f) * 16);
  font-weight: 600;
  background: none;
}
.contactForm__form__submit .button .wpcf7-spinner {
  display: none;
}
.contactForm__contact {
  position: relative;
  z-index: 10;
}
.contactForm__contact::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  opacity: 0.2;
  display: block;
  width: 100vw;
  height: 100%;
  background: #929292;
}
.contactForm__contact .title {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  margin: 0 0 calc(var(--f) * 65);
  font-size: calc(var(--f) * 14);
}
.contactForm__contact dl dt {
  position: relative;
  padding: calc(var(--f) * 10) 0 calc(var(--f) * 10) calc(var(--f) * 13);
  margin: 0 0 calc(var(--f) * 20);
  font-size: calc(var(--f) * 16);
  font-weight: 900;
  border-top: 1px solid #777;
}
.contactForm__contact dl dt::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: calc(var(--f) * 3);
  height: calc(var(--f) * 3);
  margin: auto 0;
  background: #000;
  border-radius: 999px;
}
.contactForm__contact dl dd {
  padding: 0 0 0 calc(var(--f) * 12);
  margin: 0 0 calc(var(--f) * 60);
  font-weight: 500;
}
.contactForm__contact dl dd .tel {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: inline-block;
  margin: 0 0 calc(var(--f) * 10);
  font-size: calc(var(--f) * 24);
}
.contactForm__contact dl dd .name {
  display: inline-block;
  margin: 0 0 calc(var(--f) * 10);
  font-size: calc(var(--f) * 16);
  font-weight: 900;
}
.contactForm__contact dl dd:last-child {
  margin-bottom: 0;
}
.contactForm__info {
  text-align: center;
}
.contactForm__address {
  font-weight: 400;
}
@media screen and (min-width: 960.02px) {
  .contactForm__container {
    width: calc(var(--f) * 794);
  }
  .contactForm__text {
    padding: 0 calc(var(--f) * 25);
    text-align: center;
  }
  .contactForm__text__attention {
    text-align: right;
    margin: 10px 0 0;
  }
  .contactForm__contact {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: calc(var(--f) * 65) calc(var(--f) * 43) calc(var(--f) * 120) 0;
  }
  .contactForm__form {
    width: 100%;
  }
  .contactForm__form .wpcf7-form-control-wrap label input {
    display: none;
  }
  .contactForm__form .wpcf7-form-control-wrap label .wpcf7-list-item-label {
    border: none;
  }
  .contactForm__form__name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 20px;
  }
  .contactForm__form__form table {
    width: 100%;
  }
  .contactForm__form__form th,
  .contactForm__form__form td {
    display: table-cell;
  }
  .contactForm__form__form th {
    width: 180px;
  }
  .contactForm__form__form td {
    padding: 20px 0;
  }
  .contactForm__info {
    margin: calc(var(--f) * 150) 0 calc(var(--f) * 60);
    font-size: calc(var(--f) * 15);
  }
  .contactForm__address {
    font-size: calc(var(--f) * 15);
  }
}
@media screen and (max-width: 960px) {
  .contactForm__container {
    width: 92vw;
  }
  .contactForm__text__contents {
    margin: 0 0 calc(var(--f) * 36);
  }
  .contactForm__contact {
    padding: calc(var(--f) * 40) 4vw calc(var(--f) * 60);
  }
  .contactForm__contact .title {
    margin-bottom: calc(var(--f) * 64);
  }
  .contactForm__contact .title .en {
    margin-bottom: calc(var(--f) * 44);
  }
  .contactForm__contact .text {
    margin-bottom: calc(var(--f) * 40);
    font-size: calc(var(--f) * 16);
    line-height: 1.88;
  }
  .contactForm__contact .button a::after {
    right: calc(var(--f) * 40);
  }
  .contactForm__form {
    padding: 0;
  }
  .contactForm__form__form table {
    width: 100%;
  }
  .contactForm__form__form tr {
    display: block;
    padding: 20px 0;
  }
  .contactForm__form__form td {
    margin: 0;
  }
  .contactForm__form__name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 15px;
  }
  .contactForm__info {
    margin: calc(var(--f) * 60) 0;
    font-size: calc(var(--f) * 15);
  }
  .contactForm__address {
    font-size: calc(var(--f) * 15);
  }
}
.contactForm.animeOff .contactForm__body__text .a {
  opacity: 0;
}
.contactForm.animeOff .contactForm__head, .contactForm.animeOff .contactForm__text__catch, .contactForm.animeOff .contactForm__text__contents, .contactForm.animeOff .contactForm__text__attention, .contactForm.animeOff .contactForm__form {
  opacity: 0;
  -webkit-transition-duration: 1200ms;
          transition-duration: 1200ms;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.contactForm.animeOff .contactForm__head {
  -webkit-transition-delay: 120ms;
          transition-delay: 120ms;
}
.contactForm.animeOff .contactForm__text__catch {
  -webkit-transition-delay: 240ms;
          transition-delay: 240ms;
}
.contactForm.animeOff .contactForm__text__contents {
  -webkit-transition-delay: 360ms;
          transition-delay: 360ms;
}
.contactForm.animeOff .contactForm__text__attention {
  -webkit-transition-delay: 480ms;
          transition-delay: 480ms;
}
.contactForm.animeOff .contactForm__form {
  -webkit-transition-delay: 600ms;
          transition-delay: 600ms;
}
.contactForm.animeOn .contactForm__head, .contactForm.animeOn .contactForm__text__catch, .contactForm.animeOn .contactForm__text__contents, .contactForm.animeOn .contactForm__text__attention, .contactForm.animeOn .contactForm__form {
  opacity: 1;
  -webkit-transform: translateY(calc(var(--f) * 0));
          transform: translateY(calc(var(--f) * 0));
}

.contactHead {
  position: relative;
  padding: calc(var(--f) * 162) 0 calc(var(--f) * 66);
}
.contactHead__head {
  padding: calc(var(--f) * 170) 0 0;
  text-align: center;
  margin: 0 0 calc(var(--f) * 88);
}
.contactHead__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: inline-block;
  padding: 0 0 calc(var(--f) * 12);
  font-size: calc(var(--f) * 24);
  font-weight: 700;
  border-bottom: 1px solid #2D2C2C;
}
@media screen and (max-width: 960px) {
  .contactHead__head {
    padding-top: calc(var(--f) * 138);
  }
}
.contactHead__text {
  text-align: center;
}
@media screen and (max-width: 960px) {
  .contactHead {
    padding-top: calc(var(--f) * 95);
  }
}

.contactForm {
  display: none;
}

.contactMain--step1 .contactForm--step1,
.contactMain--step2 .contactForm--step2,
.contactForm--thanks {
  display: block !important;
}

.topicPath .item--confirm {
  display: none;
}

.contactMain--step2 .pageTitle {
  display: none;
}

.contactMain--step2 .topicPath .item--confirm {
  display: unset;
}

.wpcf7-form-control-wrap.error {
  display: block;
  padding: calc(var(--f) * 10);
  border: calc(var(--f) * 3) solid #be2a2a;
}

.newsArchive {
  position: relative;
  z-index: 1;
  padding: 0 0 calc(var(--f) * 82);
}
.newsArchive__container {
  margin: 0 auto;
}
.newsArchive__list {
  margin: 0 0 calc(var(--f) * 62);
}
.newsArchive__items {
  border-top: 1px solid #D1D1D1;
}
.newsArchive__item {
  border-bottom: 1px solid #D1D1D1;
}
.newsArchive__link {
  padding: calc(var(--f) * 25) 0;
}
.newsArchive__link .time {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
}
.newsArchive__link .title {
  font-size: calc(var(--f) * 16);
  line-height: 1.78125;
}
.newsArchive__pagenation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(var(--f) * 12);
}
.newsArchive__pagenation .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(var(--f) * 44);
  height: calc(var(--f) * 44);
  border: 1px solid #9E9E9E;
  font-size: calc(var(--f) * 14);
  font-weight: 400;
}
.newsArchive__pagenation .page-numbers.current {
  color: #fff;
  background: #000;
  border-color: #000;
}
.newsArchive__pagenation .page-numbers.dots {
  width: calc(var(--f) * 16);
  border: none;
}
@media screen and (min-width: 960.02px) {
  .newsArchive__container {
    width: calc(var(--f) * 790);
  }
  .newsArchive__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .newsArchive__link .time {
    width: calc(var(--f) * 118);
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: 0.15em 0 0;
  }
  .newsArchive__link .title {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .newsArchive {
    padding-bottom: calc(var(--f) * 70);
  }
  .newsArchive__container {
    width: 92vw;
  }
}

.newsContents {
  position: relative;
  z-index: 1;
  padding: 0 0 calc(var(--f) * 120);
}
.newsContents__container {
  margin: 0 auto;
}
.newsContents__head {
  padding: 0 0 calc(var(--f) * 25);
  margin: 0 0 calc(var(--f) * 30);
  border-bottom: 1px solid #D1D1D1;
}
.newsContents__head .title {
  font-size: calc(var(--f) * 24);
  line-height: 1.7;
}
.newsContents__head .time {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 1.45em;
  margin: 0 0 1em;
  font-size: calc(var(--f) * 14);
}
.newsContents__head .time::before {
  content: "";
  display: block;
  width: 0.36em;
  height: 0.36em;
  border-radius: 999px;
  background: #000;
}
.newsContents__contents {
  font-size: calc(var(--f) * 16);
  font-weight: 400;
}
.newsContents__contents > * {
  margin: 0 0 1.5em;
}
.newsContents__back {
  margin: calc(var(--f) * 90) auto 0;
}
.newsContents__back .label {
  display: block;
  padding: 0.9em 1.5em;
  font-size: calc(var(--f) * 16);
  text-align: center;
  border: 1px solid #D1D1D1;
}
@media screen and (min-width: 960.02px) {
  .newsContents__container, .newsContents__back {
    width: calc(var(--f) * 790);
  }
}
@media screen and (max-width: 960px) {
  .newsContents {
    padding-bottom: calc(var(--f) * 70);
  }
  .newsContents__container, .newsContents__back {
    width: 92vw;
  }
}

.newsIntro {
  position: relative;
  z-index: 1;
  padding: 0 0 calc(var(--f) * 82);
  /* --- アニメーション --- */
}
.newsIntro__head {
  padding: calc(var(--f) * 170) 0 0;
  text-align: center;
  padding-top: calc(var(--f) * 100);
  margin: 0 0 calc(var(--f) * 40);
}
.newsIntro__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: inline-block;
  padding: 0 0 calc(var(--f) * 12);
  font-size: calc(var(--f) * 24);
  font-weight: 700;
  border-bottom: 1px solid #2D2C2C;
}
@media screen and (max-width: 960px) {
  .newsIntro__head {
    padding-top: calc(var(--f) * 138);
  }
}
.newsIntro__container {
  margin: 0 auto;
}
.newsIntro__text__catch {
  font-size: calc(var(--f) * 16);
  line-height: 1.9;
  font-weight: 500;
}
@media screen and (min-width: 960.02px) {
  .newsIntro__container {
    width: 92vw;
    text-align: center;
  }
  .newsIntro__text {
    padding: 0 calc(var(--f) * 25);
  }
  .newsIntro__text__catch {
    white-space: nowrap;
    text-align: center;
  }
  .newsIntro__text__contents {
    text-align: center;
  }
}
@media screen and (max-width: 960px) {
  .newsIntro {
    padding-bottom: calc(var(--f) * 70);
  }
  .newsIntro__container {
    width: 92vw;
  }
  .newsIntro__head {
    padding-top: calc(var(--f) * 126);
    margin-bottom: calc(var(--f) * 40);
  }
  .newsIntro__text__catch {
    margin-bottom: calc(var(--f) * 20);
    font-size: calc(var(--f) * 28);
    line-height: 1.3;
  }
  .newsIntro__text__contents {
    margin-bottom: calc(var(--f) * 28);
  }
}

.portfolioDetail {
  position: relative;
  margin: 0 0 calc(var(--f) * 88);
}
.portfolioDetail__head {
  padding: calc(var(--f) * 170) 0 0;
  text-align: center;
  margin: 0 0 calc(var(--f) * 88);
}
.portfolioDetail__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: inline-block;
  padding: 0 0 calc(var(--f) * 12);
  font-size: calc(var(--f) * 24);
  font-weight: 700;
  border-bottom: 1px solid #2D2C2C;
}
@media screen and (max-width: 960px) {
  .portfolioDetail__head {
    padding-top: calc(var(--f) * 138);
  }
}
.portfolioDetail__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
}
.portfolioDetail__btn {
  display: none;
}
.portfolioDetail__nav {
  width: 100%;
  margin: calc(var(--f) * 88) 0 0;
}
.portfolioDetail__nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.portfolioDetail__nav a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: calc(var(--f) * 57);
  font-size: calc(var(--f) * 16);
  text-align: center;
  border: 1px solid #777;
  border-radius: calc(var(--f) * 999);
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.portfolioDetail__nav a:hover, .portfolioDetail__nav a.current {
  color: #fff;
  background: url(../img/_common/bg_zara_black.jpg);
}
.portfolioDetail__label {
  cursor: pointer;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: calc(var(--f) * 57);
  font-size: calc(var(--f) * 16);
  text-align: center;
  border: 1px solid #777;
  border-radius: calc(var(--f) * 999);
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
  display: none;
}
.portfolioDetail__btn:checked + .portfolioDetail__label, .portfolioDetail__label:hover {
  color: #fff;
  background: url(../img/_common/bg_zara_black.jpg);
}
.portfolioDetail__box {
  width: 100%;
  margin: calc(var(--f) * 30) 0 0;
  border-top: 1px solid #D1D1D1;
}
.portfolioDetail__box__company {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  padding: calc(var(--f) * 40) 0 0;
  margin-bottom: calc(var(--f) * 40);
}
.portfolioDetail__box__company:last-child {
  margin-bottom: 0;
}
.portfolioDetail__box__company .name {
  font-size: calc(var(--f) * 21);
  font-weight: 900;
}
.portfolioDetail__box__company .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: calc(var(--f) * 100);
  min-height: calc(var(--f) * 30);
  margin: 0 0 calc(var(--f) * 5);
  font-size: calc(var(--f) * 12);
  background: url(../img/_common/bg_noise_gray.jpg);
}
.portfolioDetail__box__company .about {
  width: 100%;
  margin: calc(var(--f) * 10) 0 0;
  font-size: calc(var(--f) * 16);
  font-weight: 500;
}
.portfolioDetail__box__company .website {
  width: 100%;
  margin: calc(var(--f) * 24) 0 0;
}
.portfolioDetail__box__company .website a {
  position: relative;
  display: inline-block;
  padding: calc(var(--f) * 8) 2em calc(var(--f) * 8) 0;
  font-weight: 500;
  border-bottom: 1px dashed #777;
}
.portfolioDetail__box__company .website a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0.667em;
  bottom: 0;
  display: block;
  width: 0.667em;
  height: 0.667em;
  margin: auto 0;
  background: #000;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.portfolioDetail__box__company .contents {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: calc(var(--f) * 60);
  margin: calc(var(--f) * 40) 0 0;
}
.portfolioDetail__box__company .contents::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(238, 238, 238, 0.5);
}
.portfolioDetail__box__company .contents dt {
  margin: 0 0 calc(var(--f) * 20);
  font-size: calc(var(--f) * 16);
  font-weight: 900;
}
.portfolioDetail__box__company .contents dd {
  margin: 0 0 calc(var(--f) * 46);
  font-size: calc(var(--f) * 16);
  line-height: 1.9;
  font-weight: 400;
}
.portfolioDetail__box__company .contents dd:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 960.02px) {
  .portfolioDetail__container {
    width: calc(var(--f) * 790);
  }
  .portfolioDetail__label {
    width: calc((100% - var(--f) * 60) / 4);
  }
  .portfolioDetail__nav li {
    width: calc((100% - var(--f) * 60) / 4);
  }
}
@media screen and (max-width: 960px) {
  .portfolioDetail__container {
    width: 92vw;
  }
  .portfolioDetail__label {
    width: calc((100% - var(--f) * 10) / 2);
    height: calc(var(--f) * 54);
    margin: 0 0 calc(var(--f) * 10);
  }
  .portfolioDetail__nav {
    margin-top: calc(var(--f) * 60);
  }
  .portfolioDetail__nav li {
    width: calc((100% - var(--f) * 10) / 2);
    margin: 0 0 calc(var(--f) * 10);
  }
  .portfolioDetail__nav a {
    height: calc(var(--f) * 54);
  }
  .portfolioDetail__box {
    margin-top: calc(var(--f) * 20);
  }
  .portfolioDetail__box__company .name {
    width: 100%;
  }
  .portfolioDetail__box__company .category {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    margin-bottom: calc(var(--f) * 10);
  }
  .portfolioDetail__box__company .contents {
    max-width: unset;
    padding: calc(var(--f) * 60) 0;
    margin-top: calc(var(--f) * 56);
  }
  .portfolioDetail__box__company .contents::before {
    right: -4vw;
    width: 100vw;
  }
}

.portfolioIntro {
  position: relative;
  /* --- アニメーション --- */
}
.portfolioIntro__head {
  padding: calc(var(--f) * 170) 0 0;
  text-align: center;
  margin: 0 0 calc(var(--f) * 88);
}
.portfolioIntro__head .inner {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-size: calc(var(--f) * 14);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
  display: inline-block;
  padding: 0 0 calc(var(--f) * 12);
  font-size: calc(var(--f) * 24);
  font-weight: 700;
  border-bottom: 1px solid #2D2C2C;
}
@media screen and (max-width: 960px) {
  .portfolioIntro__head {
    padding-top: calc(var(--f) * 138);
  }
}
.portfolioIntro__container {
  margin: 0 auto;
}
.portfolioIntro__text__catch {
  margin: 0 0 calc(var(--f) * 32);
  font-size: calc(var(--f) * 36);
}
.portfolioIntro__text__contents {
  margin: 0 0 calc(var(--f) * 38);
  font-size: calc(var(--f) * 16);
  line-height: 1.9;
  font-weight: 500;
}
.portfolioIntro__chart {
  position: relative;
  z-index: 10;
  display: block;
  max-height: calc(100vh - var(--f2) * 200);
  aspect-ratio: 840/749;
  margin: 0 auto;
}
.portfolioIntro__chart .link {
  position: absolute;
  z-index: 10;
  display: block;
  -webkit-backdrop-filter: invert(0);
          backdrop-filter: invert(0);
  border-radius: calc(var(--f) * 4);
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.portfolioIntro__chart .link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: calc(var(--f) * -20);
  left: 0;
  opacity: 0;
  display: block;
  display: block;
  width: calc(var(--f) * 30);
  height: calc(var(--f) * 30);
  margin: 0 auto;
  background: url(../img/portfolio/chart_hover.svg) center/contain no-repeat;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.portfolioIntro__chart .link:hover {
  -webkit-backdrop-filter: invert(1);
          backdrop-filter: invert(1);
}
.portfolioIntro__chart .link:hover::after {
  opacity: 1;
}
.portfolioIntro__chart .link--1 {
  left: 40.5%;
  top: 9.5%;
  width: 17.7%;
  height: 10.5%;
}
.portfolioIntro__chart .link--2 {
  left: 58.2%;
  top: 21.1%;
  width: 17.7%;
  height: 10.7%;
}
.portfolioIntro__chart .link--3 {
  left: 66.5%;
  top: 34%;
  width: 18.1%;
  height: 10.5%;
}
.portfolioIntro__chart .link--4 {
  left: 63.3%;
  top: 58.7%;
  width: 21.7%;
  height: 10.5%;
}
.portfolioIntro__chart .link--5 {
  left: 52.5%;
  top: 72.9%;
  width: 20.4%;
  height: 10.5%;
}
.portfolioIntro__chart .link--6 {
  left: 20.7%;
  top: 68%;
  width: 18.1%;
  height: 10.5%;
}
.portfolioIntro__chart .link--7 {
  left: 13.5%;
  top: 32%;
  width: 21.9%;
  height: 10.9%;
}
.portfolioIntro__chart img {
  display: block;
  width: 100%;
}
.portfolioIntro__chart svg {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.portfolioIntro__chart svg .st0 {
  fill: #242424;
}
.portfolioIntro__chart svg .st1 {
  fill: url(#SVGID_1_);
}
.portfolioIntro__chart svg .st2 {
  opacity: 0.6;
}
.portfolioIntro__chart svg .st3 {
  fill: url(#SVGID_00000178187204479805608270000014329927581846567607_);
}
.portfolioIntro__chart svg .st4 {
  fill: url(#SVGID_00000087394105186892207900000011976558185798266779_);
}
.portfolioIntro__chart svg .st5 {
  -webkit-clip-path: url(#SVGID_00000153666724613822147960000016752358138302135221_);
          clip-path: url(#SVGID_00000153666724613822147960000016752358138302135221_);
}
.portfolioIntro__chart svg .st6 {
  fill: #FFFFFF;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.portfolioIntro__chart svg .st7 {
  fill: #2D2C2C;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.portfolioIntro__chart svg .st8 {
  fill: #3D3D3D;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.portfolioIntro__chart svg .st9 {
  -webkit-clip-path: url(#SVGID_00000062169719618580070540000010599442686518784137_);
          clip-path: url(#SVGID_00000062169719618580070540000010599442686518784137_);
}
.portfolioIntro__chart svg .st10 {
  -webkit-clip-path: url(#SVGID_00000072996640610128438880000000564421479312808094_);
          clip-path: url(#SVGID_00000072996640610128438880000000564421479312808094_);
}
.portfolioIntro__chart svg .st11 {
  -webkit-clip-path: url(#SVGID_00000132060099537877108880000014299038340139634816_);
          clip-path: url(#SVGID_00000132060099537877108880000014299038340139634816_);
}
.portfolioIntro__chart svg .st12 {
  fill: #060606;
}
.portfolioIntro__chart svg .st13 {
  fill: transparent;
}
.portfolioIntro__chart svg .st13--toa {
  -webkit-transform: translate(-0.2%, 4%);
          transform: translate(-0.2%, 4%);
}
.portfolioIntro__chart svg .st7--toa {
  -webkit-transform: translate(-0.2%, 4%);
          transform: translate(-0.2%, 4%);
}
.portfolioIntro__chart svg .st8--toa {
  -webkit-transform: translate(-0.2%, 4%);
          transform: translate(-0.2%, 4%);
}
@media screen and (min-width: 960.02px) {
  .portfolioIntro__container {
    width: calc(var(--f) * 840);
  }
  .portfolioIntro__text {
    padding: 0 calc(var(--f) * 25);
    text-align: center;
  }
  .portfolioIntro__text__catch {
    white-space: nowrap;
    text-align: center;
  }
}
@media screen and (max-width: 960px) {
  .portfolioIntro {
    margin-bottom: calc(var(--f) * 60);
  }
  .portfolioIntro__container {
    width: 92vw;
  }
  .portfolioIntro__head {
    margin-bottom: calc(var(--f) * 50);
  }
  .portfolioIntro__text__catch {
    margin-bottom: calc(var(--f) * 20);
    font-size: calc(var(--f) * 28);
    line-height: 1.3;
  }
  .portfolioIntro__text__contents {
    margin-bottom: calc(var(--f) * 28);
    line-height: 2.2;
  }
}
.portfolioIntro.animeOff .portfolioIntro__body__text .a {
  opacity: 0;
}
.portfolioIntro.animeOff .portfolioIntro__head, .portfolioIntro.animeOff .portfolioIntro__text__catch, .portfolioIntro.animeOff .portfolioIntro__text__contents {
  opacity: 0;
  -webkit-transition-duration: 1200ms;
          transition-duration: 1200ms;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}
.portfolioIntro.animeOff .portfolioIntro__head {
  -webkit-transition-delay: 120ms;
          transition-delay: 120ms;
}
.portfolioIntro.animeOff .portfolioIntro__text__catch {
  -webkit-transition-delay: 240ms;
          transition-delay: 240ms;
}
.portfolioIntro.animeOff .portfolioIntro__text__contents {
  -webkit-transition-delay: 360ms;
          transition-delay: 360ms;
}
.portfolioIntro.animeOff .portfolioIntro__chart {
  -webkit-transition-delay: 480ms;
          transition-delay: 480ms;
}
.portfolioIntro.animeOn .portfolioIntro__head, .portfolioIntro.animeOn .portfolioIntro__text__catch, .portfolioIntro.animeOn .portfolioIntro__text__contents {
  opacity: 1;
  -webkit-transform: translateY(calc(var(--f) * 0));
          transform: translateY(calc(var(--f) * 0));
}
@-webkit-keyframes portfolioChart_arrow1 {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes portfolioChart_arrow1 {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@-webkit-keyframes portfolioChart_arrow2 {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
            clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes portfolioChart_arrow2 {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
            clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@-webkit-keyframes portfolioChart_arrow3 {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes portfolioChart_arrow3 {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@-webkit-keyframes portfolioChart_arrow4 {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes portfolioChart_arrow4 {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@-webkit-keyframes portfolioChart_company {
  0% {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -80));
            transform: translateX(calc(var(--f) * -80));
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(calc(var(--f) * 0));
            transform: translateY(calc(var(--f) * 0));
  }
}
@keyframes portfolioChart_company {
  0% {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -80));
            transform: translateX(calc(var(--f) * -80));
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(calc(var(--f) * 0));
            transform: translateY(calc(var(--f) * 0));
  }
}
@-webkit-keyframes portfolioChart_hide {
  0% {
    opacity: 1;
    -webkit-transform: translateY(calc(var(--f) * 0));
            transform: translateY(calc(var(--f) * 0));
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(calc(var(--f) * 0));
            transform: translateY(calc(var(--f) * 0));
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes portfolioChart_hide {
  0% {
    opacity: 1;
    -webkit-transform: translateY(calc(var(--f) * 0));
            transform: translateY(calc(var(--f) * 0));
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(calc(var(--f) * 0));
            transform: translateY(calc(var(--f) * 0));
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@media screen and (min-width: 960.02px) {
  .portfolioIntro__chart {
    -webkit-transition-duration: 1500ms;
            transition-duration: 1500ms;
    -webkit-transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
            transition-timing-function: cubic-bezier(0.095, 0.495, 0.345, 0.995);
  }
  .portfolioIntro__chart.animeOff {
    opacity: 0;
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_arrow1,
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_arrow2,
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_arrow3,
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_arrow4,
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company1_x5F_1,
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company1_x5F_2,
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company1_x5F_3,
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company2_x5F_1,
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company2_x5F_2,
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company3_x5F_1,
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company4_x5F_1 {
    -webkit-animation: portfolioChart_hide 400ms linear 0 forwards;
            animation: portfolioChart_hide 400ms linear 0 forwards;
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_arrow1 {
    opacity: 0;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_arrow2 {
    opacity: 0;
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
            clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_arrow3 {
    opacity: 0;
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
            clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_arrow4 {
    opacity: 0;
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company1_x5F_1 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company1_x5F_2 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company1_x5F_3 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company2_x5F_1 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company2_x5F_2 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company3_x5F_1 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
  }
  .portfolioIntro__chart.animeOff svg #portfolioChart_x5F_company4_x5F_1 {
    opacity: 0;
    -webkit-transform: translate(100px, 100px);
            transform: translate(100px, 100px);
  }
  .portfolioIntro__chart {
    opacity: 1;
  }
  .portfolioIntro__chart svg #portfolioChart_x5F_arrow1 {
    opacity: 0;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    -webkit-animation: portfolioChart_arrow1 1500ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1200ms forwards;
            animation: portfolioChart_arrow1 1500ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1200ms forwards;
  }
  .portfolioIntro__chart svg #portfolioChart_x5F_arrow2 {
    opacity: 0;
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
            clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    -webkit-animation: portfolioChart_arrow2 1500ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1260ms forwards;
            animation: portfolioChart_arrow2 1500ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1260ms forwards;
  }
  .portfolioIntro__chart svg #portfolioChart_x5F_arrow3 {
    opacity: 0;
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    -webkit-animation: portfolioChart_arrow3 1500ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1320ms forwards;
            animation: portfolioChart_arrow3 1500ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1320ms forwards;
  }
  .portfolioIntro__chart svg #portfolioChart_x5F_arrow4 {
    opacity: 0;
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    -webkit-animation: portfolioChart_arrow4 1500ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1380ms forwards;
            animation: portfolioChart_arrow4 1500ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1380ms forwards;
  }
  .portfolioIntro__chart svg #portfolioChart_x5F_company1_x5F_1 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
    -webkit-animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1200ms forwards;
            animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1200ms forwards;
  }
  .portfolioIntro__chart svg #portfolioChart_x5F_company1_x5F_2 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
    -webkit-animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1230ms forwards;
            animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1230ms forwards;
  }
  .portfolioIntro__chart svg #portfolioChart_x5F_company1_x5F_3 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
    -webkit-animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1260ms forwards;
            animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1260ms forwards;
  }
  .portfolioIntro__chart svg #portfolioChart_x5F_company2_x5F_1 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
    -webkit-animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1290ms forwards;
            animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1290ms forwards;
  }
  .portfolioIntro__chart svg #portfolioChart_x5F_company2_x5F_2 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
    -webkit-animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1320ms forwards;
            animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1320ms forwards;
  }
  .portfolioIntro__chart svg #portfolioChart_x5F_company3_x5F_1 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -60));
            transform: translateX(calc(var(--f) * -60));
    -webkit-animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1350ms forwards;
            animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1350ms forwards;
  }
  .portfolioIntro__chart svg #portfolioChart_x5F_company4_x5F_1 {
    opacity: 0;
    -webkit-transform: translateX(calc(var(--f) * -100));
            transform: translateX(calc(var(--f) * -100));
    -webkit-animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1380ms forwards;
            animation: portfolioChart_company 800ms cubic-bezier(0.095, 0.495, 0.345, 0.995) 1380ms forwards;
  }
}

.postContents h1, .postContents h2, .postContents h3, .postContents h4, .postContents h5, .postContents h6 {
  font-weight: 500;
  margin: 1.5em 0 0.5em;
}
.postContents h1:first-child, .postContents h2:first-child, .postContents h3:first-child, .postContents h4:first-child, .postContents h5:first-child, .postContents h6:first-child {
  margin-top: 0;
}
.postContents h1 {
  font-size: calc(var(--f) * 30);
}
.postContents h2 {
  font-size: calc(var(--f) * 28);
}
.postContents h3 {
  font-size: calc(var(--f) * 24);
}
.postContents h4 {
  font-size: calc(var(--f) * 22);
}
.postContents h5 {
  font-size: calc(var(--f) * 20);
}
.postContents h6 {
  font-size: calc(var(--f) * 18);
}
.postContents h1 + h1, .postContents h1 + h2, .postContents h1 + h3, .postContents h1 + h4, .postContents h1 + h5, .postContents h1 + h6, .postContents h2 + h1, .postContents h2 + h2, .postContents h2 + h3, .postContents h2 + h4, .postContents h2 + h5, .postContents h2 + h6, .postContents h3 + h1, .postContents h3 + h2, .postContents h3 + h3, .postContents h3 + h4, .postContents h3 + h5, .postContents h3 + h6, .postContents h4 + h1, .postContents h4 + h2, .postContents h4 + h3, .postContents h4 + h4, .postContents h4 + h5, .postContents h4 + h6, .postContents h5 + h1, .postContents h5 + h2, .postContents h5 + h3, .postContents h5 + h4, .postContents h5 + h5, .postContents h5 + h6, .postContents h6 + h1, .postContents h6 + h2, .postContents h6 + h3, .postContents h6 + h4, .postContents h6 + h5, .postContents h6 + h6 {
  margin-top: 0;
}
.postContents b, .postContents strong {
  font-weight: 500;
}
.postContents em {
  font-style: italic;
}
.postContents p {
  margin-bottom: 2em;
}
.postContents a {
  text-decoration: underline;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.postContents img {
  display: block;
  margin: 4em auto 2em;
}
.postContents ul, .postContents ol {
  margin-bottom: calc(var(--f) * 60);
}
.postContents ul li, .postContents ol li {
  position: relative;
  padding-left: 1.2em;
}
.postContents ul li::before, .postContents ol li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 1em;
}
.postContents ul li ul, .postContents ul li ol, .postContents ol li ul, .postContents ol li ol {
  padding: 0.25em 0 1em;
  margin: 0;
}
.postContents ul li ul li, .postContents ul li ol li, .postContents ol li ul li, .postContents ol li ol li {
  padding-left: 1.2em;
  font-size: 0.9em;
}
.postContents ul li ul li::before, .postContents ul li ol li::before, .postContents ol li ul li::before, .postContents ol li ol li::before {
  content: "・";
}
.postContents ol {
  counter-reset: item;
}
.postContents ol > li::before {
  counter-increment: item;
  content: counter(item) ".";
}
.postContents .wp-block-column {
  display: block;
  margin-bottom: calc(var(--f) * 60);
}
.postContents .wp-block-column img {
  width: 100% !important;
  max-width: 100% !important;
}
.postContents .wp-block-image {
  margin-bottom: calc(var(--f) * 60);
}
.postContents .wp-block-image img {
  margin-bottom: calc(var(--f) * 16);
}
.postContents .wp-block-image figcaption {
  font-size: calc(var(--f) * 15);
  text-align: center;
}
.postContents hr {
  opacity: 1;
  position: relative;
  display: block;
  margin: -1em 0 1em;
  background: #D1D1D1;
}
.postContents .wp-block-table {
  margin-bottom: calc(var(--f) * 60);
}
.postContents .wp-block-table table {
  width: 100%;
}
.postContents .wp-block-table table th, .postContents .wp-block-table table td {
  padding: 0.5em 0 0.2em;
  border-bottom: 1px solid #D1D1D1;
}
.postContents .wp-block-table table thead th, .postContents .wp-block-table table thead td {
  font-weight: 500;
  border-bottom-width: 2px;
}
.postContents .wp-block-table table tfoot th, .postContents .wp-block-table table tfoot td {
  border-top: 2px solid #D1D1D1;
}
.postContents .wp-block-quote {
  padding: calc(var(--f) * 40);
  background: url(../img/_common/bg_noise_gray.jpg);
}
.postContents .wp-block-quote cite {
  display: block;
  font-size: calc(var(--f) * 14);
  text-align: right;
}
@media screen and (max-width: 960px) {
  .postContents .wp-block-quote {
    padding: calc(var(--f) * 30);
  }
}

.topicPath {
  position: relative;
  z-index: 1;
  padding: calc(var(--f) * 60) 0 calc(var(--f) * 24);
  margin: 0 0 calc(var(--f) * 45);
}
.topicPath__container {
  margin: 0 auto;
}
.topicPath__list ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.topicPath__list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  font-size: calc(var(--f) * 12);
  font-weight: 400;
}
.topicPath__list li::after {
  content: ">";
  display: block;
  margin: 0 0.5em;
}
.topicPath__list li a {
  font-weight: 700;
  text-decoration: underline;
}
.topicPath__list li:last-child::after {
  display: none;
}
@media screen and (min-width: 960.02px) {
  .topicPath__container {
    width: calc(var(--f) * 1000);
  }
}
@media screen and (max-width: 960px) {
  .topicPath {
    padding-bottom: calc(var(--f) * 70);
  }
  .topicPath__container {
    width: 92vw;
  }
}