:root {
    --base-font: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    --sub-font: "YuMincho", serif;
    --base-color: #505050;
    --sub-color01: #E98899;
    --sub-color02: #F5D2E3;
}

html {
    font-size: 62.5%;
}

* {
    box-sizing: border-box;
}

body {
    font-family: var(--base-font);
    font-feature-settings: "palt";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--base-color);
    box-sizing: border-box;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.08em;
    text-align: justify;
}

.mincho {
    font-family: var(--sub-font);
    font-weight: 600;
    font-style: normal;
}

h2 {
    font-family: var(--sub-font);
    font-weight: 600;
    font-style: normal;
}

p {
    line-height: 2;
}

/*** adobe使用フォント
Yu Mincho Pr6 R font-family: yu-mincho-pr6, sans-serif; font-weight: 400; font-style: normal;
***/


a {
    transition: .4s;
}

a:hover {
    opacity: .4;
}

br {
    line-height: inherit;
}

span,
a,
strong,
small {
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
}

strong {
    font-weight: bold;
}

.align-center {
    margin: 0 auto;
    text-align: center;
}

.wrap {
    width: 82rem;
    margin: 0 auto;
    position: relative;
}

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

.linkwrap {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

.body-wrap {
    overflow: hidden;
    position: relative;
    padding-right: 7rem;
}

.sp {
    display: none!important;
}

.btn {
    width: 20rem;
    height: 4rem;
    border: solid 1px;
    border-radius: 2rem;
    display: flex;
    align-items: center;
    padding-left: 2em;
    font-size: 1.4rem;
    position: relative;
    color: var(--sub-color01);
}

.btn.small {
    width: 15rem;
}

.btn.large {
    width: 26rem;
}

.btn.white {
    color: #fff;
}

.btn:after {
    content: '';
    width: .5rem;
    height: .5rem;
    border-right: solid 1px var(--sub-color01);
    border-bottom: solid 1px var(--sub-color01);
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%) rotate(-45deg);
    transition: .3s;
}

.btn.white:after {
    border-color: #fff;
}

.btn:hover {
    opacity: 1;
    background: var(--sub-color01);
    color: #fff;
    border-color: var(--sub-color01);
}

.btn:hover:after {
    border-color: #fff;
}

.btn.white:hover {
    background: #fff;
    color: var(--sub-color01);
}

.btn.white:hover:after {
    border-color: var(--sub-color01);
}

.side-nav {
    width: 7rem;
    height: 100vh;
    background: var(--sub-color02);
    position: fixed;
    right: 0;
    top: 0;
    z-index: 9990;
    padding-top: 13rem;
}

.side-nav a.vertical {
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    color: #fff;
    font-size: 1.6rem;
    font-feature-settings: normal;
    width: 4rem;
    height: 28rem;
    border-radius: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    z-index: 0;
    background: var(--sub-color01);
}

.side-nav a.vertical:before {
    content: '';
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-bottom: 0.8rem;
}

.side-nav a.vertical:nth-child(1):before {
    width: 1.7rem;
    height: 1.65rem;
    background-image: url("../images/common/ico-yoyaku.png");
}

.side-nav a.vertical:nth-child(2):before {
    width: 1.5rem;
    height: 2.3rem;
    background-image: url("../images/common/icon-tel02.png");
}

.side-nav a.vertical span {
    font-feature-settings: normal;
}

.side-nav a.vertical:nth-child(2) {
    background: #fff;
    color: var(--sub-color01);
    margin-top: 2rem;
}

.side-nav a.vertical:nth-child(2) {
    display: none;
}


.side-nav-first {
    position: fixed;
    width: 100%;
    top: auto;
    bottom: 0;
    padding: 10px 0;
    justify-content: center;
    align-items: center;
    z-index: 9988;
    background: var(--sub-color01);
    border-top: 3px double white;
    text-align: center;
}

.side-nav-first p {
    color: #fff;
}



.fix-menu {
    width: 40rem;
    height: 100vh;
    background: var(--sub-color02);
    position: fixed;
    top: 0;
    right: -33rem;
    z-index: 9989;
    padding: 12vh 5rem;
    transition: .5s;
}

.fix-menu.active {
    right: 7rem;
}

.fix-menu .gnav li {
    font-size: 1.8rem;
    font-family: inherit;
    line-height: 3;
    text-align: center;
}

.fix-menu .gnav li:not(:last-of-type) {
    border-bottom: solid 1px;
}

.fix-menu .gnav li a {
    display: block;
    text-align: center;
}

.hour-table {
    width: 37rem;
    table-layout: fixed;
}

