@charset "UTF-8";

#ktcgroup{
  --font-base:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Zen Kaku Gothic New", sans-serif;
  --font-gothic:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Zen Kaku Gothic New", sans-serif;
  --font-mincho:"游明朝", "Yu Mincho", YuMincho, "Zen Old Mincho", serif;
  --font-english:"Inter", sans-serif;
  --text-base:#212121;
  --text-accent:#8da53e;
  --text-naviblue:#fcc800;
  --text-peppygreen:#5bb647;
}

*,
::before,
::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  background:lightgray url(../images/ktcgroup/bg.webp) 0% 0%/60px 60px repeat;
}
@media (min-width: 768px){

  body{
    padding:0;
  }
}

button:hover{
  cursor:pointer;
}

:where(svg){
  stroke:none;
  fill:none;
}
@media (max-width: 767px){

  .l-header .l-header-contain .logo{
    display:none;
  }
}

.u-space-pc-fixed-header{
  display:none;
}

#ktcgroup{
  margin:0;
  padding:0;
  font-family:var(--font-base);
  font-weight:500;
  font-size:16px;
  color:var(--text-base);
}

#ktcgroup img{
  display:block;
  width:100%;
  height:auto;
}

#ktcgroup.ktcgroup_contents{
  position:relative;
  width:100%;
}

#ktcgroup .main-visual{
  width:100%;
  padding:24px;
  position:relative;
}
@media (max-width: 767px){

  #ktcgroup .main-visual{
    padding:16px;
  }
}

#ktcgroup .main-visual__bg{
  width:100%;
  aspect-ratio:1392/752;
  background-color:rgba(0, 0, 0, 0.2);
  background-size:cover;
  background-position:center;
  border-radius:10px;
  position:relative;
  overflow:hidden;
}
@media (max-width: 767px){

  #ktcgroup .main-visual__bg{
    aspect-ratio:343/240;
  }
}

#ktcgroup .main-visual__bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0, 0, 0, 0.2);
  mix-blend-mode:multiply;
  z-index:3;
}

#ktcgroup .main-visual__video{
  width:100%;
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
}

#ktcgroup .main-visual__image{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  transition:opacity 0.5s;
}

#ktcgroup .main-visual__image.is-hidden{
  opacity:0;
}

#ktcgroup .main-visual__catch{
  position:absolute;
  margin:auto;
  inset:0;
  display:grid;
  place-items:center;
  z-index:4;
  animation:fadeIn 1s ease-in-out both;
}

#ktcgroup .main-visual__copy{
  position:absolute;
  bottom:20%;
  left:50%;
  transform:translateX(-50%);
  display:block;
  width:442px;
  font-family:var(--font-gothic);
}
@media (max-width: 767px){

  #ktcgroup .main-visual__copy{
    width:82.9333333333vw;
    height:auto;
    bottom:26.5%;
  }
}

#ktcgroup .main-visual__scroll-down{
  position:absolute;
  bottom:13%;
  inset-inline:0;
  margin-inline:auto;
  z-index:4;
  display:block;
  width:32px;
  margin-top:30px;
  margin-inline:auto;
}
@media (max-width: 767px){

  #ktcgroup .main-visual__scroll-down{
    margin-top:20px;
    bottom:15.4%;
  }
}

#ktcgroup .main-visual__arrow{
  display:block;
}
@media (max-width: 767px){

  #ktcgroup .main-visual__arrow{
    width:24px;
  }
}

#ktcgroup .philosophy{
  width:100%;
  padding:40px 80px;
}
@media (max-width: 1092px){

  #ktcgroup .philosophy{
    padding-left:24px;
    padding-right:24px;
  }
}
@media (max-width: 767px){

  #ktcgroup .philosophy{
    padding:0 min(6.4vw, 24px) 40px;
  }
}

#ktcgroup .philosophy__container{
  background-color:#fff;
  width:100%;
  max-width:1280px;
  margin-inline:auto;
  padding:120px 120px 80px;
  border-radius:10px;
}
@media (max-width: 1092px){

  #ktcgroup .philosophy__container{
    padding-left:24px;
    padding-right:24px;
  }
}
@media (max-width: 767px){

  #ktcgroup .philosophy__container{
    padding:80px min(4.2666666667vw, 16px) 40px;
  }
}

#ktcgroup .philosophy__brand{
  margin:0 auto 80px;
}
@media (max-width: 767px){

  #ktcgroup .philosophy__brand{
    margin:0 auto 40px;
  }
}

#ktcgroup .bland-logo{
  width:540px;
  height:auto;
  margin-inline:auto;
}
@media (max-width: 767px){

  #ktcgroup .bland-logo{
    width:min(78.6666666667vw, 295px);
  }
}

#ktcgroup .bland-logo__image{
  display:block;
  width:100%;
  height:auto;
}

#ktcgroup .philosophy__content{
  padding-top:24px;
}
@media (max-width: 767px){

  #ktcgroup .philosophy__content{
    padding-top:40px;
  }
}

#ktcgroup .philosophy__title{
  width:536px;
  height:auto;
  margin-inline:auto;
}
@media (max-width: 767px){

  #ktcgroup .philosophy__title{
    width:235px;
  }
}

