@import url("https://fonts.googleapis.com/css2?family=Cantata+One&family=Zen+Kaku+Gothic+New&family=Zen+Old+Mincho&display=swap");
:root {
  --base: #222222;
  --yellow1: #FFFF9D;
  --green1: #019C40;
  --green2: #116D55;
  --green3: #068B75;
  --gold1: #94873B;
  --gray1: #F1F1F1;
  --bg1: #FAFAFA;
  --bg2: #E2EEEB;
  --btnbg: linear-gradient(to right, #FF7700, #D02500);
  color-scheme: light;
}

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

.tab {
  display: none;
}
@media only screen and (max-width: 1140px) {
  .tab {
    display: block;
  }
}

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

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

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

.no-link {
  pointer-events: none;
}

.scroll-head {
  scroll-margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .scroll-head {
    scroll-margin-top: 5rem;
  }
}

.c-btn--default {
  text-decoration: none;
  cursor: pointer;
}
.c-btn--ptn1 {
  display: grid;
  place-content: center;
  width: 34rem;
  height: 8rem;
  border-radius: 100px;
  box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.32);
  box-sizing: border-box;
  background: url(../img/home/btn-ptn1.webp) 50% 50%/100% no-repeat;
  line-height: 1.2;
  font-size: 2.4rem;
  font-weight: 700;
  color: #FFF;
}
@media only screen and (max-width: 768px) {
  .c-btn--ptn1 {
    width: 28rem;
    height: 6.588rem;
    font-size: 2rem;
  }
}
.c-btn--ptn2 {
  display: grid;
  place-content: center;
  width: 20rem;
  height: 4.8rem;
  border-radius: 100px;
  box-sizing: border-box;
  background: linear-gradient(to right, #FF7700, #D02500);
  line-height: 1.5625;
  font-size: 1.6rem;
  font-weight: 700;
  color: #FFF;
}
@media only screen and (max-width: 768px) {
  .c-btn--ptn2 {
    width: 18rem;
    height: 4.32rem;
    font-size: 1.4rem;
  }
}

.c-title--ptn1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  text-align: center;
}
.c-title--ptn1 .is__en {
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-size: 1.5rem;
  font-weight: 400;
  font-family: "Roboto", serif;
  color: var(--green1);
}
@media only screen and (max-width: 768px) {
  .c-title--ptn1 .is__en {
    font-size: 1.1rem;
  }
}
.c-title--ptn1 .is__jp {
  line-height: 1.2777777778;
  font-size: 3.6rem;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .c-title--ptn1 .is__jp {
    font-size: 2.2rem;
  }
}

.l-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 8rem;
  background: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 30;
}
@media only screen and (max-width: 768px) {
  .l-header {
    height: 5rem;
  }
}
.l-header__container {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0 min(5rem, 1.7857142857vw);
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .l-header__container {
    padding: 0 1.5rem;
  }
}
.l-header__logo {
  width: min(16rem, 11.4285714286vw);
  margin: 0;
  line-height: 0;
}
@media only screen and (max-width: 768px) {
  .l-header__logo {
    width: min(12rem, 32vw);
  }
}
.l-header__logo a {
  display: block;
}
.l-header__logo a img {
  vertical-align: middle;
}
.l-header__content {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0 0 0 auto;
}
@media only screen and (max-width: 768px) {
  .l-header__content {
    display: none;
  }
}
.l-header__nav {
  margin: 0 2rem 0 0;
}
.l-header__nav_list {
  display: flex;
  justify-content: flex-end;
  gap: 1.5em;
  line-height: 1.8;
  font-size: min(1.6rem, 1.3333333333vw);
  font-weight: 700;
}
.l-header__nav_list a {
  text-decoration: none;
  color: var(--base);
}
.l-header__btn {
  display: grid;
  place-content: center;
  width: min(15rem, 15vw);
  height: min(5rem, 5vw);
  border-radius: 50px;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.32);
  box-sizing: border-box;
  background: 50% 50%/100% no-repeat;
  line-height: 1.8;
  font-size: min(1.5rem, 1.5vw);
  font-weight: 700;
  color: #FFF;
}
.l-header__btn.is-entry {
  background-image: url(../img/common/btn_entry-bg.webp);
}
.l-header__btn.is-entry span::before {
  width: min(2.5rem, 2.5vw);
  height: min(1.73rem, 1.73vw);
  background-image: url(../img/common/icon_conference.svg);
}
.l-header__btn.is-contact {
  background-image: url(../img/common/btn_contact-bg.webp);
}
.l-header__btn.is-contact span::before {
  width: min(2.5rem, 2.5vw);
  height: min(1.962rem, 1.962vw);
  background-image: url(../img/common/icon_contact.svg);
}
.l-header__btn span {
  display: flex;
  align-items: center;
  gap: 0.36rem;
}
.l-header__btn span::before {
  content: "";
  display: block;
}
.l-header__btn + .l-header__btn {
  margin-left: min(1rem, 1vw);
}