.hour-table thead th {
    width: 11.8rem;
    background: var(--sub-color01);
    border-radius: .5rem 0 0 .5rem;
    height: 3rem;
    color: #fff;
    font-size: 1.4rem;
    padding-left: 1.4em;
    vertical-align: middle;
}

.hour-table thead td {
    color: #fff;
    background: var(--sub-color01);
    font-size: 1.4rem;
    text-align: center;
    vertical-align: middle;
}

.hour-table thead td:last-of-type {
    border-radius: 0 .5rem .5rem 0;
}

.hour-table tbody td {
    font-size: 1.2rem;
    text-align: center;
}

.hour-table tbody th {
    font-size: 1.4rem;
    text-align: center;
    font-weight: normal;
}

.hour-table tbody tr:first-of-type>* {
    padding-top: .6rem;
}

.hour-table tbody tr td {
    color: var(--sub-color01);
}

.hour-table+p {
    font-size: 1.2rem;
    text-align: right;
    margin: .5em 0 .8em;
}

.hour-table+p:first-letter {
    color: var(--sub-color01);
}

ul.three-point {
    display: flex;
    justify-content: space-between;
    width: 37rem;
}

ul.three-point li {
    font-size: 1.3rem;
    background: #fff;
    color: var(--sub-color01);
    padding: .3em 1.35em;
    border-radius: .5rem;
	width: 48%;
	text-align: center;
}

.tel-info {
    line-height: 1;
}

.tel-info a {
    color: var(--sub-color01);
    font-size: 4rem;
    font-weight: 400;
}

.tel-info a:before {
    content: "";
    display: inline-block;
    width: 2.05rem;
    height: 3.1rem;
    background-image: url("../images/common/icon-tel02.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: 1rem;
}

.tel-info span {
    display: inline-block;
    vertical-align: .8rem;
    font-size: 1.4rem;
    margin-right: 2.5rem;
}

.menu-btn {
    position: fixed;
    top: 3rem;
    right: 2rem;
    z-index: 9993;
    cursor: pointer;
}

.menu-btn .inner {
    width: 3rem;
    height: 1.3rem;
    position: relative;
    margin: 0 auto;
}

.menu-btn .inner span {
    height: 1px;
    background: var(--base-color);
    position: absolute;
    right: 0;
    transition: .3s;
}

.menu-btn .inner span:nth-of-type(1) {
    width: 2.5rem;
    top: 0;
}

.menu-btn .inner span:nth-of-type(2) {
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
}

.menu-btn .inner span:nth-of-type(3) {
    width: 1.5rem;
    bottom: 0;
}

.menu-btn.active .inner span:nth-of-type(1) {
    width: 3rem;
    transform: rotate(45deg) translate(.3rem, .2rem);
}

.menu-btn.active .inner span:nth-of-type(2) {
    opacity: 0;
}

.menu-btn.active .inner span:nth-of-type(3) {
    width: 3rem;
    transform: rotate(-45deg) translate(.6rem, -0.5rem);
}


.menu-btn p {
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.6;
    letter-spacing: .05em;
}

.treat-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

@media(min-width: 769px) {
    .treat-list li {
        margin-right: 2.5rem;
    }

    .treat-list li:nth-child(5n) {
        margin-right: 0;
    }

    .treat-list li:nth-last-child(n+4) {
        margin-bottom: 3rem;
    }

    .treat-list li:last-child {
        margin-right: auto;
    }
}

.treat-list li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 14rem;
    height: 14rem;
    background: var(--sub-color01);
    border-radius: 1rem;
    padding: 3rem 0 0;
    position: relative;
}