#ktcgroup .philosophy__text{
  width:-moz-fit-content;
  width:fit-content;
  margin-inline:auto;
  max-width:100%;
  padding-top:56px;
  font-weight:500;
  font-size:16px;
  text-align:center;
  line-height:32px;
  letter-spacing:0.3px;
  opacity:0.7;
}
@media (max-width: 767px){

  #ktcgroup .philosophy__text{
    padding-top:40px;
  }
}

#ktcgroup .philosophy__text > *:nth-child(n+2){
  margin-top:2em;
}

#ktcgroup .service{
  padding:0 80px 40px;
}
@media (max-width: 1092px){

  #ktcgroup .service{
    padding-left:24px;
    padding-right:24px;
  }
}
@media (max-width: 767px){

  #ktcgroup .service{
    padding:0 min(6.4vw, 24px) 40px;
  }
}

#ktcgroup .service__box{
  width:100%;
  max-width:1280px;
  margin-inline:auto;
  padding:90px 80px;
  border-radius:10px;
  background:#fff;
}
@media (max-width: 1092px){

  #ktcgroup .service__box{
    padding-left:24px;
    padding-right:24px;
  }
}
@media (max-width: 767px){

  #ktcgroup .service__box{
    padding:90px min(4.2666666667vw, 16px) 40px;
  }
}

#ktcgroup .service__head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}

#ktcgroup .service__label{
  font-family:var(--font-english);
  font-weight:700;
  font-size:14px;
  line-height:24px;
  letter-spacing:0.5px;
  color:var(--text-accent);
}

#ktcgroup .service__title{
  font-family:var(--font-mincho);
  font-weight:500;
  font-size:32px;
  line-height:36px;
  text-align:center;
}
@media (max-width: 767px){

  #ktcgroup .service__title{
    font-size:28px;
  }
}

#ktcgroup .service__cards{
  margin-top:40px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:40px;
}
@media (max-width: 767px){

  #ktcgroup .service__cards{
    grid-template-columns:minmax(0, 1fr);
  }
}

#ktcgroup .service__card{
  display:grid;
  gap:16px;
}

#ktcgroup .service__image{
  display:block;
  width:100%;
  aspect-ratio:347/195;
  -o-object-fit:cover;
     object-fit:cover;
}

#ktcgroup .service__logo{
  display:block;
  margin-inline:auto;
  width:237px;
}

#ktcgroup .service__text{
  text-align:center;
  font-weight:500;
  line-height:1.5;
  letter-spacing:0.01875em;
}

#ktcgroup .movie{
  width:100%;
  padding:0 80px 40px;
}
@media (max-width: 1092px){

  #ktcgroup .movie{
    padding-left:24px;
    padding-right:24px;
  }
}
@media (max-width: 767px){

  #ktcgroup .movie{
    padding:0 min(6.4vw, 24px) 40px;
  }
}

#ktcgroup .movie__box{
  width:100%;
  max-width:1280px;
  margin-inline:auto;
  padding:90px 80px;
  border-radius:10px;
  background:url("../images/ktcgroup/bg-movie.webp") lightgray 50%/cover no-repeat;
}
@media (max-width: 1092px){

  #ktcgroup .movie__box{
    padding-left:24px;
    padding-right:24px;
  }
}
@media (max-width: 767px){

  #ktcgroup .movie__box{
    padding:90px min(4.2666666667vw, 16px) 40px;
  }
}

#ktcgroup .movie__container{
  display:flex;
  flex-direction:column;
  gap:40px;
  align-items:center;
  padding:90px 80px 40px;
  border-radius:10px;
}

#ktcgroup .movie__head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}

#ktcgroup .movie__label{
  font-family:var(--font-english);
  font-weight:700;
  font-size:14px;
  line-height:24px;
  letter-spacing:0.5px;
  color:var(--text-accent);
}

#ktcgroup .movie__title{
  font-family:var(--font-mincho);
  font-weight:500;
  font-size:32px;
  line-height:36px;
  text-align:center;
}
@media (max-width: 767px){

  #ktcgroup .movie__title{
    font-size:28px;
  }
}

#ktcgroup .movie__description{
  max-width:790px;
  margin-top:40px;
  margin-inline:auto;
  font-weight:500;
  line-height:2;
  letter-spacing:0.3px;
  text-align:center;
}
@media (max-width: 767px){

  #ktcgroup .movie__description{
    text-align:left;
  }
}

#ktcgroup .movie__main-video{
  max-width:960px;
  margin-top:40px;
  margin-inline:auto;
  padding-right:10px;
}
@media (max-width: 767px){

  #ktcgroup .movie__main-video{
    padding-right:0;
  }
}

#ktcgroup .movie-large-card{
  padding:0;
  border-radius:10px;
  background-color:#fff;
  isolation:isolate;
  position:relative;
  border:none;
  box-shadow:none;
}

#ktcgroup .movie-large-card::before{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
  z-index:-1;
  bottom:-10px;
  right:-10px;
  border-radius:10px;
  background-image:url("../images/ktcgroup/bg-dot.webp");
  background-size:200px 249px;
  background-repeat:repeat;
  background-position:bottom right;
}

#ktcgroup .movie-large-card__thumbnail{
  aspect-ratio:960/570;
  position:relative;
  overflow:hidden;
  border-radius:10px 10px 0 0;
  background:#fff;
}

#ktcgroup .movie-large-card__image{
  width:100%;
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  transition:scale 0.3s ease-in-out;
}

