@media screen and (min-width: 769px) {
    .sp {
        display: none !important;
    }

    #menu-toggle {
        display: none;
    }

    #gnavi .sub-nav {
        position: absolute;
        top: 100%;
        left: 50%;
        background: #fff;
        padding: 20px;
        box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.1);
        transition: all 0.3s;
        opacity: 0;
        visibility: hidden;
        transform: translateX(-50%) translateY(10px);
    }

    #gnavi .nav-item:hover .sub-nav {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) translateY(0);
    }

    #header {
        position: static;
    }

    #main {
        margin-top: 0 !important;
    }

    body a {
        transition: none !important;
    }

    body.fixed-header #header {
        position: fixed;
        animation: fixedHeader;
        animation-duration: 0.5s;
        animation-fill-mode: forwards;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }

    body.fixed-header .h-left {
        align-self: center;
    }

    body.fixed-header #header h1 {
        display: none;
    }

    body.fixed-header #header .calling-time {
        display: none;
    }

    body.fixed-header .h-right .group-contact {
        margin-bottom: 0;
    }

    body.fixed-header #header .group-contact li:not(:last-child) {
        margin-right: 0;
    }

    body.fixed-header .h-right-col:not(:last-child) {
        flex-direction: row-reverse;
        align-items: center;
        margin-right: 20px;
    }

    body.fixed-header #header .inner.d-flex {
        padding: 0 10px;
    }

    body.fixed-header #header .btn-mail.btn-large {
        width: 120px;
        height: 70px;
        font-size: 14px;
    }

    body.fixed-header .h-right .group-tel {
        width: 180px;
    }

    body.fixed-header .h-right .group-tel .btn-tel {
        font-size: 20px;
    }

    body.fixed-header #gnavi {
        margin-right: 20px;
    }

    body.fixed-header #gnavi .nav-link {
        padding-left: 20px;
        padding-right: 20px;
    }

    body.fixed-header #main {
        margin-top: 147px !important;
    }

    /*=============================================*/

    .to-top:hover {
        opacity: 0.8;
    }

    .btn-mail:hover {
        background: #6c8473;
    }

    #gnavi a.nav-link:hover,
    #gnavi .sub-nav li a:hover {
        color: #50372d;
        text-decoration: underline;
    }

    .primary-btn:hover,
    .btn-map:hover {
        background-color: #735f57;
    }

    .category-tab li:hover {
        background-color: #f1f2f3;
    }

    .simple-shortcut-ttl:hover {
        text-decoration: underline;
    }

    .treatment-item-text .primary-btn:hover {
        background-color: #717f91;
    }

    #treatment-item-02 .primary-btn:hover {
        background-color: #819687;
    }

    .home-treatment-menu-list li a:hover:before {
        opacity: 1;
    }

    .f-nav-link:hover {
        opacity: 0.7;
    }

    .flex_content {
        display: flex;
    }

    .flex_content .image_l,
    .flex_content .image_r {
        flex-shrink: 0;
    }
}

/* screen-min:769px */