.l-hamburger {
  display: none;
  width: 100%;
  height: calc(100dvh - 5rem);
  background: rgba(255, 255, 255, 0.9);
  overflow: hidden;
  position: fixed;
  top: 5rem;
  left: 0;
  z-index: 20;
}
.l-hamburger__btn {
  display: none;
  border: 0;
  outline: none;
  background: transparent;
}
@media only screen and (max-width: 768px) {
  .l-hamburger__btn {
    display: block;
    width: 3rem;
    height: 2rem;
    margin: 0 0 0 auto;
    position: relative;
  }
  .l-hamburger__btn::before, .l-hamburger__btn::after,
  .l-hamburger__btn span {
    content: "";
    width: 100%;
    height: 1px;
    background: var(--base);
    box-sizing: border-box;
    position: absolute;
    left: 0;
    transition: 0.3s;
  }
  .l-hamburger__btn::before {
    top: 0;
  }
  .l-hamburger__btn::after {
    bottom: 0;
  }
  .l-hamburger__btn span {
    top: 50%;
    translate: 0 -50%;
  }
  .l-hamburger__btn.is-open::before {
    top: 50%;
    translate: 0 -50%;
    rotate: 45deg;
  }
  .l-hamburger__btn.is-open::after {
    bottom: 50%;
    translate: 0 50%;
    rotate: -45deg;
  }
  .l-hamburger__btn.is-open span {
    opacity: 0;
  }
}
.l-hamburger__nav {
  padding: 4.7rem 2.45rem;
  box-sizing: border-box;
}
.l-hamburger__nav_list {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 2.5555555556;
  font-size: 1.8rem;
  font-weight: 700;
}
.l-hamburger__btns {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin: 4.4rem auto 0;
}
.l-hamburger__btns_item {
  display: grid;
  place-content: center;
  width: min(15.8rem, 42.1333333333vw);
  height: min(5rem, 13.3333333333vw);
  border-radius: 50px;
  box-shadow: 0 0.25 0.5 rgba(0, 0, 0, 0.32);
  box-sizing: border-box;
  background: 50% 50%/cover no-repeat;
  font-size: min(1.5rem, 4vw);
  font-weight: 700;
  color: #FFF;
}
.l-hamburger__btns_item.is-entry {
  background-image: url(../img/common/btn_entry-bg.webp);
}
.l-hamburger__btns_item.is-entry span::before {
  content: "";
  width: min(2.5rem, 6.6666666667vw);
  height: min(1.73rem, 4.6133333333vw);
  background-image: url(../img/common/icon_conference.svg);
}
.l-hamburger__btns_item.is-contact {
  background-image: url(../img/common/btn_contact-bg.webp);
}
.l-hamburger__btns_item.is-contact span::before {
  content: "";
  width: min(2.5rem, 6.6666666667vw);
  height: min(1.962rem, 5.232vw);
  background-image: url(../img/common/icon_contact.svg);
}
.l-hamburger__btns_item span {
  display: flex;
  align-items: center;
  gap: 0.38rem;
}

.l-footer {
  padding: 10rem 0 0.85rem;
}
.l-footer__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.63rem;
}
@media only screen and (max-width: 768px) {
  .l-footer__head {
    gap: 4.05rem;
    padding: 0 5rem;
  }
}
.l-footer__logo {
  width: 16rem;
}
@media only screen and (max-width: 768px) {
  .l-footer__logo {
    width: 14rem;
  }
}
.l-footer__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem 2em;
  line-height: 1.5714285714;
  font-size: 1.4rem;
  font-weight: 400;
}
.l-footer__list_item a {
  text-decoration: none;
  color: var(--base);
}
.l-footer__copy {
  display: flex;
  justify-content: center;
  margin: 7.7rem auto 0;
}
@media only screen and (max-width: 768px) {
  .l-footer__copy {
    margin-top: 4.4rem;
  }
}
.l-footer__copy_text {
  line-height: 1.6;
  font-size: 1.2rem;
  font-weight: 400;
  font-family: "Roboto", serif;
}
@media only screen and (max-width: 768px) {
  .l-footer__copy_text {
    font-size: 1rem;
  }
}

.l-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 3rem;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .l-container {
    padding: 0 2rem;
  }
}
.l-container--ptn1 {
  max-width: 113.2rem;
}
.l-container--ptn2 {
  max-width: 102rem;
}

.p-home-mv {
  margin-top: 8rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-home-mv {
    margin-top: 5rem;
  }
}
.p-home-mv__content {
  position: absolute;
  left: 50%;
  bottom: 5rem;
  translate: -50% 0;
}
@media only screen and (max-width: 768px) {
  .p-home-mv__content {
    bottom: 2.3rem;
  }
}
.p-home-mv__caption {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 1.2rem;
  padding: 0.35rem 0.4rem 0.45rem;
  border-radius: 0.4rem;
  box-sizing: border-box;
  background: var(--yellow1);
  position: relative;
  line-height: 1.5625;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--green2);
}
@media only screen and (max-width: 768px) {
  .p-home-mv__caption {
    padding: 0.55rem 0.85rem 0.65rem;
    line-height: 1.2857142857;
    font-size: 1.4rem;
  }
}
.p-home-mv__caption::after {
  content: "";
  width: 1.6rem;
  height: 0.8rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: var(--yellow1);
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  translate: -50% 0;
}
.p-home-mv__btn {
  display: grid;
  place-content: center;
  width: 34rem;
  margin: 0 auto;
  border-radius: 100px;
  box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.32);
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .p-home-mv__btn {
    width: 28rem;
  }
}

