@charset "UTF-8";

.firstview {
    width: 100%;
    height: 390px;
    background: url(../images/facility/firstview.png);
    background-size: 100%;
    background-position: 0% 80%;
    position: relative;
}

.firstview .bg {
    width: 177px;
    height: 100%;
    background: url(../images/visit/firstview_left.png);
    background-size: cover;
}

.firstview .inner .box {
    position: absolute;
    top: 75px;
    left: 7%;
}

.sec01 {
    margin: 90px auto 130px;
    width: 736px;
    position: relative;
    line-height: 1.8;
}

.sec01::before {
    content: "";
    position: absolute;
    background: url(../images/maintenance/sec01_left.png);
    width: 45px;
    height: 65px;
    bottom: -35px;
    left: -75px;
}

.sec01::after {
    content: "";
    position: absolute;
    background: url(../images/maintenance/sec01_right.png);
    width: 90px;
    height: 88px;
    top: -40px;
    right: -50px;
}

.sec01 .sec_title {
    text-align: center;
    font-size: 27px;
    letter-spacing: 2px;
    font-weight: bold;
}

.sec01 .sec_title .bottom {
    background: linear-gradient(transparent 65%, rgba(255,242,98,0.5) 0%);
    font-weight: bold;
}

.sec01 .sec_title .color {
    color: #D36C76;
    font-weight: bold;
}

.sec01 .textbox {
    margin-top: 50px;
}

/* sec01ここまで */
/* sec02ここから */


.sec02 {
    margin-bottom: 150px;
}

.sec02 .inner {
width: 952px;
margin: 0 auto;
}

.sec02 .sec_title {
    width: 922px;
    font-size: 27px;
    text-align: center;
    line-height: 1.3;
    background: #315B32;
    color: #fff;
    letter-spacing: 2px;
    padding: 15px 0;
    margin: 0 auto 185px;
    font-weight: bold;
}

.sec_title .small {
    font-size: 22px;
    font-weight: bold;
}

.sec02 .point {
    position: relative;
    margin-bottom: 200px;
}

.sec02 .subtitle {
    background: #F9F8F0;
    height: 200px;
    width: 700px;
    font-size: 18px;
    padding: 40px 0 0 130px;
    line-height: 1.8;
    position: relative;
    z-index: -1;
    font-weight: bold;
}

.sec02 .point01 .subtitle::before {
    content: "";
    position: absolute;
    background: url(../images/facility/point01.png);
    top: 35px;
    left: 35px;
    width: 73px;
    height: 73px;
}

.sec02 .subtitle .bottomline {
    background: linear-gradient(transparent 65%, rgba(255,242,98,0.5) 0%);
    font-weight: bold;
}

.sec02 .subtitle .color {
    color: #4F7A4F;
    font-weight: bold;
}

.sec02 .point .right {
    position: absolute;
    top: -35px;
    right: 0;
}

.sec02 .point01 .right {
    position: absolute;
    top: -35px;
    right: 0;
}

.sec02 .point .left {
    position: absolute;
    top: -75px;
    left: 88px
}

.sec02 .point02 .sec_title {
    width: 922px;
    font-size: 27px;
    text-align: center;
    line-height: 1.3;
    background: #315B32;
    color: #fff;
    letter-spacing: 2px;
    padding: 15px 0;
    margin: 0 0 95px auto;
}

.sec02 .point .bottom {
    width: 640px;
    border-radius: 25px;
    padding: 40px 50px;
    margin: -100px auto 0;
}

.sec02 .point01 .bottom {
    background: #D6DBC6;
    position: relative;
    z-index: -1;
    width: 777px;
    margin: -100px 0 0 auto;
    padding: 40px 0 40px 50px;
}

.sec02 .point01 .bottom::after {
    content: "";
    position: absolute;
    background: url(../images/maintenance/sec03_05ill.png);
    width: 176px;
    height: 129px;
    bottom: -20px;
    right: -35px;
    background-repeat: no-repeat;
}

.sec02 .point .bottom .textbox {
    width: 338px;
    line-height: 1.7;
}

.sec02 .point01 .bottom .textbox {
    width: 338px;
    line-height: 1.7;
}

