/*-- kv --*/
.kv {
    position: relative;
    margin-bottom: 7.5%;
}

.on_kv {
    position: absolute;
    top: 0;
    left: 0;
}

.kv_txt {
    margin: 43% 0 5%;
}

.wrap_kv_point {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    width: 81.25%;
    margin: 0 auto;
}

.kv_point {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 23.4375vw;
    height: 23.4375vw;
    border-radius: 100%;
    color: #FFF;
    text-align: center;
    box-sizing: border-box;
    font-weight: bold;
}

.kv_point:nth-child(-n+2) {
    margin-right: 2vw;
}

.kv_point1 {
    background-color: #ff9898;
    padding-top: 0.5em;
}

.kv_point2 {
    background-color: #ffc758;
}

.kv_point3 {
    padding-top: 0.5em;
    background-color: #82d7d8;
}

.kv_point_txt {
    font-size: 4.3vw;
    line-height: 1.15;
    font-weight: bold;
}

.kv_point_txt * {
    font-weight: bold;
}

.kv_point_txt .accent {
    font-size: 125%;
}

.kv_point_txt .small {
    font-size: 85%;
}

section.sct_notice {
    padding: 12vw 0 12vw;
    font-size: 4.5vw;
}

section.sct_notice h2 span {
    display: inline-block;
    background: #FF373A;
    color: #fff;
    padding: 0.1em 0.8em 0;
    margin-bottom: 0.8em;
    font-size: 115%;
}

section.sct_notice h2 span.bg_bl {
    background: #03A9F4;
}

/*-- tmdu --*/
.tmdu {
    width: 96.875%;
    margin: 0 auto 5%;
}

/*-- info --*/
.info {
    background: #ffe1e1;
    margin-bottom: 5%;
}

.info_cont_list {
    padding: 1.5em 2em 0.5em;
}

.info_cont_item {
    font-size: 5.625vw;
    line-height: 1.5em;
    margin-bottom: 1em;
    text-align: center;
}

.info_cont_item_img {
    margin-right: 2.5%;
    width: 10%;
}

.info_cont_item .small {
    font-size: 4.375vw;
}

.info_cont_item .line {
    border-bottom: 1px solid;
}

.info_cont_item .line1 {
    border-color: #ffb3b2;
}

.info_cont_item .line2 {
    border-color: #ce7372;
}

.info_cont_item .line3 {
    border-color: #aa4f4e;
}

/*-- kids --*/
.kids {
    background: url(../images/sp_top/img_kids.png) no-repeat bottom center, #e9fefe;
    background-size: 100% auto;
    margin-bottom: 10%;
    padding: 7.5% 0;
}

.kids_cont_ttl {
    width: 68.125%;
    margin: 0 auto 5%;
}

.kids_cont_list {
    padding: 0 0 0 53%;
}

.kids_cont_item {
    font-size: 4.375vw;
    background: url(../images/sp_top/check_kids.png) no-repeat left top 0.35em;
    background-size: 0.8em;
    padding-left: 1em;
}

.kids_cont_item .color1 {
    color: #f67c7c;
}

.kids_cont_item .color2 {
    color: #4f7ec5;
}

/*-- concept --*/
.concept_ttl {
    width: 13.4375%;
    margin: 0 auto;
}

.wrap_concept_cont {
    background: url(../images/sp_top/bg_feature.png) no-repeat top center;
    background-size: 100% auto;
    margin-top: -1.25%;
    padding-top: 9.75%;
    padding-bottom: 3.5%;
}

.concept_cont {
    width: 85.9375%;
    margin: 0 auto;
    padding: 0 0 5%;
}

.concept_copy {
    font-size: 4.6875vw;
    text-align: center;
    position: relative;
    margin-bottom: 5%;
}

.concept_copy .accent {
    font-size: 3.125vw;
    color: #FFFFFF;
    position: absolute;
    top: -25px;
    left: 0px;
    transform: rotate(-20deg);
    background: #eb6969;
    padding: 0.25em 1em;
    border-radius: 30px;
}

.concept_copy .line {
    text-decoration: underline;
    text-decoration-color: #e4007f;
}

.concept_cont_ttl {
    background: url(../images/sp_top/icon_concept.png) no-repeat left center;
    background-size: 1em;
    padding-left: 1.5em;
    font-size: 4.375vw;
    border-bottom: 1px dashed #ff5e79;
    margin-bottom: 2.5%;
}

