@charset "UTF-8";

/* 共通 */
.header .header_left .page_title{
  color:#fff;
}

.header .header_left .clinic_box .clinic_name01{
  color:#fff;
}

.header .header_left .clinic_box .clinic_name02{
  color:#fff;
}

.ul, ol{
  list-style-type:none;
}

.main_image {
    position: relative;
    height: 646px;
    padding-top: 0;
    box-sizing: border-box;
    background: url(/images/first/first_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;
}
.point{
  margin-bottom:100px;
}
@media screen and (max-width: 767px) {
  .main_image {
    position: relative;
    height: 80vw;
    padding-top: 45.3vw;
    box-sizing: border-box;
    background: url(/images/first/first_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 */
    /* cont1 */
.sec01 .cont1 .textbox{
    position: relative;
    z-index: 5;
    width: 780px;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 auto 68px;
    font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 15px;
    letter-spacing: 0.15em;
    line-height: 2.3;
    text-align: center;
    color: #333333
}
.sec01 .cont1 .flex_box{
    width:411px;
    height:107px;
    background-color:#948175;
    text-align:center;
    font-size:18px;
    font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
    max-width: 100%;
    margin: auto auto 0;
    box-sizing: border-box;
    letter-spacing: 0.1em;
    margin-bottom:68px;
}
.sec01 .cont1 .tel_text{
    padding-top:15px;
    color:white;
}
.sec01 .cont1 .yoyaku{
  font-size:24px;
  margin-right:20px;
  margin-top:11px;
  margin-left:28px;
}
.sec01 .cont1 .yoyaku_btn{
  display:flex;
}
.sec01 .cont1 .telnumber{
    font-size:38px;
}
    /* cont2 */
.sec01 .cont2 .column_box{
    background-color: #F3EEE7;
}
.sec01 .cont2 .column_box_title{
    color:#333333;
    border-bottom:0.75px solid #4d4d4d;
}
.sec01 .cont02 .textbox{
    margin-left:80px;
}
.sec01 .cont02  li{
    list-style: "※";
}
.sec01 .cont02 li:first-of-type{
  margin-bottom:50px;
}
/* .sec01 .cont02 .imagebox{
    min-width: 33.11%;
    max-width: 33.11%;
    position:relative;
} */

.sec01 .cont02{
  margin-bottom:47px;
}
.sec01 .cont02 .imagebox{
  min-width:initial;
  max-width:initial;
}
.sec01 .cont02 .floatbox .imagebox img{
  max-width:initial;
  width: 100%;
  object-fit: contain;
}

.sec01 .cont02 .flow_box{
  min-width: 33.11%;
  max-width: 33.11%;
}
.sec01 .cont02 .flow_text01{
  position: absolute;
  top: 50px;
  left: 20px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.67);
  width: 120px;
  height: 120px;
  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 .cont02 .flow_text02{
  position: absolute;
  top: 50px;
  left: 180px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.67);
  width: 120px;
  height: 120px;
  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;
}

/* sec02 */
/* .sec02{
    padding-bottom:100px;
  } */
  .sec02 .sec_body{
    margin-bottom:100px;
  }
  .sec02 .list{
    width:100%;
    max-width:100%;
    box-sizing: border-box;
    margin: 0 auto;
  }
  .sec02 .item{
    display:flex;
    box-sizing: border-box;
    flex-direction: row-reverse;
  }
  .sec02 .item{
    margin-bottom:90px;
  }
  .sec02 .item_pic{
    width:300px;
    min-width:29%;
    /* max-width: 34%; */
    margin-left:50px;
    position:relative;
  }
  /* .sec02 .item_pic img{
    width:100%;
    object-fit: contain;
  } */
  .sec02 .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;
  }
  .sec02 .item_text{
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  }
  .sec02 .title_item{
    margin-bottom:33px;
    display:flex;
    align-items:center;
  }
  /* .sec02 .item:last-of-type{
    margin-bottom:55px;
  } */
  .sec02 .item_textbox{
    position:relative;
  }
  .sec02 .item_pic{
    position:relative;
  }
  .sec02 .circle_text01{
    position: absolute;
    top: -40px;
    right: -25px;
    border-radius: 50%;
    background-color: rgba(148, 148, 148, 0.67);
    width: 158px;
    height: 158px;
    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: #fff;
}
.sec02 .circle_text02{
    position: absolute;
    top: 100px;
    right: -15px;
    border-radius: 50%;
    background-color: rgba(148, 148, 148, 0.67);
    width: 158px;
    height: 158px;
    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: #fff;
}

.sec02 .item07{
  padding:55px 50px;
  background-color:#F3EEE7;
}


.sec02 .itembox07 .item07_cont{
display:flex;
box-sizing: border-box;
flex-direction: row-reverse;
}
.sec02 .itembox07 .flex_box{
  display:flex;
  margin-top:84px;
  justify-content: space-between;
  align-items:center;
}
.sec02 .link_img{
  margin-right:20px;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
  .sec02 .item07{
    padding:55px 20px;
  }
}

@media screen and (max-width: 1280px) and (min-width: 768px) {
  .sec01 .cont02 .flow_text01{
    position: absolute;
    top: 3.5vw;
    left: 1.3vw;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.67);
    width: 10.5vw;
    height: 10.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 .cont02 .flow_text02{
    position: absolute;
    top: 3.5vw;
    left: 13vw;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.67);
    width: 10.5vw;
    height: 10.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 .circle_text01{
        position: absolute;
        top: -5vw;
        right: -3vw;
        border-radius: 50%;
        background-color: rgba(148, 148, 148, 0.67);
        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: #fff;
    }
    .sec02 .circle_text02{
        position: absolute;
        top: 7vw;
        right: -1vw;
        border-radius: 50%;
        background-color: rgba(148, 148, 148, 0.67);
        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: #fff;
    }
    .sec02 .color_box{
        background-color:#F3EEE7;
    }
    /* .sec02 .item07{
      padding:0 20px;
    } */
}

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

/* sec01 */
  .sec01 .cont1 .textbox{
    font-size:4vw;
    text-align: justify;
  }
  .sec01 .cont1 .flex_box {
    width: 90vw;
    height: 29vw;
    background-color: #948175;
    text-align: center;
    font-size: 4vw;
    font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
    max-width: 100%;
    margin: auto auto 0;
    box-sizing: border-box;
    letter-spacing: 0.1em;
    margin-bottom: 68px;
  }
  .sec01 .cont01 .yoyaku_btn{
    width:0;
  }
  .sec01 .cont1 .yoyaku {
    font-size: 6vw;
    margin-right: 2vw;
    margin-top: 3.5vw;
    margin-left: 2vw;
  }
  .sec01 .cont1 .telnumber{
    font-size:10vw;
  }
  .sec01 .cont1 .tel_text{
    padding-top:4vw;
  }
  .sec01 .cont02{
    margin-bottom:4vw;
  }
  .sec01 .cont02 .imagebox{
    min-width: 100%;
    max-width: 100%;
  }
  .sec01 .cont02 .textbox{
    margin-left:3vw;
  }
  .sec01 .cont02 li:first-of-type{
    margin-bottom:5vw;
  }
  .sec01 .cont02 .flow_text01{
    position: absolute;
    top: 10vw;
    left: 3.3vw;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.67);
    width: 32.5vw;
    height: 32.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;
  }
  .sec01 .cont02 .flow_text02{
    position: absolute;
    top: 10vw;
    left: 42vw;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.67);
    width: 32.5vw;
    height: 32.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;
  }
  /* sec02 */
  .sec02 .item{
    margin-bottom: 13.8vw;
  }

  .sec02 .item_textbox{
    width: 100%;
    max-width: 100%;
    display: block;
    /* margin: 0 auto 13.8vw; */
    box-sizing: border-box;
    position: relative;
  }
  .sec02 .title_item{
    width: 100%;
    margin-bottom: 4.2vw;
    display: flex;
    /* justify-content: center; */
    align-items: center;
    box-sizing: border-box;
  }
  .sec02 .title_image{
    width:15vw;
  }
  .sec02 .title_image img{
    width:100%;
    height:100%
  }
  .sec02 .item_title{
    font-size:4.8vw;
    letter-spacing: .01em;
    margin-left: 1em;
  }
  .sec02 .item_pic{
    width:100%;
    min-width:100%;
    margin-left:0;
  }
  .sec02 .item_pic img{
    height: 100%;
    width: 100%;
  }
  .sec02 .item_text{
    margin-top:5vw;
  }
  .sec02 .circle_text01{
    position: absolute;
    top: -3vw;
    right: -2vw;
    border-radius: 50%;
    background-color: rgba(148, 148, 148, 0.67);
    width: 35vw;
    height: 35vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 4.25vw;
    letter-spacing: 0.01em;
    line-height: 1.8;
    text-align: center;
    color: #fff;
}
.sec02 .circle_text02{
  position: absolute;
  top: 27vw;
  right: -3vw;
  border-radius: 50%;
  background-color: rgba(148, 148, 148, 0.67);
  width: 35vw;
  height: 35vw;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 4.25vw;
  letter-spacing: 0.01em;
  line-height: 1.8;
  text-align: center;
  color: #fff;
}

.sec02 .item07{
  padding:10vw 5.5vw;
  background-color:#F3EEE7;
}

.sec02 .itembox07 .item07_cont{
display:flex;
box-sizing: border-box;
flex-direction: row-reverse;
}
.sec02 .itembox07 .flex_box{
  display:flex;
  margin-top:84px;
  justify-content: space-between;
  align-items:center;
  flex-flow: column;
}
.sec02 .link_img{
  margin-right:initial;
  margin-bottom:5vw;
}
.sec02 .link_img img, .sec02 .link_img2 img{
  width:100%;
  height:100%;
}
.sec02 .item07 .circle_text02{
  position: absolute;
  top: 20vw;
  right: -4vw;
  border-radius: 50%;
  background-color: rgba(148, 148, 148, 0.67);
  width: 35vw;
  height: 35vw;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "游明朝体", "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 4.25vw;
  letter-spacing: 0.01em;
  line-height: 1.8;
  text-align: center;
  color: #fff;
}
.sec02 .itembox07 .flex_box{
  margin-top: 4.2vw;
}
/* .sec02 .item_pic{
  width:initial;
} */
.sec02{
  padding-bottom:initial;
}
}