#ktcgroup .movie-large-card__icon{
  width:82px;
  position:absolute;
  inset:0;
  margin:auto;
  opacity:0.6;
  z-index:2;
  transition:opacity 0.3s ease-in-out;
}
@media (any-hover: hover){

  #ktcgroup .movie-large-card:hover .movie-large-card__image{
    scale:1.05;
  }

  #ktcgroup .movie-large-card:hover .movie-large-card__icon{
    opacity:1;
  }

  #ktcgroup .movie-large-card:hover .movie-large-card__title,
#ktcgroup .movie-large-card:hover .movie-large-card__text,
#ktcgroup .movie-large-card:hover .movie-large-card__tags{
    opacity:0.5;
  }
}

#ktcgroup .movie-large-card__body{
  padding:28px 32px;
  border-radius:0 0 10px 10px;
  background:#fff;
}
@media (max-width: 767px){

  #ktcgroup .movie-large-card__body{
    padding:24px min(6.4vw, 24px) 16px;
  }
}

#ktcgroup .movie-large-card__title{
  font-weight:500;
  font-size:24px;
  font-family:var(--font-gothic);
  line-height:32px;
  transition:opacity 0.3s ease-in-out;
  text-align:left;
}
@media (max-width: 767px){

  #ktcgroup .movie-large-card__title{
    font-size:20px;
    line-height:1.6;
  }
}

#ktcgroup .movie-large-card__text{
  margin-top:16px;
  font-weight:500;
  font-size:14px;
  font-family:var(--font-gothic);
  line-height:24px;
  letter-spacing:0.5px;
  color:#808080;
  transition:opacity 0.3s ease-in-out;
  line-break:strict;
  text-align:left;
  width:608px;
}
@media (max-width: 767px){

  #ktcgroup .movie-large-card__text{
    width:100%;
  }
}

#ktcgroup .movie-large-card__tags{
  margin-top:46px;
  font-weight:700;
  font-size:14px;
  font-family:var(--font-gothic);
  line-height:24px;
  letter-spacing:2px;
  color:#8da53e;
  transition:opacity 0.3s ease-in-out;
  text-align:left;
}
@media (max-width: 767px){

  #ktcgroup .movie-large-card__tags{
    margin-top:32px;
    font-size:14px;
    line-height:24px;
  }
}

#ktcgroup .movie-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  isolation:isolate;
  padding:0;
  border-radius:10px;
  position:relative;
  border:none;
  box-shadow:none;
}

#ktcgroup .movie-card::before{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
  bottom:-10px;
  right:-10px;
  z-index:-1;
  border-radius:10px;
  background-image:url("../images/ktcgroup/bg-dot.webp");
  background-size:200px 249px;
  background-repeat:repeat;
  background-position:bottom right;
}

#ktcgroup .movie-card__thumbnail{
  aspect-ratio:352/200;
  border-radius:10px 10px 0 0;
  position:relative;
  overflow:hidden;
}

#ktcgroup .movie-card__image{
  width:100%;
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  transition:scale 0.3s ease-in-out;
}

#ktcgroup .movie-card__icon{
  width:82px;
  position:absolute;
  inset:0;
  margin:auto;
  opacity:0.6;
  z-index:2;
  transition:opacity 0.3s ease-in-out;
}
@media (max-width: 767px){

  #ktcgroup .movie-card__icon{
    width:60px;
  }
}
@media (any-hover: hover){

  #ktcgroup .movie-card:hover .movie-card__image{
    scale:1.05;
  }

  #ktcgroup .movie-card:hover .movie-card__icon{
    opacity:1;
  }

  #ktcgroup .movie-card:hover .movie-card__title,
#ktcgroup .movie-card:hover .movie-card__tags{
    opacity:0.5;
  }
}

#ktcgroup .movie-card__body{
  flex-grow:1;
  display:flex;
  flex-direction:column;
  padding:20px 32px;
  border-radius:0 0 10px 10px;
  background:#fff;
  transition:opacity 0.3s ease-in-out;
}
@media (max-width: 767px){

  #ktcgroup .movie-card__body{
    padding:24px min(6.4vw, 24px) 16px;
  }
}

#ktcgroup .movie-card__title{
  margin-bottom:24px;
  font-weight:500;
  font-size:24px;
  font-family:var(--font-gothic);
  line-height:32px;
  transition:opacity 0.3s ease-in-out;
  text-align:left;
}
@media (max-width: 767px){

  #ktcgroup .movie-card__title{
    margin-bottom:16px;
    font-size:20px;
    line-height:1.6;
  }
}

#ktcgroup .movie-card__tags{
  margin-top:auto;
  font-weight:700;
  font-size:14px;
  font-family:var(--font-gothic);
  line-height:24px;
  letter-spacing:2px;
  color:#8da53e;
  transition:opacity 0.3s ease-in-out;
  text-align:left;
}
@media (max-width: 767px){

  #ktcgroup .movie-card__tags{
    font-size:14px;
    line-height:24px;
  }
}

#ktcgroup .movie__slider{
  margin-top:40px;
}
@media (max-width: 767px){

  #ktcgroup .movie__slider{
    margin-top:32px;
    margin-inline:-16px;
  }
}

#ktcgroup .movie__slider .swiper,
#ktcgroup .movie__slider .splide__track{
  padding-bottom:10px;
}

#ktcgroup .movie__slider .is-initialized:not(.is-active) .splide__track{
  padding-right:10px;
}

#ktcgroup .movie__slider .is-initialized:not(.is-active) .splide__list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:32px;
}

