@charset "UTF-8";

/* common */

#home .chapter h2:after {
  margin: 18px auto;
}

#home .lead_txt {
  font-size: 15px;
  margin-bottom: 40px;
}

/**/
#main-v {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 50px 0 0;
}

#main-v .main-v-con-l {
  padding: 0;
}

#main-v .main-v-con-l .main-wrap {
  text-align: center;
}

#main-v .main-v-con-l .main-desc {
  padding-bottom: 5px;
}

#main-v .main-v-con-l .ttl_logo {
  justify-content: center;
  gap: 12px;
  width: 100%;
  margin: auto;
}

#main-v .main-v-con-l .ttl_logo img {
  max-width: 193px;
  width: auto;
}

#main-v .main-v-con-l .ttl_logo span {
  font-size: 20px;
}

#main-v .main_list {
  font-size: 18px;
  margin-bottom: 20px;
  padding: 20px;
}

#main-v .main_list li {
  background-size: 24px 24px;
  padding-left: 32px;
}

#main-v .main-v-con-r {
  margin-top: 30px;
}

/* ins_record */

.ins_record {
  padding: 60px 0;
}

.ins_record .txt-note {
  padding-top: 10px;
}

.logo_group {
  padding: 10px 0;
}

.logo_group .box_slide,
.logo_group .box_slide_02 {
  padding: 0;
  max-width: 100%;
  width: 100%;
}

.logo_group .box_slide .logo,
.logo_group .box_slide_02 .logo {
  margin: 0 5px;
}

.logo_group .box_slide .logo img,
.logo_group .box_slide_02 .logo img {
  width: 100px;
}

/* about */

#about .about-ttl {
  font-size: 24px;
  margin-bottom: 40px;
}

#about .about-ttl span {
  font-size: 16px;
  margin-bottom: 8px;
}

#about .about-con-l .about-ttl2 {
  font-size: 18px;
  margin-bottom: 20px;
}

#about .about-con-l {
  width: 100%;
}

#about .about-con-l p {
  font-size: 15px;
}

#about .about-con-r {
  margin: 0 auto 40px;
  padding: 0;
  max-width: 335px;
  width: 100%;
}

#about .about-con-r video {
  width: 135px;
  top: 30px;
  left: 8px;
}

#about .about-con-r .icon._01 {
  width: 130px;
  right: 0;
  top: -14px;
}

#about .about-con-r .icon._02 {
  width: 167px;
  left: 0;
  bottom: 120px;
}

/* slide_video */

#about .slide_video {
  background-size: 165px 320px;
  background-position: top center;
  width: 100%;
  max-width: 335px;
  margin-bottom: 130px;
  height: 320px;
}

@media screen and (max-width: 769px) {
  #about .slick-dots li:first-child button:before {
    border-radius: 6px 0 0 0;
  }

  #about .slick-dots li:last-child button:before {
    border-radius: 0 0 6px 0;
  }

  #about .slick-dots li:nth-child(2) button:before {
    border-radius: 0 6px 0 0;
  }

  #about .slick-dots li:nth-child(3) button:before {
    border-radius: 0 0 0 6px;
  }
}

#about .item_video {
  height: 320px;
}

#about .item_video video {
  width: 150px;
  height: 300px;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
}

#about .item_video[data-slick-index="0"] video {
  height: 280px;
  top: 25px;
}

#about .slick-dots {
  position: relative;
  top: auto;
  right: auto;
  left: 0;
  bottom: -30px;
  display: flex !important;
  flex-wrap: wrap;
}

#about .slick-dots::after {
  top: -9px;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
}

#about .slick-dots li {
  width: calc(50% - 3px);
  height: 50px !important;
  margin: 0;
}

/* problems */

#problems {
  padding-bottom: 40px;
}

.problem_box {
  flex-direction: column;
  max-width: 330px;
  margin: auto;
}

.problem_box .problem .txt {
  font-size: 16px;
  line-height: 30px;
}

