@charset "UTF-8";
@font-face {
  font-family: "Corporate-Logo-Bold-ver2";
  src: url("../font/Corporate-Logo-Bold-ver2.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
/* common 
******************************************************************************************/
html {
  font-size: 10px;
  scroll-behavior: smooth;
  scroll-padding-top: 50px;
}

@media (min-width: 769px) and (max-width: 1025px) {
  html {
    font-size: 0.9756097561vw;
  }
}
@media (max-width: 390px) {
  html {
    font-size: 2.5641025641vw;
  }
}
body {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  font-family: "Noto Sans JP", serif, "Hiragino Sans", "ヒラギノ角ゴシック";
  color: #3A3A3A;
}

body.is-noscroll {
  overflow: hidden;
}

.main {
  font-family: "Noto Sans JP", serif;
}

img {
  width: 100%;
  height: auto;
}

a[href^="tel:"] {
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}
.container {
  max-width: 116rem;
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .container {
    width: 100%;
  }
}
.posts {
  padding: 8rem 1.6rem 8.8rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .posts {
    padding: 5.6rem 1.6rem 6rem;
  }
}
.posts-container {
  max-width: 118.4rem;
  width: 100%;
  margin-inline: auto;
}

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

@media screen and (max-width: 768px) {
  .pc-none {
    display: block;
  }
}
.btn_more {
  display: flex;
  align-items: center;
  width: 32.2rem;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 1.2rem 3.2rem 1.2rem 11.2rem;
  margin: 5.6rem auto 0;
  border: 0.3rem solid #0D8EF8;
  background-color: #FAFAFA;
  color: #0D8EF8;
  border-radius: 100vmax;
  box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.2);
  transition: border 0.4s, background-color 0.4s, color 0.4s;
}

@media screen and (max-width: 768px) {
  .btn_more {
    padding: 1.2rem 3.2rem 1.2rem 11rem;
  }
}
.btn_more::after {
  display: inline-block;
  content: "";
  width: 1.6rem;
  aspect-ratio: 16/32;
  background-color: #0D8EF8;
  mask-image: url(../images/common/btn_arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  vertical-align: middle;
  rotate: 180deg;
  margin-left: auto;
  transition: background-color 0.4s;
}

@media (any-hover: hover) {
  .btn_more:hover {
    border: 0.3rem solid #FAFAFA;
    background-color: #0D8EF8;
    color: #FAFAFA;
  }
  .btn_more:hover::after {
    background-color: #FAFAFA;
  }
}
.highlight {
  text-shadow: 0.1rem 0.1rem 0.1rem #fff;
  background: linear-gradient(to bottom, transparent 0%, transparent 40%, #FDE69B 40%, #FDE69B 100%);
}

.btn_more--dark {
  border-radius: 0.4rem;
}

/*** header 
****************************************************************************************/
.header {
  position: fixed;
  width: 100%;
  padding: 1.5rem 2rem;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 3;
  transition: padding 0.4s;
}

@media screen and (max-width: 768px) {
  .header {
    padding: 1.6rem 1.3rem;
  }
}
.header--white {
  transition: background-color 0.4s;
}

.header--white .header-nav__item.white {
  color: #fff;
}

.header--white.bg-transparent {
  background-color: transparent;
}

.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.4rem;
  max-width: 116rem;
  width: 100%;
  margin-inline: auto;
  z-index: 4;
}

@media screen and (max-width: 768px) {
  .header__inner {
    gap: 0;
  }
}
.header__logo.white {
  height: 13.9rem;
  transition: height 0.4s;
}

@media screen and (max-width: 768px) {
  .header__logo.white {
    height: 9.6rem;
  }
}
.header__logo {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  transition: height 0.4s;
}

.header__logo img {
  height: 100%;
}

.header-btn {
  position: relative;
  width: 56px;
  margin-left: auto;
  aspect-ratio: 1;
  z-index: 2;
  cursor: pointer;
  transition: background-color 0.4s;
  z-index: 4;
}

@media screen and (max-width: 768px) {
  .header-btn {
    order: 1;
  }
}
.header__right {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .header__right {
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .header-nav {
    display: none;
  }
}
.header-nav__list {
  display: flex;
  align-items: center;
  gap: 4.8rem;
}

@media (max-width: 1220px) {
  .header-nav__list {
    gap: 2rem;
  }
}
.header-nav__item {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: color 0.4s;
}

@media (max-width: 1220px) {
  .header-nav__item {
    font-size: 1.3rem;
  }
}
.header-nav__item > a {
  transition: opacity 0.4s;
}

.header-nav__item > a:active {
  opacity: 0.6;
}

@media (any-hover: hover) {
  .header-nav__item:hover > a {
    opacity: 0.6;
  }
}
.header-nav__item.no-link > a {
  pointer-events: none;
}

.header-nav-child-wrap {
  position: absolute;
  display: flex;
  gap: 3.2rem;
  width: max-content;
  padding: 1.6rem;
  top: 3.4rem;
  left: 0;
  background-color: #fff;
  border-radius: 0.8rem;
  box-shadow: 0 0.1rem 1rem 0 rgba(0, 0, 0, 0.2);
  visibility: hidden;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.3s ease;
}

.header-nav-child-wrap::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 1.6rem;
  top: -1.6rem;
  left: 0;
  background: transparent;
}

.header-nav__item:hover .header-nav-child-wrap {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.header-nav-child {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.header-nav-child__item {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #3A3A3A;
  transition: opacity 0.4s;
  white-space: nowrap;
}

@media (any-hover: hover) {
  .header-nav-child__item:hover {
    opacity: 0.6;
  }
}
.header__btn {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  width: 20rem;
  height: 5.6rem;
  color: #212121;
  border-radius: 100vmax;
  transition: opacity 0.4s;
}

.header__btn span {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.header__btn:active {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .header__btn {
    display: none;
  }
}
@media (any-hover: hover) {
  .header__download:hover {
    background-color: #212121;
    color: #BBD5FC;
  }
  .header__download:hover span::before {
    background-color: #BBD5FC;
  }
}
.header__download {
  border: 0.2rem solid #BBD5FC;
  background-color: #BBD5FC;
  padding-left: 1.5rem;
  margin-left: 5.4rem;
  transition: background-color 0.4s, color 0.4s;
}

@media (max-width: 1220px) {
  .header__download {
    margin-left: 2.4rem;
  }
}
.header__download span {
  position: relative;
}

.header__download span::before {
  display: block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  background-color: #212121;
  mask-image: url(../images/common/download.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.4s;
}

@media screen and (max-width: 768px) {
  .header__download span::before {
    width: 2.4rem;
  }
}
.header__contact {
  border: 0.2rem solid #FEC01B;
  padding-left: 2.5rem;
  margin-left: 1.1rem;
  background-color: #FEC01B;
  transition: background-color 0.4s, color 0.4s;
}

.header__contact span {
  position: relative;
}

.header__contact span::before {
  display: block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  background-color: #212121;
  mask-image: url(../images/common/mail.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.4s;
}

@media screen and (max-width: 768px) {
  .header__contact span::before {
    width: 2.4rem;
    margin: 0 auto 0.4rem;
  }
}
@media (any-hover: hover) {
  .header__contact:hover {
    background-color: #212121;
    color: #FEC01B;
  }
  .header__contact:hover span::before {
    background-color: #FEC01B;
  }
}
.header-btn {
  display: none;
}

@media screen and (max-width: 768px) {
  .header-btn {
    display: block;
  }
}
.header--white .header-btn.white span {
  background-color: #fff;
}

.header-btn span {
  position: absolute;
  width: 42px;
  height: 4px;
  left: 50%;
  translate: -50%;
  background-color: #000;
  -webkit-transition: -webkit-transform 0.4s ease-in-out;
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
}

.header-btn span:nth-child(1) {
  top: 11px;
}

.header-btn span:nth-child(2) {
  top: 26px;
}

.header-btn span:nth-child(3) {
  top: 40px;
}

.header-btn span.close:nth-child(1) {
  top: 26px;
  transform: rotate(-45deg);
}

.header-btn span.close:nth-child(2) {
  display: none;
}

.header-btn span.close:nth-child(3) {
  top: 26px;
  transform: rotate(45deg);
}

.drawer {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 100%;
  padding-top: 8rem;
  transition: left 0.6s;
  z-index: 3;
  background: #fff;
}

.drawer.slidein {
  left: 0;
}

.drawer__outer {
  height: 100%;
  padding: 1.6rem 2.4rem 5.6rem;
  overflow: auto;
}

.drawer__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.drawer__text {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 35.8rem;
  width: calc(100% - 3.2rem);
  overflow: auto;
}

.drawer-link-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  top: 0;
  z-index: 1;
}

.drawer-link__list {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.drawer-link__item {
  position: relative;
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #000;
  text-align: center;
}

.drawer-link__item a {
  display: block;
  padding: 1.2rem 0;
  transition: color 0.4s;
}

.drawer-link__item a:active {
  color: #0D8EF8;
}

.drawer-link__item > a:active {
  color: #0D8EF8;
}

@media (any-hover: hover) {
  .drawer-link__item a:hover {
    color: #0D8EF8;
  }
}
@media screen and (max-width: 768px) {
  .drawer__contact,
  .drawer__download {
    display: flex;
    margin-left: 0;
    margin-top: 2.4rem;
  }
}
.js-drawer-parent span.toggle {
  position: relative;
}

.js-drawer-parent span.toggle::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.5rem;
  aspect-ratio: 1;
  top: 0.5rem;
  right: -2.4rem;
  background: url(../images/common/triangle.svg) no-repeat;
  background-size: contain;
  rotate: 90deg;
  transition: rotate 0.4s;
}

.js-drawer-parent.is-open span.toggle::before {
  rotate: 270deg;
}

.js-drawer-child {
  display: none;
}

.drawer-link-child__item {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  font-weight: 500;
}

.drawer-link-child__item a {
  padding: 0.8rem 0;
  transition: opacity 0.4s;
}

.drawer-link-child__item > a:active, .drawer-link-child__item > a:hover {
  opacity: 0.6;
}

/*** footer 
****************************************************************************************/
.footer {
  padding: 7.1rem 1.6rem 4.9rem;
  background-color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .footer {
    padding: 4rem 2.4rem 1.6rem;
  }
}
.footer-links__inner {
  display: flex;
  justify-content: space-between;
  padding-bottom: 9rem;
}

@media screen and (max-width: 768px) {
  .footer-links__inner {
    flex-direction: column;
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .footer__left {
    display: contents;
  }
}
.footer__logo {
  width: 27.4rem;
}

@media screen and (max-width: 768px) {
  .footer__logo {
    width: 18rem;
    order: 1;
  }
}
.footer__logo img {
  filter: brightness(100);
}

.footer-links-col-wrap {
  display: flex;
  justify-content: space-between;
  gap: 9.5rem;
  margin-top: 6.8rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .footer-links-col-wrap {
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    margin-top: 4rem;
    order: 3;
  }
}
.footer-links-col {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

@media screen and (max-width: 768px) {
  .footer-links-col {
    width: 100%;
  }
}
.footer-links-col__item {
  position: relative;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  padding-left: 2.4rem;
}

@media screen and (max-width: 768px) {
  .footer-links-col__item {
    font-size: 1.4rem;
  }
}
.footer-links-col__item a {
  transition: opacity 0.4s;
}

.footer-links-col__item span {
  display: block;
}

.footer-links-col__item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.4rem;
  aspect-ratio: 1;
  top: 0.2rem;
  left: 0;
  background: url(../images/common/triangle.svg) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .footer-links-col__item::before {
    top: 0;
  }
}
@media (any-hover: hover) {
  .footer-links-col__item a:hover {
    opacity: 0.6;
  }
}
.footer-links-col__item.no-link > a {
  pointer-events: none;
}

.footer-links-col-child-wrap {
  display: flex;
  gap: 5.6rem;
}

@media screen and (max-width: 768px) {
  .footer-links-col-child-wrap {
    flex-direction: column;
    gap: 1.2rem;
  }
}
.footer-links-col-child {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0;
  color: #F2F2F2;
}

@media screen and (max-width: 768px) {
  .footer-links-col-child {
    gap: 1.2rem;
    font-size: 1.2rem;
  }
}
.footer-links-col-child li {
  transition: opacity 0.4s;
}

@media (any-hover: hover) {
  .footer-links-col-child li:hover {
    opacity: 0.6;
  }
}
.footer__btns {
  display: flex;
  gap: 1.2rem;
}

@media screen and (max-width: 768px) {
  .footer__btns {
    flex-direction: column;
    gap: 2.4rem;
    width: 100%;
    margin-top: 4rem;
    order: 2;
  }
}
.footer__btn {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  width: 20rem;
  height: 5.6rem;
  color: #212121;
  border-radius: 100vmax;
  transition: background-color 0.4s;
}

.footer__btn span {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.footer__btn:active {
  opacity: 0.6;
}

.footer__download {
  border: 0.2rem solid #BBD5FC;
  background-color: #BBD5FC;
  padding-left: 1.3rem;
  transition: opacity 0.4s;
}

.footer__download span {
  position: relative;
}

.footer__download span::before {
  display: block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  background-color: #212121;
  mask-image: url(../images/common/download.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.4s;
}

@media screen and (max-width: 768px) {
  .footer__download span::before {
    width: 2.4rem;
  }
}
.footer__contact {
  border: 0.2rem solid #FEC01B;
  padding-left: 2.5rem;
  background-color: #FEC01B;
  transition: opacity 0.4s;
}

.footer__contact span {
  position: relative;
}

.footer__contact span::before {
  display: block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  background-color: #212121;
  mask-image: url(../images/common/mail.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.4s;
}

@media screen and (max-width: 768px) {
  .footer__contact span::before {
    width: 2.4rem;
    margin: 0 auto;
  }
}
@media (any-hover: hover) {
  .footer__download:hover {
    background-color: #212121;
    color: #BBD5FC;
  }
  .footer__download:hover span::before {
    background-color: #BBD5FC;
  }
}
@media (any-hover: hover) {
  .footer__contact:hover {
    background-color: #212121;
    color: #FEC01B;
  }
  .footer__contact:hover span::before {
    background-color: #FEC01B;
  }
}
.footer__bottom {
  padding-top: 0.6rem;
  color: #fff;
  text-align: right;
  border-top: 0.1rem solid rgba(255, 255, 255, 0.6);
}

.copyright {
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
}

@media screen and (max-width: 768px) {
  .copyright {
    text-align: center;
  }
}
/*** single 
****************************************************************************************/
.single__inner {
  display: flex;
  align-items: flex-start;
  gap: 4.8rem;
  margin-bottom: 7.2rem;
}

@media screen and (max-width: 768px) {
  .single__inner {
    flex-direction: column;
    gap: 4rem;
    margin-bottom: 4rem;
  }
}
.single__main {
  width: 72.1551724138%;
  padding: 4rem 4.8rem;
  background-color: #fff;
  border-radius: 1rem;
}

@media screen and (max-width: 768px) {
  .single__main {
    width: 100%;
    padding: 2.4rem 1.6rem 2.4rem;
  }
}
.single__main img {
  display: block;
  margin-bottom: 4.8rem;
}

@media screen and (max-width: 768px) {
  .single__main img {
    margin-bottom: 3.2rem;
  }
}
.single__main h2 {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  margin-bottom: 2.4rem;
  padding: 1.6rem;
  border-left: 0.4rem solid #0D8EF8;
  background-color: #F7F7F7;
  color: #0A2C43;
  border-radius: 0.4rem;
}

.single__main h3 {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-bottom: 0.8rem;
  margin-bottom: 3.2rem;
  padding-left: 1.6rem;
}

.single__main h3::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.4rem;
  height: calc(100% - 0.8rem);
  top: 0;
  left: 0;
  background: #0D8EF8;
  background-size: contain;
  vertical-align: middle;
  border-radius: 100vmax;
}

.single__main h3::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 0.1rem;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.2);
}

.single__main h4 {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 3.2rem;
}

.single__main p {
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-bottom: 3.2rem;
}

@media screen and (max-width: 768px) {
  .single__main p {
    font-size: 1.3rem;
    line-height: 2;
    margin-bottom: 2.4rem;
  }
}
.single__main p > a {
  text-decoration: underline;
  transition: color 0.4s;
}

@media (any-hover: hover) {
  .single__main p > a:hover {
    color: #0D8EF8;
  }
}
.side {
  flex: 1;
}

@media screen and (max-width: 768px) {
  .side {
    display: none;
  }
}
.side__inner {
  position: sticky;
  top: 8.6rem;
}

.side__title {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.5rem;
  margin-bottom: 2rem;
  background-color: #0D8EF8;
  color: #fff;
  text-align: center;
  border-radius: 0.4rem;
}

.side-link-box {
  padding: 3.1rem 1.6rem 2.4rem;
  background-color: #fff;
  border-radius: 1rem;
  margin-bottom: 5.2rem;
}

.single-case .side-link-box img {
  margin-bottom: 0;
}

.side-link-box-company {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 2rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2);
}

.side-link-box-company__image {
  width: 6.4rem;
  margin-bottom: 1.6rem;
}

.ide-link-box-company__name {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #000;
}

.side-link-box__download-image {
  margin-top: 2.4rem;
}

.latest-columns {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.latest-column-item {
  position: relative;
}

.latest-column-item .thumb {
  aspect-ratio: 275/168;
  border-radius: 0.8rem;
  overflow: hidden;
}

.latest-column-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.6rem;
}

.latest-column-item h3 {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-top: 1.2rem;
  color: #0A2C43;
}

.latest-column-item .card__categories {
  margin-top: 1rem;
}

@media (any-hover: hover) {
  .latest-column-item:hover img {
    scale: 1.1;
  }
  .latest-column-item:hover .no-image {
    scale: 1.1;
  }
}
.breadcrumbs {
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .breadcrumbs {
    margin-bottom: 2.4rem;
  }
}
.breadcrumbs ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 0.8rem;
}

.breadcrumbs li {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex-shrink: 0;
  font-size: 1.2rem;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 768px) {
  .breadcrumbs li {
    font-size: 1rem;
    line-height: 2.4;
    gap: 0.4rem;
  }
}
.breadcrumbs li::after {
  display: inline-block;
  content: "";
  width: 1.6rem;
  height: 0.1rem;
  background-color: #707070;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .breadcrumbs li::after {
    width: 0.8rem;
  }
}
.breadcrumbs li:last-child {
  color: #0A2C43;
  flex-shrink: 1;
}

.breadcrumbs li:last-child a {
  pointer-events: none;
}

.breadcrumbs li:last-child::after {
  display: none;
}

.breadcrumbs a {
  color: #999999;
  word-break: break-all;
  transition: color 0.4s;
}

@media (any-hover: hover) {
  .breadcrumbs a:hover {
    color: #0A2C43;
  }
}
.page-title {
  font-size: 2.8rem;
  line-height: 1.7142857143;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .page-title {
    font-size: 2.4rem;
  }
}
.single__title {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 2.2rem;
  word-break: break-all;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .single__title {
    font-size: 2rem;
    margin-bottom: 2.4rem;
  }
}
.tax-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 3.2rem;
}

.column-tax-wrap {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.8rem 2.4rem;
}

@media screen and (max-width: 768px) {
  .column-tax-wrap {
    gap: 0.8rem 1.6rem;
  }
}
.column-tax {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: 0.1rem solid #0D8EF8;
  padding: 0.3rem 1.5rem;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 100vmax;
  transition: background-color 0.4s, color 0.4s;
}

@media (any-hover: hover) {
  .column-tax:hover {
    background-color: #fff;
    color: #0D8EF8;
  }
}
.column-tag-wrap {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.8rem 2.4rem;
}

@media screen and (max-width: 768px) {
  .column-tag-wrap {
    gap: 0.8rem 1.6rem;
  }
}
.column-tag {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding-left: 1.9rem;
  color: #3A3A3A;
  transition: color 0.4s;
}

.column-tag::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.6rem;
  aspect-ratio: 1;
  top: 0.4rem;
  left: 0;
  background: url(../images/common/tag.svg) no-repeat;
  background-size: contain;
}

@media (any-hover: hover) {
  .column-tag:hover {
    color: #0D8EF8;
  }
}
.single-section {
  padding: 14rem 1.6rem 12rem;
  word-break: break-all;
  background-color: #F1F5F9;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .single-section {
    padding: 11rem 1.6rem 6rem;
  }
}
.wp-block-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 3.2rem;
}

.wp-block-list li {
  position: relative;
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding-left: 1.6rem;
  color: #424242;
}

.wp-block-list li::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.8rem;
  top: 1rem;
  left: 0;
  aspect-ratio: 1;
  background: #0D8EF8;
  border-radius: 100vmax;
}

.wp-block-table {
  margin-bottom: 2rem;
}

.wp-block-table thead {
  border-bottom: 0.2rem solid #fff;
}

.wp-block-table td, .wp-block-table th {
  border-bottom: 0.2rem solid #fff;
}

.wp-block-table th {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.75rem;
  border: 0.2rem solid #fff;
  background-color: #0D8EF8;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .wp-block-table th {
    font-size: 1.3rem;
  }
}
.wp-block-table td {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 0.6rem 1rem;
  border: 0.2rem solid #fff;
  background-color: #F1F5F9;
  color: #5B5B5B;
}

@media screen and (max-width: 768px) {
  .wp-block-table td {
    font-size: 1.3rem;
  }
}
.has-inline-color {
  text-shadow: 0.1rem 0.1rem 0.1rem #fff;
  background: linear-gradient(to bottom, #fff 0%, #fff 40%, #FDE69B 40%, #FDE69B 100%);
}

.meta-flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin: 3.6rem 0 2.4rem;
  padding-top: 2.4rem;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 768px) {
  .meta-flex {
    gap: 1.6rem;
    margin: 2.4rem 0;
  }
}
.editor-box {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.editor-image {
  width: 4.8rem;
  aspect-ratio: 1;
  border-radius: 100vmax;
  background-color: #C4C4C4;
  overflow: hidden;
}

.editor-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.editor-name {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #000;
}

.post-date {
  display: flex;
  align-items: center;
  gap: 1.8rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #000;
}

@media screen and (max-width: 768px) {
  .post-date {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}
.post-date span {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #848484;
}

.post-date span::before {
  display: inline-block;
  content: "";
  width: 1.6rem;
  aspect-ratio: 16/19;
}

.post-date__public {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .post-date__public {
    font-size: 1.2rem;
  }
}
.post-date__public span::before {
  background: url(../images/common/public.svg) no-repeat;
  background-size: contain;
}

.post-date__update {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
}

.post-date__update span::before {
  background: url(../images/common/update.svg) no-repeat;
  background-size: contain;
}

.lwptoc {
  padding: 2.1rem 3.2rem;
  background: #F1F5F9;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .lwptoc {
    padding: 1.6rem;
  }
}
.lwptoc_i {
  width: 100%;
  padding: 0 !important;
  background: #F1F5F9 !important;
  border-radius: 0.8rem;
}

.lwptoc_items.lwptoc_items-visible {
  padding: 2.1rem 3.2rem;
  margin-top: 1.6rem;
  background: #fff;
  border-radius: 0.4rem;
}

@media screen and (max-width: 768px) {
  .lwptoc_items.lwptoc_items-visible {
    padding: 1.6rem;
  }
}
.lwptoc_title {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0A2C43;
}

.lwptoc_toggle > a {
  color: #696969 !important;
}

.lwptoc_items > .lwptoc_itemWrap .lwptoc_item_label {
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0A2C43;
}

.lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a > .lwptoc_item_label {
  font-size: 1.4rem;
  line-height: 2.3;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #424242;
}

.lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a > .lwptoc_item_label::before {
  display: inline-block;
  content: "";
  width: 0.4rem;
  aspect-ratio: 1;
  background: #424242;
  margin-right: 0.8rem;
  vertical-align: middle;
  border-radius: 100vmax;
}

.lwptoc_items > .lwptoc_itemWrap > .lwptoc_item {
  padding: 1.8rem 0;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2);
}

.lwptoc_items > .lwptoc_itemWrap > .lwptoc_item:first-child {
  padding-top: 0;
}

.lwptoc_items > .lwptoc_itemWrap > .lwptoc_item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.main-editor-box {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  padding: 2.4rem;
  background-color: #F1F5F9;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .main-editor-box {
    flex-direction: column;
    align-items: center;
  }
}
.main-editor-box img {
  margin-bottom: 0;
}

.main-editor-box-image {
  width: 8rem;
  aspect-ratio: 1;
  border-radius: 100vmax;
  overflow: hidden;
}

.main-editor-box-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-editor-box-text {
  flex: 1;
}

.main-editor-box-text p {
  font-size: 1.4rem;
  line-height: 1.9;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-bottom: 1em;
  color: #6B6B6B;
}

.main-editor-box-name {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 1.6rem;
  margin-bottom: 2.9rem;
  color: #0A2C43;
}

.main-editor-box-sns {
  margin-top: 2.5rem;
}

.main-editor-box-sns__list {
  display: flex;
  align-items: center;
  gap: 1rem;
}

@media screen and (max-width: 768px) {
  .main-editor-box-sns__list {
    justify-content: center;
  }
}
.main-editor-box-sns__item {
  width: 2.4rem;
}

.cta-box {
  padding: 3.1rem 2.1rem 3.3rem 3.2rem;
  margin-top: 4rem;
  margin-bottom: 4rem;
  background-color: #F1F5F9;
  border-radius: 0.8rem;
}

.cta-box p {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .cta-box {
    padding: 2.4rem 1.6rem;
  }
}
.single-case .cta-box {
  margin-top: 7.1rem;
}

@media screen and (max-width: 768px) {
  .single-case .cta-box {
    margin-top: 4rem;
  }
}
.single-case .cta-box__image img {
  margin-bottom: 0;
}

.single-case .single__main .cta-box p {
  margin-bottom: 0;
}

.cta-btn__catch {
  display: block;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  width: fit-content;
  padding: 0.4rem 2.4rem;
  margin: 0 auto 3.7rem;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .cta-btn__catch {
    margin: 0 auto 1.6rem;
  }
}
.cta-box__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3.5rem;
}

@media screen and (max-width: 768px) {
  .cta-box__inner {
    flex-direction: column;
  }
}
.cta-box__image {
  width: 28.5rem;
}

@media screen and (max-width: 768px) {
  .cta-box__image {
    width: 100%;
  }
}
.cta-box__right {
  flex: 1;
}

.single__main .cta-box__lead {
  position: relative;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-left: 2.7rem;
  color: #0D8EF8;
}

.single__main .cta-box__lead::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2rem;
  height: 0.2rem;
  top: 50%;
  left: 0;
  background: #0D8EF8;
  border-radius: 100vmax;
}

.single__main .cta-box__title {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 2rem;
  color: #0A2C43;
}

.single__main .cta-box__desc {
  font-size: 1.4rem;
  line-height: 1.68;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 2.4rem;
  color: #6B6B6B;
}

.cta-box__btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  max-width: 34.9rem;
  width: 100%;
  height: 5.6rem;
  margin-top: 2.4rem;
  border: 0.2rem solid #FEC733;
  background-color: #FEC733;
  color: #0A2C43;
  border-radius: 100vmax;
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.25);
  transition: boder 0.4s, background-color 0.4s, color 0.4s;
}

.cta-box__btn::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.4rem;
  aspect-ratio: 14/28;
  top: 50%;
  right: 1.95rem;
  translate: 0 -50%;
  background-color: #0A2C43;
  mask-image: url(../images/common/cta-box_arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.4s;
}

.cta-box__btn span {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-left: -3rem;
}

.cta-box__btn span::before {
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  background-color: #0A2C43;
  mask-image: url(../images/common/download.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.4s;
}

.cta-box__btn:active {
  background-color: #073246;
}

@media (any-hover: hover) {
  .cta-box__btn:hover {
    border: 0.2rem solid #FEC733;
    background-color: #0A2C43;
    color: #FEC733;
  }
  .cta-box__btn:hover::before {
    background-color: #FEC733;
  }
  .cta-box__btn:hover span::before {
    background-color: #FEC733;
  }
}
.side-link-box__download-link {
  height: 4.6rem;
  margin-top: 2rem;
}

.single-btn-wrap {
  width: fit-content;
  margin: 4rem auto 0;
}

.single-btn {
  display: flex;
  align-items: center;
  gap: 4.8rem;
  width: 31.3rem;
  padding: 1.3rem 0 1.3rem 2.4rem;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  border: 0.1rem solid #0D8EF8;
  background-color: #fff;
  color: #0D8EF8;
  border-radius: 100vmax;
  box-shadow: 0 0.1rem 1rem 0 rgba(0, 0, 0, 0.2);
  transition: all 0.4s;
}

.single-btn::before {
  display: inline-block;
  content: "";
  width: 1.2rem;
  aspect-ratio: 12/24;
  background: url(../images/common/btn_arrow.svg) no-repeat;
  background-size: contain;
  transition: filter 0.4s;
}

@media (any-hover: hover) {
  .single-btn:hover {
    background-color: #0D8EF8;
    color: #fff;
  }
  .single-btn:hover::before {
    filter: brightness(100);
  }
}
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  margin-top: 8.8rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .pagination {
    gap: 0.8rem;
    margin-top: 4rem;
  }
}
.page-numbers,
.pagination a.last {
  font-size: 1.6rem;
  font-family: "Inter", serif;
  line-height: 1.375;
  font-weight: 500;
  letter-spacing: 0;
  min-width: 3.8rem;
  padding: 0.8rem 1.1rem;
  background-color: #fff;
  color: #0D8EF8;
  border: 0.1rem solid #0D8EF8;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .page-numbers,
  .pagination a.last {
    font-size: 1.2rem;
    line-height: 1;
    min-width: 3rem;
    border-radius: 0.4rem;
  }
}
.page-numbers.current {
  display: grid;
  place-content: center;
  aspect-ratio: 1;
  background-color: #0D8EF8;
  color: #fff;
}

