@charset "UTF-8";
.main_image {
  position: relative;
  height: 646px;
  padding-top: 0;
  box-sizing: border-box;
  background: url(/images/ortho/ortho_key.webp) center top/cover no-repeat;
  overflow: hidden;
}
.main_image .inner {
  width: 1025px;
  max-width: 100%;
  padding: 0 20px;
  margin: 0 auto;
  box-sizing: border-box;
}
.main_image .text {
  position: relative;
  z-index: 5;
  padding-top: 300px;
  padding-left: 0;
  font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 36px;
  letter-spacing: 0.2em;
  color: #fff;
  text-shadow: 0 0 5px rgba(155, 152, 152, 0.71);
}
.main_image .text:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -105px;
  top: 50%;
  transform: translateY(-50%);
  width: 221px;
  height: 221px;
  background: url(/images/common/key_logo.webp) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .main_image {
    position: relative;
    height: 80vw;
    padding-top: 45.3vw;
    box-sizing: border-box;
    background: url(/images/ortho/ortho_key.webp) center top/cover no-repeat;
    overflow: hidden;
  }
  .main_image .inner {
    padding: 0 2.7vw;
  }
  .main_image .text {
    padding-top: 0;
    padding-left: 0;
    font-size: 5.8vw;
    text-align: center;
  }
  .main_image .text:before {
    left: 0;
    top: 4.3vw;
    width: 21.3vw;
    height: 21.3vw;
    background: url(/images/common/key_logo.webp) center/contain no-repeat;
  }
}


/* sec01 */
.sec01 .imagebox{
    position:relative;
  }
    .sec01 .point_title {
      font-feature-settings: "palt";
    }
  /* point01 */
    .sec01 .point01{
    display:block;
    margin-bottom:80px;
    }
    .sec01 .point01 .point_header{
        justify-content: center;
    }
    .sec01 .point01 .flexbox{
        margin: 62px 0 95px;
    }
    .sec01 .point01 .imagebox{
      max-width:100%
    }

    .sns_youtube {
      position: relative;
      padding-bottom: 56.25%; /* 16:9 アスペクト比 */
      height: 0;
      overflow: hidden;
      max-width: 100%;
      background: #000;
    }

    .sns_youtube iframe,
    .sns_youtube object,
    .sns_youtube embed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }


  /* 画像右 */
    .sec01 .point02, .sec01 .point04{
        margin-bottom:80px;
        flex-direction: row-reverse;
    }
    .sec01 .point02 .textbox, .sec01 .point04 .textbox{
        margin-left:50px;
    }
    .sec01 .point02 .imagebox .circle_text{
      position: absolute;
      top: 140px;
      left: 32px;
      border-radius: 50%;
      background-color: rgba(255, 255, 255, 0.8);
      width: 167px;
      height: 167px;
      display: flex;
      justify-content: center;
      align-items: center;
      font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
      font-size: 16px;
      letter-spacing: 0.01em;
      line-height: 1.8;
      text-align: center;
      color: #333333;
      }
      .sec01 .point04 .imagebox .circle_text{
          position: absolute;
          top: 140px;
          right: 32px;
          border-radius: 50%;
          background-color: rgba(255, 255, 255, 0.85);
          width: 167px;
          height: 167px;
          display: flex;
          justify-content: center;
          align-items: center;
          font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
          font-size: 16px;
          letter-spacing: 0.01em;
          line-height: 1.8;
          text-align: center;
          color: #333333;
          }

    @media screen and (max-width: 1280px) and (min-width: 768px){
        .sec01 .point02 .imagebox .circle_text{
        position: absolute;
        top: 10vw;
        left: 2vw;
        border-radius: 50%;
        background-color: rgba(255, 255, 255, 0.8);
        width: 13.5vw;
        height: 13.5vw;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
        font-size: 1.4vw;
        letter-spacing: 0.08em;
        line-height: 1.8;
        text-align: center;
        color: #333333;
        }
        .sec01 .point04 .imagebox .circle_text{
            position: absolute;
            top: 10vw;
            right: 3vw;
            border-radius: 50%;
            background-color: rgba(255, 255, 255, 0.8);
            width: 13.5vw;
            height: 13.5vw;
            display: flex;
            justify-content: center;
            align-items: center;
            font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
            font-size: 1.4vw;
            letter-spacing: 0.01em;
            line-height: 1.8;
            text-align: center;
            color: #333333;
            }
    }

  /* 画像左 */
    .sec01 .point03, .sec01 .point05{
        margin-bottom:80px;
    }

    .sec01 .point03 .textbox, .sec01 .point05 .textbox{
        margin-right:50px;
    }
    .sec01 .point03 .imagebox .circle_text{
      position: absolute;
      top: 146px;
      right: 32px;
      border-radius: 50%;
      background-color: rgba(255, 255, 255, 0.8);
      width: 167px;
      height: 167px;
      display: flex;
      justify-content: center;
      align-items: center;
      font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
      font-size: 16px;
      letter-spacing: 0.01em;
      line-height: 1.8;
      text-align: center;
      color: #333333;
      }

    @media screen and (max-width: 1280px) and (min-width: 768px){
        .sec01 .point03 .imagebox .circle_text{
        position: absolute;
        top: 11vw;
        right: 2vw;
        border-radius: 50%;
        background-color: rgba(255, 255, 255, 0.8);
        width: 13.5vw;
        height: 13.5vw;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
        font-size: 1.4vw;
        letter-spacing: 0.01em;
        line-height: 1.8;
        text-align: center;
        color: #333333;
        }
    }