@media screen and (min-width: 769px) and (max-width: 1670px) {
    #header .inner.d-flex {
        padding: 0 15px;
    }

    #header .btn-mail.btn-large {
        width: 120px;
        height: 75px;
        font-size: 14px;
        margin-top: 0;
    }

    #header .group-logo dt {
        margin-right: 15px;
    }

    #header .group-logo dd span {
        font-size: 12px;
        width: 135px;
    }

    #header h1 {
        width: 390px;
        margin-bottom: 20px;
    }

    #gnavi .nav-link {
        padding-left: 20px;
        padding-right: 20px;
    }

    .h-right {
        position: relative;
    }

    .h-right-col:not(:last-child) {
        margin-right: 0;
    }

    .h-right .group-contact {
        margin-right: 135px;
    }

    .h-right-col:last-child {
        position: absolute;
        right: 0;
        top: -6px;
    }

    body.fixed-header .h-right .group-contact {
        margin-right: 120px;
    }

    body.fixed-header #header .group-logo dd span {
        font-size: 10px;
        width: 115px;
        height: 22px;
    }

    body.fixed-header #gnavi li {
        font-size: 14px;
    }

    #header .group-logo dt {
        width: 150px;
        align-self: center;
    }

    .main-visual .inner {
        padding-right: 450px;
    }

    .main-visual .visual-text {
        width: 600px;
    }

    .main-visual h2 {
        font-size: 38px;
    }

    .main-visual .visual-sub-ttl {
        font-size: 20px;
    }

    .main-visual .visual-ttl-en {
        font-size: 65px;
        margin-left: 250px;
    }

    .main-visual .visual-img {
        min-height: 600px;
    }

    .home-concept-img {
        left: calc(50% - 595px);
        width: 568px;
    }

    .home-doctor .doctor-info-image {
        margin-left: 50px;
    }

    .block-dental-info .block-dental-img {
        margin: 0 -55px 0 0;
    }

    #point-item-02 .point-block-img {
        margin-right: 10px;
    }

    #point-item-02 .point-block-text dl:after {
        left: -129px;
        bottom: -173px;
    }

    #point-item-02 .point-block-img:before {
        right: -9px;
        transform: rotate(-63deg);
        width: 190px;
    }

    .home-point-item .point-block-img img {
        min-width: 915px;
    }

    #point-item-02 .point-block-img img {
        min-width: 585px;
    }

    .home-message-img {
        max-width: 51vw;
        min-width: 630px;
    }

    .home-message-text {
        padding-left: 30px;
        padding-right: 15px;
    }

    .group-primary-ttl.large-ttl .primary-ttl {
        font-size: 32px;
    }
}

/* screen-min: 769px and screen-max: 1670px */

@media screen and (min-width: 769px) and (max-width: 1400px) {
    body.fixed-header #header .btn-mail.btn-large {
        width: 100px;
        font-size: 12px;
    }

    body.fixed-header .h-right .group-contact {
        margin-right: 90px;
    }

    body.fixed-header #header .group-tel {
        width: 150px;
    }

    body.fixed-header #header .group-tel dt {
        font-size: 12px;
    }

    body.fixed-header .h-right .group-tel .btn-tel {
        font-size: 16px;
    }

    body.fixed-header #gnavi .nav-link {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* screen-min: 769px and screen-max: 1400px */


@media screen and (min-width: 769px) and (max-height: 750px) {
    .main-visual .visual-img {
        min-height: calc(100vh - 147px);
    }

    .main-visual .visual-img img {
        max-height: calc(100vh - 147px);
    }

    .main-visual h2 {
        font-size: 5vh;
    }

    .main-visual .visual-sub-ttl {
        font-size: 3vh;
        margin-bottom: 2vh;
    }

    .main-visual .visual-ttl-en {
        font-size: 9vh;
        margin-left: 33vh;
    }
}