.taxonomy-box {
  padding: 4rem 4.4rem 4.8rem;
  background-color: #fff;
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .taxonomy-box {
    padding: 1.6rem;
  }
}
.taxonomy-box__title {
  position: relative;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-left: 3.5rem;
  margin-bottom: 2.3rem;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .taxonomy-box__title {
    font-size: 1.8rem;
    padding-left: 2.4rem;
  }
}
.taxonomy-box__title::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  height: 0.4rem;
  top: 50%;
  left: 0;
  background: #0D8EF8;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .taxonomy-box__title::before {
    width: 1.6rem;
    height: 0.2rem;
  }
}
.taxonomy-box__title:nth-of-type(2) {
  margin-top: 4rem;
}

.taxonomy-box__list--category {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.2rem;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.taxonomy-box__list--category .taxonomy-box__link {
  display: block;
  padding: 0.6rem 1.6rem;
  border: 0.1rem solid #DBDBDB;
  background-color: #F7F7F7;
  color: #737373;
  border-radius: 100vmax;
  transition: all 0.4s;
}

.taxonomy-box__list--category .taxonomy-box__link:active {
  border: 0.1rem solid #0D8EF8;
  background-color: #0D8EF8;
  color: #fff;
}

@media (any-hover: hover) {
  .taxonomy-box__list--category .taxonomy-box__link:hover {
    border: 0.1rem solid #0D8EF8;
    background-color: #0D8EF8;
    color: #fff;
  }
}
.taxonomy-box__list--tag {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.2rem 2rem;
}

@media screen and (max-width: 768px) {
  .taxonomy-box__list--tag {
    gap: 0.8rem 1.6rem;
  }
}
.taxonomy-box__list--tag .taxonomy-box__item a {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding-left: 1.9rem;
  color: #3A3A3A;
  transition: color 0.4s;
}

.taxonomy-box__list--tag .taxonomy-box__item a::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.6rem;
  aspect-ratio: 1;
  top: 0.4rem;
  left: 0;
  background: url(../images/common/tag.svg) no-repeat;
  background-size: contain;
}

.taxonomy-box__list--tag .taxonomy-box__item a:active {
  color: #0D8EF8;
}

@media (any-hover: hover) {
  .taxonomy-box__list--tag .taxonomy-box__item a:hover {
    color: #0D8EF8;
  }
}
.related-articles {
  padding-top: 9.6rem;
}

@media screen and (max-width: 768px) {
  .related-articles {
    padding-top: 6.4rem;
  }
}
.latest-post {
  padding-top: 8rem;
}

@media screen and (max-width: 768px) {
  .latest-post {
    padding-top: 6.4rem;
  }
}
.grid h2 {
  font-size: 3.2rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 4.8rem;
  text-align: center;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .grid h2 {
    font-size: 2.4rem;
    margin-bottom: 3.6rem;
  }
}
.grid h2::before {
  display: block;
  content: "";
  width: 8rem;
  height: 0.8rem;
  margin: 0 auto 1.6rem;
  background: #0D8EF8;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .grid h2::before {
    width: 5.6rem;
    height: 0.4rem;
    margin: 0 auto 1.2rem;
  }
}
.grid__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem 2.8rem;
}

@media screen and (max-width: 768px) {
  .grid__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.grid__item {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 2.4rem 1.6rem;
  box-shadow: 0 0.2rem 1.5rem 0 rgba(58, 58, 58, 0.2);
  background-color: #fff;
  border-radius: 1.2rem;
  overflow: hidden;
}

@media (any-hover: hover) {
  .grid__item:hover .card__image img {
    scale: 1.1;
  }
  .grid__item:hover .card__image .no-image {
    scale: 1.1;
  }
  .grid__item:hover .card__btn {
    background-color: #0A2C43;
    color: #BBD5FC;
  }
  .grid__item:hover .card__btn::before {
    background-color: #BBD5FC;
  }
}
.card__image {
  aspect-ratio: 344/213;
  overflow: hidden;
  border-radius: 0.8rem;
}

.card__image a {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 344/213;
}

.card__image a::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.8rem;
  transition: scale 0.4s;
}

.card__image .no-image {
  display: grid;
  place-content: center;
  font-size: 2.4rem;
  width: 100%;
  height: 100%;
  background-color: #000;
  color: #fff;
  border-radius: 0.8rem;
  transition: scale 0.4s;
}

.card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-top: 1.6rem;
}

.card__meta {
  display: flex;
  justify-content: space-between;
}

.card__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.card__category a {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  line-height: 1.4166666667;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: 0.1rem solid #0D8EF8;
  padding: 0.1rem 1.1rem;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 100vmax;
  transition: background-color 0.4s, color 0.4s;
  z-index: 2;
}

.card__category a:active {
  background-color: #fff;
  color: #0D8EF8;
}

@media (any-hover: hover) {
  .card__category a:hover {
    background-color: #fff;
    color: #0D8EF8;
  }
}
.card__date {
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #212121;
  flex-shrink: 0;
}

.card__title {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-top: 1.6rem;
  color: #212121;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.card__desc {
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 1.2rem;
  color: #616161;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.6rem;
}

.card__tag a {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding-left: 1.9rem;
  color: #212121;
  transition: color 0.4s;
  z-index: 2;
}

.card__tag a:active {
  color: #0D8EF8;
}

.card__tag a::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.6rem;
  aspect-ratio: 1;
  top: 0.2rem;
  left: 0;
  background: url(../images/common/tag.svg) no-repeat;
  background-size: contain;
}

@media (any-hover: hover) {
  .card__tag a:hover {
    color: #0D8EF8;
  }
}
/*** single-case
****************************************************************************************/
.single-case .meta-flex {
  margin-top: 0;
}

.single-case .header__logo img {
  margin-bottom: 0;
}

.single-case .company-logo {
  width: 4.8rem;
}

.single-case .company-logo img {
  margin-bottom: 0;
}

.single-case img {
  margin-bottom: 3.2rem;
}

.single-case .company-name {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #000;
}

.single-case .guest-name {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #3A3A3A;
}

.single-case .single__main .guest-name {
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .single-case .single__main .guest-name {
    margin-bottom: 2.4rem;
  }
}
.single-case .single__main h2 {
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .single-case .single__main h2 {
    margin-top: 4rem;
  }
}
.single-case .single__main h3 {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-left: 5.2rem;
  padding-bottom: 0;
  margin-bottom: 1.6rem;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .single-case .single__main h3 {
    font-size: 1.5rem;
    padding-left: 3.2rem;
  }
}
.single-case .single__main h3::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 4rem;
  height: 0.1rem;
  top: 1.3rem;
  left: 0;
  background: #0A2C43;
}

@media screen and (max-width: 768px) {
  .single-case .single__main h3::before {
    width: 2rem;
  }
}
.single-case .single__main h3::after {
  display: none;
}

.single-case .single__main p {
  margin-bottom: 4.8rem;
}

@media screen and (max-width: 768px) {
  .single-case .single__main p {
    margin-bottom: 3.2rem;
  }
}
.case-entry-image img {
  margin-bottom: 1.6rem;
}

.support-box {
  margin: 4rem 0 2.4rem;
  padding: 2.6rem 2.4rem 3.1rem;
  background-color: #F1F5F9;
  border-radius: 0.8rem;
}

.single-case .single__main .support-box p {
  margin-bottom: 0;
}

.support-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 768px) {
  .support-head {
    flex-direction: column;
  }
}
.support-head__left {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}

@media screen and (max-width: 768px) {
  .support-head__left {
    flex-direction: column;
  }
}
.support-head__left p {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 0;
  color: #0A2C43;
}

.support-head__label {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.2rem 1.6rem;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 100vmax;
}

.support-head__period {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #767676;
}

.support-before-after {
  position: relative;
  display: flex;
  justify-content: space-between;
  min-height: 15.7rem;
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .support-before-after {
    flex-direction: column;
    gap: 4rem;
  }
}
.support-before-after::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 6.7rem;
  aspect-ratio: 127.5/28.11;
  top: 50%;
  left: 48%;
  translate: -50% -50%;
  background: url(../images/newgrad/case_arrow.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .support-before-after::after {
    width: 5rem;
    top: 48%;
    rotate: 90deg;
  }
}
.support-before-after__item {
  position: relative;
  width: 46.7532467532%;
  padding: 0.2rem 1rem 2.5rem;
  border-radius: 0.4rem;
}

@media screen and (max-width: 768px) {
  .support-before-after__item {
    width: 100%;
  }
}
.support-before-after__item p {
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 0.8rem;
}

.support-before-after__title {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.support-before {
  border: 0.1rem solid #BABABA;
  background-color: #F0F0F0;
}

.support-before p {
  color: #212121;
}

.support-before::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 5.7rem;
  aspect-ratio: 57/70;
  right: 2.3rem;
  bottom: 0.8rem;
  background: url(../images/post/before.webp) no-repeat;
  background-size: contain;
}

.support-after {
  background-color: rgba(13, 142, 248, 0.96);
}

.support-after p {
  color: #fff;
}

.support-after::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 6.5rem;
  aspect-ratio: 1;
  right: 1.2rem;
  bottom: 1rem;
  background: url(../images/post/after.webp) no-repeat;
  background-size: contain;
  mix-blend-mode: difference;
}

.support-before__title {
  color: rgba(10, 44, 67, 0.1);
}

.support-after__title {
  color: rgba(22, 22, 22, 0.7);
  mix-blend-mode: difference;
}

.support-effect {
  padding: 2rem 2.2rem;
  margin-top: 2.4rem;
  border: 0.3rem solid rgba(13, 142, 248, 0.8);
  min-height: 12.8rem;
  background-color: #fff;
  border-radius: 0.4rem;
}

.support-effect p {
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 1rem;
  color: #212121;
}

.support-effect__title {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0D8EF8;
}

.editorial-department {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  padding: 2.4rem 2.4rem 3.4rem;
  margin-top: 2rem;
  background-color: #F1F5F9;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .editorial-department {
    flex-direction: column;
    gap: 1.6rem;
    padding: 1.6rem;
  }
}
.editorial-department__image {
  width: 8rem;
  flex-shrink: 0;
}

.editorial-department__image img {
  margin-bottom: 0;
}

.editorial-department__text {
  flex: 1;
}

.editorial-department__text p {
  margin-bottom: 0;
}

.single-case .single__main .editorial-department p {
  margin-bottom: 0;
}

.editorial-department__title {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0A2C43;
}

.editorial-department__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 0.8rem;
  color: #6B6B6B;
}

/*** archive 
****************************************************************************************/
.archive-section {
  padding: 11rem 1.6rem 8.8rem;
  background-color: #F0F2F5;
}

@media screen and (max-width: 768px) {
  .archive-section {
    padding: 11rem 1.6rem 6.4rem;
  }
}
.archive-top {
  max-width: 103.8rem;
  width: 100%;
  margin-inline: auto;
}

.archive-page-title {
  font-size: 4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 4.6rem;
  margin-bottom: 4.8rem;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .archive-page-title {
    font-size: 2.8rem;
    margin-bottom: 3.6rem;
  }
}
.archive-taxonomy-box {
  padding: 2.4rem 4.4rem;
  border: 0.2rem solid #D4D4D4;
}

@media screen and (max-width: 768px) {
  .archive-taxonomy-box {
    padding: 1.6rem;
    border: 0.1rem solid #D4D4D4;
  }
}
.archive-taxonomy-box + .archive-taxonomy-box {
  margin-top: 3.2rem;
}

.archive-recommend {
  padding: 8.8rem 1.6rem 12.4rem;
  background-color: #E2ECF3;
}

@media screen and (max-width: 768px) {
  .archive-recommend {
    padding: 6.4rem 1.6rem;
  }
}
/*** archive whitepaper
****************************************************************************************/
.post-type-archive-whitepaper .related-articles {
  padding-top: 8rem;
}

.card--whitepaper {
  padding: 0;
}

.card--whitepaper .card__body {
  padding: 2.4rem;
}

.card--whitepaper .card__title {
  margin-top: 0;
}

.card--whitepaper .card__desc {
  margin-bottom: 2rem;
}

.card--whitepaper .card__tags {
  margin-top: 0;
}

.card__btn {
  position: relative;
  display: block;
  max-width: 86rem;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.9rem;
  margin: auto auto 0;
  background-color: #BBD5FC;
  color: #0A2C43;
  text-align: center;
  box-shadow: 0 0.2rem 0.4rem 0 rgba(0, 0, 0, 0.25);
  border-radius: 100vmax;
  transition: background-color 0.4s, color 0.4s;
}

.card__btn span {
  margin-left: -0.7rem;
}

.card__btn::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.2rem;
  aspect-ratio: 12/24;
  top: 50%;
  right: 3.5rem;
  translate: 0 -50%;
  background-color: #0A2C43;
  mask-image: url(../images/common/cta-box_arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.4s;
}

/*** archive case
****************************************************************************************/
.archive-case-title {
  margin-bottom: 5.6rem;
}

.archive-case-related-articles {
  padding-top: 0;
}

.taxonomy-box__flex {
  display: flex;
  align-items: flex-start;
  padding: 2.8rem 0;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.14);
}

.taxonomy-box__flex:first-of-type {
  padding: 0 0 2.8rem;
}

.taxonomy-box__flex:last-of-type {
  padding: 2.8rem 0 2rem;
  border-bottom: none;
}

.taxonomy-box__flex dt {
  display: flex;
  width: 14.1rem;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  flex-shrink: 0;
  color: #212121;
}

.taxonomy-box__flex dd {
  flex: 1;
}

.card--case .card__body {
  padding-top: 0.8rem;
}

.card--case .card__company-name {
  display: block;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-bottom: 2.4rem;
  color: #616161;
  order: 1;
}

.card--case .card__meta {
  margin-top: 2.4rem;
  order: 4;
}

.card--case .card__title {
  margin-top: 0;
  order: 2;
}

.card--case .card__desc {
  order: 3;
}

.card--case .card__tags {
  margin-top: 1.2rem;
  order: 5;
}

/*** newgrad 新卒採用 
****************************************************************************************/
.newgrad-mv {
  position: relative;
  min-height: 66.2rem;
  padding: 0 1.6rem;
  background-color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .newgrad-mv {
    aspect-ratio: 390/844;
    min-height: 84.4rem;
    padding: 0 1.2rem;
    background: url(../images/newgrad/mv_sp.webp) no-repeat;
    background-size: cover;
  }
}
.newgrad-mv__inner {
  max-width: 120rem;
  width: 100%;
  padding-top: 16.9rem;
  margin-inline: auto;
}

@media screen and (max-width: 768px) {
  .newgrad-mv__inner {
    padding-top: 32.8%;
    padding-bottom: 4rem;
  }
}
.newgrad-mv-text {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-text {
    position: static;
  }
}
.newgrad-mv__image {
  position: absolute;
  width: 58.5416666667%;
  height: 100%;
  top: 0;
  right: 0;
}

@media screen and (max-width: 768px) {
  .newgrad-mv__image {
    display: none;
  }
}
.newgrad-mv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

@media screen and (max-width: 768px) {
  .newgrad-mv__image img {
    height: auto;
  }
}
.newgrad-mv__lead {
  font-size: 2rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
}

.newgrad-mv__lead span {
  color: #FEC733;
  padding-top: 0.6em;
  background-position: top left -2px;
  background-repeat: repeat-x;
  background-size: 1em 0.3em;
  background: top left/1.05em 0.5em repeat-x radial-gradient(circle, #0A2C43 0.3rem, rgba(0, 0, 0, 0) 0.3rem);
}

@media screen and (max-width: 768px) {
  .newgrad-mv__lead span {
    background-position: top left -2px;
    background-repeat: repeat-x;
    background-size: 1.05em 0.3em;
    background: top left/1.04em 0.5em repeat-x radial-gradient(circle, #0A2C43 0.5128205128vw, rgba(0, 0, 0, 0) 0.5128205128vw);
  }
}
@media screen and (max-width: 768px) {
  .newgrad-mv__lead {
    font-size: 3.8461538462vw;
  }
}
.newgrad-mv__title {
  font-size: 5.6rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 2.8rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .newgrad-mv__title {
    font-size: 9.2307692308vw;
    line-height: 1.77;
    margin-top: 0;
  }
}
.newgrad-mv-point {
  max-width: 51.8rem;
  padding: 2.1rem 2.4rem;
  margin-top: 3.6rem;
  border: 0.2rem solid #0A2C43;
  border-radius: 0.8rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-point {
    max-width: 100%;
    margin-top: 3.8461538462vw;
    padding: 3.8461538462vw 2.5641025641vw;
    text-align: center;
  }
}
.newgrad-mv-point p {
  font-size: 0.9rem;
  line-height: 1.4444444444;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-top: 0.8rem;
  color: #0A2C43;
}

.newgrad-mv-point__list {
  display: flex;
  justify-content: center;
}

.newgrad-mv-point__item dt {
  display: block;
  width: fit-content;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 0.2rem 0.8rem;
  margin-inline: auto;
  background-color: #0A2C43;
  color: #fff;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-point__item dt {
    font-size: 2.6666666667vw;
    padding: 0.3846153846vw 1.5384615385vw;
    white-space: nowrap;
  }
}
.newgrad-mv-point__item dd {
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-point__item dd {
    font-size: 3.5897435897vw;
    margin-top: 2.5641025641vw;
  }
}
.newgrad-mv-point__item dd span {
  font-size: 4.8rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #FEC733;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-point__item dd span {
    font-size: 9.2307692308vw;
  }
}
.newgrad-mv-point__item dd span.small {
  font-size: 1.4rem;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-point__item dd span.small {
    font-size: 2.6923076923vw;
  }
}
.newgrad-mv-point__item dd span.middle {
  display: block;
  font-size: 3.2rem;
  margin-top: 2.8rem;
  color: #3A3A3A;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-point__item dd span.middle {
    font-size: 5.1282051282vw;
    margin-top: 6.6666666667vw;
  }
}
.newgrad-mv-point__item dd p {
  font-size: 1.3rem;
  line-height: 1.4615384615;
  font-weight: 500;
  margin-top: 0.8rem;
  color: #224258;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-point__item dd p {
    font-size: 2.5641025641vw;
    margin-top: 1.5384615385vw;
  }
}
.newgrad-mv-point__item:nth-child(1) {
  padding-right: 2rem;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-point__item:nth-child(1) {
    padding-right: 3.0769230769vw;
  }
}
.newgrad-mv-point__item:nth-child(2) {
  padding: 0 2rem;
  border-left: 0.1rem solid #D5D5D5;
  border-right: 0.1rem solid #D5D5D5;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-point__item:nth-child(2) {
    padding: 0 3.0769230769vw;
  }
}
.newgrad-mv-point__item:nth-child(3) {
  padding-left: 2rem;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-point__item:nth-child(3) {
    padding-left: 3.0769230769vw;
  }
}
.mv-btns {
  display: flex;
  gap: 1.6rem;
}

@media screen and (max-width: 768px) {
  .mv-btns {
    gap: 0.6rem;
  }
}
.mv-btns .cta-btn {
  min-width: 36rem;
}

@media screen and (max-width: 768px) {
  .mv-btns .cta-btn {
    justify-content: center;
    gap: 0.5rem;
    font-size: 1.6rem;
    min-width: 18.4rem;
    padding: 0;
  }
  .mv-btns .cta-btn::before {
    width: 2.4rem;
  }
  .mv-btns .cta-btn::after {
    display: none;
  }
}
.newgrad-mv-btns {
  margin-top: 5.5rem;
}

@media screen and (max-width: 768px) {
  .newgrad-mv-btns {
    position: absolute;
    bottom: 3.1rem;
    left: 50%;
    translate: -50%;
  }
}
.cta-btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2.8rem;
  height: 7.2rem;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-left: 4.8rem;
  padding-right: 1.6rem;
  color: #0A2C43;
  border-radius: 100vmax;
  transition: color 0.4s;
}

@media screen and (max-width: 768px) {
  .cta-btn {
    max-width: 36rem;
    font-size: 1.8rem;
    height: 6.4rem;
  }
}
.cta-btn .top {
  position: absolute;
  display: block;
  width: fit-content;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.2rem 3rem;
  top: -1.3rem;
  left: 50%;
  translate: -50%;
  background-color: #fff;
  border-radius: 100vmax;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .cta-btn .top {
    font-size: 1.2rem;
    padding: 0.4rem 3.2rem;
  }
}
.cta-btn::before {
  display: inline-block;
  content: "";
  width: 3.2rem;
  aspect-ratio: 1;
  vertical-align: middle;
}

.cta-btn::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.4rem;
  aspect-ratio: 14/28;
  top: 50%;
  right: 1.6rem;
  translate: 0 -50%;
  background-color: #212121;
  mask-image: url(../images/common/cta-box_arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  vertical-align: middle;
  transition: background-color 0.4s;
}

.mv-btn--download {
  background-color: #BBD5FC;
}

.mv-btn--download::before {
  background: url(../images/common/download.svg) no-repeat;
  background-size: contain;
}

.mv-btn--download .top {
  border: 0.3rem solid #BBD5FC;
}

.mv-btn--contact {
  background-color: #FEC733;
}

.mv-btn--contact::before {
  background: url(../images/common/mail.svg) no-repeat;
  background-size: contain;
}

.mv-btn--contact .top {
  border: 0.3rem solid #FEC733;
}

.newgrad-task {
  position: relative;
  padding: 8rem 1.6rem 3.2rem;
  background: url(../images/newgrad/task_bg.webp) no-repeat;
  background-size: cover;
  background-position: center center;
}

@media screen and (max-width: 768px) {
  .newgrad-task {
    padding: 5.6rem 1.6rem 3.2rem;
  }
}
.newgrad-task::after {
  position: absolute;
  display: block;
  content: "";
  width: 58.7rem;
  aspect-ratio: 587/98;
  bottom: -9.8rem;
  left: 50%;
  translate: -50%;
  background: #EAEEF0;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}

@media screen and (max-width: 768px) {
  .newgrad-task::after {
    width: 20rem;
    bottom: -3.2rem;
  }
}
.newgrand__container {
  max-width: 110.4rem;
  width: 100%;
  margin-inline: auto;
}

.newgrad-title2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  font-size: 3.2rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #0A2C43;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .newgrad-title2 {
    gap: 1rem;
    font-size: 2.4rem;
  }
}
.newgrad-title2::before, .newgrad-title2::after {
  display: inline-block;
  content: "";
  width: 4rem;
  aspect-ratio: 40/5;
  background: #0D8EF8;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .newgrad-title2::before, .newgrad-title2::after {
    width: 2rem;
  }
}
.newgrad-title2--white {
  color: #fff;
}

.newgrad-title2--white::before, .newgrad-title2--white::after {
  background: #fff;
}

.newgrad-task__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4.8rem;
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .newgrad-task__list {
    width: 80%;
    grid-template-columns: repeat(2, 1fr);
    grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
    gap: 4rem;
    margin-top: 4rem;
    margin-inline: auto;
  }
}
.newgrad-task__item {
  position: relative;
}

@media screen and (max-width: 768px) {
  .newgrad-task__item {
    max-width: 30rem;
    margin-inline: auto;
  }
}
.newgrad-task__item::before {
  position: absolute;
  display: block;
  content: "";
}

.newgrad-task__item:nth-child(1)::before {
  width: 24.6rem;
  width: 102.5%;
  aspect-ratio: 246/254;
  background: url(../images/newgrad/task1_bg.webp) no-repeat;
  background-size: contain;
  top: -0.7rem;
  left: -0.3rem;
}

.newgrad-task__item:nth-child(2)::before {
  width: 26.5rem;
  width: 110.4166666667%;
  aspect-ratio: 265/235;
  background: url(../images/newgrad/task2_bg.webp) no-repeat;
  background-size: contain;
  top: -1rem;
  left: -1.4rem;
}

.newgrad-task__item:nth-child(3)::before {
  width: 24.2rem;
  width: 100.8333333333%;
  aspect-ratio: 242/245;
  background: url(../images/newgrad/task3_bg.webp) no-repeat;
  background-size: contain;
  top: 0.5rem;
  left: 0;
}

.newgrad-task__item:nth-child(4)::before {
  width: 25.7rem;
  width: 107.0833333333%;
  aspect-ratio: 257/247;
  background: url(../images/newgrad/task4_bg.webp) no-repeat;
  background-size: contain;
  top: -0.9rem;
  left: -1rem;
}

.newgrad-task__image {
  position: relative;
}

.newgrad-task__text {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-top: 3.1rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .newgrad-task__text {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
}
.newgrad-task-bottom {
  font-size: 3.2rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 2.3rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .newgrad-task-bottom {
    font-size: 2.4rem;
    margin-top: 4rem;
  }
}
.newgrad-trust {
  padding: 10.4rem 1.6rem 8rem;
  background-color: #EBF6FF;
}

@media screen and (max-width: 768px) {
  .newgrad-trust {
    padding: 6.4rem 1.65rem 4rem;
  }
}
.newgrad-trust__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 8.1rem;
}

@media screen and (max-width: 768px) {
  .newgrad-trust__row {
    flex-direction: column;
    gap: 1.6rem;
    margin-top: 4rem;
  }
}
.newgrad-trust__image {
  width: 43.4782608696%;
}

@media screen and (max-width: 768px) {
  .newgrad-trust__image {
    width: 100%;
  }
}
.newgrad-trust__text {
  width: 49.4565217391%;
}

@media screen and (max-width: 768px) {
  .newgrad-trust__text {
    width: 100%;
  }
}
.newgrad-trust__desc {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #000;
}

@media screen and (max-width: 768px) {
  .newgrad-trust__desc {
    font-size: 1.4rem;
  }
}
.newgrad-trust__desc span {
  background: linear-gradient(to bottom, transparent 0%, transparent 40%, #FDE69B 40%, #FDE69B 100%);
}

.newgrad-trust__btns {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .newgrad-trust__btns {
    align-items: center;
  }
}
.newgrad-trust__btn-wrap {
  width: fit-content;
}

.newgrad-trust__btn-wrap span {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  width: fit-content;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0 auto 0.7rem;
  color: #0D8EF8;
  text-align: center;
}

.newgrad-trust__btn-wrap span::before, .newgrad-trust__btn-wrap span::after {
  display: inline-block;
  content: "";
  width: 1rem;
  aspect-ratio: 10/17.32;
}

.newgrad-trust__btn-wrap span::before {
  background: url(../images/newgrad/slash_left.svg) no-repeat;
  background-size: contain;
}

.newgrad-trust__btn-wrap span::after {
  background: url(../images/newgrad/slash_right.svg) no-repeat;
  background-size: contain;
}

.newgrad-trust__btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2.8rem;
  width: 34.4rem;
  height: 5.6rem;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-left: 3.5rem;
  padding-right: 1.6rem;
  color: #0A2C43;
  border-radius: 100vmax;
}

.newgrad-trust__btn .top {
  position: absolute;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.2rem 3rem;
  top: -1.3rem;
  left: 50%;
  translate: -50%;
  background-color: #fff;
  border-radius: 100vmax;
  transition: background-color 0.4s;
}

.newgrad-trust__btn::before {
  display: inline-block;
  content: "";
  width: 3.2rem;
  aspect-ratio: 1;
  vertical-align: middle;
}

.newgrad-trust__btn::after {
  display: inline-block;
  content: "";
  width: 1.4rem;
  aspect-ratio: 14/28;
  background-color: #212121;
  mask-image: url(../images/common/cta-box_arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.4s;
  vertical-align: middle;
  margin-left: auto;
}

.cta-btn--download {
  border: 0.3rem solid #BBD5FC;
  background-color: #BBD5FC;
}

.cta-btn--download::before {
  background-color: #212121;
  mask-image: url(../images/common/download.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.4s;
}

.cta-btn--download .top {
  border: 0.3rem solid #BBD5FC;
}

.cta-btn--contact {
  border: 0.3rem solid #FEC733;
  background-color: #FEC733;
}

.cta-btn--contact::before {
  background-color: #212121;
  mask-image: url(../images/common/mail.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.4s;
}

.cta-btn--contact .top {
  border: 0.3rem solid #FEC733;
}

@media (any-hover: hover) {
  .cta-btn--download:hover {
    background-color: #212121;
    color: #BBD5FC;
  }
  .cta-btn--download:hover::before {
    background-color: #BBD5FC;
  }
  .cta-btn--download:hover::after {
    background-color: #BBD5FC;
  }
  .cta-btn--download:hover .top {
    background-color: #212121;
  }
}
@media (any-hover: hover) {
  .cta-btn--contact:hover {
    background-color: #212121;
    color: #FEC01B;
  }
  .cta-btn--contact:hover::before {
    background-color: #FEC01B;
  }
  .cta-btn--contact:hover::after {
    background-color: #FEC01B;
  }
  .cta-btn--contact:hover .top {
    background-color: #212121;
  }
}
.cta-btn--shadow {
  box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.25);
}

.newgrad-support-scope {
  padding: 8rem 1.6rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .newgrad-support-scope {
    padding: 5.6rem 1.6rem;
  }
}
.newgrad-support-scope__inner {
  max-width: 118.4rem;
  width: 100%;
  margin-inline: auto;
}

.newgrad-support-scope__lead {
  font-size: 1.6rem;
  line-height: 1.9;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 3.2rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .newgrad-support-scope__lead {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
}
.newgrad-support-scope__lead span {
  background: linear-gradient(to bottom, #fff 0%, #fff 40%, #FDE69B 40%, #FDE69B 100%);
}

.newgrad-support-scope__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.4rem;
  margin-top: 4.8rem;
}

@media screen and (max-width: 768px) {
  .newgrad-support-scope__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 4rem;
    margin-top: 4rem;
  }
}
.newgrad-support-scope__item {
  border: 0.7rem solid #0D8EF8;
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .newgrad-support-scope__item {
    border: 0.4rem solid #0D8EF8;
    border-radius: 0.8rem;
  }
}
.newgrad-support-scope__item dt {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 1.9rem 0 1.5rem;
  background-color: #0D8EF8;
  text-align: center;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .newgrad-support-scope__item dt {
    padding: 1rem 0;
  }
}
.newgrad-support-scope__item dt span {
  position: relative;
  display: inline-block;
  padding-left: 5.2rem;
}

.newgrad-support-scope__item dt span::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 3.8rem;
  aspect-ratio: 1;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}

.newgrad-support-scope__item dd {
  padding: 3.2rem 3.3rem 3.4rem;
  background-color: #fff;
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .newgrad-support-scope__item dd {
    padding: 1.6rem;
    border-radius: 0.8rem;
  }
}
.newgrad-support-scope__item:nth-child(1) dt span::before {
  background: url(../images/newgrad/up.svg) no-repeat;
  background-size: contain;
}

.newgrad-support-scope__item:nth-child(2) dt span::before {
  background: url(../images/newgrad/loop.svg) no-repeat;
  background-size: contain;
}

.newgrad-support-scope__sublist {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2.8rem;
}

@media screen and (max-width: 768px) {
  .newgrad-support-scope__sublist {
    gap: 0.4rem 1.6rem;
  }
}
.newgrad-support-scope__subitem {
  position: relative;
  font-size: 1.6rem;
  line-height: 2.1;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding-left: 3rem;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .newgrad-support-scope__subitem {
    font-size: 1.4rem;
    padding-left: 2.4rem;
  }
}
.newgrad-support-scope__subitem::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  top: 0.6rem;
  left: 0;
  background: url(../images/common/check.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .newgrad-support-scope__subitem::before {
    width: 2rem;
    top: 0.5rem;
  }
}
.newgrad-support-system {
  padding: 8rem 1.6rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .newgrad-support-system {
    padding: 5.6rem 1.6rem;
  }
}
.newgrad-support-system__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .newgrad-support-system__row {
    flex-direction: column;
    margin-top: 4rem;
  }
}
.newgrad-support-system__item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding: 5.6rem 2.4rem 2.2rem;
  border: 0.5rem solid #0D8EF8;
  background-color: #fff;
  border-radius: 1.2rem;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .newgrad-support-system__item {
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
    border: 0.4rem solid #0D8EF8;
  }
}
.newgrad-support-system__left {
  width: 37.6811594203%;
}