.concept_cont_img {
    width: 47.090909%;
    float: left;
    margin-right: 2.5%;
}

.concept_cont_txt {
    font-size: 3.75vw;
    display: block;
    width: 48.5454%;
    float: right;
    margin-bottom: 2.5%;
}

.concept_btn {
    width: 48.5454%;
    clear: both;
    float: right;
}


/*-- menu --*/
.menu {}

.menu_ttl {
    width: 8.28125%;
    margin: 0 auto;
}

.wrap_menu_cont {
    background: url(../images/sp_top/bg_menu.png) no-repeat top center;
    background-size: 100% auto;
    margin: -1.25% 0 0;
    padding: 6.25% 0 22%;
}

.menu_subttl {
    font-size: 6.25vw;
    text-align: center;
    margin-bottom: 5%;
    color: #a8833b;
}

.menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    align-content: center;
    width: 96.875%;
    margin: 0 auto;
}

.menu ul li {
    width: 31.25%;
}

.menu ul li:nth-child(-n+9) {
    margin-bottom: 2%;
}

/*-- reason --*/
.reason {
    margin-bottom: 10%;
    background: url(../images/sp_top/bg_feature.jpg?20230807) no-repeat top 5% center;
    background-size: 100% auto;
}

.reason_ttl {
    width: 12.34375%;
    margin: 0 auto 1.5%;
    background: transparent;
}

.reason_subttl {
    font-size: 5vw;
    text-align: center;
    background: transparent;
    color: #8a725f;
    line-height: 1.8em;
    margin-bottom: 54%;
}

.reason_subttl .accent {
    font-size: 14.6875vw;
    font-family: "adobe-devanagari", sans-serif;
    font-style: italic;
}

.reason_cont_list {
    border-top: 1px solid #8c6a4f;
}

.reason_cont_item {
    background: #fed5c8;
    padding: 0.5em 1em;
    border-bottom: 1px solid #8c6a4f;
}

.reason_cont_item_txt {
    padding-left: 2em;
    font-size: 4.0625vw;
    float: left;
    margin-left: 0.8em;
    color: #4b4b4b;
    margin: 5.5% 0;
}

.reason_cont_item_txt1 {
    background: url(../images/sp_top/num_feature01.png) no-repeat top 0.05em left;
    background-size: 6.09375vw auto;
}

.reason_cont_item_txt2 {
    background: url(../images/sp_top/num_feature02.png) no-repeat top 0.05em left;
    background-size: 6.09375vw auto;
}

.reason_cont_item_txt3 {
    background: url(../images/sp_top/num_feature03.png) no-repeat top 0.05em left;
    background-size: 6.09375vw auto;
}

.reason_cont_item_txt4 {
    background: url(../images/sp_top/num_feature04.png) no-repeat top 0.05em left;
    background-size: 6.09375vw auto;
}

.reason_cont_item_txt5 {
    background: url(../images/sp_top/num_feature05.png) no-repeat top 0.05em left;
    background-size: 6.09375vw auto;
}

.reason_cont_item_txt .accent {
    font-size: 5vw;
    color: #ff6e6e;
    border-bottom: 2px dotted #ff6e6e;
}

.reason_cont_item_img {
    width: 34.246575%;
    float: right;
}

/*-- counseling --*/
.counseling {
    position: relative;
}

.counseling_ttl {
    width: 18.28125%;
    margin: 0 auto;
}

.wrap_counseling {
    background: url(../images/sp_top/bg_counseling.png) no-repeat top center;
    background-size: 100% auto;
    margin-top: -1.25%;
    padding: 6.25% 0 13%;
}

.counseling_subttl {
    font-size: 6.25vw;
    text-align: center;
    color: #c2a085;
    margin-bottom: 5%;
}

.counseling_img {
    width: 92.5%;
    margin: 0 auto 2.5%;
}

.counseling_txt {
    font-size: 3.75vw;
    width: 92.5%;
    margin: 0 auto 2.5%;
}

.counseling_btn {
    width: 40.9375%;
    margin: 0 auto;
}

/*-- gallery --*/
.gallery {
    margin-bottom: 7.5%;
}

.gallery_ttl {
    width: 23.28125%;
    margin: 0 auto;
}