/* screen-min: 769px and screen-max-height: 750px */

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

    /* .under-detail-listImg {
        margin: -10px -10px 33px;
    } */
    img {
        max-width: 100%;
    }

    #wrapper,
    #header,
    #main,
    #footer,
    .inner,
    .under {
        width: 100% !important;
        min-width: unset !important;
    }

    .inner {
        box-sizing: border-box;
        padding: 0 15px;
    }

    .pc {
        display: none !important;
    }

    .to-top {
        bottom: 70px;
    }

    p {
        margin-bottom: 1.2em;
    }

    #menu-toggle {
        display: block;
        align-self: flex-end;
        margin-bottom: 3px;
    }

    .h-right .group-contact {
        display: none;
    }

    #gnavi {
        display: none;
    }

    .h-left {
        margin-right: 15px;
        position: relative;
        max-width: calc(100% - 70px);
        /*padding-top: 25px;*/
    }

    .h-left .group-logo {
        align-items: center;
    }

    .h-right-col:last-child {
        display: none;
    }

    .h-right-col:not(:last-child) {
        margin-right: 0;
    }

    #header {
        padding: 10px 0;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        position: relative;
    }

    #header .inner.d-flex {
        padding: 0 10px;
    }

    #header h1 {
        left: 0;
        top: 0;
        width: calc(100vw - 20px);
        min-width: 300px;
        position: relative;
        margin-bottom: 10px;
    }

    #header .group-logo dt {
        margin-right: 10px;
    }

    #header .group-logo dd span {
        font-size: 10px;
        width: 115px;
        height: 21px;
        padding-top: 2px;
    }

    body.fixed-header #header {
        position: fixed;
    }

    body.fixed-header #header h1 {
        display: none;
    }

    body.fixed-header #menu-toggle {
        margin-bottom: 0;
        align-self: center;
    }

    .f-nav-items {
        position: fixed;
        z-index: 50;
        width: 100%;
        height: calc(100% - 60px);
        background: #fff;
        top: 100px;
        left: 0;
        display: block;
        padding: 20px;
        overflow: auto;
        padding-bottom: 120px;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s;
    }

    body.open-nav .f-nav-items {
        opacity: 1;
        visibility: visible;
    }

    .f-nav-group.d-flex {
        display: block;
    }

    .f-nav-col {
        margin: 0 0 30px;
        width: 100%;
    }

    .f-nav-item {
        margin-bottom: 15px !important;
    }

    .f-nav-title {
        margin-bottom: 15px;
        font-size: 20px;
        width: 100%;
    }

    #footer {
        position: relative;
        margin-bottom: 70px;
    }

    .fixed-button-sp {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 40;
        margin: 0 !important;
        height: 70px;
    }

    .fixed-button-sp li {
        width: 100%;
        margin: 0 !important;
    }

    .fixed-button-sp .group-tel {
        background: #fff;
        width: 100%;
        padding: 10px;
    }

    .fixed-button-sp .group-tel dt {
        font-size: 12px;
        margin-bottom: 5px;
    }

    .fixed-button-sp .group-tel .btn-tel {
        font-size: 20px;
    }

    .fixed-button-sp .btn-mail {
        width: 100%;
        height: 100%;
        min-width: inherit !important;
    }

    .main-visual .inner {
        padding: 0 0 22vw;
    }

    .main-visual .visual-img {
        min-height: inherit;
        background: none !important;
    }

    .main-visual .visual-img img {
        opacity: 1;
    }

    .main-visual .visual-text {
        bottom: 5vw;
        top: inherit;
        right: 0;
        width: 100%;
        height: inherit;
        padding: 0 15px;
    }

    .main-visual h2 {
        font-size: 6vw;
        margin-bottom: 2vw;
    }

    .main-visual h2 span,
    .main-visual .visual-sub-ttl span {
        padding-left: 5vw;
        padding-right: 5vw;
    }

    .main-visual .visual-sub-ttl {
        margin-bottom: 2vw;
        font-size: 4vw;
    }

    .main-visual .visual-ttl-en {
        margin-left: 0;
        font-size: 8.5vw;
    }

    .main-visual .visual-ttl-en span:not(:last-child) {
        padding-right: 0.3em;
    }








    .home-concept .block-content-title {
        padding: 7vw 0 110px;
    }

    .home-concept .block-content-wrapper {
        width: 100%;
        padding: 0;
    }

    .home-concept .group-primary-ttl {
        text-align: center;
    }

    .home-concept .block-content-text {
        padding: 1px 0 50px;
    }

    .home-concept .block-content-text p {
        margin-bottom: 1.5em;
    }

    .home-concept .block-content-text .row-button {
        text-align: center;
    }

    .home-concept-img {
        position: static;
        text-align: center;
        margin: -60px 0 30px;
    }

    .home-doctor {
        padding: 0;
    }

    .block-doctor-info {
        padding: 60px 0;
    }

    .block-doctor-info .inner.d-flex {
        flex-direction: column;
        align-items: center;
    }

    .home-doctor .doctor-info-text>* {
        position: relative;
        z-index: 2;
    }

    .block-doctor-info .group-primary-ttl {
        text-align: center;
    }

    .block-doctor-info .row-button {
        text-align: center;
    }

    .home-doctor .doctor-info-image:not(.sp) {
        display: none;
    }

    .home-doctor .doctor-info-image {
        margin: 0 0 50px;
        padding: 0 70px 55px;
        text-align: center;
    }

    .home-doctor .doctor-info-image:before {
        z-index: -1;
    }

    .block-dental-info {
        padding: 60px 0;
    }

    .block-dental-info .inner:before {
        display: none;
    }

    .block-dental-info .inner.d-flex {
        display: block;
    }

    .block-dental-info .block-dental-img {
        display: none;
    }

    .block-dental-info .block-dental-text {
        width: 100%;
    }

    .block-dental-info .block-dental-text dl dt {
        text-align: center;
        font-size: 18px;
        padding: 12px 20px 10px;
    }

    .block-dental-info .block-dental-text dl .primary-ttl {
        font-size: 26px;
    }

    .block-dental-info .block-img-sp {
        margin-top: 40px;
        margin-bottom: 40px;
        position: relative;
        z-index: 1;
    }

    .block-dental-info .block-img-sp:before {
        content: "";
        width: 100%;
        height: calc(100% + 50px);
        background: #fff;
        position: absolute;
        z-index: -1;
        top: -25px;
        left: 70%;
    }

    .home-doctor .row-button {
        margin-top: 30px;
    }

    .home-point {
        padding: 60px 0 90px;
    }

    .home-point:before {
        height: calc(100% - 60px - 18vw);
    }

    .home-point .point-block-title {
        height: auto;
        padding-top: 10vw;
        padding-bottom: 10vw;
        margin-bottom: 40px;
    }

    .home-point .point-block-title .group-primary-ttl dt {
        font-size: 9vw;
        line-height: 1.2em;
        margin-bottom: 0.2em;
    }

    .home-point .point-block-title .group-primary-ttl .primary-ttl {
        font-size: 4.5vw;
    }

    .home-point-item .point-block-text {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 20px 0 0;
    }

    .home-point-item .point-block-text:before {
        right: 75vw;
        top: 0;
        height: 70vw;
        z-index: -1;
    }

    .home-point-item .point-block-text dl {
        padding-bottom: 20px;
        margin-bottom: 40px;
    }

    .home-point-item .point-block-text dl dt {
        font-size: 30px;
        margin-right: 20px;
    }

    .home-point-item .point-block-text dl dt span {
        font-size: 18px;
    }

    .home-point-item .point-block-text dl dd {
        font-size: 70px;
    }

    .home-point-item .point-block-text dl:before {
        width: 100%;
    }

    .home-point-item .point-block-text dl:after {
        display: none;
    }

    .home-point-item .point-block-text .point-sub-ttl {
        line-height: 1.4em;
        margin-bottom: 0.5em;
        text-align: center;
    }

    .home-point-item .point-block-text .point-img-sp {
        margin: 0 0 30px;
        padding: 0 15px;
        position: relative;
    }

    .home-point-item .point-block-text .point-img-sp:before {
        content: "";
        width: 1px;
        height: 40px;
        background: #333;
        position: absolute;
        bottom: 100%;
        left: calc(50% - 0.5px);
    }

    .home-point-item .point-block-text .point-img-sp:after {
        content: "";
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: solid 2px #20722e;
        background: #fff;
        position: absolute;
        left: calc(50% - 10px);
        top: -10px;
    }

    .point-block-img {
        display: none;
    }

    .point-banner {
        margin-top: 0;
        width: 100%;
    }

    #point-item-02 {
        margin: 50px 0;
    }

    #point-item-02:before {
        left: 10%;
    }

    #point-item-02 .point-block-text {
        padding: 30px 0;
    }

    #point-item-02 .point-block-text dl {
        flex-direction: column;
        align-items: flex-start;
        position: relative;
        padding: 10px 0 13px 0;
        margin: 0 0 100px 220px;
    }

    #point-item-02 .point-block-text dl:before {
        width: 100%;
    }

    #point-item-02 .point-block-text dl dt {
        margin: 0 0 10px;
        font-size: 20px;
    }

    #point-item-02 .point-block-text dl dt span {
        font-size: 12px;
    }

    #point-item-02 .point-block-text dl dd {
        font-size: 44px;
    }

    #point-item-02 .point-block-text dl .point-img-sp {
        position: absolute;
        right: calc(100%);
        top: 0;
        padding: 0;
        width: 240px;
    }

    #point-item-02 .point-block-text dl .point-img-sp:before {
        width: 44px;
        height: 1px;
        transform-origin: 100% 0%;
        bottom: 77px;
        left: inherit;
        right: 0;
        transform: rotateZ(-45deg);
    }

    #point-item-02 .point-block-text dl .point-img-sp:after {
        width: 16px;
        height: 16px;
        border-color: #ce7c21;
        left: 204px;
        top: 140px;
    }

    .home-point .list-points {
        /* display: block;
        margin: 30px 0 0; */
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        flex-flow: gap;
        max-width: 100%;
        margin: 0 auto;
        align-items: center;
    }

    .home-point .list-points .point-item {
        width: 140px;
    }

    .home-point .list-points .point-item:not(:last-child),
    .home-point .list-points .point-item {
        margin: 10px 6px;
    }

    .home-point .list-points .point-item span {
        font-size: 15px;
    }

    .slick-dots {
        bottom: -35px;
    }

    .slick-dots li button:before {
        font-size: 14px;
    }

    body:not(.fixed-header) #main {
        margin-top: 0 !important;
    }

    .section-banner {
        padding: 7vw 0;
    }

    .section-banner .page-banner {
        height: auto;
        padding: 30px 20px;
        background-image: url('../images/banner-bg-02.jpg');
    }

    .section-banner .page-banner h3 {
        font-size: 6vw;
        line-height: 1.4em;
        margin-bottom: 0.5em;
    }

    .home-news {
        padding: 60px 0;
    }

    .tab-content {
        padding: 15px 30px;
    }