#ktcgroup .movie__slider .swiper-slide,
#ktcgroup .movie__slider .splide__slide{
  height:auto;
  display:flex;
}

#ktcgroup .movie__slider .swiper-slide > *{
  height:100%;
  display:flex;
  flex-direction:column;
}

#ktcgroup .movie__slider .swiper-button-prev:not(.swiper-button-lock),
#ktcgroup .movie__slider .swiper-button-next:not(.swiper-button-lock),
#ktcgroup .movie__slider .splide__arrow{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  background:rgba(255, 255, 255, 0.8);
  border-radius:50%;
  border:1px solid #8da53e;
  opacity:1;
  transition:opacity 0.3s;
}
@media (any-hover: hover){

  #ktcgroup .movie__slider .swiper-button-prev:not(.swiper-button-lock):hover,
#ktcgroup .movie__slider .swiper-button-next:not(.swiper-button-lock):hover,
#ktcgroup .movie__slider .splide__arrow:hover{
    opacity:0.5;
  }
}

#ktcgroup .movie__slider .swiper-button-prev:not(.swiper-button-lock),
#ktcgroup .movie__slider .splide__arrow.splide__arrow--prev{
  left:auto;
  right:calc(50% + 24vw);
}

#ktcgroup .movie__slider .swiper-button-next:not(.swiper-button-lock),
#ktcgroup .movie__slider .splide__arrow.splide__arrow--next{
  right:auto;
  left:calc(50% + 24vw);
}

#ktcgroup .movie__slider .swiper-button-prev::after,
#ktcgroup .movie__slider .splide__arrow.splide__arrow--prev::after{
  content:"";
  width:24px;
  height:24px;
  background:url(../images/ktcgroup/arrow-prev.svg) center/contain no-repeat;
}

#ktcgroup .movie__slider .swiper-button-next::after,
#ktcgroup .movie__slider .splide__arrow.splide__arrow--next::after{
  content:"";
  width:24px;
  height:24px;
  background:url(../images/ktcgroup/arrow-next.svg) center/contain no-repeat;
}

#ktcgroup .movie__slider .swiper-navigation-icon,
#ktcgroup .movie__slider .splide__arrow svg{
  display:none;
}

#ktcgroup .movie__slider .swiper-pagination,
#ktcgroup .movie__slider .splide__pagination{
  position:static;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:24px;
}

#ktcgroup .movie__slider .swiper-pagination-bullets:not(.swiper-pagination-lock){
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}

#ktcgroup .movie__slider .swiper-pagination-bullet,
#ktcgroup .movie__slider .splide__pagination .splide__pagination__page{
  width:12px;
  height:12px;
  margin:0 !important;
  border:1px solid #b6d56a !important;
  background:#fff !important;
  opacity:1 !important;
}

#ktcgroup .movie__slider .swiper-pagination-bullet.swiper-pagination-bullet-active,
#ktcgroup .movie__slider .splide__pagination .splide__pagination__page.is-active{
  background:#b6d56a !important;
  transform:scale(1);
}

#ktcgroup .movie-dialog{
  position:fixed;
  inset:0;
  margin:auto;
  aspect-ratio:1200/675;
  max-width:calc(100vw - 60px);
  max-height:calc(100vh - 60px);
  overflow:visible;
  opacity:0;
  transition:opacity 0.5s ease-in-out, display 0.5s allow-discrete;
}

#ktcgroup .movie-dialog::backdrop{
  opacity:1;
  background-color:rgba(0, 0, 0, 0.2);
}

#ktcgroup .movie-dialog:popover-open{
  opacity:1;
}
@starting-style{

  #ktcgroup .movie-dialog:popover-open{
    opacity:0;
  }
}

#ktcgroup .movie-dialog__close{
  width:40px;
  padding:0;
  position:absolute;
  top:-20px;
  right:-20px;
  border:none;
  box-shadow:none;
  background:none;
  z-index:2;
}

#ktcgroup .movie-dialog__video{
  width:100%;
  height:100%;
  position:relative;
  z-index:1;
}

#ktcgroup .story{
  padding:0 80px 40px;
}
@media (max-width: 1092px){

  #ktcgroup .story{
    padding-left:20px;
    padding-right:20px;
  }
}
@media (max-width: 767px){

  #ktcgroup .story{
    padding:0 min(5.3333333333vw, 20px) 40px;
  }
}

#ktcgroup .story__box{
  width:100%;
  max-width:1280px;
  margin-inline:auto;
  padding:90px 120px 80px 80px;
  border-radius:10px;
  background:#fff;
}
@media (max-width: 1092px){

  #ktcgroup .story__box{
    padding-left:24px;
    padding-right:24px;
  }
}
@media (min-width: 1093px) and (max-width: 1229px){

  #ktcgroup .story__box{
    padding-left:24px;
    padding-right:24px;
  }
}
@media (max-width: 767px){

  #ktcgroup .story__box{
    padding:90px min(4.2666666667vw, 16px) 40px;
  }
}

#ktcgroup .story__headwrap{
  display:flex;
  align-items:flex-end;
  gap:56px;
  align-self:stretch;
}
@media (max-width: 767px){

  #ktcgroup .story__headwrap{
    flex-direction:column;
    align-items:flex-start;
    gap:24px;
  }
}

#ktcgroup .story__head{
  display:flex;
  padding:2px 8px;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
}

