@charset "utf-8";

.main {
  background: linear-gradient(180deg, rgb(var(--color-black2)), #232323) no-repeat top center/100% var(--bg-height);
}



.mv {
  position: relative;
  z-index: 1;
}
.mv__content {
  position: relative;
  z-index: 1;
}
.mv__content__photo {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
}
.mv__content__opening {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100svh;
  grid-template-columns: 100%;
  grid-template-rows: minmax(0, calc(var(--header-height, 80px) + 30px)) minmax(0, 1fr) minmax(0, 15%);
  align-items: center;
}
.mv__content__opening__heading {
  grid-column: 1;
  grid-row: 2;
  width: max(608px, calc(908 / 1920 * 100%));
  margin-inline: auto;
}
.mv__content__opening__heading span {
  display: block;
  opacity: 0;
}
.mv__content__opening__heading span + span {
  width: calc(716 / 908 * 100%);
  margin-inline: auto;
}
.mv__content__opening__subheading {
  grid-row: 3;
  align-self: end;
  width: 100%;
  opacity: 0;
}
.mv__content__opening__scrolldown {
  grid-column: 1;
  grid-row: 2;
  height: 100%;
  margin-inline: auto 32px;
  opacity: 0;
}
.mv__content__opening__scrolldown__group {
  height: 100%;
  grid-template-columns: auto;
  justify-items: center;
  align-content: center;
  align-items: start;
  gap: 16px 0;
}
.mv__content__opening__scrolldown__group__copy {
  font-size: clamp(14px, calc(20 / 1200 * 100vw), 20px);
  writing-mode: vertical-rl;
}
.mv__content__opening__scrolldown__group__line {
  position: relative;
  z-index: 1;
  width: 1px;
  height: 80px;
  background: #fff;
  overflow: hidden;
}
.mv__content__opening__scrolldown__group__line::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(20 / 80 * 100%);
  background: rgb(var(--color-red));
  animation: mv-scrolldown 2s ease-in-out infinite;
}
@keyframes mv-scrolldown {
  0% {
    top: -50%;
  }
  100% {
    top: 100%;
  }
}
.mv__content__vision {
  margin-top: max(154px, calc(154 / 1920 * 100%));
  padding-bottom: max(200px, calc(200 / 1920 * 100%));
}
/* .mv__content__vision__heading {
} */
.mv__content__vision__heading > span {
  font-size: clamp(70px, calc(120 / 1200 * 100vw), 120px);
}
.mv__content__vision__subheading {
  width: max(535px, calc(835 / 1920 * 100%));
  margin-top: max(64px, calc(64 / 1920 * 100%));
  grid-template-columns: minmax(0, 1fr);
  justify-content: center;
  align-content: center;
  align-items: start;
  gap: max(40px, calc((20 / 960) * var(--window-half-width))) 0;
}
.mv__content__vision__subheading span {
  display: block;
  margin-inline: auto;
}
.mv__content__vision__subheading span:nth-of-type(1) {
  width: calc(674 / 835 * 100%);
}
.mv__content__vision__subheading span:nth-of-type(2) {
  width: 100%;
}
.mv__content__vision__subheading span:nth-of-type(3) {
  width: calc(600 / 835 * 100%);
}
.mv__content__vision__desc {
  max-width: 1024px;
  margin-top: max(64px, calc(64 / 1920 * 100%));
}
.mv__content__vision__desc__copy {
  font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
  line-height: 2.2;
}
@media screen and (max-width: 767px){
  .mv__content__opening {
    grid-template-rows: minmax(0, calc(var(--header-height, 50px) + 20px)) minmax(0, 1fr) minmax(0, 12%);
  }
  .mv__content__opening__heading {
    width: calc(320 / 380 * 100%);
  }
  .mv__content__opening__subheading {
    width: calc(320 / 380 * 100%);
    margin-inline: auto;
  }
  .mv__content__opening__scrolldown {
    display: none;
  }
  .mv__content__vision {
    margin-top: calc(80 / 380 * 100%);
    padding-bottom: 50px;
  }
  .mv__content__vision__heading > span {
    font-size: 44px;
  }
  .mv__content__vision__subheading {
    width: 290px;
    margin-top: 30px;
    gap: 15px 0;
  }
  .mv__content__vision__desc {
    max-width: 560px;
    margin-top: 30px;
  }
  .mv__content__vision__desc__copy {
    font-size: 18px;
  }
}