@media screen and (max-width: 768px) {
  .newgrad-support-system__left {
    width: 100%;
  }
}
.newgrad-support-system__left .newgrad-support-system__item {
  position: relative;
  align-items: center;
  gap: 1.9rem;
  padding: 5.6rem 1.6rem 3.1rem;
}

.newgrad-support-system__left .newgrad-support-system__item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 99%;
  height: 0.3rem;
  background: #A1D3FC;
  top: 50%;
  right: -100%;
  translate: 0 -50%;
}

@media screen and (max-width: 768px) {
  .newgrad-support-system__left .newgrad-support-system__item::before {
    display: none;
  }
}
.newgrad-support-system__work {
  position: absolute;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.2rem 1rem 0.5rem;
  top: 0;
  left: 0;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 0 0 1.2rem 0;
}

@media screen and (max-width: 768px) {
  .newgrad-support-system__work {
    font-size: 1.6rem;
  }
}
.newgrad-support-system__image {
  width: 12.8rem;
  aspect-ratio: 1;
  border-radius: 100vmax;
  flex-shrink: 0;
}

.newgrad-support-system__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #212121;
}

.newgrad-support-system__desc--large {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0A2C43;
}

.newgrad-support-system__sublist {
  display: flex;
  flex-direction: column;
  margin-top: 1.5rem;
  padding: 0.8rem;
  background-color: #F1F5F9;
  border-radius: 0.6rem;
}

.newgrad-support-system__subitem {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #3A3A3A;
}

.newgrad-support-system__right {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  width: 50.0905797101%;
}

@media screen and (max-width: 768px) {
  .newgrad-support-system__right {
    width: 100%;
    margin-top: 4rem;
  }
}
.newgrad-support-system__right::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 12%;
  height: 70%;
  border-top: 0.3rem solid #A1D3FC;
  border-left: 0.3rem solid #A1D3FC;
  border-bottom: 0.3rem solid #A1D3FC;
  top: 50%;
  left: -7%;
  translate: 0 -50%;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .newgrad-support-system__right::before {
    display: none;
  }
}
.newgrad-cta {
  padding: 10.1rem 1.6rem 8.1rem;
  background: url(../images/newgrad/cta_bg.webp) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .newgrad-cta {
    padding: 6.4rem 1.6rem;
  }
}
.newgrad-cta__btns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.4rem;
}

@media screen and (max-width: 768px) {
  .newgrad-cta__btns {
    gap: 4rem;
  }
}
.newgrad-cta__btns .cta-btn {
  font-size: 2rem;
  gap: 2.4rem;
  width: 50rem;
  height: 8.8rem;
  padding-left: 12.2rem;
  padding-right: 4.7rem;
}

@media screen and (max-width: 768px) {
  .newgrad-cta__btns .cta-btn {
    max-width: 36rem;
    font-size: 1.8rem;
    height: 6.4rem;
    padding-left: 4.8rem;
  }
}
.newgrad-cta__btns .cta-btn::after {
  width: 2rem;
  right: 4.7rem;
}

.newgrad-cta__btns .top {
  font-weight: 700;
  padding: 0.8rem 5.6rem;
  top: -2rem;
}

@media screen and (max-width: 768px) {
  .newgrad-cta__btns .top {
    font-size: 1.2rem;
    padding: 0.4rem 3.2rem;
  }
}
.newgrad-result {
  padding: 8rem 1.6rem 8.1rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .newgrad-result {
    padding: 5.6rem 1.6rem;
  }
}
.newgrad-result__inner {
  max-width: 96rem;
  width: 100%;
  margin-inline: auto;
}

.newgrad-result__list {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  margin-top: 4.8rem;
}

@media screen and (max-width: 768px) {
  .newgrad-result__list {
    margin-top: 4rem;
  }
}
.newgrad-result__item {
  padding: 2rem 4rem 2.8rem;
  background-color: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0.2rem 1rem 0 rgba(0, 0, 0, 0.25);
}

@media screen and (max-width: 768px) {
  .newgrad-result__item {
    padding: 2rem;
  }
}
.newgrad-result__case {
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .newgrad-result__case {
    font-size: 1.6rem;
  }
}
.newgrad-result__case span {
  font-size: 3.2rem;
}

@media screen and (max-width: 768px) {
  .newgrad-result__case span {
    font-size: 2rem;
  }
}
.newgrad-result__lead {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 0.8rem;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .newgrad-result__lead {
    font-size: 1.4rem;
    margin-top: 0.6rem;
  }
}
.newgrad-result-job {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.6rem 4rem;
  padding: 1.6rem 2.4rem 1.3rem;
  margin-top: 2.4rem;
  background-color: #F1F5F9;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .newgrad-result-job {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.4rem 1.2rem;
  }
}
.newgrad-result-job__item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 768px) {
  .newgrad-result-job__item {
    font-size: 1rem;
  }
}
.newgrad-result-job__item dt {
  padding: 0.4rem 1.2rem;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 100vmax;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .newgrad-result-job__item dt {
    padding: 0.2rem 0.8rem;
  }
}
.newgrad-result-job__item dd {
  color: #212121;
}

@media screen and (max-width: 768px) {
  .newgrad-result-job__item dd {
    font-size: 1.2rem;
  }
}
.newgrad-result__before-after {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5.9rem;
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .newgrad-result__before-after {
    grid-template-columns: repeat(1, 1fr);
    gap: 4rem;
  }
}
.newgrad-result__before-after::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 12.75rem;
  aspect-ratio: 127.5/28.11;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background: url(../images/newgrad/case_arrow.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .newgrad-result__before-after::after {
    width: 8rem;
    rotate: 90deg;
  }
}
@media screen and (max-width: 768px) {
  .newgrad-result__item:nth-child(1) .newgrad-result__before-after::after {
    top: 40.5%;
  }
}
@media screen and (max-width: 768px) {
  .newgrad-result__item:nth-child(2) .newgrad-result__before-after::after {
    top: 39%;
  }
}
.newgrad-result__before-after__item {
  position: relative;
  border-radius: 1rem;
}

.newgrad-result__before-after__item .en {
  position: absolute;
  font-size: 4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  top: 0;
  left: 1rem;
}

@media screen and (max-width: 768px) {
  .newgrad-result__before-after__item .en {
    font-size: 3.2rem;
    left: 0.4rem;
  }
}
.newgrad-result__before-after__item--before {
  background-color: #F2F2F2;
  padding: 7.9rem 2.4rem 10rem;
}

@media screen and (max-width: 768px) {
  .newgrad-result__before-after__item--before {
    padding: 6.3rem 1.2rem 7.7rem;
  }
}
.newgrad-result__before-after__item--before .en {
  color: rgba(10, 44, 67, 0.1);
}

.newgrad-result__before-after__item--before .desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .newgrad-result__before-after__item--before .desc {
    font-size: 1.4rem;
  }
}
.newgrad-result__before-after__item--before::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 9.6rem;
  aspect-ratio: 96/120;
  right: 1.7rem;
  bottom: 0.6rem;
  background: url(../images/newgrad/before.webp) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .newgrad-result__before-after__item--before::before {
    width: 7.2rem;
  }
}
.newgrad-result__before-after__item--after {
  padding: 6.8rem 2.4rem 6.7rem 3.2rem;
  background-color: #FEC733;
}

@media screen and (max-width: 768px) {
  .newgrad-result__before-after__item--after {
    padding: 6.8rem 1.2rem 5.1rem;
  }
}
.newgrad-result__before-after__item--after .en {
  color: rgba(255, 255, 255, 0.5);
}

.newgrad-result__before-after__item--after .main {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .newgrad-result__before-after__item--after .main {
    font-size: 1.6rem;
  }
}
.newgrad-result__before-after__item--after .main span {
  background-color: #0D8EF8;
  color: #fff;
}

.newgrad-result__before-after__item--after .desc {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .newgrad-result__before-after__item--after .desc {
    margin-top: 3.2rem;
  }
}
.newgrad-result__before-after__item--after .desc span {
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .newgrad-result__before-after__item--after .desc span {
    font-size: 1.4rem;
  }
}
.newgrad-result__before-after__item--after::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 12.4rem;
  aspect-ratio: 1;
  right: 0.9rem;
  bottom: 0.6rem;
  background: url(../images/newgrad/after.webp) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .newgrad-result__before-after__item--after::before {
    width: 10.5rem;
    right: 0.7rem;
    bottom: 0.9rem;
  }
}
.newgrad-price {
  padding: 8rem 1.6rem;
  background-color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .newgrad-price {
    padding: 5.6rem 1.6rem;
  }
}
.newgrad-price__inner {
  max-width: 112.9rem;
  width: 100%;
  margin-inline: auto;
}

.newgrad-price__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 5.6rem;
  margin-bottom: 8.6rem;
}

@media screen and (max-width: 768px) {
  .newgrad-price__row {
    flex-direction: column;
    gap: 4rem;
    margin-top: 4rem;
    margin-bottom: 5.6rem;
  }
}
.newgrad-price__left {
  width: 37.6439326838%;
}

@media screen and (max-width: 768px) {
  .newgrad-price__left {
    width: 100%;
  }
}
.newgrad-price__main {
  font-size: 2.8rem;
  line-height: 1.4583333333;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .newgrad-price__main {
    font-size: 2rem;
  }
}
.newgrad-price__main span {
  position: relative;
  display: inline-block;
}

.newgrad-price__main span::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 100%;
  height: 0.1rem;
  left: 1.4rem;
  bottom: -0.4rem;
  background: rgba(255, 255, 255, 0.6);
}

.newgrad-price__main span:nth-of-type(2) {
  margin-top: 0.6rem;
}

.newgrad-price__desc {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 4rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .newgrad-price__desc {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
}
.newgrad-price-right {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
  width: 55.7971014493%;
}

@media screen and (max-width: 768px) {
  .newgrad-price-right {
    grid-template-columns: repeat(1, 1fr);
    grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
    width: 100%;
  }
}
.newgrad-price-right__item {
  padding: 5.6rem 1.6rem;
  background-color: #fff;
  border: 0.2rem solid #C3C3C3;
  box-shadow: 0 0.3rem 0.7rem 0 rgba(0, 0, 0, 0.25);
  border-radius: 1.2rem;
  text-align: center;
}

.newgrad-price-right__en {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0D8EF8;
}

.newgrad-price-right__title {
  font-size: 3.2rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #0A2C43;
  margin-top: 2rem;
}

.newgrad-price-right__desc {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #3A3A3A;
  margin-top: 5.7rem;
}

@media screen and (max-width: 768px) {
  .newgrad-price-right__desc {
    font-size: 1.4rem;
    margin-top: 3.2rem;
  }
}
.newgrad-flow {
  padding: 8rem 1.6rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .newgrad-flow {
    padding: 5.6rem 1.6rem;
  }
}
.newgrad-flow__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.4rem;
  margin-top: 6.7rem;
}

@media screen and (max-width: 768px) {
  .newgrad-flow__list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
    gap: 2.4rem;
    margin-top: 4rem;
  }
}
.newgrad-flow__item {
  position: relative;
  padding: 4rem 1.6rem 2.4rem;
  background-color: #fff;
  border: 0.1rem solid #0D8EF8;
  border-radius: 1.2rem;
  box-shadow: 0 0.1rem 1.2rem 0 rgba(0, 0, 0, 0.25);
  color: #212121;
  text-align: center;
}

.newgrad-flow__item .step {
  position: absolute;
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.6rem;
  top: -2rem;
  left: 50%;
  translate: -50%;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .newgrad-flow__item .step {
    font-size: 1.6rem;
    top: -1rem;
  }
}
.newgrad-flow__item .step .num {
  font-size: 2.8rem;
}

@media screen and (max-width: 768px) {
  .newgrad-flow__item .step .num {
    font-size: 2rem;
  }
}
.newgrad-flow__item h3 {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 1.3rem;
}

.newgrad-flow__item p {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 1rem;
}

.newgrad-flow__image {
  width: 14.4rem;
  aspect-ratio: 1;
  margin-inline: auto;
  border-radius: 100vmax;
}

/*** wantedly  
****************************************************************************************/
.wantedly__container {
  max-width: 104rem;
  width: 100%;
  margin-inline: auto;
}

.wantedly-mv {
  position: relative;
  min-height: 74.5rem;
  padding: 0 1.6rem;
  background: url(../images/wantedly/mv_bg.webp) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .wantedly-mv {
    min-height: 84.4rem;
    padding: 0;
    background: url(../images/wantedly/mv_bg_sp.webp) no-repeat;
    background-size: cover;
  }
}
.wantedly-mv__inner {
  max-width: 119.6rem;
  width: 100%;
  margin-inline: auto;
  padding-top: 12.5rem;
  padding-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .wantedly-mv__inner {
    display: flex;
    flex-direction: column;
    gap: 3.5897435897vw;
    padding-top: 32.8%;
    padding-bottom: 0;
  }
}
.wantedly-mv-text {
  position: relative;
  width: 49%;
}

@media screen and (max-width: 768px) {
  .wantedly-mv-text {
    position: static;
    width: 100%;
    padding: 0 1.2rem;
    order: 1;
  }
}
.wantedly-mv__image {
  position: absolute;
  width: 49.9305555556%;
  height: 100%;
  top: 0;
  right: 0;
}

@media screen and (max-width: 768px) {
  .wantedly-mv__image {
    position: static;
    width: 96.9230769231%;
    margin-left: auto;
    order: 2;
  }
}
.wantedly-mv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

@media screen and (max-width: 768px) {
  .wantedly-mv__image img {
    height: auto;
  }
}
.wantedly-mv__title {
  font-size: 2.4rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 768px) {
  .wantedly-mv__title {
    font-size: 9.2307692308vw;
  }
}
.wantedly-mv__title span {
  display: inline-block;
  padding: 0.4rem 2.4rem;
  background-color: #fff;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .wantedly-mv__title span {
    padding: 1.0256410256vw 2.0512820513vw;
  }
}
.wantedly-mv__title span.small {
  font-size: 5.6rem;
  margin-top: 1.2rem;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .wantedly-mv__title span.small {
    font-size: 9.2307692308vw;
    margin-top: 2.0512820513vw;
  }
}
.wantedly-mv__list {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  margin-top: 3.2rem;
}

@media screen and (max-width: 768px) {
  .wantedly-mv__list {
    margin-top: 6.6666666667vw;
  }
}
.wantedly-mv__item {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding-left: 3.5rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .wantedly-mv__item {
    font-size: 3.5897435897vw;
    padding-left: 8.9743589744vw;
  }
}
.wantedly-mv__item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  top: 0.2rem;
  left: 0;
  background: url(../images/common/check_white.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .wantedly-mv__item::before {
    width: 6.1538461538vw;
    top: 0;
  }
}
.wantedly-mv-emblem {
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .wantedly-mv-emblem {
    margin-top: 4.358974359vw;
  }
}
.wantedly-mv-emblem__list {
  display: flex;
  gap: 3.4rem;
}

@media screen and (max-width: 768px) {
  .wantedly-mv-emblem__list {
    gap: 3.5897435897vw;
  }
}
.wantedly-mv-emblem__item {
  width: 17.9rem;
}

@media screen and (max-width: 768px) {
  .wantedly-mv-emblem__item {
    width: auto;
  }
}
.wantedly-mv-btns {
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .wantedly-mv-btns {
    position: absolute;
    bottom: 3rem;
    left: 50%;
    translate: -50%;
  }
}
.wantedly-worry {
  position: relative;
  padding: 7.2rem 1.6rem 9.1rem;
  background-color: #E6E8EA;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .wantedly-worry {
    padding: 5.6rem 1.6rem 6.4rem;
  }
}
.wantedly-worry::before {
  position: absolute;
  display: block;
  content: "";
  width: 127.2916666667%;
  aspect-ratio: 1833/1242;
  background: url(../images/wantedly/ellipse.svg) no-repeat;
  background-size: contain;
  top: 67.7rem;
  left: 50%;
  translate: -50%;
}

@media screen and (max-width: 768px) {
  .wantedly-worry::before {
    width: auto;
    height: 56%;
    top: auto;
    bottom: 0;
  }
}
.wantedly-title2 {
  font-size: 3.2rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #0A2C43;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .wantedly-title2 {
    font-size: 2.4rem;
  }
}
.wantedly-title2::before {
  display: block;
  content: "";
  width: 8.7rem;
  aspect-ratio: 87/6;
  margin: 0 auto 1.2rem;
  background: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .wantedly-title2::before {
    width: 4.4rem;
  }
}
.wantedly-title2--white {
  color: #fff;
}

.wantedly-title2--white::before {
  background-color: #fff;
}

.wantedly-worry__list {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3rem;
  margin-top: 6.2rem;
}

@media screen and (max-width: 768px) {
  .wantedly-worry__list {
    gap: 2rem;
    margin-top: 4rem;
  }
}
.wantedly-worry__item {
  max-width: 28rem;
  width: 100%;
  padding: 1.7rem;
  border: 0.3rem solid #BBD5FC;
  background-color: #fff;
  border-radius: 1rem;
}

.wantedly-worry__image {
  width: 67.1428571429%;
  margin-inline: auto;
}

.wantedly-worry__text {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 1.1rem;
  color: #212121;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .wantedly-worry__text {
    font-size: 1.4rem;
  }
}
.wantedly-worry-catch {
  position: relative;
  width: fit-content;
  font-size: 3.2rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 0 10rem;
  margin: 10.2rem auto 0;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-catch {
    font-size: 2.2rem;
    margin: 4rem auto 0;
    padding: 0 1rem;
  }
}
.wantedly-worry-catch::before, .wantedly-worry-catch:after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 12rem;
  height: 0.2rem;
  top: 50%;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-catch::before, .wantedly-worry-catch:after {
    width: 8rem;
  }
}
.wantedly-worry-catch::before {
  left: 0;
  rotate: 65deg;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-catch::before {
    left: -5rem;
  }
}
.wantedly-worry-catch::after {
  right: 0;
  rotate: -65deg;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-catch::after {
    right: -5rem;
  }
}
.wantedly-worry-box {
  position: relative;
  padding: 3.2rem 3.2rem 3.2rem 4.8rem;
  margin-top: 9.1rem;
  border: 0.3rem solid #BBD5FC;
  background-color: #fff;
  border-radius: 1rem;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-box {
    padding: 2.4rem 1.6rem 2.4rem;
  }
}
.wantedly-worry-box__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-box__row {
    flex-direction: column;
    gap: 4rem;
  }
}
.wantedly-worry-box__text {
  width: 43.8541666667%;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-box__text {
    width: 100%;
  }
}
.wantedly-worry-box__image {
  width: 47.9166666667%;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-box__image {
    width: 100%;
  }
}
.wantedly-worry-box__label {
  position: absolute;
  font-size: 1.6rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 0.7rem 3.2rem;
  top: -1.5rem;
  left: 2.5rem;
  background-color: #FEC733;
  color: #0A2C43;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-box__label {
    font-size: 1.4rem;
    padding: 0.4rem 2.4rem;
    top: -2.5rem;
    left: 0.5rem;
  }
}
.wantedly-worry-box__label::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 3.5rem;
  aspect-ratio: 35.58/39.25;
  left: 0.7rem;
  bottom: -2.5rem;
  mask-image: url(../images/wantedly/kagi.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: #FEC733;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-box__label::before {
    width: 2.5rem;
    left: 0.4rem;
    bottom: -2rem;
  }
}
.wantedly-worry-box__main {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 3rem;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-box__main {
    font-size: 1.8rem;
  }
}
.wantedly-worry-box__main span {
  color: #0D8EF8;
}

.wantedly-worry-box__desc {
  font-size: 1.6rem;
  line-height: 1.9;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 3.2rem;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .wantedly-worry-box__desc {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
}
.wantedly-reason {
  padding: 7.2rem 1.6rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .wantedly-reason {
    padding: 5.6rem 1.6rem;
  }
}
.wantedly-reason__list {
  display: flex;
  flex-direction: column;
  gap: 4.9rem;
  margin-top: 5.6rem;
}

@media screen and (max-width: 768px) {
  .wantedly-reason__list {
    gap: 2.4rem;
    margin-top: 4rem;
  }
}
.wantedly-reason__item {
  padding: 3.2rem;
  border: 0.3rem solid #BBD5FC;
  background-color: #fff;
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .wantedly-reason__item {
    padding: 1.6rem;
  }
}
.wantedly-reason__item:nth-child(even) .wantedly-reason__row {
  flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  .wantedly-reason__item:nth-child(even) .wantedly-reason__row {
    flex-direction: column;
  }
}
.wantedly-reason__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .wantedly-reason__row {
    flex-direction: column;
    gap: 4rem;
  }
}
.wantedly-reason__text {
  width: 50.9221311475%;
}

@media screen and (max-width: 768px) {
  .wantedly-reason__text {
    width: 100%;
  }
}
.wantedly-reason__text h3 {
  font-size: 2.4rem;
  line-height: 1.7083333333;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 0.8rem;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .wantedly-reason__text h3 {
    font-size: 2rem;
  }
}
.wantedly-reason__text h3 span {
  font-size: 2.8rem;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .wantedly-reason__text h3 span {
    font-size: 2.4rem;
  }
}
.wantedly-reason__text p {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 3.2rem;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .wantedly-reason__text p {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
}
.wantedly-reason__num {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  width: fit-content;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  padding: 0.5rem 1.6rem;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 100vmax;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .wantedly-reason__num {
    font-size: 1.2rem;
    padding: 0.4rem 1.2rem;
  }
}
.wantedly-reason__num span {
  font-size: 3.2rem;
}

@media screen and (max-width: 768px) {
  .wantedly-reason__num span {
    font-size: 2.4rem;
  }
}
.wantedly-reason__num::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.8rem;
  aspect-ratio: 28.73/31.7;
  left: 0;
  bottom: -1.5rem;
  background: url(../images/wantedly/kagi.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: -1;
}

.wantedly-reason__image {
  width: 43.0327868852%;
}

@media screen and (max-width: 768px) {
  .wantedly-reason__image {
    width: 100%;
  }
}
.wantedly-support {
  padding: 7.2rem 1.6rem;
  background-color: #DFEBF6;
}

@media screen and (max-width: 768px) {
  .wantedly-support {
    padding: 5.6rem 1.6rem;
  }
}
.wantedly-support__desc {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-top: 3.2rem;
  color: #3A3A3A;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .wantedly-support__desc {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
}
.wantedly-support__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.8rem 5.6rem;
  padding: 4.9rem 6.8rem 3.3rem;
  margin-top: 4rem;
  border: 0.3rem solid #BBD5FC;
  background-color: #fff;
  border-radius: 1.3rem;
}

@media screen and (max-width: 768px) {
  .wantedly-support__list {
    padding: 2.4rem;
    grid-template-columns: repeat(auto-fit, minmax(18.4rem, 1fr));
  }
}
.wantedly-support__image {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .wantedly-support__image {
    max-width: 21.6rem;
    margin-inline: auto;
  }
}
.wantedly-support__image span {
  position: absolute;
  display: grid;
  place-content: center;
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  width: 4.5rem;
  aspect-ratio: 1;
  top: 0;
  left: 0;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 100vmax;
  z-index: 1;
}

.wantedly-support__image span::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 3.3rem;
  aspect-ratio: 33.32/32.86;
  left: -0.7rem;
  bottom: -1.3rem;
  background: url(../images/wantedly/kagi.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: -1;
}

.wantedly-support__text h3 {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 2.4rem;
  color: #0A2C43;
  text-align: center;
}

.wantedly-support__sublist {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 2.2rem;
}

.wantedly-support__subitem {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding-left: 2.6rem;
  color: #000;
}

.wantedly-support__subitem::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.8rem;
  aspect-ratio: 1;
  top: 0.2rem;
  left: 0;
  background: url(../images/common/check.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.wantedly-case {
  padding: 7.2rem 1.6rem 6.4rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .wantedly-case {
    padding: 5.6rem 1.6rem;
  }
}
.wantedly-case__list {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  margin-top: 4.8rem;
}

@media screen and (max-width: 768px) {
  .wantedly-case__list {
    gap: 2.4rem;
    margin-top: 4rem;
  }
}
.wantedly-case__item {
  padding: 2.4rem 2.4rem 2.4rem 4.8rem;
  border: 0.2rem solid #BBD5FC;
  background-color: #fff;
  border-radius: 1.3rem;
}

@media screen and (max-width: 768px) {
  .wantedly-case__item {
    padding: 1.6rem;
  }
}
.wantedly-case__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .wantedly-case__row {
    flex-direction: column;
    gap: 4rem;
  }
}
.wantedly-case__left {
  width: 50.4132231405%;
}

@media screen and (max-width: 768px) {
  .wantedly-case__left {
    width: 100%;
  }
}
.wantedly-case__num {
  font-size: 7.2rem;
  line-height: 0.9583333333;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .wantedly-case__num {
    font-size: 4rem;
  }
}
.wantedly-case__num span {
  font-size: 1.8rem;
  line-height: 0.7222222222;
  font-weight: 700;
  letter-spacing: 0.12em;
  writing-mode: vertical-rl;
}

@media screen and (max-width: 768px) {
  .wantedly-case__num span {
    font-size: 1.2rem;
    vertical-align: bottom;
  }
}
.wantedly-case__title {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .wantedly-case__title {
    font-size: 2rem;
    margin-top: 1.6rem;
  }
}
.wantedly-case__title span {
  color: #0D8EF8;
}

.wantedly-case__desc {
  font-size: 1.6rem;
  line-height: 1.9;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #3A3A3A;
  margin-top: 2.8rem;
}

@media screen and (max-width: 768px) {
  .wantedly-case__desc {
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
}
.wantedly-case-right {
  display: flex;
  flex-direction: column;
  width: 41.3223140496%;
  background-color: #0D8EF8;
  border-radius: 0.8rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .wantedly-case-right {
    width: 100%;
  }
}
.wantedly-case-right .label {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.2rem 2.4rem;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .wantedly-case-right .label {
    font-size: 1.4rem;
    padding: 0.2rem 2rem;
  }
}
.wantedly-case-right__before {
  position: relative;
  padding: 1.6rem 1.6rem 5.9rem;
  background-color: #DBDBDB;
  border-radius: 0.8rem 0.8rem 0 0;
  clip-path: polygon(100% 0, 100% 75%, 50% 100%, 0 75%, 0 0);
}

@media screen and (max-width: 768px) {
  .wantedly-case-right__before {
    padding: 1.6rem 1.6rem 4.9rem;
  }
}
.wantedly-case-right__before .label {
  background-color: #0D8EF8;
  color: #fff;
}

.wantedly-case-right__before p {
  font-size: 2rem;
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 3.5rem;
  color: #000;
}

@media screen and (max-width: 768px) {
  .wantedly-case-right__before p {
    font-size: 1.8rem;
  }
}
.wantedly-case-right__before::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 13.2rem;
  aspect-ratio: 1;
  top: -0.9rem;
  left: -0.9rem;
  background: url(../images/wantedly/case_before.webp) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .wantedly-case-right__before::before {
    width: 9.2rem;
  }
}
.wantedly-case-right__after {
  position: relative;
  padding: 2.4rem 1.6rem 3.6rem;
}

.wantedly-case-right__after .label {
  background-color: #fff;
  color: #0D8EF8;
}

.wantedly-case-right__after p {
  font-size: 2.4rem;
  line-height: 1.4583333333;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 2.4rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .wantedly-case-right__after p {
    font-size: 2rem;
  }
}
.wantedly-case-right__after span {
  display: inline-block;
  line-height: 1;
  padding: 0.2rem;
  background: #fff;
  color: #0D8EF8;
}

.wantedly-case-right__after::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 13.2rem;
  aspect-ratio: 1;
  bottom: -0.6rem;
  right: -0.8rem;
  background: url(../images/wantedly/case_after.webp) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .wantedly-case-right__after::before {
    width: 9.2rem;
  }
}
.wantedly-flow {
  padding: 7.2rem 1.6rem;
  background-color: #E7F0F8;
}

@media screen and (max-width: 768px) {
  .wantedly-flow {
    padding: 5.6rem 1.6rem;
  }
}
.wantedly-flow__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-top: 5.6rem;
  z-index: 0;
}

.wantedly-flow__list::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.6rem;
  height: 100%;
  top: 0;
  left: 12.1rem;
  background: #0D8EF8;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .wantedly-flow__list::before {
    left: 50%;
    translate: -50%;
  }
}
@media screen and (max-width: 768px) {
  .wantedly-flow__list {
    gap: 2rem;
    margin-top: 4rem;
  }
}
.wantedly-flow__item {
  padding: 2.4rem 4rem;
  border: 0.2rem solid #BBD5FC;
  background-color: #fff;
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .wantedly-flow__item {
    padding: 1.6rem;
  }
}
.wantedly-flow__row {
  display: flex;
  gap: 5.6rem;
}