#ktcgroup .story__label{
  font-family:var(--font-english);
  font-weight:700;
  font-size:14px;
  line-height:24px;
  letter-spacing:0.5px;
  color:var(--text-peppygreen);
}

#ktcgroup .story__title{
  text-align:left;
  font-family:var(--font-mincho);
  font-weight:500;
  font-size:32px;
  line-height:36px;
}
@media (max-width: 767px){

  #ktcgroup .story__title{
    font-size:28px;
  }
}

#ktcgroup .story__text{
  font-weight:500;
  line-height:2;
  letter-spacing:0.3px;
  text-align:left;
}

#ktcgroup .story-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  isolation:isolate;
  padding:24px 8px;
  position:relative;
  background-color:#fff;
  box-shadow:none;
  border:none;
  border-top:2px solid var(--text-peppygreen);
  border-bottom:2px solid var(--text-peppygreen);
}

#ktcgroup .story-card__thumbnail{
  position:relative;
  overflow:hidden;
  aspect-ratio:317/198;
}
@media (max-width: 767px){

  #ktcgroup .story-card__thumbnail{
    aspect-ratio:284/180;
  }
}

#ktcgroup .story-card__image{
  width:100%;
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  transition:scale 0.3s ease-in-out;
}
@media (any-hover: hover){

  #ktcgroup .story-card:hover .story-card__image{
    scale:1.05;
  }

  #ktcgroup .story-card:hover .story-card__title,
#ktcgroup .story-card:hover .story-card__text{
    opacity:0.5;
  }
}

#ktcgroup .story-card__body{
  display:flex;
  align-items:flex-start;
  gap:-4px;
  align-self:stretch;
}

#ktcgroup .story-card__icon{
  color:var(--text-peppygreen);
  text-align:center;
  font-family:var(--font-mincho);
  font-size:90px;
  font-weight:500;
  line-height:1;
  opacity:0.6;
}

#ktcgroup .story-card__content{
  display:flex;
  padding:40px 16px 0 0;
  flex-direction:column;
  align-items:flex-start;
}

#ktcgroup .story-card__title{
  margin-bottom:8px;
  font-weight:500;
  font-size:24px;
  font-family:var(--font-mincho);
  line-height:32px;
  transition:opacity 0.3s ease-in-out;
  text-align:left;
}
@media (max-width: 767px){

  #ktcgroup .story-card__title{
    font-size:20px;
  }
}

#ktcgroup .story-card__text{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  align-self:stretch;
  overflow:hidden;
  text-align:justify;
  text-overflow:ellipsis;
  font-weight:500;
  font-size:14px;
  font-family:var(--font-gothic);
  line-height:24px;
  letter-spacing:0.5px;
  transition:opacity 0.3s ease-in-out;
  text-align:left;
  margin-bottom:12px;
}

#ktcgroup .story-card__namewrap{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}

#ktcgroup .story-card__name{
  font-size:18px;
  font-family:var(--font-gothic);
  line-height:32px;
  letter-spacing:0.3px;
}

#ktcgroup .story-card__year{
  font-size:14px;
  font-family:var(--font-gothic);
  line-height:24px;
  letter-spacing:0.5px;
}

#ktcgroup .story-card__grade{
  display:flex;
  padding:2px 8px;
  justify-content:center;
  align-items:center;
  border:1px solid #808080;
  font-size:12px;
  font-family:var(--font-gothic);
  line-height:16px;
  letter-spacing:0.4px;
}

#ktcgroup .story-card__seedetail{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  align-self:stretch;
}

#ktcgroup .story-card__seedetail-text{
  font-size:16px;
  font-family:var(--font-gothic);
  line-height:16px;
  letter-spacing:0.5px;
  color:var(--text-peppygreen);
}

#ktcgroup .story-card__seedetail-icon{
  width:8px;
  height:13px;
}

#ktcgroup .story__slider{
  margin-top:56px;
}
@media (max-width: 767px){

  #ktcgroup .story__slider{
    margin-top:40px;
  }
}

#ktcgroup .story__slider.slide-count-1{
  width:100%;
}
@media (min-width: 768px) and (max-width: 1092px){

  #ktcgroup .story__slider.slide-count-1{
    width:50%;
    margin-inline:auto;
  }
}
@media (min-width: 1093px){

  #ktcgroup .story__slider.slide-count-1{
    width:calc((100% - 80px) / 3 * 2 + 40px);
    margin-inline:auto;
  }
}

#ktcgroup .story__slider.slide-count-1 .splide__arrows,
#ktcgroup .story__slider.slide-count-1 .splide__pagination{
  display:none !important;
}

#ktcgroup .story__slider.slide-count-2{
  width:100%;
}
@media (min-width: 768px) and (max-width: 1092px){

  #ktcgroup .story__slider.slide-count-2{
    width:100%;
  }
}
@media (min-width: 1093px){

  #ktcgroup .story__slider.slide-count-2{
    width:calc((100% - 80px) / 3 * 2 + 40px);
    margin-inline:auto;
  }
}

#ktcgroup .story__slider .splide{
  display:flex;
  flex-wrap:wrap;
  position:relative;
  align-items:flex-start;
}

#ktcgroup .story__slider .swiper,
#ktcgroup .story__slider .splide__track{
  margin-bottom:0;
  order:0;
  width:100%;
  flex:0 0 100%;
}

#ktcgroup .story__slider .splide__pagination{
  order:1;
  position:absolute !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  height:56px;
  flex:none;
  z-index:1;
}