.treat-list li a:before {
    content: "";
    width: 8rem;
    height: 6.5rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.treat-list li:nth-child(1) a:before {
    background-image: url("../images/common/treatment01.png");
}

.treat-list li:nth-child(2) a:before {
    background-image: url("../images/common/treatment02.png");
}

.treat-list li:nth-child(3) a:before {
    background-image: url("../images/common/treatment03.png");
}

.treat-list li:nth-child(4) a:before {
    background-image: url("../images/common/treatment04.png");
}

.treat-list li:nth-child(5) a:before {
    background-image: url("../images/common/treatment05.png");
}

.treat-list li:nth-child(6) a:before {
    background-image: url("../images/common/treatment06.png");
}

.treat-list li:nth-child(7) a:before {
    background-image: url("../images/common/treatment07.png");
}

.treat-list li:nth-child(8) a:before {
    background-image: url("../images/common/treatment08.png");
}

.treat-list li:nth-child(9) a:before {
    background-image: url("../images/common/treatment09.png");
}

.treat-list li:nth-child(10) a:before {
    background-image: url("../images/common/treatment10.png");
}

.treat-list li:nth-child(11) a:before {
    background-image: url("../images/common/treatment11.png");
}

.treat-list li:nth-child(12) a:before {
    background-image: url("../images/common/treatment12.png");
}

.treat-list li:nth-child(13) a:before {
    background-image: url("../images/common/treatment13.png");
}
.treat-list li:nth-child(14) a:before {
    background-image: url("../images/common/treatment14.png");
}

.treat-list li a:after {
    content: '';
    width: 4px;
    height: 4px;
    border-right: solid 1px #fff;
    border-bottom: solid 1px #fff;
    position: absolute;
    left: 50%;
    bottom: 1.8rem;
    transform: translateX(-50%) rotate(45deg);
    transition: .4s;
}

.treat-list li a h3 {
    width: 100%;
    color: #fff;
    font-family: var(--sub-font);
    font-weight: 400;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.14;
    position: absolute;
    left: 0;
    bottom: 3rem;
}

p.text_white {
    color: #FFF;
}

footer {
    background: #F2F2F2;
    padding: 7.5rem 0 0;
}

footer .recruit {
    line-height: 0;
    margin-bottom: 6.5rem;
}

footer .recruit a {
    height: 12rem;
    background: var(--sub-color02);
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 1rem;
    padding: 0 21rem 0 2rem;
    position: relative;
}

footer .recruit a:before {
    content: "";
    width: 18rem;
    height: 10rem;
    border-radius: .5rem;
    background-image: url("../images/common/webp/recruit.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
}

.no-webp footer .recruit a:before {
    background-image: url("../images/common/recruit.jpg");
}

footer .recruit .tit {
    font-family: var(--sub-font);
    font-weight: 400;
    font-size: 2.6rem;
    border-bottom: 1px solid var(--sub-color01);
    margin-bottom: .6rem;
    line-height: 1.7;
}

footer .recruit p:nth-child(2) {
    line-height: 1.6;
}

footer .recruit p strong {
    display: block;
    color: var(--sub-color01);
}

footer .recruit p:nth-child(2):after {
    content: "";
    display: inline-block;
    width: 1.65rem;
    height: .7rem;
    background-image: url("../images/common/arrow02.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-left: 2rem;
    vertical-align: 0.2rem;
}

footer .logo {
    display: block;
    margin: auto;
    mix-blend-mode: multiply;
}

footer .info {
    padding-bottom: 6rem;
    padding-top: 3rem;
}

footer .info .left {
    width: 37rem;
    position: relative;
}

footer .info .right a.btn {
    position: absolute;
    bottom: 0;
    left: 0;
}

footer .info .right {
    width: 37rem;
    padding-bottom: 6rem;
    position: relative;
}

footer .info .right .map {
    display: block;
    margin-bottom: 1rem;
    border-radius: .5rem;
}

footer .info .right p {
    font-size: 1.2rem;
}

footer .info .tel-info {
    border-top: 1px solid var(--sub-color01);
    padding-top: 1.5rem;
    margin-top: 2.2rem;
}

footer .sitemap {
    display: flex;
    border-top: 1px solid var(--sub-color01);
    padding: 4rem 0 10rem;
}

footer .sitemap .box {
    margin-right: 2rem;
}

footer .sitemap .box p a {
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 2.4em;
}

footer .sitemap .box ul {
    column-count: 2;
    column-gap: 0;
}

footer .sitemap .box ul li {
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    line-height: 2;
}

footer .sitemap .group {
    margin-left: auto;
}

footer .sitemap .group a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 25rem;
    height: 9rem;
    background: #fff;
    position: relative;
    border-radius: .5rem;
    padding: 1rem;
    font-size: 1.3rem;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

footer .sitemap .group a:before {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    background-image: url("../images/common/ico-tab.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 0.8rem;
    right: 1rem;
}

footer .sitemap .group a img {
    display: block;
    margin-bottom: .5rem;
    width: 90%;
}

footer .copy {
    display: block;
    background: var(--sub-color01);
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    padding: 1em 0 12rem;
}

.content-dr h2.dr_taitle {
    background: var(--sub-color01);
    color: #fff;
    font-size: 24px;
    text-align: center;
    line-height: 1.6;
    padding: 0.3em 1em;
    border-radius: 5px;
    margin: 0px 0 60px;
}
section.content-dr_wd .dr-pr:before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #6a3146 30%, #F4C3CC);
    border-radius: 5px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    mix-blend-mode: multiply;
}
section.content-dr_ft .dr-pr:before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #715343 30%, #d5bfa7);
    border-radius: 5px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    mix-blend-mode: multiply;
}
section.content-dr_ft .dr-pr .position{
     background: #715343;
    width: 300px;
}
section.content-dr_ft .history-row dl dt{
    background: #715343;
}

section.content-dr_wd .dr-pr .position{
    background: #6a3146;
    width: 300px;
}
section.content-dr_wd .history-row dl dt{
    background: #6a3146;
}

@media(max-width: 768px) {

    html {
        font-size: 2.66vw;
    }

    body {
        font-size: 1.4rem;
    }

    .sp {
        display: block!important;
    }

    .pc {
        display: none!important;
    }

    .row {
        flex-wrap: wrap;
    }

    _::-webkit-full-page-media,
    _:future,
    :root .mincho {
        letter-spacing: 0;
    }

    _::-webkit-full-page-media,
    _:future,
    :root .treat-list li a h3 {
        letter-spacing: 0;
        white-space: nowrap;
    }

    _::-webkit-full-page-media,
    _:future,
    :root footer .recruit .tit {
        letter-spacing: 0;
        white-space: nowrap;
    }

    .body-wrap {
        padding-right: 0;
    }

    .wrap {
        width: 100%;
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .btn {
        max-width: 100%;
        width: 30rem;
        height: 5rem;
        border-radius: 5rem;
        font-size: 1.4rem;
        margin-left: auto;
        margin-right: auto;
        padding-left: 1.5em;
    }

    .btn.large,
    .btn.small {
        width: 30rem;
        max-width: 100%;
    }

    .btn:after {
        width: 0.56rem;
        height: 0.56rem;
        right: 2rem;
    }

    .fix-menu {
        width: 100%;
        right: -39rem;
        padding: 1.8rem 2rem 0;
        overflow-y: scroll;
    }

    .fix-menu.active {
        right: 0;
    }

    .fix-menu .gnav {
        width: 75vw;
        margin: 0 auto;
    }

    .fix-menu .gnav li {
        font-size: 1.6rem;
    }

    .side-nav {
        width: 100%;
        height: 6rem;
        top: auto;
        bottom: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 9988;
    }

    .side-nav a.vertical {
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        width: 17.25rem;
        height: 4rem;
        border-radius: 6vw;
        font-size: 1.4rem;
        letter-spacing: 0;
    }

    .side-nav a.vertical:nth-child(2) {
        margin-top: 0;
        display: inline-flex;
    }

    .side-nav a.vertical:before {
        margin-bottom: 0;
        margin-right: .5rem;
    }

    .side-nav-first {
        position: fixed;
        width: 100%;
        top: auto;
        bottom: 8.3%;
        padding: 10px 0;
        justify-content: center;
        align-items: center;
        z-index: 9988;
        background: #fff;
        border-top: 3px double var(--sub-color01);
        text-align: center;
    }

    .side-nav-first p {
        line-height: 150%;
        font-size: 12px;
        color: var(--sub-color01);
    }



    .hour-table {
        width: 100%;
    }

    .hour-table thead th {
        width: 27.46vw;
        height: 8vw;
        border-radius: .5rem 0 0 .5rem;
    }

    .hour-table thead td {
        font-size: 1.4rem;
    }

    .hour-table thead td:last-of-type {
        border-radius: 0 .5rem .5rem 0;
    }

    .hour-table tbody tr:first-of-type>* {
        padding-top: 2vw;
    }

    .hour-table tbody th {
        font-size: 1.4rem;
        letter-spacing: .05em;
    }

    .hour-table tbody td {
        font-size: 1.2rem;
    }

    .hour-table+p {
        font-size: 1.2rem;
    }

    ul.three-point {
        width: 100%;
    }

    ul.three-point li {
        font-size: 1.3rem;
        padding: .3em 1.3rem;
    }

    .tel-info a {
        font-size: 3.6rem;
        white-space: nowrap;
    }

    .tel-info span {
        margin-right: 2rem;
    }

    .treat-list li:nth-child(n+4) {
        margin-top: 2rem;
    }

    .treat-list li:last-child {
/*        margin: 2rem auto 0;*/
    }

    .treat-list li a {
        width: 10rem;
        height: 10rem;
        padding: 1.5rem 0 0;
    }

    .treat-list li a:after {
        bottom: 1.2rem;
    }

    .treat-list li a:before {
        width: 6.7rem;
        height: 5rem;
    }

    .treat-list li a h3 {
        font-size: 1.1rem;
        line-height: 1.27;
        bottom: 2rem;
    }


    footer {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    footer .recruit a {
        height: auto;
        display: block;
        padding: 2rem;
    }

    footer .recruit a:before {
        width: 100%;
        height: 13rem;
        margin-bottom: 1.5rem;
        position: static;
        display: block;
        transform: none;
        background-size: cover;
        background-image: url("../images/common/webp/recruit-sp.webp");
    }

    .no-webp footer .recruit a:before {
        background-image: url("../images/common/recruit-sp.jpg");
    }

    footer .recruit .tit {
        font-size: 2rem;
        line-height: 1.3;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }

    footer .recruit p:nth-child(2):after {
        width: 2rem;
        height: 0.8rem;
        position: absolute;
        right: 2rem;
        bottom: 3rem;
    }

    footer .logo {
        width: 28rem;
        height: auto;
        margin-bottom: 2rem;
    }

    footer .info {
        padding-top: 0;
        display: block;
    }

    footer .info .left {
        width: 100%;
        margin-bottom: 4rem;
    }

    footer .info .left th {
        font-size: 1.4rem;
        padding-left: .5em;
    }

    footer .info .left td {
        font-size: 1.2rem;
        padding-left: 1em;
    }

    footer .info .right {
        width: 100%;
        padding-bottom: 0;
    }

    footer .info .right .map {
        width: 100%;
        height: auto;
    }

    footer .info .right a.btn {
        position: relative;
        margin-top: 3rem;
    }

    footer .sitemap {
        display: block;
        padding: 0 2rem 4rem;
        border-top: none;
    }

    footer .sitemap .box:nth-child(3) {
        border-bottom: 1px solid var(--sub-color01);
    }

    footer .sitemap .box p {
        border-top: 1px solid var(--sub-color01);
    }

    footer .sitemap .box p a {
        display: block;
        padding: 0.3rem 0;
    }

    footer .sitemap .box ul {
        padding: 0.5rem 0 2rem;
    }

    footer .sitemap .box ul li {
        line-height: 2.6;
    }

    footer .sitemap .group {
        margin-top: 4.5rem;
    }

    footer .sitemap .group a {
        width: 100%;
        height: 11rem;
        padding: 2rem;
        font-size: 1.5rem;
    }

    footer .sitemap .group a:first-child img {
        width: 27rem;
        height: auto;
    }

    footer .sitemap .group a:last-child img {
        width: 30rem;
        height: auto;
    }

    footer .copy {
        font-size: 1.2rem;
        margin-top: 0;
        padding: 1rem 0 8.3rem;
    }

    .menu-btn {
        width: 6rem;
        height: 6rem;
        background: var(--sub-color02);
        border-radius: 0 0 0 1rem;
        top: 0;
        right: 0; border-left: #FFF 1px solid; border-bottom: #FFF 1px solid;
        
    }

    .menu-btn .inner {
        width: 3rem;
        height: 1.2rem;
        margin: 1.8rem auto 0;
    }

    .menu-btn .inner span:nth-of-type(1) {
        width: 2.5rem;
    }

    .menu-btn .inner span:nth-of-type(3) {
        width: 1.5rem;
    }

    .menu-btn p {
        font-size: 1.2rem;
    }

    .box_two {
        width: 100%;
        float: none;
    }

    footer .sitemap .group a img {
        width: 95%;
    }



}

/* ==================================================
.l-results
================================================== */

.l-results {
	width: 83rem;
	margin: 0 auto 5rem auto;
}

/* ----- .l-results__h2 ----- */

.l-results__h2 {
	color: var(--sub-color01);
	font-size: 5rem;
	text-align: center;
	line-height: 1.6;
	margin-bottom: 4rem;
}

.l-results__h2 span {
	display: block;
	border-bottom: solid 0.1rem var(--sub-color01);
	font-size: 4rem;
	padding-bottom: 3rem;
	margin-bottom: 3rem;
}

/* ----- .l-results__intro ----- */

.l-results__intro {
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 3rem;
}

/* ----- .l-results__map ----- */

.l-results__map {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 8rem;
}

.l-results__mapLeft {
	width: 41.6rem;
}

.l-results__mapRight {
	width: calc(100% - 45rem);
}

.l-results__list {
	list-style-type: decimal-leading-zero;
}

.l-results__list li {
	display: flex;
	align-items: center;
}

.l-results__list li+li {
	margin-top: 4rem;
}

.l-results__list span {
	display: inline-block;
	width: 4.2rem;
	font-size: 1.4rem;
	font-weight: 700;
}

/* ----- .l-results__h3 ----- */

.l-results__h3 {
	color: var(--sub-color01);
	font-size: 3rem;
	font-family: var(--sub-font);
	text-align: center;
	line-height: 1.6;
	margin-bottom: 2rem;
}

.l-results__h3 span {
	display: block;
	font-size: 2.4rem;
}

/* ----- .l-results__cards ----- */

.l-results__cards {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem 3.2rem;
}

.l-results__card.full {
	width: 100%;
}

.l-results__card.half {
	width: calc((100% - 3.2rem) / 2);
}

.l-results__thumb.large {
	width: 100%;
	height: 38.2rem;
	object-fit: cover;
	object-position: center;
	border-radius: 0.8rem;
	vertical-align: bottom;
	position: relative;
	z-index: 1;
}

.l-results__thumb.small {
	width: 100%;
	height: 27.8rem;
	object-fit: cover;
	object-position: center;
	border-radius: 0.8rem;
	vertical-align: bottom;
	position: relative;
	z-index: 1;
}

/* ----- .l-results__num ----- */

.l-results__num {
	background: #F8F7F6;
	border-top: 0.3rem solid #EF8BB6;
	padding: 2.4rem 2rem;
}

.l-results__num.small .btn.large {
    width: 100%;
    margin-top: 1.2rem;
}


.l-results__num.large {
	width: 90%;
	margin: -7.6rem auto 0 auto;
	position: relative;
	z-index: 2;
}

.l-results__num.small {
	width: 84%;
	margin: -4.4rem auto 0 auto;
	position: relative;
	z-index: 2;
}
.l-results__num.small .btn.large {
    width: 100%;
    margin-top: 1.5rem;
}

.l-results__numTitle {
	font-size: 2.4rem;
	font-family: var(--sub-font);
	text-align: center;
	line-height: 130%;
	margin-bottom: 1.5rem;
}

.l-results__numTitle span.straumann{color: #46b98c;}

.l-results__numData {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 0.4rem;
}

.l-results__numData.mt3 {
	margin-top: 3rem
}

.l-results__numMain {
	color: #EF8BB6;
	border-bottom: 0.2rem solid #EF8BB6;
	width: 100%;
	text-align: center;
}

.l-results__numMain.large {
	font-size: 3.2rem;
	margin-top: 1rem;
	margin-bottom: 3.2rem;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
}

.l-results__numMain.large span:nth-child(1) {
	font-family: var(--sub-font);
	font-size: 3.2rem;
	font-weight: 600;
	/*display: block;*/
}

.l-results__numMain.large span:nth-child(2) {
	font-size: 10rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.04em;
}

.l-results__numMain.large span:nth-child(3) {
	font-size: 3.2rem;
	font-weight: 700;
}

.l-results__numMain.small {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: 0 0.4rem;
	margin-top: 1rem;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
}

.l-results__numMain.small span:nth-child(1) {
	font-family: var(--sub-font);
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 130%;
}

.l-results__numMain.small span:nth-child(2) {
	font-size: 5rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.04em;
}

.l-results__numMain.small span:nth-child(3) {
	font-size: 2.4rem;
	font-weight: 700;
}

.l-results__numSub.large {
	text-align: center;
    background: #fff;
    padding: 0.8rem 1.5rem;
}

.l-results__numSub.large span:nth-child(1) {
	font-family: var(--sub-font);
	font-size: 1.8rem;
	font-weight: 600;
	display: block;
}

.l-results__numSub.large span:nth-child(2) {
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.04em;
	display: block;
	color:var(--sub-color01);
}

.l-results__numSub.large span:nth-child(3) {
	font-size: 1.6rem;
	font-weight: 700;
	display: block;
	color: #693146;
}

.l-results__numSub.small {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 0 0.4rem;
	text-align: center;
	font-size: 2rem;
}

.l-results__numSub.small span:nth-child(1) {
	font-size: 1.5rem;
	font-family: var(--sub-font);
	font-weight: 600;
	color: #693146;
}

img.logo_zirconia {
	width: 100%;
}

.l-results__numSub.small span:nth-child(2) {
	font-weight: 500;
	letter-spacing: -0.04em;
	color: #693146;
	line-height: initial;
}

.l-results__numSub.small span:nth-child(3) {
	font-size: 1.3rem;
	font-weight: 700;
	display: block;
	width: 100%;
}

.l-results__num_point {
	background: #F8F7F6;
	border-top: 0.3rem solid #E98899;
	padding: 2.4rem;
}

.l-results__num_point.white {
	background: #fff;
}

.l-results__numMain_point {
	color: #e6b422;
	/*border-bottom: 0.2rem solid #693146;*/
	width: 100%;
	text-align: center;
}

.l-results__numMain_point.small {
	font-size: 6rem;
}

.l-results__numMain_point.large span:nth-child(1) {
	font-family: var(--sub-font);
	font-size: 3.2rem;
	font-weight: 600;
	/* display: block; */
	color: #666;
}

.l-results__numMain_point.large span:nth-child(2) {
	font-size: 10rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.04em;
	color: red;
}

.l-results__numMain_point.large span:nth-child(2).small {
	font-size: 6rem;
}

.l-results__numMain_point.large span:nth-child(3) {
	font-size: 3.2rem;
	font-weight: 700;
	color: #666;
}





.u-right {
	text-align: right;
}

.c-hr {
	width: 100%;
	height: 0.2rem;
	background: #693146;
	margin: 2.4rem 0;
}

.u-mt40 {
	margin-top: 4rem;
}

.intro .font-hojinmei {
    font-size: 4rem;
    border-bottom: 1px solid;
    margin-bottom: 4rem;
    line-height: 120%;
}

.intro .font-hojinmei img {
    width: 45px;
}

.intro * {
    color: #fff;
    text-align: center;
}

.intro .font-pink {
    color: #fff;
}

.intro .specialist {
	color: #fff;
	font-weight: bold;
	text-align: center;
    margin-bottom: 4rem;
}

.intro .specialist span:nth-child(1) {
	font-size: 3rem;
	display: block;
}

.intro .specialist span:nth-child(2) {
	font-size: 1.8rem;
	display: block;
}

.intro .specialist span:nth-child(3) {
	font-size: 1.6rem;
	display: block;
}



.content-dr .side-img{ display: flex; justify-content: space-between; margin: 40px 0; }
.content-dr .side-img div{ width: 49%; }
.content-dr .side-img .img img{ width: 100%; height: auto; }

img.imp_banner{
	margin-bottom: 2rem;
    padding-bottom: 2rem;
}
.mt30{
	margin-top: 30px;
}



main #hoshou{
	 width: 83rem;
    margin: 0 auto 5rem auto;
	display: flex;

}
main #hoshou div{
	width: 50%;
	 background: #F8F7F6;
    border-top: 0.3rem solid #EF8BB6;
	padding: 3rem;
	
}

/*
main #hoshou div:first-child{
	 padding-right: 2rem;
}*/
main #hoshou div:last-child{
	 padding-left: 0;
}

main #hoshou div h2{
    font-size: 2.4rem;
    font-family: var(--sub-font);
    text-align: center;
    line-height: normal;
    margin-bottom: 1.5rem;
}
main #hoshou div p strong{
	    font-size: 1.5rem;
}
main #hoshou div table{
	width: 100%;
	margin: 6rem auto 0;
}
main #hoshou div table th,
main #hoshou div table td{
	width: 50%;
	padding:1rem;
}
main #hoshou div table th{

	background: var(--sub-color02);
	color: var(--base-color);
}
main #hoshou div table td{
	background: #fff;
	text-align: center;
	font-weight: bold;
	color: var(--sub-color01);
	font-size: 1.8rem;
}
main #hoshou div table th.center{
	text-align: center;
}