.simple-shortcut-list {
	height: 385px;
}
    .category-tab li {
        width: 25%;
    }

    .archive-section {
        margin-bottom: 30px;
    }

    .home-clinic {
        padding: 60px 0;
    }

    .home-clinic .clinic-block-header {
        display: block;
    }

    .home-clinic .clinic-block-header dl {
        width: 100%;
        text-align: center;
        margin: 0 0 20px;
    }

    .home-clinic-points li {
        height: auto;
        padding: 15px 25px;
        flex-direction: column;
        align-items: center;
        border-top: solid 4px #50372d;
        border-left: none;
    }

    .home-clinic-points li:not(:last-child) {
        margin-bottom: 20px;
    }

    .home-clinic-points li span:first-child {
        text-align: center;
        margin-bottom: 5px;
    }

    .home-clinic .row-button {
        margin-top: 40px;
    }

    .home-treatment {
        padding-bottom: 70px;
    }

    .home-treatment-flex-item {
        flex-direction: column;
    }

    .home-treatment-title {
        height: auto;
        padding: 12vw 0 10vw;
    }

    .treatment-item-title {
        height: auto;
        padding-top: 10vw;
        padding-bottom: 10vw;
    }

    #treatment-item-02 .treatment-item-title:before {
        height: 100%;
    }

    .home-treatment-title .group-primary-ttl dt {
        font-size: 8vw;
        margin-bottom: 0.2em;
    }

    .home-treatment-title .group-primary-ttl.large-ttl .primary-ttl {
        font-size: 6vw;
    }

    .home-treatment-item {
        width: calc(100% + 30px);
        margin: 0 -15px;
    }

    .treatment-item-img img {
        max-width: 100%;
    }

    .treatment-item-text {
        padding: 30px 15px 30px;
    }

    .treatment-item-text .row-button {
        margin-top: 20px;
    }

    .home-treatment-menu-list {
        margin: -10px;
    }

    .home-treatment-menu-list li {
        width: calc(50% - 20px);
        margin: 10px;
    }

    .home-treatment-menu-list li a .item-ttl {
        font-size: 3.6vw;
    }

    .home-message {
        padding: 70px 0 50px;
    }

    .home-message .inner.d-flex {
        flex-direction: column;
        align-items: center;
        padding-bottom: 50px;
    }

    .home-message .inner:before {
        left: 20%;
    }

    .home-message-img {
        position: relative;
        z-index: 1;
    }

    .home-message-img:before {
        content: "";
        width: 100%;
        height: calc(100% + 100px);
        background: #f8f4f0;
        position: absolute;
        left: 66%;
        top: -70px;
        z-index: -1;
    }

    .home-message-text {
        padding: 0 0 0;
        margin-top: 50px;
    }

    .home-message-text:before {
        display: none;
    }

    .home-message-text .group-primary-ttl {
        text-align: center;
    }

    .f-information {
        padding: 50px 0;
    }

    .f-information .inner.d-flex {
        flex-direction: column;
        align-items: center;
    }

    .f-info-left {
        margin: 0 0 50px;
        max-width: 100%;
    }

    .f-info-left .group-logo {
        align-items: center;
        justify-content: center;
        margin-bottom: 30px;
    }

    .f-info-left .group-logo dt {
        margin-right: 20px;
    }

    .f-info-right {
        width: 460px;
        max-width: 100%;
    }

    .f-info-right .map-info {
        flex-direction: column;
    }

    .f-info-right .map-info dt {
        margin: 0 0 10px;
    }

    .f-info-right .map-info dd {
        width: 100%;
    }

    .f-info-right .map-info dd a {
        width: 100%;
        background: url(../images/icon-arrow-right-02.png) right 28px center / 6px no-repeat #50372d;
    }

    .f-info-right .map-info dd a span {
        background-image: url(../images/icon-marker-01.png);
        background-size: 11px;
        background-position: left center;
    }

    .f-description .inner {
        padding: 0 15px;
    }

    .f-nav {
        padding: 40px 0;
    }

    .f-banner {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .f-banner li {
        margin: 10px !important;
    }

    .group-contact {
        flex-wrap: wrap;
        justify-content: center;
        margin: -9px -9px 30px;
    }

    .group-contact li:not(:last-child),
    .group-contact li {
        margin: 9px;
    }

    .group-primary-ttl.large-ttl .primary-ttl {
        font-size: 28px;
    }
}

