@charset "UTF-8";
/* TOP CSS Document */

/* header
========================================== */
/* PC */
@media screen and (min-width: 769px) {
	#l-header {
    left: -220px;
    top: 0;
    opacity: 0;
    position: fixed;
	  transition: 0.7s all;
	}
	#l-header.is-fixed {
    left: 0;
    opacity: 1;
  }
}



/* keyvisual
========================================== */
.l-keyvisual {
  background-color: #fff;
  overflow: hidden;
  position: relative;
}
.l-keyvisual > div {
  height: 100%;
}
.l-keyvisual > div:before {
  background: #000;
  content: "";
  height: 100%;
  opacity: 0.3;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}
.l-keyvisual__logo {
  position: absolute;
  top: 40px;
  left: 60px;
  z-index: 3;
}
.l-keyvisual__logo h1 {
  color: #fff;
  text-align: center;
}
.l-keyvisual__logo h1 > span {
  display: block;
  line-height: 1;
}
.l-keyvisual__logo h1 .image-logo {
  width: 175px;
}
.l-keyvisual__logo h1 .image-logo img {
  width: 100%;
}
.l-keyvisual__slider img {
  width: 100%;
}
.l-keyvisual__letter {
  position: absolute;
  right: calc(70 / 1440 * 100%);
  bottom: calc(90 / 1440 * 100%);
  max-width: 790px;
  width: calc(790 / 1440 * 100%);
  z-index: 3;
}
.l-keyvisual__letter svg {
  height: auto;
  width: 100%;
}
.l-keyvisual__letter #kv_ttl_svg path {
  fill: none;
  stroke: #fff;
  stroke-width: 90;/*線の太さを指定する*/
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
  stroke-dasharray: 1500; /* 線の間隔を指定する */
  stroke-dashoffset: 1500; /* 線の位置を指定する */
}

/* PC */
@media screen and (min-width: 769px) {
  .l-keyvisual {
    height: calc(880 / 1440 * 100vw);
    max-height: 100vh;
  }
}
@media screen and (min-width: 769px) and (max-width: 1365px) {
  .l-keyvisual {
    margin-left: -220px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  .l-keyvisual {
    height: calc(600 / 375 * 100vw);
    max-height: calc(100vh - 70px);
    max-height: calc(100dvh - 70px);
  }
  .l-keyvisual__logo {
    display: none;
  }
  .l-keyvisual__slider {
    height: 100%;
    z-index: 0;
  }
  .l-keyvisual__slider img {
    height: 100%;
    max-width: initial;
    object-fit: cover;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
  }
  .l-keyvisual__letter {
    right: calc(20 / 375 * 100vw);
    bottom: 20px;
    max-width: calc(100% - 40px);
    width: 335px;
  }
  .l-keyvisual__letter > span:nth-of-type(2) {
    margin-top: -30px;
  }
}



/* section
========================================== */
.l-section__title {
  font-family: "Inter", sans-serif;
  font-size: 4.4rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}
.l-section__leadText {
  margin-top: 40px;
}
* + .l-section__content {
  margin-top: 60px;
}
/* SP */
@media screen and (max-width: 768px) {
  .l-section__leadText {
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 24px;
  }
  * + .l-section__content {
    margin-top: 32px;
  }
  .l-section__title {
    font-size: 3.8rem;
  }
}



/* message
========================================== */
.l-section--message {
  background-image: url(/dy2/recruit/assets/images/top/message_bg.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding-top: 150px;
  padding-bottom: 190px;
}
.l-section--message .p-message-textBlock {
  font-size: 2rem;
  line-height: 2;
  text-align: center;
}
.l-section--message .p-message-textBlock > p + p {
  margin-top: 40px;
}
@media screen and (min-width: 769px) and (max-width: 1365px) {
  .l-section--message {
    margin-left: -220px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  .l-section--message {
    background-image: url(/dy2/recruit/assets/images/top/message_bg_sp.png);
    background-position: center top;
    padding: 35px 24px;
  }
  .l-section--message .p-message-textBlock {
    font-size: 1.6rem;
  }
  .l-section--message .p-message-textBlock > p + p {
    margin-top: 32px;
  }
}


/* aboutus
========================================== */
.l-section--aboutus {
  padding-top: 100px;
  padding-bottom: 60px;
}
.l-section--aboutus .p-aboutus-linkButton {
  margin-top: 80px;
}
/* SP */
@media screen and (max-width: 768px) {
  .l-section--aboutus {
    padding-top: 35px;
    padding-bottom: 35px;
  }
  .l-section--aboutus .p-aboutus-linkButton {
    margin-top: 40px;
  }
}


/* people
========================================== */
.l-section--people {
  padding-block: 60px;
}
/* SP */
@media screen and (max-width: 768px) {
  .l-section--people {
    padding-top: 35px;
    padding-bottom: 0;
  }
}



/* story
========================================== */
.l-section--story {
  padding-top: 60px;
  padding-bottom: 40px;
}
/* SP */
@media screen and (max-width: 768px) {
  .l-section--story {
    padding-bottom: 35px;
  }
}




/* information
========================================== */
.l-section--information {
  padding-top: 40px;
}
.l-section--information .p-information-linkBlock {
  position: relative;
}
.l-section--information .p-information-linkBlock__button > a {
  font-weight: 200;
  letter-spacing: 0.05em;
}
/* SP */
@media screen and (max-width: 768px) {
  .l-section--information {
    padding-top: 35px;
  }
  .l-section--information .p-information-linkBlock__button > a {
    justify-content: flex-start;
    padding-inline: 48px;
    text-align: left;
  }
}