@media screen and (max-width: 768px) {
  .wantedly-flow__row {
    flex-direction: column;
    gap: 2.4rem;
  }
}
.wantedly-flow__image {
  width: 16.8rem;
  aspect-ratio: 1;
  flex-shrink: 0;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .wantedly-flow__image {
    align-self: center;
  }
}
.wantedly-flow__text {
  flex: 1;
}

.wantedly-flow__num {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0D8EF8;
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  .wantedly-flow__num {
    font-size: 1.4rem;
  }
}
.wantedly-flow__title {
  font-size: 2.4rem;
  line-height: 1.4583333333;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 1.6rem;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .wantedly-flow__title {
    font-size: 2rem;
    margin-top: 0.8rem;
  }
}
.wantedly-flow__desc {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 2.4rem;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .wantedly-flow__desc {
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
}
.wantedly-flow__desc span {
  font-weight: 700;
}

.wantedly-cta {
  padding: 7.2rem 1.6rem 7.4rem;
  background: url(../images/wantedly/cta_bg.webp) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .wantedly-cta {
    padding: 5.6rem 1.6rem;
  }
}
.wantedly-cta__btns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.4rem;
  margin-top: 5.75rem;
}

@media screen and (max-width: 768px) {
  .wantedly-cta__btns {
    gap: 4rem;
  }
}
.wantedly-cta__btns .cta-btn {
  font-size: 1.8rem;
  gap: 2.8rem;
  width: 36rem;
  height: 7rem;
  padding-left: 5.1rem;
  padding-right: 1.6rem;
}

@media screen and (max-width: 768px) {
  .wantedly-cta__btns .cta-btn {
    max-width: 36rem;
    font-size: 1.8rem;
    height: 6.4rem;
    padding-left: 4.8rem;
  }
}
.wantedly-cta__btns .cta-btn::after {
  width: 1.4rem;
  right: 2.8rem;
}

.wantedly-cta__btns .top {
  font-weight: 700;
  padding: 0.2rem 3rem;
  top: -1.6rem;
}

@media screen and (max-width: 768px) {
  .wantedly-cta__btns .top {
    font-size: 1.2rem;
    padding: 0.4rem 3.2rem;
  }
}
.wantedly-cta__btns .cta-btn--contact {
  padding-left: 6.2rem;
}

/* 人事ライト 
******************************************************************************************/
.lite-mv {
  position: relative;
  min-height: 77.3rem;
}

@media screen and (max-width: 768px) {
  .lite-mv {
    min-height: auto;
  }
}
.lite-mv__image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.lite-mv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lite-mv__inner {
  padding: 13rem 1.6rem 0;
}

@media screen and (max-width: 768px) {
  .lite-mv__inner {
    padding: 12.6rem 1.6rem 6.1rem;
  }
}
.lite-mv-text {
  position: relative;
  max-width: 106.4rem;
  width: 100%;
  margin-inline: auto;
  padding: 5rem 2.4rem 7.7rem;
  background-color: #fff;
  box-shadow: 0 0.1rem 2.2rem 0 rgba(0, 0, 0, 0.25);
  border-radius: 2.4rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .lite-mv-text {
    padding: 4.3rem 1.1rem 3.3rem;
  }
}
.lite-mv__lead {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .lite-mv__lead {
    font-size: 4.1025641026vw;
    line-height: 1.4375;
  }
}
.lite-mv__lead span {
  background-color: #FDE69B;
}

.lite-mv__title {
  font-size: 6.4rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 3.2rem;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .lite-mv__title {
    font-size: 10.2564102564vw;
    margin-top: 10.2564102564vw;
  }
}
.lite-mv__sub {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 2.5rem;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .lite-mv__sub {
    font-size: 4.6153846154vw;
    margin-top: 4.8717948718vw;
  }
}
.lite-mv-point {
  margin-top: 3.6rem;
}

@media screen and (max-width: 768px) {
  .lite-mv-point {
    margin-top: 3.5897435897vw;
  }
}
.lite-mv-point__list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 3.2rem;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.0256410256vw;
  }
}
.lite-mv-point__item {
  position: relative;
  width: 16.6rem;
  aspect-ratio: 1;
  border: 0.5rem solid #0D8EF8;
  border-radius: 100vmax;
  text-align: center;
  container-type: inline-size;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item {
    width: 100%;
    border: 0.8846153846vw solid #0D8EF8;
  }
}
.lite-mv-point__item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 25.641025641cqw;
  aspect-ratio: 40.57/14.09;
  top: 10.2564102564cqw;
  left: 50%;
  translate: -50%;
  background: url(../images/lite/mv_point_deco.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item::before {
    width: 25.7142857143cqw;
  }
}
@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(1)::before {
    width: 20.8571428571cqw;
    top: 4.7619047619cqw;
  }
}
.lite-mv-point__item:nth-child(1) .text1 {
  display: block;
  font-size: 10.8974358974cqw;
  line-height: 1.4705882353;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 23.0769230769cqw;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(1) .text1 {
    font-size: 9.4761904762cqw;
    margin-top: 13.3333333333cqw;
  }
}
.lite-mv-point__item:nth-child(1) .main {
  font-size: 10.8974358974cqw;
  line-height: 0.8;
  font-weight: 700;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(1) .main {
    font-size: 9.4761904762cqw;
  }
}
.lite-mv-point__item:nth-child(1) .main span {
  font-size: 24.358974359cqw;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(1) .main span {
    font-size: 19.0476190476cqw;
  }
}
.lite-mv-point__item:nth-child(1) .text2 {
  font-size: 6.4102564103cqw;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0 5.1282051282cqw;
  margin-top: 7.0512820513cqw;
  background-color: #BBD5FC;
  color: rgba(10, 44, 67, 0.7);
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(1) .text2 {
    display: block;
    width: fit-content;
    font-size: 7.180952381cqw;
    margin: 7.619047619cqw auto 4.7619047619cqw;
  }
}
.lite-mv-point__item:nth-child(1) .text3 {
  font-size: 6.4102564103cqw;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: -1.2820512821cqw;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(1) .text3 {
    font-size: 7.180952381cqw;
  }
}
.lite-mv-point__item:nth-child(2) .main {
  font-size: 15.3846153846cqw;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 19.2307692308cqw;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(2) .main {
    font-size: 14.0380952381cqw;
  }
}
.lite-mv-point__item:nth-child(2) .main span {
  font-size: 22.4358974359cqw;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(2) .main span {
    font-size: 20.2761904762cqw;
  }
}
.lite-mv-point__item:nth-child(2) .text1 {
  display: block;
  font-size: 10.2564102564cqw;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: -5.1282051282cqw;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(2) .text1 {
    font-size: 9.5047619048cqw;
    line-height: 1.4;
    margin-top: -2.8571428571cqw;
  }
}
.lite-mv-point__item:nth-child(2) .text2 {
  font-size: 7.6923076923cqw;
  line-height: 1.4166666667;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: rgba(20, 44, 67, 0.7);
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(2) .text2 {
    font-size: 7.7333333333cqw;
    margin-top: 5.3904761905cqw;
  }
}
.lite-mv-point__item:nth-child(3) .main {
  display: block;
  font-size: 19.2307692308cqw;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 25cqw;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(3) .main {
    font-size: 15.5904761905cqw;
    margin-top: 20.9523809524cqw;
  }
}
.lite-mv-point__item:nth-child(3) .text1 {
  font-size: 10.8974358974cqw;
  line-height: 1.4705882353;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 0.641025641cqw;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(3) .text1 {
    font-size: 9.1619047619cqw;
    margin-top: 2.6857142857cqw;
  }
}
.lite-mv-point__item:nth-child(3) .text2 {
  font-size: 7.6923076923cqw;
  line-height: 1.4166666667;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 5.1282051282cqw;
  color: rgba(20, 44, 67, 0.7);
}

@media screen and (max-width: 768px) {
  .lite-mv-point__item:nth-child(3) .text2 {
    font-size: 7.7333333333cqw;
    margin-top: 5.6952380952cqw;
  }
}
.lite-mv-btns {
  position: absolute;
  bottom: -4rem;
  left: 50%;
  translate: -50%;
}

@media screen and (max-width: 768px) {
  .lite-mv-btns {
    position: static;
    translate: 0;
  }
}
.lite-btns {
  display: flex;
  justify-content: center;
  gap: 2.4rem;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .lite-btns {
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 4.2rem;
  }
}
.lite-btns .cta-btn {
  font-size: 2rem;
  gap: 2.4rem;
  width: 50rem;
  height: 8.8rem;
  padding-left: 12.2rem;
  padding-right: 4.7rem;
}

@media screen and (max-width: 768px) {
  .lite-btns .cta-btn {
    max-width: 36rem;
    font-size: 1.6rem;
    justify-content: center;
    gap: 0.6rem;
    height: 6.4rem;
    padding: 0;
  }
}
.lite-btns .cta-btn::before {
  width: 2.4rem;
}

.lite-btns .cta-btn::after {
  display: none;
}

.lite-task {
  padding: 8rem 0 0;
  background-color: #E8E8E8;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .lite-task {
    padding: 5.6rem 0 0;
  }
}
.lite__container {
  max-width: 120rem;
  width: 100%;
  margin-inline: auto;
}

.lite-title2 {
  font-size: 3.2rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .lite-title2 {
    font-size: 1.8rem;
  }
}
.lite-title2::before {
  display: block;
  content: "";
  width: 8rem;
  aspect-ratio: 80/8;
  background: #0D8EF8;
  margin: 0 auto 1.6rem;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .lite-title2::before {
    width: 4rem;
  }
}
.lite-task__list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  gap: 4rem;
  margin-top: 6.4rem;
  padding-bottom: 9.75rem;
}

@media screen and (max-width: 768px) {
  .lite-task__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    margin-top: 4rem;
    padding: 0 1.6rem 6rem;
  }
}
.lite-task__list::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 47.5rem;
  aspect-ratio: 475/130;
  bottom: -6rem;
  left: 50%;
  translate: -50%;
  background: url(../images/lite/dots.webp) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .lite-task__list::after {
    width: 18.5rem;
    bottom: -1rem;
  }
}
.lite-task__item {
  position: relative;
  max-width: 55rem;
  width: 100%;
  padding: 2.9rem 2.5rem 2.4rem 17.8rem;
  padding-left: 17.8rem;
  border-left: 0.7rem solid #0D8EF8;
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 1.5rem 0 rgba(58, 58, 58, 0.2);
}

@media screen and (max-width: 768px) {
  .lite-task__item {
    padding: 2.9rem 1.5rem 2.4rem 10.8rem;
    margin: auto;
  }
}
.lite-task__item:nth-child(1) .lite-task__image {
  width: 7.1rem;
  top: -1.1rem;
  left: 4.7rem;
}

@media screen and (max-width: 768px) {
  .lite-task__item:nth-child(1) .lite-task__image {
    width: 7.1rem;
    top: -1.1rem;
    left: 0.7rem;
  }
}
.lite-task__item:nth-child(2) .lite-task__image {
  width: 13.8rem;
  top: -1.2rem;
  left: 1.6rem;
}

@media screen and (max-width: 768px) {
  .lite-task__item:nth-child(2) .lite-task__image {
    width: 11.8rem;
    top: -0.2rem;
    left: -1rem;
  }
}
.lite-task__item:nth-child(3) .lite-task__image {
  width: 15.9rem;
  top: -5.5rem;
  left: 2.1rem;
}

@media screen and (max-width: 768px) {
  .lite-task__item:nth-child(3) .lite-task__image {
    width: 10.9rem;
    top: -2.5rem;
    left: 0.1rem;
  }
}
.lite-task__item:nth-child(4) .lite-task__image {
  width: 14.6rem;
  top: -2rem;
  left: 2.1rem;
}

@media screen and (max-width: 768px) {
  .lite-task__item:nth-child(4) .lite-task__image {
    width: 13.6rem;
    top: 0rem;
    left: -1.9rem;
  }
}
.lite-task__image {
  position: absolute;
}

@media screen and (max-width: 768px) {
  .lite-task__text {
    font-size: 1.4rem;
  }
}
.common-catch {
  position: relative;
  padding: 16.4rem 1.6rem 0;
  background: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .common-catch {
    padding: 6.4rem 1.6rem 0;
  }
}
.lite-task-catch {
  position: relative;
}

.lite-task-catch::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 78rem;
  aspect-ratio: 780/105;
  top: -0.1rem;
  left: 50%;
  translate: -50%;
  background: #E8E8E8;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}

@media screen and (max-width: 768px) {
  .lite-task-catch::before {
    width: 30rem;
  }
}
.lite-task-catch::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 68rem;
  aspect-ratio: 780/120;
  bottom: -10.4rem;
  left: 50%;
  translate: -50%;
  background: #0D8EF8;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}

@media screen and (max-width: 768px) {
  .lite-task-catch::after {
    width: 30rem;
    bottom: -4.4rem;
  }
}
.common-catch__text {
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  text-align: center;
}

.common-catch__text::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 144rem;
  aspect-ratio: 1440/406;
  top: -2.5%;
  left: 50%;
  translate: -50%;
  background: url(../images/common/catch_bg.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .common-catch__text::before {
    width: 75rem;
    top: -0.5%;
  }
}
.common-catch__lead {
  font-size: 3.2rem;
}

@media screen and (max-width: 768px) {
  .common-catch__lead {
    font-size: 2.4rem;
  }
}
.common-catch__main {
  font-size: 6.4rem;
}

@media screen and (max-width: 768px) {
  .common-catch__main {
    font-size: 4rem;
  }
}
.common-catch__sub {
  font-size: 4rem;
}

@media screen and (max-width: 768px) {
  .common-catch__sub {
    font-size: 2.4rem;
  }
}
.lite-task-bottom {
  padding: 22.2rem 1.6rem 7rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .lite-task-bottom {
    padding: 10rem 1.6rem 4rem;
  }
}
.lite-task-bottom__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

@media screen and (max-width: 768px) {
  .lite-task-bottom__list {
    grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
    gap: 4rem 2rem;
  }
}
.lite-task-bottom__item {
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  padding: 4rem 1.4rem 2.4rem;
  background-color: #fff;
  border-radius: 1rem;
}

.lite-task-bottom__num {
  position: absolute;
  font-size: 2.8rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.02em;
  width: 6rem;
  padding-top: 1.2rem;
  aspect-ratio: 60/75;
  top: -4.4rem;
  left: 0.8rem;
  background: url(../images/lite/task_num_bg.svg) no-repeat;
  background-size: contain;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .lite-task-bottom__num {
    font-size: 2.4rem;
    width: 5rem;
    top: -3.4rem;
  }
}
.lite-task-bottom__title {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #0D8EF8;
}

.lite-task-bottom__desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 1.6rem;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .lite-task-bottom__desc {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.lite-support {
  padding: 7.2rem 1.6rem 10.4rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .lite-support {
    padding: 5.6rem 1.6rem 6.4rem;
  }
}
.lite-support__content {
  position: relative;
}

@media screen and (max-width: 768px) {
  .lite-support__content {
    margin-top: 4rem;
  }
}
.lite-support__image {
  position: absolute;
  width: min(83.9rem, 70.8614864865vw);
  top: 8%;
  left: 49.5%;
  translate: -50%;
}

@media screen and (max-width: 768px) {
  .lite-support__image {
    position: static;
    width: 100%;
    translate: 0;
  }
}
.lite-support__list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, min(19.6rem, 16.5540540541vw));
  grid-row: 3;
  width: 100%;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .lite-support__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem 1rem;
    margin-top: 4rem;
  }
}
.lite-support-item {
  width: 100%;
  height: max-content;
  border-radius: 1rem;
}

@media screen and (max-width: 768px) {
  .lite-support-item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 0;
  }
}
.lite-support-item:nth-child(1) {
  grid-row: 1;
  grid-column: 1;
  border: 0.1rem solid #D22F20;
}

@media screen and (max-width: 768px) {
  .lite-support-item:nth-child(1) {
    grid-template-rows: subgrid;
    grid-row: span 2;
    grid-column: auto;
    order: 7;
  }
}
.lite-support-item:nth-child(1) .lite-support-item__head {
  background-color: #D22F20;
}

.lite-support-item:nth-child(2) {
  grid-row: 1;
  grid-column: 5;
  border: 0.1rem solid #1E508D;
}

@media screen and (max-width: 768px) {
  .lite-support-item:nth-child(2) {
    grid-template-rows: subgrid;
    grid-row: span 2;
    grid-column: auto;
    order: 1;
  }
}
.lite-support-item:nth-child(2) .lite-support-item__head {
  background-color: #1E508D;
}

.lite-support-item:nth-child(3) {
  grid-row: 2;
  grid-column: 1;
  border: 0.1rem solid #593F77;
  margin-top: min(5.2rem, 4.3918918919vw);
}

@media screen and (max-width: 768px) {
  .lite-support-item:nth-child(3) {
    grid-template-rows: subgrid;
    grid-row: span 2;
    grid-column: auto;
    margin-top: 0;
    order: 9;
  }
}
.lite-support-item:nth-child(3) .lite-support-item__head {
  background-color: #593F77;
}

.lite-support-item:nth-child(4) {
  grid-row: 2;
  grid-column: 5;
  border: 0.1rem solid #1C7D8E;
  margin-top: min(-1.6rem, -1.3513513514vw);
  margin-bottom: min(3.6rem, 3.0405405405vw);
}

@media screen and (max-width: 768px) {
  .lite-support-item:nth-child(4) {
    grid-template-rows: subgrid;
    grid-row: span 2;
    grid-column: auto;
    margin-top: 0;
    margin-bottom: 0;
    order: 2;
  }
}
.lite-support-item:nth-child(4) .lite-support-item__head {
  background-color: #1C7D8E;
}

.lite-support-item:nth-child(5) {
  grid-row: 3;
  border: 0.1rem solid #6B3E99;
}

@media screen and (max-width: 768px) {
  .lite-support-item:nth-child(5) {
    grid-template-rows: subgrid;
    grid-row: span 2;
    grid-column: auto;
    order: 8;
  }
}
.lite-support-item:nth-child(5) .lite-support-item__head {
  background-color: #6B3E99;
}

.lite-support-item:nth-child(6) {
  grid-row: 3;
  border: 0.1rem solid #B561B3;
}

@media screen and (max-width: 768px) {
  .lite-support-item:nth-child(6) {
    grid-template-rows: subgrid;
    grid-row: span 2;
    grid-column: auto;
    order: 6;
  }
}
.lite-support-item:nth-child(6) .lite-support-item__head {
  background-color: #B561B3;
}

.lite-support-item:nth-child(7) {
  grid-row: 3;
  border: 0.1rem solid #FA7C04;
}

@media screen and (max-width: 768px) {
  .lite-support-item:nth-child(7) {
    grid-template-rows: subgrid;
    grid-row: span 2;
    grid-column: auto;
    order: 5;
  }
}
.lite-support-item:nth-child(7) .lite-support-item__head {
  background-color: #FA7C04;
}

.lite-support-item:nth-child(8) {
  grid-row: 3;
  border: 0.1rem solid #F7BC00;
}

@media screen and (max-width: 768px) {
  .lite-support-item:nth-child(8) {
    grid-template-rows: subgrid;
    grid-row: span 2;
    grid-column: auto;
    order: 4;
  }
}
.lite-support-item:nth-child(8) .lite-support-item__head {
  background-color: #F7BC00;
}

.lite-support-item:nth-child(9) {
  grid-row: 3;
  border: 1px solid #5ABC89;
}

@media screen and (max-width: 768px) {
  .lite-support-item:nth-child(9) {
    grid-template-rows: subgrid;
    grid-row: span 2;
    grid-column: auto;
    order: 3;
  }
}
.lite-support-item:nth-child(9) .lite-support-item__head {
  background-color: #5ABC89;
}

.lite-support-item__head {
  font-size: min(1.6rem, 1.3513513514vw);
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: min(0.4rem, 0.3378378378vw);
  text-align: center;
  color: #fff;
  border-radius: min(1rem, 0.8445945946vw) min(1rem, 0.8445945946vw) 0 0;
}

@media screen and (max-width: 768px) {
  .lite-support-item__head {
    font-size: 1.6rem;
    border-radius: 1rem 1rem 0 0;
  }
}
.lite-support-item__body {
  padding: min(1.2rem, 1.0135135135vw) min(1.6rem, 1.3513513514vw);
  background-color: #fff;
  border-radius: 0 0 min(1rem, 0.8445945946vw) min(1rem, 0.8445945946vw);
}

@media screen and (max-width: 768px) {
  .lite-support-item__body {
    padding: 1.2rem 0.4rem 1.6rem;
    border-radius: 0 0 1rem 1rem;
  }
}
.lite-support-item__sublist {
  display: flex;
  flex-direction: column;
}

.lite-support-item__subitem {
  position: relative;
  font-size: min(1rem, 0.8445945946vw);
  line-height: 2.1;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding-left: 1.5em;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .lite-support-item__subitem {
    font-size: 1rem;
    padding-left: 1.2em;
  }
}
.lite-support-item__subitem::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(0.3rem, 0.2533783784vw);
  aspect-ratio: 1;
  top: 46%;
  left: 0.5em;
  background: #3A3A3A;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .lite-support-item__subitem::before {
    width: 0.3rem;
    top: 0.95rem;
  }
}
.lite-support-btns {
  margin-top: 4.6rem;
}

.lite-industry {
  padding: 8rem 1.6rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .lite-industry {
    padding: 5.6rem 1.6rem;
  }
}
.lite-industry__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.8rem 2rem;
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .lite-industry__list {
    grid-template-columns: repeat(2, 1fr);
    margin: 4rem auto 0;
  }
}
.lite-industry__item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.9rem 1.4rem 1.8rem;
  border: 0.1rem solid #C9C9C9;
  background-color: #fff;
  border-radius: 1rem;
}

@media screen and (max-width: 768px) {
  .lite-industry__item {
    padding: 1.4rem 0.5rem;
  }
}
.lite-industry__image {
  width: 6.4rem;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .lite-industry__image {
    width: 4.8rem;
  }
}
.lite-industry__text {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .lite-industry__text {
    font-size: 1.4rem;
  }
}
.lite-industry__text.small {
  font-size: 1.4rem;
}

.lite-price {
  padding: 8rem 1.6rem 8.1rem;
  background-color: #F7F7F7;
}

@media screen and (max-width: 768px) {
  .lite-price {
    padding: 5.6rem 1.6rem;
  }
}
.lite-price-plan {
  max-width: 46.8rem;
  width: 100%;
  border-top: 1.6rem solid #0D8EF8;
  margin: 5.6rem auto 0;
  padding: 4.7rem 1.6rem 3.4rem;
  background-color: #fff;
  border-radius: 1.2rem;
  text-align: center;
  color: #212121;
  box-shadow: 0 0.2rem 1.5rem 0 rgba(58, 58, 58, 0.2);
}

@media screen and (max-width: 768px) {
  .lite-price-plan {
    margin: 4rem auto 0;
  }
}
.lite-price-plan__title {
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
}

.lite-price-plan__main {
  margin-top: 0.7rem;
}

.lite-price-plan__main .monthly {
  font-size: 2rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-indent: 0.14em;
  padding: 0.3rem 0.4rem;
  margin-right: 1.6rem;
  background-color: #BBD5FC;
  border-radius: 0.3rem;
  writing-mode: vertical-rl;
}

.lite-price-plan__main .num {
  font-size: 7.2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
}

.lite-price-plan__main .yen {
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
}

.lite-price-plan__main .tax {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.lite-price-plan__note {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 1.4rem;
  color: #000;
}

.lite-price-plan__note span {
  font-size: 2.4rem;
}

.lite-price-plan-desc {
  max-width: 96.8rem;
  margin: 5.6rem auto 0;
  padding: 3.1rem 1.6rem;
  border: 0.1rem solid #ACACAC;
  background-color: #fff;
  border-radius: 1.2rem;
}

.lite-price-plan-desc__list {
  width: fit-content;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-inline: auto;
}

.lite-price-plan-desc__item {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-left: 3.2rem;
  color: #212121;
}

.lite-price-plan-desc__item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  top: 0.2rem;
  left: 0;
  background: url(../images/common/check.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.lite-price-btns {
  margin-top: 7.4rem;
}

@media screen and (max-width: 768px) {
  .lite-price-btns {
    margin-top: 4rem;
  }
}
.lite-feature {
  padding: 8rem 1.6rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .lite-feature {
    padding: 5.6rem 1.6rem;
  }
}
.lite-feature__content {
  padding: 6.4rem 10rem;
  margin-top: 5.6rem;
  background-color: #fff;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .lite-feature__content {
    padding: 4rem 1.6rem;
    margin-top: 4rem;
  }
}
.lite-feature__lead {
  font-size: 2rem;
  line-height: 1.75;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0A2C43;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .lite-feature__lead {
    font-size: 1.8rem;
  }
}
.lite-feature__sub {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 3.2rem;
  color: #212121;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .lite-feature__sub {
    font-size: 1.4rem;
  }
}
.lite-feature__image {
  position: relative;
  margin-top: 4.2rem;
  container-type: inline-size;
}

@media screen and (max-width: 768px) {
  .lite-feature__woman-wrap {
    display: flex;
    align-items: flex-start;
    max-width: 34rem;
    margin: 2.4rem auto;
  }
}
.lite-feature__woman {
  position: absolute;
  width: 15.4471544715%;
  right: 16.1585365854%;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .lite-feature__woman {
    position: static;
    width: 40%;
  }
}
.lite-feature__pop {
  position: absolute;
  max-width: 26.4227642276%;
  font-size: 1.2195121951cqw;
  line-height: 1.4166666667;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.8130081301cqw 1.8292682927cqw;
  right: -9.0447154472%;
  bottom: 18.2527301092%;
  background-color: #BBD5FC;
  color: #0A2C43;
  border-radius: 2.4rem;
}

@media screen and (max-width: 768px) {
  .lite-feature__pop {
    position: relative;
    max-width: 100%;
    width: 50%;
    font-size: 1.2rem;
    padding: 0.8rem 1.6rem;
  }
}
.lite-feature__pop::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 3.5569105691cqw;
  aspect-ratio: 35.34/25.97;
  top: 8.0769230769%;
  left: -10%;
  background: url(../images/lite/feature_deco.svg) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .lite-feature__pop::before {
    width: 3.5rem;
    top: 2.1rem;
    left: -2.6rem;
  }
}
.lite-feature-case {
  margin-top: 7.5rem;
}

.lite-feature-case__list {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}

.lite-feature-case__item {
  display: flex;
  align-items: flex-start;
  gap: 1.9rem;
  padding: 2.2rem 2.3rem 2.3rem;
  background-color: #fff;
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .lite-feature-case__item {
    flex-direction: column;
  }
}
.lite-feature-case__left {
  display: grid;
  place-content: center;
  width: 8.8rem;
  aspect-ratio: 1;
  border-radius: 1.6rem;
  background-color: #0D8EF8;
  color: #fff;
  flex-shrink: 0;
  container-type: inline-size;
}

@media screen and (max-width: 768px) {
  .lite-feature-case__left {
    width: 6.4rem;
    margin-inline: auto;
  }
}
.lite-feature-case__left .case {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 768px) {
  .lite-feature-case__left .case {
    font-size: 18.1818181818cqw;
  }
}
.lite-feature-case__left .num {
  display: block;
  width: fit-content;
  font-size: 3.7rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.02em;
  margin: auto;
}

@media screen and (max-width: 768px) {
  .lite-feature-case__left .num {
    font-size: 42.0454545455cqw;
  }
}
.lite-feature-case__right {
  padding-top: 1.4rem;
}

@media screen and (max-width: 768px) {
  .lite-feature-case__right {
    padding-top: 0;
  }
}
.lite-feature-case__title {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .lite-feature-case__title {
    font-size: 1.6rem;
    text-align: center;
  }
}
.lite-feature-case__sublist {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 1.4rem;
  padding: 2.4rem 1.8rem;
  margin-top: 2.4rem;
  background-color: #F1F5F9;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .lite-feature-case__sublist {
    margin-top: 2rem;
  }
}
.lite-feature-case__subitem {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-left: 3.4rem;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .lite-feature-case__subitem {
    font-size: 1.4rem;
    padding-left: 2.4rem;
  }
}
.lite-feature-case__subitem::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  top: 0.2rem;
  left: 0;
  background: url(../images/common/check.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .lite-feature-case__subitem::before {
    width: 2rem;
  }
}
.lite-flow {
  padding: 7.5rem 1.6rem 12rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .lite-flow {
    padding: 5.6rem 1.6rem 6rem;
  }
}
.lite-flow__list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.1rem;
  margin-top: 8.3rem;
}

@media screen and (max-width: 768px) {
  .lite-flow__list {
    gap: 3.2rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .lite-flow__list {
    grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
  }
}
.lite-flow__list::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 100%;
  height: 1.4rem;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  background: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .lite-flow__list::before {
    display: none;
  }
}
.lite-flow__item {
  position: relative;
  border: 0.1rem solid #D2D2D2;
  padding: 5.6rem 1.6rem 1.4rem;
  background-color: #fff;
  color: #212121;
  border-radius: 1.2rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .lite-flow__item {
    padding: 3.2rem 1.6rem 1.4rem;
  }
}
.lite-flow__item:nth-child(1) .lite-flow__image {
  width: 13.3rem;
}

.lite-flow__item:nth-child(2) .lite-flow__image {
  width: 13.2rem;
}

.lite-flow__item:nth-child(2) .lite-flow__desc {
  text-align: left;
}

.lite-flow__item:nth-child(3) .lite-flow__image {
  width: 9.9rem;
}

.lite-flow__item:nth-child(4) .lite-flow__image {
  width: 13.4rem;
}

.lite-flow__step {
  position: absolute;
  font-size: 2.6rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  top: -4rem;
  left: 50%;
  translate: -50%;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .lite-flow__step {
    font-size: 2rem;
    top: -3rem;
  }
}
.lite-flow__step span {
  font-size: 4.4rem;
}

@media screen and (max-width: 768px) {
  .lite-flow__step span {
    font-size: 3.2rem;
  }
}
.lite-flow__image {
  display: grid;
  place-content: center;
  height: 10.2rem;
  margin-inline: auto;
}