/* screen-max:768px */

@media screen and (max-width: 640px) {
    .block-dental-info .block-dental-text dl dt {
        font-size: 15px;
    }

    .block-dental-info .block-dental-text dl .primary-ttl {
        font-size: 22px;
    }

    .simple-shortcut {
        flex-wrap: wrap;
    }

    .simple-shortcut-ttl {
        width: 100%;
        margin-top: 10px;
    }
}

/* screen-max:640px */

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

    .home-doctor .doctor-info-image {
        padding: 0 20px 43px;
        margin-bottom: 30px;
    }

    .home-doctor .doctor-name {
        width: 220px;
        height: 90px;
        right: 0;
    }

    .home-doctor .doctor-name dt {
        font-size: 13px;
    }

    .home-doctor .doctor-name dd {
        font-size: 24px;
    }

    .category-tab {
        flex-wrap: wrap;
    }

    .category-tab li {
        width: 50%;
    }

    .category-tab li:not(:last-child) {
        border-right: solid 1px #ccc;
    }

    .category-tab li:nth-child(odd) {
        border-right: none;
    }

    .category-tab li:nth-last-child(1),
    .category-tab li:nth-last-child(2) {
        /* border-top: none; */
    }
}

/* screen-max:560px */

@media screen and (max-width: 520px) {
    .home-message .group-primary-ttl {
        margin-bottom: 20px;
    }

    .home-message .group-primary-ttl.large-ttl .primary-ttl {
        font-size: 22px;
    }

    .treatment-item-title .group-primary-ttl .primary-ttl {
        font-size: 26px;
    }
}

