@charset "utf-8";

/* =====key===== */
.key {
    position: relative;
    width: 940px;
    height: 253px;
    margin: 25px auto 0;
    border-radius: 50px 0 0 0;
    background: url(../img/index/photo05.jpg) bottom 30% center/cover no-repeat;
}

.key_text {
    position: absolute;
    top: 55px;
    left: 95px;
    padding: 0 0 90px;
    background: url(../img/maintenance/icon01.png) center bottom/39px no-repeat;
    letter-spacing: 0.1em;
    text-shadow: #fff 1px 1px 1px, #fff -1px 0px 1px, #fff 0px -1px 1px, #fff 0px 1px 1px, #fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px, #fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px, #fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px;
}

.key_title {
    position: absolute;
    top: 90px;
    left: 220px;
    width: 380px;
    padding: 0 0 25px;
    font-size: 33px;
    letter-spacing: 0.1em;
    text-shadow: #fff 1px 1px 1px, #fff -1px 0px 1px, #fff 0px -1px 1px, #fff 0px 1px 1px, #fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px, #fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px, #fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px;
}

.key_title:before {
    content: "maintenance";
    position: absolute;
    left: 0;
    bottom: 0;
    display: inline-block;
    font-size: 17px;
    font-weight: 700;
}

.key_title .small {
    display: block;
    font-size: 17px;
}

/* =====sec01===== */
.sec01 {
    padding: 60px 0 0;
}

.sec01 .title {
    margin: 0 0 40px;
    font-size: 20px;
    text-align: center;
}

.sec01 .title .color {
    font-size: 20px;
    text-align: center;
    color: #00b9ef;
    letter-spacing: 0.14em;
    line-height: 1.8;
}

.sec01 .list {
    display: flex;
    justify-content: center;
    margin: 0 0 55px;
}

.sec01 .item {
    position: relative;
    width: 300px;
    height: 152px;
    border: 1px solid #aaabab;
    border-radius: 10px;
    padding: 40px 20px 0;
    margin: 0 10px;
    background: #fffef0;
    box-sizing: border-box;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
}

.sec01 .item:before {
    content: "";
    position: absolute;
    bottom: -28px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    width: 34px;
    height: 35px;
    background: url(../img/maintenance/fukidashi01.png) center center/34px no-repeat;
}

.sec01 .item .border {
    border-bottom: 1.5px dashed #00b9ef;
    font-weight: 500;
}

.sec01 .body {
    padding: 45px 0 80px;
    background: url(../img/periodontal/bg02.png) top left repeat;
}

.sec01 .text {
    margin: 0 0 45px;
    font-size: 20px;
    text-align: center;
    line-height: 2;
}

.sec01 .text .bold {
    font-weight: 700;
}

.sec01 .body_list {
    position: relative;
    display: flex;
    justify-content: center;
    margin: 0 0 40px;
}

.sec01 .body_list:before {
    content: "";
    position: absolute;
    top: 235px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    width: 77px;
    height: 77px;
    background: url(../img/maintenance/cross01.png) center center/77px no-repeat;
    
}

.sec01 .body_item {
    width: 473px;
    padding: 25px 0 65px;
    box-sizing: border-box;
}

.sec01 .body_item:nth-of-type(1) {
    background: rgba(255, 241, 0, 0.25);
}

.sec01 .body_item:nth-of-type(2) {
    background: rgba(0, 185, 239, 0.25);
}

.sec01 .body_item .item_head {
    width: 430px;
    margin: 0 auto;
}

.sec01 .body_item:nth-of-type(1) .item_head {
    background: url(../img/maintenance/border01.png) center bottom/430px no-repeat;
}

.sec01 .body_item:nth-of-type(2) .item_head {
    background: url(../img/maintenance/border02.png) center bottom/430px no-repeat;
}

.sec01 .body_item .item_title {
    padding: 0 0 55px 135px;
    margin: 0 0 40px;
    font-size: 20px;
}

.sec01 .body_item:nth-of-type(1) .item_title {
    background: url(../img/maintenance/icon02.png) left 48px top/52px no-repeat;
}

.sec01 .body_item:nth-of-type(2) .item_title {
    padding: 10px 0 75px 135px;
    background: url(../img/maintenance/icon03.png) left 48px top/52px no-repeat;
}

.sec01 .body_item .item_text {
    width: 331px;
    padding: 35px 20px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.77);
    box-sizing: border-box;
    line-height: 1.7;
}

.sec01 .body_item .item_text .border {
    border-bottom: 1px dashed #545454;
}

