html {
  scroll-behavior: smooth;
}

.kv {
  background: url(/jp/-/media/medicom/solution/kenshin01/kv_pc) center/cover no-repeat;
}

.kv__wrapper {
  max-width: 1132px;
  margin: 0 auto;
  padding: 40px 15px 55px;
}

.kv__title {
  font-family: var(--typography--db);
  font-size: 42px;
  line-height: 1.6;
  margin:auto auto 50px;
  color: #252525;
  margin-bottom: 17.5px;
}

.kv_logoBox{
  margin-top: 25px;
  margin-bottom: 10px;
}

.kv__sub-title {
  font-family: var(--typography--db);
  font-size: 28px;
  margin-bottom:25px;
  line-height: 1.8333;
  color: #00A196;
  letter-spacing: 1.2px;
}

.cta-btn__catch-txt {
  font-family: var(--typography--db);
  font-size: 16px;
  line-height: 1;
  color: #252525;
  margin-bottom: 18px;
  position: relative;
  padding: 0 25px;
  display: inline-block;
}

.cta-btn__catch-txt span {
  font-size: 24px;
  line-height: 1;
}

.bg-box_primaryc {
  background-image: linear-gradient(to right, #00A196, #00A196);
  background-size: 100% 264px;
  background-position: left bottom;
  background-repeat: no-repeat;
  padding-bottom: 60px;
}

.cta-btn__wrapper {
  position: relative;
  display: inline-block;
  margin-top: 30px;
  text-align: center;
}

.contact-form__cta-btn--ct {
  font-size:16px;
  position: relative;
  background: #DA7C10;
}

.col-3.greenbg {
  padding:22px 23px 40px;
  background:#269183;
  column-gap: 18px;
}

.col-3.greenbg .col-3__item {margin: 0;}

.col-3.greenbg .col-3__text {
  color:#ffffff;
  font-size: 19.2px;
  margin:20px auto auto;
}

.greenbelt_h2 {
  text-align:center;
  color:#ffffff;
  font-size: 32px;
  line-height:1.5;
  font-family: var(--typography--db);
}

.greenbelt {
  background:#269183;
  padding: 40px 20px;
}

.col-3__item.greenbg {
  background:#269183;
  border-radius:11px;
  border: solid 4px #269183;
}

.col-3__item_greenbg-title {
  font-family: var(--typography--db);
  text-align:center;
  font-size:22px;
  color:#ffffff;
  padding:5px;
}

.col-3__item_greenbg-img {
  background:#ffffff;
  text-align:center;
  border-radius: 8px;
}

.kenshin01_bigtext {
  font-size: 32px;
  text-align: center;
  margin-top: 89px;
  font-family: var(--typography--db);
  position: relative;
  color: #252525;
}

.kenshin01_bigtext:before {
  content:"";
  display:block;
  height: 29px;
  width: 35px;
  background:#07BCA3;
  margin:auto;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position:absolute;
  left:0;
  right:0;
  top: -50px;
}

.kenshin01_bigtext_big {
  font-size:72px;
  color:#00BEA4;
  margin-right: -20px;
}

.kenshin01_col__h3 {
  text-align:center;
  margin:82px auto 42px;
  color:#00BEA4;
  font-size:26px;
  font-family: var(--typography--db);
}

.kenshin01_col {
  display:flex;
  max-width:1000px;
  margin:auto;
  color:#252525;
  column-gap:23px;
  font-size:18px;
  line-height:1.5;
}

.kenshin01_col__title {
  font-size:26px;
  font-family: var(--typography--db);
  margin:auto auto 20px;
  line-height:1.6
}

.kenshin01_col__txt {
  font-family: var(--typography--r);
  line-height: 1.8;
}

b {
  font-family: var(--typography--db);
}

.contact-form__cta-btn--ct.anchor::after {
  transform:rotate(90deg);
}

.left-text {
  line-height: 2;
}

.kenshin01_col__img {
  min-width:332px;
}
.contact-form {
  background-image: url(/jp/-/media/medicom/solution/kenshin01/pc_bg);
}

.contact-form__inner {
  max-width: 1280px;
}

.contact_form_bg {
  background:#fff;
  border-radius:10px;
  padding:60px;
  margin:50px auto auto;
}

.frame_box {
  max-width:960px;
  margin:auto;
}

@media screen and (max-width: 980px) {
  .kv {
    background: url(/jp/-/media/medicom/solution/kenshin01/kv_sp) center/cover no-repeat;
  }
  
  .kv__wrapper {
    max-width: 100%;
    padding: var(--50px) var(--15px);
  }
  
  .kv__title {
    font-size:7vw;
    line-height: 1.5;
    margin-bottom: 25px;
    text-align: center;
  }

  .kv_logoBox{
    text-align: center;
    margin-left: 7.35vw;
    margin-right: 7.35vw;
    margin-bottom: 60px;
  }

  .kv_titleLogo{
    max-width: 100%;
  }
  
  .kv__sub-title {
    font-size: var(--20px);
    line-height: 1.5;
    margin-bottom: var(--10px);
    letter-spacing: 0;
    text-align: center;
  }
    
  .cta-btn__catch-txt::before {
    border: var(--1px) solid #252525;
    height: var(--16px);
    left: var(--10px);
  }
  
  .cta-btn__catch-txt::after {
    border: var(--1px) solid #252525;
    height: var(--16px);
    right: var(--10px);
  }

  .bg-box_primaryc{
    background-size: 100% var(--310px);
    padding-bottom: var(--60px);
  }
  .cta-btn__wrapper {
    display: block;
    max-width: 90vw;
    margin: auto;
  }
  .cta-btn__catch-txt {
    padding:5px 20px;
  }
  .col-3.greenbg {
    padding: 0 0 40px;
    margin:4vw;
    box-sizing:border-box;
    width: auto;
    max-width: 100%;
    row-gap: 20px;
  }
  .greenbelt_h2 {
    font-size:6vw
  }
  .greenbelt {
    padding: 8vw;
  }

  .col-3.col-2_sp .col-3__item {
    width:47.5%;
    border-radius:5px;
  }

  .col-3.col-2_sp {
    flex-direction: row;
    column-gap:4vw;
    row-gap:4vw;
    justify-content:flex-start;
  }

  .col-3__item_greenbg-title {
    font-size:3.4vw;
  }

  .col-3__item_greenbg-img {
    padding:2vw 6vw;
    border-radius:3px;
  }
  .img-overlap__title {
    font-size: var(--17px);
  }
  .img-overlap__title:not(:last-child) {
    margin-bottom: var(--20px);
  }
  .img-overlap__text {
    font-size: var(--12px);
  }

  .kenshin01_bigtext {
    font-size:6vw;
    line-height:1.5;
  }

  .kenshin01_bigtext_big {
    font-size:12vw;
    margin-right:-1.7vw;
  }

  .kenshin01_col__h3 {
    font-size:6vw;
    margin:12.5vw auto 8vw;
  }

  .kenshin01_col {
    display:block;
    width:90vw;
  }

  .kenshin01_col__title {
    font-size:6vw;
    margin:6vw auto 8vw;
  }
  .contact-form {
    background-image: url(/jp/-/media/medicom/solution/kenshin01/sp_bg);
  }
  .contact_form_bg {
    margin: 40px 4vw 0;
    padding: 8vw 4vw;
  }

  .headding-Lv2 {
    font-size:5.69vw;
  }

  .pb_box {
    padding-bottom: 0;
  }

  .col-3__item.greenbg {
    border-width:2px;
  }

}

/* header要素 */

header {
  background: rgba(0, 0, 0, 0);
  height: 52px;
  display: block;
  position: relative;
}

header h1 {
  display: block;
  position: absolute;
  top: 14.5px;
  left: 30px;
  width: 70px;
  height: 23px;
}


main {
  margin-top:0;
}

/* footer要素 */
footer {
  border-top: #707070 1px solid;
  text-align: center;
  padding-top: 30px;
  padding-bottom: 30px;
  background: #fff;
  margin-top: 130px;
}

.footer__logo {
  max-width: 223px;
  margin: 0 auto 20px;
}

.footer__copyText {
  color: #707070;
  font-size: 10px;
  line-height: 1;
  display: block;
}