.wrap_gallery {
    background: url(../images/sp_top/bg_gallery.jpg) top center no-repeat;
    background-size: 100% auto;
    margin-top: -1.25%;
    padding: 9% 3.59375%;
}

.gallery .slide {
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
}

.img-border {
    padding: 2px;
    border: 1px solid #ccc;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
}

.controlWrap {
    width: 90%;
    display: block;
    position: relative;
    margin: 10px auto 0 !important;
}

.bx-wrapper .bx-controls-direction a {
    position: absolute;
    margin-top: -22px;
    outline: 0;
    width: 12px;
    height: 47px;
    text-indent: -9999px;
    z-index: 9999;
}

/*-- message --*/
.message {
    margin-bottom: 5%;
}

.message_ttl {
    width: 13.28125%;
    margin: 0 auto;
}

.wrap_message {
    background: url(../images/sp_top/bg_message.jpg?20241016) no-repeat top center;
    background-size: 100% auto;
    margin: -1.25% 0 0;
    padding: 6.25% 0 21%;
}

.message_copy {
    font-size: 5.625vw;
    font-family: "Hiragino Mincho Pro";
    line-height: 1.5;
    color: #505050;
    padding: 0 5%;
    margin-bottom: 5%;
}

.message_copy .accent {
    border-bottom: 1px solid #ff8888;
    padding-bottom: 0.125em;
}

.message_txt {
    font-size: 3.125vw;
    font-family: "Hiragino Mincho Pro";
    line-height: 1.454545em;
    padding: 0 5%;
    text-shadow: 1px 1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, -1px -1px 0 #FFF, 1px 1px 1px #FFF, -1px 1px 1px #FFF, 1px -1px 1px #FFF, -1px -1px 0px #FFF;
}

.message_txt .color {
    color: #ff8888;
}

/*-- news --*/
.news {
    position: relative;
    margin-bottom: 5%;
}

.news_ttl {
    width: 8.125%;
    margin: 0 auto;
}

.wrap_news {
    margin-top: -1.25%;
    padding: 6.25% 0 16%;
    background: url(../images/sp_top/bg_news.png) no-repeat top center;
    background-size: 100% auto;
}

.news_subttl {
    font-size: 6.25vw;
    text-align: center;
    color: #c2a085;
    margin-bottom: 5%;
}

.news_cont_list {
    background: #FFF;
    border: dotted 4px #dbb946;
    padding: 1em;
    width: 92.5%;
    margin: 0 auto 5%;
    box-sizing: border-box;
    border-radius: 8px;
    height: 13em;
    overflow: scroll;
}

.news_cont_item {
    color: #4b4b4b;
    font-size: 3.75vw;
    line-height: 1.25em;
    border-top: 1px solid #ab9343;
    padding: 0.5em 0;
}

.news_cont_item:last-child {
    border-bottom: 1px solid #ab9343;
}

.news_cont_item .date {
    margin-right: 1em;
    display: block;
    float: left;
    width: 5em;
}

.news_cont_item_txt {
    display: block;
    float: left;
    width: calc(100% - 6em);
}

.news_btn {
    width: 40.9375%;
    margin: 0 auto;
}

/*-- banner --*/
.banner {
    width: 95.3125%;
    margin: 0 auto 10%;
}

.bnr1 {
    margin-bottom: 5%;
}

.bnr2 {
    margin-bottom: 5%;
}

.bnr3 {
    text-align: center;
}

.bnr3 img {
    width: 95%;
}

/*-- topnews --*/
.topnews {
    padding-top: 20px;
}

.topnews_inner {
    width: 100%;
    margin: 0 auto;
    padding: 20px 0;
    background: #FFF1F0;
}

.topnews_ttl {
    font-size: 14px;
    text-align: center;
    border-bottom: 3px solid #ffb5b5;
    width: 150px;
    margin: 0 auto 1em;
    position: relative;
    color: #d88787;
}

.topnews_ttl:before {
    width: 50px;
    position: absolute;
    z-index: 1;
    bottom: -3px;
    right: 0;
    content: "";
    /* border-bottom: solid 3px #df4d4d; */
}

.topnews_ttl:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 4px 0 4px;
    border-color: #ffb5b5 transparent transparent transparent;
    position: absolute;
    bottom: -7px;
    left: 50%;
    margin: 0 -4px;
}