.p-home-private {
  padding: 8rem 0;
  background: var(--bg1);
}
@media only screen and (max-width: 768px) {
  .p-home-private {
    padding: 4.35rem 0 4.8rem;
  }
}
.p-home-private__list {
  margin: 6rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-private__list {
    width: 26rem;
    margin-top: 2.45rem;
    box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.08);
  }
}
.p-home-private__list .slick-track {
  display: flex !important;
  align-items: stretch;
  gap: 1rem;
  padding: 1rem;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .p-home-private__list .slick-track {
    gap: 0;
    padding: 0;
  }
}
.p-home-private__list .slick-arrow {
  width: min(6rem, 5vw);
  aspect-ratio: 1/1;
  background: url(../img/home/slider-arrow.webp) 50% 50%/100% no-repeat;
  overflow: hidden;
  text-indent: -99999px;
}
@media only screen and (max-width: 768px) {
  .p-home-private__list .slick-arrow {
    width: min(4rem, 10.6666666667vw);
  }
}
.p-home-private__list .slick-prev {
  left: auto;
  right: calc(100% + 1rem);
}
@media only screen and (max-width: 768px) {
  .p-home-private__list .slick-prev {
    right: calc(100% + 0.75rem);
  }
}
.p-home-private__list .slick-next {
  left: calc(100% + 1rem);
  right: auto;
  scale: -1 1;
}
@media only screen and (max-width: 768px) {
  .p-home-private__list .slick-next {
    left: calc(100% + 0.75rem);
  }
}
.p-home-private__item {
  display: flex !important;
  flex-direction: column;
  width: 26rem;
  height: auto !important;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.08);
  font-feature-settings: "palt";
}
.p-home-private__item_sign {
  flex-grow: 0;
  padding: 3.43rem 1.5rem 1.15rem;
  position: relative;
  background: var(--green2);
}
.p-home-private__item_sign::after {
  content: "";
  width: 1.6rem;
  height: 0.8rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: var(--green2);
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  translate: -50% 0;
}
.p-home-private__item_num {
  display: grid;
  place-content: center;
  width: 10.6rem;
  height: 2.6rem;
  background: url(../img/home/example_bg.webp) 50% 50%/100% no-repeat;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  line-height: 1.2;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--green2);
}
.p-home-private__item_title {
  line-height: 1.4285714286;
  font-size: 1.4rem;
  font-weight: 700;
  color: #FFF;
}
.p-home-private__item_body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 2rem 1.5rem 1.5rem;
  background: #FFF;
}
.p-home-private__box {
  flex-grow: 0;
  display: flex;
  width: 100%;
  margin: 0 auto;
}
.p-home-private__box + .p-home-private__box {
  margin-top: 1rem;
}
.p-home-private__box_title {
  flex: 0 0 9.5rem;
  padding: 0 0 0 0.7rem;
  border-left: 0.2rem solid var(--green2);
  box-sizing: border-box;
  line-height: 2.0833333333;
  font-size: 1.2rem;
  font-weight: 700;
}
.p-home-private__box_content {
  flex: 1 1 auto;
  padding: 0;
  line-height: 1.9230769231;
  font-size: 1.3rem;
  font-weight: 400;
}
.p-home-private__content {
  flex-grow: 1;
  margin: 1.3rem auto 0;
  padding: 1rem;
  box-sizing: border-box;
  background: var(--bg2);
}
.p-home-private__content_title {
  margin: 0 auto 0.5rem;
  line-height: 1.6923076923;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--green2);
}
.p-home-private__content_caption {
  line-height: 1.5;
  font-size: 1.2rem;
  font-weight: 400;
}
.p-home-private__logos {
  display: flex;
  gap: 1rem;
  margin: 4.5rem auto 0;
  white-space: nowrap;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .p-home-private__logos {
    margin-top: 4rem;
  }
}
.p-home-private__logos_line {
  display: flex;
  gap: 1rem;
  white-space: nowrap;
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.p-home-private__logos_item {
  width: 20rem;
}
@media only screen and (max-width: 768px) {
  .p-home-private__logos_item {
    width: 10rem;
  }
}

@keyframes infinity-scroll-left {
  from {
    translate: 0 0;
  }
  to {
    translate: -100% 0;
  }
}
.p-home-achivements {
  padding: 6.7rem 0 7.8rem;
}
@media only screen and (max-width: 768px) {
  .p-home-achivements {
    padding: 4.45rem 0 5.39rem;
  }
}
.p-home-achivements__lead {
  margin: 5.7rem auto 0;
  line-height: 1.6;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-home-achivements__lead {
    margin-top: 2.5rem;
    line-height: 1.375;
    font-size: 1.6rem;
  }
}
.p-home-achivements__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  margin: 4.25rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-achivements__wrap {
    gap: 1.38rem 1.4rem;
    margin-top: 3rem;
  }
}
.p-home-achivements__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.22rem;
  width: min(22rem, 18.3333333333vw);
  height: min(11.6rem, 9.6666666667vw);
  border-radius: 2rem;
  box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
  background: #FFF;
  text-align: center;
  font-feature-settings: "palt";
  font-family: "Roboto", "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 768px) {
  .p-home-achivements__item {
    width: min(15.4rem, 41.0666666667vw);
    height: min(8.12rem, 21.6533333333vw);
  }
}
.p-home-achivements__item_sign {
  display: flex;
  align-items: center;
  gap: 0.38rem;
  line-height: 1.6666666667;
  font-size: 1.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-home-achivements__item_sign {
    gap: 0.27rem;
    line-height: 1.6666666667;
    font-size: 1.05rem;
  }
}
.p-home-achivements__item_sign::before {
  content: "";
  width: 2.8rem;
  height: 3.379rem;
  background: url(../img/common/icon_badge.svg) 50% 50%/100% no-repeat;
}
@media only screen and (max-width: 768px) {
  .p-home-achivements__item_sign::before {
    width: min(1.96rem, 5.2266666667vw);
    height: min(2.365rem, 6.3066666667vw);
  }
}
.p-home-achivements__item_content {
  line-height: 1;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-home-achivements__item_content {
    font-size: min(1.4rem, 3.7333333333vw);
  }
}
.p-home-achivements__item_content strong {
  font-size: 4.6rem;
  font-weight: 700;
  color: var(--green2);
}
@media only screen and (max-width: 768px) {
  .p-home-achivements__item_content strong {
    font-size: min(3.22rem, 8.5866666667vw);
  }
}
.p-home-achivements__company {
  margin: 4.35rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-achivements__company {
    margin-top: 3.5rem;
  }
}
.p-home-achivements__company_title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.38rem;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 1.77rem;
  line-height: 1.6666666667;
  font-size: 1.5rem;
  font-weight: 700;
}
.p-home-achivements__company_title::before {
  content: "";
  width: 2.8rem;
  height: 3.379rem;
  background: url(../img/common/icon_badge.svg) 50% 50%/100% no-repeat;
}
.p-home-achivements__company_logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem 0.5rem;
}
@media only screen and (max-width: 768px) {
  .p-home-achivements__company_logos {
    gap: 1.28rem 0.34rem;
  }
}
.p-home-achivements__company_item {
  width: 16rem;
}
@media only screen and (max-width: 768px) {
  .p-home-achivements__company_item {
    width: 10.928rem;
  }
}