.bnr.jidv {
    background: #F2F2F2;
    border-radius: 1rem;
    width: 83rem;
    margin: 6rem auto 6.5rem;
    padding: 4rem 4rem 2rem;
}
.bnr.jidv h2 {
    font-size: 2.6rem;
    padding-bottom: 0.1em;
    margin-bottom: 1em;
}
.bnr.jidv a {
    margin-top: 3rem;
}
.bnr.jidv a img {
        margin-top: 2rem;
        margin-bottom: 0;
        padding: 0;
}







.gnav .dropdown {
  position: relative;
}

.gnav .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  right:0% ;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #FFF;
  padding: 1rem 1rem 0;
  width: 650px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  z-index: 20;
    opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 1s ease, transform 0.3s ease, visibility 0.3s ease;
}

.gnav .dropdown-menu li,
.gnav .dropdown-menu li:nth-of-type(1),
.gnav .dropdown-menu li:nth-of-type(5n),
.gnav .dropdown-menu li:nth-of-type(n+5) {
  width: 24%;
  border: none;
  margin: 0;
  padding: 0;
}

.gnav .dropdown-menu li a {
  position: relative;
  display: block;
  height: 100px;
  margin-bottom: 1rem;
  padding: 4.2em 1rem 0;
  text-align: center;
  background: var(--sub-color01);
  color: #FFF;
  white-space: nowrap;
  text-decoration: none;
  border-radius: 1rem; letter-spacing: 0;
}