.sec02 .point02 .subtitle {
    background: #F9F8F0;
    height: 200px;
    width: 700px;
    font-size: 18px;
    padding: 40px 0 0 30px;
    line-height: 1.8;
    position: relative;
    z-index: -1;
    margin: 0 0 0 auto;
}

.sec02 .point02 .subtitle::after {
    content: "";
    position: absolute;
    background: url(../images/facility/point02.png);
    top: 37px;
    right: 50px;
    width: 73px;
    height: 73px;
}

.sec02 .point02 .subtitle .text {
    width: 321px;
    margin: 0 131px 0 auto;
}

.sec02 .point02 .bottom {
    background: #D8D1C2;
    position: relative;
    z-index: -1;
}

.sec02 .point02 .bottom::after {
    content: "";
    position: absolute;
    background: url(../images/maintenance/sec03_02ill.png);
    width: 175px;
    height: 175px;
    bottom: -55px;
    left: -15px;
    background-repeat: no-repeat;
}

.sec02 .point02 .bottom .textbox {
    margin: 0 0 0 auto;
}

.sec02 .point02 .bottom .textbox .link {
    background: url(../images/maintenance/sec03_02_link.png);
    width: 232px;
    height: 35px;
}

.sec02 .point02 .bottom .textbox .link .text {
    padding: 7px 20px;
    margin: 20px 0;
    font-size: 14px;
}

/* sec02ここまで */
/* sec03ここから */

.sec03 {
    /* margin-bottom: 90px; */
    margin-bottom: 160px;
}

.sec03 .inner {
width: 922px;
margin: 0 auto;
background: #F8F4EE;
border-radius: 30px;
padding-bottom: 100px;
position: relative;
}

.sec03 .inner::after{
    content: "";
    position: absolute;
    background: url(../images/maintenance/sec03_01ill.png);
    width: 238px;
    height: 221px;
    right: -35px;
    bottom: -50px;
}

.sec03 .sec_title {
    width: 922px;
    font-size: 27px;
    text-align: center;
    line-height: 1.3;
    background: #315B32;
    color: #fff;
    letter-spacing: 2px;
    padding: 15px 0;
    margin: 0 auto 60px;
    font-weight: bold;
}

.sec03 .sec_title .small {
    font-size: 24px;
    font-weight: bold;
}

.sec03 .contents .subtitle {
    font-size: 24px;
    text-align: center;
    font-weight: bold;
    position: relative;
}

.sec03 .contents .subtitle::after {
    content: "";
    position: absolute;
    background: url(../images/periodontal/sec05_under.png);
    width: 186px;
    height: 8px;
    left: 0;
    right: 0;
    bottom: -10px;
    margin: auto;
}