.p-home-trouble {
  padding: 7.45rem 0 6.8rem;
  background: var(--bg1);
}
@media only screen and (max-width: 768px) {
  .p-home-trouble {
    padding: 5rem 0 4rem;
  }
}
.p-home-trouble__lead {
  margin: 5rem auto 0;
  line-height: 1.5454545455;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--green3);
}
@media only screen and (max-width: 768px) {
  .p-home-trouble__lead {
    margin-top: 3.4rem;
    line-height: 1.5;
    font-size: 1.6rem;
  }
}
.p-home-trouble__copy {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 4rem auto 0;
  padding: 1.25rem 1rem 1.45rem;
  border-radius: 1rem;
  box-sizing: border-box;
  background: var(--green2);
  line-height: 1.2;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  color: #FFF;
}
@media only screen and (max-width: 768px) {
  .p-home-trouble__copy {
    width: calc(100% + 2rem);
    margin: 1.65rem -1rem 0;
    padding: 0.85rem 0.2rem 1.05rem;
    line-height: 1.4375;
    font-size: 1.6rem;
  }
}
.p-home-trouble__wrap {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin: 4.5rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-trouble__wrap {
    flex-direction: column;
    gap: 2.47rem;
  }
}
.p-home-trouble__item {
  width: 32rem;
}
@media only screen and (max-width: 768px) {
  .p-home-trouble__item {
    width: 100%;
  }
}
.p-home-trouble__item_body {
  display: flex;
  flex-direction: column;
  gap: 1.58rem;
  padding: 1.75rem 0 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .p-home-trouble__item_body {
    padding-top: 1.35rem;
    gap: 0.98rem;
  }
}
.p-home-trouble__item_title {
  line-height: 1.4545454545;
  font-size: 2.2rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  color: var(--gold1);
}
@media only screen and (max-width: 768px) {
  .p-home-trouble__item_title {
    font-size: min(2rem, 5.3333333333vw);
  }
}
.p-home-trouble__item_caption {
  line-height: 1.625;
  font-size: 1.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .p-home-trouble__item_caption {
    line-height: 1.5714285714;
    font-size: min(1.4rem, 3.7333333333vw);
  }
}