.lite-flow__title {
  max-width: 21rem;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 2.6rem auto 0;
}

@media screen and (max-width: 768px) {
  .lite-flow__title {
    margin: 1.6rem auto 0;
  }
}
.lite-flow__desc {
  max-width: 18.6rem;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin: 1.6rem auto 0;
}

.lite-cta {
  padding: 11rem 1.6rem 9.1rem;
  background: url(../images/lite/cta_bg.webp) no-repeat;
  background-size: cover;
}

/* スカウト 
******************************************************************************************/
.scout__container {
  max-width: 118.4rem;
  width: 100%;
  margin-inline: auto;
}

.scout-mv {
  position: relative;
  min-height: 73rem;
  padding: 0 1.6rem;
  background: url(../images/scout/mv_bg.webp) no-repeat;
  background-size: cover;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .scout-mv {
    aspect-ratio: 390/844;
    min-height: 84.4rem;
    padding: 0 1.2rem;
    background: url(../images/scout/mv_sp.webp) no-repeat;
    background-size: cover;
  }
}
.scout-mv__inner {
  max-width: 119.6rem;
  width: 100%;
  margin-inline: auto;
  padding-top: 17.8rem;
  padding-bottom: 7.3rem;
}

@media screen and (max-width: 768px) {
  .scout-mv__inner {
    padding-top: 32.8%;
    padding-bottom: 4rem;
  }
}
.scout-mv-text {
  width: 52%;
}

@media screen and (max-width: 768px) {
  .scout-mv-text {
    width: 100%;
  }
}
.scout-mv__image {
  position: absolute;
  max-width: 73.3rem;
  width: 50.9027777778%;
  height: calc(100% - 2.6rem);
  top: 0;
  right: -2.9861111111%;
}

@media screen and (max-width: 768px) {
  .scout-mv__image {
    width: 90%;
    display: none;
  }
}
.scout-mv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

@media screen and (max-width: 768px) {
  .scout-mv__image img {
    height: auto;
  }
}
.scout-mv__lead {
  position: relative;
  font-size: 3.2rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .scout-mv__lead {
    font-size: 4.6153846154vw;
  }
}
.scout-mv__lead span {
  padding-top: 0.3em;
  background-position: top left -2px;
  background-repeat: repeat-x;
  background-size: 1em 0.3em;
  background: top left/1em 0.5em repeat-x radial-gradient(circle, #D9D9D9 0.3rem, rgba(0, 0, 0, 0) 0.3rem);
}

@media screen and (max-width: 768px) {
  .scout-mv__lead span {
    background-position: top left -2px;
    background-repeat: repeat-x;
    background-size: 1em 0.3em;
    background: top left/1em 0.5em repeat-x radial-gradient(circle, #D9D9D9 0.5128205128vw, rgba(0, 0, 0, 0) 0.5128205128vw);
  }
}
.scout-mv__title {
  position: relative;
  font-size: 5.6rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 2.7rem;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .scout-mv__title {
    font-size: 12.3076923077vw;
    line-height: 1;
    margin-top: 4.6153846154vw;
  }
}
.scout-mv__title span {
  display: inline-block;
  background-color: #fff;
  color: #0A2C43;
}

.scout-mv__title span:nth-of-type(1) {
  padding: 0.2rem 1.2rem 0.2rem 2.4rem;
}

@media screen and (max-width: 768px) {
  .scout-mv__title span:nth-of-type(1) {
    padding: 0.5128205128vw 2.3076923077vw;
  }
}
.scout-mv__title span:nth-of-type(2) {
  padding: 0.2rem 2.4rem 0.2rem 1.2rem;
}

@media screen and (max-width: 768px) {
  .scout-mv__title span:nth-of-type(2) {
    padding: 0.5128205128vw 2.3076923077vw;
    margin-top: 1.2820512821vw;
  }
}
.scout-mv__desc {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 7rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .scout-mv__desc {
    font-size: 3.5897435897vw;
    line-height: 1.5;
    margin-top: 8.2051282051vw;
  }
}
.scout-mv-btns {
  position: absolute;
  left: 50%;
  bottom: 7.3rem;
  translate: -50%;
}

@media screen and (max-width: 768px) {
  .scout-mv-btns {
    bottom: 2rem;
  }
}
.scout-task {
  position: relative;
  padding: 7.2rem 1.6rem 7.1rem;
  background: url(../images/scout/task_bg.webp) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .scout-task {
    padding: 5.6rem 1.6rem 5.6rem;
  }
}
.scout-task::after {
  position: absolute;
  display: block;
  content: "";
  width: 54.3rem;
  aspect-ratio: 543/105;
  bottom: -10.4rem;
  left: 50%;
  translate: -50%;
  background: #DDE6EE;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}

@media screen and (max-width: 768px) {
  .scout-task::after {
    width: 24rem;
    bottom: -4.4rem;
  }
}
.scout-title2 {
  font-size: 3.2rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .scout-title2 {
    font-size: 2.4rem;
  }
}
.scout-title2::after {
  display: block;
  content: "";
  max-width: 37.5rem;
  width: 100%;
  height: 0.8rem;
  margin: 1.8rem auto 0;
  background: #0D8EF8;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .scout-title2::after {
    max-width: 24rem;
    height: 0.4rem;
    margin: 0.8rem auto 0;
  }
}
.scout-task__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5.6rem 7.3rem;
  width: 100%;
  margin-top: 5.6rem;
}

@media screen and (max-width: 768px) {
  .scout-task__list {
    gap: 4rem;
    margin-top: 4rem;
  }
}
.scout-task__item {
  max-width: 32rem;
  width: 100%;
  padding: 3.2rem 1.2rem 0.7rem;
  border: 0.2rem solid #0D8EF8;
  background-color: #fff;
  border-radius: 0.8rem;
  text-align: center;
}

.scout-task__item:nth-child(1) .scout-task__image {
  width: 78.4375%;
  margin-top: 2.7rem;
}

.scout-task__item:nth-child(2) .scout-task__image {
  width: 38.4375%;
  margin-top: 2.7rem;
}

.scout-task__item:nth-child(3) .scout-task__image {
  width: 69.6875%;
  margin-top: 2.7rem;
}

.scout-task__item:nth-child(4) .scout-task__image {
  width: 76.25%;
  margin-top: 2.8rem;
}

.scout-task__item:nth-child(5) .scout-task__image {
  width: 73.4375%;
  margin-top: 2.6rem;
}

.scout-task__text {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.scout-task__text span {
  color: #0D8EF8;
  background: linear-gradient(to bottom, #fff 0%, #fff 40%, #FDE69B 40%, #FDE69B 100%);
}

.scout-task__text--small {
  font-size: 1.6rem;
}

.scout-task__image {
  margin-inline: auto;
}

.scout-solution {
  padding: 13.5rem 1.6rem 7.2rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .scout-solution {
    padding: 8.4rem 1.6rem 5.6rem;
  }
}
.scout-solution h2 span {
  font-size: 4.8rem;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .scout-solution h2 span {
    font-size: 3.2rem;
  }
}
.scout-solution__inner {
  max-width: 114.6rem;
  width: 100%;
  margin-inline: auto;
}

.scout-solution__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8.2rem;
  margin-top: 8.1rem;
}

@media screen and (max-width: 768px) {
  .scout-solution__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 4rem;
    margin-top: 4rem;
  }
}
.scout-solution__item:nth-child(1) .scout-solution__num {
  width: 8.4rem;
  background: url(../images/scout/solution_num1.svg) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .scout-solution__item:nth-child(1) .scout-solution__num {
    width: 6.4rem;
  }
}
.scout-solution__item:nth-child(2) .scout-solution__num {
  background: url(../images/scout/solution_num2.svg) no-repeat;
  background-size: contain;
}

.scout-solution__item:nth-child(3) .scout-solution__num {
  background: url(../images/scout/solution_num3.svg) no-repeat;
  background-size: contain;
}

.scout-solution__image {
  position: relative;
  width: 79.4117647059%;
  margin-inline: auto;
}

@media screen and (max-width: 768px) {
  .scout-solution__image {
    width: 26rem;
    margin-inline: auto;
  }
}
.scout-solution__num {
  position: absolute;
  display: block;
  content: "";
  width: 9.6rem;
  aspect-ratio: 1;
  top: -1.5rem;
  left: -1.9rem;
}

@media screen and (max-width: 768px) {
  .scout-solution__num {
    width: 7.2rem;
    top: 1.5rem;
  }
}
.scout-solution__title {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 1.6rem;
  color: #0D8EF8;
}

.scout-solution__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 2rem;
  color: #3A3A3A;
}

.scout-reason {
  padding: 7.2rem 1.6rem 9rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .scout-reason {
    padding: 5.6rem 1.6rem 6rem;
  }
}
.scout-reason__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6.9rem 4rem;
  margin-top: 7.7rem;
}

@media screen and (max-width: 768px) {
  .scout-reason__list {
    gap: 4rem;
    margin-top: 4rem;
  }
}
.scout-reason__item {
  position: relative;
  display: flex;
  width: calc(50% - 2rem);
  border: 0.2rem solid #DCDCDC;
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .scout-reason__item {
    width: 100%;
  }
}
.scout-reason__item:nth-child(1) .scout-reason__num {
  width: 8.4rem;
  background: url(../images/scout/reason_num1.svg) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .scout-reason__item:nth-child(1) .scout-reason__num {
    width: 6.4rem;
  }
}
.scout-reason__item:nth-child(2) .scout-reason__num {
  background: url(../images/scout/reason_num2.svg) no-repeat;
  background-size: contain;
}

.scout-reason__item:nth-child(3) .scout-reason__num {
  background: url(../images/scout/reason_num3.svg) no-repeat;
  background-size: contain;
}

.scout-reason__item:nth-child(4) .scout-reason__num {
  background: url(../images/scout/reason_num4.svg) no-repeat;
  background-size: contain;
}

.scout-reason__item:nth-child(5) .scout-reason__num {
  background: url(../images/scout/reason_num5.svg) no-repeat;
  background-size: contain;
}

.scout-reason__image {
  width: 17.6rem;
  height: 100%;
  border-radius: 1.2rem 0 0 1.2rem;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .scout-reason__image {
    width: 28%;
  }
}
.scout-reason__image img {
  height: 100%;
  object-fit: cover;
}

.scout-reason__text {
  padding: 4.8rem 1.1rem 4.4rem 2.4rem;
  flex: 1;
}

@media screen and (max-width: 768px) {
  .scout-reason__text {
    padding: 2.4rem 1.6rem;
  }
}
.scout-reason__num {
  position: absolute;
  display: block;
  content: "";
  width: 9.6rem;
  aspect-ratio: 1;
  top: -3.5rem;
  left: 0.3rem;
}

@media screen and (max-width: 768px) {
  .scout-reason__num {
    width: 7.2rem;
    top: -2.5rem;
  }
}
.scout-reason__title {
  font-size: 2.2rem;
  line-height: 1.45;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .scout-reason__title {
    font-size: 1.8rem;
  }
}
.scout-reason__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 2rem;
  color: #3A3A3A;
}

.scout-price {
  padding: 7.9rem 1.6rem 6.4rem;
  background: url(../images/scout/price_bg.webp) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .scout-price {
    padding: 5.6rem 1.6rem 4rem;
  }
}
.scout-price__content {
  max-width: 94rem;
  width: 100%;
  margin-inline: auto;
  background-color: #fff;
  box-shadow: 0px 2px 14px 3px rgba(58, 58, 58, 0.2);
  border-radius: 1.2rem;
}

.scout-price-content__head {
  font-size: 2.8rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 2.4rem 1.6rem 2rem;
  background-color: #FEC733;
  color: #0A2C43;
  text-align: center;
  border-radius: 1.2rem 1.2rem 0 0;
}

@media screen and (max-width: 768px) {
  .scout-price-content__head {
    font-size: 2rem;
    padding: 2rem 1.6rem 1.6rem;
  }
}
.scout-price-content__body {
  padding: 2.8rem 8.5rem 3rem;
}

@media screen and (max-width: 768px) {
  .scout-price-content__body {
    padding: 2rem;
  }
}
.scout-price-plan__main {
  color: #212121;
  text-align: center;
}

.scout-price-plan__main .monthly {
  display: block;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.scout-price-plan__main .num {
  font-size: 8.8rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  color: #0D8EF8;
}

.scout-price-plan__main .yen {
  font-size: 3rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
}

.scout-price-plan__main .tax {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.scout-price-plan__note {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding-bottom: 2rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2);
  text-align: center;
}

.scout-price-plan__note span {
  font-size: 2.4rem;
  font-weight: 700;
}

.scout-price-plan-desc {
  padding: 1.6rem 2rem;
  background-color: #F1F5F9;
  border-radius: 0.4rem;
  margin-top: 3.1rem;
}

.scout-price-plan-desc__item {
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #212121;
}

.scout-flow {
  padding: 5.6rem 1.6rem 10.9rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .scout-flow {
    padding: 4rem 1.6rem 6rem;
  }
}
.scout-flow__inner {
  max-width: 100.4rem;
  width: 100%;
  margin-inline: auto;
}

.scout-flow__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9.5rem;
  margin-top: 7.6rem;
}

@media screen and (max-width: 768px) {
  .scout-flow__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 8rem;
    margin-top: 4rem;
  }
}
.scout-flow__item {
  position: relative;
  text-align: center;
}

.scout-flow__item:nth-child(1) .scout-flow__title {
  line-height: 3.5555555556;
}

.scout-flow__item:not(:nth-child(1))::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 5rem;
  aspect-ratio: 50/44;
  top: 6.3rem;
  left: -6.2rem;
  background: url(../images/scout/flow_triangle.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .scout-flow__item:not(:nth-child(1))::before {
    top: -5.5rem;
    left: 50%;
    translate: -50%;
    rotate: 90deg;
  }
}
@media screen and (max-width: 768px) {
  .scout-flow__image {
    width: 18rem;
    margin-inline: auto;
  }
}
.scout-flow__title {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 1.2rem;
  color: #212121;
}

.scout-flow__desc {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 1.2rem;
  color: #3A3A3A;
}

.scout-cta {
  padding: 8.8rem 1.6rem 7.3rem;
  background: url(../images/scout/cta_bg.webp) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .scout-cta {
    padding: 5.6rem 1.6rem;
  }
}
.scout-cta__btns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.4rem;
}

@media screen and (max-width: 768px) {
  .scout-cta__btns {
    gap: 4rem;
  }
}
.scout-cta__btns .cta-btn {
  font-size: 1.8rem;
  gap: 2.8rem;
  width: 36rem;
  height: 7rem;
  padding-left: 5.1rem;
  padding-right: 1.6rem;
}

@media screen and (max-width: 768px) {
  .scout-cta__btns .cta-btn {
    max-width: 36rem;
    font-size: 1.8rem;
    height: 6.4rem;
    padding-left: 4.8rem;
  }
}
.scout-cta__btns .cta-btn::after {
  width: 1.4rem;
  right: 2.8rem;
}

.scout-cta__btns .cta-btn--contact {
  padding-left: 6.2rem;
}

.scout .grid h2::before {
  display: none;
}

/* top 
******************************************************************************************/
.top .highlight {
  background: linear-gradient(to bottom, transparent 0%, transparent 60%, #FDE69B 60%, #FDE69B 100%);
}

.top__container {
  max-width: 118.4rem;
  width: 100%;
  margin-inline: auto;
}

.top-mv {
  position: relative;
  min-height: 72.5rem;
  padding: 0 1.6rem;
  background-color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .top-mv {
    aspect-ratio: 390/844;
    min-height: 84.4rem;
    padding: 0 1.2rem;
    background: url(../images/top/mv_sp.webp) no-repeat;
    background-size: cover;
  }
}
.top-mv__inner {
  max-width: 119.8rem;
  width: 100%;
  margin-inline: auto;
  padding-top: 14.8rem;
  padding-bottom: 13.4rem;
}

@media screen and (max-width: 768px) {
  .top-mv__inner {
    padding-top: 35%;
    padding-bottom: 4rem;
  }
}
.top-mv-text {
  position: relative;
  width: 55%;
  color: #fff;
  container-type: inline-size;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .top-mv-text {
    width: 100%;
  }
}
.top-mv__image {
  position: absolute;
  width: 50.8333333333%;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .top-mv__image {
    display: none;
  }
}
.top-mv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

@media screen and (max-width: 768px) {
  .top-mv__image img {
    height: auto;
  }
}
.top-mv__deco {
  position: absolute;
  width: 48.6111111111%;
  height: 100%;
  top: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  .top-mv__deco {
    width: 90%;
    height: auto;
    top: auto;
    bottom: 0;
    display: none;
  }
}
.top-mv__deco img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}

@media screen and (max-width: 768px) {
  .top-mv__deco img {
    height: auto;
  }
}
.top-mv__title {
  font-size: 5.6rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.77;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.25);
}

@media screen and (max-width: 768px) {
  .top-mv__title {
    font-size: 4.8rem;
    font-size: 12.3076923077vw;
    line-height: 1;
  }
}
.top-mv__sub {
  font-size: 4.5530429504cqw;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.77;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.25);
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .top-mv__sub {
    font-size: 4.1025641026vw;
    margin-top: 2.5641025641vw;
  }
}
.top-mv__caption {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 4.1rem;
  text-shadow: 0 0.1rem 1.1rem rgba(0, 0, 0, 0.25);
}

@media screen and (max-width: 768px) {
  .top-mv__caption {
    font-size: 3.5897435897vw;
    letter-spacing: 0.02em;
    margin-top: 5.1282051282vw;
  }
}
.top-mv-point {
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .top-mv-point {
    margin-top: 10.2564102564vw;
  }
}
.top-mv-point__list {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
}

@media screen and (max-width: 768px) {
  .top-mv-point__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5384615385vw;
  }
}
.top-mv-point__item {
  position: relative;
  width: 28.23%;
  aspect-ratio: 186/176;
  background-color: #fff;
  text-align: center;
  border-radius: 1.2rem;
  container-type: inline-size;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item {
    width: 100%;
    aspect-ratio: 120/152;
  }
}
.top-mv-point__item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 21.5053763441cqw;
  aspect-ratio: 1;
  top: -10.752688172cqw;
  left: 50%;
  translate: -50%;
  background: url(../images/top/check_yellow.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item::before {
    width: 25cqw;
    top: -11.6666666667cqw;
  }
}
.top-mv-point__item:nth-child(1) .text1 {
  display: block;
  font-size: 10.752688172cqw;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 17.2043010753cqw;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(1) .text1 {
    font-size: 13.3333333333cqw;
  }
}
.top-mv-point__item:nth-child(1) .main {
  font-size: 9.6774193548cqw;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 1.0752688172cqw;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(1) .main {
    font-size: 11.6666666667cqw;
    margin-top: 0;
  }
}
.top-mv-point__item:nth-child(1) .main span {
  font-size: 15.0537634409cqw;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(1) .main span {
    font-size: 20cqw;
  }
}
.top-mv-point__item:nth-child(1) .text2 {
  font-size: 7.5268817204cqw;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 4.3010752688cqw;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(1) .text2 {
    font-size: 10cqw;
    line-height: 1.6;
    margin-top: 8.3333333333cqw;
  }
}
.top-mv-point__item:nth-child(1) .text2 span {
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(1) .text2 span {
    display: block;
  }
}
.top-mv-point__item:nth-child(2) .text1 {
  display: block;
  font-size: 10.752688172cqw;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 17.2043010753cqw;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(2) .text1 {
    font-size: 13.3333333333cqw;
    margin-top: 24.1666666667cqw;
  }
}
.top-mv-point__item:nth-child(2) .main {
  font-size: 10.752688172cqw;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 1.0752688172cqw;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(2) .main {
    font-size: 11.6666666667cqw;
    letter-spacing: 0.02em;
  }
}
.top-mv-point__item:nth-child(2) .main span {
  font-size: 15.0537634409cqw;
  letter-spacing: 0.05em;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(2) .main span {
    font-size: 20cqw;
  }
}
.top-mv-point__item:nth-child(2) .text2 {
  font-size: 7.5268817204cqw;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 8.6021505376cqw;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(2) .text2 {
    font-size: 10cqw;
    line-height: 1.6;
    margin-top: 15.8333333333cqw;
  }
}
.top-mv-point__item:nth-child(3) .main {
  display: block;
  font-size: 10.752688172cqw;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 17.2043010753cqw;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(3) .main {
    font-size: 13.3333333333cqw;
  }
}
.top-mv-point__item:nth-child(3) .main span {
  color: #0D8EF8;
}

.top-mv-point__item:nth-child(3) .main span.num {
  font-size: 2.8rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(3) .main span.num {
    font-size: 20cqw;
  }
}
.top-mv-point__item:nth-child(3) span.text1 {
  font-size: 10.752688172cqw;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 3.2258064516cqw;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(3) span.text1 {
    display: inline-block;
    font-size: 11.6666666667cqw;
  }
}
.top-mv-point__item:nth-child(3) span.kara {
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(3) span.kara {
    font-size: 3.5897435897vw;
  }
}
.top-mv-point__item:nth-child(3) .text2 {
  font-size: 7.5268817204cqw;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 0.5376344086cqw;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .top-mv-point__item:nth-child(3) .text2 {
    font-size: 10cqw;
    margin-top: 17.5cqw;
  }
}
.top-mv-btns {
  position: absolute;
  left: 50%;
  bottom: -3.3rem;
  translate: -50%;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .top-mv-btns {
    bottom: 2rem;
  }
}
.top-btns {
  display: flex;
  justify-content: center;
  gap: 2.4rem;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .top-btns {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
.top-btns .cta-btn {
  font-size: 2rem;
  gap: 2.4rem;
  width: 50rem;
  height: 8.8rem;
  padding-left: 12.2rem;
  padding-right: 4.7rem;
}

@media screen and (max-width: 768px) {
  .top-btns .cta-btn {
    max-width: 36rem;
    font-size: 1.8rem;
    height: 6.4rem;
    padding-left: 4.8rem;
  }
}
.top-btns .cta-btn::after {
  width: 2rem;
  right: 4.7rem;
}

.logo-section {
  padding: 11.4rem 0 5.6rem;
  background-color: #fff;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .logo-section {
    padding: 6rem 0 3.2rem;
  }
}
.logo-section .flow-wrap {
  display: flex;
  gap: 2.4rem;
  width: max-content;
  animation: flowing 20s linear infinite;
}

.logo-section ul {
  display: flex;
  gap: 2.4rem;
}

.logo-section li {
  width: 27.2rem;
  aspect-ratio: 272/88;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .logo-section li {
    width: 20rem;
  }
}
.logo-section li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes flowing {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.top-feature {
  padding: 8rem 1.6rem 8.8rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .top-feature {
    padding: 5.6rem 1.6rem 4rem;
  }
}
.top-title2 {
  font-size: 3.2rem;
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .top-title2 {
    font-size: 2.4rem;
  }
}
.top-title2::before {
  display: block;
  content: "";
  width: 8rem;
  aspect-ratio: 80/8;
  background: #0D8EF8;
  margin: 0 auto 1.6rem;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .top-title2::before {
    width: 4rem;
  }
}
.top-feature-top__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.7rem;
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .top-feature-top__list {
    margin-top: 4rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3.7rem;
  }
}
.top-feature-top-item {
  background-color: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0.2rem 1.5rem 0 rgba(58, 58, 58, 0.2);
}

@media screen and (max-width: 768px) {
  .top-feature-top-item {
    max-width: 34rem;
    width: 100%;
  }
}
.top-feature-top-item span {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  margin-left: -2.4rem;
}

@media screen and (max-width: 768px) {
  .top-feature-top-item span {
    gap: 0.8rem;
    margin-left: -1.6rem;
  }
}
.top-feature-top-item:nth-child(1) .top-feature-top-item__head span::before {
  background: url(../images/top/feature_head1.webp) no-repeat;
  background-size: contain;
}

.top-feature-top-item:nth-child(2) .top-feature-top-item__head span::before {
  background: url(../images/top/feature_head2.webp) no-repeat;
  background-size: contain;
}

.top-feature-top-item:nth-child(2) .top-feature-top-item-content:nth-child(1) {
  white-space: nowrap;
}

.top-feature-top-item:nth-child(3) .top-feature-top-item__head span::before {
  background: url(../images/top/feature_head3.webp) no-repeat;
  background-size: contain;
}

.top-feature-top-item__head {
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  padding: 1.6rem;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .top-feature-top-item__head {
    font-size: 1.6rem;
    padding: 1rem;
  }
}
.top-feature-top-item__head span::before {
  display: inline-block;
  content: "";
  width: 4rem;
  aspect-ratio: 1;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .top-feature-top-item__head span::before {
    width: 3.2rem;
  }
}
.top-feature-top-item__body {
  padding: 3.2rem 1.6rem 3.6rem;
}

.top-feature-top-item-contents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8rem;
}

.top-feature-top-item-content__image {
  width: 7rem;
  margin-inline: auto;
}

.top-feature-top-item-content__text {
  margin-top: 0.8rem;
  color: #212121;
  text-align: center;
  container-type: inline-size;
}

.top-feature-top-item-content__text p {
  font-size: 11.1111111111cqw;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.top-feature-bottom__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.1rem;
  margin-top: 7.2rem;
}

@media screen and (max-width: 768px) {
  .top-feature-bottom__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4rem 3.2rem;
    margin-top: 6.4rem;
  }
}
.top-feature-bottom-item {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 6.2rem 1.6rem 1.6rem;
  background-color: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0.2rem 1.5rem 0 rgba(58, 58, 58, 0.2);
}

@media screen and (max-width: 768px) {
  .top-feature-bottom-item {
    max-width: 34rem;
    width: 100%;
    padding: 4rem 1.6rem 1.6rem;
  }
}
.top-feature-bottom-item__label {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: 0;
  width: 8.5rem;
  top: -4rem;
  left: 50%;
  translate: -50%;
  aspect-ratio: 1;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .top-feature-bottom-item__label {
    font-size: 1.6rem;
    width: 6.4rem;
    top: -3.2rem;
  }
}
.top-feature-bottom-item__label span {
  font-size: 3.2rem;
}

@media screen and (max-width: 768px) {
  .top-feature-bottom-item__label span {
    font-size: 2.4rem;
  }
}
.top-feature-bottom-item__title {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #0A2C43;
  text-align: center;
}

.top-feature-bottom-item__title .blue {
  color: #0D8EF8;
}

.top-feature-bottom-item__title .large {
  font-size: 2.8rem;
}

.top-feature-bottom-item__sub {
  font-size: 1.4rem;
  line-height: 1.7857142857;
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 0.7rem;
  color: #0D8EF8;
  text-align: center;
}

.top-feature-bottom-item__desc {
  font-size: 1.4rem;
  line-height: 1.7857142857;
  font-weight: 500;
  letter-spacing: 0;
  padding: 0 1.4rem;
  margin-top: 0.8rem;
  margin-bottom: 1.6rem;
  color: #3A3A3A;
}

.top-feature-bottom-item__image {
  margin-top: auto;
}

.top-feature-btns {
  margin-top: 6.8rem;
}

@media screen and (max-width: 768px) {
  .top-feature-btns {
    margin-top: 4rem;
  }
}
.top-task {
  overflow: hidden;
}

.top-task-top {
  padding: 8rem 1.6rem 0;
  background-color: #E8E8E8;
}

@media screen and (max-width: 768px) {
  .top-task-top {
    padding: 5.6rem 1.6rem 0;
  }
}
.top-task__list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.7rem;
  margin-top: 8.2rem;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .top-task__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3.7rem;
    margin-top: 4rem;
  }
}
.top-task__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.8rem 2rem;
  background-color: #fff;
  aspect-ratio: 370/335;
  border-radius: 1.2rem;
  box-shadow: 0 0.2rem 1.5rem 0 rgba(58, 58, 58, 0.2);
  container-type: inline-size;
}

@media screen and (max-width: 768px) {
  .top-task__item {
    max-width: 34rem;
    width: 100%;
  }
}
.top-task__item .label {
  position: absolute;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.8rem 4.2rem;
  background-color: #828282;
  top: -2.1rem;
  left: 50%;
  translate: -50%;
  color: #fff;
  border-radius: 100vmax;
  white-space: nowrap;
}

.top-task__image {
  margin-top: auto;
}

.top-task__item:nth-child(1) .top-task__image {
  width: 45.4545454545%;
  margin-bottom: 1.4rem;
}

.top-task__item:nth-child(2) .top-task__image {
  width: 43.0303030303%;
  margin-bottom: 1.6rem;
}

.top-task__item:nth-child(3) .top-task__image {
  width: 53.9393939394%;
  margin-bottom: 1.5rem;
}

.top-task__text {
  font-size: 4.8484848485cqw;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .top-task__text {
    font-size: 1.4rem;
  }
}
.top-task-catch {
  position: relative;
  padding-top: 21rem;
  padding-bottom: 10.8rem;
  margin-top: -13.5rem;
}

@media screen and (max-width: 768px) {
  .top-task-catch {
    padding-top: 12rem;
    padding-bottom: 6.8rem;
    margin-top: -4.8rem;
  }
}
.top-task-catch::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 100%;
  height: 15rem;
  top: -0.1rem;
  left: 0;
  background: #E8E8E8;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}

@media screen and (max-width: 768px) {
  .top-task-catch::before {
    height: 8rem;
  }
}
.top-task-catch__text::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 149rem;
  aspect-ratio: 1495/382;
  top: 6.5%;
  left: 50%;
  translate: -50%;
  background: url(../images/top/catch_bg.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .top-task-catch__text::before {
    width: 75rem;
    top: 10.5%;
  }
}
.top-task-catch-deco {
  position: absolute;
  width: 100%;
  height: 18rem;
  left: 0;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .top-task-catch-deco {
    height: 8rem;
  }
}
.top-task-catch-deco::before, .top-task-catch-deco::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 50%;
  height: 100%;
  top: 0;
  background: #EAF3FA;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .top-task-catch-deco::before, .top-task-catch-deco::after {
    top: 0.1rem;
  }
}
.top-task-catch-deco::before {
  left: 0;
  clip-path: polygon(0 0, 0 100%, 100% 100%);
}