.sec01 .text02 {
    font-size: 18px;
    text-align: center;
}

.sec01 .text02 {
    padding: 0 0 35px;
    margin: 0 0 30px;
    background: url(../img/maintenance/border03.png) center bottom/892px no-repeat;
}

.sec01 .text02 .bold {
    font-weight: 700;
}

.sec01 .text02 .color {
    color: #00b9ef;
    font-weight: 700;
}

.sec01 .text03 {
    font-size: 18px;
    text-align: center;
    line-height: 2;
}

.sec01 .text03 .bold {
    font-weight: 700;
}

/* =====sec02===== */
.sec02 {
    padding: 75px 0 0;
}

.sec02 .title {
    width: 754px;
    padding: 0 0 18px;
    border-bottom: 3px solid #00b9ef;
    margin: 0 auto 187px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-align: center;
}

.sec02 .cont_title {
    margin: 0 0 70px;
    font-size: 23px;
    line-height: 1.6;
    letter-spacing: 0.21em;
}

.sec02 .inner {
    position: relative;
    width: 1066px;
    margin: 0 auto;
}

.sec02 .num {
    position: absolute;
    width: 258px;
    height: 258px;
    border: 0.5px solid #00b9ef;
    border-radius: 50%;
    box-sizing: border-box;
    font-size: 24px;
    color: #00b9ef;
    letter-spacing: 0;
}

.sec02 .num .text {
    position: absolute;
    top: 50px;
    left: 55px;
    text-align: center;
    line-height: 1.2;
}

.sec02 .num .text .large {
    font-size: 58px;
}

.sec02 .num:before {
    content: "";
    position: absolute;
    top: 140px;
    right: 40px;
    transform: rotate(-230deg);
    display: inline-block;
    width: 120px;
    height: 1px;
    border-top: 1px dashed #231815;
}

.sec02 .cont01 {
    width: 100%;
    height: 560px;
    margin: 0 0 135px;
}

.sec02 .cont01 .bg {
    z-index: -1;
    position: relative;
    width: 60%;
    height: 100%;
    margin: 0 0 0 auto;
    background: url(../img/index/photo05.jpg) left top/cover no-repeat;
}

.sec02 .cont01 .bg:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right bottom, #fff, transparent);
}

.sec02 .cont01 .inner .textbox {
    position: absolute;
    left: 20px;
    width: 500px;
    margin: 0 auto 0 0;
}

.sec02 .cont01 .num {
    top: -140px;
    left: 25px;
}

.sec02 .cont01 .cont_title {
    position: relative;
    padding: 0 0 0 200px;
}

.sec02 .cont01 .cont_list {
    display: flex;
    justify-content: center;
    margin: 0 0 30px;
}

.sec02 .cont01 .item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 161px;
    height: 161px;
    border-radius: 50%;
    background: rgba(0, 185, 239);
    font-size: 20px;
    color: #fff;
    text-align: center;
}

.sec02 .cont01 .item:nth-of-type(1) {
    margin: 0 30px 0 0;
}

.sec02 .cont01 .cont_leadtext {
    margin: 0 0 30px;
    font-size: 18px;
    text-align: center;
}

.sec02 .cont01 .cont_text {
    margin: 0 0 30px;
    line-height: 2;
}

.sec02 .cont01 .link {
    width: 345px;
    box-sizing: border-box;
    border-radius: 39px;
    margin: 0 auto;
    background: #fff;
}

.sec02 .cont01 .link a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 15px 0 15px 30px;
    border: 2.5px solid #00b9ef;
    border-radius: 39px;
    background: #fff url(../img/index/arrow01.png) center right 17px/60px no-repeat;
    box-sizing: border-box;
}

.sec02 .cont02 {
    margin: 0 0 135px;
}

.sec02 .cont02 .bg {
    width: 60%;
    height: 560px;
    margin: 0 auto 0 0;
    background: url(../img/maintenance/photo02.jpg) left top/cover no-repeat;
}

.sec02 .cont02 .textbox {
    position: absolute;
    left: 60%;
    width: 340px;
    margin: 0 0 0 40px;
}

.sec02 .cont02 .num {
    top: -80px;
    left: -180px;
}

.sec02 .cont02 .cont_title {
    position: relative;
    padding: 55px 0 0;
}

.sec02 .cont02 .cont_text {
    line-height: 2;
}

.sec02 .cont03 {
    margin: 0 0 135px;
}