.topnews_subttl {
    font-size: 20px;
    line-height: 1em;
    color: #d88787;
    text-align: center;
    margin-bottom: 20px;
}

.topnews_list li {
    text-align: center;
    color: #C72A4E;
    font-size: 16px;
}


/*-- blog --*/
.blog {
    padding-top: 20px;
}

.blog_inner {
    width: 100%;
    margin: 0 auto;
    padding: 20px 0;
    /* background: #FFF1F0; */
    background: #fff7e3;
}

.blog_ttl {
    font-size: 14px;
    text-align: center;
    border-bottom: 3px solid #ffb5b5;
    width: 150px;
    margin: 0 auto 1em;
    position: relative;
    color: #d88787;
}

.blog_ttl:before {
    width: 50px;
    position: absolute;
    z-index: 1;
    bottom: -3px;
    right: 0;
    content: "";
    /* border-bottom: solid 3px #df4d4d; */
}

.blog_ttl:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 4px 0 4px;
    border-color: #ffb5b5 transparent transparent transparent;
    position: absolute;
    bottom: -7px;
    left: 50%;
    margin: 0 -4px;
}

.blog_subttl {
    font-size: 20px;
    line-height: 1em;
    color: #d88787;
    text-align: center;
    margin-bottom: 20px;
}

.blog li {
    width: 320px;
    border: 1px solid #f7c6c9;
    float: left;
    margin-right: 20px;
    background: #fff;
    padding-bottom: 20px;
    padding: 20px;
    box-sizing: border-box;
}

.blog li:last-child {
    margin-right: 0;
}

.blog_item {
    background: #FFF;
    border: 1px solid #d2c2a8;
    width: 300px;
    border-radius: 4px;
    /* padding:  16px; */
    padding: 10px;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 1.5em;
}

.blog_cont {
    display: flex;
    justify-content: space-between;
}

.blog_img {
    width: 100%;
    /* height:  200px */
    ;
    height: 100px;
    background: url(../images/top/bg_blog.png) no-repeat center;
    background-size: 100% auto;
    margin-bottom: 1em;
}

.blog_img a {
    /* width: 266px; */
    /* height: 200px; */
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.blog_img .width {
    max-height: 100%;
    width: auto;
}

.blog_img .height {
    max-width: 100%;
    height: auto;
}

.blog_txt {
    margin-bottom: 1em;
    font-size: 90%;
}

.blog_link {
    text-align: center;
    font-size: 12px;
    line-height: 1em;
    /* padding: 1em 7em; */
    padding: 0.7em;
    background: #ffb600;
    border-radius: 100px;
    color: #FFF;
    width: 5em;
    margin: 0 auto;
    display: block;
    position: relative;
}

.blog_link:after {
    /*
    position: absolute;
    top: 14px;
    right: 19px;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #ffffff;
*/
}

.blog_link:hover {
    opacity: 0.7;
}

/* ////////////////////////////////////////////
*                 TOP　コラム
* //////////////////////////////////////////// */

@charset "UTF-8";
/* CSS Document */

.new-pagelink {
    display: flex;
    flex-wrap: wrap;

}

.new-pagelink li {
    margin-bottom: 30px;
    width: calc((100% - 60px) / 3);
    margin-right: 30px;
}

.new-pagelink li:nth-child(3n + 3) {
    margin-right: 0;
}

.new-pagelink li .pt01 {
    width: 100%;
    height: 130px;
    margin-bottom: 20px;
}

.new-pagelink li .pt01 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.new-pagelink li .pt02 {
    font-weight: bold;
    color: #000000;
}

.new-pagelink li .pt03 {
    width: 100%;
    height: 40px;
    margin-top: 20px;
    color: #ffffff;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    border-radius: 100px;
    position: relative;
    background: #ffb600;
    align-items: center;
    justify-content: center;
    display: flex;
    text-decoration: none;
}

.new-pagelink li a {
    text-decoration: none;
}

.new-pagelink li .pt03:after {
    content: ">";
    position: absolute;
    color: #ffffff;
    top: 10px;
    right: 20px;
}

.new-pagelinkWrap ol {
    list-style-type: none;
}



/* ////////////////////////////////////////////
*                 TOP　バナーをテキストに
* //////////////////////////////////////////// */

.ortho-banner {
    width: 100%;
    aspect-ratio: 1 / 1.787;
    margin: 0 auto;
    padding: 0;
    background: #fff;
    text-align: center;
    color: #414141;
    box-sizing: border-box;
    background: url(../images/top/ortho-banner_sp.png) no-repeat center top / contain;
    position: relative;
}

.ortho-banner-top {}


.ortho-banner-headline {
    position: relative;
    height: 45vw;
    width: 100%;
}

.ortho-banner-headline h2 {
    width: 100%;
    font-size: 6.5vw;
    line-height: 1.2em;
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);

}