#problems .problem_box .problem {
  margin-bottom: 20px;
  padding: 0;
  position: relative;
  width: 100%;
  max-width: 100%;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
}

#problems .problem_box ._03 .txt {
  top: 20%;
}

#problems .problem_box ._04 .txt {
  top: 22%;
}

#problems .problem_box ._05 .txt {
  right: 10%;
}

/* #version  */

#version {
  padding: 40px 20px;
}

#version .chapter-inner {
  border-radius: 24px;
  padding: 60px 15px;
  width: auto;
}

#version .box_case {
  margin-bottom: 40px;
}

#version .box_case .box_txt {
  font-size: 15px;
  max-width: unset;
  width: 100%;
  margin-bottom: 26px;
}

#version .box_case .box_txt h3 {
  font-size: 20px;
  line-height: 1.5;
  margin: 15px 0;
}

#version .box_case .box_txt .green_ttl {
  font-size: 14px;
}

#version .box_case .box_txt .green_ttl span {
  font-size: 16px;
}

#version .box_case .box_img {
  width: 100%;
}

#version .box_case .box_img .icon_person {
  right: 10px;
  bottom: -1.5%;
  width: 25%;
}

#version .box_case:last-child .box_img .icon_person {
  bottom: -16.5%;
  width: 16%;
}

/* function */

#home .function .list_function {
  gap: 0;
}

#home .function .list_function>li {
  width: 100%;
  margin-bottom: 16px;
  border-width: 4px;
}

#home .function .list_function>li:last-child {
  margin-bottom: 0;
}

#home .function .list_function>li div {
  padding: 0 20px 20px;
}

#home .function .list_function>li .ttl {
  font-size: 20px;
  padding-top: 10px;
}

/* measures */

#measures .list_measures {
  margin-top: 70px;
  gap: 60px;
}

#measures .list_measures li {
  width: 100%;
  padding: 30px 15px;
}

#measures .list_measures li .tag {
  max-width: 60px;
}

#measures .list_measures li .ttl {
  font-size: 16px;
  line-height: 24px;
  margin: 15px 0;
  padding-bottom: 8px;
}

#measures .list_measures li .txt {
  font-size: 13px;
  line-height: 19.5px;
}

/* reason */

#reason::after {
  top: 9%;
}

#reason .case {
  margin-bottom: 60px;
  flex-direction: column;
}

#reason .case.rv {
  flex-direction: column;
}

#reason .case .box_img {
  width: 100%;
  height: auto;
}

#reason .case .box_txt {
  width: 100%;
}

#reason .case .box_txt .step {
  font-size: 16px;
  line-height: 21px;
  margin-top: 17px;
}

#reason .case .box_txt .h3_ttl {
  font-size: 20px;
  margin: 3px 0 14px;
}

#reason .case .box_txt .txt18 {
  font-size: 14px;
}

#reason .case .box_txt .txt14 {
  font-size: 12px;
}

#reason .case .box_txt .ttl_btn {
  font-size: 15px;
  line-height: 20px;
  margin: 20px 0;
}

#reason .case .box_txt .ttl_btn i {
  margin-right: 10px;
}

#reason .case .box_txt .txt_note {
  font-size: 13px;
  line-height: 19px;
  margin: 20px 0 0;
}

#reason .btn01 a {
  font-size: 14px;
  width: 100%;
  min-height: unset;
  margin: 20px 0 0;
  padding: 15px 10px;
}

#reason .btn_line a:hover .icon_tel,
#reason .btn_line .icon_tel {
  width: 22px;
  height: 16px;
  background-size: 22px 16px;
}

#reason .protection_case .box-tbl {
  margin: 20px 0;
  position: relative;
  overflow-x: auto;
}

#reason .protection_case .box-tbl table {
  width: 1200px;
}

#reason .protection_case .box_txt .step {
  margin-top: 0;
}

/* quality */

#quality {
  padding: 80px 0;
}

#quality ul {
  margin-top: 45px;
}