.p-home-solution {
  padding: 7rem 0 8.9rem;
  background: var(--gray1);
}
@media only screen and (max-width: 768px) {
  .p-home-solution {
    padding: 5rem 0 4.3rem;
  }
}
.p-home-solution__block {
  max-width: 88rem;
  width: 100%;
  margin: 6.45rem 0 0;
  padding: 5.9rem 0 0;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-home-solution__block {
    max-width: initial;
    width: calc(100% + 1rem);
    margin: 2.75rem -0.5rem 0;
    padding: 17.2rem 0 0;
  }
}
.p-home-solution__block + .p-home-solution__block {
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .p-home-solution__block + .p-home-solution__block {
    margin-top: 2rem;
  }
}
.p-home-solution__block_image {
  width: 40rem;
  position: absolute;
  top: 0;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .p-home-solution__block_image {
    width: 30rem;
  }
}
.p-home-solution__block_content {
  width: min(55rem, 45.8333333333vw);
  padding: 3.45rem 5.9rem 4rem;
  border: 1px solid var(--gold1);
  box-sizing: border-box;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFF 40%);
}
@media only screen and (max-width: 768px) {
  .p-home-solution__block_content {
    width: 32rem;
    padding: 3.65rem 1.5rem 1.7rem;
  }
}
.p-home-solution__block:nth-child(odd) {
  margin-left: auto;
  margin-right: 0;
}
.p-home-solution__block:nth-child(odd) .p-home-solution__block_image {
  right: 0;
}
.p-home-solution__block:nth-child(odd) .p-home-solution__block_content {
  padding-right: 11rem;
  margin-left: 0;
  margin-right: auto;
}
@media only screen and (max-width: 768px) {
  .p-home-solution__block:nth-child(odd) .p-home-solution__block_content {
    padding-right: 1.5rem;
  }
}
.p-home-solution__block:nth-child(odd) .p-home-solution__num::before {
  width: 11.8rem;
  left: -5.9rem;
}
@media only screen and (max-width: 768px) {
  .p-home-solution__block:nth-child(odd) .p-home-solution__num::before {
    width: 5.3rem;
    left: -1.5rem;
  }
}
.p-home-solution__block:nth-child(even) {
  margin-left: 0;
  margin-right: auto;
}
.p-home-solution__block:nth-child(even) .p-home-solution__block_image {
  left: 0;
}
.p-home-solution__block:nth-child(even) .p-home-solution__block_content {
  padding-left: 11rem;
  margin-left: auto;
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .p-home-solution__block:nth-child(even) .p-home-solution__block_content {
    padding-left: 1.5rem;
  }
}
.p-home-solution__block:nth-child(even) .p-home-solution__num::before {
  width: 16rem;
  left: -11rem;
}
@media only screen and (max-width: 768px) {
  .p-home-solution__block:nth-child(even) .p-home-solution__num::before {
    width: 5.3rem;
    left: -1.5rem;
  }
}
.p-home-solution__num {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 0 0 0.6rem;
  padding-left: 6.8rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-home-solution__num {
    gap: 0.6rem;
    padding-left: 4.3rem;
  }
}
.p-home-solution__num::before {
  content: "";
  height: 1px;
  background: var(--gold1);
  position: absolute;
  top: 50%;
}
.p-home-solution__num_caption {
  line-height: 2.4285714286;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--green1);
}
@media only screen and (max-width: 768px) {
  .p-home-solution__num_caption {
    font-size: 1.2rem;
  }
}
.p-home-solution__num_num {
  line-height: 0.7391304348;
  font-size: 4.6rem;
  font-weight: 400;
  font-family: "Roboto", serif;
  color: var(--green1);
}
@media only screen and (max-width: 768px) {
  .p-home-solution__num_num {
    font-size: 3.6rem;
  }
}
.p-home-solution__title {
  margin: 0 0 1.66rem;
  line-height: 1.4166666667;
  font-size: 2.4rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "palt";
  color: var(--gold1);
}
@media only screen and (max-width: 768px) {
  .p-home-solution__title {
    margin-bottom: 1.08rem;
    line-height: 1.3;
    font-size: 2rem;
  }
}
.p-home-solution__caption {
  line-height: 1.625;
  font-size: 1.6rem;
  font-weight: 400;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 768px) {
  .p-home-solution__caption {
    line-height: 1.7142857143;
    font-size: 1.4rem;
  }
}
.p-home-solution__btn {
  display: flex;
  justify-content: center;
  margin: 6rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-solution__btn {
    margin-top: 2rem;
  }
}

.p-home-comparison {
  padding: 7.35rem 0 8.89rem;
}
@media only screen and (max-width: 768px) {
  .p-home-comparison {
    padding: 4.25rem 0 4.5rem;
  }
}
.p-home-comparison__lead {
  margin: 6.6rem auto 0;
  line-height: 1.6;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-home-comparison__lead {
    margin: 3.2rem auto 0;
    line-height: 1.6666666667;
    font-size: 1.5rem;
  }
}
.p-home-comparison__table {
  max-width: 84rem;
  width: 100%;
  margin: 5rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-comparison__table {
    margin-top: 4.43rem;
  }
}