.pagelink#pagelink {
  position: relative;
  z-index: 2;
  translate: 0 -122px;
}
.pagelink#pagelink .pagelink__content{
  margin-bottom: -122px;
}
@media screen and (max-width: 767px){
  .pagelink#pagelink {
    translate: none;
  }
  .pagelink#pagelink .pagelink__content{
    margin-bottom: 0;
  }
}



.news {
  padding-block: 64px 57px;
}
.news__content {
  max-width: 1024px;
}
/* .news__content__heading {
} */
.news__content__heading > span {
  font-size: clamp(22px, calc(32 / 1200 * 100vw), 32px);
}
.news__content__heading > span + span {
  font-size: clamp(12px, calc(16 / 1200 * 100vw), 16px);
}
.news__content__list {
  margin-top: 8px;
}
.news__content__list__item {
  box-sizing: border-box;
  border-bottom: 1px solid #555;
  padding-block: 16px;
}
.news__content__list__item__link {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 0 calc(32 / 16 * 1em);
  font-size: clamp(12px, calc(16 / 1200 * 100vw), 16px);
}
.news__content__list__item__link__date {
  line-height: 1.25;
}
.news__content__list__item__link__copy {
  line-height: 1.4375;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.news__content__more {
  max-width: fit-content;
  margin-top: 16px;
  margin-left: auto;
}
@media (any-hover: hover) {
  .news__content__list__item__link {
    transition: color .3s;
  }
  .news__content__list__item__link:hover {
    color: rgb(var(--color-red));
  }
}
@media screen and (max-width: 767px){
  .news {
    padding-block: 60px;
  }
  .news__content {
    max-width: 560px;
  }
  .news__content__heading > span {
    font-size: 30px;
  }
  .news__content__heading > span + span {
    font-size: 16px;
  }
  .news__content__list__item__link {
    grid-template-columns: 100%;
    align-items: start;
    gap: 5px 0;
    font-size: 16px;
  }
}



/* .service {
}
.service__heading {
} */
.service__heading > span {
  font-size: clamp(70px, calc(120 / 1200 * 100vw), 120px);
}
.service__match {
  max-width: 1270px;
  margin-top: 36px;
  grid-template-columns: minmax(0, auto);
  justify-items: center;
}
.service__match__brand {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 1;
  width: calc(479 / 1270 * 100%);
}
.service__match__comment {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  grid-template-columns: repeat(2, minmax(0, calc(407 / 1270 * 100%)));
  justify-content: space-between;
  align-content: center;
  align-items: start;
  gap: calc(28 / 479 * 100%) 0;
}
.service__match__comment__item {
  position: relative;
  z-index: 1;
}
.service__match__comment__item:nth-child(1),
.service__match__comment__item:nth-child(5) {
  translate: calc(48 / 407 * 100%);
}
.service__match__comment__item:nth-child(2),
.service__match__comment__item:nth-child(6) {
  translate: calc(48 / 407 * -100%);
}
.service__match__comment__item::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  translate: 0 -50%;
  width: calc(56 / 407 * 100%);
  padding-top: calc(56 / 407 * 100%);
  background: url(../../img/home/icon_service_match_comment.webp) no-repeat center/100% auto;
  opacity: 0;
  animation: fadeoutMatchItems .3s forwards;
}
@keyframes fadeoutMatchItems {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.service__match__comment__item:nth-child(1)::before,
.service__match__comment__item:nth-child(3)::before,
.service__match__comment__item:nth-child(5)::before {
  left: auto;
  right: calc(28 / 407 * -100%);
}
.service__match__comment__item:nth-child(2)::before,
.service__match__comment__item:nth-child(4)::before,
.service__match__comment__item:nth-child(6)::before {
  left: calc(28 / 407 * -100%);
}
.service__match__comment__item--active::before {
  animation: fadeinMatchItems .5s forwards;
}
@keyframes fadeinMatchItems {
  0% {
    opacity: 0;
    scale: 1;
  }
  50% {
    opacity: 1;
    scale: 1.2;
  }
  100% {
    opacity: 1;
    scale: 1;
  }
}
.service__desc {
  margin-top: 20px;
}
.service__desc__heading {
  font-size: clamp(22px, calc(32 / 1200 * 100vw), 32px);
  line-height: 2;
}
.service__desc__heading em {
  position: relative;
  z-index: 1;
  display: inline-block;
}
.service__desc__heading em::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: .35em -.15em .25em -.15em;
  background: rgb(var(--color-red));
}
.service__desc__copy {
  max-width: 768px;
  margin-top: 32px;
}
.service__desc__more {
  max-width: 291px;
  margin-top: 24px;
}
.service__list {
  margin-top: 52px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: start;
  align-items: stretch;
}
.service__list__item {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  padding: 64px calc(64 / 640 * 100%);
}
.service__list__item__photo {
  position: absolute;
  z-index: -1;
  inset: 0;
}
.service__list__item__photo img {
  height: 100%;
  object-fit: cover;
}
.service__list__item__logo {
  max-width: 382px;
  margin-inline: auto;
}
.service__list__item__desc {
  flex: 1;
  margin-top: 16px;
}
/* .service__list__item__desc__copy {
} */
.service__list__item__more {
  max-width: fit-content;
  margin-top: 32px;
  margin-inline: auto;
}
@media screen and (max-width: 767px){
  .service__heading > span {
    font-size: 44px;
  }
  .service__match {
    width: 100%;
    max-width: 560px;
    margin-top: 30px;
    margin-left: 0;
    grid-template-columns: 100%;
    justify-items: stretch;
    align-items: start;
  }
  .service__match__brand {
    position: -webkit-sticky;
    position: sticky;
    top: var(--header-height, 50px);
    width: calc(271 / 380 * 100%);
  }
  .service__match__comment {
    width: calc(210 / 380 * 100%);
    height: auto;
    grid-template-columns: 1fr;
    justify-content: start;
    align-content: start;
    gap: 20px 0;
    margin-inline: auto 20px;
    padding-block: calc(500 / 380 * 100%) calc(300 / 380 * 100%);
  }
  .service__match__comment__item:nth-child(1),
  .service__match__comment__item:nth-child(5) {
    translate: none;
  }
  .service__match__comment__item:nth-child(2),
  .service__match__comment__item:nth-child(6) {
    translate: none;
  }
  .service__match__comment__item::before {
    width: calc(35 / 210 * 100%);
    padding-top: calc(35 / 210 * 100%);
  }
  .service__match__comment__item:nth-child(1)::before,
  .service__match__comment__item:nth-child(3)::before,
  .service__match__comment__item:nth-child(5)::before {
    left: calc(12 / 210 * -100%);
    right: auto;
  }
  .service__match__comment__item:nth-child(2)::before,
  .service__match__comment__item:nth-child(4)::before,
  .service__match__comment__item:nth-child(6)::before {
    left: calc(12 / 210 * -100%);
  }
  .service__desc {
    margin-top: 30px;
  }
  .service__desc__heading {
    font-size: 22px;
    line-height: 1.818181818;
  }
  .service__desc__copy {
    max-width: 560px;
    margin-top: 30px;
  }
  .service__desc__more {
    max-width: 560px;
    margin-top: 30px;
  }
  .service__list {
    margin-top: 60px;
    grid-template-columns: 100%;
    align-items: start;
  }
  .service__list__item {
    padding: 40px 40px 60px;
    min-height: 370px;
  }
  .service__list__item__logo {
    max-width: 229px;
  }
  .service__list__item__desc {
    margin-top: 20px;
  }
  .service__list__item__more {
    margin-top: 30px;
  }
}



