@charset "UTF-8";

/*
GENERAL STYLING
================================================ */
body {
  font-size: 3.2vw;
}

/*
TITLE
================================================ */
.title .en {
  font-size: 8vw;
}
.title .ja {
  font-size: 2.667vw;
}

/*
BUTTON
================================================ */
.button {
  padding: 2.133vw 11.2vw;
  font-size: 3.2vw;
  border-radius: 4.667vw;
}
.link-button {
  padding: 0 1.067vw 1.067vw 0.8vw;
  max-width: 34.4vw;
}
.link-button::after {
  border-left: 1.6vw solid var(--light-black);
  border-top: 1.067vw solid transparent;
  border-bottom: 1.067vw solid transparent;
}
.link-button.link-button-white::after {
  border-left: 1.6vw solid var(--white);
}

/*
HEADER
================================================ */
header {
  padding: 0 0 0 2.667vw;
}
header .logo {
  width: 25.867vw;
}
header .l-nav {
  gap: 2vw;
}
header .nav ul {
  gap: 2.667vw;
}
header .nav__request a,
header .nav__contact a {
	display: block;
  padding: 1.067vw 2.667vw;
  width: 21.333vw;
  font-size: 2.133vw;
  border-radius: 3vw;
}
header .nav__request a span,
header .nav__contact a span {
  font-size: 2.133vw;
	margin-left:0;
	display: block;
}
/* Language Select */
.lang-select select {
  padding: 3vw 7.2vw 3vw 4vw;
  font-size: 2.3vw;
}
.lang-select::after {
  right: 3.467vw;
  border-right: 0.8vw solid transparent;
  border-left: 0.8vw solid transparent;
  border-top: 1.6vw solid var(--white);
}

/*
HERO
================================================ */
.hero {
  padding: 16vw 6.667vw 13.333vw;
  background: url('../img/hero_sp.jpg') no-repeat center center / cover;
  background-image: image-set(
    url("../img/hero_sp.jpg") 1x,
    url("../img/hero_sp@2x.jpg") 2x
  );
}
.hero__copy {
  margin: 0 0 5.33vw;
  font-size: 5.333vw;
}
.hero__text {
  font-size: 2.133vw;
}

/*
REQUEST
================================================ */
.request .button {
  gap: 1.867vw;
  margin: 12vw auto 16vw;
}
.request .button::before {
  width: 2.667vw;
  height: 3.6vw;
  background-size: 2.667vw 3.6vw;
}

/*
POINTS OF DIFFERENTIATION
================================================ */
#points {
  margin: 0 0 14.667vw;
}
#points .title {
  margin: 0 0 8vw;
}
#points .container {
  padding: 0 6.667vw 13.333vw;
}
#points .container::before {
  height: 5.333vw;
}
#points .points__text--title {
  margin: 0 0 1em;
  font-size: 5.333vw;
}
#points .points__text p {
  font-size: 3.2vw;
}
#points .img-points {
  margin-bottom: 9.333vw;
}
#points .img-points img {
  border-radius: 13.333vw 0 13.333vw 0;
}

/*
SERVICES
================================================ */
#service {
  padding: 0 6.667vw;
}
#service::before {
  height: 5.333vw;
}
#service::after {
  height: 9.333vw;
}
#service .title {
  margin-bottom: 5.333vw;
}
#service .description {
  margin: 0 0 8vw;
  line-height: 2;
}
#service .service__item {
  flex-direction: column;
  gap: 4vw;
  padding: 5.333vw 4vw;
  border-radius: 2.667vw;
}
#service .service__item:nth-child(1) {
  background-image: url(../img/bg_service01_sp.jpg);
  background-image: image-set(
    url("../img/bg_service01_sp.jpg") 1x,
    url("../img/bg_service01_sp@2x.jpg") 2x
  );
}
#service .service__item:nth-child(2) {
  background-image: url(../img/bg_service02_sp.jpg);
  background-image: image-set(
    url("../img/bg_service02_sp.jpg") 1x,
    url("../img/bg_service02_sp@2x.jpg") 2x
  );
}
#service .service__item:nth-child(3) {
  background-image: url(../img/bg_service03_sp.jpg);
  background-image: image-set(
    url("../img/bg_service03_sp.jpg") 1x,
    url("../img/bg_service03_sp@2x.jpg") 2x
  );
}
#service .service__item + .service__item {
  margin-top: 5.333vw;
}
#service .service__number {
  font-size: 16vw;
}
#service .service__box {
  margin-top: 0;
}
#service .service__title {
  margin: 0 0 4vw;
  font-size: 5.333vw;
}
#service .service__title::after {
  margin-top: 4vw;
  width: 6.667vw;
  height: 0.4vw;
}
#service .service__text {
  line-height: 1.8;
}

/*
CONSULTANTS
================================================ */
#consultant {
  padding: 20vw 6.667vw 14.667vw;
}
#consultant .description {
  margin-bottom: 8vw;
}