.p-home-voice {
  padding: 8rem 0;
  background: var(--bg1);
}
@media only screen and (max-width: 768px) {
  .p-home-voice {
    padding: 4.45rem 0 5rem;
  }
}
.p-home-voice__lead {
  margin: 3.6rem auto 0;
  line-height: 1.6;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-home-voice__lead {
    margin-top: 3.3rem;
    line-height: 1.6666666667;
    font-size: 1.5rem;
  }
}
.p-home-voice__grid {
  margin: 5rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-voice__grid {
    max-width: 26rem;
    margin-top: 3.45rem;
    box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.08);
  }
}
.p-home-voice__grid .slick-track {
  display: flex !important;
  gap: 1rem;
  padding: 1rem;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .p-home-voice__grid .slick-track {
    gap: 0;
    padding: 0;
  }
}
.p-home-voice__grid .slick-arrow {
  width: min(6rem, 5vw);
  aspect-ratio: 1/1;
  background: url(../img/home/slider-arrow.webp) 50% 50%/100% no-repeat;
  overflow: hidden;
  text-indent: -99999px;
}
@media only screen and (max-width: 768px) {
  .p-home-voice__grid .slick-arrow {
    width: min(4rem, 10.6666666667vw);
  }
}
.p-home-voice__grid .slick-prev {
  left: auto;
  right: calc(100% + 1rem);
}
@media only screen and (max-width: 768px) {
  .p-home-voice__grid .slick-prev {
    right: calc(100% + 0.75rem);
  }
}
.p-home-voice__grid .slick-next {
  left: calc(100% + 1rem);
  right: auto;
  scale: -1 1;
}
@media only screen and (max-width: 768px) {
  .p-home-voice__grid .slick-next {
    left: calc(100% + 0.75rem);
  }
}
.p-home-voice__item {
  display: flex !important;
  flex-direction: column;
  width: 26rem;
  height: auto !important;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.08);
}
@media only screen and (max-width: 768px) {
  .p-home-voice__item {
    width: 100%;
    box-shadow: 0 0 0;
  }
}
.p-home-voice__item_head {
  flex-grow: 0;
  padding: 1.5rem;
  box-sizing: border-box;
  background: var(--green2);
}
.p-home-voice__item_body {
  flex-grow: 1;
  padding: 1.15rem 1.5rem 1.5rem;
  box-sizing: border-box;
  background: #FFF;
  line-height: 1.5;
  font-size: 1.2rem;
}
.p-home-voice__sign {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: #FFF;
}
.p-home-voice__sign_image {
  width: 6.4rem;
}
.p-home-voice__sign_content {
  flex: 1 1 auto;
}
.p-home-voice__sign_name {
  line-height: 1.2;
  font-size: 1.3rem;
  font-weight: 700;
}
.p-home-voice__sign_name strong {
  font-size: 2.4rem;
}
.p-home-voice__sign_age {
  line-height: 1.4;
  font-size: 1.2rem;
  font-weight: 700;
}
.p-home-voice__head_lead {
  margin: 1rem 0 0;
  line-height: 1.5;
  font-size: 1.2rem;
  font-weight: 700;
  color: #FFF;
}

.p-home-flow {
  padding: 7.55rem 0 7rem;
}
@media only screen and (max-width: 768px) {
  .p-home-flow {
    padding: 4.55rem 0 4.3rem;
  }
}
.p-home-flow__wrap {
  display: flex;
  justify-content: center;
  gap: 8rem;
  margin: 5.6rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-flow__wrap {
    flex-direction: column;
    gap: 3rem;
    margin-top: 2.95rem;
    max-width: 29.5rem;
  }
}
.p-home-flow__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 12rem;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .p-home-flow__item {
    flex-direction: row;
    width: 100%;
    text-align: left;
  }
}
.p-home-flow__item + .p-home-flow__item::before {
  content: "";
  width: 1.2rem;
  height: 2.6rem;
  background: url(../img/home/flow-arrow.svg) 50% 50%/100% no-repeat;
  position: absolute;
  top: 10.6rem;
  right: calc(100% + 3.1rem);
}
@media only screen and (max-width: 768px) {
  .p-home-flow__item + .p-home-flow__item::before {
    width: 0.923rem;
    height: 2rem;
    top: auto;
    left: 3.5rem;
    right: auto;
    bottom: calc(100% + 0.5rem);
    rotate: 90deg;
  }
}
.p-home-flow__sign {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  font-family: "Roboto", serif;
  color: var(--green2);
}
@media only screen and (max-width: 768px) {
  .p-home-flow__sign {
    flex-direction: row;
    gap: 0.3rem;
    flex: 0 0 8.6rem;
    order: 2;
    margin: 0 0 0 0.6rem;
  }
}
.p-home-flow__sign_lead {
  line-height: 1.4;
  letter-spacing: 0.02em;
  font-size: 1.3rem;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  .p-home-flow__sign_lead {
    font-size: 1.2rem;
  }
}
.p-home-flow__sign_num {
  line-height: 1;
  font-size: 3.8rem;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  .p-home-flow__sign_num {
    font-size: 3.2rem;
  }
}
.p-home-flow__image {
  margin: 0.5rem auto 0.8rem;
}
@media only screen and (max-width: 768px) {
  .p-home-flow__image {
    flex: 0 0 8rem;
    order: 1;
    margin: 0;
  }
}
.p-home-flow__title {
  line-height: 1.2222222222;
  font-size: 1.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-home-flow__title {
    flex: 1 1 auto;
    order: 3;
  }
}

