@charset "utf-8";

/* *****************************************************************************

  index style

***************************************************************************** */
.hero-slide,
.hero-slide li{
  margin: 0;
  padding: 0;
  list-style: none;
}
.hero-slide img{
  width: 100%;
  height: auto;
  display: block;
}

/* hero-catch */
.hero-catch{
  width: 61.1111%;
  margin-top: -3.4722vw;
  position: relative;
}
.hero-catch > img{
  width: 100%;
  display: block;
}
.hero-catch > img.-sp{
  display: none;
}

@media print, screen and (max-width: 760px){
  /* hero-catch */
  .hero-catch{
    width: 61.1111%;
    margin-top: -24.6942vw;
  }
  .hero-catch > img.-pc{
    display: none;
  }
  .hero-catch > img.-sp{
    display: block;
  }
}

/* contents-home */
.contents-home{
  padding-bottom: 12rem;
  overflow: hidden;
}

@media print, screen and (max-width: 760px){
  /* contents-home */
  .contents-home{
    padding-bottom: 10rem;
  }
}

/* section-box */
.section-box{
  margin-top: 3.5rem;
}

/* section-text */
.section-text > p{
  font-size: 1.6rem;
  line-height: 1.75;
}

/* section-button */
.section-button{
  margin-top: 2.4rem;
}
.section-button > a{
  display: inline-block;
  background-color: var(--color-red);
  border: 2px solid var(--color-red);
  color: var(--color-white);
  border-radius: 9999px;
  line-height: 3.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  white-space: nowrap;
  transition: all 0.2s ease;
  padding-left: 3.4rem;
  padding-right: 3.4rem;
}
.section-button > a:hover{
  background-color: var(--color-white);
  color: var(--color-red);
}

/* section-message */
.section-message{
  padding-top: 12.4rem;
  padding-left: 6rem;
  padding-right: 6rem;
  background: url(/assets/images/home/deco-message.svg) right top 45rem no-repeat;
  background-size: 83rem auto;
  position: relative;
}
.section-message > .-inner{
  max-width: 89.2rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.section-message > .-inner::after{
  content: "";
  width: 69.4rem;
  height: 82rem;
  position: absolute;
  top: -10.5rem;
  left: 51.6rem;
  background: url(/assets/images/home/img-message.png) right top no-repeat;
  background-size: 69.4rem auto;
}

@media print, screen and (max-width: 1440px){
  /* section-message */
  .section-message{
    background: none;
  }
  .section-message::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 144rem;
    transform: translateX(-50%);
    background: url(/assets/images/home/deco-message.svg) right top 45rem no-repeat;
    background-size: 83rem auto;
    pointer-events: none;
    z-index: 0;
  }
  .section-message > .-inner{
    margin-left: clamp(0rem, calc(89.1667vw - 107rem), 21.4rem);
    margin-right: auto;
  }
  .section-message > .-inner::after{
    display: none;
  }
  .section-message::after{
    content: "";
    width: 69.4rem;
    height: 82rem;
    position: absolute;
    top: 1.9rem;
    right: -5.1rem;
    background: url(/assets/images/home/img-message.png) right top no-repeat;
    background-size: 69.4rem auto;
  }
}

@media print, screen and (max-width: 1200px){
  /* section-message */
  .section-message::before{
    background-size: calc(93.375vw - 29.05rem) auto;
  }
  .section-message::after{
    top: calc(42.9rem - 34.1666vw);
    width: calc(115.6666vw - 69.4rem);
    height: calc(136.6666vw - 82rem);
    background-size: calc(115.6666vw - 69.4rem) auto;
  }
}

@media print, screen and (max-width: 1000px){
  /* section-message */
  .section-message{
    padding-top: 12rem;
    padding-left: 4rem;
    padding-right: 4rem;
  }
}


@media print, screen and (max-width: 1000px){
  /* section-message */
  .section-message::after{
    top: 4rem;
    width: calc(89.9057vw - 39.0157rem);
    height: calc(106.2297vw - 46.0997rem);
    background-size: calc(89.9057vw - 39.0157rem) auto;
  }
}

@media print, screen and (max-width: 960px){
  /* section-message */
  .section-message::before{
    left: auto;
    right: calc(-9.6rem - 15vw);
    transform: none;
    background-position: right calc(69rem - 25vw);
  }
  .section-message::after{
    top: calc(84.8022rem - 84.169vw);
    right: calc(4.5rem - 10vw);
  }
}

