@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=DotGothic16&family=Figtree:ital,wght@0,300..900;1,300..900&family=Chakra+Petch:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Outfit:wght@100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");
/* リセット
---------------------------------------------------------- */
html,
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
table,
th,
td,
button,
a,
span {
  margin: 0;
  padding: 0;
  font-size: 100%;
  box-sizing: border-box;
  position: relative;
}

ol,
ul {
  list-style: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 100%;
  box-sizing: border-box;
  position: relative;
}

address {
  font-style: normal;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

:root {
  --text: #000;
  --background: #f0f0f5;
  --primary: #ff0015;
  --secondary: #ff3345;
}

:root {
  --Sans: "Zen Kaku Gothic New", sans-serif;
  --DotGothic16: "DotGothic16", sans-serif;
  --Outfit: "Outfit", sans-serif;
  --ChakraPetch: "Chakra Petch", sans-serif;
  --Figtree: "Figtree", sans-serif;
}

html {
  background-color: var(--background);
  font-size: 10px;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt" 1;
}
@media screen and (min-width: 769px) {
  html {
    font-size: max(1px, 0.7320644217vw);
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  position: relative;
  -webkit-text-size-adjust: 100%;
  font-family: var(--Sans);
  font-size: 1.4rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.03rem;
  color: var(--text);
  background-color: var(--background);
}
body.is-fixed {
  height: 100vh;
  overflow: hidden;
}

main {
  position: relative;
  overflow: clip;
}

img,
svg {
  display: block;
  width: 100%;
  height: auto;
}

svg {
  fill: currentColor;
}

a,
button {
  text-decoration: none;
  color: var(--text);
}
@media (any-hover: hover) {
  a,
  button {
    transition: 0.4s all;
  }
  a:hover,
  button:hover {
    opacity: 0.5;
  }
}

input,
textarea {
  font-family: var(--Sans);
  color: var(--text);
  font-weight: 500;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  cursor: pointer;
}

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

@media screen and (min-width: 769px) {
  .sp {
    display: none;
  }
}

.l-header {
  position: fixed;
  inset: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1000;
}
@media screen and (min-width: 769px) {
  .l-header {
    padding: 3rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .l-header {
    padding: 3rem 2.8rem;
  }
}

.p-home .l-header {
  translate: 0 -100%;
  transition: 0.4s all 4.2s ease-in-out;
}
.p-home.is-loaded .l-header {
  translate: 0 0;
}

.l-header__logo {
  width: 17.661rem;
}

@media screen and (min-width: 769px) {
  .l-header__nav {
    margin: 0 2.4rem 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .l-header__nav__menu {
    position: fixed;
    inset: 0 0 auto;
    width: 100%;
    height: 50rem;
    padding: 5rem 0 6rem;
    background: url(../img/common/bg_menu.svg) no-repeat center bottom/100% auto;
    z-index: 10;
    transition: 0.8s all cubic-bezier(0.68, -0.6, 0.32, 1.6);
  }
  .l-header__nav__menu::before {
    content: "";
    position: absolute;
    inset: auto 0 100%;
    display: block;
    height: 100dvh;
    background-color: #fff;
  }
  .l-header__nav__menu:not(.is-open) {
    translate: 0 -100dvh;
    pointer-events: none;
  }
  .l-header__nav__menu:not(.is-open) .l-header__nav__logo .menu img {
    translate: 200% 0;
    opacity: 0;
    scale: 0.2;
  }
  .l-header__nav__menu:not(.is-open) .l-header__nav__close {
    bottom: -6rem;
    opacity: 0;
    scale: 0;
  }
}
@media screen and (min-width: 769px) {
  .l-header__nav__logo {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .l-header__nav__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 1.78rem;
    margin-bottom: 4.74rem;
  }
  .l-header__nav__logo .logo {
    width: 9.5rem;
  }
  .l-header__nav__logo .menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 22.665rem;
  }
  .l-header__nav__logo .menu img {
    transition: 0.4s all 0s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  }
  .l-header__nav__logo .menu img:nth-of-type(1) {
    width: 5.16rem;
    transition-delay: 0.9s;
  }
  .l-header__nav__logo .menu img:nth-of-type(2) {
    width: 3.497rem;
    transition-delay: 0.8s;
  }
  .l-header__nav__logo .menu img:nth-of-type(3) {
    width: 3.715rem;
    transition-delay: 0.7s;
  }
  .l-header__nav__logo .menu img:nth-of-type(4) {
    width: 3.012rem;
    transition-delay: 0.6s;
  }
  .l-header__nav__logo .menu img:nth-of-type(5) {
    width: 0.709rem;
    transition-delay: 0.5s;
  }
}
@media screen and (min-width: 769px) {
  .l-header__nav__list {
    display: flex;
    justify-content: flex-end;
    font-size: 1.3rem;
    gap: 4rem;
    padding-top: 0.1rem;
  }
}
@media screen and (max-width: 768px) {
  .l-header__nav__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 0 6.2rem 0 8.2rem;
    gap: 3rem 0;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 769px) {
  .l-header__nav__list li:last-child {
    margin-left: 0.3rem;
  }
  .l-header__nav__list li:last-child::before {
    content: "";
    display: block;
    width: 0.1rem;
    height: 0.6rem;
    background: #707070;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1.8rem;
    margin: auto 0;
  }
}
@media screen and (max-width: 768px) {
  .l-header__nav__list li:nth-of-type(1) {
    order: 1;
  }
  .l-header__nav__list li:nth-of-type(2) {
    order: 3;
  }
  .l-header__nav__list li:nth-of-type(3) {
    order: 5;
  }
  .l-header__nav__list li:nth-of-type(4) {
    order: 7;
  }
  .l-header__nav__list li:nth-of-type(5) {
    order: 2;
  }
  .l-header__nav__list li:nth-of-type(6) {
    order: 4;
  }
  .l-header__nav__list li:nth-of-type(7) {
    order: 6;
  }
  .l-header__nav__list li:nth-of-type(8) {
    order: 8;
  }
}
@media screen and (min-width: 769px) {
  .l-header__nav__close {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .l-header__nav__close {
    position: absolute;
    inset: auto auto -2.8rem 22.4rem;
    display: block;
    width: 7.3rem;
    transition: 1s all 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6);
    animation: 8s menuClose infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
  }
  @keyframes menuClose {
    46% {
      rotate: 0deg;
      translate: 0 0;
    }
    48% {
      rotate: -2.5deg;
      translate: 0 -0.25rem;
    }
    50% {
      rotate: 0deg;
      translate: 0 0;
    }
    96% {
      rotate: 0deg;
      translate: 0 0;
    }
    98% {
      rotate: 2.5deg;
      translate: 0 -0.25rem;
    }
    100% {
      rotate: 0deg;
      translate: 0 0;
    }
  }
}

@media screen and (min-width: 769px) {
  .l-header__btn {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .l-header__btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    width: 3.862rem;
    height: 3.8rem;
    background: url(../img/common/header_btn.svg) no-repeat center center/2.6617rem auto;
    cursor: pointer;
  }
}

@media screen and (min-width: 769px) {
  .l-footer {
    padding: 2.9rem 0 12.06rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding: 2.8rem 2.8rem 6.06rem;
  }
}

.l-footer__inner {
  position: relative;
  display: flex;
}
@media screen and (min-width: 769px) {
  .l-footer__inner {
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: row-reverse;
    max-width: 110rem;
    margin-inline: auto;
  }
  .l-footer__inner::before {
    content: "";
    position: absolute;
    inset: 0 -7.05rem auto auto;
    display: block;
    width: 41.7rem;
    height: 0.1rem;
    background-color: #707070;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__inner {
    flex-direction: column;
    gap: 6rem;
  }
}

@media screen and (min-width: 769px) {
  .l-footer__img {
    position: absolute;
    inset: 0 auto auto 0;
    z-index: 10;
  }
}
.l-footer__img__logo {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .l-footer__img__logo {
    width: 72.8rem;
    margin-inline: auto;
  }
}
.l-footer__img__logo img {
  transition: 0.6s all 0s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
.l-footer__img__logo img:nth-of-type(1) {
  transition-delay: 0.8s;
}
@media screen and (min-width: 769px) {
  .l-footer__img__logo img:nth-of-type(1) {
    width: 17.083rem;
    margin-right: 5.96rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__img__logo img:nth-of-type(1) {
    width: 7.462rem;
    margin-right: 2.6rem;
  }
}
.l-footer__img__logo img:nth-of-type(2) {
  transition-delay: 0.7s;
}
@media screen and (min-width: 769px) {
  .l-footer__img__logo img:nth-of-type(2) {
    width: 3.217rem;
    margin-right: 5.81rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__img__logo img:nth-of-type(2) {
    width: 1.405rem;
    margin-right: 2.54rem;
  }
}
.l-footer__img__logo img:nth-of-type(3) {
  transition-delay: 0.6s;
}
@media screen and (min-width: 769px) {
  .l-footer__img__logo img:nth-of-type(3) {
    width: 10.793rem;
    margin-right: 5.8rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__img__logo img:nth-of-type(3) {
    width: 4.715rem;
    margin-right: 2.53rem;
  }
}
.l-footer__img__logo img:nth-of-type(4) {
  transition-delay: 0.5s;
}
@media screen and (min-width: 769px) {
  .l-footer__img__logo img:nth-of-type(4) {
    width: 8.575rem;
    margin-right: 5.93rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__img__logo img:nth-of-type(4) {
    width: 3.746rem;
    margin-right: 2.59rem;
  }
}
.l-footer__img__logo img:nth-of-type(5) {
  transition-delay: 0.4s;
}
@media screen and (min-width: 769px) {
  .l-footer__img__logo img:nth-of-type(5) {
    width: 1.989rem;
    margin-right: 5.91rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__img__logo img:nth-of-type(5) {
    width: 0.869rem;
    margin-right: 2.58rem;
  }
}
.l-footer__img__logo img:nth-of-type(6) {
  transition-delay: 0.3s;
}
@media screen and (min-width: 769px) {
  .l-footer__img__logo img:nth-of-type(6) {
    width: 1.747rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__img__logo img:nth-of-type(6) {
    width: 0.763rem;
  }
}
.l-footer__img__logo:not(.is-complete) img {
  translate: 200% 0;
  opacity: 0;
  scale: 0.2;
}
@media screen and (min-width: 769px) {
  .l-footer__img__txt {
    margin-left: auto;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: -2.5rem;
  }
}
.l-footer__img__txt p {
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 769px) {
  .l-footer__img__txt p {
    margin-top: 3.12rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__img__txt p {
    margin-top: 3.72rem;
  }
}
.l-footer__img__txt p .en {
  font-family: var(--Outfit);
  font-size: 1rem;
  font-weight: 400;
  margin-top: 2.17rem;
  display: inline-block;
  letter-spacing: 0.08em;
  line-height: 2;
}

.l-footer__logo {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .l-footer__logo {
    gap: 4.8rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__logo {
    gap: 3rem;
  }
}
.l-footer__logo .logo {
  width: 26.3rem;
}
.l-footer__logo .copyright {
  font-family: var(--Outfit);
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 769px) {
  .l-footer__nav {
    width: 17rem;
  }
}
.l-footer__nav__list {
  position: relative;
}
@media screen and (min-width: 769px) {
  .l-footer__nav__list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 4.47rem;
    padding-top: 7rem;
    padding-bottom: 13.6rem;
    border-bottom: 0.1rem solid #070203;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__nav__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 0;
    margin-bottom: 3.15rem;
    padding-bottom: 3.15rem;
  }
  .l-footer__nav__list::before {
    content: "";
    position: absolute;
    inset: auto auto 0 0;
    display: block;
    width: 16.95rem;
    height: 0.1rem;
    background-color: #070203;
  }
  .l-footer__nav__list li:nth-of-type(1) {
    order: 1;
  }
  .l-footer__nav__list li:nth-of-type(2) {
    order: 3;
  }
  .l-footer__nav__list li:nth-of-type(3) {
    order: 5;
  }
  .l-footer__nav__list li:nth-of-type(4) {
    order: 7;
  }
  .l-footer__nav__list li:nth-of-type(5) {
    order: 2;
  }
  .l-footer__nav__list li:nth-of-type(6) {
    order: 4;
  }
  .l-footer__nav__list li:nth-of-type(7) {
    order: 6;
  }
  .l-footer__nav__list li:nth-of-type(8) {
    order: 8;
  }
}
.l-footer__nav__list a {
  display: flex;
}
@media screen and (min-width: 769px) {
  .l-footer__nav__list a {
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__nav__list a {
    flex-direction: column;
  }
}
.l-footer__nav__list a .en {
  font-family: var(--ChakraPetch);
  font-weight: 700;
  letter-spacing: 0.15em;
}
@media screen and (min-width: 769px) {
  .l-footer__nav__list a .en {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__nav__list a .en {
    font-size: 1.8rem;
  }
}
.l-footer__nav__list a .jp {
  font-size: 1rem;
}
@media screen and (min-width: 769px) {
  .l-footer__nav__privacy {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__nav__privacy {
    font-size: 1rem;
  }
}

.c-banner {
  position: sticky;
  top: 0;
  height: 100dvh;
  margin-top: calc(-100dvh + 8rem + 4rem);
  transition: 0.8s all cubic-bezier(0.68, -0.6, 0.32, 1.6);
  pointer-events: none;
  z-index: 1000;
}

.is-fixed .c-banner {
  translate: 0 50dvh;
}

@media screen and (max-width: 768px) {
  .is-service .c-banner {
    translate: 100% 0;
  }
}
.c-banner__inner {
  position: absolute;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 23.2rem;
  height: 8rem;
  padding: 0 0 0 1.2rem;
  border-radius: 4rem 0 0 4rem;
  background-color: #fff;
  pointer-events: auto;
  transition: 0.8s all cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .c-banner__inner {
    bottom: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .c-banner__inner {
    bottom: 2rem;
  }
}
.c-banner__inner::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 100%;
  display: block;
  width: 100dvw;
  background-color: #fff;
}
.c-banner__inner a {
  position: static;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 8rem;
  padding-right: 1.4rem;
}
.c-banner__inner:not(.is-open) {
  width: 3.8rem;
}
.c-banner__inner:not(.is-open) .c-banner__btn .icn {
  scale: -1;
}
.c-banner__inner:not(.is-open) .c-banner__btn .txt::before {
  content: "OPEN";
}
.c-banner__inner:not(.is-open) .c-banner__icn .icn.close {
  scale: 0;
  translate: 23.2rem 0;
}
.c-banner__inner:not(.is-open) .c-banner__icn .icn.open {
  opacity: 1;
  translate: 0;
  rotate: 0deg;
}
.c-banner__inner:not(.is-open) .c-banner__txt {
  width: 0;
}

.c-banner__btn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
  gap: 0.48rem;
  width: 3.3rem;
  height: 3.3rem;
}
.c-banner__btn .icn {
  width: 0.6328rem;
}
.c-banner__btn .txt {
  font-family: var(--Figtree);
  font-size: 0.6rem;
  font-weight: 600;
  text-align: center;
}
.c-banner__btn .txt::before {
  content: "CLOSE";
}

.c-banner__icn {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.c-banner__icn .icn {
  position: absolute;
  display: block;
}
.c-banner__icn .icn.close {
  width: 3.994rem;
  inset: 1.3rem auto auto 4.2rem;
  transition:
    0.6s translate 0s cubic-bezier(0.68, -0.6, 0.32, 1.6),
    0.6s scale 0.9s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  animation: 2s bannerIcon infinite ease-in-out;
}
@keyframes bannerIcon {
  0% {
    rotate: 2.5deg;
  }
  50% {
    rotate: -2.5deg;
  }
  100% {
    rotate: 2.5deg;
  }
}
.c-banner__icn .icn.open {
  width: 4.4rem;
  inset: -1.8rem -2.2rem auto auto;
  opacity: 0;
  translate: 4rem 0;
  rotate: 20deg;
  transition: 0.6s all 0.7s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}

.c-banner__txt {
  display: block;
  overflow: hidden;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8rem;
  white-space: nowrap;
}
.c-banner__txt .strong {
  text-decoration: underline;
  color: var(--primary);
}

.c-ttl-h2 {
  max-width: 111.2rem;
  margin: 0 auto;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.4286;
}
.c-ttl-h2 .en {
  display: block;
  font-family: var(--Outfit);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 1.3rem;
}

.c-btn-icon {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.1em;
  font-weight: 700;
  background: #000;
  color: #fff;
  padding: 2.5rem 9.7rem 2.5rem 3rem;
  border-radius: 100vmax;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-btn-icon {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .c-btn-icon {
    font-size: 1.4rem;
  }
}
.c-btn-icon::before {
  content: "";
  display: block;
  width: 6rem;
  height: 6rem;
  background: url(../img/common/btn_icon_01.svg) no-repeat left top/100% auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -0.8rem;
  margin: auto 0;
}

.c-btn-detail {
  min-width: 23rem;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding: 0 3rem 1.5rem 0;
  border-bottom: 0.4rem solid #000;
}
.c-btn-detail::after {
  content: "";
  display: block;
  width: 1.875rem;
  height: 1.8751rem;
  background: url(../img/common/icon_btn_arrow.svg) no-repeat left top/100% auto;
  position: absolute;
  right: 0.8rem;
  bottom: 1.8rem;
}

.c-contact {
  position: relative;
}
@media screen and (min-width: 769px) {
  .c-contact {
    padding: 20rem 13.3rem 30rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contact {
    display: flex;
    flex-direction: column;
    padding: 10.3rem 0 26rem 2.8rem;
  }
}
@media screen and (min-width: 769px) {
  .c-contact .c-ttl-h2 {
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contact .c-ttl-h2 {
    order: 3;
    display: flex;
    align-items: center;
    gap: 3.15rem;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0;
    writing-mode: vertical-lr;
  }
  .c-contact .c-ttl-h2 .jp {
    letter-spacing: 0.4em;
    font-size: 1.2rem;
  }
}

.c-contact__ttl {
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.15em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .c-contact__ttl {
    margin-bottom: 1.26rem;
    font-size: 10.5rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contact__ttl {
    margin-bottom: 2.9rem;
    font-size: 5.5rem;
  }
}
.c-contact__ttl::before {
  content: "";
  display: block;
  background: url(../img/index/mv_img_01.svg) no-repeat left top/contain;
  position: absolute;
  aspect-ratio: 49.376/59.288;
  z-index: 1;
  animation: 6s title 2s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .c-contact__ttl::before {
    width: 4.5rem;
    bottom: 3.5rem;
    left: -1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contact__ttl::before {
    width: 3rem;
    bottom: 1.2rem;
    left: -1.7rem;
  }
}
.c-contact__ttl::after {
  content: "";
  display: block;
  background: url(../img/common/contact_ttl_icon.svg) no-repeat left top/contain;
  position: absolute;
  aspect-ratio: 49.799/59.47;
  z-index: -1;
  animation: 6s title 0s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .c-contact__ttl::after {
    width: 4.9799rem;
    bottom: 3.8rem;
    right: -0.2rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contact__ttl::after {
    width: 3rem;
    bottom: 1.7rem;
    right: -0.4rem;
  }
}
.c-contact__ttl .en {
  font-family: var(--ChakraPetch);
}
.c-contact__ttl .balloon {
  position: absolute;
  display: block;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/index/works_ttl_bg_01.svg) no-repeat left top/100% auto;
}
@media screen and (min-width: 769px) {
  .c-contact__ttl .balloon {
    right: -14rem;
    top: 0rem;
    width: 13.8951rem;
    height: 7.9507rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contact__ttl .balloon {
    right: -2.8rem;
    top: -4rem;
    width: 9.472rem;
    height: 5.42rem;
    font-size: 1.2rem;
  }
}

.c-contact__txt {
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .c-contact__txt {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contact__txt {
    margin-bottom: 9.38rem;
    font-size: 1.4rem;
  }
}

.c-contact__btn {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 769px) {
  .c-contact__btn {
    inset: 12rem -5rem auto auto;
    width: 53.2rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contact__btn {
    inset: auto -6.48rem 23rem auto;
    width: 35.8rem;
  }
}
.c-contact__btn .arrow {
  display: block;
  transition: 0.6s all cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .c-contact__btn .arrow {
    width: 9.5716rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contact__btn .arrow {
    width: 6.758rem;
  }
}
.c-contact__btn .circle {
  position: absolute;
  inset: 0;
  animation: 20s contactBtn linear infinite;
}
@keyframes contactBtn {
  100% {
    rotate: 359.9999deg;
  }
}
@media (any-hover: hover) {
  .c-contact__btn:hover {
    opacity: 1;
  }
  .c-contact__btn:hover .arrow {
    scale: 1.2;
  }
}

.c-pagetitle {
  position: relative;
}
@media screen and (min-width: 769px) {
  .c-pagetitle {
    height: 74.3rem;
    padding-top: 20rem;
    padding-inline: 13.3rem;
  }
}
@media screen and (max-width: 768px) {
  .c-pagetitle {
    padding: 15rem 2.8rem 17rem;
  }
}

.c-pagetitle__ttl {
  position: relative;
  display: flex;
  flex-direction: column;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .c-pagetitle__ttl {
    margin-bottom: 9.8rem;
  }
}
@media screen and (max-width: 768px) {
  .c-pagetitle__ttl {
    margin-bottom: 6rem;
  }
}
.c-pagetitle__ttl::before,
.c-pagetitle__ttl::after {
  content: "";
  position: absolute;
  display: block;
}
.c-pagetitle__ttl::before {
  aspect-ratio: 47.13/61.37;
  background: url(../img/common/page_ttl_icon_01.svg) no-repeat center center/contain;
  z-index: 1;
  animation: 6s title 0s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .c-pagetitle__ttl::before {
    left: -2.2rem;
    bottom: 4.7rem;
    width: 4.7rem;
  }
}
@media screen and (max-width: 768px) {
  .c-pagetitle__ttl::before {
    left: -1.1rem;
    bottom: 2.35rem;
    width: 2.35rem;
  }
}
.c-pagetitle__ttl::after {
  aspect-ratio: 68.76/75.71;
  background: url(../img/common/page_ttl_icon_02.svg) no-repeat center center/contain;
  z-index: -1;
  animation: 6s title 2s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .c-pagetitle__ttl::after {
    right: 2.4rem;
    top: -1.4rem;
    width: 7.8rem;
  }
}
@media screen and (max-width: 768px) {
  .c-pagetitle__ttl::after {
    right: 0.5rem;
    top: -1rem;
    width: 3.4rem;
  }
}
.c-pagetitle__ttl .en {
  font-family: var(--ChakraPetch);
  letter-spacing: 0.15em;
  line-height: 1.25;
}
@media screen and (min-width: 769px) {
  .c-pagetitle__ttl .en {
    font-size: 14.8rem;
  }
}
@media screen and (max-width: 768px) {
  .c-pagetitle__ttl .en {
    font-size: 5.3rem;
  }
}
.c-pagetitle__ttl .jp {
  letter-spacing: 0.1em;
}
@media screen and (min-width: 769px) {
  .c-pagetitle__ttl .jp {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .c-pagetitle__ttl .jp {
    font-size: 1.2rem;
  }
}

.c-pagetitle__breadcrumb {
  position: relative;
  z-index: 2;
}
.c-pagetitle__breadcrumb__list {
  display: flex;
}
.c-pagetitle__breadcrumb__list li {
  color: #a8a8bf;
  letter-spacing: 0.1em;
}
.c-pagetitle__breadcrumb__list li:last-of-type {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (min-width: 769px) {
  .c-pagetitle__breadcrumb__list li {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .c-pagetitle__breadcrumb__list li {
    font-size: 1rem;
  }
}
.c-pagetitle__breadcrumb__list li a {
  color: var(--text);
}
.c-pagetitle__breadcrumb__list li + li {
  padding-left: 3.8rem;
}
.c-pagetitle__breadcrumb__list li + li::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 1rem;
  display: block;
  width: 1.8rem;
  background: url(../img/common/breadcrumb_arrow.svg) no-repeat center center/contain;
}

.c-pagetitle__bg {
  position: absolute;
  aspect-ratio: 1236.208/821.586;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .c-pagetitle__bg {
    top: -10rem;
    right: -12rem;
    width: 123.6208rem;
  }
}
@media screen and (max-width: 768px) {
  .c-pagetitle__bg {
    top: 4.5rem;
    right: -13rem;
    width: 56rem;
    rotate: -10deg;
  }
}

.p-home-mv {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-home-mv:not(.is-complete) .p-home-mv__img__txt .chara {
  opacity: 0;
  scale: 0;
  translate: 0 5rem;
}
.p-home-mv:not(.is-complete) .p-home-mv__img__mark {
  opacity: 0;
}
.p-home-mv:not(.is-complete) .p-home-mv__txt h1,
.p-home-mv:not(.is-complete) .p-home-mv__txt p {
  translate: -110% 0;
}
.p-home-mv:not(.is-complete) .p-home-mv__news {
  translate: 100% 0;
}
.p-home-mv:not(.is-complete) .p-home-mv__copyright {
  translate: 0 200%;
}
.p-home-mv__img__txt {
  position: relative;
  margin: 0 auto;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .p-home-mv__img__txt {
    width: 84rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-mv__img__txt {
    width: 34.5rem;
    margin-top: -12rem;
  }
}
.p-home-mv__img__txt .chara {
  position: absolute;
  display: block;
  z-index: 2;
  transition: 0.4s all 4.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
.p-home-mv__img__txt .chara.chara1 {
  animation: 2.5s mvChara1 infinite 7.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@keyframes mvChara1 {
  80% {
    rotate: 0deg;
    margin-left: 0rem;
  }
  90% {
    rotate: -10deg;
    margin-left: -1rem;
  }
  100% {
    rotate: 0deg;
    margin-left: 0rem;
  }
}
@media screen and (min-width: 769px) {
  .p-home-mv__img__txt .chara.chara1 {
    inset: 0.4rem auto auto 4rem;
    width: 4.836rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-mv__img__txt .chara.chara1 {
    inset: 1.4rem auto auto 1.6rem;
    width: 2.12rem;
  }
}
.p-home-mv__img__txt .chara.chara2 {
  animation: 2.5s mvChara2 infinite 7.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@keyframes mvChara2 {
  80% {
    rotate: 0deg;
    margin-right: 0rem;
  }
  90% {
    rotate: 10deg;
    margin-right: -1rem;
  }
  100% {
    rotate: 0deg;
    margin-right: 0rem;
  }
}
@media screen and (min-width: 769px) {
  .p-home-mv__img__txt .chara.chara2 {
    inset: auto 2.5rem 7.8rem auto;
    width: 5.375rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-mv__img__txt .chara.chara2 {
    inset: auto 1.6rem 2.2rem auto;
    width: 2.347rem;
  }
}
.p-home-mv__img__mark {
  position: absolute;
  inset: -200dvh -200dvw;
  overflow: hidden;
  transition: 0.1s opacity 7.5s linear;
}

@media screen and (max-width: 768px) {
  .p-home-mv__img__mark {
    inset: -200dvh 0 -200dvh -104dvw;
    overflow: unset;
  }
}

.p-home-mv__img__mark svg {
  position: absolute;
  inset: 0;
  place-self: center;
}
@media screen and (min-width: 769px) {
  .p-home-mv__img__mark svg {
    width: 200rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-mv__img__mark svg {
    width: 100rem;
    translate: 7% 0;
  }
}
.p-home-mv__txt {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .p-home-mv__txt {
    left: calc(50% + 11.7rem);
    top: calc(50% + 13.7rem);
  }
}
@media screen and (max-width: 768px) {
  .p-home-mv__txt {
    left: 12rem;
    top: 4rem;
  }
}
.p-home-mv__txt h1 {
  white-space: nowrap;
  font-size: 1.7rem;
  letter-spacing: 0.1em;
  margin-bottom: 1.8rem;
  transition: 0.4s all 5.2s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (max-width: 768px) {
  .p-home-mv__txt h1 {
    line-height: 3rem;
  }
}
.p-home-mv__txt p {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-left: 0.4rem;
  color: #292929;
  transition: 0.4s all 5.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
.p-home-mv__news {
  position: absolute;
  right: 0;
  bottom: 3.8rem;
  background: #000;
  color: #fff;
  font-size: 1rem;
  letter-spacing: 0.1em;
  padding: 1.7rem 0;
  border-radius: 2.5rem 0 0 2.5rem;
  font-family: "DotGothic16", sans-serif;
  display: flex;
  overflow: hidden;
  transition: 0.6s all 5s ease-in-out;
}
@media screen and (min-width: 769px) {
  .p-home-mv__news {
    width: calc(50% - 11.7rem);
  }
}
@media screen and (max-width: 768px) {
  .p-home-mv__news {
    width: 31.9rem;
  }
}
.p-home-mv__news__list {
  display: flex;
  animation: 30s mvNews infinite linear;
}
@keyframes mvNews {
  100% {
    translate: -100% 0;
  }
}
.p-home-mv__news__item {
  padding: 0 3.1rem;
  display: flex;
  gap: 2.3rem;
  white-space: nowrap;
}
.p-home-mv__news__item a {
  width: 100%;
  display: flex;
  gap: 2.3rem;
  color: #fff;
}
.p-home-mv__copyright {
  transition: 0.6s all 5s ease-in-out;
}
@media screen and (min-width: 769px) {
  .p-home-mv__copyright {
    position: absolute;
    inset: auto auto 2rem 0.7rem;
    font-family: var(--Outfit);
    font-size: 1rem;
    font-weight: 400;
    writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 768px) {
  .p-home-mv__copyright {
    display: none;
  }
}

.p-home-about {
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(to bottom, transparent, black 15rem), linear-gradient(to top, transparent, black 15rem);
  mask-composite: intersect;
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 15rem), linear-gradient(to top, transparent, black 15rem);
  -webkit-mask-composite: destination-in;
}
@media screen and (min-width: 769px) {
  .p-home-about {
    padding: 13.1rem 13.3rem 11rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-about {
    margin-top: -10rem;
    padding: 8rem 2.8rem 12rem;
    mask-image: linear-gradient(to bottom, transparent, black 10rem), linear-gradient(to top, transparent, black 10rem);
    mask-composite: intersect;
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 10rem), linear-gradient(to top, transparent, black 10rem);
    -webkit-mask-composite: destination-in;
  }
}
.p-home-about__bg {
  position: absolute;
  display: grid;
}
@media screen and (min-width: 769px) {
  .p-home-about__bg {
    top: 39rem;
    left: 50.49rem;
    grid-template-columns: repeat(4, 1fr);
    gap: 15rem 18.8rem;
    width: 77.2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-about__bg {
    top: 33rem;
    left: 7rem;
    grid-template-columns: repeat(3, 1fr);
    /* gap: 9.6rem 8.8rem; */
    gap: 6.4rem 8.8rem;
    width: 28.1rem;
  }
}
.p-home-about__bg .icn {
  display: block;
  background-color: var(--primary);
  animation:
    4s aboutIcons1 infinite alternate cubic-bezier(0.68, -0.6, 0.32, 1.6),
    4s aboutIcons2 infinite alternate cubic-bezier(0.68, -0.6, 0.32, 1.6);
  animation-delay: var(--delay1), var(--delay2);
}
.p-home-about__bg .icn:nth-of-type(1) {
  animation-delay: 0.2s, 0.2s;
}
.p-home-about__bg .icn:nth-of-type(2) {
  animation-delay: 0.4s, 0.4s;
}
.p-home-about__bg .icn:nth-of-type(3) {
  animation-delay: 0.6s, 0.6s;
}
.p-home-about__bg .icn:nth-of-type(4) {
  animation-delay: 0.8s, 0.8s;
}
.p-home-about__bg .icn:nth-of-type(5) {
  animation-delay: 1s, 1s;
}
.p-home-about__bg .icn:nth-of-type(6) {
  animation-delay: 1.2s, 1.2s;
}
.p-home-about__bg .icn:nth-of-type(7) {
  animation-delay: 1.4s, 1.4s;
}
.p-home-about__bg .icn:nth-of-type(8) {
  animation-delay: 1.6s, 1.6s;
}
.p-home-about__bg .icn:nth-of-type(9) {
  animation-delay: 1.8s, 1.8s;
}
.p-home-about__bg .icn:nth-of-type(10) {
  animation-delay: 2s, 2s;
}
.p-home-about__bg .icn:nth-of-type(11) {
  animation-delay: 2.2s, 2.2s;
}
.p-home-about__bg .icn:nth-of-type(12) {
  animation-delay: 2.4s, 2.4s;
}
.p-home-about__bg .icn:nth-of-type(13) {
  animation-delay: 2.6s, 2.6s;
}
.p-home-about__bg .icn:nth-of-type(14) {
  animation-delay: 2.8s, 2.8s;
}
.p-home-about__bg .icn:nth-of-type(15) {
  animation-delay: 3s, 3s;
}
.p-home-about__bg .icn:nth-of-type(16) {
  animation-delay: 3.2s, 3.2s;
}
.p-home-about__bg .icn:nth-of-type(17) {
  animation-delay: 3.4s, 3.4s;
}
.p-home-about__bg .icn:nth-of-type(18) {
  animation-delay: 3.6s, 3.6s;
}
@media screen and (min-width: 769px) {
  .p-home-about__bg .icn {
    width: 5.2rem;
    height: 5.2rem;
  }
  .p-home-about__bg .icn:nth-of-type(n + 17) {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .p-home-about__bg .icn {
    width: 3.5rem;
    height: 3.5rem;
  }
}
@keyframes aboutIcons1 {
  100% {
    rotate: 360deg;
    opacity: 0.2;
  }
}
@keyframes aboutIcons2 {
  50% {
    border-radius: 1rem;
  }
  100% {
    border-radius: 50%;
  }
}
.p-home-about__scroll {
  line-height: 1;
  font-family: var(--ChakraPetch);
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.15em;
  writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  white-space: nowrap;
  display: flex;
}
@media screen and (min-width: 769px) {
  .p-home-about__scroll {
    left: -3.5rem;
    font-size: 17rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-about__scroll {
    left: -2rem;
    font-size: 10.5rem;
  }
}
.p-home-about__scroll span {
  flex-shrink: 0;
  animation-fill-mode: forwards;
  animation-duration: 20s;
  animation-name: about_scroll;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@keyframes about_scroll {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@media screen and (min-width: 769px) {
  .p-home-about__inner {
    padding: 6.82rem 18.6rem 19.66rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-about__inner {
    padding: 5rem 0 0;
  }
}
.p-home-about h3 {
  letter-spacing: 0.1em;
  line-height: 2;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .p-home-about h3 {
    margin-bottom: 8.9rem;
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-about h3 {
    margin-bottom: 6rem;
    font-size: 2.5rem;
  }
}
.p-home-about p {
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 6rem;
}
@media screen and (min-width: 769px) {
  .p-home-about p {
    font-size: 1.6rem;
    line-height: 3;
  }
}
@media screen and (max-width: 768px) {
  .p-home-about p {
    font-size: 1.5rem;
    line-height: 4.2rem;
  }
}

@keyframes title {
  46% {
    rotate: 0deg;
    translate: 0 0;
  }
  48% {
    rotate: -2.5deg;
    translate: 0 -0.25rem;
  }
  50% {
    rotate: 0deg;
    translate: 0 0;
  }
  96% {
    rotate: 0deg;
    translate: 0 0;
  }
  98% {
    rotate: 2.5deg;
    translate: 0 -0.25rem;
  }
  100% {
    rotate: 0deg;
    translate: 0 0;
  }
}
.p-home-service {
  display: flex;
}
@media screen and (min-width: 769px) {
  .p-home-service {
    height: 700vh;
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service {
    height: 700svh;
    padding: 14rem 0 12rem;
  }
}
@media screen and (min-width: 769px) {
  .p-home-service__inner {
    max-width: 121.6rem;
    margin: 0 auto;
    padding-left: 4.6rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__inner {
    width: 100dvw;
    padding-left: 2.8rem;
  }
}
/* .p-home-service__inner::before {
  content: "";
  position: absolute;
  display: block;
}
@media screen and (min-width: 769px) {
  .p-home-service__inner::before {
    top: 10.3rem;
    left: calc(50% - 45.2rem);
    width: 118.609rem;
    height: 67.2235rem;
    background: url(../img/index/service_bg_01.svg) no-repeat left top/100% auto;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__inner::before {
    top: 10rem;
    left: 4rem;
    width: 31.47rem;
    height: 49.642rem;
    background: url(../img/index/service_bg_01-sp.svg) no-repeat left top/100% auto;
  }
} */
.p-home-service__wrap {
  width: 100%;
  /* height: 100svh; */
  height: 80svh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: sticky;
  left: 0;
  right: 0;
}
@media screen and (min-width: 769px) {
  .p-home-service__wrap {
    top: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__wrap {
    top: -6svh;
    height: 100svh;
  }
}
.p-home-service h2 {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  color: #070203;
  display: flex;
}
@media screen and (min-width: 769px) {
  .p-home-service h2 {
    writing-mode: vertical-rl;
    text-orientation: sideways;
    position: absolute;
    top: 4.9rem;
    right: 0;
    align-items: center;
    gap: 2.5rem;
    z-index: 10;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service h2 {
    flex-direction: column;
    gap: 1rem;
  }
}
.p-home-service h2 .en {
  font-family: var(--Outfit);
  font-size: 1rem;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.p-home-service__ttl {
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.15em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .p-home-service__ttl {
    /* margin-bottom: 15.6rem; */
    margin-bottom: 10.6rem;
    font-size: 10.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__ttl {
    margin-bottom: 24.43rem;
    font-size: 5.5rem;
  }
}
.p-home-service__ttl::before,
.p-home-service__ttl::after {
  content: "";
  display: block;
  background: url(../img/index/service_ttl_icon_01.svg) no-repeat left top/contain;
  position: absolute;
  aspect-ratio: 6.71/6.961;
  animation: 6s title 2s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-home-service__ttl::before,
  .p-home-service__ttl::after {
    width: 6.71rem;
    top: 2rem;
    right: 7.2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__ttl::before,
  .p-home-service__ttl::after {
    width: 4.4rem;
    top: 0.1rem;
    right: 3.2rem;
  }
}
.p-home-service__ttl::after {
  background-image: url(../img/index/service_ttl_icon_02.svg);
  top: auto;
  right: auto;
  aspect-ratio: 4.1398/5.3412;
  animation: 6s title infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-home-service__ttl::after {
    width: 4.1398rem;
    left: -1.5rem;
    bottom: 1.9rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__ttl::after {
    width: 2.8rem;
    left: -1.2rem;
    bottom: 0.4rem;
  }
}
.p-home-service__ttl .en {
  font-family: var(--ChakraPetch);
}

/* 文字背景------------------- */
.p-home-service__bc {
  position: absolute;
  z-index: -1;
  display: block;
  font-size: 6.9rem;
  font-weight: 600;
  color: #fff;
  overflow: hidden;
  line-height: 1;
  font-family: var(--ChakraPetch);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-home-service__bc {
    font-size: 3.5rem;
  }
}

.p-home-service__bc.font01 {
  top: 21%;
  left: 20.9%;
}
.p-home-service__bc.font02 {
  top: 15.1%;
  left: 85.9%;
}
.p-home-service__bc.font03 {
  top: 35.5%;
  left: 40.6%;
}
.p-home-service__bc.font04 {
  top: 47.2%;
  left: 28.5%;
}
.p-home-service__bc.font05 {
  top: 66.3%;
  left: 12.5%;
}
.p-home-service__bc.font06 {
  top: 68%;
  left: 44.8%;
}
.p-home-service__bc.font07 {
  top: 60.2%;
  left: 97.8%;
}
.p-home-service__bc.font08 {
  top: 96.5%;
  left: 66.8%;
}

@media screen and (max-width: 768px) {
  .p-home-service__bc.font01 {
    top: 13.5%;
    left: 10.6%;
  }
  .p-home-service__bc.font02 {
    top: 9.9%;
    left: 87.1%;
  }
  .p-home-service__bc.font03 {
    top: 34.7%;
    left: 15.7%;
  }
  .p-home-service__bc.font04 {
    top: 38.7%;
    left: 75.5%;
  }
  .p-home-service__bc.font05 {
    top: 44.5%;
    left: 75.5%;
  }
  .p-home-service__bc.font06 {
    top: 50%;
    left: 44.8%;
  }
  .p-home-service__bc.font07 {
    top: 57.5%;
    left: 88.8%;
  }
  .p-home-service__bc.font08 {
    top: 54.8%;
    left: 10.5%;
  }
}

.p-home-service__bc .card {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  opacity: 0;
  transform: translateY(100%);
}
.p-home-service__bc .card.on {
  position: static;
  transform: translateY(0);
  opacity: 1;
  transition:
    opacity 0.7s,
    transform 1s;
}

/* 文字背景　ここまで------------------- */

.p-home-service__box {
  display: flex;
  align-items: flex-start;
}
@media screen and (min-width: 769px) {
  .p-home-service__box {
    gap: 5.7rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__box {
    gap: 3.1rem;
  }
}
.p-home-service__count {
  font-family: var(--ChakraPetch);
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  display: flex;
}
@media screen and (min-width: 769px) {
  .p-home-service__count {
    align-items: flex-end;
    justify-content: space-between;
    width: 11.4rem;
    margin: 0 0 0 0.5rem;
    padding-bottom: 2.1rem;
    border-bottom: 0.1rem solid #000;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__count {
    flex-direction: column;
    gap: 2rem;
  }
}
.p-home-service__count::before {
  content: "";
  position: absolute;
  display: block;
  width: 0.1rem;
  height: 1.5rem;
  background: url(../img/index/service_line_01.svg) no-repeat left top/100% auto;
}
@media screen and (min-width: 769px) {
  .p-home-service__count::before {
    right: 4.3rem;
    bottom: 2.9rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__count::before {
    top: 3.5rem;
    left: 0;
    transform-origin: left bottom;
    rotate: 90deg;
  }
}
.p-home-service__count span:nth-child(1) {
  font-size: 4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.p-home-service__scroll {
  flex: 1;
}
@media screen and (min-width: 769px) {
  .p-home-service__scroll {
    width: calc(100% - 17.5rem);
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__scroll {
    width: 26.85rem;
    padding-bottom: 13rem;
  }
}
.p-home-service__scroll h3 {
  letter-spacing: 0.1em;
}
@media screen and (min-width: 769px) {
  .p-home-service__scroll h3 {
    margin: 1rem 0 2rem;
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__scroll h3 {
    margin: 0.5rem 0 1.5rem;
    font-size: 2rem;
  }
}
.p-home-service__scroll p {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .p-home-service__scroll p {
    width: 34.8rem;
    margin-bottom: 5.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__scroll p {
    margin-bottom: 2rem;
    padding-right: 3.05rem;
    font-size: min(3.7333333333vw, 1.8205461638vh);
  }
}
.p-home-service__scroll__inner {
  display: flex;
  transition: transform 0.5s;
}
.p-home-service__item {
  position: relative;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.3s;
}
@media screen and (min-width: 769px) {
  .p-home-service__item {
    width: 99.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__item {
    width: 26.85rem;
  }
}
.p-home-service__img {
  position: absolute;
  aspect-ratio: 1300/1040;
}
@media screen and (min-width: 769px) {
  .p-home-service__img {
    /* inset: -22rem -14.8rem auto auto;
    width: 78rem; */
    inset: 2rem 0.2rem auto auto;
    width: 50rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__img {
    inset: max(-58.6666666667vw, -28.6085825748vh) 3.6rem auto auto;
    width: min(77.3333333333vw, 37.711313394vh);
  }
}
.p-home-service .c-btn-icon {
  position: absolute;
}
@media screen and (min-width: 769px) {
  .p-home-service .c-btn-icon {
    /* right: 4.7rem;
    bottom: 2.8rem; */
    left: 50%;
    transform: translateX(-50%);
    bottom: -13rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service .c-btn-icon {
    left: 0;
    bottom: 0;
  }
}
.p-home-service .js-service-scroll[data-current="count1"] .p-home-service__count span:nth-child(1)::before {
  content: "01";
}
.p-home-service .js-service-scroll[data-current="count2"] .p-home-service__count span:nth-child(1)::before {
  content: "02";
}
.p-home-service .js-service-scroll[data-current="count3"] .p-home-service__count span:nth-child(1)::before {
  content: "03";
}
.p-home-service .js-service-scroll[data-current="count4"] .p-home-service__count span:nth-child(1)::before {
  content: "04";
}
.p-home-service .js-service-scroll[data-current="count5"] .p-home-service__count span:nth-child(1)::before {
  content: "05";
}
.p-home-service .js-service-scroll[data-current="count6"] .p-home-service__count span:nth-child(1)::before {
  content: "06";
}
.p-home-service .js-service-scroll[data-current="count1"] .p-home-service__item:nth-child(1),
.p-home-service .js-service-scroll[data-current="count2"] .p-home-service__item:nth-child(2),
.p-home-service .js-service-scroll[data-current="count3"] .p-home-service__item:nth-child(3),
.p-home-service .js-service-scroll[data-current="count4"] .p-home-service__item:nth-child(4),
.p-home-service .js-service-scroll[data-current="count5"] .p-home-service__item:nth-child(5),
.p-home-service .js-service-scroll[data-current="count6"] .p-home-service__item:nth-child(6) {
  opacity: 1;
}
.p-home-service .js-service-scroll[data-current="count1"] .p-home-service__scroll__inner {
  transform: translateX(0);
}
.p-home-service .js-service-scroll[data-current="count2"] .p-home-service__scroll__inner {
  transform: translateX(-100%);
}
.p-home-service .js-service-scroll[data-current="count3"] .p-home-service__scroll__inner {
  transform: translateX(-200%);
}
.p-home-service .js-service-scroll[data-current="count4"] .p-home-service__scroll__inner {
  transform: translateX(-300%);
}
.p-home-service .js-service-scroll[data-current="count5"] .p-home-service__scroll__inner {
  transform: translateX(-400%);
}
.p-home-service .js-service-scroll[data-current="count6"] .p-home-service__scroll__inner {
  transform: translateX(-500%);
}

@media screen and (min-width: 769px) {
  .p-home-works {
    padding: 8rem 0 11rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-works {
    padding: 4rem 2.8rem 8rem;
  }
}
.p-home-works__ttl {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .p-home-works__ttl {
    gap: 4rem;
    margin-bottom: 3.85rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-works__ttl {
    gap: 2rem;
    margin-bottom: 1.5rem;
  }
}
.p-home-works__ttl__item {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  animation-fill-mode: forwards;
  animation-duration: 20s;
  animation-name: works_ttl;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@media screen and (min-width: 769px) {
  .p-home-works__ttl__item {
    gap: 4rem;
  }
  @keyframes works_ttl {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-100% - 4rem));
    }
  }
}
@media screen and (max-width: 768px) {
  .p-home-works__ttl__item {
    gap: 2rem;
  }
  @keyframes works_ttl {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-100% - 2rem));
    }
  }
}
.p-home-works__ttl__item .en {
  font-family: var(--ChakraPetch);
  font-weight: 700;
  letter-spacing: 0.15em;
}
@media screen and (min-width: 769px) {
  .p-home-works__ttl__item .en {
    font-size: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-works__ttl__item .en {
    font-size: 8rem;
  }
}
.p-home-works__ttl__item .en::before {
  content: "";
  display: block;
  background: url(../img/index/works_ttl_icon_01.svg) no-repeat left top/100% auto;
  aspect-ratio: 5.9808/7.0459;
  position: absolute;
  bottom: 3.6rem;
  z-index: -1;
  animation: 6s title 2s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-home-works__ttl__item .en::before {
    bottom: 3.6rem;
    left: 47rem;
    width: 5.9808rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-works__ttl__item .en::before {
    bottom: 2.6rem;
    left: 30.8rem;
    width: 4.4rem;
  }
}
.p-home-works__ttl__item .en:nth-child(3):before {
  background-image: url(../img/index/works_ttl_icon_02.svg);
  aspect-ratio: 5.375/7.6274;
  z-index: 1;
  animation: 6s title 0s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-home-works__ttl__item .en:nth-child(3):before {
    width: 5.375rem;
    bottom: 8.4rem;
    left: -3.7rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-works__ttl__item .en:nth-child(3):before {
    width: 3.4rem;
    bottom: 5.2rem;
    left: -1.7rem;
  }
}
.p-home-works__ttl__item > span:not(.en) span {
  display: block;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/index/works_ttl_bg_01.svg) no-repeat left top/100% auto;
  margin: 0 1.3rem 1.2rem 0;
  transform: scale(0);
  transform-origin: left bottom;
}
@media screen and (min-width: 769px) {
  .p-home-works__ttl__item > span:not(.en) span {
    width: 13.8951rem;
    height: 7.9507rem;
    padding: 0 0.5rem 0.2rem 0;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-works__ttl__item > span:not(.en) span {
    width: 11.058rem;
    height: 6.328rem;
    font-size: 1.4rem;
  }
}
.p-home-works__ttl__item > span:not(.en).show span {
  animation-fill-mode: forwards;
  animation-duration: 0.5s;
  animation-name: works_ttl_balloon;
  animation-iteration-count: 1;
}
@keyframes works_ttl_balloon {
  0% {
    transform: scale(0);
  }
  80% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.p-home-works__img {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .p-home-works__img {
    gap: 0.56rem;
    margin-bottom: 7rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-works__img {
    gap: 0.82rem;
    margin-bottom: 4rem;
  }
}
.p-home-works__img__item {
  display: flex;
}
.p-home-works__img__item:nth-of-type(1) .p-home-works__img__list {
  animation: 40s homeWorks1 infinite linear;
}
@keyframes homeWorks1 {
  0% {
    translate: -100% 0;
  }
  100% {
    translate: 0% 0;
  }
}
.p-home-works__img__item:nth-of-type(2) .p-home-works__img__list {
  animation: 40s homeWorks2 infinite linear;
}
@keyframes homeWorks2 {
  0% {
    translate: 0% 0;
  }
  100% {
    translate: -100% 0;
  }
}
.p-home-works__img__list {
  display: flex;
}
@media screen and (min-width: 769px) {
  .p-home-works__img__list li {
    width: 23.906rem;
    padding-right: 0.54rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-works__img__list li {
    width: 14.1rem;
    padding-right: 0.8rem;
  }
}
.p-home-works__img__list li a {
  display: block;
}
.p-home-works .c-btn-icon {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

@media screen and (min-width: 769px) {
  .p-home-news {
    padding: 12rem 13.3rem 8rem;
    margin-top: 26rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news {
    width: 100dvw;
    /* padding: 4rem 2.8rem 8rem; */
    padding: 8rem 2.8rem 8rem;
    overflow-x: hidden;
  }
}
.p-home-news__inner {
  position: relative;
}
@media screen and (min-width: 769px) {
  .p-home-news .c-ttl-h2 {
    position: absolute;
    inset: 5rem auto auto 0;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news .c-ttl-h2 {
    margin-bottom: 3.46rem;
  }
}
.p-home-news__ttl {
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.15em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .p-home-news__ttl {
    margin-inline: auto;
    font-size: 10.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news__ttl {
    margin-bottom: 3.2rem;
    font-size: 5.5rem;
  }
}
.p-home-news__ttl::before,
.p-home-news__ttl::after {
  content: "";
  display: block;
  background: url(../img/index/news_ttl_icon_01.svg) no-repeat left top/contain;
  position: absolute;
  aspect-ratio: 66.585/60.945;
  z-index: 1;
  animation: 6s title 2s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-home-news__ttl::before,
  .p-home-news__ttl::after {
    width: 6.6585rem;
    bottom: 1.4rem;
    left: -3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news__ttl::before,
  .p-home-news__ttl::after {
    width: 4rem;
    bottom: 0.4rem;
    left: -1.2rem;
  }
}
.p-home-news__ttl::after {
  background-image: url(../img/index/news_ttl_icon_02.svg);
  left: auto;
  aspect-ratio: 50.752/56.738;
  z-index: -1;
  animation: 6s title 0s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-home-news__ttl::after {
    width: 5.0752rem;
    right: -1.5rem;
    bottom: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news__ttl::after {
    width: 3.2rem;
    right: -1rem;
    bottom: 1.7rem;
  }
}
.p-home-news__ttl .en {
  font-family: var(--ChakraPetch);
}
.p-home-news__ttl .balloon {
  position: absolute;
  right: -11rem;
  top: -3rem;
  display: block;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/index/works_ttl_bg_01.svg) no-repeat left top/100% auto;
}
@media screen and (min-width: 769px) {
  .p-home-news__ttl .balloon {
    width: 13.8951rem;
    height: 7.9507rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news__ttl .balloon {
    width: 11.058rem;
    height: 6.328rem;
    font-size: 1.4rem;
  }
}
.p-home-news__list {
  position: relative;
}
@media screen and (min-width: 769px) {
  .p-home-news__list {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news__list {
    width: 52.8rem;
    margin-inline: -2.8rem;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news__control {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    margin-bottom: 5rem;
  }
  .p-home-news__control .slick-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
  }
  .p-home-news__control .slick-dots li {
    position: relative;
    width: 0.517rem;
    aspect-ratio: 1/1;
    border-radius: 0.2rem;
    background-color: var(--text);
    transition: 0.4s all cubic-bezier(0.68, -0.6, 0.32, 1.6);
  }
  .p-home-news__control .slick-dots li.slick-active {
    width: 1.034rem;
  }
  .p-home-news__control .slick-dots li button {
    position: absolute;
    inset: 0;
    opacity: 0;
  }
  .p-home-news__control .slick-arrow {
    width: 1.3977rem;
    height: 1.7065rem;
    background: url(../img/index/news_slider_arrow.svg) no-repeat center center/contain;
    font-size: 0;
  }
  .p-home-news__control .slick-arrow.slick-next {
    scale: -1;
  }
}
@media screen and (min-width: 769px) {
  .p-home-news__article {
    width: 33.7rem;
  }
  .p-home-news__article:nth-of-type(1) {
    margin-top: -4rem;
  }
  .p-home-news__article:nth-of-type(2) {
    margin-top: 7rem;
  }
  .p-home-news__article:nth-of-type(3) {
    margin-top: -7rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news__article {
    width: 26.4rem;
    padding-left: 2.8rem;
  }
}
.p-home-news__article .img {
  position: relative;
  aspect-ratio: 337/241.68;
}
@media screen and (min-width: 769px) {
  .p-home-news__article .img {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news__article .img {
    margin-bottom: 1.5rem;
  }
}
.p-home-news__article .img .mask {
  display: block;
  -webkit-mask-image: url(../img/index/news_img_mask.svg);
  mask-image: url(../img/index/news_img_mask.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
}
.p-home-news__article .img .mask img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.p-home-news__article .img::before {
  content: "";
  position: absolute;
  inset: auto 0 0 auto;
  display: block;
  background: url(../img/index/news_arrow.svg) no-repeat center center/contain;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .p-home-news__article .img::before {
    width: 6.1rem;
    height: 6.1rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news__article .img::before {
    width: 4rem;
    height: 4rem;
  }
}
.p-home-news__article .time {
  display: block;
  margin-bottom: 1rem;
  font-family: var(--Figtree);
  font-size: 1.3rem;
  font-weight: 700;
  color: #b2b2b2;
}
.p-home-news__article .txt {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 769px) {
  .p-home-news .c-btn-icon {
    position: absolute;
    inset: auto 0 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .p-home-news .c-btn-icon {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}

.p-home-company {
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .p-home-company {
    padding-bottom: 10.3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company {
    padding-bottom: 12rem;
  }
}
.p-home-company__img {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100dvw;
  overflow: hidden;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .p-home-company__img {
    margin-bottom: 6.62rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__img {
    margin-bottom: 10rem;
  }
}
.p-home-company__img__mask {
  position: relative;
  display: block;
  -webkit-mask-image: url(../img/index/company_img_mask.svg);
  mask-image: url(../img/index/company_img_mask.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
  mask-position: 50% 50%;
  animation: 10s companyMask infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-home-company__img__mask {
    width: 91.432rem;
    height: 73.94rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__img__mask {
    width: 49.83rem;
    height: 40.297rem;
  }
}
@keyframes companyMask {
  0% {
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    rotate: 0deg;
    translate: 0 0;
  }
  25% {
    -webkit-mask-size: 90% 96%;
    mask-size: 90% 96%;
    rotate: 5deg;
    translate: -2rem 0;
  }
  50% {
    -webkit-mask-size: 98% 90%;
    mask-size: 98% 90%;
    rotate: -10deg;
    translate: 0 0;
  }
  75% {
    -webkit-mask-size: 94% 92%;
    mask-size: 94% 92%;
    rotate: -2.5deg;
    translate: 2rem 0;
  }
  100% {
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    rotate: 0deg;
    translate: 0 0;
  }
}
.p-home-company__img__mask::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background-color: #000000;
  opacity: 0.49;
  z-index: 1;
}
.p-home-company__img__mask img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  animation: 10s companyImg infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@keyframes companyImg {
  0% {
    rotate: 0deg;
    translate: 0 0;
  }
  25% {
    rotate: -5deg;
    translate: 2rem 0;
  }
  50% {
    rotate: 10deg;
    translate: 0 0;
  }
  75% {
    rotate: 2.5deg;
    translate: -2rem 0;
  }
  100% {
    rotate: 0deg;
    translate: 0 0;
  }
}
.p-home-company__img__txt {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  z-index: 2;
}
.p-home-company__img__txt__inner {
  display: flex;
  animation: 30s mvNews infinite linear;
}
.p-home-company__img__txt__inner .txt {
  font-family: var(--ChakraPetch);
  font-weight: 600;
  letter-spacing: 0.15em;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-home-company__img__txt__inner .txt {
    padding-right: 20.3rem;
    font-size: 18.1rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__img__txt__inner .txt {
    padding-right: 10rem;
    font-size: 8.6rem;
  }
}
.p-home-company__img__txt__inner .txt:nth-of-type(1)::after {
  content: "";
  position: absolute;
  display: block;
  aspect-ratio: 49.376/59.288;
  background: url(../img/index/mv_img_01.svg) no-repeat center center/contain;
  animation: 6s title 2s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-home-company__img__txt__inner .txt:nth-of-type(1)::after {
    inset: 7rem 7rem auto auto;
    width: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__img__txt__inner .txt:nth-of-type(1)::after {
    inset: 3.5rem 3.5rem auto auto;
    width: 5rem;
  }
}
.p-home-company__img__txt__inner .txt:nth-of-type(2)::after {
  content: "";
  position: absolute;
  display: block;
  aspect-ratio: 53.75/76.274;
  background: url(../img/index/mv_img_02.svg) no-repeat center center/contain;
  animation: 6s title 0s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-home-company__img__txt__inner .txt:nth-of-type(2)::after {
    inset: 7rem 7rem auto auto;
    width: 9rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__img__txt__inner .txt:nth-of-type(2)::after {
    inset: 3.5rem 3.5rem auto auto;
    width: 4.282rem;
  }
}
.p-home-company__inner {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .p-home-company__inner {
    width: 110rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__inner {
    padding-inline: 2.8rem;
  }
}
@media screen and (min-width: 769px) {
  .p-home-company .c-ttl-h2 {
    position: absolute;
    inset: 5rem 0 auto auto;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company .c-ttl-h2 {
    margin-bottom: 11.5rem;
  }
}
.p-home-company__ttl {
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.15em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .p-home-company__ttl {
    margin-bottom: 17.84rem;
    font-size: 10.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__ttl {
    margin-bottom: 2.9rem;
    font-size: 5.5rem;
  }
}
.p-home-company__ttl::before {
  content: "";
  display: block;
  background: url(../img/index/mv_img_01.svg) no-repeat left top/contain;
  position: absolute;
  aspect-ratio: 49.376/59.288;
  z-index: 1;
  animation: 6s title 2s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-home-company__ttl::before {
    width: 4.5rem;
    bottom: 3.5rem;
    left: -1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__ttl::before {
    width: 3rem;
    bottom: 1.2rem;
    left: -1.7rem;
  }
}
.p-home-company__ttl .en {
  font-family: var(--ChakraPetch);
}
.p-home-company__ttl .balloon {
  position: absolute;
  display: block;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/index/works_ttl_bg_01.svg) no-repeat left top/100% auto;
}
@media screen and (min-width: 769px) {
  .p-home-company__ttl .balloon {
    right: -14rem;
    top: 0rem;
    width: 13.8951rem;
    height: 7.9507rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__ttl .balloon {
    right: -1.5rem;
    top: -4rem;
    width: 9.472rem;
    height: 5.42rem;
    font-size: 1.2rem;
  }
}
.p-home-company__txt {
  font-size: 1.4rem;
  line-height: 2.6rem;
}
@media screen and (min-width: 769px) {
  .p-home-company__txt {
    width: 27.9rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__txt {
    width: 23.2rem;
    margin-bottom: 6rem;
    margin-left: auto;
  }
}
.p-home-company__bg {
  position: absolute;
  overflow: hidden;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .p-home-company__bg {
    inset: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__bg {
    inset: 20rem 0 0;
  }
}
.p-home-company__bg svg {
  position: absolute;
  width: 300rem;
  max-width: none;
}
@media screen and (min-width: 769px) {
  .p-home-company__bg svg {
    inset: auto auto -60rem -45rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-company__bg svg {
    inset: auto auto -50rem -84rem;
  }
}
@media screen and (min-width: 769px) {
  .p-home-company .c-btn-icon {
    position: absolute;
    inset: auto 0 0 auto;
  }
}
.p-home-recruit {
  --circle-w: 10rem;
  --circle-h: 10rem;
  --circle-radius: 50rem;
  position: relative;
  height: 400svh;
}
.p-home-recruit__bg {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100svh;
}
.p-home-recruit__bg::before {
  content: "";
  display: block;
  width: var(--circle-w);
  height: var(--circle-h);
  border-radius: var(--circle-radius);
  margin-inline: auto;
  background-color: var(--primary);
}
.p-home-recruit__inner {
  position: absolute;
  inset: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100svh;
  transition: 0.7s all cubic-bezier(0.68, -0.6, 0.32, 1.6);
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .p-home-recruit__inner {
    padding: 17.8rem 12.4rem 12rem 13.3rem;
    padding: min(max(1px, 13.0307467057vw), 23.1469440832vh) min(max(1px, 9.0775988287vw), 16.1248374512vh) min(max(1px, 8.78477306vw), 15.6046814044vh) min(max(1px, 9.7364568082vw), 17.2951885566vh);
    border-radius: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-recruit__inner {
    padding: 9.8rem 2.8rem 22.6666svh;
    border-radius: 4rem;
  }
}
.p-home-recruit__inner::before {
  content: "";
  position: absolute;
  display: block;
}
@media screen and (min-width: 769px) {
  .p-home-recruit__inner::before {
    top: -2.42rem;
    right: 13.65rem;
    left: -9.15rem;
    width: 159.4rem;
    height: 115.25svh;
    background: url(../img/index/recruit_bg.svg) no-repeat center center/cover;
  }
}
@media screen and (max-width: 768px) {
  .p-home-recruit__inner::before {
    top: -0.22rem;
    right: 7.31rem;
    left: -6.1rem;
    width: 50.911rem;
    height: 108.35svh;
    background: url(../img/index/recruit_bg-sp.svg) no-repeat center top/cover;
  }
}
@media screen and (min-width: 769px) {
  .p-home-recruit__inner__box {
    overflow: hidden;
  }
}
@media screen and (max-width: 768px) {
  .p-home-recruit__inner__box {
    position: static;
  }
}
.p-home-recruit__inner:not(.is-active) {
  opacity: 0;
  scale: 0;
}
.p-home-recruit__ttl {
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.15em;
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-home-recruit__ttl {
    margin-bottom: min(max(1px, 0.7320644217vw), 1.300390117vh);
    font-size: min(max(1px, 7.6866764275vw), 13.6540962289vh);
  }
}
@media screen and (max-width: 768px) {
  .p-home-recruit__ttl {
    margin-bottom: 1rem;
    font-size: 5.5rem;
  }
}
.p-home-recruit__ttl .en {
  font-family: var(--ChakraPetch);
}
.p-home-recruit__ttl .balloon {
  position: absolute;
  display: block;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/index/works_ttl_bg_01.svg) no-repeat left top/100% auto;
  color: #dc0112;
}
@media screen and (min-width: 769px) {
  .p-home-recruit__ttl .balloon {
    right: max(max(-8.0527086384vw, -110px), -14.3042912874vh);
    top: min(max(1px, 1.0980966325vw), 1.9505851756vh);
    width: min(max(1px, 8.0929721816vw), 14.3758127438vh);
    height: min(max(1px, 4.6310395315vw), 8.2262678804vh);
    font-size: min(max(1px, 0.878477306vw), 1.5604681404vh);
  }
}
@media screen and (max-width: 768px) {
  .p-home-recruit__ttl .balloon {
    right: -4.8rem;
    top: -4rem;
    width: 9.472rem;
    height: 5.42rem;
    font-size: 1.2rem;
  }
}
.p-home-recruit .c-ttl-h2 {
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-home-recruit .c-ttl-h2 {
    float: left;
    font-size: min(max(1px, 1.0248901903vw), 1.8205461638vh);
  }
  .p-home-recruit .c-ttl-h2 .en {
    font-size: min(max(1px, 0.7320644217vw), 1.300390117vh);
  }
}
@media screen and (max-width: 768px) {
  .p-home-recruit .c-ttl-h2 {
    position: absolute;
    inset: 19.85rem auto auto 2.8rem;
    font-size: 1.2rem;
  }
}
.p-home-recruit__txt {
  display: flex;
  flex-direction: column;
  width: -moz-fit-content;
  width: fit-content;
  gap: 3.3rem;
}
@media screen and (min-width: 769px) {
  .p-home-recruit__txt {
    float: right;
  }
}
.p-home-recruit__txt .txt {
  line-height: 2;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-home-recruit__txt .txt {
    font-size: min(max(1px, 1.1713030747vw), 2.0806241873vh);
  }
}
@media screen and (max-width: 768px) {
  .p-home-recruit__txt .txt {
    font-size: 1.6rem;
  }
}

.p-about-technical {
  display: flex;
}
@media screen and (min-width: 769px) {
  .p-about-technical {
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18.5rem;
    padding-inline: 13.3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-technical {
    flex-direction: column;
    gap: 8.06rem;
    margin-bottom: 12.6rem;
    padding-inline: 2.8rem;
  }
}
.p-about-technical__txt .head {
  margin-bottom: 6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .p-about-technical__txt .head {
    font-size: 2.8rem;
    line-height: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-technical__txt .head {
    font-size: 2.5rem;
    line-height: 2;
  }
}
.p-about-technical__txt .txt {
  letter-spacing: 0.1em;
}
@media screen and (min-width: 769px) {
  .p-about-technical__txt .txt {
    font-size: 1.6rem;
    line-height: 4.8rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-technical__txt .txt {
    font-size: 1.5rem;
    line-height: 4.2rem;
  }
}
.p-about-technical__img {
  transition: 0.7s all cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-about-technical__img {
    width: 30.821rem;
    margin-right: 4.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-technical__img {
    width: 18.364rem;
    margin-inline: auto;
  }
}
.p-about-technical__img:not(.is-complete) {
  scale: 0;
  translate: 0 10%;
}

.p-about-advantage {
  display: flex;
}
@media screen and (min-width: 769px) {
  .p-about-advantage {
    justify-content: flex-end;
    padding-inline: 13.3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-advantage {
    flex-direction: column;
    padding-inline: 2.8rem;
  }
}
.p-about-advantage__contents {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .p-about-advantage__contents {
    width: 59.5rem;
  }
}
.p-about-advantage__ttl {
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
  .p-about-advantage__ttl {
    margin-bottom: 5rem;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-advantage__ttl {
    margin-bottom: 2.1rem;
    font-size: 2.2rem;
  }
}
@media screen and (min-width: 769px) {
  .p-about-advantage__img {
    position: absolute;
    inset: 5rem calc(100% + 5rem) auto auto;
    width: 44rem;
    padding-top: 10.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-advantage__img {
    width: 29rem;
    margin-right: -2.2rem;
    margin-left: auto;
    padding-top: 6.26rem;
  }
}
.p-about-advantage__img .img {
  display: block;
  transition: 0.7s all cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-about-advantage__img .img {
    width: 38.6241rem;
    aspect-ratio: 386.241/369.865;
  }
}
@media screen and (max-width: 768px) {
  .p-about-advantage__img .img {
    width: 17.7524rem;
    aspect-ratio: 177.524/170.013;
    margin-bottom: 6rem;
  }
}
.p-about-advantage__img .balloon {
  position: absolute;
  inset: 0 0 auto auto;
  display: block;
  transition: 0.7s all 0.2s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
@media screen and (min-width: 769px) {
  .p-about-advantage__img .balloon {
    width: 20.3765rem;
    aspect-ratio: 203.765/157.073;
  }
}
@media screen and (max-width: 768px) {
  .p-about-advantage__img .balloon {
    width: 16.2542rem;
    aspect-ratio: 162.542/125.296;
  }
}
.p-about-advantage__img:not(.is-complete) .img,
.p-about-advantage__img:not(.is-complete) .balloon {
  scale: 0;
  translate: 0 10%;
}
.p-about-advantage__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.p-about-advantage__list__item {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding-bottom: 2rem;
  border-bottom: 1px dotted var(--text);
}
.p-about-advantage__list__item::before {
  content: "";
  position: absolute;
  inset: auto auto -1px 0;
  display: block;
  width: 5.7rem;
  height: 1px;
  background-color: var(--text);
}
.p-about-advantage__list__item .num {
  width: 5.7rem;
  font-family: var(--ChakraPetch);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.p-about-advantage__list__item .txt {
  flex: 1;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1em;
}
.p-about-advantage__bg {
  position: absolute;
  display: flex;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .p-about-advantage__bg {
    inset: 0 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .p-about-advantage__bg {
    inset: 30rem 0 auto;
  }
}
.p-about-advantage__bg .txt {
  padding-right: 0.5em;
  font-family: var(--ChakraPetch);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  white-space: nowrap;
  color: #e7e7ef;
  animation: 20s aboutAdvantage linear infinite;
}
@media screen and (min-width: 769px) {
  .p-about-advantage__bg .txt {
    font-size: 16.6rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-advantage__bg .txt {
    font-size: 8.1rem;
  }
}
@keyframes aboutAdvantage {
  100% {
    translate: -100% 0;
  }
}

.p-about-strengths {
  position: relative;
  background-color: #f7f7fa;
  transition: 1s all ease-in-out;
}
.p-about-strengths:not(.is-complete) {
  translate: 0 4rem;
  opacity: 0;
}
.p-about-strengths__contents {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__contents {
    padding: 10rem 13.3rem 8rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__contents {
    padding: 12rem 2.8rem 10rem;
  }
}
.p-about-strengths__ttl {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__ttl {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__ttl {
    margin-bottom: 6rem;
  }
}
.p-about-strengths__ttl .txt {
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__ttl .txt {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__ttl .txt {
    font-size: 2.2rem;
  }
}
.p-about-strengths__ttl .en {
  font-family: var(--Outfit);
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.1em;
}
.p-about-strengths__merit {
  display: flex;
  gap: 6rem;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__merit {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__merit {
    flex-direction: column;
    margin-bottom: 4rem;
  }
}
@media screen and (min-width: 769px) {
  .p-about-strengths__merit__item {
    flex: 1;
  }
}
.p-about-strengths__merit__ttl {
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__merit__ttl {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__merit__ttl {
    font-size: 1.8rem;
    line-height: 2;
  }
}
.p-about-strengths__merit__list__item {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 2.5rem 0 2.5rem 1rem;
  border-bottom: 1px dotted var(--text);
}
@media screen and (min-width: 769px) {
  .p-about-strengths__merit__list__item {
    min-height: 9.8rem;
  }
}
.p-about-strengths__merit__list__item .icn {
  width: 1.7rem;
}
.p-about-strengths__merit__list__item .txt {
  flex: 1;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
.p-about-strengths__txt {
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__txt {
    font-size: 1.8rem;
    line-height: 2;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__txt {
    font-size: 1.6rem;
    line-height: 3.6rem;
  }
}
.p-about-strengths__tombo {
  position: absolute;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__tombo {
    inset: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__tombo {
    inset: 0.5rem;
  }
}
.p-about-strengths__tombo .tombo {
  position: absolute;
}
.p-about-strengths__tombo .tombo.corner {
  aspect-ratio: 1/1;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__tombo .tombo.corner {
    width: 3.4rem;
    margin: 0.2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__tombo .tombo.corner {
    width: 1.36rem;
    margin: 0.08rem;
  }
}
.p-about-strengths__tombo .tombo.corner::before,
.p-about-strengths__tombo .tombo.corner::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  border-right: 0.5px solid #87879f;
  border-bottom: 0.5px solid #87879f;
}
.p-about-strengths__tombo .tombo.corner::before {
  height: 75%;
}
.p-about-strengths__tombo .tombo.corner::after {
  width: 75%;
}
.p-about-strengths__tombo .tombo.corner.top {
  top: 0;
}
.p-about-strengths__tombo .tombo.corner.top.left {
  rotate: 0deg;
}
.p-about-strengths__tombo .tombo.corner.top.right {
  rotate: 90deg;
}
.p-about-strengths__tombo .tombo.corner.right {
  right: 0;
}
.p-about-strengths__tombo .tombo.corner.bottom {
  bottom: 0;
}
.p-about-strengths__tombo .tombo.corner.bottom.left {
  rotate: 270deg;
}
.p-about-strengths__tombo .tombo.corner.bottom.right {
  rotate: 180deg;
}
.p-about-strengths__tombo .tombo.corner.left {
  left: 0;
}
.p-about-strengths__tombo .tombo.center {
  inset: 0;
  margin: auto;
}
.p-about-strengths__tombo .tombo.center.top,
.p-about-strengths__tombo .tombo.center.bottom {
  aspect-ratio: 72/24;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__tombo .tombo.center.top,
  .p-about-strengths__tombo .tombo.center.bottom {
    width: 7.2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__tombo .tombo.center.top,
  .p-about-strengths__tombo .tombo.center.bottom {
    width: 2.883rem;
  }
}
.p-about-strengths__tombo .tombo.center.top::before,
.p-about-strengths__tombo .tombo.center.top::after,
.p-about-strengths__tombo .tombo.center.bottom::before,
.p-about-strengths__tombo .tombo.center.bottom::after {
  content: "";
  position: absolute;
  display: block;
  background-color: #87879f;
}
.p-about-strengths__tombo .tombo.center.top::before,
.p-about-strengths__tombo .tombo.center.bottom::before {
  inset: 0;
  width: 0.5px;
  margin-inline: auto;
}
.p-about-strengths__tombo .tombo.center.top::after,
.p-about-strengths__tombo .tombo.center.bottom::after {
  height: 0.5px;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__tombo .tombo.center.top::after,
  .p-about-strengths__tombo .tombo.center.bottom::after {
    inset: 1.75rem 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__tombo .tombo.center.top::after,
  .p-about-strengths__tombo .tombo.center.bottom::after {
    inset: 0.7rem 0 auto;
  }
}
.p-about-strengths__tombo .tombo.center.right,
.p-about-strengths__tombo .tombo.center.left {
  aspect-ratio: 24/72;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__tombo .tombo.center.right,
  .p-about-strengths__tombo .tombo.center.left {
    width: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__tombo .tombo.center.right,
  .p-about-strengths__tombo .tombo.center.left {
    width: 0.96rem;
  }
}
.p-about-strengths__tombo .tombo.center.right::before,
.p-about-strengths__tombo .tombo.center.right::after,
.p-about-strengths__tombo .tombo.center.left::before,
.p-about-strengths__tombo .tombo.center.left::after {
  content: "";
  position: absolute;
  display: block;
  background-color: #87879f;
}
.p-about-strengths__tombo .tombo.center.right::before,
.p-about-strengths__tombo .tombo.center.left::before {
  width: 0.5px;
}
@media screen and (min-width: 769px) {
  .p-about-strengths__tombo .tombo.center.right::before,
  .p-about-strengths__tombo .tombo.center.left::before {
    inset: 0 1.75rem 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .p-about-strengths__tombo .tombo.center.right::before,
  .p-about-strengths__tombo .tombo.center.left::before {
    inset: 0 0.7rem 0 auto;
  }
}
.p-about-strengths__tombo .tombo.center.right::after,
.p-about-strengths__tombo .tombo.center.left::after {
  inset: 0;
  height: 0.5px;
  margin-block: auto;
}
.p-about-strengths__tombo .tombo.center.top {
  bottom: auto;
}
.p-about-strengths__tombo .tombo.center.right {
  left: auto;
}
.p-about-strengths__tombo .tombo.center.bottom {
  top: auto;
  scale: -1;
}
.p-about-strengths__tombo .tombo.center.left {
  right: auto;
  scale: -1;
}
/*# sourceMappingURL=style.css.map */

/*reCAPTCHAの非表示  */
.grecaptcha-badge {
  opacity: 0;
  pointer-events: none;
}
.l-footer__nav__cookie {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .l-footer__nav__cookie {
    font-size: 1rem;
  }
}
.p-form__recaptcha {
  font-size: 1rem;
  margin-top: 3rem;
  text-align: center;
}