/* screen-max:520px */

@media screen and (max-width: 475px) {
    .group-contact .btn-mail {
        min-width: 236px;
    }

    .home-concept .group-primary-ttl.large-ttl .primary-ttl {
        font-size: 22px;
    }
}

/* screen-max:475px */

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

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input,
    button,
    textarea,
    select,
    p,
    blockquote,
    th,
    td,
    pre,
    address,
    li,
    dt,
    dd {
        font-size: 140%;
    }

    .primary-btn {
        min-width: 250px;
        height: 54px;
    }

    .f-info-right .map-info dt {
        font-size: 11px;
    }

    .home-message .group-primary-ttl.large-ttl .primary-ttl {
        font-size: 20px;
    }

    .treatment-item-title .group-primary-ttl .primary-ttl {
        font-size: 20px;
    }

    .home-treatment-menu-list {
        margin: -6px;
    }

    .home-treatment-menu-list li {
        width: calc(50% - 6px);
        margin: 3px;
    }

    .home-treatment-menu-list li a .item-ttl {
        font-size: 4vw;
    }

    .home-treatment-menu-list li a .item-ttl span {
        font-size: 75%;
    }

    .home-treatment-menu-list li a .item-ttl:before {
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        left: 5px;
        top: 5px;
    }

    .home-treatment-menu-list li a .item-ttl:after {
        right: 5px;
        bottom: 5px;
    }

    .home-clinic-points li {
        font-size: 18px;
        padding-left: 15px;
        padding-right: 15px;
        border-top-width: 2px;
    }

    .home-clinic .primary-btn {
        min-width: 290px;
        background-position: right 15px center;
    }

    .home-point-item .point-block-text dl dt span {
        font-size: 14px;
    }

    .home-point-item .point-block-text dl dt {
        font-size: 24px;
        margin-right: 10px;
    }

    .home-point-item .point-block-text dl dd {
        font-size: 50px;
    }

    .home-point-item .point-block-text .point-sub-ttl {
        font-size: 24px;
    }

    #point-item-02 .point-block-text dl {
        margin-left: 210px;
    }

    #point-item-02 .point-block-text dl dt {
        font-size: 17px;
    }

    #point-item-02 .point-block-text dl dt span {
        font-size: 10px;
    }

    #point-item-02 .point-block-text dl dd {
        font-size: 36px;
    }

    #point-item-02 .point-block-text dl .point-img-sp {
        width: 221px;
    }

    #point-item-02 .point-block-text dl .point-img-sp:after {
        left: 184px;
        top: 126px;
    }

    .block-dental-info .block-dental-text dl .primary-ttl {
        font-size: 20px;
    }

    .section-banner .page-banner .primary-btn {
        min-width: 200px;
        background-position: right 15px center;
    }

    .fixed-button-sp .group-tel .btn-tel {
        letter-spacing: 0;
    }
}