/* sec02 */
.sec02 .list{
    display:flex;
    font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
    justify-content: space-between;
    margin-bottom:130px;
}
.sec02 .merit_box{
    width:333px;
}
.sec02 .merit_title{
    font-size:20px;
    text-align:center;
    margin:32px 0;
}
.sec02 .merit_text{
    font-size:15px;
}
.sec02 .merit_box:not(:last-child){
    margin-right:10px;
}

/* sec03 */
.sec03 .cont_title {
  font-feature-settings: "palt";
}
.sec03 .first_box, .sec03 .second_box, .sec03 .third_box{
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.sec03 .first_box{
  margin-bottom:100px;
}
.sec03 .second_box, .sec03 .third_box{
  margin-bottom:71px;
}
.sec03 .second_box, .sec03 .third_box{
  flex-direction: row-reverse;
}
.sec03 .first_box .textbox{
  margin-right:50px;
}
.sec03 .second_box .textbox, .sec03 .third_box .textbox{
  margin-left:50px;
}
.sec03 .list{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 83px;
}
.sec03 .cont02 .list{
  border-bottom:1px solid #4d4d4d;
  padding-bottom:72px;
  margin-bottom:103px;
}
.sec03 .text{
  font-size: 18px;
}
.sec03 .item{
  border: solid 1px;
  border-color: #e4f2fa;
  background-color: #e4f2fa;
  border-radius: 50%;
  width: 184px;
  height:184px;
  padding: 60px 8px;
  box-sizing: border-box;
  text-align: center;
  font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
}

.sec03 .cont02 .item:nth-of-type(2){
  padding-top:77px;
}
.sec03 .item:nth-of-type(1), .sec03 .item:nth-of-type(2), .sec03 .item:nth-of-type(3){
  margin-right: 52px;
}
.sec03 .cont03 .item{
  border-color: #ebf1e6;
  background-color: #ebf1e6;
  padding: 60px 8px;
}
.sec03 .cont03 .item:nth-of-type(3){
  padding-top:77px;
}
.sec03 .cont03 .item:nth-of-type(4){
  padding-top:48px;
}
.sec03 .cont03 .list{
  margin-bottom:150px;
}

@media screen and (max-width: 971px) and (min-width: 768px){
  .sec03 .list{
    width:600px;
    margin:0 auto;
  }
  .sec03 .item:nth-of-type(1), .sec03 .item:nth-of-type(2){
    margin-bottom: 40px;
  }
  .sec03 .item:nth-of-type(1), .sec03 .item:nth-of-type(3){
    margin-right:53px;
  }
  .sec03 .item:nth-of-type(2){
    margin-right:0;
}
}


/* sec04 */
.sec04{
  padding-bottom:100px;
}

.sec04 .list{
  width:100%;
  max-width:100%;
  box-sizing: border-box;
  margin: 0 auto;
}
.sec04 .item{
  display:flex;
  box-sizing: border-box;
  flex-direction: row-reverse;
}
.sec04 .item:not(:last-of-type){
  margin-bottom:90px;
}
.sec04 .item_pic{
  width:300px;
  min-width:29%;
  /* max-width: 34%; */
  margin-left:50px;
  position:relative;
}
/* .sec04 .item_pic img{
  width:100%;
  object-fit: contain;
} */
.sec04 .item_title{
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.6;
  align-items: center;
  margin-left:2em;
  box-sizing: border-box;
}
.sec04 .item_text{
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
}
.sec04 .title_item{
  display:flex;
  margin-bottom:33px;
}
.sec04 .item:last-of-type{
  margin-bottom:55px;
}
.sec04 .item_textbox{
  position:relative;
}

/* sec05 */
.sec05 .sec_header{
  margin-bottom:25px;
}
.sec05 .cautionarynote{
  font-size:15px;
  letter-spacing: 0.1em;
  text-align: right;
  margin-bottom: 50px;
  font-family:"游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
}
.sec05 .price_term01{
  padding-top: 40px;
  width: 50%;
  font-size: 16px;
  letter-spacing: 0.2em;
  color: #fff;
  text-align: center;
  background-color: #aeaeae;
  border: 0.5px solid #aeaeae;
  box-sizing: border-box;
}
.sec05 .sec_body{
  margin-bottom:100px;
}


/* スマホ */
@media screen and (max-width: 767px){

  /* sec01 */
  .sec01 .point{
    margin-bottom:10vw;
  }
  .sec01 .point02 .textbox, .sec01 .point04 .textbox{
    margin-left:initial;
  }
  .sec01 .point03 .textbox, .sec01 .point05 .textbox{
    margin-right:initial;
  }
  .sec01 .point02 .imagebox .circle_text{
    position: absolute;
    top: 22vw;
    left: 4vw;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.67);
    width: 32vw;
    height: 32vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 4vw;
    letter-spacing: 0.01em;
    line-height: 1.8;
    text-align: center;
    color: #333333;
    }
  .sec01 .point03 .imagebox .circle_text{
  position: absolute;
  top: 25vw;
  right: 5vw;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.67);
  width: 33.5vw;
  height: 33.5vw;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 4vw;
  letter-spacing: 0.01em;
  line-height: 1.8;
  text-align: center;
  color: #333333;
  font-feature-settings: "palt";
    }
  .sec01 .point04 .imagebox .circle_text{
    position: absolute;
    top: 23vw;
    right: 8vw;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.67);
    width: 33vw;
    height: 33vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 4vw;
    letter-spacing: 0.01em;
    line-height: 1.8;
    text-align: center;
    color: #333333;
    font-feature-settings: "palt";
    }


  /* sec02 */
  .sec02 .list{
    display:block;
    margin-bottom:10vw;
  }
  .sec02 .merit_title{
    font-size:5.5vw;
    margin:3vw 0;
  }
  .sec02 .merit_text{
    margin-bottom:10vw;
    font-size:4vw;
  }
  .sec02 .merit_box{
    width:100%;
  }
  .sec02 .merit_image img{
    width: 100%;
    height: 100%;
  }

  /* sec03 */
  .sec03 .first_box{
    margin-bottom:10vw;
  }
  .sec03 .first_box, .sec03 .second_box, .sec03 .third_box{
    display:block;
  }
  .sec03 .first_box .textbox{
    margin-right:initial;
  }
  .sec03 .second_box .textbox, .sec03 .third_box .textbox{
    margin-left:initial;
  }
  .sec03 .cont02 .cont_title{
    font-feature-settings: "palt";
  }
  .sec03 .list_box .text{
    font-size:4vw;
  }
  .sec03 .list{
      display: grid;
      flex-wrap: wrap;
      justify-content: center;
      margin-bottom: 10vw;
      grid-template-columns: repeat(2, auto);
  }
  .sec03 .item:nth-of-type(1), .sec03 .item:nth-of-type(2), .sec03 .item:nth-of-type(3){
    margin-right:initial;
  }
  .sec03 .item{
    width:40vw;
    height:40vw;
    padding:14vw 1vw;
  }
  .sec03 .cont02 .item:nth-of-type(2){
    padding-top:17vw;
  }
  .sec03 .item:nth-of-type(1), .sec03 .item:nth-of-type(2), .sec03 .item:nth-of-type(3){
    margin-right:5vw;
    margin-bottom:5vw;
  }
  .sec03 .cont03 .item{
    padding:14vw 1vw;
  }
  .sec03 .cont03 .item:nth-of-type(3){
    padding-top:17vw;
  }
  .sec03 .cont03 .item:nth-of-type(4){
    padding-top:11vw;
  }
  .sec03 .second_box, .sec03 .third_box{
    margin-bottom:10vw;
  }
  .sec03 .cont02 .list{
    margin-bottom:10vw;
    padding-bottom:10vw;
  }
  .sec03 .cont03 .list{
    margin-bottom:15vw;
  }
  .sec05 .title_item{
    margin-bottom:5vw;
    align-items: center;
  }