.top-task-catch-deco::after {
  left: 50%;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.top-task-bottom {
  padding: 0 1.6rem 8rem;
  background-color: #EAF3FA;
}

@media screen and (max-width: 768px) {
  .top-task-bottom {
    padding: 0 1.6rem 5.6rem;
  }
}
.top-task-bottom__list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.7rem;
  margin-top: -5.7rem;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .top-task-bottom__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: -1rem;
  }
}
.top-task-bottom__item {
  padding: 1.6rem 2.2rem 2.6rem;
  background-color: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0.2rem 1.5rem 0 rgba(58, 58, 58, 0.2);
}

@media screen and (max-width: 768px) {
  .top-task-bottom__item {
    max-width: 34rem;
    width: 100%;
  }
}
.top-task-bottom__num {
  font-size: 5.6rem;
  font-family: "Hiragino Sans", "Noto Sans JP", serif;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: rgba(13, 142, 248, 0.2);
}

@media screen and (max-width: 768px) {
  .top-task-bottom__num {
    font-size: 3.2rem;
  }
}
.top-task-bottom__desc {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 1.2rem;
  color: #3A3A3A;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .top-task-bottom__desc {
    font-size: 1.4rem;
    margin-top: 0.8rem;
  }
}
.top-task-btns {
  margin-top: 7.8rem;
}

@media screen and (max-width: 768px) {
  .top-task-btns {
    margin-top: 4rem;
  }
}
.top-reason {
  padding: 5.6rem 1.6rem 8.2rem;
  background-color: #EAF3FA;
}

@media screen and (max-width: 768px) {
  .top-reason {
    padding: 3.2rem 1.6rem 5.6rem;
  }
}
.top-reason .top-title2 .logo {
  width: 21.5rem;
  margin: 0 auto 0.6rem;
}

@media screen and (max-width: 768px) {
  .top-reason .top-title2 .logo {
    width: 16rem;
  }
}
.top-reason .top-title2 span {
  color: #0D8EF8;
}

.top-reason__list {
  display: flex;
  flex-direction: column;
  gap: 4.9rem;
  margin-top: 5.6rem;
}

@media screen and (max-width: 768px) {
  .top-reason__list {
    gap: 4rem;
    margin-top: 4rem;
  }
}
.top-reason__item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 3.2rem;
  background-color: #fff;
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .top-reason__item {
    flex-direction: column;
    gap: 4rem;
    padding: 1.6rem;
  }
}
.top-reason__item:nth-child(even) {
  flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  .top-reason__item:nth-child(even) {
    flex-direction: column;
  }
}
.top-reason__text {
  width: 53%;
}

@media screen and (max-width: 768px) {
  .top-reason__text {
    width: 100%;
  }
}
.top-reason__image {
  width: 41.0714285714%;
}

@media screen and (max-width: 768px) {
  .top-reason__image {
    width: 100%;
  }
}
.top-reason__num {
  font-size: 4.8rem;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: 0;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .top-reason__num {
    font-size: 2.4rem;
  }
}
.top-reason__title {
  font-size: 2.8rem;
  line-height: 1.4642857143;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 0.8rem;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .top-reason__title {
    font-size: 2rem;
    margin-top: 0.4rem;
  }
}
.top-reason__desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 4rem;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .top-reason__desc {
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}
.top-flow {
  padding: 8rem 1.6rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .top-flow {
    padding: 5.6rem 1.6rem;
  }
}
.top-flow__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 3.6rem;
  margin-top: 7.8rem;
}

@media screen and (max-width: 768px) {
  .top-flow__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 4rem;
  }
}
.top-flow__item {
  position: relative;
  color: #212121;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .top-flow__item {
    max-width: 20.8rem;
    width: 100%;
  }
}
.top-flow__step {
  position: absolute;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.4rem 2.6rem;
  top: -1.4rem;
  left: 50%;
  translate: -50%;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 100vmax;
}

.top-flow__image {
  max-width: 20.8rem;
}

@media screen and (max-width: 768px) {
  .top-flow__image {
    margin-inline: auto;
  }
}
.top-flow__title {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 2rem;
}

.top-flow__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.top-flow-btns {
  margin-top: 9.3rem;
}

@media screen and (max-width: 768px) {
  .top-flow-btns {
    margin-top: 4rem;
  }
}
.top-price {
  padding: 8rem 1.6rem 6.1rem;
  background-color: #F7F7F7;
}

@media screen and (max-width: 768px) {
  .top-price {
    padding: 5.6rem 1.6rem;
  }
}
.top-price__content {
  max-width: 96.8rem;
  margin-inline: auto;
}

.top-price-plan__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
  margin-top: 7.2rem;
}

@media screen and (max-width: 768px) {
  .top-price-plan__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 4rem;
  }
}
.top-price-plan__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.4rem 2.4rem 3.4rem;
  background-color: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0.2rem 1.5rem 0 rgba(58, 58, 58, 0.2);
}

@media screen and (max-width: 768px) {
  .top-price-plan__item {
    max-width: 46.8rem;
  }
}
.top-price-plan__title {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.25rem 8rem 0.65rem;
  background-color: #0D8EF8;
  color: #fff;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .top-price-plan__title {
    padding: 0.2rem 4rem 0.6rem;
  }
}
.top-price-plan__title span {
  font-size: 2.4rem;
}

.top-price-plan__main {
  margin-top: 1.2rem;
}

.top-price-plan__main .monthly {
  font-size: 2rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-indent: 0.14em;
  padding: 0.3rem 0.4rem;
  margin-right: 1.6rem;
  background-color: #BBD5FC;
  border-radius: 0.3rem;
  writing-mode: vertical-rl;
}

.top-price-plan__main .num {
  font-size: 7.2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
}

.top-price-plan__main .yen {
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
}

.top-price-plan__main .tax {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.top-price-plan__catch {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 4.3rem;
  color: #0A2C43;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .top-price-plan__catch {
    font-size: 1.8rem;
    margin-top: 3.2rem;
  }
}
.top-price-plan-desc {
  max-width: 96.8rem;
  margin: 5.6rem auto 0;
  padding: 3.1rem 1.6rem;
  background-color: #fff;
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .top-price-plan-desc {
    margin: 4rem auto 0;
  }
}
.top-price-plan-desc__list {
  width: fit-content;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-inline: auto;
}

.top-price-plan-desc__item {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-left: 3.2rem;
  color: #212121;
}

.top-price-plan-desc__item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  top: 0.2rem;
  left: 0;
  background-color: #000000;
  mask-image: url(../images/common/check.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  vertical-align: middle;
}

.top-campaign {
  padding: 5.7rem 1.6rem 6.1rem;
  background-color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .top-campaign {
    padding: 5.6rem 1.6rem 5.6rem;
  }
}
.top-campaign__lead {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.4rem;
  width: fit-content;
  font-size: 2rem;
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-inline: auto;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .top-campaign__lead {
    gap: 1.4rem;
    font-size: 1.6rem;
  }
}
.top-campaign__lead::before, .top-campaign__lead::after {
  display: inline-block;
  content: "";
  width: 1.6rem;
  aspect-ratio: 16/27.71;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .top-campaign__lead::before, .top-campaign__lead::after {
    width: 1.2rem;
  }
}
.top-campaign__lead::before {
  background: url(../images/top/slash_left.svg) no-repeat;
  background-size: contain;
}

.top-campaign__lead::after {
  background: url(../images/top/slash_right.svg) no-repeat;
  background-size: contain;
}

.top-campaign-content {
  max-width: 80rem;
  padding: 5rem 4rem 4rem;
  margin: 3.4rem auto 0;
  background-color: #fff;
  text-align: center;
  border-radius: 1.2rem;
  box-shadow: 0 0.2rem 1.5rem 0 rgba(58, 58, 58, 0.2);
}

@media screen and (max-width: 768px) {
  .top-campaign-content {
    padding: 2.4rem 2rem 2rem;
  }
}
.top-campaign-content__lead {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.top-campaign-content__lead span {
  color: #0D8EF8;
}

.top-campaign-content__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5.2rem;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .top-campaign-content__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.top-campaign-content__item {
  position: relative;
  display: grid;
  place-content: center;
  aspect-ratio: 175/76;
  background-color: #F1F5F9;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .top-campaign-content__item {
    max-width: 24rem;
    width: 100%;
    margin-inline: auto;
  }
}
.top-campaign-content__item p {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0A2C43;
  text-align: center;
}

.top-campaign-content__item::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 3.2rem;
  aspect-ratio: 1;
  top: -1.6rem;
  left: 50%;
  translate: -50%;
  background: url(../images/common/check.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .top-campaign-content__item::after {
    top: 50%;
    left: -1.6rem;
    translate: 0 -50%;
  }
}
.top-campaign-content__item:not(:nth-child(1))::before {
  position: absolute;
  display: inline-block;
  content: "or";
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  top: 50%;
  left: -17%;
  translate: 0 -50%;
}

@media screen and (max-width: 768px) {
  .top-campaign-content__item:not(:nth-child(1))::before {
    top: -38%;
    left: 50%;
    translate: -50% 0;
  }
}
.top-campaign-content__limited {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  width: 100%;
  padding: 1.6rem;
  margin-top: 3.5rem;
  background-color: #FEC733;
  text-align: center;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .top-campaign-content__limited {
    max-width: 63.2rem;
    margin: 3.5rem auto;
  }
}
.top-campaign-content__limited span {
  font-size: 2rem;
  color: #0D8EF8;
}

.top-campaign-content__note {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 1.4rem;
  color: #626262;
  text-align: center;
}

.top-price-btns {
  margin-top: 7rem;
}

@media screen and (max-width: 768px) {
  .top-price-btns {
    margin-top: 4rem;
  }
}
.top-faq {
  padding: 8rem 1.6rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .top-faq {
    padding: 5.6rem 1.6rem;
  }
}
details {
  position: relative;
  border-radius: 0.8rem;
  margin-top: 1.8rem;
  z-index: 1;
}

details:nth-of-type(1) {
  margin-top: 7.2rem;
}

@media screen and (max-width: 768px) {
  details:nth-of-type(1) {
    margin-top: 4rem;
  }
}
summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
}

summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

.summary_inner {
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 1.4rem;
  align-items: center;
  padding: 1.8rem 1.6rem;
  background-color: #E9F3FB;
  color: #002255;
  border-radius: 0.8rem 0.8rem 0.8rem 0.8rem;
}

.summary_inner p {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .summary_inner p {
    font-size: 1.4rem;
  }
}
/* --------アイコンがプラス------------------ */
.plus {
  display: block;
  position: relative;
  width: 2.4rem;
  margin-left: auto;
  flex-shrink: 0;
  transform-origin: center 43%;
  /*  transition: transform 0.4s;*/
}

@media screen and (max-width: 768px) {
  .plus {
    width: 2rem;
  }
}
/* is-openedクラスが付与されたときのスタイル */
details.is-opened .plus::after {
  transform: rotate(0);
}

details.is-opened .summary_inner {
  border-radius: 0.8rem 0.8rem 0 0;
}

/* アイコンのバーのスタイル */
.plus::before,
.plus::after {
  content: "";
  position: absolute;
  display: block;
  width: 2.4rem;
  height: 0.3rem;
  background-color: #212121;
}

@media screen and (max-width: 768px) {
  .plus::before,
  .plus::after {
    width: 2rem;
    height: 0.2rem;
  }
}
.plus::before {
  left: 0;
  transform: rotate(0);
}

.plus::after {
  right: 0;
  transform: rotate(-90deg);
  transition: transform 0.4s;
}

.qa {
  width: 4rem;
  aspect-ratio: 1;
  background: url(../images/top/faq.webp) no-repeat;
  background-size: contain;
}

/* --------アコーディオンの中身のスタイル-------- */
.content {
  position: relative;
  overflow: hidden;
  background-color: #E9F3FB;
  border-radius: 0 0 0.8rem 0.8rem;
  /* details直下のタグにpaddingを設定すると挙動がおかしくなるので、ここには指定しない */
}

.content::before {
  position: absolute;
  display: block;
  content: "";
  width: calc(100% - 4rem);
  height: 0.1rem;
  top: 0;
  left: 50%;
  translate: -50%;
  background-color: #fff;
}

.content_inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 1.8rem 1.6rem 1.8rem 7rem;
  min-height: 7.6rem;
}

@media screen and (max-width: 768px) {
  .content_inner {
    padding: 1.8rem 1.6rem 1.8rem 6.4rem;
  }
}
.content_inner p {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .content_inner p {
    font-size: 1.4rem;
  }
}
.top-faq-btns {
  margin-top: 6.8rem;
}

@media screen and (max-width: 768px) {
  .top-faq-btns {
    margin-top: 4rem;
  }
}
.top-service {
  padding: 8rem 1.6rem;
  background-color: #F1F5F9;
  padding: 5.6rem 1.6rem;
}

.top-service__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.1rem;
  max-width: 103.9rem;
  margin: 8rem auto 0;
}

@media screen and (max-width: 768px) {
  .top-service__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem 1.2rem;
    margin-top: 4rem;
  }
}
.top-service__item {
  padding: 0 2.2rem 2.4rem;
  border-top: 1rem solid #0D8EF8;
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.8rem 0 rgba(58, 58, 58, 0.15);
  text-align: center;
  container-type: inline-size;
}

@media screen and (max-width: 768px) {
  .top-service__item {
    padding: 0 1rem 1.8rem;
  }
}
.top-service__item:nth-last-child(2) {
  grid-column: 2;
}

@media screen and (max-width: 768px) {
  .top-service__item:nth-last-child(2) {
    grid-column: auto;
  }
}
.top-service__item:last-child {
  grid-column: 3;
}

@media screen and (max-width: 768px) {
  .top-service__item:last-child {
    grid-column: auto;
  }
}
.top-service__title {
  font-size: min(2.4rem, 12cqw);
  font-family: "Corporate-Logo-Bold-ver2", serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 5.4rem;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .top-service__title {
    font-size: 2rem;
    margin-top: 3.8rem;
  }
}
.top-service__btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  margin-top: 5.2rem;
}

@media screen and (max-width: 768px) {
  .top-service__btns {
    gap: 0.8rem;
    margin-top: 3.2rem;
  }
}
.top-service__btn {
  position: relative;
  max-width: 20rem;
  width: 100%;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 1rem;
  text-align: center;
  border-radius: 100vmax;
  text-indent: -0.4rem;
}

@media screen and (max-width: 768px) {
  .top-service__btn {
    font-size: 1.4rem;
  }
}
.top-service__btn::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.3rem;
  aspect-ratio: 13/26;
  top: 50%;
  translate: 0 -50%;
  mask-image: url(../images/common/cta-box_arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
}

.top-service__btn--more {
  border: 0.2rem solid #0D8EF8;
  background-color: #FAFAFA;
  color: #0D8EF8;
  transition: border 0.4s, background-color 0.4s, color 0.4s;
}

.top-service__btn--more::before {
  right: 1.35rem;
  background-color: #0D8EF8;
  transition: background-color 0.4s;
}

@media (any-hover: hover) {
  .top-service__btn--more:hover {
    border: 0.2rem solid #FAFAFA;
    background-color: #0D8EF8;
    color: #FAFAFA;
  }
  .top-service__btn--more:hover::before {
    background-color: #FAFAFA;
  }
}
.top-service__btn--download {
  background-color: #FEC733;
  color: #0A2C43;
  transition: border 0.4s, background-color 0.4s, color 0.4s;
}

.top-service__btn--download::before {
  right: 1.6rem;
  background-color: #0A2C43;
  transition: background-color 0.4s;
}

@media screen and (max-width: 768px) {
  .top-service__btn--download::before {
    right: 0.85rem;
  }
}
@media (any-hover: hover) {
  .top-service__btn--download:hover {
    background-color: #0A2C43;
    color: #FEC733;
  }
  .top-service__btn--download:hover::before {
    background-color: #FEC733;
  }
}
.top-cta {
  padding: 10.2rem 1.6rem 8rem;
  background: url(../images/top/cta_bg.webp) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .top-cta {
    padding: 6.4rem 1.6rem 5.6rem;
  }
}
/* お問い合わせ 
******************************************************************************************/
.contact-section {
  padding: 14rem 1.6rem 11rem;
  background-color: #F1F5F9;
}

@media screen and (max-width: 768px) {
  .contact-section {
    padding: 11rem 1.6rem 6.4rem;
  }
}
.contact-container {
  max-width: 116rem;
  width: 100%;
  margin-inline: auto;
}

.contact__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .contact__inner {
    flex-direction: column;
    gap: 4rem;
    margin-top: 4rem;
  }
}
.contact__left {
  width: 41.8103448276%;
}

@media screen and (max-width: 768px) {
  .contact__left {
    width: 100%;
  }
}
.contact__right {
  width: 51.9827586207%;
  padding: 3.2rem 3.2rem 6.4rem;
  background-color: #fff;
  border-radius: 1rem;
}

@media screen and (max-width: 768px) {
  .contact__right {
    width: 100%;
    padding: 1.6rem 1.6rem 3.2rem;
  }
}
.contact__title {
  font-size: 3.2rem;
  line-height: 1.4375;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .contact__title {
    font-size: 2.4rem;
  }
}
.contact-staff {
  margin-top: 3rem;
}

.contact-staff__list {
  display: flex;
  justify-content: center;
  gap: 2.4rem;
}

.contact-staff__item {
  width: 8rem;
  aspect-ratio: 1;
  border-radius: 100vmax;
}

.contact__catch {
  display: block;
  width: fit-content;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 1.7rem auto 0;
  padding: 0.4rem 2.4rem;
  background-color: #fff;
}

.contact__catch span {
  color: #0D8EF8;
}

.contact-result {
  padding: 1.8rem 2.4rem;
  margin-top: 1.8rem;
  display: inline-block;
  background-color: #fff;
  border-radius: 1rem;
}

.contact-result__title {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0A2C43;
  text-align: center;
}

.contact-result__title span {
  position: relative;
  padding: 0 1rem;
  background-color: #fff;
  z-index: 1;
}

.contact-result__title::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 100%;
  height: 0.1rem;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  background: rgba(0, 0, 0, 0.2);
  z-index: 0;
}

.contact-result__emblem {
  width: 100%;
  margin-top: 2.4rem;
}

.contact-logo__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.6rem 0.7rem;
  margin-top: 3.1rem;
}

@media screen and (max-width: 768px) {
  .contact-logo__list {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 2rem;
  }
}
.contact-result__note {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: -0.01em;
  margin-top: 3.6rem;
  color: #414141;
}

.contact__lead {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-bottom: 3.2rem;
  color: #3A3A3A;
  text-align: center;
}

.contact__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.contact__item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0A2C43;
}

.contact__item dt {
  display: flex;
  align-items: center;
}

.contact__item dt.column {
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.contact__item dd {
  position: relative;
}

.contact__item dd:has(select)::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 24/12;
  top: 50%;
  right: 1rem;
  translate: 0 -50%;
  background: url(../images/common/select_arrow.svg) no-repeat;
  background-size: contain;
  pointer-events: none;
}

.contact__item span.row {
  display: flex;
  align-items: center;
}

.contact__item p {
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #424242;
}

.confirm .contact__item {
  padding-bottom: 1rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2);
}

.contact__row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.9rem;
}

.req-type {
  display: inline-block;
  width: fit-content;
  font-size: 1rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.2rem 0.75rem;
  margin-left: 2.2rem;
  color: #fff;
  border-radius: 0.4rem;
}

.req {
  background-color: #0D8EF8;
}

.opt {
  background-color: #707070;
}

input[type=text],
input[type=email],
input[type=tel],
select,
textarea {
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  min-height: 4rem;
  padding: 0.8rem;
  background-color: #FAFAFA;
  color: #0A2C43;
  border: 0.1rem solid rgba(0, 0, 0, 0.15);
  border-radius: 0.3rem;
}

textarea {
  height: 12rem;
}

.wpcf7-form-control {
  appearance: none;
  -webkit-appearance: none; /*Google Chrome/Safari対応*/
  -moz-appearance: none; /*Firefox対応*/
  -o-appearance: none; /*Opera対応*/
}

.wpcf7-form-control.is-empty {
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #999999;
}

.wpcf7-form-control option:nth-child(1) {
  color: #999999;
}

.wpcf7-form-control option:nth-child(n+2) {
  color: #0A2C43;
}

.agree {
  display: block;
  width: fit-content;
  margin: 4rem auto 0;
  color: #424242;
}

.agree a {
  display: block;
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-bottom: 1.6rem;
  text-align: center;
}

input[type=checkbox] {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 5px;
  border: 1px solid #3F3F3F;
  vertical-align: middle;
  display: none;
}

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

.wpcf7-form-control.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 2.4rem;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7 form .wpcf7-response-output {
  width: fit-content;
  font-size: 1.4rem;
  line-height: 1.5;
  margin: 2em auto 1em;
}

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

.wpcf7-not-valid-tip {
  color: #dc3232;
  font-size: 1.4rem;
  font-weight: normal;
  display: block;
  margin-top: 0.5rem;
}

.wpcf7-list-item > label {
  display: flex;
  align-items: center;
}

.wpcf7-radio input[type=radio] + .wpcf7-list-item-label {
  position: relative;
  padding-left: 3rem;
}

.wpcf7-radio .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 0.1rem solid rgba(30, 30, 30, 0.2);
  background-color: #FAFAFA;
}

.wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: #000;
  top: 50%;
  left: 0.4rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
}

.accept {
  position: relative;
  padding-right: 5.8rem;
}

.accept .req-type {
  position: absolute;
  top: 0.7rem;
  right: 0;
}

.wpcf7-checkbox input[type=checkbox] + .wpcf7-list-item-label {
  position: relative;
  font-size: 1.4rem;
  padding-left: 3.3rem;
}

.wpcf7-checkbox .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 2rem;
  height: 2rem;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 0.1rem solid rgba(0, 0, 0, 0.15);
  background-color: #FAFAFA;
}

.wpcf7-checkbox input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 1.2rem;
  height: 0.6rem;
  border-left: 0.2rem solid #000;
  border-bottom: 0.2rem solid #000;
  top: 0.8rem;
  left: 0.4rem;
  rotate: -45deg;
}

.contact-btn-wrap {
  position: relative;
  max-width: 34.9rem;
  width: 100%;
  margin: 3.2rem auto 0;
}

.contact-btn-wrap::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.4rem;
  aspect-ratio: 14/28;
  background-color: #0A2C43;
  mask-image: url(../images/common/cta-box_arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  top: 50%;
  right: 1.6rem;
  translate: 0 -50%;
  transition: background-color 0.4s;
  pointer-events: none;
}

.contact-btn-wrap:hover input[type=submit], .contact-btn-wrap:active input[type=submit] {
  background-color: #0A2C43;
  color: #FEC733;
}

.contact-btn-wrap:hover::after, .contact-btn-wrap:active::after {
  background-color: #FEC733;
}

.contact-btn-wrap--send {
  margin: 4rem auto 0;
}

.contact-btn-wrap--send::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  background-color: #0A2C43;
  mask-image: url(../images/common/send.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  top: 50%;
  left: 10.3rem;
  translate: 0 -50%;
  transition: background-color 0.4s;
  pointer-events: none;
}

.contact-btn-wrap--send:hover::before, .contact-btn-wrap--send:active::before {
  background-color: #FEC733;
}

input[type=submit] {
  display: block;
  max-width: 34.9rem;
  width: 100%;
  height: 5.4rem;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-inline: auto;
  border: 0.1rem solid #FEC733;
  background-color: #FEC733;
  color: #0A2C43;
  text-align: center;
  box-shadow: 0 0.2rem 0.5rem 0 rgba(0, 0, 0, 0.25);
  transition: background-color 0.4s, color 0.4s;
  cursor: pointer;
  border-radius: 100vmax;
}

.contact-thanks__content {
  padding: 7.2rem 1.6rem 0;
  margin-top: 2rem;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.2);
  text-align: center;
}

@media screen and (max-width: 768px) {
  .contact-thanks__content {
    padding: 4rem 1.6rem 0;
  }
}
.contact-thanks__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  font-size: 3.2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0D8EF8;
}

