@font-face {
    font-family: "DIN Alternate Bold";
    src: url("../font/DIN Alternate Bold.ttf") format("truetype");
}

@font-face {
    font-family: "TsukushiAMaruGothic";
    src: url("../font/TsukushiAMaruGothic.ttf") format("truetype");
}

#menu_contents {
    overflow-x: hidden;
}

.red {
    color: red;
}

body {
    font-size: 1.2rem;
    line-height: 2;
}

.clear {
    clear: both;
}
.footer_clinic{
    display: none;
}

@media screen and (min-width: 761px) {
.link_btn a{
    background: #333;
    padding: 15px 0;
    text-align: center;
    color: #fff;
    position: relative;
    display: block;
    width: 320px;
    margin: 20px 6%;
}
    .page-ttl {
        text-align: center;
        margin: auto;
        font-size: 5rem;
        letter-spacing: 0.01em;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        line-height: 1.4;
        text-shadow: 0px 10px 0px rgb(255 255 255 / 70%);
    }

    #title_conts {
        width: 100%;
        height: 760px;
        background-image: url(../images/concept/concept_top_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: 50% 50%;
        position: relative;
    }

    .title_inner {
        width: 1152px;
        margin: auto;
        position: relative;
    }

    .title_inner .top_title {
        position: relative;
        width: 80%;
        /* left: 0; */
        /* right: 0; */
        margin: 0 auto 0;
    }

    .title_inner .intro-imgtext {
        position: relative;
        top: 40px;
        width: 750px;
        margin: 0 auto 50px;
        display: block;
    }

    .concept_top_plus {
        position: absolute;
        bottom: -15px;
        right: 0;
        width: 83%;
    }

    .concept {
        background-image: url(../images/concept/concept_reason_bg.png);
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: top center;
        width: 100%;
        padding: 100px 0;
    }

    .concept_massage {
        width: 1000px;
        text-align: center;
        margin: auto;
        font-size: 48px;
        line-height: 1.5;
        letter-spacing: 0.01em;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .concept_massage span.block {
        display: block;
        font-size: 16px;
        margin-bottom: 20px;
        letter-spacing: 0.1em;
    }

    .concept_massage span.big {
        font-size: 54px;
    }

    .concept_about {
        width: 90%;
        font-size: 14px;
        margin: 0px auto 110px;
        padding: 20px 0 0;
        text-align: center;
    }
    .concept_about p a{
        /* color:#f00; */
        font-weight:bold;
        text-decoration:underline;
    }
    .concept_reason {
        width: 1200px;
        margin: 70px auto 0;
        padding: 70px 0 0;
    }

    .concept_reason_box {
        width: 1100px;
        padding-left: 50px;
        display: table;
        margin-bottom: 80px;
    }

    .concept_reason_box:last-child {
        margin-bottom: 0;
    }

    .reason_text {
        width: 42%;
        text-align: center;
        margin-right: 3%;
        letter-spacing: 0.1em;
        float: left;
    }

    .reason_text img {
        width: 100px;
        margin-bottom: 20px
    }

    .reason_text h3 {
        font-size: 26px;
        text-align: left;
        margin-bottom: 15px;
        line-height: 1.4;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .reason_text p {
        text-align: left;
        line-height: 1.8;
    }

    .concept_reason_box .img {
        width: 55%;
        float: right;
    }

    .concept_reason_box:nth-of-type(2n) {
        padding-left: 0;
        padding-right: 50px;
    }

    .concept_reason_box:nth-of-type(2n) .reason_text {
        float: right;
        margin-right: 0;
    }

    .concept_reason_box:nth-of-type(2n) .img {
        float: left;
        margin-right: 3%;
    }

    .quality {
        margin: 70px auto 100px;
        width: 100%;
        position: relative;
    }

    .concept_quality {
        background-image: url(../images/concept/concept_quality.png);
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: top center;
        width: 1300px;
        margin: 70px auto;
        padding: 0;
        height: 600px;
    }

    .quality_title {
        position: absolute;
        top: 370px;
        left: 44%;
        width: 550px;
    }

    .quality_area {
        width: 1100px;
        margin: auto;
    }

    .quality_box {
        display: table;
        position: relative;
        width: 1100px;
    }

    .quality_box .img {
        width: 45%;
        margin-right: 5%;
        float: left;
    }

    .quality_box .quality_text {
        width: 45%;
        float: right;
        margin-top: 140px;
        line-height: 2;
    }

    .quality_box:nth-of-type(2n) .img {
        width: 45%;
        margin-right: 5%;
        float: right;
    }

    .quality_box:nth-of-type(2n) .quality_text {
        width: 45%;
        float: left;
        margin-top: 140px;
        line-height: 2;
    }

    .quality_box .quality_text h3 {
        font-size: 24px;
        line-height: 1.6;
    }

    .quality_box:nth-of-type(2n) .img {
        float: right;
        margin-right: 5%;
        width: 40%;
    }

    .quality_box:nth-of-type(2n) .quality_text {
        width: 50%;
        margin-top: 100px;
    }

    .quality_box_foot {
        width: 1100px;
        margin: auto;
        position: relative;
        display: table;
    }

    .quality_box_foot .foot_img {
        width: 70%;
    }

    .quality_box_foot .foot_img2 {
        width: 70%;
        float: right;
        margin-top: -120px;
        position: relative;
    }

    .promise {
        margin: 0 auto;
        background: #f5f5f5;
        border-top: 2px solid #997521;
        border-bottom: 2px solid #997521;
    }

    .promise_title {
        width: 300px;
        margin: auto;
        position: relative;
        top: -70px;
    }

    .promise_area {
        width: 1000px;
        margin: 50px auto;
    }

    .promise_box {
        width: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 30px;
    }

    .promise_box dl {
        width: 70%;
        position: relative;
        top: -20px;
    }

    .promise_box dl img {
        width: 45px;
        margin-right: 20px;
        position: relative;
        top: 5px;
    }

    .promise_box dl dt {
        font-size: 24px;
        color: #9d7a1a;
        border-bottom: 1px solid #9d7a1a;
        padding: 15px 30px;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        display: flex;
        align-items: baseline;
    }

    .promise_box figure {
        width: 30%;
    }

    .promise_box dl dd {
        padding: 15px 30px;
        width: 90%;
        line-height: 1.8;
    }

    .graph_bg {
        background-image: url(../images/concept/graph_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: 50% 50%;
        width: 100%;
        margin: 0 auto 70px;
        height: 830px;
        padding: 70px 0;
    }

    .graph_img {
        width: 1000px;
        margin: auto;
        padding: 70px 0;
        text-align: center;
    }

    .graph_img img {
        width: 700px;
        position: relative;
        margin: auto;
        left: -50px;
    }

    .concepth2 {
        text-align: center;
        font-size: 40px;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .graph_text {
        width: 1000px;
        margin: 70px auto;
        line-height: 2;
    }

    .graph_text a {
        color: #6fafbd;
    }

    .welcome {
        width: 100%;
    }

    .welcome_top {
        background-image: url(../images/concept/welcome_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: 50% 50%;
        width: 100%;
        margin: 0 auto;
        height: 400px;
        padding: 50px 0;
    }

    .welcomeh2 {
        width: 550px;
        padding: 40px 0;
        text-align: center;
        margin: 80px auto;
        background-color: rgba(255,255,255,0.8);
        font-size: 40px;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .welcomeh2 span {
        display: block;
        font-size: 14px;
    }

    .welcome_bord {
        background-image: url(../images/concept/concept_line_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top;
        width: 1000px;
        margin: -60px auto 70px;
        padding: 50px 100px 80px;
        font-family: "TsukushiAMaruGothic";
    }

    .welcome_bord p {
        text-align: center;
        line-height: 2;
    }

    .welcome_box {
        width: 90%;
        display: table;
        margin-left: 10%;
        padding: 60px 0 0;
    }

    .welcome_box .img {
        float: left;
        width: 40%;
        text-align: center;
    }

    .welcome_box .img img {
        width: 60%;
    }

    .welcome_box .welcom_text {
        width: 60%;
        float: right;
    }

    .welcome_box .welcom_text dl {
        width: 100%;
        margin-bottom: 10px;
    }

    .welcome_box .welcom_text dl dt {
        font-size: 20px;
        border-bottom: 2px solid #333;
        padding: 10px 0;
    }

    .welcome_box .welcom_text dl dd {
        padding: 10px 0;
    }

    .welcome_box a {
        background: #333;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        position: relative;
        display: block;
        width: 100%;
    }

    .welcome_box a:hover {
        background: #6faebd;
        color: #fff;
    }

    .welcome_box a span {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -7px;
        width: 15px;
        height: 20px;
    }

    .welcome_box:nth-of-type(2n) {
        width: 100%;
        margin-left: 0;
    }

    .welcome_box:nth-of-type(2n) .welcom_text {
        width: 100%;
        float: none;
    }

    .line_ul {
        width: 100%;
        display: flex;
    }

    .line_ul li {
        width: 31%;
        margin-right: 3.5%;
    }

    .line_ul li:last-child {
        margin-right: 0;
    }

    .line_link {
        clear: both;
        width: 95%;
        margin: auto;
        display: flex;
        padding: 40px 0;
    }

    .welcome_box:nth-of-type(2n) .line_link a {
        margin-right: 60px;
    }

    .line_link_wrap {
        margin-top: 40px;
    }

    .line_link_wrap .line_link_text dl {
        width: 100%;
        margin-bottom: 10px;
    }

    .line_link_wrap .line_link_text dl dt {
        font-size: 20px;
        border-bottom: 2px solid #333;
        padding: 10px 0;
    }

    .line_link_wrap .line_link_text dl dd {
        padding: 10px 0;
    }

    .line_link_wrap a {
        background: #333;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        position: relative;
        display: block;
        width: 100%;
    }

    .line_link_wrap a:hover {
        background: #6faebd;
        color: #fff;
    }

    .line_link_wrap a span {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -7px;
        width: 15px;
        height: 20px;
    }

    .line_link_text a {
        background: #333;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        position: relative;
        display: block;
        width: 100%;
    }

    .line_link_text a:hover {
        background: #6faebd;
        color: #fff;
    }

    .line_link_text a span {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -7px;
        width: 15px;
        height: 20px;
    }

    .line_link_wrap .line_list {
        display: flex;
        flex-flow: wrap;
    }

    .line_link_wrap .line_list li {
        width: calc((100% - 40px) /2);
        margin-bottom: 40px;
    }

    .line_link_wrap .line_list li:nth-of-type(2n) {
        margin-left: 40px;
    }

    .line_link_wrap .line_list li img {
        width: 100%;
        height: auto;
    }

    .beginner_box .beginner_text dl {
        width: 100%;
        margin-bottom: 10px;
    }

    .beginner_box .beginner_text dl dt {
        font-size: 20px;
        border-bottom: 2px solid #333;
        padding: 10px 0;
    }

    .beginner_box .beginner_text dl dd {
        padding: 10px 0;
    }

    .beginner_box a {
        background: #333;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        position: relative;
        display: block;
        width: 100%;
    }

    .beginner_box a:hover {
        background: #6faebd;
        color: #fff;
    }

    .beginner_box a span {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -7px;
        width: 15px;
        height: 20px;
    }

    .rank_top {
        background-image: url(../images/concept/rank_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: 50% 50%;
        width: 100%;
        margin: 0 auto;
        height: 400px;
        padding: 50px 0;
    }

    .rankh2 {
        width: 550px;
        padding: 40px 0;
        text-align: center;
        margin: 40px auto;
        background-color: rgba(255,255,255,0.8);
        font-size: 40px;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .rankh2 span {
        display: block;
        font-size: 14px;
    }

    .ranking {
        width: 100%;
        margin: 40px auto 0;
    }

    .ranking_box {
        position: relative;
        height: 500px;
    }

    .ranking_bg {
        width: 60%;
        margin-bottom: 40px;
        background: #f0eda9;
        width: 65%;
        background-position: left bottom;
        height: 300px;
        position: absolute;
        z-index: -1;
        top: 130px;
    }

    .ranking_box:nth-of-type(2) .ranking_bg {
        background: #f6d4d4;
        background-position: right bottom;
        right: 0;
    }

    .ranking_box:nth-of-type(3) .ranking_bg {
        background: #e1ecdb;
        background-position: right bottom;
    }

    .ranking_box_inner {
        width: 900px;
        margin: auto;
        display: table;
    }

    .ranking_box_left {
        width: 50%;
        margin-left: 5%;
        float: left;
        margin-top: 25px;
    }

    .ranking_box_right {
        width: 35%;
        float: right;
        margin-right: 10%;
    }

    .ranking_box:nth-of-type(2n) .ranking_box_left {
        width: 55%;
        margin-left: 5%;
        float: right;
        margin-top: 25px;
    }

    .ranking_box:nth-of-type(2n) .ranking_box_right {
        width: 35%;
        float: left;
        margin-right: 0;
        margin-left: 5%;
    }

    .ranking_box:nth-of-type(2n) .ranking_box_left p {
        width: 100%;
        padding: 0 3%;
    }

    .ranking_box_left img {
        width: 100px;
        display: inline;
        margin-right: 20px;
    }

    .ranking_box_left h3 {
        font-size: 32px;
        line-height: 1.2;
    }

    .ranking_h3 {
        display: flex;
        width: 100%;
        align-items: center;
        margin-bottom: 30px;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .ranking_box_left h3 span {
        display: block;
        font-size: 28px;
    }

    .ranking_box_left p {
        width: 90%;
        line-height: 2;
        margin-bottom: 20px;
        padding: 0 6%;
    }

    .ranking_box_left a {
        background: #333;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        position: relative;
        display: block;
        width: 320px;
        margin: 20px 6%;
    }

    .ranking_box_left a span {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -7px;
        width: 15px;
        height: 20px;
    }

    .ranking_box_left a:hover {
        background: #7cc6de;
    }

    .case01 {
        background: url(../images/concept/concept_case_bg.png);
        background-repeat: no-repeat;
        background-position: top;
        background-color: #faf9e7;
        background-size: 100%;
        width: 100%;
        padding: 70px 0;
    }

    .case02 {
        background: url(../images/concept/concept_case_bg2.png);
        background-repeat: no-repeat;
        background-position: top;
        background-color: #fcf0f0;
        background-size: 100%;
        width: 100%;
        padding: 70px 0;
    }

    .case_title {
        text-align: center;
        font-size: 28px;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        margin-bottom: 40px;
        padding: 70px 0 120px;
        font-weight: 100;
        position: relative;
        top: 100px;
    }

    .caseh2 {
        font-size: 34px;
    }

    .case_box {
        width: 940px;
        position: relative;
        margin: auto;
    }

    .case_box:before {
        content: "";
        background: url(../images/concept/concept_1day_logo.png);
        background-repeat: no-repeat;
        background-position: top;
        background-size: 60px;
        width: 100px;
        height: 700px;
        left: -100px;
        position: absolute;
    }

    .case02 .case_box:before {
        content: "";
        background: url(../images/concept/concept_athread_logo.png);
        background-repeat: no-repeat;
        background-position: top;
        background-size: 60px;
    }

    .case_title_p {
        margin-bottom: 40px;
    }

    .case_box_item {
        margin-bottom: 10px;
    }

    .case_box_item img {
        margin-bottom: 10px;
    }

    .case02 .case_box_item {
        width: 700px;
        margin: 0 auto 10px;
    }

    .concept_footer {
        /* background: url(../images/concept/concept_foot_bg.jpg); */
        background-repeat: no-repeat;
        background-position: 50%;
        background-size: cover;
        width: 100%;
        padding: 70px 0;
        /* height: 630px; */
    }

    .concept_footer h2 {
        text-align: center;
        font-size: 26px;
        line-height: 2;
        font-weight: 100;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .concept_footer img {
        width: 80%;
        height: auto;
        margin: 0 auto;
        display: block;
    }

    .concept_info {
        background: #f8f7f6;
        padding: 40px 0
    }

    .concept_info_inner {
        display: flex;
        gap: 30px;
        background: #fff;
        padding: 40px;
        margin-bottom: 100px;
    }

    .concept_info_ttl {
        text-align: center;
        font-size: 3rem;
        line-height: 2;
        font-weight: 100;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        margin: 0 0 40px;
    }

    .concept_info_subttl {
        font-size: 2.8rem;
        line-height: 2;
        font-weight: 100;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .concept_info_text {
        flex: 1
    }

    .concept_info_summary {
        display: flex;
        flex-flow: wrap;
        gap: 20px;
    }

    .concept_info_summary dt {
        width: 6em;
        background: #333;
        color: #fff;
        text-align: center;
        align-items: center;
        justify-content: center;
        align-content: center;
    }

    .concept_info_summary dd {
        width: calc((100% - 20px) - 6em);
        line-height: 1.4;
    }

    .concept_info_img {
        flex: 1
    }
    .concept_info .clinic_list{
        gap: 20px;
    }
    .concept_info .clinic_list li{
        margin:0;
        width: calc((100% - 60px ) / 4);
        background: #fff;
    }
    .concept_info .clinic_list .clinic_st{
    background:inherit;
    height: auto;
}
    .box_L {
        width: 45%;
        float: left;
    }

    .box_R {
        width: 45%;
        float: right;
        margin-top: 7%;
    }

    .btn01 a {
        background: #333;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        position: relative;
        display: block;
        width: 100%;
    }

    .btn01 a:hover {
        background: #6faebd;
        color: #fff;
    }

    .btn01 a span {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -7px;
        width: 15px;
        height: 20px;
    }
}

@media screen and (max-width: 760px) {
    .link_btn a{
        background: #333;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        position: relative;
        display: block;
        width: 90%;
        margin: 30px auto 0;
    }
    .page-ttl {
        text-align: center;
        margin: auto;
        font-size: 2.4rem;
        letter-spacing: 0.01em;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        line-height: 1.4;
        text-shadow: 0px 10px 0px rgb(255 255 255 / 70%);
    }

    .intro-imgtext {
        width: 80%;
        margin: 0 auto;
    }

    #title_conts {
        width: 100%;
        background-image: url(../images/concept/concept_top_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: 50% 50%;
        position: relative;
    }

    .title_inner {
        width: 100%;
        margin: auto;
        position: relative;
        /* height: 350px; */
        padding: 20px 0 0;
    }

    .title_inner .top_title {
        /* position: absolute; */
        bottom: 0;
    }

    .title_inner h1 {
        position: relative;
        width: 90%;
        margin: auto;
    }

    .concept_top_plus {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 90%;
    }

    .concept {
        background-image: url(../images/concept/concept_reason_bg_sp.png);
        background-repeat: no-repeat;
        background-size: 190%;
        background-position: top center;
        width: 100%;
        padding: 14vw 0;
    }

    .concept_massage {
        width: 100%;
        text-align: center;
        margin: auto;
        font-size: 7vw;
        line-height: 1.2;
        letter-spacing: 0.01em;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .concept_massage span.block {
        display: block;
        font-size: 4vw;
        margin-bottom: 2vw;
        letter-spacing: 0.1em;
    }

    .concept_massage span.big {
        font-size: 9vw;
    }

    .concept_about {
        width: 90%;
        font-size: 14px;
        margin: 0px auto 110px;
        padding: 20px 0 0;
    }
        .concept_about p a{
        color:#f00;
        font-weight:bold;
        text-decoration:underline;
    }

    .concept_reason {
        width: 100%;
        margin: 7vw auto 0;
        padding: 7vw 0 0;
    }

    .concept_reason_box {
        width: 100%;
        display: table;
        margin: 2vw auto 15vw;
    }

    .concept_reason_box:last-child {
        margin-bottom: 0;
    }

    .reason_text {
        width: 90%;
        text-align: center;
        margin: auto;
        letter-spacing: 0.1em;
    }

    .reason_text img {
        width: 18vw;
        margin-bottom: 2vw;
    }

    .reason_text h3 {
        font-size: 6vw;
        text-align: left;
        margin-bottom: 2vw;
        line-height: 1.4;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .reason_text p {
        text-align: left;
        line-height: 1.8;
    }

    .concept_reason_box .img {
        width: 90%;
        text-align: center;
        margin: auto;
    }

    .quality {
        margin: 7vw auto 10vw;
        width: 100%;
        position: relative;
    }

    .concept_quality {
        background-image: url(../images/concept/concept_quality_sp.png);
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: top center;
        width: 100%;
        margin: 7vw auto;
        padding: 0;
        height: 150vw;
    }

    .quality_title {
        position: absolute;
        top: 58vw;
        left: 5%;
        width: 90%;
    }

    .quality_area {
        width: 100%;
        margin: auto;
    }

    .quality_box {
        display: table;
        position: relative;
        width: 100%;
    }

    .quality_box .img {
        width: 92%;
        margin: 5% 0%;
    }

    .quality_box:nth-of-type(2n) .img {
        width: 95%;
        margin: 5% 6%;
    }

    .quality_box .quality_text {
        width: 90%;
        margin: auto;
        line-height: 2;
    }

    .quality_box .quality_text h3 {
        font-size: 5vw;
        line-height: 1.4;
    }

    .quality_box_foot {
        width: 100%;
        margin: auto;
        position: relative;
        display: table;
    }

    .quality_box_foot .foot_img {
        width: 100%;
    }

    .quality_box_foot .foot_img2 {
        width: 95%;
        margin: auto;
        margin-top: -27vw;
        position: relative;
    }

    .promise {
        margin: 0 auto;
        background: #f5f5f5;
        border-top: 2px solid #997521;
        border-bottom: 2px solid #997521;
    }

    .promise_title {
        width: 60vw;
        margin: auto;
        position: relative;
        top: -13vw;
    }

    .promise_area {
        width: 100%;
        margin: 5vw auto;
    }

    .promise_box {
        width: 100%;
        display: table;
        margin-bottom: 4vw;
    }

    .promise_box dl {
        width: 100%;
        position: relative;
        top: 0;
    }

    .promise_box dl img {
        width: 12vw;
        margin: 0 auto 2vw;
        position: relative;
        display: table;
    }

    .promise_box dl dt {
        width: 100%;
        font-size: 5vw;
        color: #9d7a1a;
        border-bottom: 1px solid #9d7a1a;
        padding: 2vw 4vw;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        display: table;
        align-items: baseline;
        text-align: center;
    }

    .promise_box figure {
        width: 100%;
        margin: auto;
    }

    .promise_box dl dd {
        padding: 3vw;
        width: 100%;
        line-height: 1.8;
    }

    .graph_bg {
        background-image: url(../images/concept/graph_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: 50% 50%;
        width: 100%;
        margin: 0 auto 7vw;
        height: 100vw;
        padding: 7vw 0;
    }

    .graph_img {
        width: 90%;
        margin: auto;
        padding: 7vw 0;
        text-align: center;
    }

    .graph_img img {
        width: 97%;
        position: relative;
        margin: auto;
        left: -1vw;
    }

    .concepth2 {
        text-align: center;
        font-size: 7vw;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .graph_text {
        width: 90%;
        margin: 7vw auto;
        line-height: 2;
    }

    .graph_text a {
        color: #6fafbd;
    }

    .welcome {
        width: 100%;
    }

    .welcome_top {
        background-image: url(../images/concept/welcome_bg_sp.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: 50% 50%;
        width: 100%;
        margin: 0 auto;
        height: 55vw;
        padding: 11vw 0;
    }

    .welcomeh2 {
        width: 100%;
        padding: 10vw 0;
        text-align: center;
        margin: 0 auto;
        background-color: rgba(255,255,255,0.8);
        font-size: 6vw;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .welcomeh2 span {
        display: block;
        font-size: 3vw;
    }

    .welcome_bord {
        background: linear-gradient(#fff2c9, #ffe7e7 );
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: top;
        width: 100%;
        margin: 0 auto 4vw;
        padding: 6vw 5% 10vw;
        font-family: "TsukushiAMaruGothic";
    }

    .welcome_bord p {
        text-align: center;
        line-height: 2;
        font-size: 4vw;
    }

    .beginner_box .beginner_text dl {
        width: 100%;
        margin: auto;
        margin-bottom: 1vw;
    }

    .beginner_box .beginner_text dl dt {
        font-size: 6vw;
        border-bottom: 2px solid #333;
        padding: 2vw 0;
        text-align: center;
    }

    .beginner_box .beginner_text dl dd {
        padding: 3vw 0;
        font-size: 4vw;
    }

    .beginner_box a {
        background: #333;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        position: relative;
        display: block;
        width: 90%;
        margin: auto;
    }

    .beginner_box a span {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -7px;
        width: 15px;
        height: 20px;
    }

    .welcome_box {
        width: 100%;
        display: table;
        padding: 6vw 0 0;
    }

    .welcome_box .img {
        width: 100%;
        text-align: center;
    }

    .welcome_box .img img {
        width: 80%;
    }

    .welcome_box .welcom_text {
        width: 97%;
        margin: auto
    }

    .welcome_box .welcom_text dl {
        width: 100%;
        margin: auto;
        margin-bottom: 1vw;
    }

    .welcome_box .welcom_text dl dt {
        font-size: 6vw;
        border-bottom: 2px solid #333;
        padding: 2vw 0;
        text-align: center;
    }

    .welcome_box .welcom_text dl dd {
        padding: 3vw 0;
        font-size: 4vw;
    }

    .welcome_box a {
        background: #333;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        position: relative;
        display: block;
        width: 90%;
        margin: auto;
    }

    .welcome_box a span {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -7px;
        width: 15px;
        height: 20px;
    }

    .line_link {
        clear: both;
        width: 95%;
        margin: auto;
        display: flex;
        padding: 40px 0;
    }

    .welcome_box:nth-of-type(2n) .line_link a {
        margin-right: 60px;
    }

    .rank_top {
        background-image: url(../images/concept/rank_bg_sp.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: 50% 50%;
        width: 100%;
        margin: 0 auto;
        height: 52vw;
        padding: 5vw 0;
    }

    .rankh2 {
        width: 100%;
        padding: 4vw 0;
        text-align: center;
        margin: 4vw auto;
        background-color: rgba(255,255,255,0.8);
        font-size: 7vw;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

    .rankh2 span {
        display: block;
        font-size: 14px;
    }

    .ranking {
        width: 100%;
        margin: 40px auto 0;
    }

    .ranking_box {
        position: relative;
        display: table;
        margin: 6vw auto;
    }

    .ranking_bg {
        width: 60%;
        margin-bottom: 40px;
        background: #f0eda9;
        width: 65%;
        background-position: left bottom;
        height: 250px;
        position: absolute;
        z-index: -1;
        top: 130px;
    }

    .ranking_box:nth-of-type(2) .ranking_bg {
        background: #f6d4d4;
        background-position: right bottom;
        right: 0;
    }

    .ranking_box:nth-of-type(3) .ranking_bg {
        background: #e1ecdb;
        background-position: right bottom;
    }

    .ranking_box_inner {
        width: 100%;
        margin: auto;
        display: table;
    }

    .ranking_box_left {
        width: 100%;
        margin-top: 2vw;
    }

    .ranking_box_right {
        width: 35%;
        float: right;
        margin-right: 10%;
    }

    .ranking_box_left .ranking_h3 img {
        width: 24vw;
        display: inline;
        margin-right: 1vw;
    }

    .ranking_box_left h3 {
        font-size: 9vw;
        line-height: 1.2;
    }

    .ranking_h3 {
        display: flex;
        width: 90%;
        align-items: center;
        margin-bottom: 4vw;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        margin: auto;
    }

    .rank_img {
        width: 80%;
        margin: 4vw auto 0;
        display: table;
    }

    .ranking_sp_box {
        background: #f0eda9;
        width: 90%;
        margin: -10vw auto 0;
        padding: 5vw 6vw;
    }

    .ranking_box:nth-of-type(2) .ranking_sp_box {
        background: #f6d4d4;
    }

    .ranking_box:nth-of-type(3) .ranking_sp_box {
        background: #e1ecdb;
    }

    .ranking_box_left h3 span {
        display: block;
        font-size: 7vw;
        letter-spacing: -2px;
    }

    .ranking_box_left p {
        width: 100%;
        line-height: 2;
        margin: 8vw 0 4vw;
        padding: 0;
    }

    .ranking_box_left a {
        background: #333;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        position: relative;
        display: block;
        width: 100%;
        margin: 0;
    }

    .ranking_box_left a span {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -7px;
        width: 15px;
        height: 20px;
    }

    .ranking_box_left a:hover {
        background: #7cc6de;
    }

    .case01 {
        background: url(../images/concept/concept_case_bg_sp.png);
        background-repeat: no-repeat;
        background-position: top;
        background-color: #faf9e7;
        background-size: 100%;
        width: 100%;
        padding: 0;
    }

    .case02 {
        background: url(../images/concept/concept_case_bg2_sp.png);
        background-repeat: no-repeat;
        background-position: top;
        background-color: #fcf0f0;
        background-size: 100%;
        width: 100%;
        padding: 10vw 0px;
        margin: -2vw 0;
    }

    .case_title {
        text-align: center;
        font-size: 6vw;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        margin-bottom: 6vw;
        padding: 20vw 0 0vw;
        font-weight: 100;
        position: relative;
    }

    .caseh2 {
        font-size: 8vw;
    }

    .caseh3 {
        font-size: 5vw;
    }

    .case_box {
        width: 94%;
        position: relative;
        margin: auto;
    }

    .case_box:before {
        content: "";
        background: url(../images/concept/concept_1day_logo.png);
        background-repeat: no-repeat;
        background-position: top;
        background-size: 6.2vw;
        width: 6.2vw;
        height: 700px;
        left: -3vw;
        top: -57vw;
        position: absolute;
    }

    .case02 .case_box:before {
        content: "";
        background: url(../images/concept/concept_athread_logo.png);
        background-repeat: no-repeat;
        background-position: top;
        background-size: 6.2vw;
        width: 6.2vw;
        top: -47vw;
    }

    .case_title_p {
        margin-bottom: 5vw;
    }

    .case_box_item {
        margin-bottom: 1vw;
    }

    .case_box_item img {
        margin-bottom: 1vw;
    }

    .case02 .case_box_item {
        width: 90%;
        margin: 0 auto 1vw;
    }

    .concept_footer {
        /* background: url(../images/concept/concept_foot_bg_sp.jpg); */
        background-repeat: no-repeat;
        background-position: 50%;
        background-size: cover;
        width: 100%;
        padding: 7vw 0;
        height: 71vw;
    }

    .concept_footer h2 {
        text-align: center;
        font-size: 4.5vw;
        line-height: 1.8;
        font-weight: 100;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }

 .concept_info {
    background: #f8f7f6;
    padding: 40px 0
  }
  .concept_info_inner {
    display: flex;
    gap: 30px;
    flex-direction:column;
    margin-bottom: 40px;
  }
  .concept_info_ttl {
    text-align: center;
    font-size: 2rem;
    line-height: 1.8;
    font-weight: 100;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  }
  .concept_info_subttl {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 100;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    text-align:center;
  }
  .concept_info_text {
    flex: 1
  }
  .concept_info_summary {
    display: flex;
    flex-flow: wrap;
    gap: 20px;
    font-size: 14px;
  }
  .concept_info_summary dt {
    width: 6em;
    background: #333;
    color: #fff;
    text-align: center;
    align-items: center;
    justify-content: center;
    align-content: center;
}
.concept_info_summary dd {
  width: calc((100% - 20px) - 6em);
  line-height: 1.4;
}
.concept_info_img {
  flex: 1
}
    .concept_info .clinic_list {
            gap:10px    
    }
    .concept_info .clinic_list li {
width:100%;
        margin:0
    }
    .concept_info .clinic_list li > div{
        margin:0;
        background: #fff ;
    }
.clinic_st img.footer_clinic_img{
    width:100%;
    left: 0;
    height: auto;
}
    
    .welcome_bord img {
        width: 30vw;
        margin: 4vw auto;
    }

    .line_link_wrap {
        margin-top: 40px;
    }

    .line_link_wrap .line_link_text dl {
        width: 100%;
        margin: auto;
        margin-bottom: 1vw;
    }

    .line_link_wrap .line_link_text dl dt {
        font-size: 6vw;
        border-bottom: 2px solid #333;
        padding: 2vw 0;
        text-align: center;
    }

    .line_link_wrap .line_link_text dl dd {
        padding: 3vw 0;
        font-size: 4vw;
    }

    .line_link_.line_list {
        display: flex;
        flex-flow: wrap;
    }

    .line_link_wrap .line_list li {
        width: 100%;
        margin-bottom: 20px;
    }

    .line_link_wrap .line_list li img {
        width: 100%;
        height: auto;
        margin: 0;
    }

    .line_link_wrap a {
        background: #333;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        position: relative;
        display: block;
        width: 90%;
        margin: auto;
    }

    .line_link_wrap a span {
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -7px;
        width: 15px;
        height: 20px;
    }
}
