@charset "UTF-8";
@media (max-width: 639px) {
  .pc-only {
    display: none !important;
  }
}

@media (min-width: 640px) {
  .sp-only {
    display: none !important;
  }
}

body {
  font-family: "ryo-gothic-plusn", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  font-size: 17px;
  line-height: 1.88235;
  overflow-x: hidden;
}

@media (max-width: 639px) {
  body {
    font-size: 3.97196vw;
  }
}

.inner {
  max-width: 1200px;
  margin: 0 auto;
}

@media (min-width: 640px) {
  .inner {
    padding: 0 40px;
    box-sizing: content-box !important;
  }
}

@media (max-width: 1024px) {
  .inner {
    padding: 0 30px;
  }
}

@media (max-width: 639px) {
  .inner {
    padding: 0 7.00935vw;
  }
}

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

.en {
  font-family: "Outfit", sans-serif;
}

p,
a {
  font-size: 17px;
  letter-spacing: 0.02em;
}

.page-container {
  width: 100%;
  overflow: hidden;
  padding-top: 0;
  margin-top: 100px;
}

@media (max-width: 639px) {
  .page-container {
    margin-top: 50px;
  }
}

.page-container.main-top {
  padding-top: 0;
  margin-top: 50px;
}

@media (max-width: 639px) {
  .page-container.main-top {
    margin-top: 0;
  }
}

.page-container.main-page {
  position: relative;
  top: 0;
  margin-top: 60px;
}

@media (max-width: 639px) {
  .page-container.main-page {
    margin-top: 35px;
  }
}

.en-title {
  color: #727272;
  font-size: 30px;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}

@media (max-width: 639px) {
  .en-title {
    font-size: 14px;
  }
}

.content-wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 202px 40px 46px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 60px;
}

@media (max-width: 639px) {
  .content-wrap {
    padding: 147px 20px 54px;
  }
}

.content-wrap .top-text {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  margin-bottom: 115px;
}

@media (max-width: 639px) {
  .content-wrap .top-text {
    font-size: 18px;
    line-height: 1.6666666667;
    margin-bottom: 105px;
  }
}

.content-wrap .text-m {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  margin-bottom: 35px;
}

@media (max-width: 639px) {
  .content-wrap .text-m {
    font-size: 18px;
    line-height: 1.6666666667;
  }
}

.content-wrap .text-s {
  font-size: 14px;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
}

@media (max-width: 639px) {
  .content-wrap .text-s {
    font-size: 12px;
    line-height: 1.6666666667;
  }
}

.content-wrap p {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.1em;
}

@media (max-width: 639px) {
  .content-wrap p {
    font-size: 14px;
    line-height: 2.1428571429;
  }
}

.content-wrap h1 {
  font-size: 35px;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 58px;
}

@media (max-width: 639px) {
  .content-wrap h1 {
    font-size: 28px;
    margin-bottom: 37px;
  }
}

.content-wrap h2 {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 46px;
}

@media (max-width: 639px) {
  .content-wrap h2 {
    font-size: 24px;
    margin-bottom: 37px;
  }
}

.content-wrap h3 {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 35px;
}

@media (max-width: 639px) {
  .content-wrap h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
}

.content-wrap h4 {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}

@media (max-width: 639px) {
  .content-wrap h4 {
    font-size: 14px;
    line-height: 2.1428571429;
  }
}

.content-wrap .list__item {
  margin-top: 35px;
  margin-bottom: 58px;
}

.content-wrap .list__item figure {
  margin-top: 35px !important;
}

@media (max-width: 639px) {
  .content-wrap .list__item figure {
    margin-top: 30px !important;
  }
}

.content-wrap .list__item img {
  width: 100%;
}

.template-section {
  margin-bottom: 115px;
}

@media (max-width: 639px) {
  .template-section {
    margin-bottom: 105px;
  }
}

.template-section .vertical-img {
  max-width: 320px;
  width: 100%;
  flex-shrink: 0;
  border-radius: 7px;
  overflow: hidden;
}

@media (max-width: 639px) {
  .template-section .vertical-img {
    max-width: 100%;
  }
}

.template-section .vertical-img img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 320px;
  height: 359px;
}

@media (max-width: 639px) {
  .template-section .vertical-img img {
    width: 100%;
    height: 270px;
  }
}

.template-section__flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 58px;
}

@media (min-width: 640px) {
  .template-section__flex {
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 639px) {
  .template-section__flex {
    flex-direction: column;
    gap: 30px;
  }
}

.template-section__flex:last-of-type {
  margin-bottom: 0;
}

.template-section__flex--2 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 35px;
  gap: 45px;
}

@media (max-width: 639px) {
  .template-section__flex--2 {
    flex-direction: column;
  }
}

.template-section__flex--2 p {
  margin-top: 35px;
}

.template-section__flex--2 img {
  width: 100%;
  max-width: 362px;
}

.template-section__flex--2:last-of-type {
  margin-bottom: 0;
}

.price__item {
  margin-bottom: 31px;
}

.price__item:last-of-type {
  margin-bottom: 0;
}

.text-caution {
  margin-top: 16px;
}

.price-about {
  margin-top: 30px;
}

.price-about p {
  margin-bottom: 20px;
}

.price-about p:last-of-type {
  margin-bottom: 0;
}

.wp-block-table td,
.wp-block-table th {
  border: none !important;
  padding: 0.5em;
}

@media (max-width: 639px) {
  .wp-block-table tr {
    flex-direction: column;
    display: flex;
  }
}

.wp-block-table tr td:nth-of-type(1) {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
}

@media (max-width: 639px) {
  .wp-block-table tr td:nth-of-type(1) {
    font-size: 14px;
  }
}

.wp-block-table tr td:nth-of-type(2) {
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0.1em;
}

@media (max-width: 639px) {
  .wp-block-table tr td:nth-of-type(2) {
    font-size: 14px;
    line-height: 2.8571428571;
  }
}

.wp-block-table .has-fixed-layout {
  table-layout: fixed;
  width: 100%;
  border: none;
  border-spacing: 0;
}

.section-price {
  border: dotted 1px #707070;
  padding: 22px 39px 16px;
}

@media (max-width: 639px) {
  .section-price {
    padding: 16px 20px 20px;
  }
}

@media (max-width: 639px) {
  .section-price h3 {
    font-size: 14px;
  }
}

.flex-text {
  max-width: 580px;
}

@media (max-width: 639px) {
  .flex-text {
    max-width: 100%;
  }
}

.page-pamphlet__content {
  width: 80%;
}

@media (max-width: 639px) {
  .page-pamphlet__content {
    width: 100%;
  }
}

.page-pamphlet__menu {
  width: 20%;
}

@media (max-width: 639px) {
  .page-pamphlet__menu {
    display: none;
  }
}

.page-pamphlet__menu .menu__item {
  margin-bottom: 26px;
}

.page-pamphlet__menu .menu__item:last-of-type {
  margin-bottom: 0;
}

.page-pamphlet__menu .menu-title {
  font-size: 15px;
  font-weight: bold;
}

.page-pamphlet__menu .menu-list li a {
  font-size: 13px;
}

.works-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 44px;
  column-gap: 44px;
  row-gap: 35px;
}