.ortho-banner-headline .en {
    width: 100%;
    color: #2dc0b4;
    font-size: 3vw;
    letter-spacing: 1px;
    position: absolute;
    top: 46%;
    left: 50%;
    transform: translateX(-50%);
}

.ortho-banner-headline .highlight {
    width: 100%;
    position: absolute;
    font-size: 5vw;
    top: 55%;
    left: 50%;
    transform: translateX(-50%);

}

.ortho-banner-headline .highlight .large {
    font-size: 7vw;
}

.ortho-banner-headline .highlight .uline {
    position: relative;
    color: #ff7a26;
}

.ortho-banner-headline .highlight .uline::after {
    position: absolute;
    z-index: -1;
    content: "";
    width: 100%;
    height: 8px;
    display: block;
    bottom: 10px;
    left: 0;
    background: #ffea83;
}

.ortho-banner-notes {
    width: 100%;
    font-size: 4vw;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    position: absolute;
    top: 82%;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
}

.ortho-banner-notes span {
    font-size: 6vw;
    color: #ffea83;
    font-weight: bold;
}

.ortho-banner-points {
    position: relative;
    height: calc(100% - 45vw);
    box-sizing: border-box;

}

.ortho-banner-box {
    width: 92%;
    margin: 0;
    padding: 2.5% 4% 0 4%;
    box-sizing: border-box;
    text-align: left;
    position: absolute;
    left: 4%;

}

.ortho-banner-box:nth-of-type(1) {
    top: 5%;
}

.ortho-banner-box:nth-of-type(2) {
    top: 37%;
}

.ortho-banner-box:nth-of-type(3) {
    top: 69%;
}

.ortho-banner-box h3 {
    font-size: 3.8vw;
    margin: 4% 0 0 0;
    line-height: 1;
}

.ortho-banner-price {
    color: #f45b00;
    font-size: 5vw;
    margin-left: 13%;
    display: block;
    position: relative;
    line-height: 1.1;
}

.ortho-banner-price .uline {
    display: inline-block;
    position: relative;
}

.ortho-banner-price .uline::after {
    position: absolute;
    z-index: -1;
    content: "";
    width: 100%;
    height: 8px;
    display: block;
    bottom: 8px;
    left: 0;
    background: #ffea83;
}

.ortho-banner-price .num {
    font-size: 8vw;
}

.ortho-banner-box p {
    font-size: 3.5vw;
    margin: 0 0 1%;
    line-height: 1.2;
}


.ortho-banner-checklist {
    border-top: 1px solid #ccc;
    padding-top: 2%;
}

.ortho-banner-checklist ul {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    gap: 1.5em;
    line-height: 1.2;
}

.ortho-banner-checklist li {
    list-style: none;
    display: flex;
    align-items: center;
    line-height: 1;
    margin-bottom: 10px;
    font-weight: normal;
    font-size: 3.5vw;
}

.ortho-banner-checklist li::before {
    content: "";
    display: inline-block;
    width: 3.5vw;
    height: 3.5vw;
    background: url(../images/top/ortho-banner-check.png) no-repeat center top / cover;
    color: #f45b00;
    margin-right: 5px;
}



.mse-banner {
    border: 4px solid #f7931e;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
}

.mse-banner-header {
    background-color: #f7931e;
    color: white;
    padding: 4% 2%;
    font-size: 5vw;
    line-height: 1.5em;
}

.mse-banner-header .ttl {
    position: relative;
    display: inline-block;
}


.mse-banner-inner {
    padding: 6% 10%;
}

.mse-banner-inner-02 {
    padding: 4% 10% 10% 10%;

}