.swiper {
  margin-bottom: 8vw;
}
.swiper-wrapper {
  margin-bottom: 6.133vw;
}
.swiper__box {
  flex-direction: column;
}
.swiper .text {
  padding: 5.333vw 3.2vw;
}
.swiper .info {
  margin-bottom: 6.667vw;
}
.swiper .info::after {
  margin-top: 2.667vw;
  width: 6.667vw;
  height: 0.667vw;
}
.swiper .name {
  margin: 0 0 2.667vw;
  font-size: 5.333vw;
}
.swiper img {
  max-width: 100%;
  width: 100%;
}

.swiper-button {
  gap: 1.6vw;
}
.swiper-button-prev,
.swiper-button-next {
  width: 6.667vw;
  height: 6.667vw;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  width: 1.333vw;
  height: 2.667vw;
  background-size: 1.333vw 2.667vw;
}
.swiper-button-next::after {
  right: -0.267vw;
}

/*
CASE STUDIES
================================================ */
#case {
  padding: 16vw 6.667vw;
}
#case .title {
  margin-bottom: 8vw;
}
#case .case__item {
  padding: 5.333vw;
  border-radius: 2.667vw;
}
#case .case__item + .case__item {
  margin-top: 8vw;
}
#case .case__title {
  margin: 0 0 4vw;
  padding: 0 0 0 3.733vw;
  font-size: 4.267vw;
  border-left: 0.933vw solid var(--blue);
}
#case .case__box {
  gap: 4vw;
}
#case .case__info {
  flex-direction: column;
  padding: 2.667vw;
  gap: 2.133vw;
  font-size: 3.2vw;
  border-radius: 1.333vw;
}

/*
SERVICE FLOW
================================================ */
#flow {
  padding: 16vw 6.667vw;
}
#flow .title {
  margin-bottom: 8vw;
}
#flow .flow__list {
  gap: 4vw;
}
#flow .flow__item {
  gap: 4vw;
  padding: 3.733vw 4.267vw;
  border-radius: 1.333vw;
}
#flow .flow__content {
  flex-direction: column;
  gap: 1.6vw;
  padding: 2.667vw 0;
}
#flow .flow__number {
  width: 10.667vw;
  min-width: 10.667vw;
  font-size: 6.667vw;
  padding-right: 4vw;
  border-right: 0.4vw solid var(--light-black);
}
#flow .flow__icon {
  width: 16vw;
  min-width: 16vw;
  max-width: 16vw;
}
#flow .flow__item:nth-child(1) .flow__icon {
  width: 12.267vw;
  min-width: 12.267vw;
  max-width: 12.267vw;
}
#flow .flow__item:nth-child(3) .flow__icon {
  width: 14.667vw;
  min-width: 14.667vw;
  max-width: 14.667vw;
}
#flow .flow__item:nth-child(4) .flow__icon {
  width: 10.933vw;
  min-width: 10.933vw;
  max-width: 10.933vw;
}
#flow .flow__title {
  font-size: 4.267vw;
}

/*
BLOG
================================================ */
#blog {
  padding: 16vw 6.667vw;
}
#blog .title {
  margin-bottom: 8vw;
}
#blog .blog__item {
  gap: 2.667vw;
  padding: 2.667vw;
}
#blog .blog__content,
#blog .blog__info {
  gap: 2.667vw;
}
#blog .blog__content {
  flex-direction: column;
  align-items: flex-start;
}
#blog .blog__date {
  font-size: 4.267vw;
}
#blog .blog__category {
  padding: 0.533vw 2.133vw;
  font-size: 3.2vw;
}
#blog .l-arrow {
  width: 4vw;
  height: 4vw;
}
#blog .arrow {
  width: 0.8vw;
  height: 1.6vw;
}
#blog .arrow::before,
#blog .arrow::after {
  width: 1.333vw;
  right: -0.133vw;
}

#blog .link-button {
  margin: 12vw auto 0;
}

/*
RECRUIT
================================================ */
#recruit {
  padding: 0 6.667vw;
}
#recruit .inner {
  padding: 8vw 5.333vw 6.133vw;
  background-image: url(../img/bg_recruit_sp.jpg);
  background-image: image-set(
    url("../img/bg_recruit_sp.jpg") 1x,
    url("../img/bg_recruit_sp@2x.jpg") 2x
  );
  border-radius: 2.667vw;
}
#recruit .recruit__title {
  font-size: 4vw;
  line-height: 1.7;
}
#recruit .button {
  margin-top: 6.4vw;
}

/*
ELIQUENT Life Sciences
================================================ */
#eliquent-overview {
  padding: 18.667vw 6.667vw 13.333vw;
}
#eliquent-overview .title {
  margin-bottom: 5.333vw;
}
#eliquent-overview .title .en {
  font-size: 6.667vw;
}
#eliquent-overview .button {
  margin-top: 9.333vw;
}

/*
CONTACT US
================================================ */
#contact {
  padding: 16vw 6.667vw 13.333vw;
}
#contact .title {
  margin-bottom: 5.333vw;
}

/*
COMPANY
================================================ */
#company {
  padding: 13.333vw 6.667vw;
}
#company .title {
  text-align: center;
}
#company .wrap-company {
  flex-direction: column;
  gap: 6.667vw;
}
/*
Lower Page
================================================ */
.lower-page{
	padding:6.667vw;
}
h1.lower-title{
	padding: 4vw;
	font-size:6.667vw;
}
.lower-page h2{
    font-size: 5.667vw;
}