.p-home-faq {
  padding: 6.65rem 0 6rem;
  background: var(--bg1);
}
@media only screen and (max-width: 768px) {
  .p-home-faq {
    padding: 5.35rem 0 4.65rem;
  }
}
.p-home-faq__block {
  max-width: 58rem;
  width: 100%;
  margin: 6.5rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-faq__block {
    margin-top: 4rem;
  }
}
.p-home-faq__block + .p-home-faq__block {
  margin-top: 3.43rem;
}
@media only screen and (max-width: 768px) {
  .p-home-faq__block + .p-home-faq__block {
    margin-top: 2.5rem;
  }
}
.p-home-faq__block_title {
  display: flex;
  align-items: flex-start;
  gap: 1.4rem;
  margin: 0 0 1rem;
  line-height: 1.1;
  font-size: 2rem;
  font-weight: 700;
  color: var(--green2);
}
@media only screen and (max-width: 768px) {
  .p-home-faq__block_title {
    gap: 1.2rem;
    margin-bottom: 1.8rem;
    font-weight: 1.6rem;
  }
}
.p-home-faq__block_title::before {
  content: "Q";
  display: grid;
  place-content: center;
  flex: 0 0 4rem;
  width: 4rem;
  aspect-ratio: 1/1;
  padding-bottom: 0.5rem;
  border-radius: 0.6rem;
  box-sizing: border-box;
  background: var(--green2);
  overflow: hidden;
  translate: 0 -0.3em;
  line-height: 1;
  font-size: 2.4rem;
  font-weight: 700;
  color: #FFF;
}
@media only screen and (max-width: 768px) {
  .p-home-faq__block_title::before {
    flex: 0 0 3.2rem;
    width: 3.2rem;
    padding-bottom: 0.2rem;
    font-size: 1.92rem;
  }
}
.p-home-faq__block_content {
  display: flex;
  align-items: flex-start;
  gap: 1.4rem;
  margin: 0;
  padding: 0;
  line-height: 1.6666666667;
  font-size: 1.5rem;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  .p-home-faq__block_content {
    gap: 1.2rem;
    line-height: 1.7142857143;
  }
}
.p-home-faq__block_content::before {
  content: "A";
  display: grid;
  place-content: center;
  flex: 0 0 4rem;
  width: 4rem;
  aspect-ratio: 1/1;
  padding-bottom: 0.2rem;
  border-radius: 0.6rem;
  box-sizing: border-box;
  background: var(--green1);
  overflow: hidden;
  line-height: 1;
  font-size: 2.4rem;
  font-weight: 700;
  color: #FFF;
}
@media only screen and (max-width: 768px) {
  .p-home-faq__block_content::before {
    flex: 0 0 3.2rem;
    width: 3.2rem;
    padding-bottom: 0.1rem;
    font-size: 1.92rem;
  }
}

.p-home-magazine {
  padding: 6.25rem 0 7.8rem;
}
@media only screen and (max-width: 768px) {
  .p-home-magazine {
    padding: 5.45rem 0 4.8rem;
  }
}
.p-home-magazine__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  max-width: 98rem;
  width: 100%;
  margin: 5.15rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-magazine__grid {
    grid-template-columns: 100%;
    gap: 2rem;
    max-width: 30rem;
    margin-top: 3.65rem;
  }
}
.p-home-magazine__item {
  display: flex;
  flex-direction: column;
  gap: 1.65rem;
}
.p-home-magazine__item_image {
  display: block;
  width: 100%;
  aspect-ratio: 300/190;
  overflow: hidden;
}
.p-home-magazine__item_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-magazine__item_body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.82rem;
}
.p-home-magazine__item_title {
  line-height: 1.6666666667;
  font-size: 1.5rem;
  font-weight: 400;
}
.p-home-magazine__item_title a {
  text-decoration: none;
  color: var(--base);
}
.p-home-magazine__tags {
  display: flex;
  flex-wrap: 0.5rem 1rem;
}
.p-home-magazine__tags_item {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25rem 0.6rem 0.45rem;
  border-radius: 0.4rem;
  box-sizing: border-box;
  background: var(--green1);
  line-height: 1.4;
  font-size: 1.2rem;
  font-weight: 700;
  color: #FFF;
}
.p-home-magazine__btn {
  display: flex;
  justify-content: center;
  margin: 2rem auto 0;
}

