.mission_grid_item_tag, .mv_heading .en, .mv_scroll {
  font-family: Raleway, sans-serif
}
.recruitment .title .en {
  font-family: Outfit, sans-serif
}
.mv_scroll {
  font-size: 1.2rem
}
.mission_grid_item_txt {
  font-size: 1.5rem
}
.cdl_txt, .intro_txt, .mission_grid_item_subt, .recruitment_more .btn {
  font-size: 1.6rem
}
.mission_grid_item_leading, .mission_grid_item_tag, .mission_grid_item_title, .mv_heading .en {
  font-size: 1.8rem
}
.business {
  background-color: #f3f8d6;
  padding-bottom: 60px;
  padding-top: 60px
}
.business_gallery {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 40px
}
.business_gallery_photo {
  aspect-ratio: 1.7777777778;
  width: 100%
}
.business_gallery_photo iframe, .business_gallery_photo img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}
.business_content {
  margin-left: auto;
  margin-right: auto;
  margin-top: 24px;
  max-width: 760px
}
.business_txt {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 2.25
}
.business_more {
  display: flex;
  justify-content: center;
  margin-top: 24px
}
.cdl {
  margin-top: 24px;
  padding-bottom: 73px
}
.cdl_header {
  position: relative
}
.cdl_header_line {
  position: absolute;
  right: 0;
  top: 17%;
  translate: 0 -50%;
  width: 161.5384615385vw;
  z-index: -1
}
.cdl_header_line svg {
  width: 100%
}
.cdl_header_flex {
  display: flex;
  justify-content: center
}
.cdl_header_title {
  align-items: center;
  display: inline-flex;
  flex-direction: column;
  gap: 15px;
  position: relative
}
.cdl_header_title:after {
  background-color: #fefff8;
  content: "";
  height: 100%;
  left: 48%;
  position: absolute;
  top: 50%;
  transform: skew(36deg);
  translate: -50% -80%;
  width: calc(100% + 30px);
  z-index: -1
}
.cdl_header_title .jp {
  width: 209.8px
}
.cdl_header_title .en {
  width: 177.44px
}
.cdl_txt {
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 2.25;
  margin-top: 32px;
  text-align: center
}
.cdl_more {
  display: flex;
  justify-content: center;
  margin-top: 33px
}
.cdl .shape_01, .cdl .shape_02 {
  stroke-dasharray: 1560;
  stroke-dashoffset: 1560
}
.cdl .is_show .shape_01 {
  stroke-dashoffset: 0;
  transition: .6s ease-in-out
}
.cdl .is_show .shape_02 {
  stroke-dashoffset: 0;
  transition: .6s ease-in-out .6s
}
@keyframes kf_cdl_shape {
  0% {
    stroke-dashoffset: 1560
  }
  to {
    stroke-dashoffset: 0
  }
}
.intro {
  padding-bottom: 30px;
  padding-top: 30px
}
.intro_grid {
  display: flex;
  flex-direction: column;
  gap: 33px
}
.intro_txt {
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 2.25
}
.intro_txt:not(:first-child) {
  margin-top: 36px
}
.mission_inner {
  position: relative
}
.mission_fixed {
  background-image: linear-gradient(30deg, #0b8b49 30%, #78bc3c 70%, #aed536);
  color: #fff;
  padding-bottom: 70px;
  padding-top: 71px
}
.mission_grid {
  display: flex;
  flex-direction: column
}
.mission_grid_fake {
  display: none
}
.mission_grid_fake_block {
  height: 75vh
}
.mission_grid_photo {
  aspect-ratio: .9838132476;
  left: -23px;
  margin-left: auto;
  margin-right: auto;
  pointer-events: none;
  position: relative;
  top: -1px;
  width: 304px
}
.mission_grid_tag {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-top: 73px;
  width: 100%
}
.mission_grid_content {
  padding-left: 20px;
  padding-right: 20px
}
.mission_grid_more {
  display: flex;
  justify-content: center;
  max-width: 100%
}
.mission_grid_more_wrap {
  margin-top: 16px;
  padding-top: 20px
}
.mission_grid_more .btn {
  max-width: calc(100% - 40px)
}
.mission_grid_item_photo, .mission_grid_item_photo_area {
  inset: 0;
  position: absolute
}
.mission_grid_item_photo {
  opacity: 0;
  transition: .5s linear;
  width: 100%
}
.mission_grid_item_photo.is_active {
  opacity: 1
}
.mission_grid_item_photo_mask {
  aspect-ratio: 2.6213183731;
  bottom: 0;
  position: absolute;
  right: 0;
  translate: 6.6% 13.1%;
  width: 316.7796610169%
}
.mission_grid_item_photo_mask.is_active .shape_01 {
  animation-name: kf_misson_shape_01
}
.mission_grid_item_photo_mask.is_active .shape_02 {
  animation-name: kf_misson_shape_02
}
.mission_grid_item_photo_mask .shape_01, .mission_grid_item_photo_mask .shape_02 {
  animation-fill-mode: both;
  animation-iteration-count: 1;
  animation-timing-function: ease-in-out
}
.mission_grid_item_photo_mask .shape_01 {
  animation-duration: 1.35s;
  stroke-dasharray: 3950;
  stroke-dashoffset: 3950
}
.mission_grid_item_photo_mask .shape_02 {
  animation-delay: 1.35s;
  animation-duration: .3s;
  stroke-dasharray: 220;
  stroke-dashoffset: 220
}
.mission_grid_item_tag_li.is_active {
  pointer-events: none
}
.mission_grid_item_tag_li.is_active .mission_grid_item_tag {
  background-color: #fff;
  color: #00780e
}
.mission_grid_item_tag {
  align-items: center;
  display: flex;
  font-weight: 600;
  gap: 9px;
  letter-spacing: .04em;
  line-height: 1.2;
  min-width: 100px;
  padding: 2px 14px;
  position: relative
}
.mission_grid_item_tag:before {
  background-color: currentColor;
  border-radius: 99px;
  content: "";
  height: 8px;
  width: 8px
}
.mission_grid_item_area {
  margin-top: 51px;
  position: relative
}
.mission_grid_item_wrap {
  --prev: -2;
  --next: -1;
  pointer-events: none
}
.mission_grid_item_wrap.is_active {
  opacity: 1;
  pointer-events: all;
  translate: none !important
}
.mission_grid_item_wrap.is_active ~ .mission_grid_item_wrap {
  translate: 0 calc(var(--next)*-40px)
}
.mission_grid_item_title {
  border-bottom: 1px solid;
  font-weight: 700;
  letter-spacing: .02em;
  padding-bottom: 16px
}
.mission_grid_item_subt {
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.8;
  margin-top: 15px
}
.mission_grid_item_leading {
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.875;
  margin-top: 19px
}
.mission_grid_item_txt {
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.6;
  margin-top: 7px
}
@keyframes kf_misson_shape_01 {
  0% {
    stroke-dashoffset: 3950
  }
  to {
    stroke-dashoffset: 0
  }
}
@keyframes kf_misson_shape_02 {
  0% {
    stroke-dashoffset: 220
  }
  to {
    stroke-dashoffset: 0
  }
}
.mv {
  position: relative;
  z-index: 10
}
.mv_slider {
  pointer-events: none
}
.mv_slider .slick-list, .mv_slider .slick-track {
  transform: none !important
}
.mv_slider_area {
  position: relative;
  z-index: 0
}
.mv_slider_area .slick-current .shape_01 {
  animation-name: kf_mv_shape_01
}
.mv_slider_area .slick-current .shape_02 {
  animation-name: kf_mv_shape_02
}
.mv_slider_area:after, .mv_slider_area:before {
  content: "";
  height: 12%;
  left: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 1000
}
.mv_slider_area:before {
  background-image: linear-gradient(180deg, #fefff8 12%, hsla(0, 0%, 100%, 0));
  top: -1px
}
.mv_slider_area:after {
  background-image: linear-gradient(0deg, #fefff8 12%, hsla(0, 0%, 100%, 0));
  bottom: -1px
}
.mv_slider_item {
  position: relative
}
.mv_slider_item_rel {
  aspect-ratio: 1.051212938;
  position: relative;
  width: 100%
}
.mv_slider_item_cover {
  aspect-ratio: 1.6161616162;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0
}
.mv_slider_item_cover img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}
.mv_slider_item_shape {
  bottom: 5.3846153846vw;
  position: absolute;
  right: 0;
  width: 194.8717948718vw
}
.mv_slider_item_shape svg {
  width: 100%
}
.mv_slider_dots {
  left: 10px;
  position: absolute;
  top: calc(50% - 121px);
  z-index: 1000
}
.mv_slider_dots ul {
  display: flex;
  flex-direction: column;
  gap: 3px
}
.mv_slider_dots li {
  font-size: 0;
  height: 21px;
  position: relative;
  width: 21px
}
.mv_slider_dots li.slick-active {
  pointer-events: none
}
.mv_slider_dots li.slick-active:after {
  scale: 1 1
}
.mv_slider_dots li:after, .mv_slider_dots li:before {
  border-radius: 99px;
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  translate: -50% -50%
}
.mv_slider_dots li:before {
  background-color: #adcb00;
  height: 5px;
  width: 5px
}
.mv_slider_dots li:after {
  border: 1px solid #00780e;
  height: 100%;
  scale: 0 0;
  transition: scale .5s ease;
  width: 100%
}
.mv_slider_dots button {
  display: none
}
.mv_heading {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 108px 20px 20px;
  width: 100%
}
.mv_heading .jp {
  max-width: 100%;
  width: 345px
}
.mv_heading .en {
  color: #adcb00;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1.45;
  margin-top: 10px;
  padding-left: 4px
}
.mv_scroll {
  bottom: 0;
  color: #848484;
  display: none;
  font-weight: 400;
  left: 0;
  letter-spacing: .05em;
  line-height: 1;
  position: absolute;
  rotate: 90deg;
  transform-origin: bottom right;
  translate: -100% 0
}
.mv_scroll_link {
  align-items: center;
  display: flex;
  gap: 10px
}
.mv_scroll_line {
  height: 1px;
  overflow: hidden;
  position: relative;
  width: 155px
}
.mv .shape_01, .mv .shape_02 {
  animation-fill-mode: both;
  animation-iteration-count: 1;
  animation-timing-function: ease-in-out
}
.mv .shape_01 {
  animation-duration: 2.67s;
  stroke-dasharray: 4150;
  stroke-dashoffset: 4150
}
.mv .shape_02 {
  animation-delay: 2.67s;
  animation-duration: .3s;
  stroke-dasharray: 280;
  stroke-dashoffset: 280
}
@keyframes kf_mv_shape_01 {
  0% {
    stroke-dashoffset: 4150
  }
  to {
    stroke-dashoffset: 0
  }
}
@keyframes kf_mv_shape_01_out {
  0% {
    stroke-dashoffset: 8300
  }
  to {
    stroke-dashoffset: 4150
  }
}
@keyframes kf_mv_shape_02 {
  0% {
    stroke-dashoffset: 280
  }
  to {
    stroke-dashoffset: 0
  }
}
@keyframes kf_mv_shape_02_out {
  0% {
    stroke-dashoffset: 4880
  }
  to {
    stroke-dashoffset: 2440
  }
}
@keyframes kf_mv_scroll_line {
  0% {
    translate: -100% 0
  }
  70%, to {
    translate: 100% 0
  }
}
.news {
  padding-top: 60px
}
.news .lr_news {
  margin-top: 24px
}
.news_more {
  width: 100%
}
.news_more, .recruitment {
  margin-top: 60px
}
.recruitment .title .en {
  letter-spacing: .05em
}
.recruitment_inner {
  background-color: #f6f7f9;
  overflow: hidden;
  padding: 40px 20px;
  position: relative;
  z-index: 0
}
.recruitment_bg {
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: -1
}
.recruitment_bg .shape {
  aspect-ratio: 1;
  position: absolute;
  width: 200px
}
.recruitment_bg .shape:first-child {
  left: -16%;
  top: -5px
}
.recruitment_bg .shape:nth-child(2) {
  bottom: -10%;
  left: 60%;
  rotate: -60deg
}
.recruitment_photo {
  width: 100%
}
.recruitment_photo:after {
  background-image: linear-gradient(90deg, #f6f7f9 4%, hsla(0, 0%, 100%, 0) 30%);
  content: "";
  display: none;
  inset: 0;
  position: absolute
}
.recruitment_photo img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}
.recruitment_content {
  width: 100%
}
.recruitment_txt {
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 2.25;
  margin-bottom: 20px;
  margin-top: 20px
}
.recruitment_more {
  margin-top: 24px
}
.recruitment_more .btn {
  --btn-w: 100%;
  letter-spacing: .02em;
  padding-left: 10px
}
.recruitment_more .icon {
  --icon-w: 34.39px;
  --icon-h: 34.39px;
  border: 1px solid #adcb00
}
.recruitment_more .icon[data-type=_blank] {
  --sc: #00780e
}
@keyframes kf_rotate {
  0% {
    rotate: 1turn
  }
  to {
    rotate: 0deg
  }
}
.story {
  position: relative
}
.story_cover {
  inset: 0;
  position: absolute;
  z-index: -1
}
.story_cover img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}
.story_inner {
  padding-bottom: 40px;
  padding-top: 40px
}
.story_txt {
  color: #fff;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 2.25
}
.story_more, .story_txt {
  margin-top: 30px
}
.story_more .icon {
  border: 1px solid #adcb00
}
@media only screen and (min-width:768px) {
  .mv_scroll {
    font-size: 1.4rem
  }
  .mission_grid_item_txt {
    font-size: 1.8rem
  }
  .cdl_txt, .intro_txt, .mission_grid_item_subt, .recruitment_more .btn {
    font-size: clamp(1.6rem, 1.6rem + .0048076923 * (100vw - 768px), 2rem)
  }
  .mission_grid_item_tag {
    font-size: clamp(1.8rem, 1.8rem + .0048076923 * (100vw - 768px), 2.2rem)
  }
  .mission_grid_item_leading, .mission_grid_item_title, .mv_heading .en {
    font-size: clamp(2rem, 2rem + .0048076923 * (100vw - 768px), 2.4rem)
  }
  .business {
    padding-bottom: 130px;
    padding-top: 141px
  }
  .business_gallery {
    flex-direction: row;
    gap: 40px;
    margin: 60px auto 0;
    max-width: 1000px;
  }
  .business_content {
    margin-top: 51px;
    padding-left: 2px
  }
  .business_txt {
    font-size: clamp(1.6rem, 1.6rem + .0048076923 * (100vw - 768px), 2rem)
  }
  .business_more {
    margin-top: 54px
  }
  .cdl {
    margin-top: 72px;
    padding-bottom: 150px
  }
  .cdl_header_line {
    top: 17%;
    width: 100%
  }
  .cdl_header_title {
    gap: 31px
  }
  .cdl_header_title:after {
    max-width: 80vw;
    width: calc(100% + 158px)
  }
  .cdl_header_title .jp {
    width: 534.99px
  }
  .cdl_header_title .en {
    width: 260.11px
  }
  .cdl_txt {
    margin-top: 62px
  }
  .cdl_more {
    margin-top: 80px
  }
  .intro {
    padding-bottom: 160px;
    padding-top: 160px
  }
  .intro_grid {
    flex-direction: row;
    gap: 40px
  }
  .intro_grid_header {
    width: calc(50% - 40px)
  }
  .intro_grid_header .title_block {
    max-width: 100%;
    width: 460px
  }
  .intro_grid_body {
    max-width: 50%;
    width: 525px
  }
  .intro_txt {
    max-width: 530px
  }
  .intro_txt:not(:first-child) {
    margin-top: 45px
  }
  .mission_grid_tag {
    margin-top: 50px
  }
  .mission_grid_more_wrap {
    margin-top: 82px
  }
  .mission_grid_more .btn {
    --btn-w: 442px
  }
  .mission_grid_item_tag {
    cursor: pointer;
    min-width: 120px;
    padding: 1px 10px 1px 14px
  }
  .mission_grid_item_subt:first-of-type {
    margin-top: 26px
  }
  .mission_grid_item_subt + .mission_grid_item_txt {
    margin-top: -1px
  }
  .mv_slider_area:after, .mv_slider_area:before {
    display: none
  }
  .mv_slider_item_rel {
    aspect-ratio: unset
  }
  .mv_slider_item_cover {
    height: auto;
    position: relative;
    width: 100%
  }
  .mv_slider_item_shape {
    aspect-ratio: unset;
    bottom: 4.1875vw;
    left: -25vw;
    right: unset;
    width: calc(100% + 25vw)
  }
  .mv_slider_dots {
    left: 15px;
    top: calc(50% - 56px)
  }
  .mv_slider_dots li {
    cursor: pointer
  }
  .mv_slider_dots li:hover:after {
    scale: 1 1
  }
  .mv_heading {
    left: 99px;
    max-width: 696px;
    padding: 0;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: 43.5vw;
    z-index: 1
  }
  .mv_heading .jp {
    width: 100%
  }
  .mv_heading .en {
    font-size: clamp(1.8rem, 1.8rem + .0072115385 * (100vw - 768px), 2.4rem);
    margin-top: 16px
  }
  .mv_scroll {
    display: block;
    left: 21px
  }
  .mv_scroll_line {
    width: 155px
  }
  .mv_scroll_line:after, .mv_scroll_line:before {
    background-color: #b1b1b1;
    content: "";
    inset: 0;
    position: absolute
  }
  .mv_scroll_line:before {
    animation: kf_mv_scroll_line 3s linear 0s infinite both
  }
  .mv_scroll_line:after {
    animation: kf_mv_scroll_line 3s linear 1.5s infinite both
  }
  .news {
    padding-top: 178px
  }
  .news .lr_news {
    margin-top: 43px
  }
  .news_more {
    margin-top: 60px;
    width: 360px
  }
  .recruitment {
    margin-top: 165px
  }
  .recruitment .title {
    gap: 14px
  }
  .recruitment_inner {
    padding: 93px 47px 49px
  }
  .recruitment_bg .shape {
    width: 382px
  }
  .recruitment_bg .shape:first-child {
    left: -16%;
    top: -5px
  }
  .recruitment_bg .shape:nth-child(2) {
    bottom: calc(-46% - 1px);
    left: calc(29% + 3px)
  }
  .recruitment_photo {
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
    z-index: -1
  }
  .recruitment_photo:after {
    display: block
  }
  .recruitment_content {
    width: 60%
  }
  .recruitment_txt {
    margin-bottom: 0;
    max-width: 480px
  }
  .recruitment_more {
    margin-top: 32px;
    width: 473.72px
  }
  .recruitment_more .icon {
    right: 24px
  }
  .story_inner {
    max-width: 580px;
    padding-bottom: 133px;
    padding-top: 132px
  }
  .story_txt {
    margin-top: 41px;
    padding-left: 4px
  }
  .story_more {
    margin-top: 47px;
    max-width: 442px
  }
  .story_more .btn {
    --btn-w: 100%;
    opacity: 1;
    transition: .15s linear
  }
  .story_more .btn:hover {
    filter: brightness(.9)
  }
}
@media only screen and (min-width:1200px) {
  .mission_inner.is_fixed .mission_fixed {
    position: fixed;
    top: 0
  }
  .mission_inner.is_bottom .mission_fixed {
    bottom: 0;
    top: unset
  }
  .mission_fixed {
    left: 0;
    min-height: 100vh;
    padding-bottom: 150px;
    padding-top: 150px;
    position: absolute;
    width: 100%
  }
  .mission_grid {
    align-items: center;
    flex-direction: row;
    max-width: 100%;
    width: calc(50vw + 580px)
  }
  .mission_grid_fake {
    display: block;
    padding-top: 50vh
  }
  .mission_grid_photo {
    left: 52px;
    margin-left: 0;
    margin-right: 0;
    top: 33px;
    width: 593px;
    width: 42.9710144928%
  }
  .mission_grid_tag {
    flex-direction: column;
    flex-shrink: 0;
    gap: 7px;
    left: 5px;
    margin-top: 0;
    position: relative;
    top: 32px;
    width: 210px
  }
  .mission_grid_content {
    padding-left: 0;
    padding-right: 0;
    padding-top: 70px;
    width: 581px;
    width: 42.1014492754%
  }
  .mission_grid_more {
    display: block;
    margin-left: auto;
    width: 578px;
    width: 41.884057971%
  }
  .mission_grid_more_wrap {
    width: calc(50vw + 580px)
  }
  .mission_grid_item_tag {
    padding: 1px 10px;
    transition: .15s linear
  }
  .mission_grid_item_area {
    margin-top: 0
  }
  .mission_grid_item_wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: .3s ease;
    translate: 0 calc(var(--prev)*40px);
    width: 100%
  }
  .mission_grid_item_title {
    padding-bottom: 31px
  }
  .mission_grid_item_leading {
    margin-right: -5px;
    margin-top: 24px
  }
  .mission_grid_item_txt {
    margin-right: -5px;
    margin-top: 17px
  }
}
/*# sourceMappingURL=style.css.map */