#ktcgroup .story__slider.slide-count-1 .splide__pagination{
  display:none;
}
@media (min-width: 768px){

  #ktcgroup .story__slider.slide-count-2 .splide__pagination{
    display:none;
  }
}
@media (min-width: 1093px){

  #ktcgroup .story__slider.slide-count-3 .splide__pagination{
    display:none;
  }
}

#ktcgroup .story__slider .splide__arrows{
  position:static !important;
  order:1;
  display:flex;
  justify-content:space-between;
  margin-top:24px;
  height:56px;
}
@media (max-width: 767px){

  #ktcgroup .story__slider .splide__arrows{
    width:100%;
    flex:0 0 100%;
  }
}
@media (min-width: 768px) and (max-width: 1092px){

  #ktcgroup .story__slider .splide__arrows{
    width:calc((100% - 40px) / 2);
    flex:0 0 calc((100% - 40px) / 2);
    margin-left:calc((100% - 40px) / 4 + 20px);
  }
}
@media (min-width: 1093px){

  #ktcgroup .story__slider .splide__arrows{
    width:calc((100% - 80px) / 3);
    flex:0 0 calc((100% - 80px) / 3);
    margin-left:calc((100% - 80px) / 3 + 40px);
  }
}

#ktcgroup .story__slider.slide-count-1 .splide__arrows{
  display:none;
}
@media (min-width: 768px){

  #ktcgroup .story__slider.slide-count-2 .splide__arrows{
    display:none;
  }
}
@media (min-width: 1093px){

  #ktcgroup .story__slider.slide-count-3 .splide__arrows{
    display:none;
  }
}

#ktcgroup .story__slider .swiper-slide,
#ktcgroup .story__slider .splide__slide{
  height:auto;
  display:flex;
}

#ktcgroup .story__slider .swiper-slide > *{
  height:100%;
  display:flex;
  flex-direction:column;
}

#ktcgroup .story__slider .swiper-button-prev:not(.swiper-button-lock),
#ktcgroup .story__slider .swiper-button-next:not(.swiper-button-lock),
#ktcgroup .story__slider .splide__arrow{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  background:rgba(255, 255, 255, 0.8);
  border-radius:50%;
  border:1px solid var(--text-peppygreen);
  opacity:1;
  transition:opacity 0.3s;
  position:static;
  transform:none !important;
}
@media (any-hover: hover){

  #ktcgroup .story__slider .swiper-button-prev:not(.swiper-button-lock):hover,
#ktcgroup .story__slider .swiper-button-next:not(.swiper-button-lock):hover,
#ktcgroup .story__slider .splide__arrow:hover{
    opacity:0.5;
  }
}

#ktcgroup .story__slider .swiper-button-prev::after,
#ktcgroup .story__slider .splide__arrow.splide__arrow--prev::after{
  content:"";
  width:24px;
  height:24px;
  background:url(../images/ktcgroup/arrow-prev.svg) center/contain no-repeat;
}

#ktcgroup .story__slider .swiper-button-next::after,
#ktcgroup .story__slider .splide__arrow.splide__arrow--next::after{
  content:"";
  width:24px;
  height:24px;
  background:url(../images/ktcgroup/arrow-next.svg) center/contain no-repeat;
}

#ktcgroup .story__slider .swiper-navigation-icon,
#ktcgroup .story__slider .splide__arrow svg{
  display:none;
}

#ktcgroup .story__slider .swiper-pagination-bullets:not(.swiper-pagination-lock){
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}

#ktcgroup .story__slider .swiper-pagination-bullet,
#ktcgroup .story__slider .splide__pagination .splide__pagination__page{
  width:12px;
  height:12px;
  margin:0 !important;
  border:1px solid var(--text-peppygreen) !important;
  background:#fff !important;
  opacity:1 !important;
}

#ktcgroup .story__slider .swiper-pagination-bullet.swiper-pagination-bullet-active,
#ktcgroup .story__slider .splide__pagination .splide__pagination__page.is-active{
  background:var(--text-peppygreen) !important;
  transform:scale(1);
}

#ktcgroup .story-dialog{
  position:fixed;
  inset:0;
  margin:auto;
  width:-moz-fit-content;
  width:fit-content;
  height:-moz-fit-content;
  height:fit-content;
  border:none;
  border-radius:10px;
  background:#fff;
  opacity:0;
  transition:opacity 0.5s ease-in-out, display 0.5s allow-discrete;
  overflow:auto;
  max-width:min(1160px, 100vw - 160px);
  max-height:min(620px, 100vh - 80px);
  padding:56px 80px;
}
@media (max-width: 767px){

  #ktcgroup .story-dialog{
    max-width:min(335px, 100vw - 40px);
    max-height:min(800px, 100vh - 80px);
    padding:24px min(4.2666666667vw, 16px);
  }
}

#ktcgroup .story-dialog::backdrop{
  opacity:1;
  background-color:rgba(0, 0, 0, 0.2);
}

#ktcgroup .story-dialog:popover-open{
  opacity:1;
}
@starting-style{

  #ktcgroup .story-dialog:popover-open{
    opacity:0;
  }
}

#ktcgroup .story-dialog__content{
  width:100%;
  display:flex;
  padding:40px 0;
  flex-direction:column;
  align-items:flex-start;
  align-self:stretch;
  border-top:2px solid var(--text-peppygreen);
  border-bottom:2px solid var(--text-peppygreen);
}
@media (max-width: 767px){

  #ktcgroup .story-dialog__content{
    padding:40px 0 24px;
  }
}

