@import url("global.css");
.introduction {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}
.introduction .main {
  width: 50vw;
  padding-block: 50px;
  padding-left: calc( ( 100vw - 1440px ) / 2 );
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.introduction .main .maincatch {
  font-weight: 700;
  font-size: clamp(21px, 2.7vw, 36px);
}
.introduction .main .text {
  margin-top: 15px;
  text-align: justify;
  font-size: 1.06em;
}
.introduction .main .text > p + p {
  margin-top: 1em;
}
.introduction .img {
  order: 2;
  width: 46vw;
  aspect-ratio: 2 / 1;
  background-color: #777777;
}
.introduction .img figure {
  height: 100%;
  -webkit-border-top-left-radius: 12px;
  border-top-left-radius: 12px;
  -webkit-border-bottom-left-radius: 12px;
  border-bottom-left-radius: 12px;
  overflow: hidden;
}

.movie {
  max-width: 860px;
  margin: 0 auto 120px;
}
.movie .mvttl {
  display: flex;
  align-items: center;
  column-gap: 8px;
  margin-bottom: 15px;
  font-weight: 700;
  font-size: clamp(16px, 2.2vw, 20px);
}
.movie .mvttl::before {
  content: "";
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 50%;
  background-color: #00A8AF;
}
.movie .frame {
  width: 100%;
  padding: 50px 65px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #F5F5F5;
  -webkit-border-radius: var(--radius-large);
  border-radius: var(--radius-normal);
}
.movie .frame .inner {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.movie .frame .inner iframe {
  width: 100%;
  height: 100%;
}

#features {
  clip-path: inset(0);
  position: relative;
  z-index: 2;
  margin-block: 120px 100px;
}
#features::before {
  content: "";
  position: fixed;
  z-index: -2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  background: url("../img/ks/features_bg.jpg") no-repeat center center;
  background-size: cover;
}
#features::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #262626;
  opacity: .2;
}
#features .features_inner {
  counter-reset: listnum 0;
  max-width: 800px;
  padding-block: 100px;
}
#features .features_inner .main_title {
  text-align: center;
  color: #FFF;
  margin-bottom: 60px;
}
#features .features_inner .main_title span {
  display: block;
  line-height: 1.3;
}
#features .features_inner .main_title span.en {
  font-size: clamp(16px, 2vw, 18px);
  font-weight: 600;
}
#features .features_inner .main_title span.en::before, #features .features_inner .main_title span.en::after {
  display: inline;
}
#features .features_inner .main_title span.en::before {
  content: "(";
  margin-right: .3em;
}
#features .features_inner .main_title span.en::after {
  content: ")";
  margin-left: .3em;
}
#features .features_inner .main_title span.ja {
  font-size: clamp(25px, 4vw, 46px);
  font-weight: 700;
}
#features .features_inner .section {
  counter-increment: listnum 1;
  position: relative;
  background-color: #FFF;
  padding: 70px 60px 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 20px;
  border-radius: 20px;
}
#features .features_inner .section + .section {
  margin-top: 85px;
}
#features .features_inner .section::before {
  content: "0" counter(listnum);
  position: absolute;
  left: 50%;
  top: -7px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  text-align: center;
  line-height: 1.5;
  padding: 0 10px;
  width: 120px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #FFF;
  background-color: #262626;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  overflow: hidden;
  font-family: "Barlow Semi Condensed", "LINE Seed JP", sans-serif;
  font-weight: 600;
  font-size: clamp(20px, 2vw, 26px);
}
#features .features_inner .titlebox {
  text-align: center;
  margin-bottom: 15px;
}
#features .features_inner .titlebox .sec_title span {
  display: block;
  line-height: 1.3;
  font-weight: 700;
}
#features .features_inner .titlebox .sec_title span.small {
  font-size: clamp(15px, 2.1vw, 24px);
}
#features .features_inner .titlebox .sec_title span.title {
  font-size: clamp(20px, 3vw, 38px);
}
#features .features_inner .sec_body .text {
  margin-block: 20px;
  text-align: justify;
}
#features .features_inner .sec_body .text > p {
  font-size: 1.06em;
}
#features .features_inner .sec_body .text > p + p {
  margin-top: 1em;
}
#features .features_inner .sec_body .imgbox {
  margin: 35px auto;
  max-width: 400px;
}
#features .features_inner .sec_body .imgbox.imglarge {
  max-width: 90%;
}
#features .features_inner .sec_body .imgbox img {
  -webkit-border-radius: var(--radius-normal);
  border-radius: var(--radius-normal);
  overflow: hidden;
}
#features .features_inner .sec_body ul.list {
  margin-top: 40px;
}
#features .features_inner .sec_body ul.list li + li {
  margin-top: 20px;
  border-top: #BBB solid 1px;
  padding-top: 30px;
}
#features .features_inner .sec_body ul.list li .item_inner {
  display: flex;
}
#features .features_inner .sec_body ul.list li .item_inner .item_main {
  width: 100%;
  padding-right: 25px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#features .features_inner .sec_body ul.list li .item_inner .item_main .h {
  display: flex;
  align-items: center;
  column-gap: 8px;
  margin-bottom: 10px;
  font-weight: 700;
  font-size: clamp(16px, 2.2vw, 20px);
}
#features .features_inner .sec_body ul.list li .item_inner .item_main .h::before {
  content: "";
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 50%;
  background-color: #D5501E;
}
#features .features_inner .sec_body ul.list li .item_inner .item_main > p {
  text-align: justify;
  font-size: .93em;
}
#features .features_inner .sec_body ul.list li .item_inner .item_ph {
  flex-shrink: 0;
  width: 200px;
}
#features .features_inner .sec_body ul.list li .item_inner .item_ph figure {
  width: 100%;
}
#features .features_inner .sec_body ul.list li .item_inner .item_ph figure img {
  -webkit-border-radius: var(--radius-small);
  border-radius: var(--radius-small);
  overflow: hidden;
}
#features .features_inner .sec_body ul.exsample {
  display: flex;
  justify-content: space-between;
}
#features .features_inner .sec_body ul.exsample li {
  width: 48%;
  border: #C6C6C6 solid 1px;
  -webkit-border-radius: var(--radius-normal);
  border-radius: var(--radius-normal);
  background-color: #FFF;
  padding: 25px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#features .features_inner .sec_body ul.exsample li > figure {
  max-width: 188px;
  margin: 0 auto 10px;
}
#features .features_inner .sec_body ul.exsample li > dl dt {
  font-weight: 700;
  font-size: 1.125em;
}
#features .features_inner .sec_body ul.exsample li > dl dd {
  text-align: justify;
  font-size: .875em;
}