.sec03 .contents .boxs {
    width: 810px;
    margin: 0px auto 50px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.sec03 .contents .boxs .content {
    width: 350px;
    margin: 40px auto;
    position: relative;
}

.sec03 .contents .boxs .one::after {
    content: "";
    position: absolute;
    background: #443831;
    width: 1px;
    height: 380px;
    right: -56px;
    top: 80px;
    bottom: 0;
    margin: auto;
}

.sec03 .contents .boxs .three::after {
    content: "";
    position: absolute;
    background: #443831;
    width: 1px;
    height: 410px;
    right: -56px;
    top: 10px;
    bottom: 0;
    margin: auto;
}

.sec03 .contents .boxs .content .topic {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 21px;
    line-height: 1;
    color: #4f7a4f;
}

.sec03 .contents .boxs .three .topic ,.sec03 .contents .boxs .four .topic{
    margin-top: 30px;
}

.sec03 .contents .boxs .content .topic .bottomline {
    font-weight: bold;
    font-size: 18px;
    background: linear-gradient(transparent 65%, rgba(255,242,98,0.5) 0%);
    line-height: 1.5;
    color: #665244;
}

.sec03 .contents .boxs .content .text {
    font-size: 13.5px;
    margin: 25px auto;
    line-height: 1.8;
}

.sec03 .contents .boxs .three .text {
    width: 178px;
    margin: 30px auto 30px 0;
    position: relative;
    z-index: 1;
}

.sec03 .contents .boxs .four .text {
    width: 182px;
    margin: 30px auto 30px 0;
}

.sec03 .contents .boxs .one .img {
    width: 390px;
    margin-left: -45px;
}
.sec03 .contents .boxs .two .img {
    width: 432px;
    padding-left: 20px;
}

.sec03 .contents .boxs .three::before , .sec03 .contents .boxs .four::before {
    content: "";
    position: absolute;
    background: #443831;
    width: 353px;
    height: 1px;
    right: 0;
    top: -40px;
    left: 0;
    margin: auto;
}

.sec03 .contents .boxs .content img {
    width: 100%;
}

.sec03 .contents .boxs .three .img {
    position: absolute;
    top: 70px;
    width: 470px;
    left: -50px;
}

.sec03 .contents .boxs .four .img {
    width: 171px;
    position: absolute;
    top: 0;
    right: -40px;
}

.sec03 .contents .boxs .one {
    margin: 40px auto 40px 0;
}
.sec03 .contents .boxs .two {
    margin: 40px 0 40px auto;
}
.sec03 .contents .boxs .three {
    margin: 40px auto 40px 0;
}
.sec03 .contents .boxs .four {
    margin: 40px 0 40px auto;
}

/* sec03 */
/* sec04 */


.sec04 {
    margin-bottom: 160px;
    line-height: 1.8;
}

.sec04 .inner {
width: 922px;
margin: 0 auto;
background: #F8F4EE;
border-radius: 30px;
padding-bottom: 100px;
position: relative;
}

.sec04 .inner::after{
    content: "";
    position: absolute;
    background: url(../images/maintenance/sec03_04ill.png);
    width: 189px;
    height: 235px;
    left: -30px;
    bottom: -37px;
}

.sec04 .sec_title {
    width: 922px;
    font-size: 27px;
    text-align: center;
    line-height: 1.3;
    background: #315B32;
    color: #fff;
    letter-spacing: 2px;
    padding: 15px 0;
    margin: 0 auto 60px;
    font-weight: bold;
}

.sec04 .sec_title .small {
    font-size: 24px;
}

.sec04 .contents .subtitle {
    font-size: 24px;
    text-align: center;
    font-weight: bold;
    position: relative;
}

.sec04 .contents .subtitle::after {
    content: "";
    position: absolute;
    background: url(../images/periodontal/sec05_under.png);
    width: 186px;
    height: 8px;
    left: 0;
    right: 0;
    bottom: -10px;
    margin: auto;
}

.sec04 .contents .boxs {
    width: 835px;
    margin: 0px auto 50px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.sec04 .contents .boxs .content {
    width: 350px;
    margin: 40px auto;
    position: relative;
}

.sec04 .contents .boxs .content .topic {
    margin-bottom: 15px;
    font-weight: bold;
    font-size: 21px;
    color: #4f7a4f;
}

.sec04 .contents .boxs .content .topic .bottomline {
    font-weight: bold;
    font-size: 18px;
    background: linear-gradient(transparent 65%, rgba(255,242,98,0.5) 0%);
    color: #665244;
}

.sec04 .contents .boxs .content .text {
    font-size: 13.5px;
    margin-bottom: 50px;
}

.sec04 .contents .boxs .one .img {
    margin-top: 75px;
    width: 390px;
    margin-left: -60px;
}

.sec04 .contents .boxs .two .img {
    width: 387px;
}

.sec04 .contents .boxs .content img {
    width: 100%;
}

/* sec05  2024.07 add start 歯科外来診療環境体制加算 -- */
.sec05 {
    margin-bottom: 135px;
}

.sec05 .inner {
width: 922px;
margin: 0 auto;
background: #F8F4EE;
border-radius: 30px;
padding-bottom: 100px;
position: relative;
}

.sec05 .sec_title {
    width: 922px;
    font-size: 27px;
    text-align: center;
    line-height: 1.3;
    background: #315B32;
    color: #fff;
    letter-spacing: 2px;
    padding: 15px 0;
    margin: 0 auto 60px;
    font-weight: bold;
}

.sec05 .sec_title .small {
    font-size: 24px;
    font-weight: bold;
}

.sec05 .textbox {
    width: 850px;
    max-width: 93%;

    line-height: 1.8;
    letter-spacing: 0.05em;
    margin: 0 auto 40px;
}

.sec05 .listbox {
    width: 850px;
    max-width: 88%;
    margin: 0 auto 40px;
    background-color: #fff;
    border-radius: 20px;
    padding: 30px;
    box-sizing: border-box;
}
.sec05 .listbox .list {
    counter-reset: number;
}
.sec05 .listbox .list .item {
    position: relative;
    padding-left: 35px;
    margin-bottom: 20px;
    line-height: 2;
    letter-spacing: 0.05em;
}
.sec05 .listbox .list .item::before {
    counter-increment: number;
    content: counter(number) '．';
    position: absolute;
    left: 0;
}

.sec05 .pic_list {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    box-sizing: border-box;
}
.sec05 .pic_list .item {
    width: 360px;
    box-sizing: border-box;
}
.sec05 .pic_list .item:not(:last-of-type) {
    margin-right: 30px;
}

.sec05 .pic_list .item .item_title {
    text-align: center;
    margin: 10px 0;
}
/* sec05  2024.07 add end 歯科外来診療環境体制加算 -- */

@media screen and (max-width: 768px) {

    .firstview {
        width: 100%;
        background-size: cover;
        background-position: 65% 100%;
    }

    .firstview .inner .box {
        top: 115px;
    }

    .sec01 {
        margin: 30px auto 60px;
        width: 90%;
    }

    .sec01::after {
        top: 27%;
        margin: auto;
        right: unset;
        left: -10px;
    }

    .sec01 .textbox {
        margin: 70px auto 50px;
        width: 90%;
    }

    .sec01 .sec_title ,.sec02 .sec_title ,.sec03 .sec_title ,.sec04 .sec_title ,.sec05 .sec_title ,.sec06 .sec_title ,.sec07 .sec_title{
        font-size: min(6.5vw,28px);
    }


    /* sec01 */
    /* sec02 */


    .sec02 .inner {
        width: 90%;
    }

    .sec02 .sec_title {
        width: 100%;
        margin: 0 auto 50px;
    }

    .sec02 .subtitle {
        width: 73%;
        padding: 10px 10px 10px 25%;
        height: auto;
        margin: 0 auto;
    }

    .sec02 .point {
        position: relative;
        border-bottom: dashed 5px;
        padding-bottom: 80px;
        width: 100%;
        margin: 0 auto 100px;
    }

    .sec02 .point .bottom .textbox {
        width: 100%;
    }

    .sec02 .point01 .subtitle::before {
        top: 0;
        left: 10px;
        bottom: 0;
        margin: auto;
    }

    .sec02 .point .right {
        position: unset;
        text-align: center;
        margin: 30px 0 20px;
    }

    .sec02 .point .right img {
        width: 100%;
        max-width: 450px;
    }

    .sec02 .point .bottom {
        width: auto;
        padding: 25px 15px;
        margin: 20px auto;
    }

    .sec02 .point01 .bottom::after {
        width: 150px;
        height: 110px;
        bottom: -90px;
        right: 25px;
        background-size: cover;
    }

    .sec02 .point02 .subtitle {
        width: 73%;
        padding: 10px 10px 10px 25%;
        height: auto;
        margin: 0 auto;
    }

    .sec02 .point02 .subtitle .text {
        width: 265px;
        margin: 0 auto;
    }

    .sec02 .point02 .subtitle::after {
        top: 0;
        bottom: 0;
        margin: auto;
        right: unset;
        width: 73px;
        height: 73px;
        left: 10px;
    }

    .sec02 .point02 .bottom .textbox .link {
        margin: 0 auto;
    }

    .sec02 .point02 .bottom::after {
        width: 120px;
        height: 120px;
        bottom: -100px;
        left: -15px;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .sec02 .point .left {
        position: unset;
        text-align: center;
        margin: 20px auto;
    }

    .sec02 .point .left img {
        width: 100%;
        max-width: 450px;
    }


    /* sec02 */
    /* sec03 */


    .sec03 {
        margin-bottom: 50px;
    }

    .sec03 .inner {
        width: 90%;
        padding-bottom: 70px;
    }

    .sec03 .sec_title {
        width: 100%;
        margin: 0 auto 50px;
    }

    .sec03 .contents .boxs {
        width: 90%;
    }

    .sec03 .contents .boxs .content {
        width: 100%;
    }

    .sec03 .contents .boxs .content::before {
        content: "";
        position: absolute;
        background: #443831;
        width: 80%;
        height: 1px;
        right: 0;
        top: -40px;
        left: 0;
        margin: auto;
    }

    .sec03 .contents .boxs .one::after, .sec03 .contents .boxs .three::after {
        content: unset;
    }

    .sec03 .contents .boxs .one .img {
        width: 90%;
        margin: 0;
        text-align: center;
    }

    .sec03 .contents .boxs .two .img {
        width: 90%;
        text-align: center;
    }

    .sec03 .contents .boxs .three .img {
        width: 100%;
        position: unset;
        text-align: center;
    }

    .sec03 .contents .boxs .three .text {
        width: 100%;
    }

    .sec03 .contents .boxs .four .text {
        width: 55%;
    }

    .sec03 .contents .boxs .four .img {
        top: 22%;
        right: 0;
        left: 62%;
        margin: auto;
        max-width: 171px;
        width: auto;
    }

    .sec03 .contents .boxs .four img {
        width: 100%;
    }

    .sec03 .inner::after {
        right: 0;
        bottom: 0px;
        background-size: cover;
        width: 200px;
        height: 185px;
    }

    .sec03 .contents .boxs .content img {
        width: 100%;
        max-width: 350px;
    }


    /* sec03 */
    /* sec04 */

    .sec04 {
        margin-bottom: 125px;
    }

    .sec04 .inner {
        width: 90%;
        padding-bottom: 70px;
    }

    .sec04 .sec_title {
        width: 100%;
        margin: 0 auto;
    }

    .sec04 .contents .topbox {
        width: 90%;
        display: flex;
        justify-content: center;
        margin: 165px auto 40px;
        flex-wrap: wrap;
    }

    .sec04 .contents .topbox .left {
        width: 100%;
        margin-bottom: 15px;
    }

    .sec04 .contents .boxs {
        width: 90%;
        margin: 0px auto 50px;
    }

    .sec04 .contents .boxs .one::after {
        content: unset;
    }

    .sec04 .contents .boxs .one::before, .sec04 .contents .boxs .two::before {
        width: 80%;
    }

    .sec04 .contents .boxs .on::after {
        content: "";
        position: absolute;
        background: #443831;
        width: 80%;
        height: 1px;
        right: 0;
        left: 0;
        top: unset;
        margin: auto;
        bottom: -40px;
    }

    .sec04 .inner::after {
        bottom: -45px;
        left: 0;
        width: 150px;
        height: 185px;
        background-size: cover;
    }

    .sec04 .contents .over::before {
        content: "";
        right: 0;
        top: 265px;
    }

    .sec04 .contents .under::before {
        content: "";
        top: 210px;
    }

    .sec04 .contents .boxs .one .img {
        width: 100%;
        margin-left: 0;
    }

    .sec04 .contents .boxs .two .img {
        width: 100%;
    }

    .sec04 .contents .boxs .two::before{
        content: "";
        position: absolute;
        background: #443831;
        width: 80%;
        height: 1px;
        right: 0;
        top: -40px;
        left: 0;
        margin: auto;
    }

    /* sec05  2024.07 add start 歯科外来診療環境体制加算 -- */
    .sec05 {
        margin-bottom: 50px;
    }

    .sec05 .inner {
        width: 90%;
        padding-bottom: 70px;
    }

    .sec05 .sec_title {
        width: 100%;
        margin: 0 auto 50px;
    }

    .sec05 .pic_list {
        width: 90%;
        display: block;
        margin: 0 auto;
    }
    .sec05 .pic_list .item {
        width: 100%;
        margin: 0 auto;
    }
    .sec05 .pic_list .item:not(:last-of-type) {
        margin-right: initial;
        margin-bottom: 40px;
    }
    .sec05 .pic_list .item .item_image {
        width: 100%;
        text-align: center;
    }
    /* sec05  2024.07 add end 歯科外来診療環境体制加算 -- */
}

@media screen and (min-width:600px) and (max-width: 768px) {
    .sec02 .point01 .subtitle::before {
        left: 11%;
    }

    .sec02 .point02 .subtitle::after {
        left: 11%;
    }

    .sec02 .point02 .subtitle .text {
        width: unset;
    }
}