@charset "UTF-8";
/* ------------------------------------------------------------
 * PC/SP表示切替
------------------------------------------------------------ */
@media screen and (min-width: 769px) {
  .u-sp-only {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .u-pc-only {
    display: none;
  }
}
/* ------------------------------------------------------------
 * margin
------------------------------------------------------------ */
.u-mt0 {
  margin-top: 0;
}

/* ------------------------------------------------------------
 * 画像
------------------------------------------------------------ */
.u-ofi {
  font-family: "object-fit: cover; object-position: 50% 50%;";
  object-fit: cover;
  object-position: 50% 50%;
}
.u-ofi.-contain {
  font-family: "object-fit: contain; object-position: 50% 50%;";
  object-fit: contain;
}

/* ------------------------------------------------------------
 * サイト内共通 js class
------------------------------------------------------------ */
.-js-slide-toggle-trig,
[data-tab-target],
[data-tab-switch] {
  -webkit-user-select: none;
  user-select: none;
}

.u-tab-switch-target,
.-js-tab-target-hide,
.-js-tab-switch-hide {
  display: none;
}

.-js-tab-target-show,
.-js-tab-switch-show {
  display: block;
  animation: fade-in 0.25s ease-out;
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
a.case_button {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  a.case_button {
    width: auto;
  }
}

.mv {
  position: relative;
  overflow: hidden;
  background: none;
  width: 100%;
  height: 768px;
}
@media screen and (max-width: 768px) {
  .mv {
    height: auto;
  }
}
.mv .video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}

.catch {
  margin-bottom: 0;
}

.section-law {
  padding: 12rem 2rem 15rem;
  background-color: #CCF4F8;
}
@media screen and (max-width: 768px) {
  .section-law {
    padding-top: 10rem;
    padding-bottom: 16rem;
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
.section-law .law-section-title {
  color: #221F20;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .section-law .law-section-title {
    font-size: 3.3rem;
  }
}
.section-law .law_description {
  padding: 5rem;
  background-color: #fff;
  max-width: 96rem;
  margin: 0 auto 6rem;
  border: 2px solid #00C8DC;
}
@media screen and (max-width: 768px) {
  .section-law .law_description {
    padding: 3rem;
    margin-bottom: 5rem;
  }
}
.section-law .law_description .title {
  color: #060606;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.01em;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 3.3rem;
}
@media screen and (max-width: 768px) {
  .section-law .law_description .title {
    font-size: 2.2rem;
  }
}
.section-law .law_description .text ol {
  margin-bottom: 1.94em;
}
.section-law .law_description .text p,
.section-law .law_description .text li {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.94;
  letter-spacing: 0.01em;
  font-family: "Noto Sans JP", sans-serif;
  color: #221F20;
}
@media screen and (max-width: 768px) {
  .section-law .law_description .text p,
  .section-law .law_description .text li {
    font-size: 1.6rem;
  }
}
.section-law .law_description .text p {
  margin-bottom: 1.94em;
}
.section-law .law_description .text p:first-child, .section-law .law_description .text p:last-child {
  margin-bottom: 0;
}

.section-case .case_cv {
  margin: 0 auto;
  max-width: 1230px;
}
@media screen and (max-width: 768px) {
  .section-case .case_cv {
    padding-left: 5vw;
    padding-right: 5vw;
    margin-top: 6rem;
  }
}
.section-case .case_cv .case_button_description {
  padding: 0;
  background-color: transparent;
  border: none;
}
@media screen and (max-width: 768px) {
  .section-case .case_cv .case_button_description {
    margin: 0;
    font-size: 2.6rem;
    line-height: 1.92;
    letter-spacing: 0;
  }
}
.section-case .case_button {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .section-case .movie_block {
    height: 36rem;
    flex-direction: column-reverse;
  }
}
.section-case .movie_block .content-left {
  padding: 4.8rem 6rem;
  margin: 0;
  background-color: #00C8DC;
  flex: 1 0 auto;
}
@media screen and (max-width: 1023px) {
  .section-case .movie_block .content-left {
    width: 60%;
  }
}
@media screen and (max-width: 768px) {
  .section-case .movie_block .content-left {
    padding: 1.8rem 2.2rem;
    width: 100%;
  }
}
.section-case .movie_block .content-left p {
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
}
@media screen and (max-width: 800px) {
  .section-case .movie_block .content-left p {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .section-case .movie_block .content-left p {
    font-size: 2.2rem;
  }
}
.section-case .movie_block .content-right {
  max-width: 350px;
}
@media screen and (max-width: 1023px) {
  .section-case .movie_block .content-right {
    width: 40%;
  }
}
@media screen and (max-width: 768px) {
  .section-case .movie_block .content-right {
    width: 100%;
    max-width: 100%;
  }
}

.section-point {
  padding-top: 11rem;
}
@media screen and (max-width: 768px) {
  .section-point {
    padding-top: 8rem;
  }
}
.section-point h2 {
  font-size: 4rem;
  padding-left: 3vw;
  padding-right: 3vw;
}
@media screen and (max-width: 768px) {
  .section-point h2 {
    font-size: 2.6rem;
  }
}
.section-point .case_button {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .section-point .case_button {
    margin-left: 5vw;
    margin-right: 5vw;
  }
}

@media screen and (max-width: 768px) {
  .section-trial .section-contents {
    height: auto;
  }
}
.section-trial .case_button {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .section-trial .case_button {
    width: auto;
  }
}