.p-home-companies {
  padding: 7rem 0 8rem;
  background: var(--bg1);
}
@media only screen and (max-width: 768px) {
  .p-home-companies {
    padding: 5.25rem 0 4rem;
  }
}
.p-home-companies__lead {
  margin: 3.5rem auto 0;
  line-height: 2.3;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-home-companies__lead {
    margin-top: 3.2rem;
    line-height: 1.6666666667;
    font-size: 1.5rem;
  }
}
.p-home-companies__block {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6rem;
  max-width: 96rem;
  width: 100%;
  margin: 5.65rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-companies__block {
    gap: 1.8rem;
    margin-top: 3.45rem;
  }
}
.p-home-companies__block:nth-child(odd) {
  flex-direction: row;
}
@media only screen and (max-width: 768px) {
  .p-home-companies__block:nth-child(odd) {
    flex-direction: column;
  }
}
.p-home-companies__block:nth-child(even) {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
  .p-home-companies__block:nth-child(even) {
    flex-direction: column;
  }
}
.p-home-companies__block + .p-home-companies__block {
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .p-home-companies__block + .p-home-companies__block {
    margin-top: 3rem;
  }
}
.p-home-companies__block_image {
  flex: 0 0 40rem;
}
@media only screen and (max-width: 768px) {
  .p-home-companies__block_image {
    flex: 1 1 auto;
  }
}
.p-home-companies__block_body {
  flex: 1 1 auto;
  padding-left: 2rem;
  border-left: 0.5px solid var(--green1);
  box-sizing: border-box;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 768px) {
  .p-home-companies__block_body {
    padding-left: 1rem;
  }
}
.p-home-companies__block_title {
  margin: -0.25em 0 1.66rem;
  line-height: 1.4166666667;
  text-box-trim: trim-start;
  text-box-edge: text;
  font-size: 2.4rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  color: var(--gold1);
}
@media only screen and (max-width: 768px) {
  .p-home-companies__block_title {
    margin-bottom: 0.88rem;
    line-height: 1.4;
    font-size: 2rem;
  }
}
.p-home-companies__block_caption {
  line-height: 1.625;
  font-size: 1.6rem;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  .p-home-companies__block_caption {
    line-height: 1.7142857143;
    font-size: 1.4rem;
  }
}

.p-home-comments {
  padding: 7.95rem 0 10rem;
}
@media only screen and (max-width: 768px) {
  .p-home-comments {
    padding: 4.75rem 0 2rem;
  }
}
.p-home-comments__grid {
  display: flex;
  gap: 2rem;
  max-width: 96rem;
  width: 100%;
  margin: 4.55rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-comments__grid {
    max-width: 30rem;
    margin-top: 3.45rem;
    box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.08);
  }
}
.p-home-comments__grid .slick-track {
  display: flex !important;
  gap: 2rem;
  padding: 1rem;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .p-home-comments__grid .slick-track {
    gap: 0;
    padding: 0;
  }
}
.p-home-comments__grid .slick-arrow {
  width: min(6rem, 5vw);
  aspect-ratio: 1/1;
  background: url(../img/home/slider-arrow.webp) 50% 50%/100% no-repeat;
  overflow: hidden;
  text-indent: -99999px;
}
@media only screen and (max-width: 768px) {
  .p-home-comments__grid .slick-arrow {
    width: min(4rem, 10.6666666667vw);
  }
}
.p-home-comments__grid .slick-prev {
  left: auto;
  right: calc(100% + 1rem);
}
@media only screen and (max-width: 768px) {
  .p-home-comments__grid .slick-prev {
    right: calc(100% - 1.2rem);
  }
}
.p-home-comments__grid .slick-next {
  left: calc(100% + 1rem);
  right: auto;
  scale: -1 1;
}
@media only screen and (max-width: 768px) {
  .p-home-comments__grid .slick-next {
    left: calc(100% - 1.2rem);
  }
}
.p-home-comments__item {
  display: flex !important;
  flex-direction: column;
  width: 30rem;
  height: auto !important;
  padding: 1.45rem 1.5rem 1.5rem;
  background: #FFF;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .p-home-comments__item {
    box-shadow: 0 0 0;
  }
}
.p-home-comments__name {
  flex-grow: 0;
  margin: 0 auto 0.55rem;
  line-height: 1.1;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  color: var(--green2);
}
.p-home-comments__name strong {
  font-size: 2.4rem;
}
.p-home-comments__head {
  flex-grow: 0;
  padding: 0.95rem 1.5rem 1rem;
  background: var(--green2);
  color: #FFF;
}
.p-home-comments__head_title {
  margin: 0 auto;
  line-height: 1.5;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  color: #FFF;
}
.p-home-comments__head_caption {
  line-height: 1.5;
  font-size: 1.2rem;
  font-weight: 700;
}
.p-home-comments__body {
  flex-grow: 1;
  padding: 1.16rem 0 0;
  line-height: 1.5;
  font-size: 1.2rem;
  font-weight: 400;
}
.p-home-comments__lead {
  margin: 5.55rem auto 0;
  line-height: 2.3;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-home-comments__lead {
    margin-top: 4.55rem;
    line-height: 1.6666666667;
    font-size: 1.5rem;
  }
}
.p-home-comments__btn {
  display: flex;
  justify-content: center;
  margin: 1.55rem auto 0;
}
@media only screen and (max-width: 768px) {
  .p-home-comments__btn {
    margin-top: 1.35rem;
  }
}

.p-home-interview {
  padding: 7rem 0 8.9rem;
  background: var(--gray1);
}
@media only screen and (max-width: 768px) {
  .p-home-interview {
    padding: 5rem 0 4.3rem;
  }
}
.p-home-interview__lead {
  margin: 3.6rem auto;
  line-height: 1.6;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .p-home-interview__lead {
    margin: 3.3rem 0;
    line-height: 1.6666666667;
    font-size: 1.5rem;
  }
}