@media screen and (max-width: 768px) {
  .contact-thanks__title {
    gap: 0.6rem;
    font-size: 2rem;
  }
}
.contact-thanks__title::before {
  display: inline-block;
  content: "";
  width: 5.6rem;
  aspect-ratio: 1;
  background: url(../images/common/check.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .contact-thanks__title::before {
    width: 3.2rem;
  }
}
.contact-thanks__desc {
  font-size: 1.8rem;
  line-height: 1.8888888889;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 4rem;
  color: #0A2C43;
}

@media screen and (max-width: 768px) {
  .contact-thanks__desc {
    font-size: 1.4rem;
  }
}
.contact-thanks__back {
  display: inline-block;
  font-size: 2rem;
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 11.1rem;
  border-bottom: 0.1rem solid #424242;
  color: #424242;
  transition: opacity 0.4s;
}

@media screen and (max-width: 768px) {
  .contact-thanks__back {
    font-size: 1.6rem;
    margin-top: 4rem;
  }
}
@media (any-hover: hover) {
  .contact-thanks__back:hover {
    opacity: 0.6;
  }
}
/* DL資料 (single)
******************************************************************************************/
.whitepaper-images-wrap {
  margin-top: 4rem;
}

.whitepaper-images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.whitepaper-image {
  aspect-ratio: 237/138;
}

.whitepaper-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.whitepaper-understand {
  margin-top: 5.8rem;
}

.whitepaper-understand__title {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.8rem;
  background-color: #0D8EF8;
  color: #fff;
  text-align: center;
  border-radius: 0.6rem 0.6rem 0 0;
}

.whitepaper-understand__body {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 2rem 2.4rem 2.7rem;
  background-color: #fff;
  color: #545454;
  border-radius: 0 0 0.6rem 0.6rem;
}

@media screen and (max-width: 768px) {
  .whitepaper-understand__body {
    padding: 1.6rem 1.6rem 2rem;
  }
}
.whitepaper-understand__body ul {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.whitepaper-understand__body li {
  position: relative;
  padding-left: 3rem;
}

.whitepaper-understand__body li::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.2rem;
  aspect-ratio: 1;
  top: 0.3rem;
  left: 0;
  background: url(../images/common/check.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* DL資料 (thanks)
******************************************************************************************/
.whitepaper-thanks-btn {
  position: relative;
  display: block;
  width: 34.9rem;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 1.7rem 0 2rem 8.2rem;
  margin: 7.2rem auto 0;
  border: 0.2rem solid #FEC733;
  background-color: #FEC733;
  color: #0A2C43;
  border-radius: 100vmax;
  text-align: left;
  transition: background-color 0.4s, color 0.4s;
}

@media screen and (max-width: 768px) {
  .whitepaper-thanks-btn {
    width: 28rem;
    font-size: 1.6rem;
    margin: 4rem auto 0;
    padding: 1.2rem 0 1.6rem 6rem;
  }
}
.whitepaper-thanks-btn::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 3.6rem;
  aspect-ratio: 1;
  top: 50%;
  right: 1.9rem;
  translate: 0 -50%;
  background-color: #0A2C43;
  mask-image: url(../images/common/download_arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.4s;
}

@media screen and (max-width: 768px) {
  .whitepaper-thanks-btn::before {
    width: 2.6rem;
  }
}
@media (any-hover: hover) {
  .whitepaper-thanks-btn:hover {
    background-color: #0A2C43;
    color: #FEC733;
  }
  .whitepaper-thanks-btn:hover::before {
    background-color: #FEC733;
  }
}
.whitepaper-thanks__back {
  margin-top: 3.4rem;
}

/* 採用サイト 
******************************************************************************************/
.site-mv {
  position: relative;
  padding: 0 1.6rem;
  min-height: 82rem;
}

@media screen and (max-width: 768px) {
  .site-mv {
    min-height: auto;
  }
}
.site-mv__inner {
  max-width: 116rem;
  width: 100%;
  margin-inline: auto;
  padding-top: 20.7rem;
  padding-bottom: 18.8rem;
}

@media screen and (max-width: 768px) {
  .site-mv__inner {
    padding-top: 35%;
    padding-bottom: 6rem;
  }
}
.site-mv__image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.site-mv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

@media screen and (max-width: 768px) {
  .site-mv__image img {
    object-position: top 0 left 82%;
  }
}
.site-mv-text {
  position: relative;
  color: #fff;
}

.site-mv__lead {
  font-size: 6.8rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #333;
}

@media screen and (max-width: 768px) {
  .site-mv__lead {
    font-size: 4rem;
  }
}
.site-mv__lead span {
  display: inline-block;
  line-height: 1;
  padding: 0 0.4rem 0.8rem;
  background-color: #fff;
}

.site-mv__title {
  font-size: 6.8rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 768px) {
  .site-mv__title {
    font-size: 4rem;
  }
}
.site-mv__sub {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-top: 4.3rem;
}

@media screen and (max-width: 768px) {
  .site-mv__sub {
    font-size: 1.4rem;
  }
}
.site-mv__scroll {
  position: absolute;
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #fff;
  right: 6.2rem;
  bottom: 15.5rem;
  writing-mode: vertical-rl;
}

@media screen and (max-width: 768px) {
  .site-mv__scroll {
    display: none;
  }
}
.site-mv__scroll::before {
  animation: scroll 2s infinite;
  background-color: #fff;
  top: 6.5rem;
  content: "";
  height: 12.6rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 0.1rem;
}

@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.mv-dark-btns {
  display: flex;
  gap: 1.6rem;
  margin-top: 7.7rem;
}

@media screen and (max-width: 768px) {
  .mv-dark-btns {
    flex-direction: column;
    align-items: center;
    margin-top: 4rem;
  }
}
.cta-btn-dark {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.6rem;
  width: 32rem;
  aspect-ratio: 320/64;
  border-radius: 0.2rem;
}

.cta-btn-dark::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.4rem;
  aspect-ratio: 14/28;
  top: 50%;
  right: 1.4rem;
  translate: 0 -50%;
  transition: background-color 0.4s;
}

.cta-btn-dark--download {
  border: 0.1rem solid #2B7FFF;
  padding-left: 5.2rem;
  background-color: #fff;
  color: #0D8EF8;
  box-shadow: 0 0.2rem 0.8rem 0 rgba(0, 0, 0, 0.431372549);
  transition: border 0.4s, background-color 0.4s, color 0.4s;
}

.cta-btn-dark--download::before {
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  background-color: #0D8EF8;
  mask-image: url(../images/common_dark/download_blue.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  vertical-align: middle;
  transition: background-color 0.4s;
}

.cta-btn-dark--download::after {
  background-color: #0D8EF8;
  mask-image: url(../images/common/arrow_blue.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
}

@media (any-hover: hover) {
  .cta-btn-dark--download:hover {
    border: 0.1rem solid #fff;
    background-color: #0D8EF8;
    color: #fff;
  }
  .cta-btn-dark--download:hover::before,
  .cta-btn-dark--download:hover::after {
    background-color: #fff;
  }
}
.cta-btn-dark--contact {
  border: 0.1rem solid #fff;
  padding-left: 6.3rem;
  background: linear-gradient(90deg, #4258FF 0%, #29A9FF 50%, #4258FF 100%);
  color: #fff;
  box-shadow: 0 0.2rem 0.9rem 0 rgba(0, 0, 0, 0.8980392157);
  transition: pbackground-color 0.4s, color 0.4s, border 0.4s;
}

.cta-btn-dark--contact::before {
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  background-color: #fff;
  mask-image: url(../images/common_dark/mail_white.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  vertical-align: middle;
  transition: background-color 0.4s;
}

.cta-btn-dark--contact::after {
  background-color: #fff;
  mask-image: url(../images/common/arrow_blue.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
}

@media (any-hover: hover) {
  .cta-btn-dark--contact:hover {
    border: 0.1rem solid #0D8EF8;
    background: #fff;
    color: #0D8EF8;
  }
  .cta-btn-dark--contact:hover::before,
  .cta-btn-dark--contact:hover::after {
    background-color: #0D8EF8;
  }
}
.site-service {
  position: relative;
  padding: 8rem 1.6rem 0;
  min-height: 76.5rem;
}

.site-service::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 60%;
  max-width: 86.4rem;
  aspect-ratio: 1730/1530;
  top: 0;
  right: 0;
  background: url(../images/site/service.webp) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 1;
}

.site-service::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(238.41deg, #101010 50.24%, #3E3E3E 110.4%);
  clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 18.7rem), 0% 100%);
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .site-service {
    background: linear-gradient(238.41deg, #101010 50.24%, #3E3E3E 110.4%);
    padding: 37% 1.6rem 7.2rem;
    min-height: auto;
    clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 5.7rem), 0% 100%);
  }
  .site-service::before {
    position: absolute;
    display: inline-block;
    content: "";
    width: 60%;
    aspect-ratio: 1730/1530;
    top: 0;
    right: 0;
    background: url(../images/site/service.webp) no-repeat;
    background-size: contain;
    vertical-align: middle;
  }
}
.site-service__text {
  width: 42.2413793103%;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .site-service__text {
    width: 100%;
  }
}
.site-service__title {
  width: fit-content;
  font-size: 4.8rem;
  font-family: "Fustat", sans-serif;
  line-height: 1.6;
  font-weight: 800;
  letter-spacing: 0.08em;
  background: linear-gradient(85.77deg, #4258FF 1.28%, #29A9FF 95.07%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  .site-service__title {
    font-size: 2.4rem;
  }
}
.site-service__main {
  font-size: 2.4rem;
  line-height: zx 1.8;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 3.2rem;
}

@media screen and (max-width: 768px) {
  .site-service__main {
    font-size: 2rem;
    margin-top: 2.4rem;
  }
}
.site-service__sub {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-top: 5.6rem;
}

@media screen and (max-width: 768px) {
  .site-service__sub {
    margin-top: 4rem;
  }
}
.site-strengths {
  padding: 22rem 1.6rem 18.7rem;
  margin-top: -18.7rem;
  background-color: #F5F5F5;
  clip-path: polygon(0 18.7rem, 100% 0%, 100% calc(100% - 18.7rem), 0% 100%);
}

@media screen and (max-width: 768px) {
  .site-strengths {
    padding: 7.8rem 1.6rem 5.6rem;
    margin-top: -5.7rem;
    clip-path: polygon(0 5.7rem, 100% 0%, 100% calc(100% - 5.7rem), 0% 100%);
  }
}
.heading-type2 {
  position: relative;
  background-color: #F5F5F5;
}

.heading-type2::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 70rem;
  aspect-ratio: 700/94;
  top: -3rem;
  left: -14.5rem;
  background: url(../images/common/diagonal_line_blue.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .heading-type2::before {
    width: 30rem;
    top: -1rem;
    left: -1rem;
  }
}
.heading-type2.white-line {
  background-color: #040A20;
}

.heading-type2.white-line::before {
  top: -5rem;
  left: -14.5rem;
  background: url(../images/common/diagonal_line_white.svg) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .heading-type2.white-line::before {
    top: -2rem;
    left: -1rem;
  }
}
.heading-type2.white-line .heading-type2__en {
  background-color: #040A20;
}

.heading-type2__en {
  position: relative;
  padding: 0.4rem;
  background-color: #F5F5F5;
  z-index: 1;
}

.heading-type2__en .inner {
  display: inline-block;
  font-size: 2.4rem;
  font-family: "Fustat", sans-serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  .heading-type2__en .inner {
    font-size: 1.8rem;
  }
}
.heading-type2__ja {
  font-size: 4.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #0F172B;
}

@media screen and (max-width: 768px) {
  .heading-type2__ja {
    font-size: 2.4rem;
  }
}
.site-strengths__list {
  display: flex;
  flex-direction: column;
  gap: 11.2rem;
}

@media screen and (max-width: 768px) {
  .site-strengths__list {
    gap: 4.8rem;
  }
}
.site-strengths__text {
  max-width: 97.6rem;
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .site-strengths__text {
    margin-top: 4rem;
  }
}
.site-strengths__title--en {
  display: inline-block;
  font-size: 2rem;
  font-family: "Fustat", sans-serif;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.04em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .site-strengths__title--en {
    font-size: 1.6rem;
  }
}
.site-strengths__title--en span.num {
  font-size: 3rem;
}

@media screen and (max-width: 768px) {
  .site-strengths__title--en span.num {
    font-size: 2rem;
  }
}
.site-strengths__title--ja {
  font-size: 3.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 1.6rem;
  color: #0F172B;
}

@media screen and (max-width: 768px) {
  .site-strengths__title--ja {
    font-size: 2rem;
    margin-top: 1rem;
  }
}
.site-strengths__desc {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-top: 2.4rem;
  color: #000;
}

@media screen and (max-width: 768px) {
  .site-strengths__desc {
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}
.site-strengths__image {
  margin-top: 5.6rem;
}

@media screen and (max-width: 768px) {
  .site-strengths__image {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .site-strengths__image.table {
    overflow-x: auto;
  }
  .site-strengths__image.table img {
    width: auto;
    max-width: max-content;
    height: 32rem;
    margin-bottom: 0.6rem;
  }
}
.site-strengths__image2 {
  width: 77.4rem;
  margin: 5.6rem auto 0;
}

@media screen and (max-width: 768px) {
  .site-strengths__image2 {
    width: 100%;
    margin: 4rem auto 0;
  }
}
.site-strengths__image3 {
  width: 72.4rem;
  margin: 6.4rem auto 0;
}

@media screen and (max-width: 768px) {
  .site-strengths__image3 {
    width: 100%;
    margin: 4rem auto 0;
  }
}
.site-strategy {
  padding: 20.6rem 1.6rem 21.5rem;
  margin-top: -18.7rem;
  clip-path: polygon(0 18.7rem, 100% 0%, 100% calc(100% - 18.7rem), 0% 100%);
  background: url(../images/site/strategy_bg.webp) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .site-strategy {
    padding: 7.8rem 1.6rem 10.6rem;
    margin-top: -5.7rem;
    clip-path: polygon(0 5.7rem, 100% 0%, 100% calc(100% - 5.7rem), 0% 100%);
  }
}
.site-strategy__inner {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .site-strategy__inner {
    flex-direction: column;
  }
}
.strategy__left {
  width: 33.3620689655%;
}

@media screen and (max-width: 768px) {
  .strategy__left {
    width: 100%;
  }
}
.site-strategy__title {
  font-size: 3.2rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 2rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .site-strategy__title {
    font-size: 2.4rem;
  }
}
.site-strategy__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-top: 2.5rem;
  color: #fff;
}

.site-strategy__image {
  max-width: 37.2rem;
  margin-top: 22rem;
}

@media screen and (max-width: 768px) {
  .site-strategy__image {
    width: 72%;
    margin: 4rem auto 0;
  }
}
.site-strategy__list {
  display: flex;
  flex-direction: column;
  gap: 3.4rem;
  width: 55.5172413793%;
  margin-top: 5.4rem;
}

@media screen and (max-width: 768px) {
  .site-strategy__list {
    width: 100%;
    margin-top: 0;
  }
}
.site-strategy__item {
  padding: 2.8rem 4.8rem;
  background-color: #fff;
  border-radius: 0.6rem;
}

@media screen and (max-width: 768px) {
  .site-strategy__item {
    padding: 1rem 1.6rem;
  }
}
.site-strategy-item__title--en {
  font-size: 2rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.06em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .site-strategy-item__title--en {
    font-size: 1.4rem;
  }
}
.site-strategy-item__title--en span {
  font-size: 3.2rem;
}

@media screen and (max-width: 768px) {
  .site-strategy-item__title--en span {
    font-size: 2rem;
  }
}
.site-strategy-item__title--ja {
  width: fit-content;
  font-size: 3rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding: 0.3rem 1.6rem;
  margin-top: 1.1rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  color: #fff;
}

@media screen and (max-width: 768px) {
  .site-strategy-item__title--ja {
    font-size: 1.8rem;
    padding: 0.2rem 1rem;
    margin-top: 0.8rem;
  }
}
.site-strategy-item__desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 1.5rem;
}

@media screen and (max-width: 768px) {
  .site-strategy-item__desc {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.site-strategy-item__desc span {
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.site-lineup {
  padding: 18.8rem 1.6rem 20.8rem;
  margin-top: -18.4rem;
  background-color: #F7F7F7;
  clip-path: polygon(0 17.7rem, 100% 0%, 100% calc(100% - 17.7rem), 0% 100%);
}

@media screen and (max-width: 768px) {
  .site-lineup {
    padding: 7.8rem 1.6rem 5.6rem;
    margin-top: -5.7rem;
    clip-path: polygon(0 5.7rem, 100% 0%, 100% calc(100% - 5.7rem), 0% 100%);
  }
}
.site-lineup__list {
  display: flex;
  flex-direction: column;
  margin-top: 7.2rem;
}

.site-lineup__item {
  display: flex;
  justify-content: space-between;
  padding-bottom: 8rem;
}

@media screen and (max-width: 768px) {
  .site-lineup__item {
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .site-lineup__item {
    flex-direction: column;
  }
}
.site-lineup__item:nth-child(even) {
  flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  .site-lineup__item:nth-child(even) {
    flex-direction: column;
  }
}
.site-lineup__item:not(:nth-child(1)) {
  padding-top: 8rem;
}

@media screen and (max-width: 768px) {
  .site-lineup__item:not(:nth-child(1)) {
    padding-top: 4rem;
  }
}
.site-lineup__item:not(:last-child) {
  border-bottom: 0.1rem solid #DAE2EC;
}

.site-lineup-item__text {
  width: 50.6034482759%;
}

@media screen and (max-width: 768px) {
  .site-lineup-item__text {
    width: 100%;
  }
}
.site-lineup-item__title {
  font-size: 2.8rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #040A20;
}

@media screen and (max-width: 768px) {
  .site-lineup-item__title {
    font-size: 2rem;
  }
}
.site-lineup-item__title span {
  font-size: 4.8rem;
  font-family: "Fustat", sans-serif;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
  margin-right: 1.6rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .site-lineup-item__title span {
    font-size: 3.2rem;
    margin-right: 1rem;
  }
}
.site-lineup-item__desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-top: 2rem;
}

@media screen and (max-width: 768px) {
  .site-lineup-item__desc {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.site-lineup-box {
  padding: 1.9rem 2.4rem 2rem;
  margin-top: 2.8rem;
  border: 0.1rem solid rgba(0, 0, 0, 0.24);
  background-color: #fff;
  border-radius: 0.4rem;
}

.site-lineup-box__price {
  text-align: center;
}

.site-lineup-box__price dt {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 600;
  letter-spacing: 0.06em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.site-lineup-box__price dd {
  font-size: 3.6rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 0.5rem;
  color: #040A20;
}

@media screen and (max-width: 768px) {
  .site-lineup-box__price dd {
    margin-top: 0;
  }
}
.site-lineup-box__price dd span {
  font-size: 1.8rem;
}

.site-lineup-box__head {
  padding-bottom: 1.4rem;
  border-bottom: 0.1rem solid #DAE2EC;
}

.site-lineup-box__body {
  padding-top: 1.6rem;
}

.site-lineup-box__option {
  display: block;
  width: fit-content;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.06em;
  padding: 0.4rem 1.6rem;
  margin-inline: auto;
  border: 0.1rem solid #CACACA;
  border-radius: 100vmax;
  color: #595959;
}

.site-lineup-box__small {
  display: block;
  font-size: 1.2rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-top: 1.3rem;
  color: #686868;
  text-align: center;
}

.site-lineup-box__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1rem 2.4rem;
  margin: 2rem auto 0;
}

.site-lineup__item:nth-child(1) .site-lineup-box__list {
  max-width: 43.4rem;
}

.site-lineup__item:nth-child(2) .site-lineup-box__list {
  max-width: 46.5rem;
}

.site-lineup__item:nth-child(3) .site-lineup-box__list {
  max-width: 46rem;
}

.site-lineup__item:nth-child(4) .site-lineup-box__list {
  max-width: 42.7rem;
}

.site-lineup-box__item {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding-left: 1.4rem;
}

.site-lineup-box__item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.6rem;
  aspect-ratio: 1;
  top: 0.5rem;
  left: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  border-radius: 100vmax;
}

.site-lineup-item__image {
  width: 36.2068965517%;
}

@media screen and (max-width: 768px) {
  .site-lineup-item__image {
    width: 100%;
  }
}
.site-feasible {
  padding: 22.4rem 1.6rem 18.4rem;
  margin-top: -17.7rem;
  background-color: #E8E9EE;
  clip-path: polygon(0 17.7rem, 100% 0%, 100% calc(100% - 17.7rem), 0% 100%);
}

@media screen and (max-width: 768px) {
  .site-feasible {
    padding: 7.8rem 1.6rem 18.8rem;
    margin-top: -5.7rem;
    clip-path: polygon(0 5.7rem, 100% 0%, 100% calc(100% - 5.7rem), 0% 100%);
  }
}
.site-feasible__heading {
  background-color: #E8E9EE;
}

.site-feasible__heading--en {
  background-color: #E8E9EE;
}

.site-feasible__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.2rem 1.3rem;
  margin-top: 4.9rem;
}

@media screen and (max-width: 768px) {
  .site-feasible__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem;
    margin-top: 4rem;
  }
}
.site-feasible__item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 2rem 2.4rem;
  background-color: #fff;
  border-radius: 0.4rem;
  container-type: inline-size;
}

@media screen and (max-width: 768px) {
  .site-feasible__item {
    padding: 1rem 1.6rem;
  }
}
.site-feasible__image {
  width: 5rem;
  aspect-ratio: 1;
}

@media screen and (max-width: 768px) {
  .site-feasible__image {
    width: 3rem;
  }
}
.site-feasible__text {
  font-size: 1.6rem;
  font-size: 6.8965517241cqw;
  line-height: 1.8;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.site-contents {
  padding: 19.7rem 1.6rem 7.4rem;
  margin-top: -17.7rem;
  background-color: #F7F7F7;
  clip-path: polygon(0 17.7rem, 100% 0%, 100% 100%, 0% 100%);
}

@media screen and (max-width: 768px) {
  .site-contents {
    padding: 7.8rem 1.6rem 5.6rem;
    clip-path: polygon(0 5.7rem, 100% 0%, 100% 100%, 0% 100%);
  }
}
.site-contents__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-top: 1.6rem;
}

.site-contents__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: auto;
  gap: 4rem 4.4rem;
  margin-top: 5.6rem;
}

@media screen and (max-width: 768px) {
  .site-contents__list {
    gap: 2.4rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .site-contents__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.site-contents__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  padding: 1.6rem 3.6rem 3.6rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  border-radius: 0.6rem;
}

@media screen and (max-width: 768px) {
  .site-contents__item {
    padding: 1.6rem;
  }
}
.site-contents-item__heading--en {
  font-size: 2rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .site-contents-item__heading--en {
    font-size: 1.4rem;
  }
}
.site-contents-item__heading--en .num {
  font-size: 3.2rem;
}

@media screen and (max-width: 768px) {
  .site-contents-item__heading--en .num {
    font-size: 2rem;
  }
}
.site-contents-item__heading--ja {
  font-size: 3.2rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 1.1rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .site-contents-item__heading--ja {
    font-size: 2.4rem;
    margin-top: 0.6rem;
  }
}
.site-contents__sublist-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  padding: 3rem 3.6rem 3rem 2rem;
  margin-top: 3.2rem;
  background-color: #fff;
  border-radius: 0.6rem;
}

@media screen and (max-width: 768px) {
  .site-contents__sublist-wrapper {
    grid-template-columns: repeat(1, 1fr);
    padding: 1.6rem;
  }
}
.site-contents__sublist {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
}

@media screen and (max-width: 768px) {
  .site-contents__sublist {
    gap: 1rem;
  }
}
.site-contents__subitem {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding-left: 3.2rem;
}

@media screen and (max-width: 768px) {
  .site-contents__subitem {
    font-size: 1.4rem;
    padding-left: 2.4rem;
  }
}
.site-contents__subitem span {
  font-size: 1.4rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .site-contents__subitem span {
    font-size: 1.2rem;
  }
}
.site-contents__subitem::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  top: 0.2rem;
  left: 0;
  background: url(../images/common/check_gra_blue.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .site-contents__subitem::before {
    top: 0.1rem;
    width: 2rem;
  }
}
.site-project {
  padding: 6.4rem 1.6rem 8rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .site-project {
    padding: 5.4rem 1.6rem 4.4rem;
  }
}
.site-project__heading--en {
  width: fit-content;
  font-size: 4.8rem;
  font-family: "Fustat", sans-serif;
  line-height: 1.6;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-inline: auto;
  background-color: #fff;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  .site-project__heading--en {
    font-size: 3.2rem;
  }
}
.horizontal_line {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
}

.horizontal_line::before, .horizontal_line::after {
  display: inline-block;
  content: "";
  width: 19.8rem;
  height: 0.2rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
}

@media screen and (max-width: 768px) {
  .horizontal_line::before, .horizontal_line::after {
    width: 4rem;
  }
}
.horizontal_line--white::before, .horizontal_line--white::after {
  background: #fff;
}

.site-project__heading--ja {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #040A20;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .site-project__heading--ja {
    font-size: 2rem;
  }
}
.site-project__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem 4rem;
  margin-top: 7.2rem;
}

@media screen and (max-width: 768px) {
  .site-project__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    margin-top: 4rem;
  }
}
.site-project__text {
  padding: 2.2rem 0.6rem 2.8rem;
}

@media screen and (max-width: 768px) {
  .site-project__text {
    padding: 1rem 0.6rem;
  }
}
.site-project__text span {
  display: block;
  font-size: 1.2rem;
  line-height: 1.8;
  font-weight: 600;
  letter-spacing: 0.06em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.site-project__text h3 {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 0.6rem;
  color: #040A20;
}

@media screen and (max-width: 768px) {
  .site-project__text h3 {
    font-size: 1.6rem;
    margin-top: 0;
  }
}
.site-project__bottom {
  position: relative;
  display: grid;
  place-content: center;
  max-width: 82rem;
  aspect-ratio: 820/160;
  margin: 6.6rem auto 0;
  border-radius: 0.8rem;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .site-project__bottom {
    aspect-ratio: 16/8;
    margin: 4rem auto 0;
  }
}
.site-project__bottom img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}

.site-project__bottom p {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .site-project__bottom p {
    font-size: 1.4rem;
    text-align: center;
  }
}
.site-support {
  padding: 9.6rem 1.6rem;
  background: url(../images/site/support_bg.webp) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .site-support {
    padding: 5.6rem 1.6rem;
  }
}
.site-support__heading--en {
  font-size: 2.4rem;
  font-family: "Fustat", sans-serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-inline: auto;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  .site-support__heading--en {
    font-size: 2rem;
  }
}
.site-support__heading--ja {
  font-size: 3.6rem;
  line-height: 1.8;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 0.2rem;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .site-support__heading--ja {
    font-size: 2.4rem;
  }
}
.site-support__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-top: 4.1rem;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .site-support__desc {
    margin-top: 3.2rem;
  }
}
.site-support__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.6rem;
  margin-top: 3.4rem;
}

@media screen and (max-width: 768px) {
  .site-support__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.site-support__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  padding: 2.8rem;
  background-color: #FAFAFA;
  border-radius: 0.2rem;
}

@media screen and (max-width: 768px) {
  .site-support__item {
    padding: 1.6rem;
  }
}
.site-support__text {
  padding-bottom: 1.4rem;
  border-bottom: 0.1rem solid #DAE2EC;
}

.site-support-item__title {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.06em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.site-support-item__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-top: 3.2rem;
}

@media screen and (max-width: 768px) {
  .site-support-item__desc {
    margin-top: 2.4rem;
  }
}
.site-support-item__price {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding-top: 2.2rem;
}

@media screen and (max-width: 768px) {
  .site-support-item__price {
    padding-top: 1rem;
  }
}
.site-support-item__price span {
  font-size: 3.6rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.site-support-sevice::before {
  display: block;
  content: "";
  width: 8rem;
  aspect-ratio: 1;
  margin: 3.2rem auto 1.6rem;
  background: url(../images/site/plus.svg) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .site-support-sevice::before {
    width: 4rem;
    margin: 2rem auto 2rem;
  }
}
.site-support-sevice__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.3rem;
}

@media screen and (max-width: 768px) {
  .site-support-sevice__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.site-support-sevice__item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 2.8rem 2.4rem;
  background-color: #F5F5F5;
  border-radius: 0.2rem;
  container-type: inline-size;
}

@media screen and (max-width: 768px) {
  .site-support-sevice__item {
    padding: 1.6rem 1.4rem;
  }
}
.site-support-sevice__image {
  width: 5rem;
  aspect-ratio: 1;
}

@media screen and (max-width: 768px) {
  .site-support-sevice__image {
    width: 3rem;
  }
}
.site-support-sevice__text {
  font-size: 1.6rem;
  font-size: 6.8965517241cqw;
  line-height: 1.8;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #000;
}

.site-voice {
  padding: 9.6rem 1.6rem 27.7rem;
  background-color: #F5F5F5;
  clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 17.7rem), 0% 100%);
}

@media screen and (max-width: 768px) {
  .site-voice {
    padding: 5.6rem 1.6rem 7.8rem;
    clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 5.7rem), 0% 100%);
  }
}
.site-voice__heading {
  text-align: center;
}

.site-voice__heading--en {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 800;
  letter-spacing: 0.08em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  .site-voice__heading--en {
    font-size: 2rem;
  }
}
.site-voice__heading--ja {
  font-size: 4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #040A20;
}

@media screen and (max-width: 768px) {
  .site-voice__heading--ja {
    font-size: 2.4rem;
  }
}
.site-voice__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.2rem;
  margin-top: 5.3rem;
}

@media screen and (max-width: 768px) {
  .site-voice__list {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 4rem;
  }
}
.site-voice__item {
  padding: 1.6rem 1.6rem 3.8rem;
  border: 0.1rem solid rgba(0, 0, 0, 0.2);
  background-color: #fff;
  border-radius: 0.1rem;
}

@media screen and (max-width: 768px) {
  .site-voice__item {
    padding: 1.6rem 1.6rem 2rem;
  }
}
.site-voice__text {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 2.7rem 1.2rem 0;
}

@media screen and (max-width: 768px) {
  .site-voice__text {
    font-size: 1.4rem;
    padding: 2rem 0.8rem 0;
  }
}
.site-voice__desc {
  font-weight: 400;
  padding-bottom: 3.1rem;
  border-bottom: 0.1rem solid #DAE2EC;
}

@media screen and (max-width: 768px) {
  .site-voice__desc {
    padding-bottom: 1.4rem;
  }
}
.site-voice__desc span {
  font-weight: 600;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.site-voice__company {
  font-weight: 600;
  padding-top: 2rem;
}

.site-flow {
  padding: 23.3rem 1.6rem 11rem;
  margin-top: -17.7rem;
  background-color: #E8E9EE;
  clip-path: polygon(0 17.7rem, 100% 0%, 100% 100%, 0% 100%);
}

@media screen and (max-width: 768px) {
  .site-flow {
    padding: 7.8rem 1.6rem 5.6rem;
    margin-top: -5.7rem;
    clip-path: polygon(0 5.7rem, 100% 0%, 100% 100%, 0% 100%);
  }
}
.site-flow__inner {
  display: flex;
  gap: 5.1rem;
}

@media screen and (max-width: 768px) {
  .site-flow__inner {
    flex-direction: column;
  }
}
.heading-type2.site-flow__heading {
  width: fit-content;
  flex-shrink: 0;
  background-color: #E8E9EE;
}

.heading-type2__en.site-flow__heading--en {
  font-size: 2.4rem;
  background-color: #E8E9EE;
}

@media screen and (max-width: 768px) {
  .heading-type2__en.site-flow__heading--en {
    font-size: 1.8rem;
  }
}
.heading-type2__ja.site-flow__heading--ja {
  font-size: 3.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #040A20;
}

@media screen and (max-width: 768px) {
  .heading-type2__ja.site-flow__heading--ja {
    font-size: 2.4rem;
  }
}
.flow__list {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  margin-top: 2.7rem;
}

@media screen and (max-width: 768px) {
  .flow__list {
    gap: 4rem;
    margin-top: 0;
  }
}
.flow__item {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
}

@media screen and (max-width: 768px) {
  .flow__item {
    gap: 2rem;
  }
}
.flow__image {
  width: 21.6rem;
  flex-shrink: 0;
  margin-inline: auto;
}

@media screen and (max-width: 768px) {
  .flow__image {
    width: 20%;
  }
}
.flow__text {
  line-height: 1.8;
  letter-spacing: 0.06em;
  flex: 1;
}

.flow__step {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 0.2rem 1.6rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  color: #fff;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .flow__step {
    font-size: 1rem;
    padding: 0.2rem 1rem;
  }
}
.flow__title {
  font-size: 2.4rem;
  font-weight: 600;
  margin-top: 1.6rem;
  color: #040A20;
}

@media screen and (max-width: 768px) {
  .flow__title {
    font-size: 1.8rem;
    margin-top: 0.4rem;
  }
}
.flow__desc {
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 2.4rem;
  color: rgba(51, 51, 51, 0.9);
}

@media screen and (max-width: 768px) {
  .flow__desc {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.site-faq {
  padding: 8rem 1.6rem;
  background-color: #FAFAFA;
}

@media screen and (max-width: 768px) {
  .site-faq {
    padding: 5.6rem 1.6rem;
  }
}
.site-faq details:nth-of-type(1) {
  margin-top: 1.6rem;
}

@media screen and (max-width: 768px) {
  .site-faq details:nth-of-type(1) {
    margin-top: 4rem;
  }
}
.site-faq .content {
  background-color: transparent;
  border-radius: 0;
}

.site-faq .summary_inner {
  padding: 4rem 0 2rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2);
  background: transparent;
  border-radius: 0;
}

@media screen and (max-width: 768px) {
  .site-faq .summary_inner {
    padding: 1rem 0 2rem;
  }
}
.site-faq .qa {
  display: grid;
  place-content: center;
  font-size: 2.4rem;
  font-weight: 600;
  width: 4.8rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  color: #fff;
  border-radius: 100vmax;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .site-faq .qa {
    font-size: 2rem;
    width: 4rem;
  }
}
.site-faq .plus::before, .site-faq .plus::after {
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
}

.site-faq .content_inner {
  gap: 1.4rem;
  padding: 2rem 0;
  background-color: transparent;
}

.site-faq .content_inner p {
  padding-top: 1.4rem;
}

@media screen and (max-width: 768px) {
  .site-faq .content_inner p {
    padding-top: 1rem;
  }
}
.site-faq__heading {
  text-align: center;
}

.site-faq__heading--en {
  font-size: 2.4rem;
  font-family: "Fustat", sans-serif;
  line-height: 1.6;
  font-weight: 800;
  letter-spacing: 0.08em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  .site-faq__heading--en {
    font-size: 2rem;
  }
}
.site-faq__heading--ja {
  font-size: 4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #040A20;
}

@media screen and (max-width: 768px) {
  .site-faq__heading--ja {
    font-size: 3.2rem;
  }
}
.site-faq__inner {
  max-width: 100rem;
  margin-inline: auto;
}

.site-cta {
  padding: 15.2rem 1.6rem 12.6rem;
  background: url(../images/site/cta_bg.webp) no-repeat;
  background-size: cover;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .site-cta {
    padding: 8rem 1.6rem 6.4rem;
  }
}
.site-cta__title {
  font-size: 4rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 768px) {
  .site-cta__title {
    font-size: 3.2rem;
  }
}
.site-cta__desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-top: 5.1rem;
}

@media screen and (max-width: 768px) {
  .site-cta__desc {
    font-size: 1.4rem;
    margin-top: 4rem;
  }
}
.site-btns {
  display: flex;
  gap: 3.2rem;
  margin-top: 8rem;
}

@media screen and (max-width: 768px) {
  .site-btns {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-top: 4rem;
  }
}
.site .grid h2,
.movie .grid h2 {
  font-size: 3.6rem;
  font-family: "Noto Sans JP", serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .site .grid h2,
  .movie .grid h2 {
    font-size: 2.4rem;
  }
}
.site .grid h2::before,
.movie .grid h2::before {
  display: none;
}

/* 採用動画
******************************************************************************************/
.movie-mv {
  position: relative;
  min-height: 84rem;
}

