@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Rozha+One&family=Oswald&family=Noto+Serif&family=IBM+Plex+Serif&family=IBM+Plex+Sans+JP:wght@400;500;700&display=swap");
html{
  scroll-behavior: smooth;
}
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul,
li {
  text-decoration: none;
  list-style: none;
}

a {
  text-decoration: none;
}

a,
img,
span {
  display: inline-block;
}

img {
  max-width: 100%;
  width: 100%;
  display: block;
  height: auto;
  vertical-align: top;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -o-object-fit: cover;
     object-fit: cover;
}

em {
  font-style: normal;
}

.sp-only {
  display: none;
}
@media (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

.tab-only {
  display: none;
}
@media (min-width: 769px) and (max-width: 1280px) {
  .tab-only {
    display: block;
  }
}

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

.spbtm-only {
  display: none;
}
@media (max-width: 350px) {
  .spbtm-only {
    display: block;
  }
}

:root {
  --white: #ffffff;
  --black: #000;
  --text: #373028;
  --gray: #898989;
  --orange: #eba139;
  --light-blue: #1c7bbb;
  --light-gray: #f8f8f8;
  --orange-grad: linear-gradient(to right, #eba139 0%, #dcd900 100%);
  --green-grad: linear-gradient(to right, #4fa1df, #079360);
  --gray-grad: linear-gradient(to right, #666 0%, #acacac 100%);
  --leading-trim: calc((1em - 1lh) / 2);
  --rozhone: "Rozha One", serif;
  --oswald: "Oswald", sans-serif;
  --notoserif: "Noto Serif", serif;
  --ibmplexserif: "IBM Plex Serif", serif;
  --ibmplexsansjp: "IBM Plex Sans JP", sans-serif;
  --mincho: "Hiragino Mincho ProN", "Yu Mincho", "游明朝体", "YuMincho",
    "MS Mincho", "Meiryo", serif;
  --gothic: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic",
    "游ゴシック体", "YuGothic", "Helvetica Neue", "Arial", "Meiryo", sans-serif;
}

.bold {
  font-weight: 700;
}

.fw400 {
  font-weight: 400;
}

.fw500 {
  font-weight: 500;
}

.fw600 {
  font-weight: 600;
}

.lh130 {
  line-height: 130%;
}

.lh170 {
  line-height: 170%;
}

html {
  /*  font-size: 62.5%; */
  font-size: min(0.5208333333vw, 10px);
  /* @include mq(xlpc) {
    font-size: calc(10 / (1920 / 100) * 1vw);
  } */
}
@media screen and (max-width: 768px) {
  html {
    font-size: 2.5641025641vw;
  }
}

body {
  font-weight: bold;
  line-height: normal;
  letter-spacing: 0.06em;
  color: var(--black);
  font-family: var(--notoserif);
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}

.palt {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

p,
h2,
h3,
h4,
span {
  font-weight: 400;
}

.header {
  padding: 2rem 6rem;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .header {
    padding: 0rem 0rem 0 1.5rem;
  }
}
.header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.header__logo {
  display: block;
  width: 24.6rem;
}
.header__logo:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: 15.2rem;
  }
}
.header__actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .header__actions {
    gap: 0rem;
    position: fixed;
    bottom: 0;
    left: 0;
    width:100%;
  }
  .header__actions .header__button{
    width:50%;
  }
}
.header__button {
  font-size: max(1.8rem, 11px);
  font-weight: 700;
  line-height: 1.4444444444;
  letter-spacing: 0.06em;
  font-family: var(--ibmplexsansjp);
  min-width: 20rem;
  padding: 1.9rem 2.5rem;
  min-height: 6rem;
}
@media screen and (max-width: 768px) {
  .header__button {
    min-width: 10rem;
    padding: 1.3rem 1.9rem;
    min-height: 6.4rem;
    font-size: 1.5rem;
    line-height: 1.4;
    border-radius: unset !important;
    text-align: center;
  }
}

.footer {
  padding-block: 7rem;
  text-align: center;
  background: var(--gray);
}
.footer__text {
  font-size: 15px;
  font-weight: bold;
  color: var(--white);
  letter-spacing: 0.06em;
  line-height: 2.9333333333;
}
@media screen and (max-width: 768px) {
  .footer {
    padding-block: 4rem;
  }
  .footer__text {
    font-size: 1.2rem;
    line-height: 3.6666666667;
  }
}

.hero__scrollDown {
  position: absolute;
  z-index: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  left: 0;
  bottom: 18rem;
  -webkit-transform: translateX(-15rem);
          transform: translateX(-15rem);
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .hero__scrollDown {
    display: none;
  }
}

.hero__scrollDown--text {
  -webkit-writing-mode: sideways-lr;
      -ms-writing-mode: sideways-lr;
          writing-mode: sideways-lr;
  text-transform: uppercase;
  font-size: 16px;
  line-height: 1.5;
  color: #111;
  font-weight: 400;
  margin-bottom: 5px;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .hero__scrollDown--text {
    font-size: 10px;
  }
}

.hero__scrollDown--line {
  position: relative;
  width: 1px;
  height: 86px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.hero__scrollDown--line span {
  position: absolute;
  top: 0;
  right: 0;
}
.hero__scrollDown--line span:first-of-type {
  background: #0c3484;
  width: 1px;
  height: 100%;
}
.hero__scrollDown--line span:last-of-type {
  left: -4px;
  width: 9px;
  height: 9px;
  background: #0c3484;
  border-radius: 50%;
  top: 0;
  -webkit-animation: ball-drop 2s infinite ease-in-out;
          animation: ball-drop 2s infinite ease-in-out;
}
@media screen and (max-width: 768px) {
  .hero__scrollDown--line {
    height: 140px;
  }
}

@-webkit-keyframes ball-drop {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  80% {
    -webkit-transform: translateY(77px);
            transform: translateY(77px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(77px);
            transform: translateY(77px);
    opacity: 0;
  }
}

@keyframes ball-drop {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  80% {
    -webkit-transform: translateY(77px);
            transform: translateY(77px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(77px);
            transform: translateY(77px);
    opacity: 0;
  }
}
.bg-grad--gray {
  background: var(--gray-grad);
  color: var(--white);
}
.bg-grad--gray:hover {
  opacity: 0.8;
}

.bg-grad--orange {
  background: var(--orange-grad);
}
.bg-grad--orange:hover {
  opacity: 0.8;
}

.c-button {
  color: var(--white);
  font-weight: 700;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 62.5rem;
  display: grid;
  place-items: center;
}

.section__title {
  font-size: max(4.8rem, 28px);
  font-weight: bold;
  line-height: 1.5416666667;
  letter-spacing: 0.03em;
  color: var(--black);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .section__title {
    font-size: 2.6rem;
    line-height: 1.4615384615;
    text-align: center;
  }
}

.section__side-text {
  position: absolute;
  font-size: 15rem;
  font-weight: 400;
  line-height: 1.4;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.03em;
  font-family: var(--rozhone);
  scale: -1 -1;
}
@media screen and (max-width: 768px) {
  .section__side-text {
    font-size: 8rem;
    line-height: 1.35;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    scale: 1 1;
  }
}

.wrapper {
  position: relative;
  /*  max-width: min(80%, 1500px); */
  width: 150rem;
  margin-inline: auto;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .wrapper {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  .wrapper {
    width: 100%;
    padding: 0 1.5rem;
  }
}

.c-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.c-title__title {
  font-size: 4.5rem;
  letter-spacing: 0.03em;
  line-height: 1.5;
}
.c-title__sub {
  line-height: 1.5;
  font-size: 9rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
}
.c-title__sub--img {
  width: 32.9rem;
  margin-right: 2rem;
}
.c-title__platform {
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-title__platform-icon {
  width: 7.2rem;
}
.c-title__platform-text {
  font-size: 5.4rem;
  line-height: 1.4814814815;
  letter-spacing: -0.03em;
  font-family: var(--oswald);
  font-weight: 500;
}
.c-title__platform-text--lts {
  font-size: 5.2rem;
  line-height: 1.5384615385;
  letter-spacing: 0.03em;
  font-family: var(--notoserif);
}
.c-title__description {
  font-size: max(2.4rem, 12px);
  line-height: 1.8333333333;
  letter-spacing: 0.06em;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-title {
    gap: 0rem;
  }
  .c-title__title {
    font-size: 2.3rem;
    letter-spacing: 0.03em;
    line-height: 1.52;
    text-align: center;
  }
  .c-title__sub {
    line-height: 1.5111111111;
    font-size: 4.5rem;
  }
  .c-title__sub--img {
    width: 17.6rem;
    margin-right: 1rem;
  }
  .c-title__platform {
    gap: 0.6rem;
  }
  .c-title__platform-icon {
    width: 3.9rem;
  }
  .c-title__platform-text {
    font-size: 2.7rem;
    line-height: 1.5185185185;
  }
  .c-title__platform-text--lts {
    font-size: 2.7rem;
    line-height: 1.5185185185;
  }
  .c-title__description {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

.c-cta-buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .c-cta-buttons {
    width: 100%;
  }
}

.c-cta-btn {
  width: 60rem;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 4.9rem;
  border-radius: 5.4rem;
  height: 10.8rem;
  position: relative;
}
.c-cta-btn:after, .c-cta-btn:before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-cta-btn:before {
  right: 2rem;
  width: 5rem;
  height: 5rem;
  background: url(../images/common/cta-circle.webp) no-repeat center center/contain;
}
.c-cta-btn:after {
  right: 4.3rem;
  width: 3.75rem;
  height: 0.45rem;
  background: url(../images/common/cta-arrow.webp) no-repeat center center/cover;
}
.c-cta-btn:hover:after {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%) translateX(0.3rem);
          transform: translateY(-50%) translateX(0.3rem);
}
.c-cta-btn:hover:before {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%) scale(1.05);
          transform: translateY(-50%) scale(1.05);
}
@media screen and (max-width: 1024px) {
  .c-cta-btn {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  .c-cta-btn {
    padding-left: 2.4rem;
    height: 7.4rem;
  }
  .c-cta-btn:before {
    right: 1.5rem;
    width: 3.4rem;
    height: 3.4rem;
  }
  .c-cta-btn:after {
    width: 2.65rem;
    height: 0.45rem;
    right: 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .c-cta-btn {
    width: 100%;
    margin-inline: auto;
  }
}

.c-cta-btn__label {
  position: absolute;
  z-index: 2;
  top: -3rem;
  left: 4.9rem;
  padding-inline: 2.5rem;
  padding-block: 1rem;
  -webkit-filter: drop-shadow(0px 3px 10px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0px 3px 10px rgba(0, 0, 0, 0.16));
  display: grid;
  place-items: center;
  height: 5rem;
  border-radius: 3rem;
  background: var(--white);
  font-size: 2rem;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.06em;
  font-family: var(--ibmplexsansjp);
}
.c-cta-btn__label:before {
  z-index: -1;
  content: "";
  position: absolute;
  bottom: -0.9rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 1rem;
  height: 1rem;
  background-color: var(--white);
  -webkit-clip-path: polygon(50% 1rem, 0% 0%, 1rem 0%);
          clip-path: polygon(50% 1rem, 0% 0%, 1rem 0%);
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .c-cta-btn__label {
    font-size: 10px;
  }
}
@media screen and (max-width: 768px) {
  .c-cta-btn__label {
    top: -1.8rem;
    left: 2.4rem;
    padding-inline: 1.7rem;
    height: 3.4rem;
    font-size: 1.2rem;
  }
  .c-cta-btn__label:before {
    bottom: -0.6rem;
    width: 0.8rem;
    height: 0.8rem;
    -webkit-clip-path: polygon(50% 0.7rem, 0% 0%, 0.7rem 0%);
            clip-path: polygon(50% 0.7rem, 0% 0%, 0.7rem 0%);
  }
}

.c-cta-btn__text {
  color: var(--white);
  font-size: max(2.8rem, 12px);
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.06em;
  font-family: var(--ibmplexsansjp);
}
@media screen and (max-width: 768px) {
  .c-cta-btn__text {
    font-size: 1.9rem;
  }
}

.fdc--row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.5rem;
}
@media screen and (min-width: 769px) {
  .fdc--row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.dib {
  display: inline-block;
}

.u-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.mt3 {
  margin-top: 0.3rem;
}

.mt7 {
  margin-top: 0.7rem;
}

.mt32 {
  margin-top: 3.2rem;
}

@media screen and (max-width: 768px) {
  .mt0--20 {
    margin-top: 2rem;
  }
}

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

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

.banner {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  padding: 1rem;
  width: max(30.4rem, 170px);
  background: var(--green-grad);
  border-radius: 1rem;
}
.banner--fixed {
  position: fixed;
  bottom: 5rem;
  right: 2rem;
  z-index: 9999;
  overflow: hidden;
}
.banner--fixed.hidden {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.banner__content {
  background: #fff;
  border-radius: 0.5rem;
  padding: 3rem 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.banner__text {
  font-size: max(1.6rem, 10px);
  font-weight: bold;
  line-height: 1.375;
  letter-spacing: 0.06em;
  font-family: var(--ibmplexserif);
}
.banner__cta {
  margin-top: 0.6rem;
  font-size: max(2.8rem, 15px);
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
.banner__catch {
  font-family: var(--ibmplexserif);
  font-size: max(1.4rem, 9px);
  line-height: 1.4285714286;
  color: var(--light-blue);
  text-align: center;
  font-weight: bold;
}
.banner__button {
  margin-top: 1rem;
  width: 100%;
  height: 5rem;
  display: grid;
  place-items: center;
  border-radius: 2.5rem;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .banner__button {
    height: 25px;
  }
}
.banner__button-text {
  font-size: 1.8rem;
  font-family: var(--ibmplexserif);
  font-weight: bold;
  line-height: 2.2222222222;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .banner__button-text {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .banner {
    display: none;
    width: 20rem;
    padding: 0.7rem;
  }
  .banner--fixed {
    bottom: 2rem;
  }
  .banner__content {
    padding: 1rem;
  }
  .banner__text {
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .banner__cta {
    font-size: 1.8rem;
    line-height: 1.5555555556;
  }
  .banner__catch {
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .banner__button {
    margin-top: 0.5rem;
    width: 100%;
    height: 3rem;
  }
  .banner__button-text {
    font-size: 1.2rem;
    line-height: 1.5;
  }
}

.slash {
  position: relative;
}
.slash:before, .slash:after {
  content: "";
  position: absolute;
  top: 0;
  border-right: 0.2rem solid var(--orange);
  width: 0.2rem;
  height: 2.5rem;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .slash:before, .slash:after {
    top: 3px;
  }
}
.slash::before {
  left: -1.4rem;
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}
.slash:after {
  right: -1.4rem;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
@media screen and (max-width: 768px) {
  .slash:before, .slash:after {
    height: 1.8rem;
  }
  .slash::before {
    left: -0.7rem;
  }
  .slash:after {
    right: -0.7rem;
  }
}

.color-orange {
  color: var(--orange);
  font-weight: bold;
}

.problem {
  position: relative;
  padding: 17.1rem 0 20.3rem;
  z-index: 2;
  overflow-x: clip;
  aspect-ratio: 1920/1051.5;
  margin-top: -1.8rem;
}
@media screen and (min-width: 1921px) {
  .problem {
    margin-top: -12.7rem;
    aspect-ratio: auto;
    padding: 17.1rem 0 20.37rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .problem {
    margin-top: -10rem;
  }
}
@media screen and (max-width: 768px) {
  .problem {
    padding: 8.2rem 0 7rem;
    margin-top: 0;
  }
}
.problem::before {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/pc/problem-bg.webp);
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .problem::before {
    background-image: url(../images/sp/problem-bg.webp);
  }
}
.problem .section__side-text {
  top: 5.5rem;
  left: 100%;
  scale: 1 1;
}
@media screen and (max-width: 768px) {
  .problem .section__side-text {
    top: -7.5rem;
    left: auto;
    right: 0;
  }
}
.problem__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8rem;
}
@media screen and (max-width: 768px) {
  .problem__content {
    gap: 4rem;
  }
}
.problem__cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 3.3rem;
}
@media screen and (max-width: 768px) {
  .problem__cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
}
.problem__card {
  background: var(--white);
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 3.2rem 3.2rem 5rem;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .problem__card {
    padding: 2.4rem 1.6rem 3rem;
  }
}
@media screen and (max-width: 768px) {
  .problem__card {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.6rem;
    padding: 1.5rem 1rem 1.5rem 1.5rem;
  }
}
.problem__card-icon {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .problem__card-icon {
    width: 11.8rem;
    height: 11.8rem;
  }
  .problem__card-icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (max-width: 768px) {
  .problem__card-body {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.problem__card-title {
  font-size: max(2.8rem, 14px);
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: 0.06em;
  color: var(--black);
  text-align: center;
  margin-top: 3rem;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .problem__card-title {
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .problem__card-title {
    font-size: 1.8rem;
    line-height: 1.4444444444;
    text-align: left;
    margin-top: 0;
  }
}
.problem__card-description {
  font-size: max(2rem, 12px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
  padding-top: 3rem;
  font-family: var(--ibmplexsansjp);
  margin-block: var(--leading-trim);
}
.problem__card-description .problem__highlight {
  color: var(--orange);
  display: inline;
  font-weight: 500;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .problem__card-description .desktop-tp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .problem__card-description {
    font-size: 1.5rem;
    line-height: 1.8;
    text-align: left;
    padding-top: 1rem;
  }
}

.service {
  position: relative;
  padding: 9.2rem 0 12.7rem;
  z-index: 4;
  aspect-ratio: 1920/886;
  margin-top: -0.5rem;
}
@media screen and (min-width: 1921px) {
  .service {
    aspect-ratio: auto;
    padding: 9.6rem 0 24.6rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .service {
    aspect-ratio: 1920/1000;
  }
}
@media screen and (max-width: 768px) {
  .service {
    padding: 6rem 0 3.3rem;
  }
}
.service::before {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0;
  width: 100%;
  height: 98.9rem;
  z-index: -1;
  background-image: url(../images/pc/service-bg.webp);
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1921px) {
  .service::before {
    height: 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .service::before {
    height: 108rem;
  }
}
@media screen and (max-width: 768px) {
  .service::before {
    top: 0rem;
    height: 93rem;
    background-image: url(../images/sp/service-bg.webp);
  }
}
.service .section__side-text {
  top: -5.5rem;
  right: 100%;
  color: #ececec;
}
@media screen and (max-width: 768px) {
  .service .section__side-text {
    top: -7.5rem;
    left: auto;
    right: 0;
  }
}
.service__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 9rem;
}
@media screen and (max-width: 768px) {
  .service__content {
    gap: 3rem;
  }
}
.service__header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6rem;
}
@media screen and (max-width: 768px) {
  .service__header {
    gap: 3rem;
  }
}
.service__subtitle {
  font-size: max(2.4rem, 12px);
  font-weight: 700;
  line-height: 1.4583333333;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .service__subtitle {
    font-size: 1.8rem;
    line-height: 1.6111111111;
    text-align: center;
  }
}
.service__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 8.8rem;
}
@media screen and (max-width: 768px) {
  .service__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}
.service__visual {
  position: relative;
  width: 47rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  z-index: 1;
  aspect-ratio: 1920/886;
}
@media screen and (max-width: 768px) {
  .service__visual {
    width: 100%;
  }
}
.service__visual img:last-child {
  position: absolute;
  bottom: -9rem;
  left: -7.4rem;
  width: 14.8rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .service__visual img:last-child {
    width: 6.8rem;
    bottom: -5.4rem;
    left: -1.5rem;
  }
}
.service__checklist {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .service__checklist {
    gap: 1.5rem;
  }
}
.service__checklist-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.2rem;
  padding: 2.8rem 3.4rem;
  background: var(--white);
}
@media screen and (max-width: 768px) {
  .service__checklist-item {
    padding: 2.4rem 1rem;
    gap: 1rem;
  }
}
.service__checklist-icon {
  display: block;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: -webkit-gradient(linear, left top, right top, from(#eba139), to(#dcd900));
  background: -webkit-linear-gradient(left, #eba139, #dcd900);
  background: linear-gradient(to right, #eba139, #dcd900);
}
@media screen and (max-width: 768px) {
  .service__checklist-icon {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.service__checklist-text {
  font-size: max(2.4rem, 13px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  font-family: var(--ibmplexsansjp);
}
.service__checklist-text .service__highlight {
  color: var(--orange);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .service__checklist-text {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-block: var(--leading-trim);
  }
}

.reason {
  position: relative;
  padding: 16rem 0 10.2rem;
  z-index: 1;
}
@media screen and (min-width: 1921px) {
  .reason {
    padding: 16rem 0 21.8rem;
  }
}
@media screen and (max-width: 768px) {
  .reason {
    padding: 9.6rem 0 6.8rem;
  }
}
.reason::before {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0;
  width: 100%;
  height: 170.5rem;
  z-index: -1;
  background-image: url(../images/pc/reason-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1921px) {
  .reason::before {
    height: 100%;
    background-size: 100% 100%;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1100px) {
  .reason::before {
    height: 175rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .reason::before {
    height: calc(100% + 12rem);
  }
}
@media screen and (max-width: 768px) {
  .reason::before {
    height: 117.4rem;
    background-image: url(../images/sp/reason-bg.webp);
  }
}
.reason .section__side-text {
  top: -6.1rem;
  right: 100%;
  color: #ececec;
}
@media screen and (max-width: 768px) {
  .reason .section__side-text {
    top: -6.4rem;
    right: 0;
    left: auto;
  }
}
.reason__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8.8rem;
}
@media screen and (max-width: 768px) {
  .reason__content {
    gap: 4.6rem;
  }
}
.reason__list {
  max-width: 110rem;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.2rem;
}
@media screen and (max-width: 768px) {
  .reason__list {
    gap: 1.48rem;
  }
}
.reason__list::before, .reason__list::after {
  content: "";
  display: block;
  width: 5.3rem;
  height: 5.2rem;
  background: -webkit-gradient(linear, left top, right top, from(#eba139), to(#dcd900));
  background: -webkit-linear-gradient(left, #eba139, #dcd900);
  background: linear-gradient(to right, #eba139, #dcd900);
  position: absolute;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .reason__list::before, .reason__list::after {
    width: 4.5rem;
    height: 4.5rem;
  }
}
.reason__list::before {
  bottom: -1.5rem;
  left: -1.5rem;
}
@media screen and (max-width: 768px) {
  .reason__list::before {
    bottom: -0.6rem;
    left: -0.6rem;
  }
}
.reason__list::after {
  top: -1.5rem;
  right: -1.5rem;
}
@media screen and (max-width: 768px) {
  .reason__list::after {
    top: -0.6rem;
    right: -0.6rem;
  }
}
.reason__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.3rem;
  background: var(--white);
  padding: 2.6rem 3.6rem 2.93rem;
}
@media screen and (max-width: 768px) {
  .reason__item {
    padding: 1.3rem 1.5rem 2rem;
    gap: 1.8rem;
  }
}
.reason__item-number {
  font-size: 4.3rem;
  font-weight: 400;
  color: var(--orange);
  font-family: var(--rozhone);
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .reason__item-number {
    font-size: 2.7rem;
  }
}
.reason__item-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.475rem;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .reason__item-content {
    gap: 1rem;
  }
}
.reason__item-title {
  font-size: max(2.8rem, 14px);
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .reason__item-title {
    font-size: 1.8rem;
    line-height: 1.4444444444;
  }
}
.reason__item-description {
  font-size: max(2rem, 12px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-block: var(--leading-trim);
  font-family: var(--ibmplexsansjp);
}
@media screen and (max-width: 768px) {
  .reason__item-description {
    font-size: 1.5rem;
    line-height: 1.8;
  }
}
.reason__btn-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9.2rem;
  margin-top: 11.8rem;
}
@media screen and (max-width: 768px) {
  .reason__btn-list {
    margin-top: 6rem;
    gap: 6.6rem;
  }
}
.reason__btn {
  width: 69rem;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 4.9rem;
  border-radius: 5.4rem;
  height: 10.8rem;
  position: relative;
}
.reason__btn:after, .reason__btn:before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.reason__btn:before {
  right: 2rem;
  width: 5rem;
  height: 5rem;
  background: url(../images/common/cta-circle.webp) no-repeat center center/contain;
}
.reason__btn:after {
  right: 4.3rem;
  width: 3.75rem;
  height: 0.45rem;
  background: url(../images/common/cta-arrow.webp) no-repeat center center/cover;
}
.reason__btn:hover:after {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%) translateX(0.3rem);
          transform: translateY(-50%) translateX(0.3rem);
}
.reason__btn:hover:before {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%) scale(1.05);
          transform: translateY(-50%) scale(1.05);
}
@media screen and (max-width: 768px) {
  .reason__btn {
    padding-left: 2.4rem;
    height: 7.4rem;
  }
  .reason__btn:before {
    right: 1.5rem;
    width: 3.4rem;
    height: 3.4rem;
  }
  .reason__btn:after {
    width: 2.65rem;
    height: 0.45rem;
    right: 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .reason__btn {
    width: 36rem;
    display: grid;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 4.9rem;
    border-radius: 5.4rem;
    height: 10.8rem;
    position: relative;
  }
  .reason__btn:after, .reason__btn:before {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .reason__btn:before {
    right: 2rem;
    width: 5rem;
    height: 5rem;
    background: url(../images/common/cta-circle.webp) no-repeat center center/contain;
  }
  .reason__btn:after {
    right: 4.3rem;
    width: 3.75rem;
    height: 0.45rem;
    background: url(../images/common/cta-arrow.webp) no-repeat center center/cover;
  }
  .reason__btn:hover:after {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translateY(-50%) translateX(0.3rem);
            transform: translateY(-50%) translateX(0.3rem);
  }
  .reason__btn:hover:before {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translateY(-50%) scale(1.05);
            transform: translateY(-50%) scale(1.05);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .reason__btn {
    padding-left: 2.4rem;
    height: 7.4rem;
  }
  .reason__btn:before {
    right: 1.5rem;
    width: 3.4rem;
    height: 3.4rem;
  }
  .reason__btn:after {
    width: 2.65rem;
    height: 0.45rem;
    right: 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .reason__btn .reason__btn-label {
    font-size: 1.4rem;
  }
  .reason__btn .reason__btn-text {
    line-height: 1.4;
    font-size: 2rem;
  }
  .reason__btn--primary {
    height: 8.8rem;
    padding-top: 0.3rem;
  }
  .reason__btn--primary .reason__btn-label {
    font-size: 1.5rem;
  }
}

.voice {
  padding: 4.5rem 0 3rem;
}
@media screen and (max-width: 768px) {
  .voice {
    padding: 10rem 0 3.8rem;
  }
}
.voice .section__side-text {
  top: -12.8rem;
  left: -15rem;
  color: #f8f8f8;
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  scale: 1 1;
}
@media screen and (max-width: 768px) {
  .voice .section__side-text {
    top: -7.8rem;
    left: auto;
    right: 1.5rem;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}
.voice__inner {
  padding: 0;
}
.voice__title {
  line-height: 1.4375;
}
.voice__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6rem;
}
@media screen and (max-width: 768px) {
  .voice__content {
    gap: 4rem;
  }
}
.voice__slider {
  position: relative;
  width: 100%;
  background: #f8f8f8;
  padding: 5.6rem 0 6.8rem;
}
@media screen and (max-width: 768px) {
  .voice__slider {
    padding: 2rem 1.5rem 2.2rem;
  }
}
.voice__slider-prev {
  width: 5.2rem;
  height: 5.2rem;
  background: var(--white);
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  left: 11.6rem;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.voice__slider-prev::after {
  display: none;
}
@media screen and (max-width: 768px) {
  .voice__slider-prev {
    width: 4.4rem;
    height: 4.4rem;
    left: 0rem;
    top:10%;
  }
}
.voice__slider-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 11.6rem;
  width: 5.2rem;
  height: 5.2rem;
  background: var(--white);
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.voice__slider-next::after {
  display: none;
}
@media screen and (max-width: 768px) {
  .voice__slider-next {
    width: 4.4rem;
    height: 4.4rem;
    right: 0rem;
    top:10%;
  }
}
.voice__swiper {
  max-width: 110rem;
  margin: 0 auto;
}
.voice__slide {
  background: -webkit-gradient(linear, left top, right top, from(#eba139), to(#dcd900));
  background: -webkit-linear-gradient(left, #eba139, #dcd900);
  background: linear-gradient(to right, #eba139, #dcd900);
  border-radius: 1rem;
  padding: 1.4rem;
}
@media screen and (max-width: 768px) {
  .voice__slide {
    padding: 0.5rem;
  }
}
.voice__card {
  background: var(--white);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 6rem 6rem 7rem 6.8rem;
}
@media screen and (max-width: 768px) {
  .voice__card {
    padding: 1.8rem 1.5rem 2.8rem;
  }
}
.voice__card-detail-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5.6rem;
}
@media screen and (max-width: 768px) {
  .voice__card-detail-header {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2rem;
  }
}
.voice__card-detail-avatar {
  width: 19.4rem;
}
@media screen and (max-width: 768px) {
  .voice__card-detail-avatar {
    width: 11rem;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
}
.voice__card-detail-meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.voice__card-detail-company {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.1;
  letter-spacing: 0.06em;
  color: var(--orange);
  margin-block: var(--leading-trim);
  font-family: var(--ibmplexsansjp);
}
.voice__card-detail-company span {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .voice__card-detail-company {
    font-size: 1.4rem;
    line-height: 1.5714285714;
  }
}
.voice__card-detail-name {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.06em;
  padding-top: 2.4rem;
  margin-block: var(--leading-trim);
  font-family: var(--ibmplexsansjp);
}
@media screen and (max-width: 768px) {
  .voice__card-detail-name {
    font-size: 2rem;
    line-height: 1.6;
    padding-top: 1.6rem;
  }
}
.voice__card-detail-table {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.3rem;
  margin-top: 5.6rem;
}
@media screen and (max-width: 768px) {
  .voice__card-detail-table {
    /*  gap: rem(18.5); */
    gap: 2.1rem;
    margin-top: 2.2rem;
  }
}
.voice__card-detail-table._sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .voice__card-detail-table._sp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.voice__card-detail-table._pc {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .voice__card-detail-table._pc {
    display: none;
  }
}
.voice__card-detail-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .voice__card-detail-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    /*  gap: rem(10.5); */
    gap: 1.4rem;
  }
}
.voice__card-detail-row dt {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.1;
  letter-spacing: 0.06em;
  width: 14rem;
  margin-block: var(--leading-trim);
  font-family: var(--ibmplexsansjp);
}
@media screen and (max-width: 768px) {
  .voice__card-detail-row dt {
    font-size: 1.5rem;
    line-height: 1.4666666667;
    width: 100%;
  }
}
.voice__card-detail-row dd {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.15;
  letter-spacing: 0.06em;
  margin-block: var(--leading-trim);
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .voice__card-detail-row dd {
    font-size: 1.4rem;
    line-height: 2.3571428571;
  }
}
.voice__card-detail-row--btm dt {
  font-size: 1.6rem;
  line-height: 2.125;
}
.voice__card-detail-body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .voice__card-detail-body {
    gap: 2rem;
    margin-top: 3rem;
  }
}
.voice__card-detail-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .voice__card-detail-title {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
.voice__card-detail-text {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-block: var(--leading-trim);
  font-family: var(--ibmplexsansjp);
}
@media screen and (max-width: 768px) {
  .voice__card-detail-text {
    font-size: 1.4rem;
    line-height: 1.8571428571;
  }
}
.voice__btn-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 11.2rem;
}
@media screen and (max-width: 768px) {
  .voice__btn-list {
    margin-top: 6.8rem;
  }
}
.voice__btn {
  width: 75.6rem;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 4.9rem;
  border-radius: 5.4rem;
  height: 10.8rem;
  position: relative;
  padding-left: 6.6rem;
}
.voice__btn:after, .voice__btn:before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.voice__btn:before {
  right: 2rem;
  width: 5rem;
  height: 5rem;
  background: url(../images/common/cta-circle.webp) no-repeat center center/contain;
}
.voice__btn:after {
  right: 4.3rem;
  width: 3.75rem;
  height: 0.45rem;
  background: url(../images/common/cta-arrow.webp) no-repeat center center/cover;
}
.voice__btn:hover:after {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%) translateX(0.3rem);
          transform: translateY(-50%) translateX(0.3rem);
}
.voice__btn:hover:before {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%) scale(1.05);
          transform: translateY(-50%) scale(1.05);
}
@media screen and (max-width: 768px) {
  .voice__btn {
    padding-left: 2.4rem;
    height: 7.4rem;
  }
  .voice__btn:before {
    right: 1.5rem;
    width: 3.4rem;
    height: 3.4rem;
  }
  .voice__btn:after {
    width: 2.65rem;
    height: 0.45rem;
    right: 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .voice__btn {
    padding-left: 3rem;
  }
}
.voice__btn .c-cta-btn__label {
  padding-inline: 5.2rem;
}
@media screen and (max-width: 768px) {
  .voice__btn .c-cta-btn__label {
    padding-inline: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .voice__btn {
    width: 36rem;
    display: grid;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 4.9rem;
    border-radius: 5.4rem;
    height: 10.8rem;
    position: relative;
  }
  .voice__btn:after, .voice__btn:before {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .voice__btn:before {
    right: 2rem;
    width: 5rem;
    height: 5rem;
    background: url(../images/common/cta-circle.webp) no-repeat center center/contain;
  }
  .voice__btn:after {
    right: 4.3rem;
    width: 3.75rem;
    height: 0.45rem;
    background: url(../images/common/cta-arrow.webp) no-repeat center center/cover;
  }
  .voice__btn:hover:after {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translateY(-50%) translateX(0.3rem);
            transform: translateY(-50%) translateX(0.3rem);
  }
  .voice__btn:hover:before {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translateY(-50%) scale(1.05);
            transform: translateY(-50%) scale(1.05);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .voice__btn {
    padding-left: 2.4rem;
    height: 7.4rem;
  }
  .voice__btn:before {
    right: 1.5rem;
    width: 3.4rem;
    height: 3.4rem;
  }
  .voice__btn:after {
    width: 2.65rem;
    height: 0.45rem;
    right: 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .voice__btn .voice__btn-label {
    font-size: 1.5rem;
  }
  .voice__btn--primary {
    height: 8.8rem;
    padding-top: 0.3rem;
  }
  .voice__btn--primary .voice__btn-text {
    line-height: 1.4;
    font-size: 2rem;
  }
}

.company {
  padding-block: 0 10rem;
  position: relative;
  /*   &__content {
    width: rem(1500);
    margin-inline: auto;
  } */
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .company {
    padding-block: 10rem;
  }
}
.company:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1924/1717;
  background: url(../images/pc/company-bg.webp) no-repeat center bottom/contain;
  z-index: -1;
}
@media screen and (min-width: 1921px) {
  .company:before {
    background-size: 100% 100%;
    max-height: 171.7rem;
  }
}
.company__inner {
  padding-top: 4.7rem;
}
.company__side-text {
  -webkit-writing-mode: lr;
      -ms-writing-mode: lr;
          writing-mode: lr;
  -webkit-transform: translateX(-15rem);
          transform: translateX(-15rem);
  margin-top: -10rem;
  color: #f8f8f8;
  scale: 1;
}
.company__info {
  margin-top: 3.5rem;
}
.company__info-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6rem;
}
.company__info-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
.company__info-label {
  min-height: 11.4rem;
  width: 34.4rem;
  display: grid;
  place-items: center;
  background-color: var(--light-gray);
  font-size: max(2.4rem, 12px);
  line-height: 1.75;
  font-weight: bold;
  letter-spacing: 0.06em;
  font-family: var(--ibmplexserif);
}
.company__info-value {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 11.4rem;
  padding-inline: 3.8rem;
  border-bottom: 2px solid #ececec;
  font-size: max(2.4rem, 12px);
  line-height: 1.8333333333;
  letter-spacing: 0.06em;
}
.company__bottom {
  margin-top: 13rem;
}
.company__promotion-image {
  width: 57rem;
  margin-inline: auto;
}
.company__promotion-text {
  margin-top: 6.6rem;
}
.company__promotion-title {
  text-align: center;
}
.company__promotion-title span {
  font-weight: bold;
  letter-spacing: 0.06em;
}
.company__main {
  padding-bottom: 8.6rem;
}
.company__promotion-fz60 {
  font-size: 6rem;
  line-height: 1.5;
}
.company__promotion-fz52 {
  font-size: 5.2rem;
  line-height: 1.7307692308;
}
.company__promotion-fz90 {
  font-size: 9rem;
  line-height: 1.5;
}
.company__promotion-fz90.mr-30 {
  margin-right: -3rem;
}
@media screen and (max-width: 768px) {
  .company__promotion-fz90.mr-30 {
    margin-right: 0;
  }
}
.company__promotion-fz92 {
  font-size: 9.2rem;
  line-height: 1.4673913043;
}
.company__promotion-small {
  font-size: 7.2rem;
  line-height: 1.875;
}
.company__promotion-fz48 {
  margin-top: 1rem;
  font-size: 4.8rem;
  letter-spacing: 0.03em;
}
.company__promotion-emphasis {
  width: 32.9rem;
  aspect-ratio: 329/89;
  -webkit-transform: translateY(1rem);
          transform: translateY(1rem);
  margin-right: 1.2rem;
}
.company__promotion-description {
  margin-top: 7.5rem;
}
.company__promotion-subtitle {
  font-size: max(2.4rem, 12px);
  line-height: 1.8333333333;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .company {
    padding-block: 0;
  }
  .company:before {
    content: none;
  }
  .company__main {
    padding-bottom: 6rem;
  }
  .company__main:before {
    content: "";
    position: absolute;
    bottom: 50rem;
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 390/476;
    background: url(../images/sp/company-bg.webp) no-repeat center bottom/contain;
    z-index: -1;
  }
  .company__inner {
    padding-top: 6.7rem;
    overflow-x: clip;
  }
  .company__side-text {
    -webkit-transform: translateX(0.7rem);
            transform: translateX(0.7rem);
    margin-top: -7.6rem;
  }
  .company__content {
    padding-inline: 1.5rem;
  }
  .company__info {
    margin-top: 5.6rem;
  }
  .company__info-list {
    gap: 0.45rem;
  }
  .company__info-item {
    gap: 0.55rem;
  }
  .company__info-label {
    min-height: 8rem;
    width: 9.3rem;
    font-size: 1.4rem;
    line-height: 1.7857142857;
    padding-block: 1.8rem 2rem;
  }
  .company__info-value {
    min-height: 8rem;
    padding-inline: 1rem;
    padding-block: 1.8rem 2rem;
    font-size: 1.4rem;
    line-height: 1.7857142857;
  }
  .company__bottom {
    margin-top: 6.6rem;
  }
  .company__promotion-image {
    width: 20rem;
  }
  .company__promotion-text {
    margin-top: 4.3rem;
  }
  .company__promotion-fz60 {
    font-size: 2.4rem;
    line-height: 1.625;
  }
  .company__promotion-fz52 {
    font-size: 2rem;
    line-height: 1.95;
  }
  .company__promotion-fz52 ~ .company__promotion-fz90,
  .company__promotion-fz52 .company__promotion-small {
    line-height: 1.5;
  }
  .company__promotion-fz90 {
    font-size: 4.4rem;
    line-height: 0.8863636364;
  }
  .company__promotion-small {
    font-size: 3.5rem;
    line-height: 1.1142857143;
  }
  .company__promotion-fz48 {
    margin-top: 1.3rem;
    font-size: 2rem;
    line-height: 1;
  }
  .company__promotion-emphasis {
    width: 16.4rem;
    aspect-ratio: 329/89;
    -webkit-transform: translateY(0.5rem);
            transform: translateY(0.5rem);
  }
  .company__promotion-description {
    margin-top: 3.7rem;
  }
  .company__promotion-subtitle {
    font-size: 1.6rem;
    line-height: 1.875;
    text-align: center;
  }
}

.company__cta {
  width: 180rem;
  margin-inline: auto;
  padding-block: 5.8rem 7.3rem;
  background: var(--orange-grad);
  border-radius: 1rem;
}
.company__cta-box {
  background: var(--white);
  width: 150rem;
  margin-inline: auto;
  padding-block: 7.4rem 5.2rem;
  border-radius: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.company__cta-title {
  font-size: 4rem;
  line-height: 1.5;
  font-weight: bold;
  letter-spacing: 0.06em;
  color: var(--orange);
  margin-bottom: 40px;
}
.company__cta-buttons {
  margin-top: 7.7rem;
  gap: 9rem;
}
.company__cta-contact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8.6rem;
  margin-top: 4.3rem;
  width: 73.3rem;
}
.company__cta-info {
  font-size: 2.4rem;
  line-height: 1.8333333333;
  font-weight: bold;
  letter-spacing: 0.06em;
}
.company__cta-info b {
  font-family: var(--ibmplexserif);
  font-weight: bold;
  margin-right: 3rem;
}
@media screen and (max-width: 768px) {
  .company__cta {
    width: 100%;
    padding-block: 2.2rem;
    border-radius: 0rem;
  }
  .company__cta-box {
    width: calc(100% - 3rem);
    padding-block: 4rem;
  }
  .company__cta-title {
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .company__cta-buttons {
    margin-top: 5.6rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.8rem;
    padding-inline: 1rem 1.1rem;
  }
  .company__cta-contact {
    gap: 2.5rem;
    margin-top: 4rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: auto;
    -webkit-transform: none;
            transform: none;
  }
  .company__cta-info {
    font-size: 1.6rem;
    line-height: 2.1875;
    margin-block: var(--leading-trim);
  }
  .company__cta-info b {
    margin-right: 1.1rem;
  }
}

.archivements {
  padding: 16rem 0 0rem;
  position: relative;
  aspect-ratio: 1920/1537;
}
@media screen and (min-width: 1921px) {
  .archivements {
    padding: 16rem 0 18.75rem;
    margin-top: -11.8rem;
    aspect-ratio: auto;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .archivements {
    aspect-ratio: 1920/1580;
  }
}
@media screen and (max-width: 768px) {
  .archivements {
    padding: 8.8rem 0 5.8rem;
    aspect-ratio: auto;
    margin-top: -2rem;
  }
}
.archivements::before {
  content: "";
  position: absolute;
  top: -0.8rem;
  left: 0;
  width: 100%;
  height: 153.65rem;
  z-index: -1;
  background-image: url(../images/pc/archivements-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1921px) {
  .archivements::before {
    height: 100%;
    background-size: 100% 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .archivements::before {
    height: 158rem;
  }
}
@media screen and (max-width: 768px) {
  .archivements::before {
    height: 101.4rem;
    background-image: url(../images/sp/archivements-bg.webp);
  }
}
.archivements__inner {
  overflow-x: clip;
}
.archivements .section__side-text {
  top: 5.4rem;
  left: 100%;
  scale: 1 1;
}
@media screen and (max-width: 768px) {
  .archivements .section__side-text {
    font-size: 6rem;
    top: -4.8rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}
.archivements__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6rem;
}
@media screen and (max-width: 768px) {
  .archivements__content {
    gap: 0rem;
  }
}
.archivements__sp-text {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4166666667;
  letter-spacing: 0.06em;
  display: none;
  text-align: center;
  margin-top: 4.6rem;
}
@media screen and (max-width: 768px) {
  .archivements__sp-text {
    display: block;
  }
}
.archivements__header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.archivements__subtitle {
  font-size: max(2.4rem, 12px);
  font-weight: 700;
  line-height: 1.4583333333;
  letter-spacing: 0.06em;
  padding-top: 3.3rem;
}
@media screen and (max-width: 768px) {
  .archivements__subtitle {
    font-size: 1.8rem;
    line-height: 1.7777777778;
    text-align: center;
    margin-block: var(--leading-trim);
    padding-top: 4rem;
  }
}
.archivements__table-wrapper {
  background: var(--white);
  padding: 6rem 5.5rem 5.2rem 10.2rem;
}
@media screen and (max-width: 768px) {
  .archivements__table-wrapper {
    padding: 3.3rem 2.6rem;
    overflow: auto;
    margin-top: 2rem;
  }
}
.archivements__table {
  width: 100%;
  border-collapse: collapse;
}
@media screen and (max-width: 768px) {
  .archivements__table {
    width: 82.7rem;
    white-space: nowrap;
  }
}
.archivements__table-header {
  background: #f8f8f8;
}
.archivements__table-row {
  border-bottom: 0.2rem solid #ececec;
}
.archivements__table-head {
  padding-block: 4.2rem;
  font-size: max(2.4rem, 13px);
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  text-align: center;
  font-family: var(--ibmplexsansjp);
}
@media screen and (max-width: 768px) {
  .archivements__table-head {
    font-size: 1.5rem;
    padding-block: 2.8rem;
  }
}
.archivements__table-head:nth-child(1) {
  width: 31rem;
}
@media screen and (max-width: 768px) {
  .archivements__table-head:nth-child(1) {
    width: 22.5rem;
  }
}
.archivements__table-head:nth-child(2) {
  width: 48rem;
}
@media screen and (max-width: 768px) {
  .archivements__table-head:nth-child(2) {
    width: 17rem;
  }
}
.archivements__table-head:nth-child(3) {
  width: calc(100% - 31rem - 48rem);
  padding-right: 7rem;
}
@media screen and (max-width: 768px) {
  .archivements__table-head:nth-child(3) {
    width: 43.2rem;
    padding-right: 0rem;
  }
}
.archivements__table-cell {
  padding-block: 3.5rem;
  font-size: max(2.4rem, 13px);
  line-height: 1.4583333333;
  letter-spacing: 0.06em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .archivements__table-cell {
    font-size: 1.5rem;
    line-height: 1.4;
    padding-block: 2.2rem;
  }
}
.archivements__table-cell:first-child {
  padding-left: 8rem;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .archivements__table-cell:first-child {
    padding-left: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .archivements__table-cell:first-child {
    padding-left: 5rem;
  }
}
.archivements__table-cell:nth-child(2) {
  text-align: center;
}
.archivements__table-cell:nth-child(3) {
  padding-left: 8.2rem;
}
@media screen and (max-width: 768px) {
  .archivements__table-cell:nth-child(3) {
    padding-left: 12.6rem;
  }
}
.archivements__table-cell--bold {
  font-family: var(--ibmplexsansjp);
}
.archivements__table-cell .archivements__highlight {
  color: var(--orange);
  font-weight: 700;
}
.archivements__btn-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 12.2rem;
}
@media screen and (max-width: 768px) {
  .archivements__btn-list {
    margin-top: 6.6rem;
  }
}
.archivements__btn {
  width: 75.6rem;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 4.9rem;
  border-radius: 5.4rem;
  height: 10.8rem;
  position: relative;
  padding-left: 6.6rem;
}
.archivements__btn:after, .archivements__btn:before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.archivements__btn:before {
  right: 2rem;
  width: 5rem;
  height: 5rem;
  background: url(../images/common/cta-circle.webp) no-repeat center center/contain;
}
.archivements__btn:after {
  right: 4.3rem;
  width: 3.75rem;
  height: 0.45rem;
  background: url(../images/common/cta-arrow.webp) no-repeat center center/cover;
}
.archivements__btn:hover:after {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%) translateX(0.3rem);
          transform: translateY(-50%) translateX(0.3rem);
}
.archivements__btn:hover:before {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%) scale(1.05);
          transform: translateY(-50%) scale(1.05);
}
@media screen and (max-width: 768px) {
  .archivements__btn {
    padding-left: 2.4rem;
    height: 7.4rem;
  }
  .archivements__btn:before {
    right: 1.5rem;
    width: 3.4rem;
    height: 3.4rem;
  }
  .archivements__btn:after {
    width: 2.65rem;
    height: 0.45rem;
    right: 3.2rem;
  }
}
.archivements__btn .c-cta-btn__label {
  left: 5.6rem;
}
@media screen and (max-width: 768px) {
  .archivements__btn {
    width: 36rem;
    display: grid;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 4.9rem;
    border-radius: 5.4rem;
    height: 10.8rem;
    position: relative;
    padding-left: 3rem;
  }
  .archivements__btn:after, .archivements__btn:before {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .archivements__btn:before {
    right: 2rem;
    width: 5rem;
    height: 5rem;
    background: url(../images/common/cta-circle.webp) no-repeat center center/contain;
  }
  .archivements__btn:after {
    right: 4.3rem;
    width: 3.75rem;
    height: 0.45rem;
    background: url(../images/common/cta-arrow.webp) no-repeat center center/cover;
  }
  .archivements__btn:hover:after {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translateY(-50%) translateX(0.3rem);
            transform: translateY(-50%) translateX(0.3rem);
  }
  .archivements__btn:hover:before {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translateY(-50%) scale(1.05);
            transform: translateY(-50%) scale(1.05);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .archivements__btn {
    padding-left: 2.4rem;
    height: 7.4rem;
  }
  .archivements__btn:before {
    right: 1.5rem;
    width: 3.4rem;
    height: 3.4rem;
  }
  .archivements__btn:after {
    width: 2.65rem;
    height: 0.45rem;
    right: 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .archivements__btn .c-cta-btn__label {
    left: 2.4rem;
  }
  .archivements__btn .archivements__btn-label {
    font-size: 1.5rem;
  }
  .archivements__btn--primary {
    height: 8.8rem;
    padding-top: 0.3rem;
  }
  .archivements__btn--primary .archivements__btn-text {
    line-height: 1.4;
    font-size: 2rem;
  }
}

.flow {
  position: relative;
  padding: 12.8rem 0 4rem;
  z-index: 2;
}
@media screen and (min-width: 1921px) {
  .flow {
    padding: 12.8rem 0 17.7rem;
  }
}
@media screen and (max-width: 768px) {
  .flow {
    padding: 8.5rem 0 6.6rem;
  }
}
.flow::before {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0;
  width: 100%;
  height: 147rem;
  z-index: -1;
  background-image: url(../images/pc/flow-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1921px) {
  .flow::before {
    height: 100%;
    background-size: 100% 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .flow::before {
    height: 150rem;
  }
}
@media screen and (max-width: 768px) {
  .flow::before {
    height: 106.4rem;
    background-image: url(../images/sp/flow-bg.webp);
  }
}
.flow .section__side-text {
  top: -4.2rem;
  right: 100%;
  color: #ececec;
}
@media screen and (max-width: 768px) {
  .flow .section__side-text {
    top: -6rem;
    left: auto;
    right: 0.6rem;
  }
}
.flow__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5.2rem;
}
@media screen and (max-width: 768px) {
  .flow__content {
    gap: 6rem;
  }
}
.flow__header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.8rem;
}
@media screen and (max-width: 768px) {
  .flow__header {
    gap: 3rem;
  }
}
.flow__title {
  line-height: 1.4166666667;
}
@media screen and (max-width: 768px) {
  .flow__title {
    line-height: 1.4230769231;
  }
}
.flow__subtitle {
  font-size: max(2.4rem, 12px);
  font-weight: 700;
  line-height: 1.4583333333;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .flow__subtitle {
    font-size: 1.8rem;
    line-height: 1.7777777778;
    text-align: center;
  }
}
.flow__steps {
  max-width: 110rem;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .flow__steps {
    max-width: 550px;
  }
}
@media screen and (max-width: 768px) {
  .flow__steps {
    gap: 2.8rem;
  }
}
.flow__steps::before {
  content: "";
  display: block;
  width: 1rem;
  height: 100%;
  background: #ececec;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .flow__steps::before {
    width: 0.75rem;
  }
}
.flow__step {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  background: var(--white);
  padding: 2.4rem 3.6rem;
}
@media screen and (max-width: 768px) {
  .flow__step {
    padding: 1.5rem 1rem 1.5rem 1.4rem;
    gap: 1rem;
  }
}
.flow__step-icon {
  position: relative;
  background: var(--orange-grad);
  border-radius: 50%;
  width: 11rem;
  height: 11rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 2.4rem;
}
@media screen and (max-width: 768px) {
  .flow__step-icon {
    width: 8.2rem;
    height: 8.2rem;
    padding-top: 1.8rem;
  }
}
.flow__step-icon::before {
  content: "";
  display: block;
  width: 9.8rem;
  height: 9.8rem;
  background: var(--white);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .flow__step-icon::before {
    width: 7.3rem;
    height: 7.3rem;
  }
}
.flow__step-icon-text {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4166666667;
  letter-spacing: 0.06em;
  position: relative;
  z-index: 2;
  color: var(--orange);
}
@media screen and (max-width: 768px) {
  .flow__step-icon-text {
    font-size: 1.7rem;
    line-height: 1.4117647059;
  }
}
.flow__step-icon-number {
  font-size: 4.2rem;
  line-height: 1.4285714286;
  font-weight: 400;
  color: var(--orange);
  font-family: var(--rozhone);
  letter-spacing: 0.03em;
  position: relative;
  z-index: 2;
  margin-top: -1.5rem;
}
@media screen and (max-width: 768px) {
  .flow__step-icon-number {
    font-size: 3.1rem;
    line-height: 1.4193548387;
    margin-top: -1.15rem;
  }
}
.flow__step-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .flow__step-content {
    gap: 1.8rem;
  }
}
.flow__step-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .flow__step-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .flow__step-title {
    font-size: 1.8rem;
    line-height: 1.4444444444;
  }
}
.flow__step-description {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-block: var(--leading-trim);
  font-family: var(--ibmplexsansjp);
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .flow__step-description {
    font-size: 13px;
  }
}
@media screen and (max-width: 768px) {
  .flow__step-description {
    font-size: 1.4rem;
    line-height: 1.7857142857;
  }
}

.faq {
  position: relative;
  padding: 18.8rem 0 20rem;
  overflow: hidden;
  z-index: 1;
}
@media screen and (min-width: 1921px) {
  .faq {
    margin-top: -14rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .faq {
    margin-top: -2rem;
  }
}
@media screen and (max-width: 768px) {
  .faq {
    padding: 10rem 0 7.6rem;
  }
}
.faq::before {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0;
  width: 100%;
  /* height: rem(1378); */
  height: 100%;
  z-index: -1;
  background-image: url(../images/pc/faq-bg.webp);
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .faq::before {
    background-image: url(../images/sp/faq-bg.webp);
  }
}
.faq .section__side-text {
  top: 8.3rem;
  left: 100%;
  scale: 1 1;
}
@media screen and (max-width: 768px) {
  .faq .section__side-text {
    top: -6.8rem;
    left: auto;
    right: 1.5rem;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}
.faq__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7.4rem;
}
@media screen and (max-width: 768px) {
  .faq__content {
    gap: 6rem;
  }
}
.faq__header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.faq__title {
  line-height: 1.4166666667;
}
@media screen and (max-width: 768px) {
  .faq__title {
    line-height: 1.4230769231;
  }
}
.faq__subtitle {
  font-size: max(2.4rem, 12px);
  font-weight: 700;
  line-height: 1.4583333333;
  letter-spacing: 0.06em;
  padding-top: 4rem;
}
@media screen and (max-width: 768px) {
  .faq__subtitle {
    font-size: 1.8rem;
    line-height: 1.7777777778;
    text-align: center;
    margin-block: var(--leading-trim);
    padding-top: 3rem;
  }
}
.faq__list {
  max-width: 110rem;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.1rem;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .faq__list {
    max-width: 500px;
  }
}
@media screen and (max-width: 768px) {
  .faq__list {
    gap: 2rem;
  }
}
.faq__item {
  position: relative;
  gap: 5rem;
  background: var(--white);
  padding: 2.7rem 3.5rem;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0rem 1.5rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0rem 1.5rem rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .faq__item {
    padding: 1.7rem 1.3rem;
    gap: 1.8rem;
  }
}
.faq__item.is-active .faq__question {
  margin-bottom: 2.7rem;
}
@media screen and (max-width: 768px) {
  .faq__item.is-active .faq__question {
    margin-bottom: 2rem;
  }
}
.faq__item.is-active .faq__question-icon {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.faq__question {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  font-size: max(2.4rem, 14px);
  font-weight: 700;
  line-height: 1.4583333333;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .faq__question {
    font-size: 1.8rem;
    line-height: 1.4444444444;
  }
}
.faq__question::before {
  content: "Q.";
  display: block;
  font-size: max(3.2rem, 15px);
  font-family: var(--rozhone);
  font-weight: 700;
  line-height: 1.4375;
  letter-spacing: 0.06em;
  color: var(--orange);
  margin-right: 1.4rem;
}
@media screen and (max-width: 768px) {
  .faq__question::before {
    font-size: 2.6rem;
    line-height: 1.4230769231;
    margin-right: 0.7rem;
  }
}
.faq__question-icon {
  width: 1.8rem;
  height: 1.8rem;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  position: absolute;
  top: 3.8rem;
  right: 3rem;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .faq__question-icon {
    width: 10px;
    height: 10px;
  }
}
@media screen and (max-width: 768px) {
  .faq__question-icon {
    width: 1.4rem;
    height: 1.4rem;
    top: 2.4rem;
    right: 1.8rem;
  }
}
.faq__question-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.faq__answer {
  font-size: max(2rem, 13px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-block: var(--leading-trim);
  padding-bottom: 2.3rem;
  padding-left: 4.6rem;
  font-family: var(--ibmplexsansjp);
}
@media screen and (max-width: 768px) {
  .faq__answer {
    font-size: 1.4rem;
    line-height: 1.7857142857;
    padding-left: 3.3rem;
    padding-bottom: 1.6rem;
  }
}

.policy {
  padding: 8rem 0 0;
  position: relative;
  aspect-ratio: 1920/660;
  max-width: 192rem;
  margin-inline: auto;
}
@media screen and (min-width: 1921px) {
  .policy {
    padding: 8rem 0 8.5rem;
    aspect-ratio: auto;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .policy {
    margin-top: 6rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 860px) {
  .policy {
    margin-top: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .policy {
    padding: 1.5rem 0 3.4rem;
    aspect-ratio: auto;
  }
}
@media screen and (max-width: 768px) {
  .policy__inner {
    padding-inline: 0rem;
  }
}
.policy__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5.5rem;
}
@media screen and (max-width: 768px) {
  .policy__content {
    gap: 3rem;
    margin-block: 4rem;
  }
}
.policy__person {
  position: absolute;
}
.policy__person--left {
  width: 36.6rem;
  top: 4rem;
  left: 0;
}
.policy__person--right {
  width: 39.4rem;
  top: 15.7rem;
  right: 0;
}
@media screen and (max-width: 768px) {
  .policy__person {
    position: static;
  }
  .policy__person--left {
    width: 31.1rem;
    top: auto;
    left: auto;
    margin-inline: auto;
  }
  .policy__person--right {
    width: 31.1rem;
    top: auto;
    right: auto;
    margin-inline: auto;
  }
}
.policy__step {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
.policy__step-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
}
.policy__step-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .policy__step-item {
    gap: 1rem;
  }
}
.policy__step-number {
  width: 4.7rem;
  height: 4.7rem;
  background-image: url(../images/common/orange-grad-circle.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.1666666667;
  color: var(--orange);
  font-family: var(--rozhone);
}
@media screen and (max-width: 768px) {
  .policy__step-number {
    width: 3.6rem;
    height: 3.6rem;
    font-size: 2.2rem;
  }
}
.policy__step-text {
  font-size: max(2.8rem, 14px);
  font-weight: 700;
  line-height: 1.25;
  font-family: var(--ibmplexsansjp);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .policy__step-text {
    font-size: 1.6rem;
    line-height: 1.375;
  }
}
.policy__conclusion {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .policy__conclusion {
    gap: 2.4rem;
  }
}
.policy__conclusion-text--s {
  font-size: max(2.4rem, 13px);
  font-weight: 700;
  line-height: 1.4583333333;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .policy__conclusion-text--s {
    font-size: 1.8rem;
    line-height: 1.5555555556;
  }
}
.policy__conclusion-text--m {
  font-size: 4.6rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.03em;
  text-align: center;
  margin-top: 3.4rem;
}
@media screen and (max-width: 768px) {
  .policy__conclusion-text--m {
    font-size: 2.4rem;
    line-height: 1.9166666667;
    margin-top: 2.2rem;
  }
}
.policy__conclusion-text--m .policy__highlight {
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.3833333333;
  color: var(--orange);
}
@media screen and (max-width: 768px) {
  .policy__conclusion-text--m .policy__highlight {
    font-size: 3.2rem;
    line-height: 1.4375;
  }
}

.fv {
  aspect-ratio: 1920/1135;
  position: relative;
}
@media screen and (min-width: 1921px) {
  .fv {
    aspect-ratio: auto;
    height: 113.5rem;
  }
}
.fv::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  aspect-ratio: 1920/1135;
  height: auto;
  background: url(../images/pc/fv.png) no-repeat center center/cover;
}
@media screen and (min-width: 1921px) {
  .fv::before {
    background-size: 100% 100%;
    aspect-ratio: auto;
  }
}
.fv__inner {
  height: 100%;
  padding-block: 20rem 8.6rem;
}
.fv__content-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.fv__content {
  padding-top: 3rem;
  width: 65rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.fv__visual {
  position: relative;
  width: 102.4rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-transform: translateX(-6rem);
          transform: translateX(-6rem);
}
.fv__laptop {
  height: 57.6rem;
  width: 100%;
  position: relative;
}
.fv__laptop::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 905/509;
  background: url(../images/pc/laptop.webp) no-repeat center center/cover;
  z-index: -1;
}
.fv__laptop-screen {
  padding-top: 6.5rem;
  width: 72.2rem;
  margin-inline: auto;
  position: relative;
}
.fv__laptop-screen::before {
  content: "";
  position: absolute;
  inset: 0;
}
.fv__achievement {
  text-align: center;
  position: absolute;
  top: -6rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.fv__achievement-text {
  font-size: 3rem;
  font-family: var(--ibmplexserif);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.06em;
  margin-bottom: 1.5rem;
}
.fv__achievement-text.slash::before, .fv__achievement-text.slash::after {
  height: 4.5rem;
}
.fv__achievement-text.slash::before {
  left: -3rem;
}
.fv__achievement-text.slash::after {
  right: -3rem;
}
.fv__cta {
  margin-top: 10.5rem;
}
.fv__cta-buttons {
  gap: 9rem;
}
.fv__description {
  margin-top: 6.5rem;
}
@media screen and (max-width: 768px) {
  .fv {
    aspect-ratio: auto;
  }
  .fv::before {
    -webkit-transform: translateY(6.4rem);
            transform: translateY(6.4rem);
    aspect-ratio: 390/864;
    height: 100%;
    background: url(../images/sp/fv.png) no-repeat center center/cover;
  }
  .fv__content {
    padding-top: 0rem;
  }
  .fv__content-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.8rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .fv__inner {
    height: 100%;
    padding-block: 9rem 1.65rem;
  }
  .fv__visual {
    width: 100cqi;
    -webkit-transform: translateX(0rem);
            transform: translateX(0rem);
  }
  .fv__laptop {
    height: 21.9rem;
  }
  .fv__laptop::before {
      content: "";
      position: absolute;
      inset: 0;
      width: 100%;
      height: auto;
      aspect-ratio: 905 / 509;
      background: url(../images/pc/laptop.webp) no-repeat center center / cover;
      z-index: -1;
      display: none;
    } 
  .fv__laptop-screen {
    padding-top: 0rem;
    width: 96%;
  }
  .fv__achievement {
    position: initial;
    -webkit-transform: translateX(0rem);
            transform: translateX(0rem);
  }
  .fv__achievement-text {
    font-size: 1.8rem;
    line-height: 1.3888888889;
    margin-bottom: 1rem;
  }
  .fv__achievement-text.slash::before, .fv__achievement-text.slash::after {
    height: 2.8rem;
  }
  .fv__achievement-text.slash::before {
    left: -1rem;
  }
  .fv__achievement-text.slash::after {
    right: -1rem;
  }
  .fv__content {
    width: calc(100% - 3rem);
  }
  .fv__cta {
    margin-top: 4.3rem;
  }
  .fv__cta-buttons {
    gap: 3.8rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .fv__description {
    margin-top: 1.7rem;
  }
}

.fv__slider {
  padding-bottom: 3.5rem !important;
  padding-inline: 3rem !important;
}
.fv__slider .swiper-slide {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
  border-radius: 10px;
  -webkit-box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.16);
}
.fv__slider .fv__pagination {
  bottom: 0 !important;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
}
.fv__slider .fv__pagination .swiper-pagination-bullet {
  width: 1.2rem;
  height: 1.2rem;
  background: #d2d2d2;
  opacity: 1;
}
.fv__slider .fv__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--orange);
}
.fv__slider .swiper-button-prev,
.fv__slider .swiper-button-next {
  top: 46% !important;
  width: 6rem;
  height: 6rem;
  background: url(../images/common/slide-btn.png) no-repeat center center/contain;
  -webkit-filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.16));
}
.fv__slider .swiper-button-prev::after,
.fv__slider .swiper-button-next::after {
  display: none;
}
.fv__slider .swiper-button-prev {
  -webkit-transform: translateX(0rem);
          transform: translateX(0rem);
}
.fv__slider .swiper-button-next {
  -webkit-transform: rotate(180deg) translateX(0rem);
          transform: rotate(180deg) translateX(0rem);
}
@media screen and (max-width: 768px) {
  .fv__slider {
    padding-bottom: 1.5rem !important;
    padding-inline: 15px !important;
    /* .swiper-slide {
      padding-inline: rem(7);
    } */
  }
  .fv__slider .fv__pagination {
    gap: 1.2rem;
  }
  .fv__slider .fv__pagination .swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
  }
  .fv__slider .swiper-button-prev,
  .fv__slider .swiper-button-next {
    width: 3rem;
    height: 3rem;
  }
  .fv__slider .swiper-button-prev {
    -webkit-transform: translateX(-0.5rem) translateY(0.5rem);
            transform: translateX(-0.5rem) translateY(0.5rem);
    left: 1rem !important;
  }
  .fv__slider .swiper-button-next {
    -webkit-transform: rotate(180deg) translateX(-0.5rem) translateY(-0.5rem);
            transform: rotate(180deg) translateX(-0.5rem) translateY(-0.5rem);
    right: 1rem !important;
  }
}

.vseo {
  padding-block: 1.3rem 20rem;
  position: relative;
}
@media screen and (min-width: 1921px) {
  .vseo {
    margin-top: -10rem;
    padding-block: 11.3rem 20rem;
  }
}
@media screen and (max-width: 768px) {
  .vseo {
    padding-block: 1.95rem 8.24rem;
  }
}
.vseo::before {
  content: "";
  position: absolute;
  top: 0;
  /* transform: translateY(rem(-102)); */
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/1790;
  z-index: -1;
  background-image: url(../images/pc/vseo-bg.webp);
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1921px) {
  .vseo::before {
    height: 100%;
    aspect-ratio: auto;
    background-size: 100% 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .vseo::before {
    height: 185rem;
    min-height: 880px;
  }
}
@media screen and (max-width: 768px) {
  .vseo::before {
    /*  height: rem(1422); */
    aspect-ratio: 390/1547;
    background-size: 100% 100%;
    height: 100%;
    margin-top: -3rem;
    background-image: url(../images/sp/vseo-bg.webp);
  }
}
.vseo__header {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .vseo__inner {
    width: 90%;
  }
}
.vseo__title {
  font-size: max(4.8rem, 28px);
  letter-spacing: 0.03em;
  line-height: 1.6666666667;
  letter-spacing: 0.03em;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .vseo__title {
    font-size: 2.3rem;
    line-height: 1.7307692308;
  }
}
.vseo__sub {
  text-align: center;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .vseo__sub {
    font-size: max(5.4rem, 26px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .vseo__sub-img {
    width: max(32.9rem, 160px);
  }
}
.vseo__description {
  margin-block: var(--leading-trim);
  text-align: center;
  padding-top: 6.32rem;
  line-height: 1.8333333333;
  letter-spacing: 0.06em;
  font-weight: bold;
  font-size: max(2.4rem, 13px);
}
@media screen and (max-width: 768px) {
  .vseo__description {
    text-align: left;
    padding-top: 3.6rem;
    font-size: 1.5rem;
    line-height: 2;
  }
}
.vseo__main {
  background: var(--white);
  border-radius: 1rem;
  padding: 7rem 7.8rem 6.8rem 8.7rem;
  margin-top: 8rem;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .vseo__main {
    padding-inline: 20px;
  }
}
@media screen and (max-width: 768px) {
  .vseo__main {
    padding: 2.32rem 1.8rem 4.3rem;
    margin-top: 3.8rem;
  }
}
.vseo__definition {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .vseo__definition {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 3.2rem;
  }
}
.vseo__definition-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5.6rem;
}
@media screen and (max-width: 768px) {
  .vseo__definition-content {
    gap: 2.63rem;
  }
}
.vseo__definition-title {
  letter-spacing: 0.03em;
  line-height: 1.6666666667;
  padding-top: 2.9rem;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .vseo__definition-title {
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .vseo__definition-title {
    /*  margin-block: $leading-trim; */
    font-size: 2.6rem;
    line-height: 1.5;
    padding-top: 0;
  }
}
.vseo__definition-text {
  margin-block: var(--leading-trim);
  font-size: max(2.4rem, 13px);
  line-height: 1.8333333333;
  letter-spacing: 0.06em;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .vseo__definition-text {
    font-size: 1.5rem;
    line-height: 2;
  }
}
.vseo__definition-image {
  width: 49.1rem;
}
@media screen and (max-width: 768px) {
  .vseo__definition-image {
    width: 100%;
    -webkit-transform: translateX(0.4rem);
            transform: translateX(0.4rem);
  }
}
.vseo__btn {
  margin-top: 3.8rem;
  text-align: right;
  font-size: max(1.6rem, 11px);
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.06em;
  color: #08558f;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  text-underline-offset: 4px;
  display: block;
}
@media screen and (max-width: 768px) {
  .vseo__btn {
    /* margin-top: rem(20.9); */
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.5;
    padding-top: 2.09rem;
    margin-block: var(--leading-trim);
    text-underline-offset: 2px;
  }
}

.vseo__benefits {
  margin-top: 6.9rem;
  padding: 6rem 7.8rem 4rem;
  background: #f8f8f8;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5.4rem;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .vseo__benefits {
    padding-inline: 20px;
  }
}
@media screen and (max-width: 768px) {
  .vseo__benefits {
    margin-top: 3.8rem;
    padding: 3.4rem 1.2rem 1.6rem 1rem;
    gap: 3rem;
  }
}
.vseo__benefits-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.vseo__benefits-title {
  font-size: max(3.2rem, 18px);
  font-weight: 700;
  line-height: 1.4375;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .vseo__benefits-title {
    font-size: 2.4rem;
    line-height: 1.4583333333;
  }
}
.vseo__benefits-list {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 2.5rem 3.7rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .vseo__benefits-list {
    gap: 1.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.vseo__benefits-item {
  width: calc(50% - 1.85rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  padding: 3.15rem 3.8rem;
  background: var(--white);
  border-radius: 0.5rem;
  margin-block: var(--leading-trim);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .vseo__benefits-item {
    padding-block: 2.1rem;
    padding-inline: 1rem;
    min-height: 6.5rem;
    gap: 1rem;
    width: 100%;
  }
}
.vseo__benefits-icon {
  display: block;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: -webkit-gradient(linear, left top, right top, from(#eba139), to(#dcd900));
  background: -webkit-linear-gradient(left, #eba139, #dcd900);
  background: linear-gradient(to right, #eba139, #dcd900);
}
@media screen and (max-width: 768px) {
  .vseo__benefits-icon {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.vseo__benefits-text {
  font-size: max(2.4rem, 13px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  font-family: var(--ibmplexsansjp);
}
.vseo__benefits-text > span {
  display: inline;
}
@media screen and (max-width: 768px) {
  .vseo__benefits-text {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-block: var(--leading-trim);
  }
}
.form-box{
  width: 94%;
  max-width:600px;
}
.form-box label {
  font-weight: bold;
  display: block;
  font-size: 18px;
  margin: 0.5em 0 0.2em;
}
.form-box form input,
.form-box form textarea {
  width: 100%;
  padding: 20px;
  margin-bottom: 1em;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 18px;
  box-sizing: border-box;
  background: #fff;
}

.form-box form textarea {
  min-height: 120px;
  resize: vertical;
}

.form-box button {
  background: #007bff;
  color: #fff;
  padding: 0.75em 2em;
  border: none;
  border-radius: 4px;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
  width:100%;
  transition: background 0.3s;
}

.form-box button:hover {
  background: #0056b3;
}
.d_flex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.d_flex > div{
  width: 49%;
}
.d_flex .form-box{
  width: 49%;
}
.paper-box{
  width:98%;
  max-width: 1200px;
  margin: 0 auto;
}
h1.center{
  text-align: center;
}
.paper h1{
  margin-top: 80px;
}
.paper{
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .d_flex > div{
    width: 96%;
    margin: 0 auto;
  }
  .d_flex .form-box{
    width: 96%;
  }
  h1.center{
    width: 96%;
  }
  .paper-header{
    margin-top: 10px;
  }
}
/*# sourceMappingURL=style.css.map */


/* 2025-09-16 */
.fv__service {
  justify-content: center;
  letter-spacing: 0.06em;
}

.logo {
  padding-block: 12rem;
}
@media screen and (max-width:768px) {
  .logo {
    padding-block: 8rem 4rem;
  }
}
.logo__images {
  display: grid;
  grid-template-columns: repeat(1, 2fr);
  gap: 50px;
  margin-top: 50px;
}
@media screen and (max-width:768px) {
  .logo__images {
    gap: 20px;
    margin-top: 20px;
  }
}
.logo__img-top{
  display: grid;
  grid-template-columns:  1fr 1fr 1fr 1fr 1fr;
  gap: 50px;
}
@media screen and (max-width:768px) {
  .logo__img-top{
    gap: 20px;
  }
}
.logo__img-bottom{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 50px;
}
@media screen and (max-width:768px) {
  .logo__img-bottom{
    gap: 20px;
  }
}
.logo__img-item img {
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 250 / 100;
}