.sec02 .cont03 .bg {
    width: 60%;
    height: 560px;
    margin: 0 0 0 auto;
    background: url(../img/maintenance/photo03.jpg) left top/cover no-repeat;
}

.sec02 .cont03 .num {
    top: -60px;
    left: -40px;
}

.sec02 .cont03 .textbox {
    position: absolute;
    left: 20px;
    width: 460px;
    margin: 0 auto 0 0;
}

.sec02 .cont03 .cont_title {
    position: relative;
    padding: 70px 0 0 140px;
    margin: 0 0 75px;
}

.sec02 .cont03 .cont_list {
    display: flex;
    justify-content: center;
    margin: 0 0 35px;
}

.sec02 .cont03 .item {
    width: 135px;
    height: 135px;
    border-radius: 50%;
    padding: 35px 0 0;
    margin: 0 25px 0 0;
    background: rgba(0, 185, 239);
    box-sizing: border-box;
    color: #fff;
    text-align: center;
}

.sec02 .cont03 .item:last-of-type {
    margin: 0;
}

.sec02 .cont03 .item .large {
    font-size: 21px;
}

.sec02 .cont03 .cont_text {
    width: 400px;
    margin: 0 auto;
    line-height: 2;
}

.sec02 .cont04 .bg {
    width: 60%;
    height: 560px;
    margin: 0 auto 0 0;
    background: url(../img/maintenance/photo04.jpg) left top/cover no-repeat;
}

.sec02 .cont04 .textbox {
    position: absolute;
    left: 70%;
    width: 350px;
}

.sec02 .cont04 .num {
    top: -90px;
    left: -190px;
}

.sec02 .cont04 .cont_title {
    position: relative;
    padding: 55px 0 0;
}

.sec02 .cont04 .cont_text {
    line-height: 2;
}

/* =====sec03===== */
.sec03 {
    padding: 85px 0 67px;
}

.sec03 .head {
    margin: 0 0 60px;
    background: url(../img/maintenance/icon04.png) center top/62px no-repeat;
}

.sec03 .title {
    padding: 90px 0 60px;
    margin: 0 0 55px;
    background: url(../img/maintenance/border04.png) center bottom/795px no-repeat;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.14em;
}

.sec03 .list {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.sec03 .item {
    font-size: 17px;
    text-align: center;
}

.sec03 .item:nth-of-type(1),
.sec03 .item:nth-of-type(2) {
    margin: 0 70px 0 0;
}

.sec03 .item:nth-of-type(3),
.sec03 .item:nth-of-type(4) {
    margin: 0 45px 0 0;
}

.sec03 .item:nth-of-type(5) {
    margin: 0 53px 0 0;
}

.sec03 .contbox {
    width: 990px;
    margin: 0 auto;
    text-align: center;
}

.sec03 .cont {
    width: 100%;
    padding: 35px;
    box-sizing: border-box;
    background: rgba(0, 185, 239, 0.1) ;
}

.sec03 .cont .num {
    position: relative;
    display: inline-block;
    padding: 0 0 10px;
    border-bottom: 3px solid #00b9ef;
    margin: 0 0 100px;
    font-size: 27px;
    font-weight: 700;
    line-height: 1.2;
    color: #00b9ef;
}

.sec03 .cont .num:before {
    content: "";
    position: absolute;
    bottom: -78px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    width: 74px;
    height: 45px;
    background: url(../img/index/icon10.png) center center/74px no-repeat;
}

.sec03 .cont .num .large {
    font-size: 49px;
    font-weight: 700;
}

.sec03 .cont:nth-of-type(1) {
    margin: 0 0 30px;
}

.sec03 .cont_title {
    padding: 0 0 40px;
    margin: 0 0 30px;
    background: url(../img/maintenance/border05.png) center bottom/572px no-repeat;
    font-size: 18px;
    font-weight: 700;
    line-height: 2;
}

.sec03 .cont_list {
    display: flex;
    justify-content: space-between;
    background: url(../img/maintenance/cross02.png) top 151px left 393px/36px no-repeat;
}

.sec03 .cont_item:nth-of-type(1) {
    width: 347px;
}

.sec03 .cont_item:nth-of-type(2) {
    width: 445px;
}

.sec03 .item_title {
    padding: 5px 0;
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 700;
}

.sec03 .cont_item:nth-of-type(1) .item_title {
    background: rgba(0, 185, 239, 0.24);
}

.sec03 .cont_item:nth-of-type(2) .item_title {
    background: rgba(255, 241, 0, 0.48);
}

.sec03 .k_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.sec03 .k_item {
    width: 170px;
    height: 86px;
    border: 1px solid #00b9ef;
    margin: 0 0 8px;
    box-sizing: border-box;
    background: #fff;
    line-height: 86px;
}

.sec03 .cont_item:nth-of-type(1) .k_item:last-of-type {
    width: 100%;
    margin: 0;
}

.sec03 .cont_item:nth-of-type(2) .k_item {
    width: 220px;
}

.sec03 .cont:nth-of-type(1) .cont_item:nth-of-type(2) .k_item:nth-of-type(2) {
    padding: 20px 0 0;
    line-height: 1.5;
}

.sec03 .cont:nth-of-type(1) .cont_item:nth-of-type(2) .k_item:nth-of-type(3) {
    width: 100%;
    height: 142px;
    padding: 20px 0 0;
    line-height: 1.5;
}

.sec03 .cont:nth-of-type(1) .cont_item:nth-of-type(2) .k_item:nth-of-type(4) {
    padding: 20px 0 0;
    line-height: 1.5;
}

.sec03 .cont:nth-of-type(1) .cont_item:nth-of-type(2) .sub_list {
    padding: 0 0 0 70px;
    text-align: left;
}

.sec03 .cont:nth-of-type(1) .cont_item:nth-of-type(2) .sub_item {
    position: relative;
    padding: 0 0 0 1em;
    line-height: 1.8;
}

.sec03 .cont:nth-of-type(1) .cont_item:nth-of-type(2) .sub_item:before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 16px;
    height: 16px;
}