.gnav .dropdown-menu li a:after {
  content: '';
  width: 4px;
  height: 4px;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
  position: absolute;
  left: 50%;
  bottom: 1.4rem;
  transform: translateX(-50%) rotate(45deg);
  transition: 0.4s;
}

.gnav .dropdown-menu li a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 6rem;
  height: 6rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.gnav .dropdown-menu li:nth-child(1) a:before { background-image: url("../images/common/treatment01.png"); }
.gnav .dropdown-menu li:nth-child(2) a:before { background-image: url("../images/common/treatment02.png"); }
.gnav .dropdown-menu li:nth-child(3) a:before { background-image: url("../images/common/treatment03.png"); }
.gnav .dropdown-menu li:nth-child(4) a:before { background-image: url("../images/common/treatment04.png"); }
.gnav .dropdown-menu li:nth-child(5) a:before { background-image: url("../images/common/treatment05.png"); }
.gnav .dropdown-menu li:nth-child(6) a:before { background-image: url("../images/common/treatment06.png"); }
.gnav .dropdown-menu li:nth-child(7) a:before { background-image: url("../images/common/treatment07.png"); }
.gnav .dropdown-menu li:nth-child(8) a:before { background-image: url("../images/common/treatment08.png"); }
.gnav .dropdown-menu li:nth-child(9) a:before { background-image: url("../images/common/treatment09.png"); }
.gnav .dropdown-menu li:nth-child(10) a:before { background-image: url("../images/common/treatment10.png"); }
.gnav .dropdown-menu li:nth-child(11) a:before { background-image: url("../images/common/treatment11.png"); }
.gnav .dropdown-menu li:nth-child(12) a:before { background-image: url("../images/common/treatment12_2.png"); }
.gnav .dropdown-menu li:nth-child(13) a:before { background-image: url("../images/common/treatment13.png"); }
.gnav .dropdown-menu li:nth-child(14) a:before { background-image: url("../images/common/treatment14.png"); }