.summary {
  margin-block: 100px;
  text-align: center;
}
.summary .h {
  margin-bottom: 10px;
  font-weight: 700;
  color: #989898;
}
.summary .h::before, .summary .h::after {
  display: inline;
}
.summary .h::before {
  content: "-";
  margin-right: .3em;
}
.summary .h::after {
  content: "-";
  margin-left: .3em;
}
.summary .catch {
  line-height: 1.5;
  font-weight: 700;
  font-size: clamp(22px, 3vw, 36px);
}
.summary .catch em {
  color: #D5501E;
}
.summary ul.point {
  max-width: 940px;
  padding-block: 35px;
  display: flex;
  justify-content: space-between;
  background-color: #F8F5EE;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  margin: 35px auto;
}
.summary ul.point li {
  width: calc( 100% / 3 );
  padding: 15px 3vw;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}
.summary ul.point li:nth-child(2) {
  border-left: #CCC dotted 3px;
  border-right: #CCC dotted 3px;
}
.summary ul.point li > p {
  font-size: 1.125em;
  font-weight: 700;
}

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 ( 1600px )

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1600px) {
  .introduction .main {
    padding-left: 50px;
  }

  .movie {
    max-width: 760px;
  }
  .movie .frame {
    padding: 50px;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 1300px )

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1300px) {
  .introduction .main {
    width: 52vw;
    padding-block: 0;
    padding-left: 5vw;
  }
  .introduction .img {
    width: 42vw;
  }
  .introduction .img figure {
    -webkit-border-top-left-radius: 7px;
    border-top-left-radius: 7px;
    -webkit-border-bottom-left-radius: 7px;
    border-bottom-left-radius: 7px;
  }

  .movie {
    margin: 0 auto 90px;
  }
  .movie .frame {
    padding: 40px;
  }

  #features {
    margin-block: 90px 75px;
  }
  #features .features_inner {
    padding-block: 90px;
  }
  #features .features_inner .section {
    padding: 50px 45px 40px;
    -webkit-border-radius: 14px;
    border-radius: 14px;
  }
  #features .features_inner .section + .section {
    margin-top: 65px;
  }
  #features .features_inner .section::before {
    width: 90px;
  }
  #features .features_inner .sec_body .text > p {
    font-size: 1em;
  }
  #features .features_inner .sec_body ul.list li .item_inner .item_ph {
    width: 180px;
  }
  #features .features_inner .sec_body ul.exsample li {
    padding: 20px;
  }
  #features .features_inner .sec_body ul.exsample li > figure {
    max-width: 160px;
  }

  .summary {
    margin-block: 80px;
  }
  .summary ul.point {
    padding-block: 30px;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 644px )

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  .introduction {
    display: block;
    margin-bottom: 35px;
  }
  .introduction .main {
    width: auto;
    padding-inline: 5vw;
  }
  .introduction .main .text {
    font-size: 1em;
  }
  .introduction .img {
    margin-bottom: 30px;
    width: auto;
  }
  .introduction .img figure {
    height: auto;
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .movie {
    max-width: 96%;
    margin: 0 auto 65px;
  }
  .movie .mvttl {
    column-gap: 5px;
    margin-bottom: 10px;
  }
  .movie .mvttl::before {
    width: 6px;
    height: 6px;
  }
  .movie .frame {
    padding: 20px;
  }

  #features {
    margin-block: 65px 45px;
  }
  #features .features_inner {
    max-width: 90%;
    margin-inline: auto;
    padding-block: 65px;
  }
  #features .features_inner .main_title {
    margin-bottom: 45px;
  }
  #features .features_inner .section {
    padding: 40px 25px 30px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
  }
  #features .features_inner .section + .section {
    margin-top: 35px;
  }
  #features .features_inner .section::before {
    top: -6px;
    width: 80px;
  }
  #features .features_inner .sec_body .text {
    margin-block: 15px;
  }
  #features .features_inner .sec_body .imgbox {
    margin: 25px auto;
    max-width: 90%;
  }
  #features .features_inner .sec_body .imgbox.imglarge {
    max-width: 100%;
  }
  #features .features_inner .sec_body ul.list {
    margin-top: 30px;
  }
  #features .features_inner .sec_body ul.list li + li {
    margin-top: 15px;
    padding-top: 20px;
  }
  #features .features_inner .sec_body ul.list li .item_inner {
    display: block;
  }
  #features .features_inner .sec_body ul.list li .item_inner .item_main {
    padding-right: 0;
  }
  #features .features_inner .sec_body ul.list li .item_inner .item_main .h {
    column-gap: 5px;
    margin-bottom: 7px;
  }
  #features .features_inner .sec_body ul.list li .item_inner .item_main .h::before {
    width: 6px;
    height: 6px;
  }
  #features .features_inner .sec_body ul.list li .item_inner .item_ph {
    margin: 15px auto 0;
    width: 160px;
  }
  #features .features_inner .sec_body ul.exsample {
    display: block;
  }
  #features .features_inner .sec_body ul.exsample li {
    width: 100%;
  }
  #features .features_inner .sec_body ul.exsample li + li {
    margin-top: 20px;
  }
  #features .features_inner .sec_body ul.exsample li > figure {
    max-width: 150px;
  }

  .summary {
    margin-block: 65px;
  }
  .summary ul.point {
    padding: 10px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    margin: 25px auto;
  }
  .summary ul.point li {
    width: 100%;
    display: block;
  }
  .summary ul.point li + li {
    border-top: #CCC dotted 2px;
  }
  .summary ul.point li:nth-child(2) {
    border-left: none;
    border-right: none;
  }
  .summary ul.point li > p br {
    display: none;
  }
}