#ktcgroup .story-dialog__continner{
  display:flex;
  padding:0 40px;
  align-items:flex-start;
  gap:24px;
  align-self:stretch;
}
@media (max-width: 1092px){

  #ktcgroup .story-dialog__continner{
    flex-direction:column;
    padding:0;
    gap:0;
  }
}

#ktcgroup .story-dialog__imagewrap{
  position:relative;
  overflow:hidden;
}
@media (max-width: 1092px){

  #ktcgroup .story-dialog__imagewrap{
    aspect-ratio:303/210;
    width:100%;
  }
}
@media (min-width: 1093px){

  #ktcgroup .story-dialog__imagewrap{
    aspect-ratio:416/260;
    flex:13;
    min-width:0;
  }
}

#ktcgroup .story-dialog__image{
  width:100%;
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
}

#ktcgroup .story-dialog__textwrap{
  display:flex;
  align-items:flex-start;
  align-self:stretch;
}
@media (max-width: 1092px){

  #ktcgroup .story-dialog__textwrap{
    width:100%;
    margin-top:0;
  }
}
@media (min-width: 1093px){

  #ktcgroup .story-dialog__textwrap{
    flex:15;
    min-width:0;
    margin-top:40px;
  }
}

#ktcgroup .story-dialog__icon{
  color:var(--text-peppygreen);
  text-align:center;
  font-family:var(--font-mincho);
  font-size:90px;
  font-weight:500;
  line-height:1;
  opacity:0.6;
}

#ktcgroup .story-dialog__textarea{
  display:flex;
  padding:40px 16px 0 0;
  flex-direction:column;
  align-items:flex-start;
}

#ktcgroup .story-dialog__title{
  font-family:var(--font-mincho);
  font-size:24px;
  font-weight:500;
  line-height:32px;
  margin-bottom:40px;
}
@media (max-width: 767px){

  #ktcgroup .story-dialog__title{
    margin-bottom:24px;
  }
}

#ktcgroup .story-dialog__info{
  display:flex;
  padding-bottom:16px;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  align-self:stretch;
  border-bottom:1px solid var(--text-peppygreen);
  margin-bottom:32px;
}

#ktcgroup .story-dialog__info.--mbchange{
  margin-bottom:16px;
}
@media (max-width: 767px){

  #ktcgroup .story-dialog__info.--mbchange{
    margin-bottom:12px;
  }
}

#ktcgroup .story-dialog__infotitle{
  color:var(--text-peppygreen);
  text-align:justify;
  font-size:18px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:0.3px;
}

#ktcgroup .story-dialog__infotext{
  text-align:justify;
  font-size:14px;
  font-weight:500;
  line-height:24px;
  letter-spacing:0.5px;
}

#ktcgroup .story-dialog__namewrap{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:6px;
}
@media (max-width: 767px){

  #ktcgroup .story-dialog__namewrap{
    margin-bottom:4px;
  }
}

#ktcgroup .story-dialog__name{
  font-size:18px;
  font-weight:500;
  line-height:32px;
  letter-spacing:0.3px;
}

#ktcgroup .story-dialog__year{
  font-size:14px;
  font-weight:500;
  line-height:24px;
  letter-spacing:0.5px;
}

#ktcgroup .story-dialog__grade{
  display:flex;
  padding:2px 8px;
  justify-content:center;
  align-items:center;
  gap:6px;
  border:1px solid #808080;
  font-size:12px;
  font-weight:500;
  line-height:16px;
  letter-spacing:0.4px;
}

#ktcgroup .story-dialog__btnwrap{
  margin-top:24px;
}
@media (max-width: 767px){

  #ktcgroup .story-dialog__btnwrap{
    margin-top:12px;
  }
}

#ktcgroup .story-dialog__close-btn{
  display:flex;
  padding:0;
  justify-content:flex-end;
  align-items:center;
  gap:6px;
  align-self:stretch;
  border:none;
  background-color:#fff;
  cursor:pointer;
  transition:opacity 0.3s;
  margin-right:0;
  margin-left:auto;
}
@media (max-width: 767px){

  #ktcgroup .story-dialog__close-btn{
    padding:0 16px;
  }
}
@media (any-hover: hover){

  #ktcgroup .story-dialog__close-btn:hover{
    opacity:0.7;
  }
}

#ktcgroup .story-dialog__close-text{
  font-size:16px;
  font-weight:500;
  line-height:16px;
  letter-spacing:0.5px;
  color:var(--text-peppygreen);
  font-family:var(--font-gothic);
  font-size:16px;
  font-weight:500;
  line-height:16px;
  letter-spacing:0.5px;
}

#ktcgroup .story-dialog__close-icon{
  width:20px;
  height:20px;
  flex-shrink:0;
}

#ktcgroup .story-card__text > mark,
#ktcgroup .story-dialog__infotext > mark,
#ktcgroup .story-dialog__infotext > mark{
  background:rgba(252, 200, 0, 0.2);
}

#ktcgroup .history{
  width:100%;
  padding:40px 200px 120px;
}
@media (max-width: 1092px){

  #ktcgroup .history{
    padding-left:24px;
    padding-right:24px;
  }
}
@media (max-width: 767px){

  #ktcgroup .history{
    padding:40px min(6.4vw, 24px);
  }
}