@media screen and (max-width: 768px) {
  .movie-mv {
    min-height: auto;
  }
}
.movie-mv__inner {
  max-width: 98rem;
  width: 100%;
  margin-inline: auto;
  padding-top: 15.8rem;
  padding-bottom: 5.1rem;
}

@media screen and (max-width: 768px) {
  .movie-mv__inner {
    padding-top: 32.8%;
  }
}
.movie-mv__image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.movie-mv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.movie-mv-text {
  position: relative;
  text-align: center;
}

.movie-mv__lead {
  font-size: 3.6rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .movie-mv__lead {
    font-size: 5.1282051282vw;
  }
}
.movie-mv__title {
  font-size: 6.4rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 2.4rem;
  color: #000;
}

@media screen and (max-width: 768px) {
  .movie-mv__title {
    font-size: 10.2564102564vw;
  }
}
.movie-mv__title span {
  display: inline-block;
  padding: 0 0.6rem;
  background-color: #fff;
}

.movie-mv__sub {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-top: 3.2rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .movie-mv__sub {
    font-size: 3.5897435897vw;
  }
}
.movie-mv__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  margin-top: 4.5rem;
}

@media screen and (max-width: 768px) {
  .movie-mv__list {
    gap: 1rem;
    width: 97%;
    margin: 3.2rem auto 0;
  }
}
.movie-mv__item {
  padding: 3rem 1.6rem 3.4rem;
  background-color: rgba(255, 255, 255, 0.83);
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .movie-mv__item {
    padding: 2.0512820513vw;
  }
}
.movie-mv__item dt {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-mv__item dt {
    font-size: 2.8205128205vw;
  }
}
.movie-mv__item dt::before {
  display: block;
  content: "";
  width: 4.8rem;
  height: 0.6rem;
  margin: 0 auto 1.8rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .movie-mv__item dt::before {
    width: 6.1538461538vw;
    height: 0.3rem;
    margin: 0 auto 1rem;
  }
}
.movie-mv__item dd {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .movie-mv__item dd {
    font-size: 2.0512820513vw;
    margin-top: 0.8rem;
  }
}
.movie-mv-dark-btns {
  justify-content: center;
  margin-top: 5.6rem;
}

.movie-problem {
  padding: 8.4rem 1.6rem 0;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .movie-problem {
    padding: 5.6rem 1.6rem 0;
  }
}
.movie__heading--en {
  font-size: 2.4rem;
  font-family: "Fustat", sans-serif;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-inline: auto;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  .movie__heading--en {
    font-size: 2rem;
  }
}
.movie__heading--ja {
  font-size: 3.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 1rem;
  color: #040A20;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .movie__heading--ja {
    font-size: 2.4rem;
  }
}
.movie-problem__inner {
  max-width: 116.4rem;
  width: 100%;
  margin-inline: auto;
}

.movie-problem__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.8rem;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .movie-problem__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.4rem;
  }
}
.movie-problem__item {
  padding: 2.8rem 2.3rem 3rem;
  background-color: #E6E6E6;
  border-radius: 0.4rem;
}

@media screen and (max-width: 768px) {
  .movie-problem__item {
    padding: 1.6rem;
  }
}
.movie-label {
  font-size: 2rem;
  font-family: "Fustat", sans-serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-label {
    font-size: 1.6rem;
  }
}
.movie-label .num {
  font-size: 5.6rem;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-label .num {
    font-size: 3.2rem;
  }
}
.movie-problem__title {
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 0 0.4rem;
  margin-top: 2.4rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  color: #fff;
}

@media screen and (max-width: 768px) {
  .movie-problem__title {
    font-size: 2rem;
    margin-top: 2rem;
  }
}
.movie-desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .movie-desc {
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
}
.movie-desc span {
  background-image: linear-gradient(46.7deg, #1005B8, #0092D6);
  background-repeat: no-repeat;
  background-size: 100% 0.2rem;
  background-position: 0 100%;
  padding-bottom: 0.4rem;
}

@media screen and (max-width: 768px) {
  .movie-desc span {
    background-size: 100% 0.1rem;
    padding-bottom: 0.2rem;
  }
}
.movie-solution {
  padding: 7.7rem 1.6rem 8.4rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .movie-solution {
    padding: 5.6rem 1.6rem 6.4rem;
  }
}
.movie-solution__inner {
  max-width: 118rem;
  width: 100%;
  margin-inline: auto;
}

.movie-solution__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5rem;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .movie-solution__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
}
.movie-solution__item {
  padding: 2.8rem 2rem 2.3rem;
  background-color: #F1F5F9;
  border-radius: 0.4rem;
  box-shadow: 0 0 1.2rem 0 rgba(0, 0, 0, 0.25);
}

.movie-solution__title {
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 2.4rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-solution__title {
    font-size: 2rem;
    margin-top: 1rem;
  }
}
.movie__container {
  max-width: 119.2rem;
  width: 100%;
  margin-inline: auto;
}

.movie-optimization {
  padding: 9.6rem 1.6rem 7.1rem;
  background-color: #F4F7FA;
}

@media screen and (max-width: 768px) {
  .movie-optimization {
    padding: 5.6rem 1.6rem 4rem;
  }
}
.movie-optimization__main {
  font-size: 3.2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-optimization__main {
    font-size: 2rem;
  }
}
.movie-optimization__sub {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.06em;
  max-width: 44.7rem;
  margin-top: 3.3rem;
  color: #040A20;
}

@media screen and (max-width: 768px) {
  .movie-optimization__sub {
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}
.movie-optimization__image {
  width: 88.2969798658%;
  margin-top: -7.2rem;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .movie-optimization__image {
    width: 100%;
    margin: 4rem auto 0;
    overflow-x: auto;
  }
  .movie-optimization__image img {
    width: auto;
    max-width: max-content;
    height: 40rem;
    margin-bottom: 0.6rem;
  }
}
.movie-reason {
  padding: 8rem 1.6rem 26.6rem;
  background-color: #E8E9EE;
  clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 18.7rem), 0% 100%);
}

@media screen and (max-width: 768px) {
  .movie-reason {
    padding: 5.6rem 1.6rem 8.6rem;
    clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 5.7rem), 0% 100%);
  }
}
.movie-reason__heading--ja {
  font-size: 4.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 1rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .movie-reason__heading--ja {
    font-size: 2.4rem;
    margin-top: 0;
  }
}
.movie-reason__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem;
  margin-top: 6.2rem;
}

@media screen and (max-width: 768px) {
  .movie-reason__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    margin-top: 4rem;
  }
}
.movie-reason__item {
  padding: 2.9rem 2.4rem;
  border: 0.1rem solid rgba(18, 24, 33, 0.2);
  background-color: #fff;
  border-radius: 1.6rem;
}

@media screen and (max-width: 768px) {
  .movie-reason__item {
    padding: 1.6rem;
  }
}
.movie-reason-item__top span {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.movie-reason-item__top h3 {
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-top: 0.9rem;
  color: #181818;
}

.movie-reason-item-main {
  padding: 1.3rem 1.6rem 2.4rem;
  margin-top: 2.4rem;
  min-height: 14.8rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  border-radius: 1rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .movie-reason-item-main {
    margin-top: 1.6rem;
  }
}
.movie-reason-item-main__label {
  display: grid;
  place-content: center;
  font-size: 1.2rem;
  line-height: 2;
  font-weight: 600;
  letter-spacing: 0;
  width: 6rem;
  height: 2.4rem;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 100vmax;
}

.movie-reason-item-main__label .text {
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.movie-reason-item-main__text {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0;
  color: #fff;
}

.movie-reason-item-main__text.large {
  font-size: 2.2rem;
  line-height: 1.4545454545;
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 1.8rem;
}

.movie-reason-item-main__up {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0;
  color: #fff;
}

.movie-reason-item-main__up .percent {
  font-size: 2.6rem;
}

.movie-reason-item-main__plus {
  vertical-align: bottom;
}

.movie-reason-item-main__num {
  font-size: 3.8rem;
  line-height: 0.9473684211;
  font-weight: 700;
  letter-spacing: 0;
}

.movie-reason-item-main__column {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-top: 1.2rem;
}

.movie-reason-item-main__row {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0.55rem;
}

.movie-reason-item-main__row:nth-of-type(1) {
  margin-top: 0.9rem;
}

.movie-reason-item-main__row:nth-of-type(2) {
  margin-top: 0.6rem;
}

.movie-reason-item-main__row .movie-reason-item-main__num {
  font-size: 3.3rem;
}

.movie-reason-item-bottom {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  .movie-reason-item-bottom {
    gap: 1rem;
    margin-top: 2rem;
  }
}
.movie-reason-item-bottom__item {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
}

.movie-reason-item-bottom__item dt {
  font-size: 1.2rem;
  line-height: 2;
  font-weight: 600;
  letter-spacing: 0;
  padding: 0 1.8rem;
  background-color: #303C50;
  color: #fff;
  border-radius: 100vmax;
  flex-shrink: 0;
}

.movie-reason-item-bottom__item dd {
  font-size: 1.4rem;
  line-height: 1.7142857143;
  font-weight: 700;
  letter-spacing: 0.04em;
  flex: 1;
}

.movie-cta {
  padding: 18.4rem 1.6rem 21.1rem;
  margin-top: -18.7rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  clip-path: polygon(0 18.7rem, 100% 0%, 100% calc(100% - 18.7rem), 0% 100%);
}

@media screen and (max-width: 768px) {
  .movie-cta {
    padding: 7.8rem 1.6rem 8.6rem;
    margin-top: -5.7rem;
    clip-path: polygon(0 5.7rem, 100% 0%, 100% calc(100% - 5.7rem), 0% 100%);
  }
}
.movie-cta__title {
  font-size: 3.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .movie-cta__title {
    font-size: 2.4rem;
  }
}
.movie-cta__title::after {
  display: block;
  content: "";
  width: 6.4rem;
  height: 0.4rem;
  margin: 1rem auto 0;
  background: #CCCCCC;
}

@media screen and (max-width: 768px) {
  .movie-cta__title::after {
    width: 4rem;
  }
}
.movie-cta__btns {
  display: flex;
  justify-content: center;
  gap: 3rem;
}

@media screen and (max-width: 768px) {
  .movie-cta__btns {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-top: 4rem;
  }
}
.movie-cta__btn {
  position: relative;
  width: 42.4rem;
  border: 0.1rem solid #fff;
  padding: 1.75rem 0 1.85rem;
  margin-top: 5.6rem;
  border-radius: 0.2rem;
  box-shadow: 0 1.1rem 1.9rem 0 rgba(0, 0, 0, 0.3);
  transition: opacity 0.4s;
}

@media screen and (max-width: 768px) {
  .movie-cta__btn {
    width: 100%;
    max-width: 30rem;
    margin-top: 0;
  }
}
.movie-cta__btn::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 24/48;
  top: 50%;
  right: 2.95rem;
  translate: 0 -50%;
}

@media screen and (max-width: 768px) {
  .movie-cta__btn::after {
    width: 1.6rem;
    right: 1.6rem;
  }
}
.movie-cta__btn .text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0 0.3rem;
  width: fit-content;
}

.movie-cta__btn .lead {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 768px) {
  .movie-cta__btn .lead {
    font-size: 1rem;
  }
}
.movie-cta__btn .main {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 768px) {
  .movie-cta__btn .main {
    gap: 0.8rem;
    font-size: 1.4rem;
  }
}
.movie-cta__btn .main::before {
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .movie-cta__btn .main::before {
    width: 1.6rem;
  }
}
@media (any-hover: hover) {
  .movie-cta__btn:hover {
    opacity: 0.8;
  }
}
.movie-cta__btn--download {
  padding-left: 8.55rem;
  background-color: #0C1222;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .movie-cta__btn--download {
    padding-left: 6rem;
  }
}
.movie-cta__btn--download .main::before {
  background: url(../images/common/download_white.svg) no-repeat;
  background-size: contain;
}

.movie-cta__btn--download::after {
  background: url(../images/common/arrow_white.svg) no-repeat;
  background-size: contain;
}

.movie-cta__btn--contact {
  padding-left: 9.2rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .movie-cta__btn--contact {
    padding-left: 6rem;
  }
}
.movie-cta__btn--contact .lead {
  color: #5D5D5D;
}

.movie-cta__btn--contact .main {
  background: linear-gradient(85.77deg, #4258FF 1.28%, #29A9FF 95.07%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.movie-cta__btn--contact .main::before {
  background: url(../images/common/mail_blue.svg) no-repeat;
  background-size: contain;
}

.movie-cta__btn--contact::after {
  background: url(../images/common/arrow_blue.svg) no-repeat;
  background-size: contain;
}

.movie-three-reason {
  padding: 18.4rem 1.6rem 24.8rem;
  margin-top: -18.7rem;
  background-color: #F1F5F9;
  clip-path: polygon(0 18.7rem, 100% 0%, 100% calc(100% - 18.7rem), 0% 100%);
}

@media screen and (max-width: 768px) {
  .movie-three-reason {
    padding: 7.8rem 1.6rem 8.6rem;
    margin-top: -5.7rem;
    clip-path: polygon(0 5.7rem, 100% 0%, 100% calc(100% - 5.7rem), 0% 100%);
  }
}
.movie-three-reason__list {
  display: flex;
  flex-direction: column;
  gap: 12rem;
  margin-top: 7.4rem;
}

@media screen and (max-width: 768px) {
  .movie-three-reason__list {
    gap: 4rem;
    margin-top: 4rem;
  }
}
.movie-three-reason-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .movie-three-reason-item {
    flex-direction: column;
    gap: 3.2rem;
  }
}
.movie-three-reason-item:nth-child(even) {
  flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  .movie-three-reason-item:nth-child(even) {
    flex-direction: column;
    gap: 3.2rem;
  }
}
.movie-three-reason__text {
  width: 47.9446308725%;
}

@media screen and (max-width: 768px) {
  .movie-three-reason__text {
    width: 100%;
  }
}
.movie-three-reason__image {
  width: 47.9446308725%;
}

@media screen and (max-width: 768px) {
  .movie-three-reason__image {
    width: 100%;
  }
}
.movie-three-reason-item__num {
  font-size: 6rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-three-reason-item__num {
    font-size: 3rem;
  }
}
.movie-three-reason-item__title {
  font-size: 2.8rem;
  line-height: 1.2857142857;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 2.4rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .movie-three-reason-item__title {
    font-size: 2rem;
    margin-top: 1rem;
  }
}
.movie-three-reason-item__title span {
  display: inline-block;
  line-height: 1;
  padding: 0.2rem 0.8rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
}

.movie-three-reason-item__desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 2.8rem;
}

@media screen and (max-width: 768px) {
  .movie-three-reason-item__desc {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.movie-strength {
  padding: 18.4rem 1.6rem 12.9rem;
  margin-top: -18.7rem;
  background-color: #E8E9EE;
  clip-path: polygon(0 18.7rem, 100% 0%, 100% 100%, 0% 100%);
}

@media screen and (max-width: 768px) {
  .movie-strength {
    padding: 7.8rem 1.6rem 5.6rem;
    margin-top: -5.7rem;
    clip-path: polygon(0 5.7rem, 100% 0%, 100% 100%, 0% 100%);
  }
}
.movie-strength__heading {
  background-color: #E8E9EE;
}

.movie-strength__heading--en {
  background-color: #E8E9EE;
}

.movie-strength__heading--ja {
  font-size: 4.8rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .movie-strength__heading--ja {
    font-size: 2.4rem;
  }
}
.movie-strength__desc {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .movie-strength__desc {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.movie-strength__list {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  margin-top: 6.5rem;
}

@media screen and (max-width: 768px) {
  .movie-strength__list {
    gap: 2rem;
    margin-top: 4rem;
  }
}
.movie-strength__item {
  position: relative;
  background-color: #fff;
  border-radius: 0.8rem;
  overflow: hidden;
}

.movie-strength-fanel {
  display: flex;
  gap: 7.678rem;
  padding: 6.4rem 5.6rem;
}

@media screen and (max-width: 768px) {
  .movie-strength-fanel {
    flex-direction: column;
    gap: 4rem;
    padding: 2.4rem 1.6rem 4rem;
  }
}
.movie-strength-fanel::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 63.3389261745%;
  aspect-ratio: 755/695;
  top: 50%;
  right: -35.9rem;
  translate: 0 -50%;
  background: url(../images/movie/fanel_ellipse.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .movie-strength-fanel::before {
    width: 80%;
    top: 73%;
    right: -34%;
  }
}
.movie-strength-fanel__text {
  width: 40.8333333333%;
}

@media screen and (max-width: 768px) {
  .movie-strength-fanel__text {
    width: 100%;
  }
}
.movie-strength-fanel__image {
  position: relative;
  width: 47.5925925926%;
}

@media screen and (max-width: 768px) {
  .movie-strength-fanel__image {
    width: 80%;
    margin-left: auto;
  }
}
.movie-strength-fanel__title {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-strength-fanel__title {
    font-size: 1.8rem;
  }
}
.movie-strength-fanel__desc {
  font-size: 1.6rem;
  line-height: 1.9;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 1.9rem;
}

@media screen and (max-width: 768px) {
  .movie-strength-fanel__desc {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.movie-strength-problem {
  padding: 3.2rem 5.6rem;
}

@media screen and (max-width: 768px) {
  .movie-strength-problem {
    padding: 2.4rem 1.6rem;
  }
}
.movie-strength-problem__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8.8rem;
}

@media screen and (max-width: 768px) {
  .movie-strength-problem__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 4rem;
  }
}
.movie-strength-problem__label {
  font-size: 2rem;
  font-family: "Fustat", sans-serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-strength-problem__label {
    font-size: 1.6rem;
  }
}
.movie-strength-problem__label .num {
  font-size: 4rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-strength-problem__label .num {
    font-size: 3.2rem;
  }
}
.movie-strength-problem__title {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0;
  padding-bottom: 1.5rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.3);
  margin-top: 2rem;
  color: #040A20;
}

@media screen and (max-width: 768px) {
  .movie-strength-problem__title {
    font-size: 2rem;
    margin-top: 1rem;
    padding-bottom: 1rem;
  }
}
.movie-strength-problem__sub {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0;
  margin-top: 1.7rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-strength-problem__sub {
    font-size: 1.6rem;
    margin-top: 1rem;
  }
}
.movie-strength-problem__desc {
  position: relative;
  font-size: 1.5rem;
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: 0;
  padding-left: 2.5rem;
  margin-top: 1.7rem;
  color: #040A20;
}

@media screen and (max-width: 768px) {
  .movie-strength-problem__desc {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.movie-strength-problem__desc::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2rem;
  aspect-ratio: 20/22;
  top: 0.4rem;
  left: 0;
  background: url(../images/common/check_gra_blue.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .movie-strength-problem__desc::before {
    top: 0.2rem;
  }
}
.movie-strength-support {
  padding: 3.2rem 4.1rem 2.5rem;
}

@media screen and (max-width: 768px) {
  .movie-strength-support {
    padding: 1.8rem 1.6rem;
  }
}
.movie-strength-support__text {
  padding-left: 1.5rem;
}

@media screen and (max-width: 768px) {
  .movie-strength-support__text {
    padding-left: 0;
  }
}
.movie-strength-support__lead {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0;
  color: #040A20;
}

@media screen and (max-width: 768px) {
  .movie-strength-support__lead {
    font-size: 1.4rem;
  }
}
.movie-strength-support__title {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 0.8rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-strength-support__title {
    font-size: 2rem;
  }
}
.movie-strength-support__image {
  display: flex;
  align-items: flex-start;
  gap: 4.4rem;
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  .movie-strength-support__image {
    flex-direction: column;
    gap: 2rem;
    margin-top: 4rem;
  }
}
.movie-strength-support__image-left {
  width: 63.1531531532%;
}

@media screen and (max-width: 768px) {
  .movie-strength-support__image-left {
    width: 100%;
  }
}
.movie-strength-support__image-right {
  width: 27.027027027%;
}

@media screen and (max-width: 768px) {
  .movie-strength-support__image-right {
    width: 100%;
  }
}
.movie-strength-channel {
  padding: 4rem 0 6.7rem;
}

@media screen and (max-width: 768px) {
  .movie-strength-channel {
    padding: 2.4rem 0 4rem;
  }
}
.movie-strength-channel__title {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0;
  margin-left: 4rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-strength-channel__title {
    font-size: 2rem;
  }
}
.movie-strength-channel__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 1.7rem;
}

@media screen and (max-width: 768px) {
  .movie-strength-channel__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 3.2rem;
    margin-top: 4rem;
  }
}
.movie-strength-channel__item {
  padding: 0 4rem;
}

.movie-strength-channel__item:nth-child(1) .movie-strength-channel__image img {
  width: 12.5rem;
}

.movie-strength-channel__item:nth-child(2) {
  border-left: 0.1rem solid rgba(0, 0, 0, 0.3);
  border-right: 0.1rem solid rgba(0, 0, 0, 0.3);
}

.movie-strength-channel__item:nth-child(2) .movie-strength-channel__image img {
  width: 13.2rem;
}

.movie-strength-channel__item:nth-child(3) .movie-strength-channel__image img {
  width: 12.4rem;
}

.movie-strength-channel__num {
  font-size: 4.4rem;
  line-height: 0.8;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #878787;
}

@media screen and (max-width: 768px) {
  .movie-strength-channel__num {
    font-size: 3.2rem;
  }
}
.movie-strength-channel__image {
  display: grid;
  place-content: center;
  height: 13.2rem;
  margin-top: -1.4rem;
}

.movie-strength-channel__desc {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-top: 1.6rem;
  color: #040A20;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .movie-strength-channel__desc {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.movie-case {
  padding: 8rem 1.6rem 8.6rem;
  background-color: #F5F5F5;
}

@media screen and (max-width: 768px) {
  .movie-case {
    padding: 5.6rem 1.6rem;
  }
}
.movie-case__heading--ja {
  font-size: 4.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 1rem;
  color: #040A20;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .movie-case__heading--ja {
    font-size: 2.4rem;
    margin-top: 0;
  }
}
.movie-case__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .movie-case__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.6rem;
    margin-top: 4rem;
  }
}
.movie-case__item {
  aspect-ratio: 580/346;
  background-color: #AEAEAE;
}

.movie-creator {
  padding: 8rem 1.6rem;
  background-color: #F8FAFC;
}

@media screen and (max-width: 768px) {
  .movie-creator {
    padding: 5.6rem 1.6rem;
  }
}
.movie-creator__heading--ja {
  font-size: 4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 1rem;
  color: #040A20;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .movie-creator__heading--ja {
    font-size: 2.4rem;
  }
}
.movie-creator__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .movie-creator__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    margin-top: 4rem;
  }
}
.movie-creator__item {
  display: flex;
  box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35);
  border-radius: 1rem;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .movie-creator__item {
    flex-direction: column;
  }
}
.movie-creator__image {
  width: 45%;
}

@media screen and (max-width: 768px) {
  .movie-creator__image {
    width: 100%;
  }
}
.movie-creator__text {
  padding: 2.4rem 2.6rem 3.3rem;
  flex: 1;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .movie-creator__text {
    padding: 2rem 1.6rem;
  }
}
.movie-creator__title {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding-bottom: 1.4rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2);
}

.movie-creator__title span {
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 600;
  letter-spacing: 0;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.movie-creator__icon {
  width: 4rem;
  aspect-ratio: 1;
}

.movie-creator__desc {
  font-size: 1.4rem;
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding-top: 1.1rem;
  color: #1A1A1A;
}

.movie-voice {
  padding: 8rem 1.6rem 26.6rem;
  background-color: #E8E9EE;
  clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 18.7rem), 0% 100%);
}

@media screen and (max-width: 768px) {
  .movie-voice {
    padding: 5.6rem 1.6rem 8.6rem;
    clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 5.7rem), 0% 100%);
  }
}
.movie-voice__heading--ja {
  font-size: 4.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 1rem;
  color: #040A20;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .movie-voice__heading--ja {
    font-size: 2.4rem;
    margin-top: 0;
  }
}
.movie-voice__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .movie-voice__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.movie-voice__item {
  padding: 2.4rem;
  background-color: #fff;
  border-radius: 0.4rem;
  border: 0.1rem solid rgba(58, 77, 105, 0.2);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}

@media screen and (max-width: 768px) {
  .movie-voice__item {
    padding: 2.4rem 1.6rem;
  }
}
.movie-voice__info {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2);
}

.movie-voice__info span {
  font-size: 1.8rem;
  line-height: 1.3333333333;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.movie-voice__image {
  width: 5.2rem;
  aspect-ratio: 1;
}

.movie-voice__title {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.01em;
  margin-top: 1.6rem;
  color: #fff;
}

.movie-voice__title span {
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
}

.movie-voice__desc {
  font-size: 1.4rem;
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: 0.01em;
  margin-top: 1.3rem;
}

.movie-flow {
  padding: 18.4rem 1.6rem 24.8rem;
  margin-top: -18.7rem;
  background-color: #F8FAFC;
  clip-path: polygon(0 18.7rem, 100% 0%, 100% calc(100% - 18.7rem), 0% 100%);
}

@media screen and (max-width: 768px) {
  .movie-flow {
    padding: 7.8rem 1.6rem 8.6rem;
    margin-top: -5.7rem;
    clip-path: polygon(0 5.7rem, 100% 0%, 100% calc(100% - 5.7rem), 0% 100%);
  }
}
.movie-flow__heading {
  background-color: #F8FAFC;
  flex-shrink: 0;
}

.movie-flow__heading--en {
  background-color: #F8FAFC;
}

.movie-flow__heading--ja {
  font-size: 3.6rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .movie-flow__heading--ja {
    font-size: 2.4rem;
  }
}
.movie-flow__inner {
  display: flex;
  gap: 8.1rem;
}

@media screen and (max-width: 768px) {
  .movie-flow__inner {
    flex-direction: column;
    gap: 4rem;
  }
}
.movie-price {
  padding: 18.4rem 1.6rem 6.4rem;
  margin-top: -18.7rem;
  background-color: #E8E9EE;
  clip-path: polygon(0 18.7rem, 100% 0%, 100% 100%, 0% 100%);
}

@media screen and (max-width: 768px) {
  .movie-price {
    padding: 7.8rem 1.6rem 8.6rem;
    margin-top: -5.7rem;
    clip-path: polygon(0 5.7rem, 100% 0%, 100% 100%, 0% 100%);
  }
}
.movie-price__heading {
  background-color: #E8E9EE;
}

.movie-price__heading--en {
  background-color: #E8E9EE;
}

.movie-price__heading--ja {
  font-size: 4.8rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 768px) {
  .movie-price__heading--ja {
    font-size: 2.4rem;
  }
}
.movie-price__inner {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .movie-price__inner {
    flex-direction: column;
  }
}
.movie-price__right {
  width: 61.744966443%;
}

@media screen and (max-width: 768px) {
  .movie-price__right {
    width: 100%;
  }
}
.movie-price__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem;
}

@media screen and (max-width: 768px) {
  .movie-price__list {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 4rem;
  }
}
.movie-price__item {
  display: grid;
  place-content: center;
  gap: 1rem;
  aspect-ratio: 360/206;
  background-color: #fff;
  border-radius: 0.8rem;
}

.movie-price__item dt {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0;
  color: #1F2632;
}

@media screen and (max-width: 768px) {
  .movie-price__item dt {
    font-size: 2rem;
  }
}
.movie-price__item dd {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.01em;
}

@media screen and (max-width: 768px) {
  .movie-price__item dd {
    font-size: 1.6rem;
  }
}
.movie-price__item dd span {
  font-size: 4rem;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-price__item dd span {
    font-size: 3.2rem;
  }
}
.movie-price__note {
  font-size: 1.6rem;
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 3.1rem;
}

@media screen and (max-width: 768px) {
  .movie-price__note {
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
}
.movie-faq {
  padding: 6.4rem 1.6rem 7.5rem;
  background-color: #F5F5F5;
}

@media screen and (max-width: 768px) {
  .movie-faq {
    padding: 5.6rem 1.6rem;
  }
}
.movie-faq__inner {
  max-width: 90rem;
  width: 100%;
  margin-inline: auto;
}

.movie-faq__heading--ja {
  font-size: 3.6rem;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
}

.movie-faq {
  /* is-openedクラスが付与されたときのスタイル */
}

.movie-faq details {
  background: #fff;
  border-radius: 0.8rem;
  box-shadow: 0 0.2rem 0.4rem 0 rgba(0, 0, 0, 0.15);
}

.movie-faq details:nth-of-type(1) {
  margin-top: 4.8rem;
}

@media screen and (max-width: 768px) {
  .movie-faq details:nth-of-type(1) {
    margin-top: 4rem;
  }
}
.movie-faq .content {
  background-color: transparent;
  border-radius: 0;
}

.movie-faq .summary_inner {
  justify-content: flex-start;
  gap: 2rem;
  padding: 2.2rem 2.3rem 2.2rem 2.4rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .movie-faq .summary_inner {
    gap: 1rem;
    padding: 1rem 1.6rem 1rem;
  }
}
.movie-faq .summary_inner p {
  line-height: 1.5;
  color: #1E2A3E;
}

.movie-faq .qa {
  font-size: 2.4rem;
  font-weight: 600;
  width: fit-content;
  background: linear-gradient(46.7deg, #1005B8 -2.66%, #0092D6 94.53%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-faq .qa {
    font-size: 2rem;
  }
}
.movie-faq .content_inner {
  gap: 1.4rem;
  padding: 2.2rem 2.3rem 2.2rem 2.4rem;
  background-color: transparent;
}

@media screen and (max-width: 768px) {
  .movie-faq .content_inner {
    padding: 1rem 4rem 1rem 1.6rem;
  }
}
.movie-faq .content_inner p {
  gap: 1rem;
  padding-top: 0.8rem;
}

@media screen and (max-width: 768px) {
  .movie-faq .content_inner p {
    padding-top: 0.6rem;
  }
}
.movie-faq .arrow {
  margin-left: auto;
  transition: transform 0.4s;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .movie-faq .arrow {
    width: 2.4rem;
  }
}
.movie-faq details.is-opened .arrow {
  transform: rotate(180deg);
}

.movie-faq details.is-opened .summary_inner {
  border-radius: 0.8rem 0.8rem 0 0;
}