.sec03 .cont:nth-of-type(2) .cont_item:nth-of-type(2) .k_item:nth-of-type(1) {
    width: 100%;
}

.sec03 .cont:nth-of-type(2) .cont_item:nth-of-type(2) .k_item:nth-of-type(2) {
    width: 100%;
    height: 142px;
    padding: 15px 0 0 104px;
    line-height: 1.8;
    text-align: left;
}

.sec03 .cont:nth-of-type(2) .cont_item:nth-of-type(2) .k_item:nth-of-type(2) .sub_item {
    position: relative;
    padding: 0 0 0 1em;
}

.sec03 .cont:nth-of-type(2) .cont_item:nth-of-type(2) .k_item:nth-of-type(2) .sub_item:before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 16px;
    height: 16px;
}

.sec03 .cont:nth-of-type(2) .cont_item:nth-of-type(2) .k_item:nth-of-type(4) {
    padding: 20px 0 0 40px;
    line-height: 1.5;
    text-align: left;
}

.sec03 .check {
    position: relative;
    padding: 0 0 0 1em;
    margin: 0 0 0 1em;
    text-align: left;
}

.sec03 .check:after {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
    display: inline-block;
    width: 16px;
    height: 16px;
}

/* =====sec04===== */
.sec04 {
    width: 100%;
    padding: 45px 0 75px;
    background: url(../img/periodontal/bg02.png) top left repeat;
}

.sec04 .title {
    width: 953px;
    padding: 0 0 20px;
    border-bottom: 3px solid #00b9ef;
    margin: 0 auto 45px;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    line-height: 1.8;
}

.sec04 .box {
    display: flex;
    width: 893px;
    padding: 35px;
    margin: 0 auto;
    background: #fff;
    box-sizing: border-box;
}

.sec04 .box .image {
    min-width: 351px;
    margin: 0 23px 0 0;
}

.sec04 .box .text {
    padding: 10px;
    margin: 0 0 30px;
    line-height: 2;
}

.sec04 .box .link_list {
    display: flex;
}

.sec04 .box .link {
    height: 47px;
    background: #fff;
    border-radius: 23.5px;
    box-sizing: border-box;
}

.sec04 .box .link:nth-of-type(1) {
    width: 240px;
    margin: 0 10px 0 0;
}

.sec04 .box .link:nth-of-type(2) {
    width: 183px;
}

.sec04 .box .link a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 8px 0 0 25px;
    border: 2px solid #00b9ef;
    border-radius: 23.5px;
    background: #fff url(../img/index/arrow02.png) center right 15px/39px no-repeat;
    box-sizing: border-box;
    font-size: 18px;
}

/* =====sec05===== */
.sec05 {
    width: 100%;
    padding: 50px 0;
    background: rgba(0, 185, 239, 0.05);
}

.sec05 .text {
    text-align: center;
    line-height: 2;
}

.sec05 .text .marker {
    background: linear-gradient(to bottom, transparent 60%, rgba(255, 241, 0, 0.48) 0);
}