#quality ul>li {
  width: 100%;
  margin-bottom: 40px;
}

#quality ul>li:last-child {
  margin-bottom: 0;
}

#quality ul>li .ttl {
  font-size: 20px;
  line-height: 1.45;
  min-height: auto;
}

#quality ul>li .img {
  min-height: auto;
  margin: 20px 0;
}

#quality .btn-securi {
  margin-top: 15px;
}

#quality .btn-securi a {
  font-size: 14px;
  padding: 13px 20px;
}

/* achievement */

#achievement .case_base {
  border-radius: 20px;
  padding: 10px 15px 50px;
}

#achievement .case_base .img {
  width: 100%;
}

#achievement .case_base .img img {
  border-radius: 20px;
}

#achievement .case_base .box_txt {
  width: 100%;
  padding: 0;
}

#achievement .case_base .case_cap {
  font-size: 20px;
  line-height: 27px;
  margin: 15px 0 10px;
  line-height: 1.45;
}

#achievement .case_base .case_ttl {
  font-size: 16px;
  line-height: 21px;
  margin-bottom: 13px;
}

#achievement .case_base .case_amendment {
  padding: 12px 0;
}

#achievement .case_base .case_amendment._02 {
  margin-bottom: 12px;
}

#achievement .case_base .txt {
  font-size: 15px;
  line-height: 20px;
  line-height: 1.46;
}

#achievement .case_base .case_amendment .ttl {
  padding-right: 25px;
}

#achievement .slick-next,
#achievement .slick-prev {
  background-size: 42px 42px;
  width: 42px;
  height: 42px;
  top: 20%;
  right: -12px;
}

#achievement .slick-prev {
  left: -12px;
}

#achievement .slick-dots {
  bottom: 0px;
}

#achievement .chapter-inner02 {
  margin: 40px auto 10px;
  width: 100%;
  padding: 0;
}

#achievement .logo_group {
  padding: 10px 0;
}

#achievement .logo_group .box_slide_02 .logo {
  margin: 0 10px;
}

/* cflow */

.cflow {
  background: linear-gradient(90deg,
      rgba(123, 245, 123, 0.7) 0%,
      rgba(34, 185, 216, 0.7) 100%),
    url(../../img/home/bg_flow_sp.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  color: #fff;
}

.cflow li.step-l:after {
  content: url(../../img/home/cflow_arrow_sp.png);
  bottom: -55px;
}

.cflow li:last-child:after {
  content: "";
}

.cflow li .step_ttl {
  width: 100%;
  font-size: 20px;
}

.cflow li .step_ttl span {
  font-size: 26px;
  margin: 0 12px 5px 0;
}

.cflow li p {
  font-size: 15px;
  line-height: 22px;
}

.cflow li.step-l {
  padding: 20px 18px;
}

.cflow .step-s-box {
  margin-top: 20px;
  padding-top: 20px;
}

#cflow .btn-demo a {
  width: 100%;
}

/* qa */

#qa ul li {
  margin: 0 0 10px;
}

.qa-box dl dd,
.qa-box dl dt {
  padding: 10px 0 20px 35px;
}

.qa-box dl dt,
.qa-box dl dd {
  font-size: 14px;
}

.qa-box dl dd:before {
  top: 5px;
}

#qa .btn-more a {
  width: 100%;
  font-size: 18px;
  background: #fff;
  border: none;
  color: #333333;
  padding: 17px 20px 19px;
  box-shadow: 2px 6px 20px rgb(0 0 0 / 16%);
}

#qa .btn-more a:hover {
  background: #333;
  color: #fff;
}

/* support_campaigns */

#support_campaigns .support_txt {
  font-size: 14px;
}

#support_campaigns .support_list {
  padding-top: 20px;
  margin: 0 auto;
  max-width: 1000px;
}

#support_campaigns .support_list li {
  margin-top: 20px;
  padding: 20px;
  width: 100%;
}

#support_campaigns .support_list li.option-link a {
  padding: 20px 20px 70px 20px;
}