@charset "UTF-8";

.cv_box {
  padding: 40px;
  border-radius: 10px;
  background: var(--bgYellow);
}

.cv_box .componentBtn {
  max-width: 532px;
  margin: 0 auto;
}

.cv_box .tel {
  max-width: 532px;
  margin: 15px auto 0;
  padding: 15px;
  box-sizing: border-box;
  border-radius: 10px;
  color: #000;
  text-align: center;
  background: var(--White);
}

.cv_box .tel .ico {
  display: inline-block;
  margin: 5px 0;
  padding: 0 0 0 37px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  background: url(../img/ico_tel.svg) no-repeat 0 center;
  background-size: 33px auto;
}

.service.support-flow .balloon>li:before {
  content: none !important;
}

.course_nav {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 0 50px;
}

.course_nav .col {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(50% - 8px);
  padding: 40px 75px 40px 30px;
  border-top: 1px solid var(--Main1);
  box-sizing: border-box;
  border-radius: 0 0 5px 5px;
  background: var(--bgGray);
  position: relative;
  transition: opacity .2s;
}

.course_nav .col:hover {
  opacity: .7;
}

.course_nav .col::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  background-image: url(/addcommon/images/common/icon_triangle.svg);
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}

.course_nav .col .img {
  width: 80px;
}

.course_nav .col .txt {
  width: calc(100% - 100px);
}

.service.support-flow .componentBoxEpisode {
  position: relative;
}

.service.support-flow .componentBoxEpisode.new::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  background: url(../img/ico_new.png) no-repeat 0 0;
  background-size: 100% auto;
}

.service.support-flow .componentBoxEpisode .category_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 10px;
}

.service.support-flow .componentBoxEpisode .category_wrap .other {
  font-size: 1.2rem;
  color: #666;
}

.componentCourse.fp {
  padding: 40px 60px;
  border: 1px solid var(--lineColor);
  border-radius: 10px;
}

.componentCourse.all {
  padding: 40px 60px;
  border: 1px solid var(--bgYellow);
  border-radius: 10px;
  background: var(--bgYellow);
}

.service.support-flow .componentCourse .text-content {
  max-width: 100% !important;
}

.service.support-flow .componentCourse .usageConditions {
  background: var(--White);
}

.service.support-flow .componentCourse .subtitle {
  padding: 0 0 0 40px;
}

.service.support-flow .componentCourse.all .subtitle {
  background: url(../img/ico_all.svg) no-repeat 0 center;
  background-size: 30px auto;
}

.service.support-flow .componentCourse.fp .subtitle {
  background: url(../img/ico_fp.svg) no-repeat 0 center;
  background-size: 30px auto;
}

.service.support-flow .componentCourse.fp .video__container .seminar-detail-youtube {
  max-width: 690px;
}

.case_list_wrap {
  position: relative;
  overflow: hidden;
  interpolate-size: allow-keywords;
}

.case_list_wrap .case_list__checkbox {
  display: none;
}

.case_list_wrap .case_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin: 0 0 40px;
  height: 500px;
  overflow: hidden;
  transition: height .3s;
}

.case_list_wrap .case_list:has(+ .case_list__checkbox:checked)  {
  height: auto;
}

.case_list_wrap .case_list li {
  width: calc((100% - 40px) / 2);
  padding: 30px;
  box-sizing: border-box;
  background: var(--bgGray) url(../img/bg_case_list01.svg) no-repeat right top;
  background-size: 40px auto;
}

.case_list_wrap .case_list li .tag {
  display: inline-block;
  margin: 0 0 15px 14px;
  padding: 2px 10px 3px;
  border-radius: 0 3px 3px 0;
  font-weight: bold;
  color: var(--Main1);
  line-height: 1.4;
  position: relative;
}

.case_list_wrap .case_list li .tag._tag01 {
  background: #FDD000;
}

.case_list_wrap .case_list li .tag._tag02 {
  background: #BFDFF2;
}

.case_list_wrap .case_list li .tag::before {
  content: '';
  position: absolute;
  top: 0;
  left: -14px;
  width: 14px;
  height: 100%;
}

.case_list_wrap .case_list li .tag._tag01::before {
  background: url(../img/bg_case_list_tag01.svg) no-repeat 0 center;
  background-size: auto 100%;
}

.case_list_wrap .case_list li .tag._tag02::before {
  background: url(../img/bg_case_list_tag02.svg) no-repeat 0 center;
  background-size: auto 100%;
}

@media screen and (max-width: 1024px) {
  .case_list_wrap .case_list {
    gap: 20px;
  }
  .case_list_wrap .case_list li .tag::before {
    left: -12.6px;
  }
}

@media only screen and (max-width: 767px) {
  .case_list_wrap .case_list li {
    width: 100%;
    padding: 20px;
  }
}

.case_list_wrap .case_list__btn {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: .04em;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 2;
    transition: .2s ease-out
}

.case_list_wrap .case_list__btn::before {
  content: 'もっと見る';
}

.case_list_wrap .case_list__checkbox:checked ~  .case_list__btn::before {
  content: '閉じる';
}

@media screen and (max-width: 1024px) {
    .case_list_wrap .case_list__btn {
        font-size:14px;
        font-size: 1.4rem;
        line-height: 1.8
    }
}

.case_list_wrap .case_list__btn:hover {
    opacity: .6
}

.case_list_wrap .case_list__btn>span {
    display: block;
    width: 20px;
    height: 20px;
    aspect-ratio: 1;
    background: var(--Main1);
    border-radius: 50%;
    transition: .3s ease-out;
    position: relative
}

.case_list_wrap .case_list__btn>span::before,
.case_list_wrap .case_list__btn>span::after {
    content: "";
    display: block;
    width: 10px;
    height: 1px;
    background: var(--bgGray);
    border-radius: 100px;
    transition: .3s ease-out;
    position: absolute;
    top: 50%;
    left: 50%
}

.case_list_wrap .case_list__btn>span::before {
    transform: translate(-50%, -50%) rotate(90deg)
}

.case_list_wrap .case_list__btn>span::after {
    transform: translate(-50%, -50%)
}

.case_list_wrap .case_list__checkbox:checked ~  .case_list__btn>span::before {
    transform: translate(-50%, -50%) rotate(0)
}

.case_list_wrap .case_list__fade {
    pointer-events: none;
    content: "";
    width: 100%;
    height: 156px;
    position: absolute;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
    bottom: 37px
}

.case_list_wrap .case_list__checkbox:checked  ~ .case_list__fade {
  display: none;
}

@media only screen and (max-width: 767px) {
  .cv_box {
    padding: 20px;
  }

  .service.componentBtn--contract>span span {
    display: block;
  }

  .course_nav {
    flex-direction: column;
  }

  .course_nav .col {
    width: 100%;
    padding: 20px 50px 20px 20px;
  }

  .course_nav .col::after {
    right: 15px;
  }

  .course_nav .col .img {
    width: 50px;
  }

  .course_nav .col .txt {
    width: calc(100% - 65px);
  }

  .componentCourse.fp {
    padding: 20px;
  }

  .componentCourse.all {
    padding: 20px;
  }
}