#ktcgroup .history__head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}
@media (max-width: 767px){

  #ktcgroup .history__head{
    align-items:flex-start;
  }
}

#ktcgroup .history__label{
  font-family:var(--font-english);
  font-weight:700;
  font-size:14px;
  line-height:24px;
  letter-spacing:0.5px;
  color:var(--text-accent);
}

#ktcgroup .history__title{
  font-family:var(--font-mincho);
  font-weight:500;
  font-size:32px;
  line-height:36px;
  text-align:center;
}
@media (max-width: 767px){

  #ktcgroup .history__title{
    font-size:28px;
    text-align:left;
  }
}

#ktcgroup .history__description{
  max-width:790px;
  margin:40px auto;
  font-weight:500;
  line-height:2;
  letter-spacing:0.3px;
  text-align:center;
  opacity:0.7;
}
@media (max-width: 767px){

  #ktcgroup .history__description{
    text-align:left;
  }
}

#ktcgroup .history__bottom{
  text-align:center;
}

#ktcgroup .history__bottom a{
  display:block;
  max-width:480px;
  width:100%;
  margin:0 auto;
}
@media (max-width: 767px){

  #ktcgroup .history__bottom a{
    max-width:327px;
  }
}

#ktcgroup .history__bottom picture{
  display:block;
}

#ktcgroup .history__bottom img{
  display:block;
  width:100%;
  height:auto;
}

#ktcgroup .link{
  width:100%;
  padding:40px 40px 56px;
  background-image:url("../images/ktcgroup/bg-link-footer.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  position:relative;
}
@media (max-width: 1092px){

  #ktcgroup .link{
    padding:32px min(6.4vw, 24px);
  }
}

#ktcgroup .link__container{
  display:flex;
  flex-direction:column;
  align-items:center;
}

#ktcgroup .link__group{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
}

#ktcgroup .link__label{
  font-family:var(--font-gothic);
  font-weight:500;
  font-size:14px;
  line-height:1.2;
  letter-spacing:0.5px;
  color:#787878;
  text-align:center;
}

#ktcgroup .link__logos{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:56px;
}
@media (max-width: 767px){

  #ktcgroup .link__logos{
    flex-direction:column;
    gap:10px;
  }
}
@media (max-width: 767px){

  #ktcgroup .link__logo{
    min-height:40px;
    display:grid;
    place-items:center;
  }
}

#ktcgroup .link__logo-img{
  width:160px;
}
@media (max-width: 767px){

  #ktcgroup .link__logo-img.is-peppy{
    width:151px;
  }
}
@media (max-width: 767px){

  #ktcgroup .link__logo-img.is-navi{
    width:130px;
  }
}
@media (max-width: 767px){

  #ktcgroup .link__logo-img.is-oozora{
    width:130px;
  }
}

#ktcgroup .link__button{
  max-width:336px;
  width:100%;
  margin:12px auto 0 auto;
}

#ktcgroup .link__button__link{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0 8px;
  width:100%;
  padding:24px 0;
  border-radius:99999px;
  background-color:#8da53e;
  transition:opacity 0.3s;
}

#ktcgroup .link__button__link:hover{
  opacity:0.7;
}

#ktcgroup .link__button__text{
  font-family:var(--font-gothic);
  font-weight:700;
  font-size:18px;
  line-height:1.2;
  letter-spacing:1px;
  color:#fff;
  text-align:center;
}

.footer{
  padding:0 80px 56px;
  background-image:url("../images/ktcgroup/bg-link-footer.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  font-family:var(--font-gothic);
}
@media (max-width: 767px){

  .footer{
    padding:0 min(6.4vw, 24px) 24px;
  }
}

.footer__container{
  width:100%;
  max-width:1280px;
  display:flex;
  justify-content:space-between;
  margin-inline:auto;
  padding-top:40px;
  border-top:1px solid #808080;
}
@media screen and (max-width: 1100px){

  .footer__container{
    flex-direction:column;
    gap:32px;
  }
}

.footer__info{
  display:flex;
  align-items:center;
  gap:24px;
}
@media (max-width: 767px){

  .footer__info{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
}

.footer__logo{
  width:148px;
  display:block;
}

.footer__copyright{
  font-weight:500;
  font-size:12px;
  font-family:var(--font-gothic);
  line-height:16px;
  letter-spacing:0.4px;
  color:#808080;
}

.footer__nav{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:8px 24px;
}

.footer__company{
  display:inline-flex;
  align-items:flex-start;
  gap:10px;
  transition:opacity 0.3s;
}

.footer__nav-link{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-weight:500;
  font-size:11px;
  line-height:16px;
  letter-spacing:0.5px;
  transition:opacity 0.3s ease;
}

.footer__nav-link:hover{
  font-weight:500;
  font-size:11px;
}
@media (any-hover: hover){

  .footer__company:hover,
.footer__nav-link:hover{
    opacity:0.5;
  }
}

.footer__company-logo{
  width:180px;
}

.footer__company-text{
  font-weight:500;
  font-size:11px;
  line-height:16px;
  letter-spacing:0.5px;
}

.footer__nav-icon{
  width:9px;
  flex-shrink:0;
}
@media screen and (width >= 768px){

  .mobile-only{
    display:none;
  }
}
@media screen and (width < 768px){

  .desktop-only{
    display:none;
  }
}