@charset "UTF-8";

/* Original Style for Format Child Themes */
/* Color
 ----------------------------------------------------------------------------------------------- */
/* Size
 ----------------------------------------------------------------------------------------------- */
/* z-index
 ----------------------------------------------------------------------------------------------- */
.header.header05 {
  height: auto;
  padding: 0;
}

.header.header05 .header__wrapper.header05__wrapper.header__card {
  width: 94%;
  background-color: #fff;
  padding: 15px 40px;
  border-radius: 10px;
  margin-top: 30px;
}

@media screen and (max-width: 849px) {
  .header.header05 .header__wrapper.header05__wrapper.header__card {
    padding: 5px 20px;
    margin-top: 10px;
  }
}

.header.header05 .current__item a {
  color: var(--main_color);
}

.header.header05 .header05__wrapper__nav {
  justify-content: flex-end;
}

.header.header05 .header05__wrapper__nav--wrapper {
  margin: 0;
}

.header.header05 .header05__wrapper__logo {
  width: 80%;
  max-width: 200px;
}

.header.header05 .hamburger {
  background-color: transparent;
}

.header.header05 .hamburger__btn span {
  height: 1px;
}

.section .section__block__title__text {
  opacity: 0;
  transform: translateX(-200px);
  transition: all 0.5s ease-out 0.1s;
}

.section .section__block__title--subtitle {
  opacity: 0;
  transform: translateX(-200px);
  transition: all 0.5s ease-out 0.2s;
}

.section.active .section__block__title__text,
.section.active .section__block__title--subtitle {
  opacity: 1;
  transform: translateX(0);
}

.section.section__feature .section__parts__title,
.section.section__top__concept .section__parts__title,
.section.section__page__concept .section__parts__title,
.section.section__answer .section__parts__title {
  opacity: 0;
  transform: translateX(-200px);
  transition: all 0.5s ease-out 0.1s;
}

.section.section__feature .section__parts__subtitle,
.section.section__top__concept .section__parts__subtitle,
.section.section__page__concept .section__parts__subtitle,
.section.section__answer .section__parts__subtitle {
  opacity: 0;
  transform: translateX(-200px);
  transition: all 0.5s ease-out 0.2s;
}

.section.section__feature .section__parts__text,
.section.section__top__concept .section__parts__text,
.section.section__page__concept .section__parts__text,
.section.section__answer .section__parts__text {
  opacity: 0;
  transform: translateX(-200px);
  transition: all 0.5s ease-out 0.3s;
}

.section.section__feature .section__parts__link,
.section.section__top__concept .section__parts__link,
.section.section__page__concept .section__parts__link,
.section.section__answer .section__parts__link {
  opacity: 0;
  transform: translateX(-200px);
  transition: all 0.5s ease-out 0.4s;
}

.section.section__feature.active .section__parts__title,
.section.section__feature.active .section__parts__subtitle,
.section.section__feature.active .section__parts__text,
.section.section__feature.active .section__parts__link,
.section.section__top__concept.active .section__parts__title,
.section.section__top__concept.active .section__parts__subtitle,
.section.section__top__concept.active .section__parts__text,
.section.section__top__concept.active .section__parts__link,
.section.section__page__concept.active .section__parts__title,
.section.section__page__concept.active .section__parts__subtitle,
.section.section__page__concept.active .section__parts__text,
.section.section__page__concept.active .section__parts__link,
.section.section__answer.active .section__parts__title,
.section.section__answer.active .section__parts__subtitle,
.section.section__answer.active .section__parts__text,
.section.section__answer.active .section__parts__link {
  opacity: 1;
  transform: translateX(0);
}

.c-btn.c-btn06 .c-btn__link {
  cursor: pointer;
  background-color: #fff;
  color: var(--main_color);
}