/* screen-max:425px */

@media screen and (max-width: 375px) {
    .h-left {
        /*padding-top: 20px;*/
    }

    #header h1 {
        font-size: 10px;
    }

    .group-logo dd span {
        font-size: 9px;
        width: 110px;
        height: 18px;
    }

    .home-message .group-primary-ttl.large-ttl .primary-ttl {
        font-size: 17px;
    }

    .home-doctor .group-primary-ttl.large-ttl .primary-ttl {
        font-size: 26px;
    }

    .home-concept .group-primary-ttl.large-ttl .primary-ttl {
        font-size: 20px;
    }

    .tab-content {
        padding: 10px 20px;
    }

    .simple-shortcut-cate {
        margin-right: 20px;
    }

    .fixed-button-sp .group-tel .btn-tel {
        font-size: 18px;
    }

    .fixed-button-sp .btn-mail {
        font-size: 15px;
    }
}

/* screen-max:375px */


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


/* screen-max:320px */



/*=============================HACK CSS=============================*/

/* IE */
@media (-ms-high-contrast: none),
(-ms-high-contrast: active) {}


/* EGDE */
@supports (-ms-ime-align:auto) {}


/* FIREFOX */
@-moz-document url-prefix() {}


/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution:.001dpcm) {
    @media {}
}