@keyframes scrollText {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes fadeOutMv {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.page-home-overlay {
  position: fixed;
  z-index: 1001;
  background-color: #F2F7F7;
  inset: 0;
  width: 100%;
  height: 100%;
  animation: fadeOutMv 1s ease-out forwards;
  animation-delay: 1s;
  pointer-events: none;
}
@media (min-width: 768px) {
  .page-home-overlay {
    animation-delay: 2.1s;
  }
}

.page-home {
  padding-top: 7.2rem;
}
@media (min-width: 768px) {
  .page-home {
    padding-top: 14.4rem;
  }
}

.home-inner {
  max-width: 1176px;
  width: 100%;
  margin-inline: auto;
  padding-inline: 2.5rem;
}

.home-hline-wrap {
  margin-bottom: 4rem;
  text-align: center;
}
@media (min-width: 768px) {
  .home-hline-wrap {
    margin-bottom: 8rem;
  }
}

.home-title-1 {
  color: var(--color-title, #47AFB3);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  font-family: var(--font-en);
  font-size: 1.7rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  margin-bottom: 1.3rem;
  line-height: 1;
}
.home-title-1.semibold {
  font-weight: 600 !important;
}
@media (min-width: 768px) {
  .home-title-1 {
    gap: 1.2rem;
    font-size: 2.2rem;
    margin-bottom: 2.4rem;
  }
}
.home-title-1::before {
  background-color: currentColor;
  border-radius: 0.2rem;
  aspect-ratio: 1;
  width: 1rem;
  transform: rotate(45deg);
  content: "";
}
@media (min-width: 768px) {
  .home-title-1::before {
    width: 1.2rem;
  }
}
@media (max-width: 767px) {
  .home-title-1::before.custom {
    width: 0.8rem;
  }
}

.home-title-2 {
  display: block;
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.67;
}
@media (min-width: 768px) {
  .home-title-2 {
    font-size: 3.4rem;
    line-height: 1.76;
    letter-spacing: 0.1em;
  }
}
@media (max-width: 767px) {
  .home-title-2.custom {
    font-size: 2.2rem;
  }
}

@keyframes fadeUpMv {
  to {
    transform: translateY(-100%);
    pointer-events: none;
  }
}
@keyframes fadeInUpHome {
  to {
    transform: translateY(0);
  }
}
@keyframes resetZ {
  to {
    z-index: 0;
  }
}
.sect-intro {
  position: relative;
  z-index: 1100;
  animation: resetZ 0s step-end forwards;
  animation-delay: 6s;
}
.sect-intro__head {
  position: relative;
  overflow: hidden;
  margin-inline: auto;
  max-width: 131.6rem;
  margin-bottom: 2.5rem;
  padding-inline: 4rem 2rem;
  width: 100%;
}
@media (min-width: 768px) {
  .sect-intro__head {
    padding-top: 4.8076923077cqh;
    padding-inline: 13rem 10rem;
    margin-bottom: -3.2051282051cqh;
  }
}
@media (min-width: 1066px) {
  .sect-intro__head {
    max-width: 100%;
    padding-inline: 0;
    transform: translateX(11rem);
  }
}
.sect-intro__head-content {
  transform: translateY(100%);
  animation: fadeInUpHome 1s ease-out forwards;
  animation-delay: 1.2s;
}
@media (min-width: 768px) {
  .sect-intro__head-content {
    animation-delay: 2s;
  }
}
.sect-intro__content {
  position: relative;
  padding-top: 3.1rem;
  padding-bottom: 9rem;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .sect-intro__content {
    padding-top: 9.5rem;
    padding-bottom: 20rem;
  }
}
.sect-intro__content-bg {
  background: linear-gradient(to bottom right, #8CCED0, #56BEC1);
  transition: transform 1s ease;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: -46.3rem;
  z-index: -1;
}
@media (min-width: 768px) {
  .sect-intro__content-bg {
    transform: translateY(100%);
    top: -42.96875vh;
  }
}
.sect-intro__highlight {
  display: flex;
  position: absolute;
  z-index: 2;
  bottom: -1rem;
  opacity: 0.2;
  color: #FFF;
  font-size: 6.2rem;
  font-family: var(--font-en);
  font-weight: 400;
  line-height: 1;
}
@media (min-width: 768px) {
  .sect-intro__highlight {
    font-size: 12rem;
    bottom: -2rem;
  }
}
.sect-intro__highlight span {
  display: inline-flex;
  white-space: nowrap;
  animation: scrollText 60s linear infinite;
  padding-right: 3rem;
}
@media (min-width: 768px) {
  .sect-intro__highlight span {
    padding-right: 4rem;
  }
}

.loaded .home-mv__bg {
  transform: translateX(100vw) skewX(-10deg);
}
.loaded .home-mv__img {
  transform: translateX(0);
}
.loaded .home-mv__txt span, .loaded .home-mv__hline span {
  transform: translateY(0);
}
@media (min-width: 768px) {
  .loaded .home-mv__txt span, .loaded .home-mv__hline span {
    transition-delay: 1s;
  }
}
.loaded .sect-intro__content-bg {
  transform: translateY(0);
  transition-delay: 1s;
}

.home-mv {
  position: relative;
  z-index: 2;
}
@media (min-width: 1024px) {
  .home-mv {
    container-type: size;
    padding-left: 14.6rem;
    height: calc(100vh - 12rem);
  }
}
@media (min-width: 1024px) {
  .home-mv .md {
    display: none;
  }
}
.home-mv__bg {
  display: none;
}
@media (min-width: 1024px) {
  .home-mv__bg {
    background-color: #F2F7F7;
    transform: skewX(-10deg);
    display: block;
    position: absolute;
    left: 34%;
    top: 0;
    width: 100%;
    height: 120%;
    pointer-events: none;
    transition: 1s ease;
    z-index: 2;
  }
}
.home-mv__img {
  display: inline-block;
  transition: transform 1s ease;
}
@media (min-width: 1024px) {
  .home-mv__img {
    transform: translateX(25%);
    height: 87.1794871795cqh;
  }
}
@media (max-width: 1023px) {
  .home-mv__img {
    margin-inline: -13.8rem;
  }
}
@media (min-width: 1024px) {
  .home-mv__img img {
    height: 100%;
    max-width: none;
  }
}
.home-mv__head {
  margin-bottom: 3rem;
}
@media (min-width: 1024px) {
  .home-mv__head {
    margin-bottom: -3.2051282051cqh;
  }
}
@media (max-width: 767px) {
  .home-mv__head {
    padding-left: 3.6rem;
  }
}
.home-mv__hline {
  overflow: hidden;
  margin-bottom: 1.5rem;
  margin-left: -0.5rem;
  color: var(--color-primary);
  font-size: 2.8rem;
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media (min-width: 1024px) {
  .home-mv__hline {
    margin-bottom: 1.6025641026cqh;
    margin-left: 0;
    font-size: 4.8076923077cqh;
    letter-spacing: 0.06em;
  }
}
@media (min-width: 1200px) {
  .home-mv__hline {
    font-size: 6.4102564103cqh;
    letter-spacing: 0.12em;
  }
}
.home-mv__hline span {
  display: inline-block;
  transform: translateY(100%);
  transition: transform 1s ease;
}
.home-mv__txt {
  color: #393450;
  font-size: 1.5rem;
  line-height: 1.9;
  letter-spacing: 0.07em;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .home-mv__txt {
    font-size: 2.7243589744cqh;
    letter-spacing: 0.2em;
  }
}
.home-mv__txt span {
  display: inline-block;
  transform: translateY(100%);
  transition: transform 1s ease;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .home-mv {
    padding-left: 11rem;
    padding-top: 4rem;
  }
  .home-mv__head {
    margin-bottom: 6rem;
  }
  .home-mv__hline {
    font-size: 5.2rem;
  }
  .home-mv__hline span {
    letter-spacing: 0.12em;
  }
  .home-mv__txt {
    font-size: 2rem;
    letter-spacing: 0.2em;
  }
  .home-mv__img {
    margin-inline: -17.8rem -8.8rem;
  }
  .sect-intro__content-bg {
    top: -62vh;
  }
}
@keyframes slideToLeft {
  from {
    left: 50%;
    transform: translateX(-300px);
  }
  to {
    left: 0;
    transform: translateX(0);
  }
}
@keyframes expandClip {
  from {
    transform: translateX(0);
  }
  to {
    transform: translate(110%);
  }
}
@keyframes fadeOutMv {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeInMv {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.home-intro {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .home-intro {
    flex-direction: row;
  }
}
.home-intro__col-1 {
  width: 100%;
}
@media (min-width: 768px) {
  .home-intro__col-1 {
    flex-shrink: 0;
    width: 22rem;
  }
}
@media (min-width: 1200px) {
  .home-intro__col-1 {
    width: 33rem;
  }
}
.home-intro__col-2 {
  width: 100%;
}
@media (min-width: 768px) {
  .home-intro__col-2 {
    padding-left: 3rem;
  }
}
.home-intro__hline {
  margin-bottom: 3rem;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.6;
  color: #FFF;
}
@media (min-width: 768px) {
  .home-intro__hline {
    margin-bottom: 4rem;
    font-size: 3.6rem;
    line-height: 1.8;
    letter-spacing: 0.12em;
  }
}
.home-intro__title {
  position: relative;
  margin-bottom: 2rem;
  padding-left: 2rem;
  color: #FFF;
  font-family: var(--font-en);
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 400;
}
@media (min-width: 768px) {
  .home-intro__title {
    margin-top: 15px;
    margin-bottom: 0;
    padding-left: 3rem;
    font-size: 2.2rem;
    letter-spacing: 0.06em;
  }
}
.home-intro__title::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 1rem;
  height: 1rem;
  border-radius: 0.3rem;
  background-color: #FFF;
  transform: rotate(45deg) translateY(-50%);
  content: "";
}
@media (min-width: 768px) {
  .home-intro__title::before {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.home-intro__txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  color: #FFF;
}
@media (min-width: 768px) {
  .home-intro__txt {
    font-size: 1.7rem;
    line-height: 2.2;
    letter-spacing: 0.09em;
  }
}
.home-intro__txt p {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .home-intro__txt p {
    margin-bottom: 2.5rem;
  }
}
.home-intro__txt p:last-child {
  margin-bottom: 0;
}
.home-intro__wrap {
  display: flex;
  justify-content: center;
  margin-top: 5rem;
}
@media (min-width: 768px) {
  .home-intro__wrap {
    justify-content: flex-end;
    margin-top: 6rem;
  }
}
@media (max-width: 767px) {
  .home-intro__wrap .btn-sub {
    padding-block: 2.1rem;
    min-width: 27.5rem;
  }
}

.sect-service {
  padding-block: 7rem;
}
@media (min-width: 768px) {
  .sect-service {
    padding-block: 11rem 5rem;
  }
}
.sect-service__inner {
  max-width: 1160px;
  width: 100%;
  margin-inline: auto;
  padding-inline: 4rem;
}
.sect-service__row-1 {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .sect-service__row-1 {
    flex-direction: row;
    gap: 8rem;
    margin-bottom: 0;
  }
}
.sect-service__row-1 .service-card {
  width: 100%;
}
@media (min-width: 768px) {
  .sect-service__row-1 .service-card {
    width: 50%;
  }
}
.sect-service__row-2 {
  display: flex;
  flex-direction: column;
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .sect-service__row-2 {
    flex-direction: row;
    gap: 5.5rem;
    margin-bottom: 8rem;
  }
  .sect-service__row-2 .service-card {
    margin-bottom: 0;
  }
}
.sect-service__row-2 .service-card {
  width: 100%;
}
@media (min-width: 768px) {
  .sect-service__row-2 .service-card {
    width: 33.33%;
  }
}
.sect-service__wrap-btn {
  display: flex;
  justify-content: center;
  padding-right: 0;
}
@media (min-width: 768px) {
  .sect-service__wrap-btn {
    justify-content: flex-end;
    padding-right: 1.7rem;
  }
}
@media (max-width: 767px) {
  .sect-service__wrap-btn .btn-sub {
    min-width: 27.5rem;
  }
}

.service-card {
  position: relative;
  margin-bottom: 6rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid var(--color-primary);
}
@media (min-width: 768px) {
  .service-card {
    margin-bottom: 10rem;
    padding-bottom: 3rem;
  }
  .service-card:hover::before {
    right: 0;
  }
  .service-card:hover .service-card__img img {
    transform: scale(1.1);
  }
  .service-card:hover .service-card__txt {
    color: var(--color-primary);
  }
}
@media (max-width: 767px) {
  .service-card:last-child {
    margin-bottom: 0;
  }
}
.service-card::before {
  position: absolute;
  bottom: -2rem;
  right: 1rem;
  width: 4rem;
  height: 4rem;
  background: #F2F7F7 url("../images/common/icn_arrow03.svg") no-repeat center;
  background-size: 2rem;
  border-radius: 4rem;
  transition: 0.3s right ease;
  content: "";
}
@media (min-width: 768px) {
  .service-card::before {
    right: 2rem;
  }
}
.service-card__head {
  display: inline-flex;
  flex-direction: column;
  align-items: baseline;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .service-card__head {
    flex-direction: inherit;
    margin-bottom: 0;
  }
}
.service-card__head.custom {
  display: flex;
  flex-direction: column;
}
.service-card .home-title-1 {
  display: inline-flex;
  justify-content: flex-start;
  margin-right: 1rem;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 2px;
}
@media (min-width: 768px) {
  .service-card .home-title-1 {
    margin-bottom: 2rem;
  }
}
.service-card .home-title-1.custom {
  font-weight: 400;
}
.service-card__img {
  margin-bottom: 2.5rem;
  border-radius: 2rem;
  aspect-ratio: 4/3;
  overflow: hidden;
}
@media (min-width: 768px) {
  .service-card__img {
    margin-bottom: 3.4rem;
  }
}
.service-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: 0.3s transform ease;
}
@media (min-width: 768px) {
  .service-card__content.custom {
    padding-left: 1rem;
  }
}
.service-card__txt {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.67;
  transition: 0.3s ease;
}
@media (min-width: 768px) {
  .service-card__txt {
    font-size: 2.2rem;
    line-height: 1.75;
    letter-spacing: 1px;
  }
}
@media (min-width: 768px) {
  .service-card__txt.large {
    letter-spacing: 0.25rem;
  }
}
@media (min-width: 1200px) {
  .service-card__txt.large {
    font-size: 2.4rem;
  }
}

.home-tags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@media (min-width: 768px) {
  .home-tags {
    margin-bottom: 2rem;
  }
}
.home-tags li {
  padding: 0.9rem 1.3rem 0.9rem;
  border-radius: 5rem;
  border: 1px solid;
  line-height: 1;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 1.5px;
}
@media (min-width: 768px) {
  .home-tags li {
    padding: 0.9rem 1rem 0.9rem;
    letter-spacing: 0;
  }
  .home-tags li.large {
    padding: 0.9rem 1.3rem 0.9rem;
  }
}
.home-tags li.associat {
  color: #47AFB3;
  border-color: #47AFB3;
}
.home-tags li.company {
  color: #F7AA3E;
  border-color: #F7AA3E;
}
.home-tags li.local {
  color: #EC8584;
  border-color: #EC8584;
}

.sect-announ {
  position: relative;
  padding-inline: 2.5rem;
}
@media (min-width: 768px) {
  .sect-announ {
    padding-inline: 0;
  }
}
@media (min-width: 768px) {
  .sect-announ__wrap {
    display: flex;
  }
}
.sect-announ__col {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .sect-announ__col {
    width: 50%;
  }
}
.sect-announ__col:first-child {
  z-index: 2;
}
.sect-announ__col:first-child::before {
  content: "";
  background-color: #fff;
  box-shadow: 3rem 3rem 5rem rgba(5, 143, 149, 0.05);
  border-radius: 0 3rem 0 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -2.5rem;
  left: -50vw;
  z-index: -1;
}
@media (min-width: 768px) {
  .sect-announ__col:first-child::before {
    border-radius: 0 5rem 0 0;
    right: 0;
  }
}
@media (min-width: 768px) {
  .sect-announ__col:last-child {
    margin-top: 6.3rem;
  }
}
.sect-announ__col:last-child::before {
  content: "";
  background-color: #E2F1F2;
  box-shadow: 1rem 1rem 4rem rgba(5, 143, 149, 0.15);
  border-radius: 0 0 0 5rem;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -2.5rem;
  right: -50vw;
  z-index: -1;
}
@media (min-width: 768px) {
  .sect-announ__col:last-child::before {
    box-shadow: 3rem 3rem 5rem rgba(5, 143, 149, 0.17);
    left: 0;
    bottom: -6.3rem;
  }
}
.sect-announ__wrap-btn {
  display: flex;
  justify-content: flex-end;
  padding-right: 1.5rem;
}
@media (min-width: 768px) {
  .sect-announ__wrap-btn {
    flex-direction: row;
    padding-right: 0;
  }
}
.sect-announ .home-title-1 {
  margin-bottom: 3rem;
  font-weight: 500;
  justify-content: flex-start;
  font-family: var(--font-primary);
  font-size: 2.2rem;
  gap: 1.4rem;
}
@media (min-width: 768px) {
  .sect-announ .home-title-1 {
    margin-bottom: 4rem;
  }
}

.block-announ {
  padding: 5.7rem 0 4.5rem;
}
@media (min-width: 768px) {
  .block-announ {
    padding: 10rem 4rem 9.7rem;
  }
}
@media (min-width: 1200px) {
  .block-announ {
    padding-inline: 10rem;
  }
}

.block-history {
  padding: 6rem 0 7rem;
}
@media (min-width: 768px) {
  .block-history {
    padding: 9rem 4rem 11rem;
  }
}
@media (min-width: 1200px) {
  .block-history {
    padding-inline: 10rem;
  }
}

.l-home {
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .l-home {
    margin-bottom: 3rem;
  }
}
.l-home__item {
  padding-bottom: 3rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid #56BFC2;
}
@media (min-width: 768px) {
  .l-home__item {
    padding-bottom: 4rem;
    margin-bottom: 4rem;
  }
}
.l-home__item:last-child {
  margin-bottom: 0;
}
.l-home__link {
  display: flex;
  align-items: center;
  transition: 0.3s opacity ease;
}
@media (min-width: 768px) {
  .l-home__link:hover .l-home__img img {
    transform: scale(1.1);
  }
  .l-home__link:hover .l-home__ttl {
    color: var(--color-primary);
  }
}
.l-home__img {
  width: 14rem;
  aspect-ratio: 140/105;
  border-radius: 1rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-home__img {
    aspect-ratio: 180/135;
    width: 18rem;
  }
}
.l-home__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: 0.3s ease;
}
.l-home__box {
  padding-left: 2rem;
  width: calc(100% - 140px);
}
@media (min-width: 768px) {
  .l-home__box {
    width: calc(100% - 180px);
    padding-left: 3rem;
  }
}
.l-home__head {
  display: flex;
  align-items: baseline;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .l-home__head {
    margin-bottom: 1.5rem;
  }
}
.l-home__head.pc {
  display: flex;
}
@media (max-width: 767px) {
  .l-home__head.pc {
    display: none;
  }
}
.l-home__head.sp {
  display: none;
}
@media (max-width: 767px) {
  .l-home__head.sp {
    display: flex;
  }
}
.l-home__date {
  color: #91959A;
  font-size: 1.6rem;
  line-height: 1;
  font-family: var(--font-en);
  font-weight: 400;
  letter-spacing: 1px;
}
.l-home__ttl {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 1px;
  word-break: break-all;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: 0.3s ease;
}
@media (min-width: 768px) {
  .l-home__ttl {
    font-size: 1.8rem;
    line-height: 1.67;
    -webkit-line-clamp: 3;
  }
}
.l-home__ttl.ellipsis-1 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.l-home__txt {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1.4rem;
  margin-top: 0.6rem;
  line-height: 1.57;
}
@media (min-width: 768px) {
  .l-home__txt {
    margin-top: 0.8rem;
    font-size: 1.5rem;
    line-height: 1.87;
  }
}
.announ-tags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.announ-tags li {
  padding: 0.7rem 1.3rem;
  border-radius: 5rem;
  border: 1px solid #47AFB3;
  line-height: 1;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 1.5px;
  color: #47AFB3;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .announ-tags li {
    padding: 0.7rem 1.3rem;
    letter-spacing: 0;
    font-size: 1.4rem;
  }
  .announ-tags li.large {
    padding: 0.9rem 1.3rem 0.9rem;
  }
}

.sect-company {
  padding-block: 8rem 6.5rem;
}
@media (min-width: 768px) {
  .sect-company {
    padding-block: 18.3rem 12rem;
  }
}
.sect-company__inner {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .sect-company__inner {
    flex-direction: row;
  }
}
.sect-company .home-title-1 {
  justify-content: flex-start;
}
@media (max-width: 767px) {
  .sect-company .home-title-1 {
    font-size: 1.8rem;
  }
}
.sect-company .home-title-2 {
  margin-bottom: 5rem;
}
@media (max-width: 767px) {
  .sect-company .home-title-2 {
    margin-bottom: 4rem;
    font-size: 2.6rem;
  }
}
.sect-company__img {
  width: 100%;
  min-width: inherit;
  margin-bottom: 4rem;
  overflow: hidden;
  border-radius: 1rem;
  aspect-ratio: 1/1;
}
@media (min-width: 768px) {
  .sect-company__img {
    flex-shrink: 0;
    aspect-ratio: 43/54;
    border-radius: 2rem;
    margin-bottom: 0;
    width: 43rem;
  }
}
.sect-company__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sect-company__content {
  width: 100%;
  margin-left: 0;
}
@media (min-width: 768px) {
  .sect-company__content {
    margin-left: 6rem;
    padding-top: 3.5rem;
  }
}
@media (min-width: 1200px) {
  .sect-company__content {
    margin-left: 12rem;
  }
}
.sect-company__txt {
  margin-bottom: 5rem;
  line-height: 2.2;
}
@media (min-width: 768px) {
  .sect-company__txt {
    margin-bottom: 5.5rem;
  }
}
@media (max-width: 767px) {
  .sect-company__wrap-btn {
    display: flex;
    justify-content: center;
  }
  .sect-company__wrap-btn .btn-sub {
    min-width: 27.5rem;
  }
}

.sect-research {
  position: relative;
}
.sect-research__inner {
  max-width: 133rem;
}

.bnr-research {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 30rem;
  width: 100%;
  padding-inline: 3rem;
  padding-bottom: 1rem;
  overflow: hidden;
  border-radius: 2rem;
  background-image: linear-gradient(315deg, #56BEC1 80%, #8CCED0 110%);
}
@media (min-width: 768px) {
  .bnr-research {
    height: 32.6rem;
    padding-inline: 10rem 15rem;
    padding-top: 0.8rem;
    padding-bottom: 0;
  }
  .bnr-research:hover::before {
    transform: translateX(40px);
  }
  .bnr-research:hover::after {
    opacity: 0.3;
  }
}
.bnr-research::before {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url("../images/home/bg_research_sp.svg") no-repeat 0 center;
  background-size: cover;
  transition: 0.3s all ease;
  mix-blend-mode: darken;
  content: "";
}
@media (min-width: 768px) {
  .bnr-research::before {
    left: 5rem;
    background-image: url("../images/home/bg_research.svg");
    background-size: auto 100%;
  }
}
.bnr-research::after {
  display: none;
}
@media (min-width: 768px) {
  .bnr-research::after {
    display: block;
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: #56BEC1;
    opacity: 0;
    mix-blend-mode: color-burn;
    transition: 0.3s opacity ease;
    content: "";
  }
}
.bnr-research .home-title-1 {
  position: relative;
  z-index: 2;
  justify-content: flex-start;
  margin-bottom: 1.3rem;
  color: #FFF;
}
@media (min-width: 768px) {
  .bnr-research .home-title-1 {
    margin-bottom: 1rem;
  }
}
@media (max-width: 767px) {
  .bnr-research .home-title-1 {
    font-size: 1.8rem;
  }
}
.bnr-research__ttl {
  position: relative;
  margin-bottom: 2.7rem;
  z-index: 2;
  font-size: 2.8rem;
  color: #FFF;
  font-weight: 600;
}
@media (min-width: 768px) {
  .bnr-research__ttl {
    margin-bottom: 3rem;
    font-size: 3.6rem;
    letter-spacing: 0.1em;
  }
}
.bnr-research__txt {
  position: relative;
  z-index: 2;
  font-size: 1.6rem;
  font-weight: 500;
  color: #FFF;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .bnr-research__txt {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
  }
}
.bnr-research .icon-arrow {
  position: absolute;
  transform: none;
  bottom: 2rem;
  top: auto;
  right: 2rem;
}
@media (min-width: 768px) {
  .bnr-research .icon-arrow {
    top: 50%;
    bottom: auto;
    right: 8rem;
    transform: translateY(-50%);
    width: 6rem;
    height: 6rem;
  }
}

.sect-recruit {
  background-color: #E2F1F2;
  margin-top: -10rem;
  padding-block: 16.9rem 8rem;
}
@media (min-width: 768px) {
  .sect-recruit {
    padding-block: 21rem 16rem;
  }
}
.sect-recruit__inner {
  display: flex;
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .sect-recruit__inner {
    flex-direction: row;
  }
}
.sect-recruit .home-title-1 {
  justify-content: flex-start;
}
@media (max-width: 767px) {
  .sect-recruit .home-title-1 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}
.sect-recruit .home-title-2 {
  margin-bottom: 5.5rem;
  letter-spacing: 0.2em;
}
@media (max-width: 1199px) {
  .sect-recruit .home-title-2 {
    letter-spacing: 0.02em;
  }
}
@media (max-width: 767px) {
  .sect-recruit .home-title-2 {
    margin-bottom: 4rem;
    font-size: 2.6rem;
  }
}
.sect-recruit__img {
  width: 100%;
  margin-bottom: 4rem;
  overflow: hidden;
  border-radius: 1rem;
  aspect-ratio: 650/645;
}
@media (min-width: 768px) {
  .sect-recruit__img {
    width: 43rem;
    min-width: 43rem;
    margin-bottom: 0;
    border-radius: 2rem;
    aspect-ratio: 43/54;
  }
}
.sect-recruit__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sect-recruit__content {
  width: 100%;
  margin-left: 0;
}
@media (min-width: 768px) {
  .sect-recruit__content {
    width: calc(100% - 43rem);
    padding-top: 4rem;
    padding-left: 1rem;
    margin-right: 6rem;
  }
}
@media (min-width: 1200px) {
  .sect-recruit__content {
    margin-right: 12rem;
  }
}
.sect-recruit__txt {
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .sect-recruit__txt {
    margin-bottom: 6rem;
  }
}
.sect-recruit .btn-sub[target=_blank] {
  min-width: 27.5rem;
  padding-block: 2.5rem;
  font-size: 1.8rem;
}
@media (min-width: 768px) {
  .sect-recruit .btn-sub[target=_blank] {
    padding-block: 2.1rem;
    min-width: 22.5rem;
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .sect-recruit__wrap-btn {
    display: flex;
    justify-content: center;
  }
}

.c-contact {
  background-color: #E2F1F2;
  margin-top: 0;
}