@media print, screen and (max-width: 760px){
  /* section-message */
  .section-message{
    padding-top: 8rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .section-message::before,
  .section-message::after{
    display: none;
  }
}

/* section-message-box */
.section-message-box > .-label{
  color: var(--color-red);
  font-family: "Figtree", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: italic;
  font-size: 1.6rem;
  line-height: 1;
  white-space: nowrap;
  margin-bottom: 3rem;
}
.section-message-box > .-text > p{
  font-size: 1.6rem;
  line-height: 2;
}
.section-message-box > .-text > p + p{
  margin-top: 3.2rem;
}

@media print, screen and (max-width: 480px){
  /* section-message-box */
  .section-message-box > .-text > p > .-br480{
    display: none;
  }
}

/* section-message-img */
.section-message-img{
  display: none;
}

@media print, screen and (max-width: 760px){
  /* section-message-img */
  .section-message-img{
    margin-top: 3.5rem;
    display: block;
  }
  .section-message-img > img{
    display: 100%;
  }
}

/* section-about */
.section-about{
  padding-top: 15rem;
  padding-left: 6rem;
  padding-right: 6rem;
}
.section-about > .-inner{
  max-width: 108rem;
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (max-width: 1000px){
  /* section-about */
  .section-about{
    padding-top: 10rem;
    padding-left: 4rem;
    padding-right: 4rem;
  }
}

@media print, screen and (max-width: 760px){
  /* section-about */
  .section-about{
    padding-top: 8rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* about-list */
.about-list{
  display: flex;
  justify-content: space-between;
  margin-top: 4.2rem;
}
.about-list > .-item{
  width: 30.3704%;
}
.about-list > .-item > a{
  display: block;
}
.about-list > .-item > a > .-img{
  border-radius: 0.4rem;
  overflow: hidden;
}
.about-list > .-item > a > .-img > img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.about-list > .-item > a:hover > .-img > img{
  transform: scale(1.1);
}
.about-list > .-item > a > .-text{
  margin-top: 2rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  transition: all 0.2s ease;
}
.about-list > .-item > a:hover > .-text{
  color: var(--color-red);
}
.about-list > .-item > a > .-text > .-arrow{
  display: inline-block;
  width: 3rem;
  height: 3rem;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid var(--color-red);
  background: url(/assets/images/arrow-circle-basic.svg) center center no-repeat;
  background-size: 3rem auto;
  position: relative;
  transition: all 0.2s ease;
}
.about-list > .-item > a > .-text > .-arrow::before{
  content: '';
  position: absolute;
  inset: 0;
  background: url(/assets/images/arrow-circle-basic-on.svg) center center no-repeat;
  background-size: 3rem auto;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.about-list > .-item > a:hover > .-text > .-arrow::before{
  opacity: 1;
}

@media print, screen and (max-width: 1000px){
  /* about-list */
  .about-list{
    flex-wrap: wrap;
    row-gap: 5rem;
  }
  .about-list > .-item{
    width: calc(50% - 2rem);
  }
}

@media print, screen and (max-width: 760px){
  /* about-list */
  .about-list{
    row-gap: 4rem;
  }
  .about-list > .-item{
    width: calc(50% - 1rem);
  }
  .about-list > .-item > a > .-text{
    font-size: 1.8rem;
  }
}

@media print, screen and (max-width: 580px){
  /* about-list */
  .about-list > .-item > a > .-text > .-br580{
    display: none;
  }
}

@media print, screen and (max-width: 480px){
  /* about-list */
  .about-list > .-item > a > .-text > .-br580{
    display: inline;
  }
}

/* section-interview */
.section-interview{
  /*padding-top: 8rem;*/
  padding-top: 12rem;
}

@media print, screen and (max-width: 760px){
  /* section-interview */
  .section-interview{
    padding-top: 8rem;
  }
}

/* section-interview-primary */
.section-interview-primary{
  padding-left: 6rem;
  padding-right: 6rem;
  position: relative;
  z-index: 1;
}
.section-interview-primary > .-inner{
  max-width: 108rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

@media print, screen and (max-width: 1000px){
  /* section-interview-primary */
  .section-interview-primary{
    padding-left: 4rem;
    padding-right: 4rem;
  }
}

@media print, screen and (max-width: 760px){
  /* section-interview-primary */
  .section-interview-primary{
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* interview-nav */
.interview-nav{
  position: absolute;
  right: 0;
  bottom: -0.6rem;
  z-index: 1;
}
.interview-nav > .-inner{
  width: 100%;
  display: flex;
  justify-content: flex-end;
  gap: 2rem;
  flex-shrink: 0;
}
.interview-nav > .-inner > button{
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  border: 1px solid var(--color-red);
  background: url(/assets/images/home/arrow-slide.svg) center center no-repeat;
  background-size: 5rem auto;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
}
.interview-nav > .-inner > button::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: url(/assets/images/home/arrow-slide-on.svg) center center no-repeat;
  background-size: 5rem auto;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.interview-nav > .-inner > button:hover::before{
  opacity: 1;
}
.interview-nav > .-inner > .-prev{
  transform: scaleX(-1);
}

@media print, screen and (max-width: 760px){
  /* interview-nav */
  .interview-nav > .-inner{
    gap: 1.5rem;
  }
}

/* interview-list-box */
.interview-list-box{
  position: relative;
  padding-top: 4rem;
  padding-right: 0;
}
.interview-list-box::before{
  content: "";
  width: 99.4rem;
  height: 39rem;
  position: absolute;
  top: -4.6rem;
  left: 0;
  background: url(/assets/images/home/deco-interview.svg) center center no-repeat;
  background-size: 99.4rem auto;
}
.interview-list-box > .-inner{
  position: relative;
}

@media print, screen and (max-width: 1000px){
  /* interview-list-box */
  .interview-list-box::before{
    width: 89.46vw;
    height: 35.1vw;
    background-size: 89.46vw auto;
  }
}

@media print, screen and (max-width: 760px){
  /* interview-list-box */
  .interview-list-box::before{
    top: calc(-4.6rem + (760px - 100vw) * (4.6 / 440) * 1rem / 1px);
  }
}

/* interview-list */
.interview-list{
  z-index: 1;
  position: relative;
  opacity: 0;
  transition: opacity 0.6s ease;
}
.interview-list.slick-initialized{
  opacity: 1;
}
.interview-list .slick-list{
  padding-left: max(6rem, calc((100% - 120rem) / 2 + 6rem));
}
.interview-list .slick-slide.slick-cloned[data-slick-index^="-"]{
  visibility: hidden;
}
.interview-list.has-looped .slick-slide.slick-cloned[data-slick-index^="-"]{
  visibility: visible;
}
.interview-list .-item{
  flex: 0 0 auto;
  width: 24rem;
  margin-right: 4.8rem;
}
.interview-list .-item:last-child{
  margin-right: 0;
}
.interview-list .-item > a{
  display: block;
}
.interview-list .-item > a > .-img{
  border-radius: 0.4rem;
  overflow: hidden;
}
.interview-list .-item > a > .-img > img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.interview-list .-item > a:hover > .-img > img{
  transform: scale(1.1);
}
.interview-list .-item > a > .-catch{
  margin-top: 2.5rem;
}
.interview-list .-item > a > .-catch > p{
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  transition: color 0.2s ease;
}
.interview-list .-item > a:hover > .-catch > p{
  color: var(--color-red);
}
.interview-list .-item > a > .-profile{
  margin-top: 1.2rem;
  font-size: 1.5rem;
  line-height: 1.6667;
  color: var(--color-gray);
  transition: color 0.2s ease;
}
.interview-list .-item > a:hover > .-profile{
  color: var(--color-red);
}

@media print, screen and (max-width: 1000px){
  /* interview-list */
  .interview-list .slick-list{
    padding-left: 4rem;
  }
  .interview-list .-item{
    width: calc(41.6667vw - 3.3333rem);
    margin-right: 2rem;
  }
}

@media print, screen and (max-width: 760px){
  /* interview-list */
  .interview-list .slick-list{
    padding-left: 2rem;
  }
  .interview-list .-item{
    width: calc(71.4286vw - 2.5714rem);
  }
}

/* section-work */
.section-work{
  background: url(/assets/images/home/deco-work.svg) right top 10rem no-repeat;
  background-size: 67.2rem auto;
  padding-top: 8rem;
  padding-left: 6rem;
  padding-right: 6rem;
  overflow: hidden;
}
.section-work > .-inner{
  max-width: 108rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}

@media print, screen and (max-width: 1440px){
  /* section-work */
  .section-work{
    background: none;
    position: relative;
  }
  .section-work::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 144rem;
    transform: translateX(-50%);
    background: url(/assets/images/home/deco-work.svg) right top 10rem no-repeat;
    background-size: 67.2rem auto;
    pointer-events: none;
    z-index: 0;
  }
}

@media print, screen and (max-width: 1000px){
  /* section-work */
  .section-work{
    padding-left: 4rem;
    padding-right: 4rem;
  }
}

@media print, screen and (max-width: 760px){
  /* section-work */
  .section-work{
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .section-work::before{
    display: none;
  }
}

/* section-work-box  */
.section-work-box{
  display: flex;
  justify-content: space-between;
}
.section-work-box > .-primary{
  width: 48.8889%;
}
.section-work-box > .-img{
  width: 41.4815%;
}
.section-work-box > .-img > img{
  width: 100%;
}

@media print, screen and (max-width: 760px){
  /* section-work-box  */
  .section-work-box{
    display: block;
  }
  .section-work-box > .-primary{
    width: 100%;
  }
  .section-work-box > .-img{
    display: none;
  }
}

/* section-work-img-sp */
.section-work-img-sp{
  display: none;
}

@media print, screen and (max-width: 760px){
  /* section-work-img-sp */
  .section-work-img-sp{
    margin-top: 4rem;
    display: block;
  }
  .section-work-img-sp > img{
    width: 100%;
  }
}

/* section-faq */
.section-faq{
  padding-top: 10rem;
  padding-left: 6rem;
  padding-right: 6rem;
}
.section-faq > .-inner{
  max-width: 89rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  flex: 1;
  gap: 9.6rem;
}

@media print, screen and (max-width: 1000px){
  /* section-faq */
  .section-faq{
    padding-left: 4rem;
    padding-right: 4rem;
  }
  .section-faq > .-inner{
    display: block;
  }
}

@media print, screen and (max-width: 760px){
  /* section-faq */
  .section-faq{
    padding-top: 8rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* faq-list */
.faq-list{
  display: flex;
  justify-content: space-between;
  flex: 1;
}
.faq-list > .-item{
  width: calc(50% - 2.4rem)
}
.faq-list > .-item > a{
  width: 100%;
  display: inline-block;
  position: relative;
  font-size: 2.1rem;
  font-weight: 700;
  transition: color 0.3s ease;
}
.faq-list > .-item > a::after{
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: var(--color-red);
  position: absolute;
  left: 0;
  bottom: -1.6rem;
  transform: scale(1, 1);
  transform-origin: left top;
  transition: transform 0.3s ease;
  pointer-events: none;
}
.faq-list > .-item > a > span{
  display: inline-block;
  width: 100%;
  position: relative;
}
.faq-list > .-item > a > span::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 1px solid var(--color-red);
  background: url(/assets/images/arrow-circle-basic.svg) center center no-repeat;
  background-size: 3rem auto;
  transition: all 0.2s ease;
}
.faq-list > .-item > a > span::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: url(/assets/images/arrow-circle-basic-on.svg) center center no-repeat;
  background-size: 3rem auto;
  opacity: 0;
  transition: opacity 0.2s ease;
}

@media (hover: hover){
  /* faq-list */
  .faq-list > .-item > a:hover{
    color: var(--color-red);
  }
  .faq-list > .-item > a:hover::after{
    transform: scale(0, 1);
    transform-origin: right top;
  }
  .faq-list > .-item > a:hover > span::after{
    opacity: 1;
  }
}

@media print, screen and (max-width: 1000px){
  /* faq-list */
  .faq-list{
    margin-top: 4rem;
  }
  .faq-list > .-item{
    width: calc(50% - 2rem)
  }
}

@media print, screen and (max-width: 760px){
  /* faq-list */
  .faq-list > .-item > a{
    font-size: 2rem;
  }
  .faq-list > .-item > a::after{
    bottom: -1.2rem;
  }
}

@media print, screen and (max-width: 480px){
  /* faq-list */
  .faq-list{
    display: block;
    margin-top: 6rem;
  }
  .faq-list > .-item{
    width: 100%;
  }
  .faq-list > .-item + .-item{
    margin-top: 5rem;
  }
}

/* loading */
#loading{
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: var(--color-white);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
#loading.loaded{
  opacity: 0;
  visibility: hidden;
}

/* spring-spinner */
.spring-spinner,
.spring-spinner *{
  box-sizing: border-box;
}
.spring-spinner{
  height: 42px;
  width: 42px;
}
.spring-spinner .spring-spinner-part{
  overflow: hidden;
  height: calc(42px / 2);
  width: 42px;
}
.spring-spinner .spring-spinner-part.bottom{
  transform: rotate(180deg) scale(-1, 1);
}
.spring-spinner .spring-spinner-rotator{
  width: 42px;
  height: 42px;
  border: calc(42px / 7) solid transparent;
  border-right-color: var(--color-red);
  border-top-color: var(--color-red);
  border-radius: 50%;
  box-sizing: border-box;
  animation: spring-spinner-animation 3s ease-in-out infinite;
  transform: rotate(-200deg);
}

@keyframes spring-spinner-animation{
  0%{
    border-width: calc(42px / 7);
  }
  25%{
    border-width: calc(42px / 23.33);
  }
  50%{
    transform: rotate(115deg);
    border-width: calc(42px / 7);
  }
  75%{
    border-width: calc(42px / 23.33);
  }
  100%{
    border-width: calc(42px / 7);
  }
}