.search {
  padding-block: 64px;
  background: rgb(var(--color-gray2));
}
@media screen and (max-width: 767px) {
  .search {
    padding-block: 50px;
  }
}



/* .company {
} */
.company__content {
  max-width: 1540px;
}
.company__content__photo {
  position: relative;
  z-index: 1;
  flex: 1;
}
.company__content__photo img {
  width: calc(1134 / 1024 * 100%);
  max-width: none;
  margin-right: calc(110 / 1024 * -100%);
}
.company__content__desc {
  position: relative;
  z-index: 2;
  width: calc(706 / 1540 * 100%);
}
/* .company__content__desc__heading {
} */
.company__content__desc__heading > span {
  font-size: clamp(70px, calc(120 / 1400 * 100vw), 120px);
}
.company__content__desc__copy {
  margin-top: 48px;
}
.company__content__desc__more {
  max-width: fit-content;
  margin-top: 32px;
}
@media screen and (max-width: 767px){
  .company__content {
    max-width: 560px;
  }
  .company__content__photo {
    flex: 1 0 100%;
  }
  .company__content__photo img {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .company__content__desc {
    width: 100%;
    margin-top: 30px;
  }
  .company__content__desc__heading > span {
    font-size: 44px;
  }
  .company__content__desc__copy {
    margin-top: 30px;
  }
  .company__content__desc__more {
    max-width: 560px;
    margin-top: 30px;
  }
}



.message {
  margin-top: 134px;
}
.message__content {
  max-width: 1152px;
}
.message__content__photo {
  position: relative;
  z-index: 1;
  flex: 1;
}
.message__content__photo img {
  display: block;
  width: calc(688 / 640 * 100%);
  max-width: none;
  margin-inline: calc(24 / 640 * -100%);
}
.message__content__desc {
  position: relative;
  z-index: 2;
  width: calc(512 / 1152 * 100%);
}
/* .message__content__desc__heading {
} */
.message__content__desc__heading > span {
  font-size: clamp(50px, calc(80 / 1200 * 100vw), 80px);
}
.message__content__desc__heading > span + span {
  font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
  margin-top: calc(20 / 24 * 1em);
}
.message__content__desc__copy {
  margin-top: 50px;
}
.message__content__desc__more {
  max-width: fit-content;
  margin-top: 32px;
}
@media screen and (max-width: 767px){
  .message {
    margin-top: 60px;
  }
  .message__content {
    max-width: 560px;
  }
  .message__content__photo {
    flex: 1 0 100%;
  }
  .message__content__photo img {
    width: calc(310 / 320 * 100%);
    max-width: 100%;
    margin-inline: auto;
  }
  .message__content__desc {
    width: 100%;
    margin-top: 22px;
  }
  .message__content__desc__heading > span {
    font-size: 36px;
  }
  .message__content__desc__heading > span + span {
    font-size: 16px;
    margin-top: calc(10 / 16 * 1em);
  }
  .message__content__desc__copy {
    margin-top: 30px;
  }
  .message__content__desc__more {
    max-width: 560px;
    margin-top: 30px;
  }
}



.discover {
  margin-top: 120px;
}
.discover__desc--2 {
  margin-bottom: -.5em;
}
@media screen and (max-width: 767px){
  .discover {
    margin-top: 66px;
  }
  .discover__desc--2 {
    margin-bottom: -1.05em;
  }
}



.recruit {
  padding-block: calc(180 / 1920 * 100%) calc(280 / 1920 * 100%);
  background: url(../../img/home/bg_recruit.webp) no-repeat center/cover;
}
.recruit__content {
  grid-template-columns: calc(706 / 1536 * 100%) minmax(0, 1fr);
  align-items: start;
  gap: 63px calc(63 / 1536 * 100%);
}
/* .recruit__content__desc {
}
.recruit__content__desc__heading {
} */
.recruit__content__desc__heading > span {
  font-size: clamp(70px, calc(120 / 1200 * 100vw), 120px);
}
.recruit__content__desc__heading > span + span {
  background: rgb(var(--color-black1));
}
.recruit__content__desc__copy {
  margin-top: 48px;
}
.recruit__content__desc__more {
  max-width: fit-content;
  margin-top: 32px;
}
/* .recruit__content__number {
} */
.recruit__content__number__heading {
  display: inline-block;
  font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
  color: rgb(var(--color-black1));
  background: rgb(var(--color-white));
}
/* .recruit__content__number__list {
} */
.recruit__content__number__list__item {
  box-sizing: border-box;
  border-bottom: 1px solid rgb(var(--color-white));
  padding: 24px calc(40 / 769 * 100%);
  grid-template-columns: calc(80 / 689 * 100%) minmax(0, 1fr) minmax(0, auto);
  align-items: center;
  gap: 32px calc(32 / 689 * 100%);
}
/* .recruit__content__number__list__item__icon {
} */
.recruit__content__number__list__item__heading {
  font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
  line-height: 1.458333333;
}
/* .recruit__content__number__list__item__desc {
} */
.recruit__content__number__list__item__desc__copy {
  font-size: clamp(20px, calc(40 / 1200 * 100vw), 40px);
  font-weight: 900;
}
.recruit__content__number__list__item__desc__copy em {
  font-size: calc(80 / 40 * 100%);
  margin-right: .1em;
}
.recruit__content__number__list__item__desc__caution {
  font-size: 10px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .recruit__content__number__list__item__desc {
    grid-column: span 3;
    margin-top: -24px;
  }
}
@media screen and (max-width: 767px){
  .recruit {
    padding-block: calc(77 / 380 * 100%) 90px;
    background: url(../../img/home/bg_recruit-sp.webp) no-repeat center/cover;
  }
  .recruit__content {
    grid-template-columns: 100%;
    gap: 60px 0;
  }
  .recruit__content__desc__heading > span {
    font-size: 44px;
  }
  .recruit__content__desc__copy {
    margin-top: 34px;
  }
  .recruit__content__desc__more {
    max-width: 560px;
    margin-top: 34px;
  }
  .recruit__content__number__heading {
    font-size: 22px;
  }
  .recruit__content__number__list {
    width: calc(var(--window-half-width) * 2);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    margin-top: 30px;
    margin-inline: calc(50% - var(--window-half-width));
    border-top: 1px solid rgb(var(--color-white));
  }
  .recruit__content__number__list__item {
    padding: 30px 0;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 8px 0;
  }
  .recruit__content__number__list__item:nth-child(odd) {
    border-right: 1px solid rgb(var(--color-white));
  }
  .recruit__content__number__list__item__icon {
    width: 56px;
    margin-inline: auto;
  }
  .recruit__content__number__list__item__heading {
    font-size: 20px;
    line-height: 1.5;
    text-align: center;
  }
  .recruit__content__number__list__item__desc__copy {
    font-size: 22px;
    text-align: center;
  }
  .recruit__content__number__list__item__desc__copy em {
    font-size: calc(44 / 22 * 100%);
  }
  .recruit__content__number__list__item__desc__caution {
    line-height: 1.4;
    text-align: center;
    margin-top: 8px;
  }
}



.pagelink#pagelink2 {
  translate: 0 -50%;
}
@media screen and (max-width: 767px){
  .pagelink#pagelink2 {
    translate: none;
    margin-top: -40px;
  }
}