/* sec04 */
.sec04{
  padding-bottom:15vw;
}
  .sec04 .title_image img{
    width:100%;
    height:100%;
  }
  .sec04 .title_text .item_title{
    font-size:4.8vw;
    align-items:center;
  }
  .sec04 .title_image{
    width:15vw;
    height:100%;
  }
  .sec04 .item{
    display:block;
  }
  .sec04 .item_pic{
    min-width: 100%;
    width:100%;
    margin-left:0;
  }
  .sec04 .item_pic img{
    height:100%;
    width:100%
  }
  .sec04 .item_text{
    margin-top:4vw;
  }
  .sec04 .item:not(:last-of-type){
    margin-bottom:10vw;
  }
  .sec04 .item:last-of-type{
    margin-bottom:10vw;
  }
  .sec04 .title_item{
    margin-bottom:5vw;
    align-items: center;
  }
  .sec04 .flexbox {
    display: flex;
  }
/* sec05 */
.sec05 .cautionarynote{
  font-size:4vw;
  margin-bottom:10vw;
}
.sec05 .price_term01{
  padding-top: 4vw;
  padding-bottom:2vw;
  width: 100%;
  font-size: 4vw;
  letter-spacing: 0.2em;
  color: #fff;
  text-align: center;
  background-color: #aeaeae;
  border: 0.5px solid #aeaeae;
  box-sizing: border-box;
}
.price_dbox:last-of-type{
  margin-bottom:10vw;
}
.sec05{
  margin-bottom:13.5vw;
}
.sec05 .flexbox {
  display: flex;
}
}