.mse-banner-image-box {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.mse-banner-image-box img {
    max-width: 100%;
    height: auto;
}


.mse-banner-message {
    background-color: #fff3dc;
    margin-top: 2%;
    padding: 1em;
    font-size: 4.3vw;
    line-height: 1.6em;
    color: #333;
}

.mse-banner-button-wrapper {
    padding: 3% 0;
    background-color: white;
}

.mse-banner-cta-button {
    background-color: #f7931e;
    color: white;
    padding: 0.6em 1em;
    text-decoration: none;
    font-weight: bold;
    border-radius: 60px;
    font-size: 5vw;
    line-height: 1.4em;
    display: block;
    transition: background 0.3s ease;
    position: relative;
}

.mse-banner-cta-button::after {
    content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 9px solid #fff;
    border-right: 0;
}

.mse-banner-cta-button:hover {
    background-color: #e67e00;
}


.implant-banner {
    width: 100%;
    box-sizing: border-box;
    aspect-ratio: 1 / 2.865;
    margin: 0 auto 0 auto;
    background: #fffefb;
    padding-top: 0;
    text-align: center;
    background: url(../images/top/implant-banner_sp.png) no-repeat center top / contain;
    position: relative;
}

.implant-banner-tagline {
    position: absolute;
    width: 100%;
    top: 10.2%;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    font-size: 3.5vw;
    font-weight: bold;
}

.implant-banner-price {
    position: absolute;
    width: 100%;
    top: 13%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 4vw;
    line-height: 1.1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.implant-banner-price .price {
    font-size: 6vw;
    color: #d1342c;
}

.implant-banner-price .price .num {
    font-size: 9vw;
}

.implant-banner-subinfo {
    position: absolute;
    width: 100%;
    top: 16%;
    right: 8%;
    font-size: 3vw;
    text-align: right;
}


.implant-banner-badge {
    position: absolute;
    top: 17.5%;
    left: 50%;
    transform: translateX(-50%);
    background: #be3a32;
    color: #fff;
    display: inline-block;
    font-size: 5vw;
    white-space: nowrap;
    padding: 0.15em 1.5em;
    border-radius: 60px;
}

.implant-banner-points {
    position: absolute;
    width: 90%;
    top: 23%;
    left: 50%;
    transform: translateX(-50%);
    text-align: left;
}

.implant-banner-box {
    height: 46vw;
    margin-bottom: 10%;
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0);

    .text-01 {
        position: absolute;
        left: 7%;
        top: 52%;
        width: 90%;
    }

    .text-02 {
        position: absolute;
        left: 7%;
        top: 52%;
        width: 66%;
    }

    .text-03 {
        position: absolute;
        left: 7%;
        top: 55%;
        width: 60%;
    }

    .text-04 {
        position: absolute;
        left: 7%;
        top: 40%;
        width: 86%;
    }

}

.implant-banner-box:last-of-type {
    margin-bottom: 0;

}

.implant-banner-box h3 {
    font-size: 5.3vw;
    line-height: 1.2;
    margin-top: 9%;
    text-align: center;
    color: #d1342c;
}

.implant-banner-box p {
    font-size: 3vw;
    line-height: 1.8;
}

.implant-banner-box img {
    max-width: 100%;
    height: auto;
    margin: 10px 0;
}

.implant-banner-checklist {
    margin-top: 3%;
}


.implant-banner-checklist li {
    list-style: none;
    display: flex;
    align-items: center;
    line-height: 1;
    margin-bottom: 10px;
    font-weight: normal;
    font-size: 3.5vw;
    color: #e47900;
}

.implant-banner-checklist li::before {
    content: "";
    display: inline-block;
    width: 3.5vw;
    height: 3.5vw;
    background: url(../images/top/ortho-banner-check.png) no-repeat center top / cover;
    margin-right: 5px;
}



.implant-case-banner {
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    border: 5px solid #f7941d;
    box-sizing: border-box;
    text-align: center;
}

.implant-case-banner-header {
    background-color: #f7941d;
    color: #fff;
    padding: 20px 10px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6em;
}

.implant-case-banner-images {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    padding: 20px 10px;
    background-color: #fff;
}

.implant-case-banner-images img {
    max-width: 100%;
    height: auto;
    border: 2px solid #ccc;
    object-fit: contain;
    width: 100%;
    max-width: 460px;
}