.c-btn.c-btn06 .c-btn__link:hover {
  background: linear-gradient(91.2deg, #3AB099 -1.07%, #4ED0E1 48.76%, #3AADE3 99.59%);
  color: #fff;
  border-color: transparent;
}

.c-btn.c-btn06 .c-btn__link:hover .c-btn__icon::before {
  background-color: #fff;
}

.c-btn.c-btn06 .c-btn__link:hover .c-btn__icon::after {
  border-color: #fff;
}

.c-btn.c-btn06 .c-btn__icon {
  background-color: transparent;
}

.link-arrow {
  width: 210px;
  height: 210px;
  border-radius: 50%;
  border: 1px solid #fff;
  position: relative;
}

.link-arrow::before,
.link-arrow::after {
  content: "";
}

.link-arrow::before {
  width: 90px;
  height: 1px;
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  left: 30%;
}

.link-arrow::after {
  width: 40px;
  height: 40px;
  border-right: 1px #fff solid;
  border-bottom: 1px #fff solid;
  display: block;
  position: absolute;
  top: 85px;
  left: 105px;
  transform: rotate(-45deg);
}

.link-arrow:hover {
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

@media screen and (max-width: 849px) {
  .link-arrow {
    width: 105px;
    height: 105px;
  }

  .link-arrow::before {
    width: 45px;
    height: 1px;
    background-color: #fff;
    display: block;
    position: absolute;
    top: 50%;
    left: 30%;
  }

  .link-arrow::after {
    width: 20px;
    height: 20px;
    border-right: 1px #fff solid;
    border-bottom: 1px #fff solid;
    display: block;
    position: absolute;
    top: 42px;
    left: 52px;
    transform: rotate(-45deg);
  }
}

.l-main a:not([class]) {
  color: var(--main_color);
  position: relative;
}

.l-main a:not([class])::before {
  display: block;
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: var(--main_color);
  transition: all 0.3s;
}

.l-main a:not([class]):hover::before {
  width: 0;
  transition: all 0.3s;
}

.page-title__wrapper .page-title01__title--main {
  font-size: clamp(3rem, 2.048rem + 4.063vw, 7rem);
  font-family: "Wix Madefor Display";
  background: linear-gradient(91.2deg, #3AB099 -1.07%, #4ED0E1 48.76%, #3AADE3 99.59%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.page-title__wrapper .page-title01__title--sub {
  font-size: clamp(1.5rem, 1.429rem + 0.305vw, 1.8rem);
}

.page-title__wrapper .page-title__text {
  font-size: clamp(1.6rem, 1.454rem + 0.621vw, 2.2rem);
}

.section .section__block__title {
  width: 100%;
}

.section .section__block__title__text {
  leading-trim: both;
  text-edge: cap;
  letter-spacing: 0.01em;
  background: linear-gradient(91.2deg, #3AB099 -1.07%, #4ED0E1 48.76%, #3AADE3 99.59%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-size: clamp(2.6rem, 1.505rem + 4.673vw, 7.2rem);
}

.section .section__block__title--subtitle {
  color: var(--text_color);
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 10px;
  padding-left: 5px;
}

.section .section__parts {
  position: relative;
}

.section .section__parts::before {
  content: "";
  color: var(--main_color);
  position: absolute;
  top: 30px;
  left: 30px;
}

.section .section__parts__title {
  font-size: clamp(2.2rem, 2.01rem + 0.813vw, 3rem);
  padding-left: calc(clamp(2.2rem, 2.01rem + 0.813vw, 3rem) * 1.2);
  margin-top: 50px;
  position: relative;
  leading-trim: both;
  text-edge: cap;
  letter-spacing: 0.05em;
  line-height: 1.4;
  font-weight: 500;
  /* グラデーション */
  background: linear-gradient(91.2deg, #3AB099 -1.07%, #4ED0E1 48.76%, #3AADE3 99.59%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.section .section__parts__title::before,
.section .section__parts__title::after {
  content: "";
  position: absolute;
}

.section .section__parts__title::before {
  width: calc(clamp(2.2rem, 2.01rem + 0.813vw, 3rem) * 0.8);
  height: calc(clamp(2.2rem, 2.01rem + 0.813vw, 3rem) * 0.8);
  top: calc(clamp(2.2rem, 2.01rem + 0.813vw, 3rem) * 0.3);
  left: 0;
  border: 1px solid var(--main_color);
  border-radius: calc(clamp(2.2rem, 2.01rem + 0.813vw, 3rem) * 0.8);
}

.section .section__parts__title::after {
  width: calc(clamp(2.2rem, 2.01rem + 0.813vw, 3rem) * 0.4);
  height: calc(clamp(2.2rem, 2.01rem + 0.813vw, 3rem) * 0.4);
  top: calc(clamp(2.2rem, 2.01rem + 0.813vw, 3rem) * 0.5);
  left: calc(clamp(2.2rem, 2.01rem + 0.813vw, 3rem) * 0.2);
  border-radius: 10px;
  background-color: var(--main_color);
}

.section .section__parts__subtitle {
  color: var(--main_color);
}

.section.section__page__concept {
  position: relative;
  max-width: 100%;
  overflow: hidden;
  position: relative;
}

.section.section__page__concept .section__inner {
  display: flex;
  gap: 50px;
  padding-bottom: 100px;
  width: 100%;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1599px) {
  .section.section__page__concept .section__inner {
    width: 100%;
    max-width: 1100px;
  }
}

@media screen and (max-width: 1199px) {
  .section.section__page__concept .section__inner {
    width: 100%;
    max-width: 800px;
  }
}

@media screen and (max-width: 849px) {
  .section.section__page__concept .section__inner {
    width: 100%;
    max-width: 540px;
  }
}

@media screen and (max-width: 599px) {
  .section.section__page__concept .section__inner {
    width: 100%;
    max-width: 90%;
  }
}

@media screen and (max-width: 849px) {
  .section.section__page__concept .section__inner {
    flex-direction: column;
  }
}

.section.section__page__concept .section__block__title {
  width: calc(40% - 50px);
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 849px) {
  .section.section__page__concept .section__block__title {
    flex-direction: column;
    width: 100%;
  }
}

.section.section__page__concept .section__parts__wrapper {
  width: 60%;
}

@media screen and (max-width: 849px) {
  .section.section__page__concept .section__parts__wrapper {
    flex-direction: column;
    width: 100%;
  }
}

.section.section__page__concept *+.section__parts__wrapper {
  margin-top: 0;
}

.section.section__page__concept .concept__text {
  font-size: 2.6rem;
}

@media screen and (max-width: 849px) {
  .section.section__page__concept .concept__text {
    font-size: 2rem;
  }
}

.section.section__page__concept .section__parts__link {
  margin-top: 50px;
}

.section.section__page__concept .section__block__lib {
  margin-top: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.section.section__page__concept .section__parts {
  z-index: 2;
}

.section.section__page__concept .section__top__concept__text {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.section.section__page__concept .section__top__concept__bg {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
  left: 0;
  z-index: -1;
  transform: translate(0, 20%);
}

.section.section__page__concept svg .svg-elem-1 {
  stroke-dashoffset: 2743.7553710938px;
  stroke-dasharray: 2743.7553710938px;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
  transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}

.section.section__page__concept svg.active .svg-elem-1 {
  stroke-dashoffset: 5487.5107421875px;
}

.section.section__page__concept .section__block__lib {
  display: flex;
  align-items: flex-end;
  top: auto;
  bottom: 0;
}

.section.section__cv {
  position: relative;
  overflow: hidden;
}

.section.section__cv .section__parts__wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

.section.section__cv .section__parts {
  color: #fff;
  display: grid;
  gap: 0 80px;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 0.5fr 2fr;
  grid-template-areas: "title btn" "subtitle btn" "text btn";
}

@media screen and (max-width: 849px) {
  .section.section__cv .section__parts {
    display: flex;
    flex-direction: column;
  }
}

.section.section__cv .section__parts__title {
  color: #fff;
  line-height: 1;
  grid-area: title;
  font-size: clamp(2.6rem, 1.743rem + 3.657vw, 6.2rem);
  /* グラデーション */
  background: none;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
  background-clip: initial;
  text-fill-color: initial;
  padding-left: 0;
  margin-top: 0;
}

.section.section__cv .section__parts__title::before,
.section.section__cv .section__parts__title::after {
  display: none;
}

.section.section__cv .section__parts__subtitle {
  grid-area: subtitle;
  color: #fff;
}

.section.section__cv .section__parts__text {
  grid-area: text;
  display: flex;
  align-items: flex-start;
}

.section.section__cv .section__parts__design00__editor {
  grid-area: btn;
}

@media screen and (max-width: 849px) {
  .section.section__cv .section__parts__design00__editor {
    margin-top: 30px;
  }
}

.section.section__cv .section__block__lib {
  position: absolute;
  bottom: -15px;
  left: 0;
  z-index: 999;
}

.section.section__cv .section__block__lib .cv__scroll {
  line-height: 1;
  bottom: -15px;
}

.section.section__cv .section__block__lib .scroll-infinity__item--text {
  font-weight: 600;
  font-size: 12rem;
  background: #fff;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  background-blend-mode: color-dodge;
  opacity: 0.5;
  mix-blend-mode: overlay;
}

.section.section__service {
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 849px) {
  .section.section__service {
    padding: 50px 0;
  }
}

.section.section__service .section__inner {
  display: flex;
  gap: 0 80px;
  flex-direction: column;
}

@media screen and (max-width: 849px) {
  .section.section__service .section__inner {
    grid-template-columns: 1fr auto;
    gap: 0 30px;
    margin-top: 0;
    padding-top: 0;
  }
}

.section.section__service .section__block__title {
  grid-area: title;
  position: relative;
  z-index: 2;
}

.section.section__service .section__parts__wrapper {
  grid-area: wrapper;
  position: relative;
  z-index: 2;
  gap: 50px;
}

.section.section__service .section__parts {
  background-color: #fff;
  display: flex;
  padding: 0;
}

.section.section__service .section__parts {
  border-radius: var(--radius_pc);
  overflow: hidden;
}

@media screen and (max-width: 849px) {
  .section.section__service .section__parts {
    border-radius: var(--radius_tab);
  }
}

@media screen and (max-width: 599px) {
  .section.section__service .section__parts {
    border-radius: var(--radius_sp);
  }
}

.section.section__service .section__parts .section__parts__title {
  margin-top: 50px;
}

.section.section__service .section__parts .section__parts__left {
  width: 47%;
  padding: 30px 0 40px 30px;
}

@media screen and (max-width: 849px) {
  .section.section__service .section__parts .section__parts__left {
    width: 100%;
    padding: 30px 30px 0;
  }
}

.section.section__service .section__parts .section__parts__img {
  border-radius: 0;
  width: 47%;
}

@media screen and (max-width: 849px) {
  .section.section__service .section__parts .section__parts__img {
    width: 100%;
  }
}

.section.section__service .section__parts::before {
  content: "Service01";
}

.section.section__service .section__parts:nth-of-type(2)::before {
  content: "Service02";
  left: 53%;
}

@media screen and (max-width: 849px) {
  .section.section__service .section__parts:nth-of-type(2)::before {
    left: 30px;
  }
}

.section.section__service .section__parts:nth-of-type(2) .section__parts__left {
  order: 2;
  padding: 30px 30px 40px 0;
}

@media screen and (max-width: 849px) {
  .section.section__service .section__parts:nth-of-type(2) .section__parts__left {
    order: 1;
    padding: 30px 30px 0;
  }
}

.section.section__service .section__parts:nth-of-type(2) .section__parts__img {
  order: 1;
}

@media screen and (max-width: 849px) {
  .section.section__service .section__parts:nth-of-type(2) .section__parts__img {
    order: 2;
  }
}

.section.section__service .section__parts:nth-of-type(3)::before {
  content: "Service03";
}

.section.section__service .section__parts__link {
  width: 100%;
  display: flex;
  justify-content: flex-start;
}

@media screen and (max-width: 849px) {
  .section.section__service .section__parts__link {
    justify-content: center;
  }
}

.section.section__service .c-btn__link {
  border: 1px solid var(--main_color);
}

.section.section__service .section__service__btn {
  position: absolute;
  top: 120px;
  right: calc((100% - 1500px) / 2);
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

@media screen and (max-width: 1599px) {
  .section.section__service .section__service__btn {
    right: calc((100% - 1100px) / 2);
  }
}

@media screen and (max-width: 1199px) {
  .section.section__service .section__service__btn {
    right: calc((100% - 800px) / 2);
  }
}

@media screen and (max-width: 849px) {
  .section.section__service .section__service__btn {
    top: 130px;
    right: calc((100% - 540px) / 2);
  }
}

@media screen and (max-width: 599px) {
  .section.section__service .section__service__btn {
    top: 100px;
    right: calc((100% - 90%) / 2);
  }
}

.section.section__service .section__service__btn .c-btn__link {
  border-color: transparent;
}

.section.section__service .section__parts__design10 {
  grid-template-columns: calc(50% - 50px) 50%;
}

.section.section__service .section__block__lib {
  margin-top: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.section.section__service .section__service__bg {
  position: absolute;
  width: 100%;
  top: 80px;
  left: 0;
  z-index: -1;
}

.section.section__service .section__service__bg svg .svg-elem-1 {
  stroke-dashoffset: 7361.181640625px;
  stroke-dasharray: 7361.181640625px;
  -webkit-transition: stroke-dashoffset 3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  transition: stroke-dashoffset 3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}

.section.section__service .section__service__bg svg.active .svg-elem-1 {
  stroke-dashoffset: 0;
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}

.scroll-infinity__list--left {
  animation: infinity-scroll-left 200s infinite linear 0.5s both;
}

.scroll-infinity__item {
  width: 16.6666666667%;
}

.scroll-infinity__item>img {
  width: 100%;
}

.scroll-infinity__item--text {
  white-space: nowrap;
  font-size: 10rem;
  color: #fff;
}

@media screen and (max-width: 849px) {
  .scroll-infinity__item--text {
    font-size: 8rem;
  }
}

.home .page-title__feature {
  gap: 0;
  grid-template-rows: 300px auto;
}

@media screen and (max-width: 1199px) {
  .home .page-title__feature {
    margin-top: 200px;
  }
}

.home .fv__copy,
.home .fv__copy--sub {
  animation: fvCopy 0.5s forwards 1s;
  letter-spacing: -0.01rem;
  transform: translateX(-500px);
  opacity: 0;
}

@-webkit-keyframes fvCopy {
  0% {
    letter-spacing: -0.01rem;
    transform: translateX(-500px);
    opacity: 0;
  }

  50% {
    letter-spacing: -0.01rem;
    opacity: 0.5;
  }

  100% {
    letter-spacing: normal;
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes fvCopy {
  0% {
    letter-spacing: -0.01rem;
    transform: translateX(-500px);
    opacity: 0;
  }

  50% {
    letter-spacing: -0.01rem;
    opacity: 0.5;
  }

  100% {
    letter-spacing: normal;
    transform: translateX(0);
    opacity: 1;
  }
}

.home .pageTitle .page-title__wrapper .page-title .page-title__img {
  animation: fvImg 0.5s forwards 1.5s;
  opacity: 0;
  aspect-ratio: 16/9;
}

.home .pageTitle .page-title__wrapper .page-title .page-title__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@-webkit-keyframes fvImg {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  70% {
    transform: scale(0.5);
    opacity: 0.5;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes fvImg {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  70% {
    transform: scale(0.5);
    opacity: 0.5;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.home .fv__bg__top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 1;
}

@media screen and (max-width: 849px) {
  .home .fv__bg__top {
    top: 70px;
  }
}

.home .fv__bg__top svg .svg-elem-1 {
  stroke-dashoffset: 4802px;
  stroke-dasharray: 4802px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 2s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
  transition: stroke-dashoffset 2s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
}

.home .fv__bg__top svg.active .svg-elem-1 {
  stroke-dashoffset: 9604px;
  fill: rgb(217, 217, 217);
}

.home .fv__bg__top svg .svg-elem-2 {
  stroke-dashoffset: 2121.8557128906px;
  stroke-dasharray: 2121.8557128906px;
  -webkit-transition: stroke-dashoffset 2s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0.12s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
  transition: stroke-dashoffset 2s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0.12s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
}

.home .fv__bg__top svg.active .svg-elem-2 {
  stroke-dashoffset: 4243.7114257813px;
}

.home .fv__gb__bottom {
  display: flex;
  justify-content: flex-end;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 0;
  overflow: hidden;
}

@media screen and (max-width: 599px) {
  .home .fv__gb__bottom {
    top: 70px;
  }
}

.home .fv__gb__bottom svg {
  object-fit: cover;
}

.home .fv__gb__bottom svg .svg-elem-1 {
  stroke-dashoffset: 4802px;
  stroke-dasharray: 4802px;
  -webkit-transition: stroke-dashoffset 2s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0s;
  transition: stroke-dashoffset 2s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0s;
}

.home .fv__gb__bottom svg.active .svg-elem-1 {
  stroke-dashoffset: 9604px;
}

.home .fv__gb__bottom svg .svg-elem-2 {
  stroke-dashoffset: 1946.76953125px;
  stroke-dasharray: 1946.76953125px;
  -webkit-transition: stroke-dashoffset 2s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0.12s;
  transition: stroke-dashoffset 2s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0.12s;
}

.home .fv__gb__bottom svg.active .svg-elem-2 {
  stroke-dashoffset: 3893.5390625px;
}

.home .page-title__wrapper {
  position: relative;
  z-index: 2;
}

.home .page-title__wrapper.page-title01__wrapper {
  width: 100%;
}

.home .page-title__feature.page-title01__feature {
  display: flex;
  flex-direction: column;
  margin: 150px auto 90px;
  width: 94%;
  max-width: 94%;
  max-width: 1500px;
  position: relative;
}

@media screen and (max-width: 1199px) {
  .home .page-title__feature.page-title01__feature {
    margin: 150px auto 50px;
  }
}

@media screen and (max-width: 849px) {
  .home .page-title__feature.page-title01__feature {
    margin: 150px auto 0;
  }
}

@media screen and (max-width: 599px) {
  .home .page-title__feature.page-title01__feature {
    margin: 100px auto 0;
  }
}

.home .page-title__feature.page-title01__feature .scroll-area {
  width: 55px;
  text-align: left;
  position: absolute;
  top: 180px;
  right: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  height: 130px;
}

@media screen and (max-width: 1199px) {
  .home .page-title__feature.page-title01__feature .scroll-area {
    top: 130px;
  }
}

@media screen and (max-width: 849px) {
  .home .page-title__feature.page-title01__feature .scroll-area {
    top: 170px;
    right: 10px;
  }
}

@media screen and (max-width: 599px) {
  .home .page-title__feature.page-title01__feature .scroll-area {
    top: 140px;
    right: 0;
  }
}

.home .page-title__feature.page-title01__feature .scroll {
  color: var(--text_color);
  font-size: 1.6rem;
  font-weight: 600;
  transform: rotate(90deg);
}

@media screen and (max-width: 599px) {
  .home .page-title__feature.page-title01__feature .scroll {
    font-size: 1.2rem;
  }
}

.home .page-title__feature.page-title01__feature .bar {
  content: "";
  width: 1px;
  height: 100px;
  background-color: var(--text_color);
  margin-top: 10px;
  animation: bar 1.5s linear infinite;
  animation-fill-mode: forwards;
}

@keyframes bar {
  0% {
    height: 0;
  }

  50% {
    height: 65px;
  }

  100% {
    height: 100px;
  }
}

.home .page-title {
  width: 100%;
}

.home .page-title__title--main {
  display: none;
}

.home .page-title__text.page-title01__text .fv__copy {
  font-size: clamp(2.5rem, 2.143rem + 1.524vw, 4rem);
  font-weight: 600;
  line-height: 1.5;
}

.home .page-title__text.page-title01__text .fv__copy--sub {
  color: var(--main_color);
  margin-top: 50px;
  text-shadow: 1px 1px 0 var(--bg_color), -1px 1px 0 var(--bg_color), -1px -1px 0 var(--bg_color), 1px -1px 0 var(--bg_color);
}

.home .page-title__img.page-title01__img {
  margin: 0 auto;
  width: 900px;
  height: auto;
  width: 96%;
  max-width: 1500px;
  overflow: hidden;
}

.home .page-title__img.page-title01__img {
  border-radius: var(--radius_pc);
  overflow: hidden;
}

@media screen and (max-width: 849px) {
  .home .page-title__img.page-title01__img {
    border-radius: var(--radius_tab);
  }
}

@media screen and (max-width: 599px) {
  .home .page-title__img.page-title01__img {
    border-radius: var(--radius_sp);
  }
}

.home .page-title__img.page-title01__img img {
  object-fit: contain;
}

.home .section.section__feature {
  position: relative;
  padding: 0;
}

.home .section.section__feature .section__inner {
  width: 90%;
  max-width: 1500px;
  gap: 0;
}

@media screen and (max-width: 1599px) {
  .home .section.section__feature .section__inner {
    margin-top: 0;
    padding-top: 0;
  }
}

.home .section.section__feature .section__parts__left,
.home .section.section__feature .section__parts__img {
  width: 47%;
}

@media screen and (max-width: 849px) {

  .home .section.section__feature .section__parts__left,
  .home .section.section__feature .section__parts__img {
    width: 100%;
  }
}

.home .section.section__feature .section__parts {
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.home .section.section__feature .section__parts__title {
  padding-left: 0;
  font-weight: bold;
  font-size: clamp(2rem, 1.524rem + 2.032vw, 4rem);
}

.home .section.section__feature .section__parts__title::after,
.home .section.section__feature .section__parts__title::before {
  display: none;
}

.home .section.section__feature .section__parts__subtitle {
  font-weight: bold;
  color: var(--accent_color);
  font-size: clamp(1.6rem, 1.505rem + 0.406vw, 2rem);
}

.home .section.section__feature .section__parts__img {
  aspect-ratio: auto;
  transform: translateY(300px) scale(0);
  transition: all 0.5s ease-in-out 0.2s;
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 849px) {
  .home .section.section__feature .section__parts__img {
    width: 100%;
    justify-content: center;
  }
}

.home .section.section__feature .section__parts__img img {
  width: 100%;
  height: 700px;
  object-fit: contain;
}

@media screen and (max-width: 849px) {
  .home .section.section__feature .section__parts__img img {
    max-width: 500px;
    height: auto;
  }
}

.home .section.section__feature.active .section__parts__img {
  transform: translateY(0) scale(1);
}

.home .section.section__feature .section__block__lib,
.home .section.section__feature .section__line__bg {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  z-index: -1;
  transform: translate(0, -50%);
}

.home .section.section__feature .section__block__lib svg .svg-elem-1,
.home .section.section__feature .section__line__bg svg .svg-elem-1 {
  stroke-dashoffset: 2690.1015625px;
  stroke-dasharray: 2690.1015625px;
  -webkit-transition: stroke-dashoffset 2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  transition: stroke-dashoffset 2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}

.home .section.section__feature .section__block__lib svg.active .svg-elem-1,
.home .section.section__feature .section__line__bg svg.active .svg-elem-1 {
  stroke-dashoffset: 0;
}

.home .section.section__outside .section__inner {
  width: 100%;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1599px) {
  .home .section.section__outside .section__inner {
    width: 100%;
    max-width: 1100px;
  }
}

@media screen and (max-width: 1199px) {
  .home .section.section__outside .section__inner {
    width: 100%;
    max-width: 800px;
  }
}

@media screen and (max-width: 849px) {
  .home .section.section__outside .section__inner {
    width: 100%;
    max-width: 540px;
  }
}

@media screen and (max-width: 599px) {
  .home .section.section__outside .section__inner {
    width: 100%;
    max-width: 90%;
  }
}

.home .section.section__outside .section__parts {
  position: relative;
  max-width: 1100px;
  margin: 80px auto 0;
  background-color: #fff;
  padding: 20px 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

@media screen and (max-width: 1199px) {
  .home .section.section__outside .section__parts {
    padding: 20px 50px;
  }
}

@media screen and (max-width: 849px) {
  .home .section.section__outside .section__parts {
    padding: 50px 30px;
    gap: 30px;
    flex-direction: column;
  }
}

.home .section.section__outside .section__parts .section__parts__title {
  margin-top: 0;
}

.home .section.section__outside .section__parts .section__parts__editor,
.home .section.section__outside .section__parts a.section__outside__link {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 5;
  top: 0;
  left: 0;
}

.home .section.section__outside .section__parts .section__parts__title {
  order: 2;
  font-size: clamp(1.6rem, 1.362rem + 1.016vw, 2.6rem);
}

.home .section.section__outside .section__parts .section__parts__text {
  order: 3;
}

.home .section.section__outside .section__parts .section__parts__img {
  order: 1;
}

.home .section.section__answer {
  padding: 0 0 80px;
  width: 90%;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}

.home .section.section__answer .section__parts__wrapper {
  margin-top: 0;
}

.home .section.section__answer .section__parts__title {
  text-align: left;
  font-weight: bold;
  padding: 0;
  line-height: 1.5;
  font-size: clamp(2rem, 1.524rem + 2.032vw, 4rem);
}

.home .section.section__answer .section__parts__title::before,
.home .section.section__answer .section__parts__title::after {
  display: none;
}

.home .section.section__answer .section__parts__subtitle {
  text-align: left;
  color: var(--text_color);
  font-weight: bold;
  margin-top: 10px;
  font-size: clamp(1.6rem, 1.505rem + 0.406vw, 2rem);
}

.home .section.section__answer .section__parts__text {
  text-align: left;
  margin-top: 20px;
}

@media screen and (max-width: 849px) {
  .home .section.section__answer .section__parts {
    overflow-x: scroll;
  }
}

.home .section.section__answer .section__block__lib {
  width: 100%;
  aspect-ratio: auto;
  margin-top: 20px;
  padding: 50px;
  background: linear-gradient(91.2deg, #D1F7F0 -1.07%, #E4FAFD 48.76%, #D9E6EA 99.59%);
  border: 2px solid #DAE1E0;
  border-radius: 10px;
}

.home .section.section__answer .section__block__lib p {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 849px) {
  .home .section.section__answer .section__block__lib p {
    flex-direction: column;
  }
}

@media screen and (max-width: 849px) {
  .home .section.section__answer .section__block__lib {
    padding: 20px;
  }
}

.home .section.section__answer .section__block__lib img {
  height: auto;
  object-fit: contain;
}

.home .section.section__answer .section__block__lib .section__answer__img--01 {
  width: calc(58% - 75px);
  transform: translateY(300px) scale(0);
  transition: all 0.8s ease-in-out 0.2s;
}

@media screen and (max-width: 849px) {
  .home .section.section__answer .section__block__lib .section__answer__img--01 {
    width: 100%;
    max-width: 500px;
  }
}

.home .section.section__answer .section__block__lib .section__answer__img--02 {
  width: calc(42% - 75px);
  transform: translateY(300px) scale(0);
  transition: all 0.8s ease-in-out 0.5s;
}

@media screen and (max-width: 849px) {
  .home .section.section__answer .section__block__lib .section__answer__img--02 {
    width: 100%;
    max-width: 500px;
  }
}

.home .section.section__answer.active .section__answer__img--01,
.home .section.section__answer.active .section__answer__img--02 {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.home .section.section__data {
  background-color: var(--main_color);
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.home .section.section__data .section__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 50px;
  width: 100%;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1599px) {
  .home .section.section__data .section__inner {
    width: 100%;
    max-width: 1100px;
  }
}

@media screen and (max-width: 1199px) {
  .home .section.section__data .section__inner {
    width: 100%;
    max-width: 800px;
  }
}

@media screen and (max-width: 849px) {
  .home .section.section__data .section__inner {
    width: 100%;
    max-width: 540px;
  }
}

@media screen and (max-width: 599px) {
  .home .section.section__data .section__inner {
    width: 100%;
    max-width: 90%;
  }
}

@media screen and (max-width: 849px) {
  .home .section.section__data .section__inner {
    flex-direction: column;
  }
}

.home .section.section__data .section__block__title {
  width: auto;
  position: relative;
  z-index: 5;
}

.home .section.section__data .section__parts__wrapper {
  position: relative;
  z-index: 5;
  margin-top: 0;
}

.home .section.section__data .section__block__title__text {
  color: #fff;
  background: none;
  -webkit-background-clip: text;
  -webkit-text-fill-color: initial;
  background-clip: text;
  text-fill-color: initial;
}

.home .section.section__data .section__block__title--subtitle {
  color: #fff;
}

.home .section.section__data .section__block__lib {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  z-index: 1;
  transform: translate(0, -50%);
}

.home .section.section__data .section__data__countup {
  display: flex;
  gap: 50px;
  flex-wrap: wrap;
  color: #fff;
}

.home .section.section__data .section__data__countup .item-list {
  border: 3px solid #6ad3be;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  padding: 40px 20px;
  width: calc((60% - 100px) / 2);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  opacity: 0;
  transform: translateY(200px);
  transition: all 0.5s ease-out 0.5s;
}

.home .section.section__data .section__data__countup .item-list .item-list__h4 {
  line-height: 1;
}

@media screen and (max-width: 849px) {
  .home .section.section__data .section__data__countup .item-list {
    width: calc(50% - 25px);
  }
}

.home .section.section__data .section__data__countup .item-list .small {
  font-size: 90%;
}

.home .section.section__data .section__data__countup .item-list .number {
  font-size: 300%;
  line-height: 1;
}

.home .section.section__data .section__data__countup .item-list .unit {
  font-size: 150%;
}

.home .section.section__data .section__data__countup .item-list:first-of-type {
  width: 40%;
}

@media screen and (max-width: 849px) {
  .home .section.section__data .section__data__countup .item-list:first-of-type {
    width: 100%;
  }
}

.home .section.section__data .section__data__countup .item-list:first-of-type .number {
  font-size: 500%;
}

.home .section.section__data .section__data__countup h3 {
  color: #fff;
  font-size: 180%;
}

.home .section.section__data .section__data__countup h4 {
  color: #fff;
  font-size: 130%;
}

.home .section.section__data.active .section__data__countup .item-list {
  opacity: 1;
  transform: translateY(0);
}

.home .section__top__sdgs .section__inner {
  grid-template-columns: 2fr 1fr;
  grid-template-rows: auto auto;
  gap: 0 50px;
  grid-template-areas: "block_title block_free" "parts_wrapper block_free";
}

@media screen and (max-width: 849px) {
  .home .section__top__sdgs .section__inner {
    display: flex;
    flex-direction: column;
    margin-top: 0;
    padding-top: 0;
    gap: 30px 0;
  }
}

.home .section__top__sdgs .section__block__lib {
  grid-area: block_free;
  margin-top: 0;
  overflow: hidden;
}

.home .section__top__sdgs .section__block__lib img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
  border-radius: 16px;
}

@media screen and (max-width: 849px) {
  .home .section__top__sdgs .section__block__lib {
    order: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 350px;
    border-radius: 8px;
  }

  .home .section__top__sdgs .section__block__lib p {
    width: 100%;
  }
}

.home .section__top__sdgs .section__parts__wrapper {
  align-items: flex-start;
  margin-top: 0;
  gap: 0;
}

@media screen and (max-width: 849px) {
  .home .section__top__sdgs .section__parts__wrapper {
    order: 3;
  }
}

.home .section__top__sdgs .section__parts {
  display: flex;
}

.home .section__top__sdgs .section__parts__left {
  flex: 2;
}

.home .section__top__sdgs .section__parts__img {
  flex: 1;
}

.home .section__top__sdgs .section__block__title {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
}

@media screen and (max-width: 849px) {
  .home .section__top__sdgs .section__block__title {
    order: 1;
  }
}

.home .section__top__sdgs .section__parts__title {
  font-size: 3.6rem;
  line-height: 1.5;
  padding-left: 0;
}

.home .section__top__sdgs .section__parts__title::before,
.home .section__top__sdgs .section__parts__title::after {
  display: none;
}

@media screen and (max-width: 849px) {
  .home .section__top__sdgs .section__parts__title {
    font-size: 3rem;
  }
}

@media screen and (max-width: 599px) {
  .home .section__top__sdgs .section__parts__title {
    font-size: 2.6rem;
  }
}

.home .section__top__sdgs .c-btn__link {
  border: 1px solid var(--main_color);
}

.home .top-cms__wrapper {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)), linear-gradient(96.8deg, #3AB099 -1.17%, #4ED0E1 49.07%, #3AADE3 100.72%);
}

.home .top-cms__wrapper .top-cms {
  grid-template-rows: auto auto;
  grid-template-areas: "cms_title cms_list" "cms_link cms_list";
}

@media screen and (max-width: 1599px) {
  .home .top-cms__wrapper .top-cms {
    grid-template-areas: "cms_title cms_link" "cms_list cms_list";
  }
}

@media screen and (max-width: 849px) {
  .home .top-cms__wrapper .top-cms__content {
    border: none;
  }
}

.home .top-cms__wrapper .top-cms02__list {
  border-top: none;
}

@media screen and (max-width: 1599px) {
  .home .top-cms__wrapper .top-cms__link {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}

.home .top-cms__wrapper .top-cms__title--main,
.home .top-cms__wrapper .top-cms__title--sub {
  color: #fff;
}

.home .top-cms__wrapper .top-cms__cat {
  display: none;
}

.home .top-cms__wrapper .top-cms__post {
  display: flex;
  padding: 20px 0;
  border-top: 1px solid #fff;
}

.home .top-cms__wrapper .top-cms__post:hover .top-cms02__post__title a {
  color: #fff;
}

@media screen and (max-width: 849px) {
  .home .top-cms__wrapper .top-cms__post {
    padding: 15px 0 10px;
    display: grid;
    gap: 10px;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    grid-template-areas: "post__data post__cat" "post__title post__title";
  }
}

.home .top-cms__post__cat {
  order: 2;
  display: flex;
  align-items: center;
}

.home .top-cms__post__cat a {
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
  width: 100%;
  padding: 5px auto;
}

.home .top-cms__post__cat a:hover {
  background-color: #fff;
  color: var(--main_color);
  border-color: var(--main_color);
}

@media screen and (max-width: 849px) {
  .home .top-cms__post__cat {
    order: initial;
    grid-area: post__cat;
    justify-content: flex-end;
  }
}

.home .top-cms__post__data {
  order: 1;
  color: #fff;
}

@media screen and (max-width: 849px) {
  .home .top-cms__post__data {
    order: initial;
    grid-area: post__data;
    text-align: left;
  }
}

.home .top-cms__post__title {
  order: 3;
  flex: 1;
}

@media screen and (max-width: 849px) {
  .home .top-cms__post__title {
    order: initial;
    grid-area: post__title;
  }
}

.home .top-cms__post__title a {
  color: #fff;
  display: flex;
  width: 100%;
  justify-content: space-between;
  position: relative;
}

.home .top-cms__post__title a:hover::before {
  width: 100%;
  transition: width 0.4s;
}

.home .top-cms__post__title a:hover::after {
  background-image: url(../images/arrow-white.svg);
  background-color: transparent;
  transform: all 0.4s;
}

.home .top-cms__post__title a::before {
  transition: width 0.4s;
  content: "";
  width: 0;
  height: 1px;
  background-color: #fff;
  position: absolute;
  left: 0;
  bottom: -5px;
}

.home .top-cms__post__title a::after {
  transform: all 0.4s;
  width: 34px;
  height: 34px;
  border-radius: 20px;
  content: "";
  background: url(../images/arrow-green.svg) no-repeat center;
  background-color: #fff;
}

.sdgs__copy {
  padding: 100px 0 0;
  display: flex;
  flex-direction: column;
  gap: 80px;
  width: 100%;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1599px) {
  .sdgs__copy {
    width: 100%;
    max-width: 1100px;
  }
}

@media screen and (max-width: 1199px) {
  .sdgs__copy {
    width: 100%;
    max-width: 800px;
  }
}

@media screen and (max-width: 849px) {
  .sdgs__copy {
    width: 100%;
    max-width: 540px;
  }
}

@media screen and (max-width: 599px) {
  .sdgs__copy {
    width: 100%;
    max-width: 90%;
  }
}

@media screen and (max-width: 849px) {
  .sdgs__copy {
    padding: 80px 0 40px;
    gap: 30px;
  }
}

.sdgs__copy .sdgs__copy--main {
  color: var(--main_color);
  font-size: clamp(2.4rem, 1.924rem + 2.032vw, 4.4rem);
  line-height: 1.2;
}

.sdgs__copy .sdgs__copy--sub {
  font-size: clamp(1.5rem, 1.379rem + 0.518vw, 2rem);
  width: 60%;
  margin-left: 40%;
}

@media screen and (max-width: 849px) {
  .sdgs__copy .sdgs__copy--sub {
    width: 100%;
    margin-left: 0;
  }
}

.section.section__page__sdgs .section__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1599px) {
  .section.section__page__sdgs .section__inner {
    width: 100%;
    max-width: 1100px;
  }
}

@media screen and (max-width: 1199px) {
  .section.section__page__sdgs .section__inner {
    width: 100%;
    max-width: 800px;
  }
}

@media screen and (max-width: 849px) {
  .section.section__page__sdgs .section__inner {
    width: 100%;
    max-width: 540px;
  }
}

@media screen and (max-width: 599px) {
  .section.section__page__sdgs .section__inner {
    width: 100%;
    max-width: 90%;
  }
}

.section.section__page__sdgs .section__parts__wrapper {
  max-width: 1100px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.section.section__page__sdgs .section__parts {
  width: calc(50% - 10px);
  display: flex;
  flex-direction: column;
  background-color: #fff;
  padding: 30px;
  gap: 20px;
}

.section.section__page__sdgs .section__parts {
  border-radius: var(--radius_pc);
  overflow: hidden;
}

@media screen and (max-width: 849px) {
  .section.section__page__sdgs .section__parts {
    border-radius: var(--radius_tab);
  }
}

@media screen and (max-width: 599px) {
  .section.section__page__sdgs .section__parts {
    border-radius: var(--radius_sp);
  }
}

@media screen and (max-width: 849px) {
  .section.section__page__sdgs .section__parts {
    width: 100%;
  }
}

.section.section__page__sdgs .section__parts__title {
  margin-top: 0;
  line-height: 1.3;
}

.section.section__page__sdgs .section__parts__subtitle {
  color: var(--text_color);
}

.section.section__page__sdgs .section__parts__text {
  flex-grow: 1;
}

.section.section__page__concept .section__block__lib {
  line-height: 1;
  bottom: -15px;
}

.section.section__guideline .section__parts__wrapper {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  flex-direction: row;
}

.section.section__guideline .section__parts {
  width: calc(50% - 25px);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media screen and (max-width: 849px) {
  .section.section__guideline .section__parts {
    width: 100%;
  }
}

.section.section__guideline .section__parts__title {
  margin-top: 0;
}

.section.section__guideline .section__parts__img {
  height: auto;
  aspect-ratio: 3/2;
}

.section.section__overview .section__parts__dd iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 2/1;
}

.section.section__overview .section__parts__dt,
.section.section__overview .section__parts__dd {
  border-color: #fff;
}

.page-service .section.section__service .section__inner {
  display: grid;
  gap: 0 80px;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  grid-template-areas: "title title" "wrapper wrapper";
}

@media screen and (max-width: 849px) {
  .page-service .section.section__service .section__inner .section__parts__title {
    order: 1;
  }
}

@media screen and (max-width: 849px) {
  .page-service .section.section__service .section__inner .section__parts__subtitle {
    order: 2;
  }
}

@media screen and (max-width: 849px) {
  .page-service .section.section__service .section__inner .section__parts__text {
    order: 3;
  }
}

@media screen and (max-width: 849px) {
  .page-service .section.section__service .section__inner .section__parts__img {
    order: 5;
    margin-top: 20px;
  }
}

.page-service .section.section__service .section__inner .section__parts__img img {
  object-fit: cover;
}

.page-service .section.section__service .section__inner .section__parts__link {
  margin: 20px auto;
}

@media screen and (max-width: 849px) {
  .page-service .section.section__service .section__inner .section__parts__link {
    order: 4;
  }
}

.page-service .section.section__service .section__inner .section__parts__link .c-btn__link {
  border: 1px solid var(--main_color);
}

.section.section__merit .section__parts__title {
  margin-top: 0;
  letter-spacing: 0;
  font-size: clamp(1.8rem, 1.705rem + 0.406vw, 2.2rem);
  color: var(--text_color);
  line-height: 1.2;
  padding-left: 0;
  position: relative;
  leading-trim: both;
  text-edge: cap;
  /* グラデーション */
  background: none;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
  background-clip: initial;
  text-fill-color: initial;
}

.section.section__merit .section__parts__title::before,
.section.section__merit .section__parts__title::after {
  display: none;
}

.section.section__merit .section__parts__img img {
  object-fit: contain;
}

.section.section__merit .section__block__lib {
  width: 100%;
  display: flex;
  justify-content: center;
}

.section.section__merit .c-btn__link {
  border: 1px solid var(--main_color);
}

.section.section__aboutTraining .section__inner {
  width: 100%;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1599px) {
  .section.section__aboutTraining .section__inner {
    width: 100%;
    max-width: 1100px;
  }
}

@media screen and (max-width: 1199px) {
  .section.section__aboutTraining .section__inner {
    width: 100%;
    max-width: 800px;
  }
}

@media screen and (max-width: 849px) {
  .section.section__aboutTraining .section__inner {
    width: 100%;
    max-width: 540px;
  }
}

@media screen and (max-width: 599px) {
  .section.section__aboutTraining .section__inner {
    width: 100%;
    max-width: 90%;
  }
}

@media screen and (max-width: 849px) {
  .section.section__aboutTraining .section__inner {
    width: 100% !important;
    max-width: 540px !important;
  }
}

@media screen and (max-width: 599px) {
  .section.section__aboutTraining .section__inner {
    width: 100% !important;
    max-width: 90% !important;
  }
}

@media screen and (max-width: 849px) {
  .section.section__aboutTraining .section__parts__wrapper {
    flex-direction: column;
  }
}

.section.section__aboutTraining .section__parts__img {
  aspect-ratio: 4/3;
}

.section.section__aboutTraining .section__parts__img img {
  object-fit: contain;
}

.ctaForm04 .ctaForm__form__wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 30px;
}

.ctaForm04 label {
  color: var(--main_color);
}

.ctaForm04 .ctaForm__privacypolicy,
.ctaForm04 .submit-btn {
  width: 100%;
  display: flex;
  justify-content: center;
}

.ctaForm04 .submit-btn input[type=submit] {
  width: 250px;
  border-radius: 30px;
  background-color: var(--main_color);
  color: #fff;
  transition: all 0.3s;
}

.ctaForm04 .submit-btn input[type=submit]:hover {
  background-color: #fff;
  color: var(--main_color);
  transition: all 0.3s;
}

.ctaForm04 .wpcf7-spinner {
  display: none;
}

.blog {
  background-color: var(--bg_color);
}

.blog .cms__wrapper {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url(../images/wave_03.svg);
  background-color: #fff;
  padding-top: 100px;
}

.blog .page-title__wrapper+.cms__wrapper {
  margin-top: 0;
}

.blog .cms__pagination span.page-numbers.current,
.blog .cms__pagination a.page-numbers.current {
  border-radius: 4px;
}

.blog .cms__pagination span.page-numbers,
.blog .cms__pagination a.page-numbers {
  border-radius: 4px;
  background-color: var(--bg_color);
  color: var(--main_color);
}

.blog .cms__pagination span.page-numbers.next,
.blog .cms__pagination span.page-numbers.prev,
.blog .cms__pagination a.page-numbers.next,
.blog .cms__pagination a.page-numbers.prev {
  background-color: #fff;
}

.cms__post .cms__post__data {
  width: 100px;
}

.cms__post .cms__post__cat {
  width: 160px;
}

.cms__post .cms__post__cat .cat__link {
  width: 160px;
  line-height: 2.8rem;
  height: 30px;
  padding: 0 30px;
  background-color: var(--main_color);
  color: #fff;
  border-color: var(--main_color);
}

@media screen and (max-width: 849px) {
  .cms__post .cms__post__cat .cat__link {
    width: 120px;
    line-height: 1.8rem;
    height: 20px;
  }
}

/*# sourceMappingURL=theme.css.map */