.gnav .dropdown:hover .dropdown-menu {
  display: flex;
    opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.gnav .dropdown-menu li a:hover {
  opacity: 0.7;
}

.fix-menu.active{ overflow: auto; max-height: 2000px;}
.fix-menu.active .gnav .dropdown .dropdown-menu {
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: max-height 1s ease, opacity 1s ease, visibility 1s ease;
  position: static;
  padding: 0 1rem 0;
  background-color: #FFF;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-between;
  z-index: 20;
    margin-top: 0;
}

.fix-menu.active .gnav .dropdown.none{ display: none;}
.fix-menu.active .gnav .dropdown.open .dropdown-menu {
  max-height: 1000px; 
  opacity: 1;
  visibility: visible;
  padding: 1rem 1rem 0;
  display: flex;
    margin-bottom: 2rem;
}
.gnav li.on {display: none;}
.fix-menu.active .gnav li.on { display: block;}

.fix-menu.active .gnav .dropdown-menu li{ width: 48.5%;}
.fix-menu.active .gnav .dropdown-menu li a{ height: auto; padding: .5em 0; line-height: 1.1; font-size: 13px; letter-spacing: 0; }
.fix-menu.active .gnav .dropdown-menu li a:before,.fix-menu.active .gnav .dropdown-menu li a:after{ display: none;}
.fix-menu.active .gnav .dropdown-menu li{ border: none;}

.fix-menu.active .gnav .dropdown > a::after {
  content: '＋';
  font-size: 1em;
  margin-left: 0.5em;
  transition: transform 0.3s ease; font-weight: bold; font-family: Arial Black, "メイリオ", sans-serif;
  }

.fix-menu.active .gnav .dropdown.open > a::after {
  content: '－';
}




@media(max-width: 768px) {
	.l-results__numMain_point.large span:nth-child(1) {
			  font-size: 1.5rem;
    }
	.l-results__numMain_point.large span:nth-child(2) {
			  font-size: 5rem;
    }
	.l-results__num_point{padding: 2.4rem 0.8rem;}
	.l-results__numSub.large {
        padding: 0.6rem 0;
        width: 16%;
    }
	.l-results__numSub.large span:nth-child(1) {
        font-size: 1.1rem;
    }
	.l-results__numSub.large span:nth-child(2) {
        font-size: 1.4rem;
    }
	
	main #hoshou {
		 width: 90%;
		 margin: 0 auto 3rem auto;
		 display: block;
	}
	main #hoshou div {
    width: 100%;
		padding: 2rem;
	}
	main #hoshou div h2{margin-top: 1rem;}
	main #hoshou div:last-child{
		 border-top: none;
	}
	main #hoshou div table {
		 margin: 0 auto 0;
	}
	main #hoshou div table th{
	width: 65%;
	}
	main #hoshou div:last-child{
		 padding-top: 0;
		padding-left: 2rem;
		padding-bottom: 3rem;
	}
	
	.l-results__numMain.small span:nth-child(1){font-size: 1.3rem;}

	.bnr.jidv {
        width: 90%;
        margin: 0 auto 6.5rem;
        padding: 4rem 2.5rem 2rem;
        box-sizing: border-box;
    }
        .bnr.jidv h2 {
        font-size: 2rem;
    }
    .bnr.jidv a {
        margin-top: 3rem;
    }
	
	.fix-menu .gnav li a:hover{ opacity: 1; }
    .fix-menu.active img{ width: 250px; height: auto; margin-bottom: .5rem; padding: .5rem 2rem; background: #FFF; }

}
	
	
	