@media (max-width: 639px) {
  .works-list {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.works-list .works-text {
  margin-top: 10px;
}

.works-list .works-title {
  font-size: 20px;
  letter-spacing: 0.1em;
}

@media (max-width: 639px) {
  .works-list .works-title {
    font-size: 16px;
  }
}

.works-list .category-tag-wrap {
  margin-top: 9px;
}

.blog-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 44px;
  column-gap: 44px;
  row-gap: 35px;
}

@media (max-width: 639px) {
  .blog-list {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.blog-list .blog-text {
  margin-top: 23px;
}

.blog-list .text-xs {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.1em;
}

@media (max-width: 639px) {
  .blog-list .text-xs {
    font-size: 12px;
  }
}

.blog-list .text-lg {
  font-size: 20px;
  font-weight: normal;
  letter-spacing: 0.1em;
  margin-top: 10px;
}

@media (max-width: 639px) {
  .blog-list .text-lg {
    font-size: 14px;
    margin-top: 14px;
  }
}

.blog-list .blog-img img {
  height: 190px;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.blog-list .category-tag-wrap {
  margin-top: 9px;
}

.more-btn-wrap {
  margin-top: 35px;
}

@media (max-width: 639px) {
  .more-btn-wrap {
    margin-top: 40px;
  }
}

.more-btn {
  font-size: 18px;
  display: flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
}

@media (max-width: 639px) {
  .more-btn {
    font-size: 14px;
    letter-spacing: 0.1em;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.more-btn:hover .more-yazirushi::before {
  left: 55%;
}

.more-yazirushi {
  width: 44px;
  height: 44px;
  margin-left: 20px;
  border: 1px solid #292929;
  border-radius: 50%;
  display: block;
  position: relative;
  transition: left 0.3s ease;
}

.more-yazirushi:hover::before {
  left: 55%;
}

.more-yazirushi:before {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/arrow_more03.svg) no-repeat center center/contain;
  width: 16px;
  height: 12px;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
}

/* TOPページカスタマイズ */
.mv .front-bg-slick__item {
  position: relative;
}

.mv .front-bg-slick__item img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

@media (max-width: 639px) {
  .mv .front-bg-slick__item .arrow {
    width: 50px;
  }
}

.mv .front-bg-slick__item .button-main {
  position: relative;
  z-index: 10;
}

.mv .slick-dots {
  text-align: center;
  position: absolute;
  bottom: 20px;
  right: 50%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  display: none;
}

@media (max-width: 639px) {
  .mv .slick-dots {
    bottom: 10px;
  }
}

.mv .slick-dots li {
  display: inline-block;
  margin: 0 10px;
}

.mv .slick-dots button {
  color: transparent;
  outline: none;
  width: 25px;
  height: 25px;
  display: block;
  border-radius: 50%;
  background: #fff;
}

@media (max-width: 639px) {
  .mv .slick-dots button {
    width: 15px;
    height: 15px;
  }
}

.mv .slick-dots .slick-active button {
  background: #fff;
}

.header_title_logo {
  max-width: 190px;
  width: 100%;
}

@media (max-width: 639px) {
  .header_title_logo {
    max-width: 120px;
  }
}

.works__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 49px;
  gap: 2rem;
}

@media (max-width: 639px) {
  .works__list {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 2rem;
  }
}

.works__list li .works-img {
  max-width: 423px;
  width: 100%;
}

.works__list li .works-text {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

@media (max-width: 639px) {
  .works__list li .works-text {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}

.works__list .works-text .text-left {
  width: 20%;
}

@media (max-width: 639px) {
  .works__list .works-text .text-left {
    width: 25%;
  }
}

.works__list li .works-text p {
  font-size: 1.2rem;
  font-weight: 700;
  display: flex;
  gap: 0;
}

@media (max-width: 639px) {
  .works__list li .works-text p {
    font-size: 14px;
    justify-content: space-between;
  }
}

@media (max-width: 639px) {
  .works__list li .works-text p a {
    font-size: 14px;
  }
}

.works__list li .works-text p .text-right {
  width: 70%;
}

.works__list li .btn-wrap {
  font-size: 25px;
}

@media (max-width: 639px) {
  .works__list li .btn-wrap {
    font-size: 16px;
  }
}

.works__list li .btn-wrap .button-main {
  width: 100%;
  display: block;
}

/* MEMBER */
.page-member .headding-title {
  margin-top: 0;
}

.page-member .headding-title_sub {
  color: #000;
  font-weight: 700;
}

.page-member .headding-title_main {
  color: #000;
}

.page-member .member__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  row-gap: 4rem;
  -moz-column-gap: 2.5rem;
  column-gap: 2.5rem;
}

@media (max-width: 639px) {
  .page-member .member__list {
    grid-template-columns: 1fr 1fr;
    row-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
}

.page-member .member__list li {
  position: relative;
  transition: 0.3s;
  border: solid 5px rgba(33, 173, 56, 0);
}

.page-member .member__list li:hover {
  border: solid 5px #21AD38;
  opacity: 1;
}

.page-member .member__list li a {
  position: relative;
  display: block;
}

.name-box {
  background: #fff;
  padding: 0.9rem 1rem;
  max-width: 8.3rem;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -1px;
  pointer-events: none;
}

@media (max-width: 639px) {
  .name-box {
    max-width: 6.7rem;
    padding: 0.5rem 0.5rem;
  }
}

.name-box p {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
}

@media (max-width: 639px) {
  .name-box p {
    font-size: 13px;
    line-height: 1.6;
  }
}

/* インタビュー */
.page-interview .interview__inner {
  max-width: 1688px;
  margin: 0 auto;
}

.page-interview .innterview__box {
  display: flex;
  align-items: stretch;
}

@media (max-width: 639px) {
  .page-interview .innterview__box {
    flex-direction: column;
  }
}

.page-interview .innterview__box .box-img {
  width: 50%;
}

@media (max-width: 639px) {
  .page-interview .innterview__box .box-img {
    width: 100%;
  }
}

.page-interview .innterview__box .box-img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.page-interview .innterview__box .box-text {
  width: 50%;
  background: #F4F4F4;
  padding: 1rem 3rem;
}

@media (max-width: 639px) {
  .page-interview .innterview__box .box-text {
    width: 100%;
    padding: 0.9rem 1.5rem;
  }
}

.page-interview .innterview__box .box-text .box-title {
  color: #FFFFFF;
  font-size: 4.7rem;
  font-weight: bold;
  text-align: right;
}

@media (max-width: 639px) {
  .page-interview .innterview__box .box-text .box-title {
    font-size: 2.45rem;
  }
}

.page-interview .innterview__box .box-text .member-post {
  font-size: 1.4rem;
}

@media (max-width: 639px) {
  .page-interview .innterview__box .box-text .member-post {
    font-size: 1.15rem;
  }
}

.page-interview .innterview__box .box-text .member-name {
  font-size: 2.1rem;
  font-weight: bold;
}

@media (max-width: 639px) {
  .page-interview .innterview__box .box-text .member-name {
    font-size: 1.45rem;
  }
}

.page-interview .innterview__box .box-text .like {
  margin-top: 9rem;
  font-size: 1.4rem;
  width: 100%;
}

@media (min-width: 640px) {
  .page-interview .innterview__box .box-text .like {
    gap: 1rem;
  }
}

@media (max-width: 639px) {
  .page-interview .innterview__box .box-text .like {
    margin-top: 1rem;
    font-size: 1rem;
  }
}

.page-interview .innterview__box .box-text .like tr {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 639px) {
  .page-interview .innterview__box .box-text .like tr {
    margin-bottom: 1rem;
    flex-direction: column;
    align-items: flex-start;
  }
}

.page-interview .interview__faq {
  max-width: 1403px;
  margin: 0 auto 0;
}

.page-interview .q-title {
  font-size: 1.8rem;
  color: #26AB3A;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
}

@media (max-width: 639px) {
  .page-interview .q-title {
    font-size: 1.25rem;
  }
}

.page-interview .img-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  margin-top: 5rem;
}

@media (max-width: 639px) {
  .page-interview .img-list {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 2rem;
  }
}

.page-interview .a-img {
  margin-top: 5rem;
}

.page-interview .a-img img {
  width: 100%;
}

.page-interview .question__item {
  margin-bottom: 8rem;
}

@media (max-width: 639px) {
  .page-interview .question__item {
    margin-bottom: 3rem;
  }
}

.page-interview .question__item:last-of-type {
  margin-bottom: 0;
}

.page-interview .interview__other {
  margin-top: 10rem;
}

@media (max-width: 639px) {
  .page-interview .interview__other {
    margin-top: 2rem;
    margin-bottom: 4rem;
  }
}

.page-interview .interview__other .interview__other__innter {
  max-width: 1400px;
  margin: 0 auto 0;
}

.page-interview .interview__slider {
  margin-top: 4rem;
}

@media (max-width: 639px) {
  .page-interview .interview__slider {
    margin-top: 2rem;
  }
}

.page-interview .interview__slider li a {
  position: relative;
  display: block;
}

.page-interview .interview__slider li img {
  width: 100%;
}

.page-interview .interview__slider .slick-slide {
  margin: 0 1rem;
}

@media (max-width: 639px) {
  .page-interview .interview__slider .slick-slide {
    margin: 0 0.5rem;
  }
}

.page-interview .slick-prev,
.page-interview .slick-next {
  position: absolute;
  top: 42%;
  cursor: pointer;
  outline: none;
  height: 4rem;
  width: 4rem;
  background-size: contain;
  z-index: 10;
}

@media (max-width: 639px) {
  .page-interview .slick-prev,
  .page-interview .slick-next {
    width: 2rem;
    height: 2rem;
  }
}

.page-interview .slick-prev {
  left: 5%;
  background-image: url(./img/slider-prev.svg);
}

.page-interview .slick-next {
  right: 5%;
  background-image: url(./img/slider-next.svg);
}

/* service */
.home-service .flow-list {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  margin-top: 33px;
  gap: 20px;
}

@media (max-width: 639px) {
  .home-service .flow-list {
    flex-direction: column;
  }
}

.home-service .flow-list li {
  background: #fff;
  border-radius: 25px;
  padding: 25px 15px;
  position: relative;
  width: calc(100%/6);
}

@media (max-width: 639px) {
  .home-service .flow-list li {
    width: 100%;
  }
}

.home-service .flow-list li::after {
  content: "";
  position: absolute;
  background-size: contain;
  background-image: url(./img/flow-arrow.svg);
  width: 39px;
  height: 32px;
  right: -16%;
  top: 50%;
  bottom: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

@media (max-width: 639px) {
  .home-service .flow-list li::after {
    bottom: -16%;
    top: inherit;
    left: 50%;
    right: 50%;
    transform: translateX(-50%);
    background-image: url(./img/flow-arrow-sp.svg);
    width: 26px;
  }
}

.home-service .flow-list li:last-child::after {
  display: none;
}

.home-service .flow-list li h4 {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  position: relative;
  z-index: 1;
}

.home-service .flow-list li p {
  font-size: 14px;
  font-weight: 500;
  line-height: calc(24/18);
  margin-top: 30px;
  position: relative;
  z-index: 1;
}

.home-service .flow-list li .more-btn {
  display: flex;
  align-items: center;
  font-size: 13px;
  gap: 7px;
  margin-top: 25px;
}

.home-service .flow-list li .num {
  font-size: 130px;
  font-weight: 900;
  color: #F4F4F4;
  position: absolute;
  transform: translateY(-50%) translateX(-50%);
  top: 50%;
  bottom: 50%;
  left: 50%;
  right: 50%;
  width: fit-content;
  height: fit-content;
}

.section-title {
  font-weight: 400;
  margin-bottom: 30px;
  line-height: 1.4;
  color: #292929;
}

.section-title .en {
  font-size: 12px;
  letter-spacing: 0.03em;
}

@media (max-width: 639px) {
  .section-title .en {
    font-size: 2.80374vw;
  }
}

.section-title .jp {
  display: block;
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 0.02em;
}

@media (max-width: 639px) {
  .section-title .jp {
    font-size: 6.07477vw;
  }
}

.loading-container__inner .top-kv2 {
  margin-bottom: 4rem;
}

.loading-container__inner .top-kv2 {
  margin-bottom: 2rem;
}

.more-btn-wrap--works {
  margin-top: 50px;
}

@media (max-width: 639px) {
  .more-btn-wrap--works {
    margin-top: 50px;
  }
}

.more-btn-wrap--works .more-btn {
  font-size: 20px;
}

@media (max-width: 639px) {
  .more-btn-wrap--works .more-btn {
    font-size: 18px;
  }
}

/* header 
--------------------*/
.header {
  height: 95px;
  padding: 0 60px;
}

@media (max-width: 1400px) {
  .header {
    padding: 0 30px;
  }
}

@media (max-width: 639px) {
  .header {
    height: 67px;
    padding: 0 15px;
  }
}

.header_title_logo {
  max-width: 180px;
}

@media (max-width: 1400px) {
  .header_title_logo {
    max-width: 160px;
  }
}

@media (max-width: 639px) {
  .header_title_logo {
    max-width: 130px;
  }
}

.header-menu {
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: flex-end;
}

.header-menu_download {
  font-size: 15px;
  letter-spacing: 0.02em;
  font-weight: 500;
  display: block;
  padding: 0 50px 0 22px;
  border: 1px solid #292929;
  border-radius: 24px;
  height: 48px;
  line-height: 48px;
  margin-right: 18px;
  position: relative;
}

@media (max-width: 1400px) {
  .header-menu_download {
    font-size: 13px;
    padding: 0 35px 0 15px;
    margin-right: 10px;
  }
}

@media (max-width: 1100px) {
  .header-menu_download {
    display: none;
  }
}

.header-menu_download:after {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/download.svg) no-repeat center center/contain;
  width: 19px;
  height: 15px;
  top: 50%;
  transform: translateY(-50%);
  right: 22px;
}

@media (max-width: 1400px) {
  .header-menu_download:after {
    right: 10px;
  }
}

.header-menu_contact {
  font-size: 15px;
  letter-spacing: 0.02em;
  font-weight: 500;
  background-color: #FF4141;
  color: #fff;
  border-radius: 24px;
  display: block;
  padding: 11.45px 27px;
}

@media (max-width: 1400px) {
  .header-menu_contact {
    font-size: 13px;
    padding: 10px 15px;
  }
}

@media (max-width: 1100px) {
  .header-menu_contact {
    display: none;
  }
}

.header-menu_contact span {
  margin-left: 8px;
  background: #C42B0C;
  border-radius: 12px;
  padding: 5px 12px;
  white-space: nowrap;
}

@media (max-width: 1400px) {
  .header-menu_contact span {
    margin-left: 5px;
  }
}

@media (min-width: 1101px) {
  .header-menu_togglebtn_erea {
    display: none !important;
  }
}

@media (min-width: 1101px) {
  .header-menu_togglebtn {
    display: none !important;
  }
}

@media (min-width: 640px) and (max-width: 1100px) {
  .header-menu_togglebtn span {
    width: 95px;
    height: 95px;
  }
}

.header-nav {
  height: 100%;
}

@media (max-width: 1100px) {
  .header-nav {
    display: none;
  }
}

.header-nav ul {
  display: flex;
  align-items: center;
  height: 100%;
}

.header-nav ul li {
  margin-right: 37px;
  height: 100%;
  display: flex;
  align-items: center;
}

@media (max-width: 1400px) {
  .header-nav ul li {
    margin-right: 20px;
  }
}

.header-nav ul li a {
  font-size: 15px;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  height: 100%;
}

@media (max-width: 1400px) {
  .header-nav ul li a {
    font-size: 13px;
  }
}

.header-nav ul li.has-child {
  position: relative;
  padding-right: 22px;
}

@media (max-width: 1400px) {
  .header-nav ul li.has-child {
    padding-right: 15px;
  }
}

.header-nav ul li.has-child::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 5px;
  background: transparent url(./img/svg/arrow_down.svg) no-repeat center center/contain;
}

.header-nav ul li.has-child:hover .child {
  opacity: 1;
  visibility: visible;
}

.header-nav ul li.has-child02 {
  position: relative;
  cursor: pointer;
}

.header-nav ul li.has-child02 a {
  height: 100%;
}

.header-nav ul li.has-child02:hover .child02 {
  opacity: 1;
  visibility: visible;
}

.header-nav ul li .child {
  position: fixed;
  top: 95px;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 4;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
  background: #fff;
  padding: 30px 50px 50px;
}

.header-nav ul li .child-inner {
  display: flex;
  align-items: center;
  margin: 0 auto;
  width: fit-content;
}

.header-nav ul li .child-title {
  font-size: 24px;
  font-weight: 700;
  white-space: nowrap;
  padding-right: 50px;
  margin-right: 40px;
  border-right: 1px solid #D5D5D5;
  line-height: 1.75;
}

.header-nav ul li .child-title span {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.03em;
  display: block;
}

.header-nav ul li .child-menu {
  align-items: flex-start;
}

.header-nav ul li .child-menu h4 {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 15px;
}

.header-nav ul li .child-menu li {
  margin-right: 40px;
  height: auto;
  display: block;
}

.header-nav ul li .child-menu li:last-child {
  margin-right: 0;
}

.header-nav ul li .child-menu li a {
  font-size: 16px;
  font-weight: 400;
  display: block;
  padding-left: 15px;
  margin-bottom: 10px;
  position: relative;
}

.header-nav ul li .child-menu li a:last-child {
  margin-bottom: 0;
}

.header-nav ul li .child-menu li a::before {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/arrow_right_gray.svg) no-repeat center center/contain;
  width: 5px;
  height: 10px;
  top: 8px;
  left: 0;
}

.header-nav ul li .child02 {
  position: absolute;
  top: 95px;
  left: 50%;
  transform: translateX(-50%);
  width: fit-content;
  z-index: 4;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
  background: #fff;
  padding: 10px 40px 20px;
}

.header-nav ul li .child02 ul {
  display: block;
}

.header-nav ul li .child02 ul li {
  margin-right: 0;
  margin-bottom: 20px;
  display: block;
  height: fit-content;
}

.header-nav ul li .child02 ul li:last-child {
  margin-bottom: 0;
}

.header-nav ul li .child02 ul li a {
  height: fit-content;
  white-space: nowrap;
}

.header-nav ul li .child02 ul li ul {
  height: fit-content;
  display: block;
  margin-top: 20px;
}

.header-nav ul li .child02 ul li ul li {
  display: block;
}

.header-nav ul li .child02 ul li ul li a {
  position: relative;
  padding: 0 21px 0 14px;
}

.header-nav ul li .child02 ul li ul li a::before {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/arrow_right_gray.svg) no-repeat center center/contain;
  width: 4px;
  height: 8px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.header-nav ul li .child02 ul li ul li a::after {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/ex.svg) no-repeat center center/contain;
  width: 11px;
  height: 11px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.nav-parent {
  width: 100%;
  padding: 0 20px;
  margin-bottom: 50px !important;
}

.nav-parent li {
  margin-bottom: 30px;
}

.nav-parent li.nav-service .has-child {
  margin-top: 15px;
}

.nav-parent li.nav-service .has-child-inner a {
  color: #9F9F9F;
}

.nav-parent li a {
  color: #fff;
  font-size: 18px;
}

.nav-parent .has-child a {
  display: block;
}

.nav-parent .has-child-inner {
  position: relative;
  display: block;
  padding-right: 40px;
}

.nav-parent .has-child-inner::after {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/plus_wh.svg) no-repeat center center/contain;
  width: 13px;
  height: 14px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 639px) {
  .nav-parent .has-child-inner.is-open::after {
    background-image: url(./img/svg/minus_wh.svg);
  }
}

.nav-parent .child {
  display: none;
}

.nav-parent .child ul {
  padding-top: 15px;
  padding-left: 20px;
}

.nav-parent .child ul li {
  margin-bottom: 15px;
}

.nav-parent .child ul li a {
  font-size: 16px;
}

.nav-parent .ex {
  position: relative;
  padding-right: 21px;
  width: fit-content;
}

.nav-parent .ex::after {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/ex_wh.svg) no-repeat center center/contain;
  width: 11px;
  height: 11px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.nav-tel {
  text-align: center;
  color: #fff;
  margin-bottom: 30px;
}

.nav-tel-number {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #fff;
}

@media (max-width: 639px) {
  .nav-tel-number {
    font-size: 4.6729vw;
  }
}

.nav-tel-number span {
  font-size: 33px;
  margin-left: 5px;
  letter-spacing: 0.07em;
}

@media (max-width: 639px) {
  .nav-tel-number span {
    font-size: 7.71028vw;
    margin-left: 2.80374vw;
  }
}

.nav-tel-info {
  font-size: 14px;
}

.nav_download {
  display: block;
  margin-bottom: 20px;
  background: #fff;
  border-radius: 30px;
  padding: 17.5px 15px;
  text-align: center;
}

.nav_download span {
  position: relative;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-right: 30px;
  width: fit-content;
  margin: 0 auto;
}

.nav_download span:after {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/download.svg) no-repeat center center/contain;
  width: 19px;
  height: 15px;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.nav-btn {
  display: block;
  border-radius: 30px;
  color: #fff;
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-btn.nav-contact {
  background: #FF4141;
  margin-bottom: 20px;
}

.nav-btn.nav-shindan {
  background: #009F99;
}

.nav-btn-inner {
  font-weight: 500;
  letter-spacing: 0.05em;
  width: 70%;
  text-align: center;
  padding: 15px;
  position: relative;
}

.nav-btn-inner::after {
  position: absolute;
  content: "";
  background: #fff;
  width: 1px;
  height: 100%;
  right: 0;
  top: 0;
}

.nav-btn-free {
  font-weight: bold;
  letter-spacing: 0.18em;
  width: 30%;
  text-align: center;
  padding: 15px;
}

@media (min-width: 640px) and (max-width: 1100px) {
  .nav-wrap {
    height: calc(100% - 15px);
    top: 20px;
  }
}

/* top mv
----------------------*/
.mv {
  margin-top: 100px;
  margin-bottom: 100px;
}

@media (max-width: 639px) {
  .mv {
    margin-top: 60px;
    margin-bottom: 80px;
  }
}

.mv .page-section__inner {
  display: flex;
}

@media (min-width: 640px) {
  .mv .page-section__inner {
    justify-content: space-between;
  }
}

@media (max-width: 1024px) {
  .mv .page-section__inner {
    flex-direction: column-reverse;
  }
}

@media (min-width: 640px) {
  .mv-inner {
    width: calc(470% / 1200 * 100);
  }
}

@media (max-width: 1024px) {
  .mv-inner {
    width: 100%;
  }
}

@media (min-width: 640px) {
  .mv-slide {
    width: calc(668% / 1200 * 100);
  }
}

@media (max-width: 1024px) {
  .mv-slide {
    width: 100%;
    margin-bottom: 50px;
  }
}

.mv-title {
  font-size: 35px;
  font-weight: bold;
  letter-spacing: 0.035em;
  line-height: 1.48571;
  margin-bottom: 30px;
}

@media (max-width: 1024px) {
  .mv-title {
    font-size: 29px;
  }
}

@media (max-width: 639px) {
  .mv-title {
    font-size: 6.7757vw;
  }
}

.mv-txt {
  font-size: 17px;
  line-height: 2;
  margin-bottom: 40px;
}

@media (min-width: 640px) {
  .mv-btn-wrapper {
    display: flex;
    justify-content: space-between;
  }
}

.mv-btn-wrapper a {
  font-size: 17px;
  font-weight: bold;
  letter-spacing: 0.03em;
  color: #fff;
  border-radius: 8px;
  text-align: center;
  display: block;
}

@media (min-width: 640px) {
  .mv-btn-wrapper a {
    width: calc(50% - 15px / 2);
    margin-right: 15px;
  }
}

.mv-btn-wrapper a:last-child {
  margin-right: 0;
}

.mv-btn-wrapper a.mv-sodan {
  background: #399D26;
  padding: 16.5px;
}

@media (max-width: 639px) {
  .mv-btn-wrapper a.mv-sodan {
    margin-bottom: 20px;
  }
}

.mv-btn-wrapper a.mv-sodan:hover {
  background: #359123;
}

.mv-btn-wrapper a.mv-sodan span {
  background: #fff;
  border-radius: 12px;
  color: #FF4141;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.18em;
  padding: 5px 12px;
  margin-left: 8px;
}

.mv-btn-wrapper a.mv-download {
  background: #009F99;
  padding: 16.5px 15px;
}

.mv-btn-wrapper a.mv-download:hover {
  background: #00948F;
}

@media (min-width: 640px) {
  .mv .front-bg-slick__item-inner {
    justify-content: space-between;
    display: flex;
  }
}

@media (min-width: 640px) {
  .mv .front-bg-slick__item-inner .mv-main {
    width: calc(435% / 688 * 100);
  }
}

@media (max-width: 639px) {
  .mv .front-bg-slick__item-inner .mv-main {
    margin-bottom: 7px;
  }
}

.mv .front-bg-slick__item-inner .mv-main div {
  display: block;
  position: relative;
}

.mv .front-bg-slick__item-inner .mv-main div::before {
  content: "";
  display: block;
  padding-top: calc(460 / 435 * 100%);
}

@media (max-width: 639px) {
  .mv .front-bg-slick__item-inner .mv-main div::before {
    padding-top: calc(346 / 369 * 100%);
  }
}

.mv .front-bg-slick__item-inner .mv-main div img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center center;
}

@media (min-width: 640px) {
  .mv .front-bg-slick__item-inner .mv-main div img {
    border-radius: 10px 0 0 10px;
  }
}

@media (max-width: 639px) {
  .mv .front-bg-slick__item-inner .mv-main div img {
    border-radius: 10px 10px 0 0;
  }
}

@media (min-width: 640px) {
  .mv .front-bg-slick__item-inner .mv-sub {
    width: calc(247% / 688 * 100);
  }
}

@media (max-width: 639px) {
  .mv .front-bg-slick__item-inner .mv-sub {
    display: flex;
    justify-content: space-between;
  }
}

.mv .front-bg-slick__item-inner .mv-sub div {
  position: relative;
  display: block;
}

@media (min-width: 640px) {
  .mv .front-bg-slick__item-inner .mv-sub div {
    margin-bottom: 6px;
  }
}

@media (max-width: 639px) {
  .mv .front-bg-slick__item-inner .mv-sub div {
    width: calc(50% - 7px / 2);
    margin-right: 7px;
  }
}

.mv .front-bg-slick__item-inner .mv-sub div::before {
  content: "";
  display: block;
  padding-top: calc(227 / 247 * 100%);
}

@media (max-width: 639px) {
  .mv .front-bg-slick__item-inner .mv-sub div::before {
    padding-top: calc(124 / 181 * 100%);
  }
}

.mv .front-bg-slick__item-inner .mv-sub div img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center center;
}

@media (min-width: 640px) {
  .mv .front-bg-slick__item-inner .mv-sub div:nth-child(1) img {
    border-radius: 0 10px 0 0;
  }
}

@media (max-width: 639px) {
  .mv .front-bg-slick__item-inner .mv-sub div:nth-child(1) img {
    border-radius: 0 0 0 10px;
  }
}

@media (min-width: 640px) {
  .mv .front-bg-slick__item-inner .mv-sub div:nth-child(2) {
    margin-bottom: 0;
  }
}

@media (max-width: 639px) {
  .mv .front-bg-slick__item-inner .mv-sub div:nth-child(2) {
    margin-right: 0;
  }
}

@media (min-width: 640px) {
  .mv .front-bg-slick__item-inner .mv-sub div:nth-child(2) img {
    border-radius: 0 0 10px 0;
  }
}

@media (max-width: 639px) {
  .mv .front-bg-slick__item-inner .mv-sub div:nth-child(2) img {
    border-radius: 0 0 10px 0;
  }
}

.mv .slick-dots {
  bottom: -40px;
}

.mv .slick-dots li.slick-active button::before {
  color: #292929;
}

.mv .slick-dots li button::before {
  width: 10px;
  height: 10px;
  font-size: 10px;
  color: #D5D5D5;
  opacity: 1;
}

/* top partner 
---------------------*/
.partner {
  margin-bottom: 100px;
}

@media (max-width: 639px) {
  .partner {
    margin-bottom: 75px;
  }
}

.partner .partner-list {
  display: flex;
  flex-wrap: wrap;
}

@media (min-width: 640px) {
  .partner .partner-list div {
    width: calc(20% - 10px * 4 / 5);
    margin-right: 10px;
    margin-bottom: 10px;
  }
}

@media (max-width: 639px) {
  .partner .partner-list div {
    width: calc(50% - 7px / 2);
    margin-right: 7px;
    margin-bottom: 7px;
  }
}

@media (min-width: 640px) {
  .partner .partner-list div:nth-child(5n) {
    margin-right: 0;
  }
}

@media (max-width: 639px) {
  .partner .partner-list div:nth-child(2n) {
    margin-right: 0;
  }
}

.partner .more-btn {
  margin-left: auto;
}

@media (max-width: 639px) {
  .partner .more-btn {
    margin-right: 0;
  }
}

/* top interview
-----------------*/
.top-interview {
  margin-top: -100px;
  padding-top: 100px;
  margin-bottom: 100px;
}

@media (max-width: 639px) {
  .top-interview {
    margin-top: -70px;
    padding-top: 70px;
    margin-bottom: 80px;
  }
}

.top-interview-txt {
  font-size: 17px;
  line-height: 1.88235;
  margin-bottom: 50px;
}

@media (min-width: 640px) {
  .top-interview-list {
    display: flex;
    flex-wrap: wrap;
  }
}

@media (min-width: 640px) {
  .top-interview-list li {
    width: calc(33.3333% - 48px * 2 / 3);
    margin-right: 48px;
    margin-bottom: 40px;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .top-interview-list li {
    width: calc(33.3333% - 30px * 2 / 3);
    margin-right: 30px;
  }
}

@media (max-width: 639px) {
  .top-interview-list li {
    margin-bottom: 30px;
  }
}

.top-interview-list li:nth-child(3n) {
  margin-right: 0;
}

@media (max-width: 639px) {
  .top-interview-list li:last-child {
    margin-bottom: 0;
  }
}

.top-interview-list-thumbnail {
  display: block;
  position: relative;
  margin-bottom: 15px;
}

.top-interview-list-thumbnail::before {
  content: "";
  display: block;
  padding-top: calc(233 / 368 * 100%);
}

.top-interview-list-thumbnail img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center center;
  border-radius: 8px;
}

.top-interview-name {
  font-size: 14px;
  margin-bottom: 15px;
}

.top-interview-title {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #D5D5D5;
  font-feature-settings: "palt";
}

.top-interview-info table {
  width: 100%;
}

.top-interview-info table tr td {
  padding-bottom: 15px;
}

@media (max-width: 639px) {
  .top-interview-info table tr td {
    padding-bottom: 10px;
  }
}

.top-interview-info table tr td:nth-child(1) {
  color: #93AD68;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.03em;
  white-space: nowrap;
  padding-right: 19px;
  position: relative;
}

.top-interview-info table tr td:nth-child(1)::after {
  position: absolute;
  content: "";
  background: #93AD68;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  right: 8px;
  top: 12px;
}

.top-interview-info table tr td:nth-child(2) {
  width: 100%;
  font-size: 16px;
}

@media (max-width: 639px) {
  .top-interview-info table tr td:nth-child(2) {
    font-size: 14px;
  }
}

/* top service
-----------------*/
.top-service {
  padding: 100px 0 60px;
  background: #F5F5F5;
}

@media (max-width: 639px) {
  .top-service {
    padding: 80px 0;
  }
}

.top-service-txt {
  font-size: 17px;
  line-height: 1.88235;
  margin-bottom: 60px;
}

@media (min-width: 640px) {
  .top-service-list {
    display: flex;
    flex-wrap: wrap;
  }
}

.top-service-list li {
  background: #fff;
  border: 1px solid #292929;
  border-radius: 8px;
}

@media (min-width: 640px) {
  .top-service-list li {
    width: calc(50% - 60px / 2);
    margin-right: 60px;
    margin-bottom: 40px;
    padding: 40px 40px 40px 55px;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .top-service-list li {
    width: calc(50% - 30px / 2);
    margin-right: 30px;
    margin-bottom: 30px;
    padding: 30px 15px 30px 30px;
  }
}

@media (max-width: 639px) {
  .top-service-list li {
    margin-bottom: 30px;
  }
}

.top-service-list li:nth-child(2n) {
  margin-right: 0;
}

@media (max-width: 639px) {
  .top-service-list li:last-child {
    margin-bottom: 0;
  }
}

.top-service-list li a {
  position: relative;
  display: block;
}

@media (min-width: 640px) {
  .top-service-list li a {
    padding-right: 40px;
  }
}

@media (max-width: 639px) {
  .top-service-list li a {
    padding: 30px 5.37383vw 90px;
  }
}

@media (min-width: 640px) {
  .top-service-list-inner {
    padding-right: 50px;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .top-service-list-inner {
    padding-right: 30px;
  }
}

.top-service-list-title {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 25px;
}

@media (max-width: 639px) {
  .top-service-list-title {
    font-size: 5.60748vw;
    margin-bottom: 15px;
  }
}

.top-service-list-txt {
  font-size: 17px;
  line-height: 1.88235;
}

@media (max-width: 639px) {
  .top-service-list-txt {
    font-size: 16px;
  }
}

.top-service-list-yazirushi {
  position: absolute;
}

@media (min-width: 640px) {
  .top-service-list-yazirushi {
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media (max-width: 639px) {
  .top-service-list-yazirushi {
    right: 5.37383vw;
    bottom: 20px;
  }
}

/* top advantage
-----------------*/
.top-advantage {
  margin-bottom: 100px !important;
}

@media (max-width: 639px) {
  .top-advantage {
    margin-bottom: 80px !important;
  }
}

.top-advantage .page-section__inner {
  margin-top: -15.33333vw;
  position: relative;
  z-index: 2;
}

@media (max-width: 639px) {
  .top-advantage .page-section__inner {
    margin-top: -19.62617vw;
  }
}

.top-advantage-bg {
  border-radius: 8px;
  border: 27px solid #F2F2F2;
  background: #fff;
  padding: 100px 77px;
}

@media (min-width: 640px) {
  .top-advantage-bg {
    display: flex;
    justify-content: space-between;
    gap: 30px;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .top-advantage-bg {
    padding: 70px 30px;
  }
}

@media (max-width: 639px) {
  .top-advantage-bg {
    border: 11px solid #F2F2F2;
    padding: 11.68224vw 7.00935vw 14.01869vw;
  }
}

@media (min-width: 640px) {
  .top-advantage-inner {
    width: calc(653% / 1023 * 100);
  }
}

@media (min-width: 640px) {
  .top-advantage-list {
    padding-top: 10px;
    margin-bottom: 50px;
  }
}

@media (max-width: 639px) {
  .top-advantage-list {
    margin-bottom: 40px;
  }
}

.top-advantage-list li {
  border-bottom: 1px solid #D5D5D5;
  padding-bottom: 25px;
  margin-bottom: 30px;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

@media (max-width: 639px) {
  .top-advantage-list li {
    font-size: 18px;
  }
}

.top-advantage-list li:last-child {
  margin-bottom: 0;
}

.top-advantage-list li span {
  color: #8D8D8D;
  font-size: 14px;
  letter-spacing: 0.03em;
  display: block;
  margin-bottom: 5px;
}

.top-advantage-btn-wrapper {
  display: flex;
}

@media (min-width: 640px) {
  .top-advantage-btn-wrapper {
    flex-wrap: wrap;
  }
}

@media (max-width: 1024px) {
  .top-advantage-btn-wrapper {
    flex-direction: column;
    justify-content: flex-end;
  }
}

@media (min-width: 640px) {
  .top-advantage-btn-wrapper a {
    margin-right: 100px;
  }
}

@media (max-width: 1024px) {
  .top-advantage-btn-wrapper a {
    margin-right: 0;
    margin-bottom: 40px;
  }
}

.top-advantage-btn-wrapper a:last-child {
  margin-right: 0;
  margin-bottom: 0;
}

/* top topics 
-----------------*/
.top-topics {
  margin-bottom: 100px;
}

@media (max-width: 639px) {
  .top-topics {
    margin-bottom: 80px;
  }
}

@media (max-width: 639px) {
  .top-topics .list {
    gap: 50px;
  }
}

.top-topics .list .flex div {
  display: block;
  position: relative;
}

.top-topics .list .flex div::before {
  content: "";
  display: block;
  padding-top: calc(233 / 368 * 100%);
}

.top-topics .list .flex div img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center center;
  border-radius: 8px;
}

.top-topics .list p {
  font-size: 14px;
  margin-bottom: 20px;
}

.top-topics .list h3 {
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 30px;
}

.top-topics .list ul li {
  font-size: 12px;
  letter-spacing: 0.03em;
  background: #F5F5F5;
  border-radius: 5px;
  font-weight: 400;
}

.top-topics .more-btn {
  margin-left: auto;
}

@media (max-width: 639px) {
  .top-topics .more-btn {
    margin-right: 0;
  }
}

/* eyecatch
----------------*/
.eyecatch {
  background: #F4FAF6;
  padding: 50px 0 10px;
  margin-bottom: 50px;
  position: relative;
}

@media (max-width: 639px) {
  .eyecatch {
    padding: 17.52336vw 0 2.33645vw;
  }
}

.eyecatch:after {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/baloon.svg) no-repeat center center/contain;
  width: 393px;
  height: 347px;
  bottom: 5px;
  right: 60px;
}

@media (max-width: 1024px) {
  .eyecatch:after {
    width: 300px;
    height: 265px;
  }
}

@media (max-width: 639px) {
  .eyecatch:after {
    width: 58.41121vw;
    height: 53.03738vw;
    right: 0;
  }
}

.eyecatch-inner {
  position: relative;
  z-index: 1;
}

.eyecatch .page-title {
  font-weight: 500;
}

@media (max-width: 1024px) {
  .eyecatch .page-title {
    margin-bottom: 15px;
    line-height: 1.4;
  }
}

@media (max-width: 639px) {
  .eyecatch .page-title {
    margin-bottom: 7.00935vw;
  }
}

.eyecatch .page-title .en {
  font-size: 62px;
  letter-spacing: 0;
  margin-right: 25px;
}

@media (max-width: 1024px) {
  .eyecatch .page-title .en {
    display: block;
  }
}

@media (max-width: 639px) {
  .eyecatch .page-title .en {
    font-size: 11.21495vw;
  }
}

.eyecatch .page-title .jp {
  font-size: 22px;
}

@media (max-width: 639px) {
  .eyecatch .page-title .jp {
    font-size: 4.20561vw;
  }
}

.eyecatch-desc {
  font-size: 17px;
  line-height: 1.88235;
  margin-bottom: 50px;
}

@media (max-width: 639px) {
  .eyecatch-desc {
    margin-bottom: 7.00935vw;
  }
}

@media (min-width: 640px) {
  .eyecatch-btn {
    display: flex;
    margin-bottom: 50px;
  }
}

@media (max-width: 639px) {
  .eyecatch-btn {
    margin-bottom: 10.51402vw;
  }
}

.eyecatch-btn a {
  margin-right: 10px;
  display: block;
  border-radius: 8px;
  width: fit-content;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.03em;
  padding: 11px 48px;
}

@media (max-width: 639px) {
  .eyecatch-btn a {
    margin-right: 0;
    padding: 2.57009vw 11.21495vw;
    font-size: 3.97196vw;
  }
}

.eyecatch-btn-contact {
  background: #359123;
  padding: 11px 46.5px 11px 47.5px;
}

@media (max-width: 639px) {
  .eyecatch-btn-contact {
    margin-bottom: 2.33645vw;
    padding: 2.57009vw 10.86449vw 2.57009vw 11.09813vw;
  }
}

.eyecatch-btn-contact .free {
  margin-left: 8px;
  background: #fff;
  border-radius: 12px;
  padding: 5px 12px;
  color: #FF4141;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.18em;
}

@media (max-width: 639px) {
  .eyecatch-btn-contact .free {
    margin-left: 1.86916vw;
    padding: 1.16822vw 2.80374vw;
    font-size: 3.50467vw;
  }
}

.eyecatch-btn-download {
  background: #00948F;
}

/* breadcrumb 
----------------*/
.breadcrumb a,
.breadcrumb span {
  font-size: 12px;
}

.breadcrumb .dot {
  display: inline-block;
  width: 24px;
  position: relative;
}

.breadcrumb .dot:after {
  position: absolute;
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #93AD68;
  top: -6.5px;
  left: 10px;
}

/* features-about
-----------------*/
.features-about {
  margin-top: 130px;
  margin-bottom: 130px;
}

@media (max-width: 639px) {
  .features-about {
    margin-top: 18.69159vw;
    margin-bottom: 18.69159vw;
  }
}

.features-about-title {
  font-size: 35px;
  font-weight: bold;
  letter-spacing: 0.035em;
}

@media (max-width: 639px) {
  .features-about-title {
    font-size: 6.07477vw;
  }
}

/* features-thinking
-----------------*/
.features-thinking {
  margin-bottom: 114px;
}

@media (max-width: 639px) {
  .features-thinking {
    margin-bottom: 18.69159vw;
  }
}

.features-thinking-title {
  margin-bottom: 50px;
}

@media (max-width: 639px) {
  .features-thinking-title {
    margin-bottom: 30px;
  }
}

@media (min-width: 640px) {
  .features-thinking-wrapper {
    display: flex;
    justify-content: space-between;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .features-thinking-wrapper {
    flex-direction: column;
  }
}

.features-thinking-bg {
  border: 12px solid #F2F2F2;
  border-radius: 8px;
  padding: 50px 40px 50px 65px;
}

@media (min-width: 640px) {
  .features-thinking-bg {
    width: 50%;
  }
}

@media (max-width: 1024px) {
  .features-thinking-bg {
    width: 100%;
    padding: 30px;
    margin-bottom: 30px;
  }
}

@media (max-width: 639px) {
  .features-thinking-bg {
    padding: 4.6729vw 3.50467vw;
  }
}

.features-thinking-subtitle {
  font-size: 16px;
  margin-bottom: 30px;
}

@media (max-width: 639px) {
  .features-thinking-subtitle {
    font-size: 3.73832vw;
    margin-bottom: 3.50467vw;
  }
}

.features-thinking-list li {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 30px;
  padding-left: 23px;
  position: relative;
}

@media (max-width: 639px) {
  .features-thinking-list li {
    font-size: 4.20561vw;
    margin-bottom: 2.33645vw;
    padding-left: 4.6729vw;
  }
}

.features-thinking-list li::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2CA939;
  left: 2px;
  top: 11px;
}

@media (max-width: 639px) {
  .features-thinking-list li::before {
    width: 1.86916vw;
    height: 1.86916vw;
    left: 0.46729vw;
    top: 2.1028vw;
  }
}

.features-thinking-list li:last-child {
  margin-bottom: 0;
}

@media (min-width: 640px) {
  .features-thinking-inner {
    width: calc(520% / 1200 * 100);
  }
}

@media (max-width: 1024px) {
  .features-thinking-inner {
    width: 100%;
  }
}

/* features-difference
-----------------*/
.features-difference {
  padding: 100px 0 60px;
  background: #F4FAF6;
}

@media (max-width: 639px) {
  .features-difference {
    padding: 18.69159vw 0 11.68224vw;
  }
}

.features-difference-title {
  margin-bottom: 50px;
}

@media (min-width: 640px) {
  .features-difference-list {
    display: flex;
    flex-wrap: wrap;
  }
}

.features-difference-list li {
  background: #fff;
  border: 1px solid #93AD68;
  border-radius: 8px;
  padding: 0 25px 43px;
}

@media (min-width: 640px) {
  .features-difference-list li {
    width: calc(33.3333% - 40px * 2 / 3);
    margin-right: 40px;
    margin-bottom: 40px;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .features-difference-list li {
    width: calc(50% - 40px / 2);
  }
}

@media (max-width: 639px) {
  .features-difference-list li {
    margin-bottom: 7.00935vw;
    padding: 0 5.84112vw 7.00935vw;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .features-difference-list li:nth-child(2n) {
    margin-right: 0;
  }
}

@media (min-width: 640px) {
  .features-difference-list li:nth-child(3n) {
    margin-right: 0;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .features-difference-list li:nth-child(3n) {
    margin-right: 40px;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .features-difference-list li:nth-child(6n) {
    margin-right: 0;
  }
}

.features-difference-list-number {
  color: #93AD68;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
  font-size: 24px;
  margin: 0 -20px;
}

@media (min-width: 1170px) {
  .features-difference-list-number {
    font-size: 31px;
  }
}

@media (max-width: 639px) {
  .features-difference-list-number {
    font-size: 5.60748vw;
  }
}

.features-difference-list-number.en {
  font-size: 32px;
}

@media (min-width: 1170px) {
  .features-difference-list-number.en {
    font-size: 45px;
  }
}

@media (max-width: 639px) {
  .features-difference-list-number.en {
    font-size: 7.47664vw;
  }
}

.features-difference-list-number .number {
  font-size: 58px;
  display: inline-block;
  margin: 0 4px;
}

@media (min-width: 1170px) {
  .features-difference-list-number .number {
    font-size: 66px;
  }
}

@media (max-width: 639px) {
  .features-difference-list-number .number {
    font-size: 11.21495vw;
  }
}

.features-difference-list-title {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 25px;
  display: flex;
  align-items: baseline;
}

@media (max-width: 639px) {
  .features-difference-list-title {
    font-size: 4.6729vw;
    margin-bottom: 3.50467vw;
  }
}

.features-difference-list-txt {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.875;
  font-feature-settings: "palt";
}

@media (max-width: 639px) {
  .features-difference-list-txt {
    font-size: 3.73832vw;
  }
}

/* features-download
-----------------*/
.features-download {
  margin-bottom: 114px;
}

@media (max-width: 639px) {
  .features-download {
    margin-bottom: 18.69159vw;
  }
}

.features-download-bg {
  border: 27px solid #F2F2F2;
  background: #fff;
  border-radius: 8px;
  padding: 0 0 0 49px;
  position: relative;
  margin-top: -20vw;
}

@media (min-width: 640px) {
  .features-download-bg {
    display: flex;
    justify-content: space-between;
  }
}

@media (max-width: 1200px) {
  .features-download-bg {
    padding: 30px 0 0;
    flex-direction: column;
  }
}

@media (max-width: 639px) {
  .features-download-bg {
    border: 12px solid #F2F2F2;
    margin-top: -11.68224vw;
  }
}

.features-download-inner {
  padding-top: 30px;
}

@media (min-width: 640px) {
  .features-download-inner {
    width: 48%;
  }
}

@media (max-width: 1200px) {
  .features-download-inner {
    width: 100%;
    margin-bottom: 45px;
    padding: 0 30px;
  }
}

@media (max-width: 639px) {
  .features-download-inner {
    padding: 0 4.6729vw;
  }
}

@media (min-width: 640px) {
  .features-download-img {
    width: 48%;
  }
}

@media (max-width: 1200px) {
  .features-download-img {
    width: 100%;
  }
}

.features-download-img img {
  width: 100%;
}

.features-download-title {
  margin-bottom: 40px;
}

@media (max-width: 639px) {
  .features-download-title {
    margin-bottom: 30px;
  }
}

.features-download-txt01 {
  font-size: 17px;
  line-height: 1.88235;
  margin-bottom: 10px;
}

@media (max-width: 639px) {
  .features-download-txt01 {
    font-size: 3.97196vw;
  }
}

.features-download-txt02 {
  font-size: 16px;
  line-height: 1.875;
  margin-bottom: 30px;
}

@media (max-width: 639px) {
  .features-download-txt02 {
    font-size: 3.73832vw;
    margin-bottom: 7.00935vw;
  }
}

.features-download-subtitle {
  border-top: 1px solid #D5D5D5;
  padding-top: 30px;
  font-size: 16px;
  line-height: 1.875;
  margin-bottom: 20px;
}

@media (max-width: 639px) {
  .features-download-subtitle {
    font-size: 3.73832vw;
    padding-top: 4.6729vw;
    margin-bottom: 4.6729vw;
  }
}

.features-download-list {
  margin-bottom: 40px;
}

.features-download-list li {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 20px;
  padding-left: 23px;
  position: relative;
}

@media (max-width: 639px) {
  .features-download-list li {
    font-size: 4.20561vw;
    margin-bottom: 2.33645vw;
    padding-left: 4.6729vw;
  }
}

.features-download-list li::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2CA939;
  left: 2px;
  top: 11px;
}

@media (max-width: 639px) {
  .features-download-list li::before {
    width: 1.86916vw;
    height: 1.86916vw;
    left: 0.46729vw;
    top: 1.86916vw;
  }
}

.features-download-list li:last-child {
  margin-bottom: 0;
}

.features-download-btn {
  background: #009F99;
  color: #fff;
  border-radius: 8px;
  display: block;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.03em;
  padding: 17.5px;
  max-width: 426px;
}

@media (max-width: 639px) {
  .features-download-btn {
    padding: 3.50467vw;
    margin: 0 auto;
  }
}

/* features-structure
-----------------*/
.features-structure {
  margin-bottom: 80px;
  padding: 85px 0;
  background: #F5F5F5;
}

@media (max-width: 639px) {
  .features-structure {
    padding: 18.69159vw 0;
    margin-bottom: 18.69159vw;
  }
}

.features-structure-list li {
  margin-bottom: 100px;
}

@media (min-width: 640px) {
  .features-structure-list li {
    display: flex;
    justify-content: space-between;
  }
}

@media (max-width: 639px) {
  .features-structure-list li {
    margin-bottom: 11.68224vw;
  }
}

@media (min-width: 640px) {
  .features-structure-list li:nth-child(2n) {
    flex-direction: row-reverse;
  }
}

.features-structure-list li:last-child {
  margin-bottom: 0;
}

@media (min-width: 640px) {
  .features-structure-list-inner {
    width: calc(570% / 1200 * 100);
  }
}

@media (max-width: 639px) {
  .features-structure-list-inner {
    margin-bottom: 7.00935vw;
  }
}

@media (min-width: 640px) {
  .features-structure-list-img {
    width: calc(573% / 1200 * 100);
  }
}

.features-structure-list-subtitle {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #93AD68;
  margin-bottom: 15px;
}

.features-structure-list-subtitle .number {
  margin-right: 24px;
  position: relative;
}

.features-structure-list-subtitle .number::after {
  position: absolute;
  content: "";
  width: 4px;
  height: 4px;
  background: #93AD68;
  border-radius: 50%;
  top: 9px;
  right: -14px;
}

@media (max-width: 639px) {
  .features-structure-list-subtitle .number::after {
    top: 7px;
  }
}

.features-structure-list-title {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
  margin-bottom: 25px;
}

@media (max-width: 639px) {
  .features-structure-list-title {
    font-size: 5.60748vw;
  }
}

.features-structure-list-txt {
  font-size: 17px;
  line-height: 1.88235;
  margin-bottom: 0;
}

@media (max-width: 639px) {
  .features-structure-list-txt {
    font-size: 3.97196vw;
  }
}

.features-structure-list-txt a {
  text-decoration: underline;
  font-size: 17px;
}

@media (max-width: 639px) {
  .features-structure-list-txt a {
    font-size: 3.97196vw;
  }
}

.features-structure .more-btn {
  margin-top: 50px;
}

@media (max-width: 639px) {
  .features-structure .more-btn {
    margin-top: 3.50467vw;
    margin-right: 0;
  }
}

/* information
-----------------*/
.information {
  margin-bottom: 70px;
}

@media (max-width: 639px) {
  .information {
    margin-bottom: 18.69159vw;
  }
}

.information-title {
  margin-bottom: 70px;
}

@media (max-width: 639px) {
  .information-title {
    margin-bottom: 30px;
  }
}

@media (min-width: 640px) {
  .information-list {
    display: flex;
    flex-wrap: wrap;
  }
}

.information-list li {
  border: 1px solid #292929;
  border-radius: 8px;
}

@media (min-width: 640px) {
  .information-list li {
    width: calc(50% - 30px / 2);
    margin-right: 30px;
    margin-bottom: 30px;
  }
}

@media (min-width: 1160px) {
  .information-list li {
    width: calc(33.333% - 30px * 2 / 3);
  }
}

@media (max-width: 639px) {
  .information-list li {
    margin-bottom: 7.00935vw;
  }
}

@media (min-width: 640px) {
  .information-list li:nth-child(2n) {
    margin-right: 0;
  }
}

@media (min-width: 1160px) {
  .information-list li:nth-child(2n) {
    margin-right: 30px;
  }
}

@media (min-width: 1160px) {
  .information-list li:nth-child(3n) {
    margin-right: 0;
  }
}

@media (min-width: 640px) {
  .information-list li:nth-child(6n) {
    margin-right: 0;
  }
}

@media (min-width: 1160px) {
  .information-list li:nth-child(6n) {
    margin-right: 0;
  }
}

@media (max-width: 639px) {
  .information-list li:last-child {
    margin-bottom: 0;
  }
}

.information-list li a {
  display: block;
  padding: 30px;
}

@media (max-width: 639px) {
  .information-list li a {
    padding: 4.6729vw;
  }
}

.information-list-title {
  font-size: 20px;
  font-weight: 500;
}

@media (max-width: 639px) {
  .information-list-title {
    font-size: 4.6729vw;
  }
}

.information-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.information-list-head .more-yazirushi {
  width: 30px;
  height: 30px;
}

.information-list-head .more-yazirushi:before {
  width: 12px;
  height: 8px;
}

.information-list-txt {
  font-size: 16px;
  line-height: 1.875;
  margin-bottom: 0;
}

@media (max-width: 639px) {
  .information-list-txt {
    font-size: 3.73832vw;
  }
}

/* profile-member
-----------------*/
.profile-member {
  padding-bottom: 100px;
  margin-bottom: 20px;
  border-bottom: 1px solid #D5D5D5;
}

@media (max-width: 639px) {
  .profile-member {
    padding-bottom: 18.69159vw;
  }
}

.profile-member-title {
  margin-bottom: 50px;
}

@media (max-width: 639px) {
  .profile-member-title {
    margin-bottom: 30px;
  }
}

@media (min-width: 640px) {
  .profile-member-wrapper {
    display: flex;
    justify-content: space-between;
  }
}

@media (min-width: 640px) {
  .profile-member-img {
    width: 50%;
  }
}

@media (max-width: 639px) {
  .profile-member-img {
    margin-bottom: 7.00935vw;
  }
}

@media (min-width: 640px) {
  .profile-member-inner {
    width: calc(520% / 1200 * 100);
  }
}

.profile-member-txt {
  line-height: 1.88235;
  margin-bottom: 50px;
}

.profile-member .more-btn {
  margin-left: auto;
}

@media (max-width: 639px) {
  .profile-member .more-btn {
    margin-right: 0;
  }
}

/* profile-list
-------------------*/
.profile-list {
  margin-bottom: 40px;
}

.profile-list ul li {
  padding: 80px 0;
  border-bottom: 1px solid #D5D5D5;
}

@media (max-width: 639px) {
  .profile-list ul li {
    padding: 9.34579vw 0;
  }
}

.profile-list ul li:last-child {
  border-bottom: none;
}

.profile-list-title {
  margin-bottom: 40px;
}

@media (max-width: 639px) {
  .profile-list-title {
    margin-bottom: 30px;
  }
}

@media (min-width: 640px) {
  .profile-list-wrapper {
    display: flex;
    justify-content: space-between;
  }
}

@media (min-width: 640px) {
  .profile-list-left {
    width: 50%;
  }
}

@media (min-width: 640px) {
  .profile-list-right {
    width: calc(520% / 1200 * 100);
  }
}

.profile-list-subtitle {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.625;
}

@media (max-width: 639px) {
  .profile-list-subtitle {
    font-size: 5.14019vw;
    margin-bottom: 3.50467vw;
  }
}

.profile-list-subtitle span {
  font-size: 20px;
  letter-spacing: 0.02em;
  display: block;
  margin-bottom: 10px;
}

@media (max-width: 639px) {
  .profile-list-subtitle span {
    font-size: 3.73832vw;
    margin-bottom: 1.16822vw;
  }
}

/* achievement 
-------------------*/
.achievement-category {
  margin-top: 65px;
  margin-bottom: 60px;
}

.achievement-category-title {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.03em;
  color: #93AD68;
  padding-left: 14px;
  margin-bottom: 20px;
  position: relative;
}

.achievement-category-title::before {
  position: absolute;
  content: "";
  background: #93AD68;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.achievement-category-list {
  font-size: 16px;
}

@media (min-width: 640px) {
  .achievement-category-list {
    display: flex;
    flex-wrap: wrap;
  }
}

.achievement-category-list li {
  margin-right: 40px;
}

@media (max-width: 639px) {
  .achievement-category-list li a span {
    padding-left: 14px;
  }
}

.achievement-category-list li a span.current {
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: bold;
  position: relative;
}

@media (min-width: 640px) {
  .achievement-category-list li a span.current {
    padding-left: 14px;
  }
}

.achievement-category-list li a span.current::before {
  position: absolute;
  content: "";
  background: #93AD68;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.achievement-list {
  margin-bottom: 100px;
}

@media (min-width: 640px) {
  .achievement-list {
    display: flex;
    flex-wrap: wrap;
  }
}

@media (min-width: 640px) {
  .achievement-list li {
    width: calc(33.3333% - 40px * 2 / 3);
    margin-right: 40px;
    margin-bottom: 90px;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .achievement-list li {
    width: calc(50% - 30px * 2 / 3);
    margin-right: 30px;
    margin-bottom: 50px;
  }
}

@media (max-width: 639px) {
  .achievement-list li {
    margin-bottom: 10.51402vw;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .achievement-list li:nth-child(2n) {
    margin-right: 0;
  }
}

@media (min-width: 640px) {
  .achievement-list li:nth-child(3n) {
    margin-right: 0;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .achievement-list li:nth-child(3n) {
    margin-right: 30px;
  }
}

@media (min-width: 640px) {
  .achievement-list li:nth-child(6n) {
    margin-right: 0;
  }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .achievement-list li:nth-child(6n) {
    margin-right: 0;
  }
}

@media (max-width: 639px) {
  .achievement-list li:last-child {
    margin-bottom: 0;
  }
}

.achievement-list-thumbnail {
  display: block;
  position: relative;
  margin-bottom: 20px;
}

@media (max-width: 639px) {
  .achievement-list-thumbnail {
    margin-bottom: 4.6729vw;
  }
}

.achievement-list-thumbnail::before {
  content: "";
  display: block;
  padding-top: calc(275 / 374 * 100%);
}

.achievement-list-thumbnail img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center center;
  border-radius: 8px;
}

.achievement-list-title {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #D5D5D5;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 1024px) {
  .achievement-list-title {
    font-size: 18px;
  }
}

@media (max-width: 639px) {
  .achievement-list-title {
    font-size: 4.20561vw;
    padding-bottom: 2.33645vw;
    margin-bottom: 3.50467vw;
  }
}

.achievement-list-title .more-yazirushi {
  width: 30px;
  height: 30px;
  min-width: 30px;
}

@media (max-width: 639px) {
  .achievement-list-title .more-yazirushi {
    width: 7.00935vw;
    height: 7.00935vw;
    min-width: 7.00935vw;
  }
}

.achievement-list-title .more-yazirushi::before {
  width: 12px;
  height: 8px;
}

@media (max-width: 639px) {
  .achievement-list-title .more-yazirushi::before {
    width: 2.80374vw;
    height: 1.86916vw;
  }
}

.achievement-list-info table {
  width: 100%;
}

.achievement-list-info table tr td {
  padding-bottom: 10px;
}

@media (max-width: 639px) {
  .achievement-list-info table tr td {
    padding-bottom: 1.16822vw;
  }
}

.achievement-list-info table tr td:nth-child(1) {
  color: #93AD68;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.03em;
  white-space: nowrap;
  padding-left: 10px;
  padding-right: 19px;
  position: relative;
}

@media (max-width: 639px) {
  .achievement-list-info table tr td:nth-child(1) {
    font-size: 2.80374vw;
    padding-left: 2.33645vw;
    padding-right: 4.43925vw;
  }
}

.achievement-list-info table tr td:nth-child(1)::after {
  position: absolute;
  content: "";
  background: #93AD68;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  right: 8px;
  top: 12px;
}

@media (max-width: 639px) {
  .achievement-list-info table tr td:nth-child(1)::after {
    width: 0.93458vw;
    height: 0.93458vw;
    right: 1.86916vw;
    top: 2.80374vw;
  }
}

.achievement-list-info table tr td:nth-child(2) {
  width: 100%;
  font-size: 16px;
}

@media (max-width: 639px) {
  .achievement-list-info table tr td:nth-child(2) {
    font-size: 3.73832vw;
  }
}

/* form
----------------*/
.tf-l-header {
  display: none !important;
}

.contact {
  margin-top: 155px;
  margin-bottom: 190px;
}

@media (max-width: 639px) {
  .contact {
    margin-top: 80px;
    margin-bottom: 100px;
  }
}

@media (min-width: 640px) {
  .contact-wrapper {
    display: flex;
    justify-content: space-between;
  }
}

@media (min-width: 640px) {
  .contact-inner {
    width: calc(550% / 1200 * 100);
  }
}

@media (max-width: 639px) {
  .contact-inner {
    margin-bottom: 14.01869vw;
  }
}

.contact-txt01 {
  font-size: 20px;
  line-height: 1.8;
  margin-bottom: 30px;
}

@media (max-width: 1024px) {
  .contact-txt01 {
    margin-bottom: 15px;
  }
}

@media (max-width: 639px) {
  .contact-txt01 {
    font-size: 4.20561vw;
  }
}

.contact-txt02 {
  font-size: 17px;
  line-height: 1.88235;
  margin-bottom: 50px;
}

@media (max-width: 1024px) {
  .contact-txt02 {
    margin-bottom: 30px;
  }
}

@media (max-width: 639px) {
  .contact-txt02 {
    font-size: 3.73832vw;
  }
}

.contact-subtitle {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
}

@media (max-width: 639px) {
  .contact-subtitle {
    font-size: 5.60748vw;
  }
}

.contact-works-list {
  margin-bottom: 70px;
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 639px) {
  .contact-works-list {
    margin-bottom: 10.51402vw;
  }
}

@media (min-width: 640px) {
  .contact-works-list li {
    width: calc(25% - 2px * 3 / 4);
    margin-right: 2px;
    margin-bottom: 18px;
  }
}

@media (max-width: 639px) {
  .contact-works-list li {
    width: calc(50% - 5px / 2);
    margin-right: 5px;
    margin-bottom: 15px;
  }
}

@media (max-width: 639px) {
  .contact-works-list li:nth-child(2n) {
    margin-right: 0;
  }
}

.contact-works-list li:nth-child(4n) {
  margin-right: 0;
}

.contact-support-img {
  display: flex;
  justify-content: space-between;
}

.contact-support-img div {
  width: calc(33.3333% - 2px * 2 / 3);
  margin-right: 2px;
}

.contact-support-img div:nth-child(3n) {
  margin-right: 0;
}

.contact-img {
  margin-top: 30px;
  margin-bottom: 70px;
}

@media (max-width: 639px) {
  .contact-img {
    margin-bottom: 10.51402vw;
  }
}

@media (min-width: 640px) {
  .contact-form {
    width: 50%;
  }
}

@media (max-width: 639px) {
  .contact-form {
    margin-bottom: 10.51402vw;
  }
}

/* download
-----------------*/
.download-bg {
  border: 12px solid #F2F2F2;
  border-radius: 8px;
  padding: 50px 55px;
  margin-bottom: 60px;
}

@media (max-width: 1024px) {
  .download-bg {
    padding: 30px;
    margin-bottom: 45px;
  }
}

@media (max-width: 639px) {
  .download-bg {
    border-radius: 3px;
    padding: 4.6729vw;
    margin-bottom: 7.00935vw;
  }
}

.download-subtitle {
  font-size: 16px;
  line-height: 1.875;
  margin-bottom: 30px;
}

@media (max-width: 639px) {
  .download-subtitle {
    font-size: 3.73832vw;
    margin-bottom: 3.50467vw;
  }
}

.download-list li {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 20px;
  padding-left: 23px;
  position: relative;
}

@media (max-width: 639px) {
  .download-list li {
    font-size: 4.20561vw;
    margin-bottom: 2.33645vw;
    padding-left: 4.6729vw;
  }
}

.download-list li::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2CA939;
  left: 2px;
  top: 11px;
}

@media (max-width: 639px) {
  .download-list li::before {
    width: 1.86916vw;
    height: 1.86916vw;
    left: 0.46729vw;
    top: 1.86916vw;
  }
}

.download-list li:last-child {
  margin-bottom: 0;
}

@media (min-width: 640px) {
  .download-img {
    display: flex;
    flex-wrap: wrap;
  }
}

.download-img div {
  margin-bottom: 23px;
}

@media (min-width: 640px) {
  .download-img div {
    width: calc(50% - 24px / 2);
    margin-right: 24px;
  }
}

.download-img div:nth-child(2n) {
  margin-right: 0;
}

.download-img div img {
  width: 100%;
}

/* footer
----------------*/
@media (max-width: 639px) {
  .footer .footer-bar ul li::after {
    margin: 0 1.5vw;
  }
}

.footer-contact {
  padding: 100px 0;
  position: relative;
}

@media (min-width: 640px) {
  .footer-contact {
    background: linear-gradient(to bottom, #F4FAF6 75%, transparent 75%, transparent 100%);
  }
}

@media (max-width: 639px) {
  .footer-contact {
    background: #F4FAF6;
    padding: 80px 0;
  }
}

.footer-contact::after {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/baloon.svg) no-repeat center center/contain;
  width: 611px;
  height: 540px;
  top: 0;
  right: 0;
}

@media (min-width: 640px) and (max-width: 1024px) {
  .footer-contact::after {
    width: 400px;
    height: 353px;
  }
}

@media (max-width: 639px) {
  .footer-contact::after {
    display: none;
  }
}

.footer-contact-inner {
  position: relative;
  z-index: 1;
}

.footer-contact-title {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-bottom: 30px;
}

@media (max-width: 639px) {
  .footer-contact-title {
    font-size: 6.54206vw;
    margin-bottom: 20px;
  }
}

.footer-contact-txt {
  font-size: 17px;
  line-height: 1.88235;
  margin-bottom: 30px;
}

@media (max-width: 639px) {
  .footer-contact-txt {
    font-size: 3.97196vw;
  }
}

.footer-contact-tel {
  background: #fff;
  border-radius: 8px;
  padding: 37px 50px;
  margin-bottom: 100px;
}

@media (min-width: 640px) {
  .footer-contact-tel {
    display: flex;
    align-items: center;
    width: fit-content;
  }
}

@media (max-width: 639px) {
  .footer-contact-tel {
    padding: 20px 5.84112vw;
    margin-bottom: 46px;
  }
}

.footer-contact-tel a {
  font-weight: 500;
  letter-spacing: 0.03em;
  font-size: 20px;
  margin-right: 18px;
}

@media (max-width: 639px) {
  .footer-contact-tel a {
    font-size: 4.6729vw;
    margin-right: 2.80374vw;
    display: block;
    margin-bottom: 1.16822vw;
  }
}

.footer-contact-tel a span {
  margin-left: 12px;
  letter-spacing: 0.07em;
  font-size: 33px;
}

@media (max-width: 639px) {
  .footer-contact-tel a span {
    margin-left: 2.80374vw;
    font-size: 7.71028vw;
  }
}

.footer-contact-tel p {
  font-size: 14px;
}

.footer-contact-list {
  position: relative;
  z-index: 1;
}

@media (min-width: 640px) {
  .footer-contact-list {
    display: flex;
    justify-content: space-between;
  }
}

@media (max-width: 1024px) {
  .footer-contact-list {
    display: block;
  }
}

@media (min-width: 640px) {
  .footer-contact-list li {
    width: calc(50% - 30px / 2);
    margin-right: 30px;
  }
}

@media (max-width: 1024px) {
  .footer-contact-list li {
    width: 100%;
    margin-bottom: 40px;
  }
}

.footer-contact-list li:nth-child(2n) {
  margin-right: 0;
}

.footer-contact-list li a {
  border-radius: 8px;
  color: #fff;
  display: block;
  padding: 50px 40px;
  position: relative;
}

@media (max-width: 1024px) {
  .footer-contact-list li a {
    padding: 40px 20px 110px;
  }
}

.footer-contact-list li a.footer_contact {
  background-color: #399D26;
}

.footer-contact-list li a.footer_contact:hover {
  background: #359123;
}

.footer-contact-list li a.footer_download {
  background-color: #009F99;
}

.footer-contact-list li a.footer_download:hover {
  background: #00948F;
}

.footer-contact-list li a::after {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/arrow-more02.svg) no-repeat center center/contain;
  width: 44px;
  height: 44px;
}

@media (min-width: 640px) {
  .footer-contact-list li a::after {
    top: 49px;
    right: 46px;
  }
}

@media (max-width: 1024px) {
  .footer-contact-list li a::after {
    left: 50%;
    transform: translateX(-50%);
    bottom: 40px;
    top: auto;
    right: auto;
  }
}

.footer-contact-list-title {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
}

@media (max-width: 639px) {
  .footer-contact-list-title {
    line-height: 1.75;
  }
}

.footer-contact-list-title span {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.03em;
  display: block;
}

.footer-contact-list-txt {
  font-size: 17px;
  line-height: 1.88235;
}

.footer-bottom {
  border-top: 1px solid #D5D5D5;
  padding: 100px 0 14px;
}

@media (max-width: 639px) {
  .footer-bottom {
    padding: 80px 0 30px;
  }
}

@media (min-width: 640px) {
  .footer-bottom .inner {
    display: flex;
    justify-content: space-between;
  }
}

@media (max-width: 1024px) {
  .footer-bottom .inner {
    flex-direction: column;
  }
}

@media (max-width: 1024px) {
  .footer-bottom .footer-left {
    margin-bottom: 80px;
  }
}

.footer-bottom .footer-left .footer-logo {
  margin-bottom: 30px;
  max-width: 109px;
}

.footer-bottom .footer-left .footer-subtitle {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 30px;
}

@media (max-width: 639px) {
  .footer-bottom .footer-left .footer-subtitle {
    font-size: 4.6729vw;
  }
}

.footer-bottom .footer-left .footer-txt {
  font-size: 14px;
  line-height: 2.57143;
  margin-bottom: 60px;
}

@media (min-width: 640px) {
  .footer-bottom .footer-right {
    width: 55%;
  }
}

@media (max-width: 1200px) {
  .footer-bottom .footer-right {
    width: 65%;
  }
}

@media (max-width: 1024px) {
  .footer-bottom .footer-right {
    width: 100%;
  }
}

.footer-bottom .footer-right .footer-title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.07em;
  margin-top: 30px;
  margin-bottom: 60px;
}

@media (min-width: 640px) {
  .footer-bottom .footer-right .footer-nav.df {
    margin-top: 5px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
  }
}

.footer-bottom .footer-right .footer-nav.df li a {
  font-size: 14px;
  font-weight: 500;
}

.footer-bottom .footer-right .footer-nav .nav-service {
  margin-bottom: 0;
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav .nav-service {
    padding-bottom: 15px;
  }
}

@media (min-width: 640px) {
  .footer-bottom .footer-right .footer-nav .nav-service-inner {
    display: flex;
    flex-wrap: wrap;
    margin-top: 5px;
  }
}

@media (min-width: 640px) {
  .footer-bottom .footer-right .footer-nav .nav-service-inner .has-child {
    width: calc(33.333% - 30px * 2 / 3);
    margin-right: 30px;
    margin-bottom: 25px;
  }
}

.footer-bottom .footer-right .footer-nav .nav-service-inner .has-child:nth-child(3n) {
  margin-right: 0;
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav .nav-service-inner .child {
    padding: 5px 0;
  }
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav .nav-service-inner .child ul li {
    margin-bottom: 0;
  }
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav .nav-service-inner a {
    padding: 7.5px 20px;
    font-size: 14px;
    font-weight: 400;
  }
}

@media (min-width: 640px) {
  .footer-bottom .footer-right .footer-nav li {
    margin-bottom: 30px;
  }
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav li {
    border-bottom: 1px solid #D5D5D5;
  }
}

.footer-bottom .footer-right .footer-nav span {
  font-size: 14px;
  font-weight: 500;
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav span {
    font-size: 16px;
  }
}

.footer-bottom .footer-right .footer-nav span a {
  font-size: 14px;
  font-weight: 500;
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav span a {
    font-size: 16px;
  }
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav a {
    font-size: 16px;
    font-weight: 500;
    display: block;
    padding: 15px 20px;
  }
}

.footer-bottom .footer-right .footer-nav .has-child-inner {
  display: block;
  position: relative;
}

@media (min-width: 640px) {
  .footer-bottom .footer-right .footer-nav .has-child-inner {
    margin-bottom: 5px;
  }
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav .has-child-inner {
    padding-right: 40px;
  }
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav .has-child-inner::after {
    position: absolute;
    content: "";
    background: transparent url(./img/svg/plus_wh.svg) no-repeat center center/contain;
    width: 13px;
    height: 14px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav .has-child-inner.is-open::after {
    background-image: url(./img/svg/minus_wh.svg);
  }
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav .child {
    display: none;
    padding-bottom: 15px;
  }
}

@media (min-width: 640px) {
  .footer-bottom .footer-right .footer-nav .child ul.df {
    display: flex;
    gap: 45px;
  }
}

.footer-bottom .footer-right .footer-nav .child ul.df li {
  margin-bottom: 0;
}

.footer-bottom .footer-right .footer-nav .child ul li {
  margin-bottom: 5px;
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav .child ul li {
    border: none;
  }
}

.footer-bottom .footer-right .footer-nav .child ul li:last-child {
  margin-bottom: 0;
}

.footer-bottom .footer-right .footer-nav .child ul li a {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.02em;
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-nav .child ul li a {
    padding: 7.5px 20px;
  }
}

.footer-bottom .footer-right .ex {
  position: relative;
  padding-right: 21px;
  width: fit-content;
}

.footer-bottom .footer-right .ex::after {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/ex.svg) no-repeat center center/contain;
  width: 11px;
  height: 11px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.footer-bottom .footer-right .footer-links {
  margin-top: 45px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-links {
    margin-top: 70px;
  }
}

.footer-bottom .footer-right .footer-links li {
  margin-right: 3em;
  position: relative;
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-links li {
    margin-right: 1em;
  }
}

.footer-bottom .footer-right .footer-links li::after {
  position: relative;
  content: "／";
  top: 50%;
  transform: translateY(-50%);
  right: -2em;
  font-size: 12px;
}

@media (max-width: 639px) {
  .footer-bottom .footer-right .footer-links li::after {
    right: -0.5em;
  }
}

.footer-bottom .footer-right .footer-links li:last-child {
  margin-right: 0;
}

.footer-bottom .footer-right .footer-links li:last-child::after {
  display: none;
}

.footer-bottom .footer-right .footer-links li a {
  font-size: 12px;
  font-weight: 400;
}

.footer-bottom .footer_download {
  font-size: 17px;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: block;
  padding: 15px;
  border: 1px solid #292929;
  border-radius: 30px;
  margin-bottom: 20px;
  text-align: center;
}

@media (max-width: 1024px) {
  .footer-bottom .footer_download {
    max-width: 368px;
  }
}

@media (max-width: 639px) {
  .footer-bottom .footer_download {
    margin-top: 80px;
  }
}

@media (max-width: 639px) {
  .footer-bottom .footer_download.pc {
    display: none;
  }
}

.footer-bottom .footer_download span {
  padding-right: 32px;
  width: fit-content;
  position: relative;
}

.footer-bottom .footer_download span:after {
  position: absolute;
  content: "";
  background: transparent url(./img/svg/download.svg) no-repeat center center/contain;
  width: 19px;
  height: 15px;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.footer-bottom .footer_contact {
  background-color: #FF4141;
}

@media (min-width: 640px) {
  .footer-bottom .footer_contact {
    font-size: 17px;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #fff;
    border-radius: 30px;
    display: block;
    text-align: center;
    padding: 15px;
  }
}

@media (max-width: 1024px) {
  .footer-bottom .footer_contact {
    max-width: 368px;
  }
}

@media (max-width: 639px) {
  .footer-bottom .footer_contact {
    border-radius: 30px;
    color: #fff;
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media (min-width: 640px) {
  .footer-bottom .footer_contact span {
    margin-left: 8px;
    background: #C42B0C;
    border-radius: 12px;
    padding: 5px 12px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.18em;
    white-space: nowrap;
  }
}

.footer-bottom .footer_contact-inner {
  font-weight: 500;
  letter-spacing: 0.05em;
  width: 70%;
  text-align: center;
  padding: 15px;
  position: relative;
}

.footer-bottom .footer_contact-inner::after {
  position: absolute;
  content: "";
  background: #fff;
  width: 1px;
  height: 100%;
  right: 0;
  top: 0;
}

.footer-bottom .footer_contact-free {
  font-weight: bold;
  letter-spacing: 0.18em;
  width: 30%;
  text-align: center;
  padding: 15px;
}