.sustainability {
  margin-top: -40px;
  padding-bottom: 100px;
}
/* .sustainability__content {
}
.sustainability__content__desc {
}
.sustainability__content__desc__heading {
} */
.sustainability__content__desc__heading > span {
  font-size: clamp(70px, calc(120 / 1200 * 100vw), 120px);
}
.sustainability__content__desc__copy {
  max-width: 800px;
  margin-top: 48px;
}
.sustainability__content__desc__more {
  max-width: fit-content;
  margin-top: 32px;
}
.sustainability__content__list {
  margin-top: 80px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 48px calc(48 / 1536 * 100%);
}
/* .sustainability__content__list__item {
} */
.sustainability__content__list__item__enheading {
  font-size: clamp(12px, calc(16 / 1200 * 100vw), 16px);
  line-height: 1.25;
}
.sustainability__content__list__item__jaheading {
  font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
  line-height: 1.3;
  margin-top: 8px;
}
.sustainability__content__list__item__photo {
  margin-top: 16px;
}
.sustainability__content__list__item__desc {
  margin-top: 16px;
}
/* .sustainability__content__list__item__desc__copy {
} */
.sustainability__content__list__item__more {
  max-width: fit-content;
  margin-top: 32px;
}
@media screen and (max-width: 767px){
  .sustainability {
    margin-top: 60px;
    padding-bottom: 60px;
  }
  .sustainability__content__desc__heading > span {
    font-size: 44px;
  }
  .sustainability__content__desc__copy {
    max-width: none;
    margin-top: 30px;
  }
  .sustainability__content__desc__more {
    max-width: 560px;
    margin-top: 30px;
  }
  .sustainability__content__list {
    margin-top: 60px;
    grid-template-columns: 100%;
    gap: 40px 0;
  }
  .sustainability__content__list__item__enheading {
    font-size: 16px;
  }
  .sustainability__content__list__item__jaheading {
    font-size: 22px;
  }
  .sustainability__content__list__item__photo {
    margin-top: 20px;
  }
  .sustainability__content__list__item__desc {
    margin-top: 20px;
  }
  .sustainability__content__list__item__more {
    margin-top: 20px;
  }
}



.pagetop {
  opacity: 0;
  visibility: hidden;
}