@charset "UTF-8";

/* ===================================
共通
=================================== */
.inner {
    max-width: 1240px;
    margin: 0 auto;
    width: 88.5%;
}

.shape {
    border-radius: 50px 0 50px 0;
}

.shape02 {
    border-radius: 30px 0 30px 0;
}

.shape03 {
    border-radius: 100px 0 100px 0;
}

.case_connection_box .shape,
.case-container .shape,
.case-container .shape03 {
    border-radius: 0;
}

.shadow {
    box-shadow: 0px 5px 16px 0px rgba(141, 137, 133, 0.25);
}

.sec_head {
    text-align: center;
    font-size: 20px;
    letter-spacing: 0.3em;
}

.sec_head h2 {
    width: 56%;
    margin: 0 auto;
    max-width: 785px;
}

.sec_headtxt h2 {
    font-family: 'Marcellus', serif;
    margin: 0 auto 5px;
    color: #9f887f;
    font-size: 100px;
    text-align: center;
    letter-spacing: 0.08em;
}

.navy {
    background-color: #121249;
}

/* 左寄せ見出し */
#sec_about .sec_headtxt h2,
#sec_access .sec_headtxt h2 {
    text-align: left;
    white-space: nowrap;
    position: relative;
    z-index: 1;
    margin-bottom: 10px;
}

/* 共通コンテンツのカスタマイズ */
#toppage .f_head_box {
    margin: -40px auto 40px;
}

.marker {
    background: linear-gradient(transparent 50%, #f7f3f0 50%);
}

/* 白背景 */
.bg_wrap {
    background: #fff;
    margin: 0 auto;
    padding: 70px 65px 100px;
}

/* pickup,campaign,case,contactのみ */
.pickup .sec_head,
.campaign .sec_head,
.case .sec_head,
.menu .sec_head,
.contact .sec_head,
.news .sec_head {
    margin-bottom: 2%;
}

.pickup .sec_head p,
.campaign .sec_head p,
.case .sec_head p,
.menu .sec_head p,
.contact .sec_head p,
.news .sec_head p {
    margin-top: -3.5%;
}

/* moreボタン */
.more_btn {
    margin: 0 auto;
    text-align: center;
}

.more_btn a {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    align-items: center;
    transition: .3s;
    white-space: nowrap;
}

.more_btn a:hover {
    opacity: 0.7;
}

.more_btn a p {
    margin-right: 100px;
}

.more_btn a span {
    width: 40px;
    position: relative;
}

.more_btn a span:before {
    content: "";
    background: url(../img/top/more_yajirushi.png) no-repeat;
    position: absolute;
    right: 60%;
    top: 50%;
    width: 75px;
}

.more_btn a span:before {
    content: "";
    background-image: url(../img/top/more_yajirushi.png);
    position: absolute;
    right: 48%;
    top: 50%;
    width: 75px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    transform: translate(0%, -25%);
    transition: .5s;
}

.more_btn a:hover .more_btn a span:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 30%;
}

/* /moreボタン */


@media screen and (max-width: 1150px) {
    .sec_headtxt h2 {
        font-size: 88px;
    }
}

@media screen and (max-width: 1024px) {
    .bg_wrap {
        padding: 50px 35px 70px;
    }

    .sec_head p {
        font-size: 18px;
    }

    .shape {
        border-radius: 35px 0 35px 0;
    }

    .sec_headtxt h2 {
        font-size: 82px;
    }
}

@media screen and (max-width: 900px) {
    .bg_wrap {
        padding: 50px 20px 70px;
    }

    .store_bn_pc {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .sec_head p {
        font-size: 16px;
    }

    .more_btn a {
        font-size: 14px;
    }

    .more_btn a p {
        margin-right: 80px;
    }

    .more_btn a span {
        width: 36px;
    }

    .more_btn a span:before {
        right: 48%;
        top: 54%;
        width: 56px;
        height: 30px;
    }

    .shape02 {
        border-radius: 15px 0 15px 0;
    }

    .sec_headtxt h2 {
        font-size: 72px;
    }
}

@media screen and (max-width: 600px) {
    .bg_wrap {
        padding: 53px 15px 75px;
    }

    .sec_head h2 {
        width: 100%;
    }

    #sec_about .sec_headtxt h2,
    #sec_access .sec_headtxt h2 {
        text-align: center;
    }

    .pickup .sec_head p,
    .campaign .sec_head p,
    .case .sec_head p,
    .menu .sec_head p,
    .contact .sec_head p,
    .news .sec_head p {
        margin-top: -6.5%;
    }

    .pickup .sec_head,
    .campaign .sec_head,
    .case .sec_head,
    .menu .sec_head,
    .contact .sec_head,
    .news .sec_head {
        margin-bottom: 3.5%;
    }

    .more_btn a {
        font-size: 13px;
    }

    .more_btn a p {
        margin-right: 56px;
    }

    .shape03 {
        border-radius: 50px 0 50px 0;
    }

    .sec_headtxt h2 {
        font-size: 13vw;
    }
}

@media screen and (max-width: 350px) {
    .sec_head p {
        font-size: 14px;
    }
}

@media screen and (min-width: 1550px) {

    .pickup .sec_head,
    .campaign .sec_head,
    .case .sec_head,
    .menu .sec_head,
    .contact .sec_head,
    .news .sec_head {
        margin-bottom: 1.7%;
    }

    .pickup .sec_head p,
    .campaign .sec_head p,
    .case .sec_head p,
    .menu .sec_head p,
    .contact .sec_head p,
    .news .sec_head p {
        margin-top: -2.8%;
    }


}



/* ===================================
fv＆topics
=================================== */
#fv {
    margin-bottom: 60px;
}

#video-area {
    background: url(../img/top/mv.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    width: 100%;
    height: 47.5vw;
    position: relative;
    top: 0;
    margin-top: 110px;
}

#video-area h1 {
    font-size: 35px;
    letter-spacing: 0.4em;
    position: absolute;
    top: 49%;
    left: 43%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    text-align: center;
    line-height: 1.7;
    color: #fff;
}

.topics-area {
    margin: -7.285vw auto 0;
    text-align: center;
    width: 50%;
    max-width: 700px;
    z-index: 10;
    position: relative;
    padding: 50px;
    background: #f7f3f0;
    box-sizing: border-box;
}

.topics-area p {
    margin: 0 auto 15px;
    font-size: 30px;
    font-family: 'Marcellus', serif;
    letter-spacing: 0.2em;
}

/* topicsスライダー */
.banner-bg-wrap {
    max-width: 300px;
    margin: 0 100px;
    width: 80%;
}

.banner-bg a {
    transition: .3s;
}

.banner-bg a:hover {
    opacity: 0.7
}


.banner_list.slick-initialized.slick-slider.slick-dotted {
    position: relative;
}

/* li.banner_list_item.slick-slide.slick-cloned {
  display: none;
} */
.slide-arrow.prev-arrow.slick-arrow,
.slide-arrow.next-arrow.slick-arrow {
    display: inline-block;
    width: 33px;
    border: 1px solid #3d3d3d;
    border-radius: 50%;
    padding: 16px 10px;
    height: 20px;
    position: relative;
    z-index: 2;
}

.slide-arrow.prev-arrow.slick-arrow {
    position: absolute;
    left: 65px;
    top: 50%;
    transform: translate(0, -50%);
}

.slide-arrow.next-arrow.slick-arrow {
    position: absolute;
    right: 65px;
    top: 50%;
    transform: translate(0, -50%);
}

/* dot */
.slick-dots {
    bottom: -40px !important;
}

.slick-dots li {
    width: 16px !important;
}

.slick-dots li button:before {
    font-size: 12px !important;
}

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

    /* スライダー */
    .topics-area p {
        font-size: 24px;
    }

    .banner-bg-wrap {
        max-width: 240px;
        width: 70%;
    }

    .slide-arrow.prev-arrow.slick-arrow,
    .slide-arrow.next-arrow.slick-arrow {
        width: 26px;
        height: 13px;
    }

    .slide-arrow.prev-arrow.slick-arrow {
        left: 25px;
    }

    .slide-arrow.next-arrow.slick-arrow {
        right: 25px;
    }
}

@media screen and (max-width: 1024px) {
    #video-area {
        margin-top: 98px;
    }

    #video-area h1 {
        font-size: 28px;
    }

    .topics-area {
        padding: 40px 30px;
    }

    /* スライダー */
    .slide-arrow.prev-arrow.slick-arrow,
    .slide-arrow.next-arrow.slick-arrow {
        width: 20px;
        height: 10px;
    }

    .slide-arrow.prev-arrow.slick-arrow {
        left: -12px;
    }

    .slide-arrow.next-arrow.slick-arrow {
        right: -12px;
    }
}

@media screen and (max-width: 767px) {
    #video-area {
        background: url(../img/top/mv_sp.jpg) no-repeat;
        background-size: cover;
        background-position: center -120px;
        margin-top: 70px;
    }

    #video-area h1 {
        font-size: 25px;
        text-align: left;
        left: 35%;
    }

    /* スライダー */
    .topics-area p {
        font-size: 22px;
    }

    .banner-bg-wrap {
        width: 80%;
        margin: 0 200px;
        max-width: 160px;
    }

    .slide-arrow.prev-arrow.slick-arrow,
    .slide-arrow.next-arrow.slick-arrow {
        padding: 13px 7px;
    }

    .slide-arrow.prev-arrow.slick-arrow {
        left: -30px;
    }

    .slide-arrow.next-arrow.slick-arrow {
        right: -30px;
    }
}

@media screen and (max-width: 600px) {
    #video-area {
        margin-top: 60px;
        background-position: center center;
    }

    #video-area h1 {
        font-size: 20px;
        letter-spacing: 0.3em;
        left: 30%;
    }

    .topics-area {
        width: 70%;
        padding: 20px 20px 2px;
        margin-top: -20px;
    }

    /* スライダー */
    .slick-dots li button:before {
        font-size: 8px !important;
    }

    .slide-arrow.next-arrow.slick-arrow {
        right: 55px;
    }

    .slide-arrow.prev-arrow.slick-arrow {
        left: 55px;
    }

    /* dot */
    .slick-dots {
        bottom: -25px !important;
    }
}

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

    #video-area h1 {
        top: 47%;
    }

    /* スライダー */
    .slide-arrow.prev-arrow.slick-arrow {
        left: 5px;
    }

    .slide-arrow.next-arrow.slick-arrow {
        right: 5px;
    }
}

@media screen and (max-width: 400px) {
    #video-area h1 {
        font-size: 19px;
        left: 34%;
        top: 45%;
    }

    /* スライダー */
    .topics-area p {
        font-size: 20px;
    }

    .slide-arrow.prev-arrow.slick-arrow {
        left: -12px;
    }

    .slide-arrow.next-arrow.slick-arrow {
        right: -12px;
    }
}

@media screen and (max-width: 350px) {
    .banner-bg-wrap {
        max-width: 180px;
    }
}

/* ===================================
pickup menu (おすすめの施術)
=================================== */
#sec_pickup {
    margin-bottom: 90px;
}

.pickup_container {
    display: flex;
    align-items: flex-end;
    margin-bottom: 60px;
}

.pickup_item {
    width: calc(33.3% - 20px);
}

.pickup_item:nth-of-type(n+2) {
    margin-left: 30px;
}

.pickup_item p {
    text-align: center;
    position: relative;
    margin: 0 auto 15px;
    width: fit-content;
}

/* ＼ */
.pickup_item p:before {
    content: "";
    position: absolute;
    bottom: 7px;
    left: -23px;
    width: 20px;
    height: 1px;
    background: #3d3d3d;
    transform: translate(-50%, 0) rotate(45deg);
}

/* ／ */
.pickup_item p:after {
    content: "";
    position: absolute;
    bottom: 7px;
    right: -25px;
    width: 20px;
    height: 1px;
    background: #3d3d3d;
    transform: translate(50%, 0) rotate(-45deg);
}

.pickup_item a {
    transition: .3s;
    display: flex;
}

.pickup_item a:hover,
.pickup_item a:hover .pickup_item p {
    opacity: 0.7;
}

.pickup_item_img {
    position: relative;
    width: 100%;
}

.pickup_item_txt {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    font-size: 20px;
    letter-spacing: 0.3em;
    color: #fff;
}

@media screen and (max-width: 1024px) {
    .pickup_item p {
        font-size: 14px;
        margin-bottom: 10px;
        letter-spacing: 0.1em;
    }

    /* ＼ */
    .pickup_item p:before {
        bottom: 5px;
        left: -13px;
        width: 17px;
    }

    /* ／ */
    .pickup_item p:after {
        bottom: 5px;
        right: -13px;
        width: 17px;
    }

    .pickup_item_txt {
        font-size: 18px;
    }
}

@media screen and (max-width: 900px) {
    .pickup_item_txt {
        font-size: 16px;
    }

    .pickup_item {
        width: calc(33.3% - 10px);
    }

    .pickup_item:nth-of-type(n+2) {
        margin-left: 15px;
    }
}

@media screen and (max-width: 767px) {
    .pickup_container {
        flex-direction: column;
        justify-content: center;
    }

    .pickup_item:nth-of-type(n+2) {
        margin-left: auto;
    }

    .pickup_item {
        width: 80%;
        margin: 0 auto 42px;
    }

    .pickup_item_txt {
        font-size: 18px;
    }

    /* ＼ */
    .pickup_item p:before {
        bottom: 5px;
        left: -26px;
        width: 20px;
    }

    /* ／ */
    .pickup_item p:after {
        bottom: 5px;
        right: -26px;
        width: 20px;
    }
}

@media screen and (max-width: 600px) {
    .pickup_item {
        width: 100%;
    }
}


/* ===================================
campaign (キャンペーン)
=================================== */
#sec_campaign {
    margin-bottom: 100px;
}

.campaign_container {
    display: flex;
    align-items: flex-start;
    margin-bottom: 45px;
}

.campaign_item {
    width: calc(25% - 22.5px);
}

.campaign_item a {
    transition: .3s;
}

.campaign_item a:hover {
    opacity: 0.7;
}

.campaign_item:nth-of-type(n+2) {
    margin-left: 30px;
}

.campaign_ttl {
    font-size: 15px;
    margin-top: 14px;
    line-height: 1.5;
}

@media screen and (max-width: 1024px) {
    .campaign_item {
        width: calc(25% - 10.5px);
    }

    .campaign_item:nth-of-type(n+2) {
        margin-left: 14px;
    }
}

@media screen and (max-width: 767px) {
    .campaign_container {
        overflow-x: auto;
        padding-bottom: 30px;
        word-break: keep-all;
    }

    .campaign_item {
        width: calc(75% - 10.5px);
    }

    .campaign_ttl {
        overflow-wrap: break-word;
    }
}

/* 共通コンテンツのカスタマイズ */

#sec_campaign .more_btn a p {
    line-height: 1.7;
}



/* ===================================
case (症例)
=================================== */
#sec_case {
    margin-bottom: 100px;
}

.case_wrap {
    display: flex;
    margin-bottom: 40px;
}

.case_container {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    justify-content: space-between;
}

.case_container.i_wrap {
    width: 44%;
    box-sizing: border-box;
}

.case_container.v_wrap {
    width: 56%;
    box-sizing: border-box;
}

.case_container:nth-of-type(2) {
    margin-left: 20px;
}

.case_item {
    width: calc((100% - 20px) / 2);
    box-sizing: border-box;
}

.case_item:nth-of-type(2n) {
    margin-left: 20px;
}

.case_item:nth-of-type(n+3) {
    margin-top: 25px;
}

.case_item a {
    transition: .3s;
}

.case_item a:hover {
    opacity: 0.7;
}

.case_ttl {
    font-size: 15px;
    padding-top: 4px;
    line-height: 1.5;
    text-align: center;
}


@media screen and (max-width: 1250px) {
    .case_item {
        width: calc((100% - 10px) / 2);
    }

    .case_item:nth-of-type(2n) {
        margin-left: 10px;
    }

}


@media screen and (max-width: 1024px) {
    .case_container:nth-of-type(2) {
        margin-left: 10px;
    }

    .case_ttl {
        font-size: 14px;
    }
}


@media screen and (max-width: 767px) {
    .case_wrap {
        flex-direction: column;
    }

    .case_container.i_wrap,
    .case_container.v_wrap {
        width: 100%;
    }

    .case_container.v_wrap {
        margin-top: 35px;
        margin-left: 0;
    }

    .case_item:nth-of-type(n+3) {
        margin-top: 15px;
    }
}


/* ===================================
about us
=================================== */
#sec_about {
    margin-bottom: 100px;
}

.about_container {
    display: flex;
}

.about_item_left,
.about_item_right {
    width: 50%;
}

/* ============= 左側 ============= */
.about .sec_head h2 {
    width: 88%;
    margin: 0px auto 75px 0;
}

.about_txt {
    font-size: 18px;
    line-height: 2.5;
    margin-bottom: 75px;
}

.about_txt p:first-child {
    margin-bottom: 45px;
}

.by_doctor {
    margin-top: 15px;
    text-align: right;
}

.by_doctor span {
    padding-right: 20px;
}

/* 横並びmoreボタン */
.more_flex_btn {
    display: flex;
}

.more_flex_btn .more_btn {
    margin: 0;
}

.more_flex_btn .more_btn:nth-of-type(2) {
    margin-left: 55px;
}

/* ============= 右側 ============= */
.about_item_right {
    position: relative;
}

.about_doc_img {
    width: 80%;
    margin-top: 143px;
    margin-left: 40px;
}

.about_bg_img {
    position: absolute;
    top: 0;
    max-width: 400px;
    right: 0;
    z-index: -1;
    width: 65%;
}

@media screen and (max-width: 1200px) {
    .more_flex_btn {
        flex-direction: column;
    }

    .more_flex_btn .more_btn a {
        justify-content: flex-start;
    }

    .more_flex_btn .more_btn:nth-of-type(2) {
        margin-left: 0;
        margin-top: 15px;
    }

    .about_doc_img {
        width: 70%;
        margin-top: 80px;
        margin-left: 65px;
    }
}

@media screen and (max-width: 1024px) {
    .about_txt {
        font-size: 16px;
        line-height: 2;
        margin-bottom: 30px;
    }

    .about_txt p:first-child {
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 767px) {
    .about_txt {
        font-size: 15px;
    }

    .about_doc_img {
        width: 80%;
        margin-top: 65px;
        margin-left: 30px;
    }
}

@media screen and (max-width: 600px) {
    .about_container {
        flex-direction: column;
    }

    .about_item_left,
    .about_item_right {
        width: 100%;
    }

    .about .sec_head h2 {
        width: 100%;
        margin: 0px auto 30px 0;
    }

    .about_item_right {
        margin-top: 35px;
    }

    .about_doc_img {
        width: 80%;
        margin-top: 45px;
        margin-left: 0;
    }
}

/* ===================================
menu (施術メニュー)
=================================== */
#sec_menu {
    margin-bottom: 100px;
}

.menu_cat_container {
    background: url(../img/top/menu_bg.png) no-repeat;
    background-size: cover;
    background-position: center center;
    width: 100%;
    padding: 50px;
    box-sizing: border-box;
}

.menu_head {
    padding-bottom: 25px;
    font-size: 18px;
    border-bottom: 1px solid #e3e3e3;
    padding-left: 20px;
    margin-bottom: 25px;
}

/* "医療機器から探す"見出しのみmargin-top */
.menu_head:nth-of-type(2) {
    margin-top: 60px;
}

.menu_head span {
    font-size: 20px;
    font-weight: 700;
    color: #826e66;
}

.menu_item h3 {
    font-weight: 700;
    margin-bottom: 30px;
    position: relative;
    padding-left: 20px;
    position: relative;
}

.menu_item h3:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 130%;
    background-color: #3d3d3d;
    transform: translate(0, -50%);
}

/* ====施術メニューカテゴリーリスト=== */
.menu_cat_box {
    display: flex;
    flex-wrap: wrap;
}

.menu_item {
    width: 25%;
    position: relative;
    margin-bottom: 75px;
    line-height: 1.3;
    box-sizing: border-box;
    padding-left: 48px;
}

.menu_item h3.onayami_catico {
    color: #826e66;
}

/* ======================================
お悩みカテゴリー毎にアイコンだし分け */

/* その他 */
.menu_item h3.onayami_catico.sonota:before {
    content: "";
    background: url(../img/top/ico_default.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* 目元 */
.menu_item h3.onayami_catico.memoto:before {
    content: "";
    background: url(../img/top/ico_eye.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* 鼻 */
.menu_item h3.onayami_catico.hana:before {
    content: "";
    background: url(../img/top/ico_nose.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* しみ */
.menu_item h3.onayami_catico.simi:before {
    content: "";
    background: url(../img/top/ico_simi.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* 毛穴 */
.menu_item h3.onayami_catico.keana:before {
    content: "";
    background: url(../img/top/ico_keana.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* しわ */
.menu_item h3.onayami_catico.siwa:before {
    content: "";
    background: url(../img/top/ico_shiwa.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* ニキビ */
.menu_item h3.onayami_catico.nikibi:before {
    content: "";
    background: url(../img/top/ico_nikibi.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* 小顔 */
.menu_item h3.onayami_catico.kogao:before {
    content: "";
    background: url(../img/top/ico_kogao.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* いぼほくろ */
.menu_item h3.onayami_catico.ibo:before {
    content: "";
    background: url(../img/top/ico_ibo.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* 婦人科 */
.menu_item h3.onayami_catico.hujinka:before {
    content: "";
    background: url(../img/top/ico_hujinka.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* 多汗症 */
.menu_item h3.onayami_catico.takansho:before {
    content: "";
    background: url(../img/top/ico_takansho.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* タトゥー */
.menu_item h3.onayami_catico.tatto:before {
    content: "";
    background: url(../img/top/ico_tatto.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* 痩身 */
.menu_item h3.onayami_catico.soushin:before {
    content: "";
    background: url(../img/top/ico_soushin.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* 脱毛*/
.menu_item h3.onayami_catico.epilation:before {
    content: "";
    background: url(../img/top/ico_epilation.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* アートメイク */
.menu_item h3.onayami_catico.art:before {
    content: "";
    background: url(../img/top/ico_art.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* 点滴 */
.menu_item h3.onayami_catico.drip:before {
    content: "";
    background: url(../img/top/ico_drip.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

/* AGA */
.menu_item h3.onayami_catico.aga:before {
    content: "";
    background: url(../img/top/ico_aga.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -25px;
    width: 40px;
    height: 40px;
}

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

    .menu_item h3.onayami_catico.sonota:before,
    .menu_item h3.onayami_catico.memoto:before,
    .menu_item h3.onayami_catico.hana:before,
    .menu_item h3.onayami_catico.simi:before,
    .menu_item h3.onayami_catico.keana:before,
    .menu_item h3.onayami_catico.siwa:before,
    .menu_item h3.onayami_catico.nikibi:before,
    .menu_item h3.onayami_catico.kogao:before,
    .menu_item h3.onayami_catico.ibo:before,
    .menu_item h3.onayami_catico.hujinka:before,
    .menu_item h3.onayami_catico.takansho:before,
    .menu_item h3.onayami_catico.tatto:before,
    .menu_item h3.onayami_catico.soushin:before,
    .menu_item h3.onayami_catico.epilation:before,
    .menu_item h3.onayami_catico.art:before,
    .menu_item h3.onayami_catico.drip:before {
        left: -18px;
        width: 32px;
        height: 32px;
    }
}

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

    .menu_item h3.onayami_catico.sonota:before,
    .menu_item h3.onayami_catico.memoto:before,
    .menu_item h3.onayami_catico.hana:before,
    .menu_item h3.onayami_catico.simi:before,
    .menu_item h3.onayami_catico.keana:before,
    .menu_item h3.onayami_catico.siwa:before,
    .menu_item h3.onayami_catico.nikibi:before,
    .menu_item h3.onayami_catico.kogao:before,
    .menu_item h3.onayami_catico.ibo:before,
    .menu_item h3.onayami_catico.hujinka:before,
    .menu_item h3.onayami_catico.takansho:before,
    .menu_item h3.onayami_catico.tatto:before,
    .menu_item h3.onayami_catico.soushin:before,
    .menu_item h3.onayami_catico.epilation:before,
    .menu_item h3.onayami_catico.art:before,
    .menu_item h3.onayami_catico.drip:before {
        left: -20px;
        width: 28px;
        height: 28px;
    }
}

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

    .menu_item h3.onayami_catico.sonota:before,
    .menu_item h3.onayami_catico.memoto:before,
    .menu_item h3.onayami_catico.hana:before,
    .menu_item h3.onayami_catico.simi:before,
    .menu_item h3.onayami_catico.keana:before,
    .menu_item h3.onayami_catico.siwa:before,
    .menu_item h3.onayami_catico.nikibi:before,
    .menu_item h3.onayami_catico.kogao:before,
    .menu_item h3.onayami_catico.ibo:before,
    .menu_item h3.onayami_catico.hujinka:before,
    .menu_item h3.onayami_catico.takansho:before,
    .menu_item h3.onayami_catico.tatto:before,
    .menu_item h3.onayami_catico.soushin:before,
    .menu_item h3.onayami_catico.epilation:before,
    .menu_item h3.onayami_catico.art:before,
    .menu_item h3.onayami_catico.drip:before {
        left: -14px;
        width: 24px;
        height: 24px;
    }
}

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

    .menu_item h3.onayami_catico.sonota:before,
    .menu_item h3.onayami_catico.memoto:before,
    .menu_item h3.onayami_catico.hana:before,
    .menu_item h3.onayami_catico.simi:before,
    .menu_item h3.onayami_catico.keana:before,
    .menu_item h3.onayami_catico.siwa:before,
    .menu_item h3.onayami_catico.nikibi:before,
    .menu_item h3.onayami_catico.kogao:before,
    .menu_item h3.onayami_catico.ibo:before,
    .menu_item h3.onayami_catico.hujinka:before,
    .menu_item h3.onayami_catico.takansho:before,
    .menu_item h3.onayami_catico.tatto:before,
    .menu_item h3.onayami_catico.soushin:before,
    .menu_item h3.onayami_catico.epilation:before,
    .menu_item h3.onayami_catico.art:before,
    .menu_item h3.onayami_catico.drip:before {
        width: 28px;
        height: 28px;
    }
}


/* /お悩みカテゴリー毎にアイコンだし分け
====================================== */

.menu_item ul li {
    line-height: 1.5;
    padding-bottom: 16px;
    padding-left: 20px;
}

.menu_item ul li a {
    transition: .5s;
}

.menu_item ul li a:hover {
    opacity: 0.7;
}

.cosme_btn {
    width: 50%;
}

.cosme_btn a {
    transition: .5s;
}

.cosme_btn a:hover {
    opacity: 0.7;
}

.menu_item:nth-of-type(4n-3):before {
    width: 400%;
    height: 1px;
    content: "";
    background: #e3e3e3;
    position: absolute;
    bottom: -25px;
    left: 0;
}

.menu_item:nth-last-of-type(3):before,
.menu_item:nth-last-of-type(2):before {
    background: none;
}

/* ===悩みから探す内ボタン=== */
.nayami_btn {
    width: 100%;
    display: flex;
    justify-content: flex-start;
}

@media screen and (max-width: 1024px) {
    .nayami_btn {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }
}

/*.nayami_btn {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}*/

/* ===コスメボタン=== */
.cosme_btn {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 30px;
}

.cosme_btn p {
    text-align: center;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
    position: relative;
}

/* ＼ */
.cosme_btn p:before {
    content: "";
    position: absolute;
    bottom: 7px;
    left: -30px;
    width: 20px;
    height: 1px;
    background: #3d3d3d;
    transform: translate(-50%, 0) rotate(45deg);
}

/* ／ */
.cosme_btn p:after {
    content: "";
    position: absolute;
    bottom: 7px;
    right: -30px;
    width: 20px;
    height: 1px;
    background: #3d3d3d;
    transform: translate(50%, 0) rotate(-45deg);
}

.cosme_btn a {
    background-color: #fff;
    width: 80%;
    display: inline-block;
    max-width: 395px;
    padding: 42px 5px;
    text-align: center;
    border-radius: 30px 0 30px 0;
    position: relative;
}

/* ボタン内側の線 */
.cosme_btn a:after {
    content: "";
    position: absolute;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border-radius: 30px 0 30px 0;
    border: 1px solid #e3e3e3;
    top: 5px;
    left: 5px;
}

/* ボタン左側のアイコン */
.cosme_btn a:before {
    content: "";
    background: url(../img/top/ds_cosme.png) no-repeat;
    background-size: contain;
    width: 100%;
    height: 80%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0px, -50%);
}

/* ドクターズコスメ */
.cosme_btn a span {
    font-size: 20px;
    letter-spacing: 0.3em;
    z-index: 1;
    position: relative;
}

/* 矢印→ */
.cosme_btn a span:after {
    content: "";
    background: url(../img/top/ds_cosme_yajirushi.png) no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 60%;
    right: -60px;
    transform: translate(0px, -50%);
    z-index: 2;
}

/* ===サブスクボタン=== */
.sbsc_btn {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.sbsc_btn p {
    text-align: center;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
    position: relative;
}

.sbsc_btn p:before {
    content: "";
    position: absolute;
    bottom: 7px;
    left: -30px;
    width: 20px;
    height: 1px;
    background: #3d3d3d;
    transform: translate(-50%, 0) rotate(45deg);
}

.sbsc_btn p:after {
    content: "";
    position: absolute;
    bottom: 7px;
    right: -30px;
    width: 20px;
    height: 1px;
    background: #3d3d3d;
    transform: translate(50%, 0) rotate(-45deg);
}

.sbsc_btn a {
    background-color: burlywood;
    width: 80%;
    display: inline-block;
    max-width: 395px;
    padding: 42px 5px;
    text-align: center;
    border-radius: 30px 0 30px 0;
    position: relative;
}

.sbsc_btn a {
    transition: .5s;

}

.sbsc_btn a:before {
    content: "";
    background: url(../img/sbsc/ds_sbsc.png) no-repeat;
    background-size: contain;
    width: 100%;
    height: 80%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0px, -50%);
}

.sbsc_btn a:after {
    content: "";
    position: absolute;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border-radius: 30px 0 30px 0;
    border: 1px solid #e3e3e3;
    top: 5px;
    left: 5px;
}

.sbsc_btn a span {
    font-size: 20px;
    letter-spacing: 0.3em;
    z-index: 1;
    position: relative;
}

.sbsc_btn a span:after {
    content: "";
    background: url(../img/top/ds_cosme_yajirushi.png) no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 60%;
    right: -60px;
    transform: translate(0px, -50%);
    z-index: 2;
}

@media screen and (max-width: 600px) {
    .sbsc_btn {
        width: 100%;
    }

    .sbsc_btn p {
        margin-bottom: 7px;
        font-size: 13px;
    }

    .sbsc_btn p:before {
        left: -10px;
        width: 15px;
    }

    .sbsc_btn p:after {
        right: -10px;
        width: 15px;
    }

    .sbsc_btn a span {
        font-size: 16px;
    }
}

@media screen and (max-width: 1024px) {
    .sbsc_btn {
        width: 100%;
    }

    .sbsc_btn a {
        width: 100%;
    }

    .sbsc_btn a:before {
        width: 70%;
        height: 60%;
    }
}

@media screen and (max-width: 1200px) {
    .sbsc_btn a span {
        font-size: 18px;
    }

    .sbsc_btn a span:after {
        width: 26px;
        height: 26px;
        right: -48px;
    }
}

@media screen and (max-width: 767px) {
    .sbsc_btn p {
        margin-bottom: 10px;
        font-size: 14px;
    }

    .sbsc_btn p:before {
        left: -25px;
        width: 15px;
    }

    .sbsc_btn p:after {
        right: -25px;
        width: 15px;
    }
}


/* ====医療機器カテゴリー=== */

.menu_item02 ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.menu_item02 ul li {
    width: calc((100% - 105px) / 4);
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
    margin-left: 35px;
}

.menu_item02 ul li:nth-child(4n+1),
.menu_item02 ul li:first-of-type {
    margin-left: 0;
}

.menu_item02 ul li:nth-child(n+5) {
    margin-top: 20px;
}


.menu_item02 ul li a {
    width: 100%;
    box-sizing: border-box;
    display: inline-block;
    padding: 5px 20px;
    border: 1px solid #9f887f;
    border-radius: 30px;
    line-height: 1.5;
    transition: .3s;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    /* position: relative; */
    min-height: 100px;
}


.menu_item02 ul li a:hover {
    opacity: 0.7;
}

.machine_cat_img {
    display: block;
    width: 35%;
    height: auto;
    /* min-height: 100px; */
    margin-right: 10px;
}

.machine_cat_img img {
    max-height: 90px;
    width: auto;
    object-fit: cover;
    margin: auto;
    max-width: 100%;
}

/* アコーディオン */
#sec_menu .plus {
    display: none;
}

@media screen and (max-width: 1200px) {
    .menu_cat_container {
        padding: 50px 30px;
    }

    .cosme_btn a span {
        font-size: 18px;
    }

    .cosme_btn a span:after {
        width: 26px;
        height: 26px;
        right: -48px;
    }

    /* 医療機器カテゴリー */
    .menu_item02 ul li {
        width: calc((100% - 60px) / 4);
        margin-left: 20px;
    }

    .menu_item02 ul li a {
        font-size: 13px;
    }
}

@media screen and (max-width: 1024px) {
    .menu_head {
        padding-bottom: 10px;
        font-size: 16px;
        padding-left: 15px;
        margin-bottom: 15px;
    }

    .menu_head span {
        font-size: 18px;
    }

    /* メニュー下線のレスポンシブ */
    .menu_item {
        width: 33.3%;
        font-size: 14px;
        padding-left: 20px;
    }

    .menu_item h3 {
        margin-bottom: 20px;
    }

    .menu_item h3:before {
        width: 5px;
        height: 140%;
    }

    .menu_item:nth-of-type(4n-3):before {
        content: none;
    }

    .menu_item:nth-of-type(3n+1):before {
        content: "";
        width: 300%;
        height: 1px;
        background: #e3e3e3;
        position: absolute;
        bottom: -25px;
        left: 0;
    }

    .menu_item:nth-last-of-type(1):before {
        content: none !important;
    }

    .cosme_btn {
        width: 100%;
    }

    .cosme_btn a {
        width: 100%;
    }

    .cosme_btn a:before {
        width: 70%;
        height: 60%;
    }

    /* 医療機器カテゴリー */
    .menu_item02 ul li {
        width: calc((100% - 30px) / 3);
    }

    .menu_item02 ul li,
    .menu_item02 ul li:nth-child(5n) {
        margin-left: 15px
    }

    .menu_item02 ul li:first-of-type,
    .menu_item02 ul li:nth-child(3n+4) {
        margin-left: 0;
    }

    .menu_item02 ul li:nth-child(n+4) {
        margin-top: 20px;
    }

    .menu_item02 ul li:nth-child(3n) {
        margin-left: 15px;
    }
}

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

    .menu_item:nth-of-type(3n+1):before {
        bottom: -10px;
    }

    .menu_cat_container {
        padding: 40px 20px;
    }

    .menu_item {
        margin-bottom: 40px;
    }

    .menu_item h3 {
        padding-left: 13px;
    }

    .menu_item h3:before {
        width: 4px;
        height: 115%;
        left: 2px;
    }

    .cosme_btn p {
        margin-bottom: 10px;
        font-size: 14px;
    }

    .cosme_btn p:before {
        left: -25px;
        width: 15px;
    }

    .cosme_btn p:after {
        right: -25px;
        width: 15px;
    }

    /* 医療機器カテゴリー */
    .menu_item02 ul li {
        width: calc((100% - 13px) / 2);
    }

    .menu_item02 ul li a {
        font-size: 12px;
    }

    .menu_item02 ul li:nth-child(3n) {
        margin-left: 0;
    }

    .menu_item02 ul li,
    .menu_item02 ul li:nth-child(even) {
        margin-left: 13px;
    }

    .menu_item02 ul li:nth-child(odd) {
        margin-left: 0;
    }

    .menu_item02 ul li:nth-child(n+3) {
        margin-top: 20px;
    }
}

@media screen and (max-width: 600px) {
    .menu_item:nth-of-type(3n+1):before {
        content: none;
    }

    .menu_item {
        width: 50%;
        margin-bottom: 20px;
        padding-left: 10px;
    }

    .menu_item ul li {
        padding-bottom: 13px;
        padding-left: 10px;
    }

    .cosme_btn {
        width: 100%;
    }

    .cosme_btn a span {
        font-size: 16px;
    }

    .cosme_btn p {
        margin-bottom: 7px;
        font-size: 13px;
    }

    .cosme_btn p:before {
        left: -10px;
        width: 15px;
    }

    .cosme_btn p:after {
        right: -10px;
        width: 15px;
    }

    #sec_menu .menu_item ul {
        display: none;
    }
}

@media screen and (max-width: 450px) {
    .menu_item {
        width: 100%;
        padding-left: 0;
    }

    .cosme_btn a {
        padding: 35px 5px
    }

    .cosme_btn a span:after {
        width: 23px;
        height: 23px;
        right: -40px;
    }

    .menu_item h3 {
        padding-left: 20px;
    }

    /* 施術カテゴリーアコーディオン */
    #sec_menu .plus {
        display: inline-block !important;
    }

    #sec_menu .plus:before,
    #sec_menu .plus:after {
        background-color: #333;
        height: 1px;
    }

    #sec_menu .menu_item h3.open2 .plus:before {
        background-color: #333;
    }

    #sec_menu .menu_item h3.open2 .plus:after {
        transform: translate(50%, 50%);
        transition: .5s;
    }

    /* 医療機器カテゴリー */
    .menu_item02 ul li {
        width: 100%;
    }

    .menu_item02 ul li,
    .menu_item02 ul li:nth-child(3n+4) {
        margin-left: 0;
    }

    .menu_item02 ul li:nth-child(n+2) {
        margin-top: 15px;
    }

    .menu_item02 ul li,
    .menu_item02 ul li:nth-child(even) {
        margin-left: 0;
    }
}

@media screen and (max-width: 400px) {
    .cosme_btn a span {
        font-size: 14px;
    }

    .cosme_btn a span:after {
        right: -28px;
    }
}

/* ===================================
news (お知らせ)
=================================== */
#sec_news {
    margin-bottom: 100px;
}

.news .bg_wrap {
    padding-left: 45px;
    padding-right: 45px;
}

.sns_container {
    padding: 0px 90px;
}

.ribbon_head {
    text-align: center;
    position: relative;
    margin-bottom: -20px;
}

.ribbon_head span {
    background-color: #9f887f;
    padding: 11px 5px;
    width: 380px;
    display: inline-block;
    position: relative;
    min-height: 17px;
    z-index: 1;
    color: #fff;
}

.ribbon_head span:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 25px 20px 0;
    border-color: transparent #9f887f transparent transparent;
    transform: translate(-100%, 0);
}

.ribbon_head span:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 20px 25px;
    border-color: transparent transparent transparent #9f887f;
    transform: translate(100%, 0);
}

.sns_ico_box {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    border: 1px solid #9f887f;
    padding: 45px 0;
}

.sns_ico_box a {
    width: 95px;
    display: inline-block;
    transition: .3s;
}

/*.sns_ico_box a:nth-of-type(n+2) {
    margin-left: 35px;
}*/

.sns_ico_box a:hover {
    opacity: 0.7;
}


/* === Tiktok & Youtube === */
.sns_moie_box {
    display: flex;
    /* justify-content: space-between; tiktok追加の場合こっち*/
    justify-content: center;
    margin: 55px 0;
}

.tiktok-embed {
    margin: 0 !important;
    min-width: auto !important;
}

/* ttサムネ幅調整 */
.css-vptvdy {
    min-width: auto !important;
    width: 230px !important;
}

.tiktok-embed iframe {
    border: none;
}

/* === ニュース === */
.news_container {
    margin-bottom: 50px;
}

.p-newsList__item a {
    display: flex;
    padding: 32px 0 32px 20px;
    border-bottom: 1px solid #e3e3e3;
    transition: .3s;
}

.p-newsList__item a:hover {
    opacity: 0.7;
}

.p-newsList__item:first-of-type a {
    border-top: 1px solid #e3e3e3;
}

.time {
    margin-right: 100px;
}

@media screen and (max-width: 1350px) {
    .yt iframe {
        width: 450px;
        height: 275px;
    }
}

@media screen and (max-width: 1200px) {
    .sns_container {
        padding: 0px 30px;
    }

    .yt iframe {
        width: 400px;
        height: 275px;
    }
}

@media screen and (max-width: 1024px) {
    .ribbon_head span {
        width: 300px;
    }

    .yt iframe {
        width: 350px;
        height: 230px;
    }

    .p-newsList__item a {
        padding: 25px 0 25px 20px;
    }
}

@media screen and (max-width: 767px) {
    .ribbon_head {
        margin-bottom: -17px;
    }

    .sns_ico_box {
        padding: 30px 0;
    }

    .sns_ico_box a {
        width: 21%;
    }

    .ribbon_head span {
        width: 220px;
        padding: 8px 5px;
        font-size: 14px;
    }

    .ribbon_head span:before {
        border-width: 17px 19px 17px 0;
    }

    .ribbon_head span:after {
        border-width: 17px 0 17px 19px;
    }

    .p-newsList__item a {
        font-size: 13px;
    }

    .time {
        margin-right: 50px;
    }
}

@media screen and (max-width: 950px) {
    .sns_moie_box {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .yt iframe {
        margin-top: 20px;
    }
}

@media screen and (max-width: 600px) {
    .news .bg_wrap {
        padding-left: 15px;
        padding-right: 15px;
    }

    .sns_container {
        padding: 0;
    }

    .ribbon_head {
        margin-bottom: -14px;
    }

    .ribbon_head span {
        width: auto;
        padding: 5px 10px;
        font-size: 12px;
    }

    .ribbon_head span:before {
        border-width: 14px 13px 14px 0;
    }

    .ribbon_head span:after {
        border-width: 14px 0 13px 14px;
    }

    /*.sns_ico_box a:nth-of-type(n+2) {
        margin-left: 25px;
    }*/

    .yt iframe {
        width: 280px;
        height: 170px;
    }

    .p-newsList__item a {
        padding: 20px 0 20px 20px;
        font-size: 12px;
    }

    .time {
        margin-right: 35px;
    }
}

@media screen and (max-width: 450px) {
    .p-newsList__item a {
        flex-direction: column;
        padding-left: 10px;
    }

    .time {
        margin-bottom: 10px;
        margin-right: 0;
    }
}

@media screen and (max-width: 350px) {
    .yt iframe {
        width: 240px;
        height: 156px;
    }

    .p-newsList__item a {
        flex-direction: column;
        padding: 15px 0 15px 10px;
    }
}

/* ============================================
ここから下層
=============================================== */
/* ================================
共通
=================================== */
.up .sec_head h2 {
    width: 35%;
    margin: 0 auto 0 0;
    min-width: 500px;
}

.up .sec_head,
.up .sec_headtxt {
    text-align: left;
    padding: 0 20px 0 80px;
}

.up .sec_headtxt h2 {
    margin: 0 auto;
    display: inline-block;
}

.up .sec_headtxt p {
    color: #9f887f;
    display: inline-block;
    margin-top: -60px;
    vertical-align: middle;
}

.up .sec_head p {
    margin-top: -45px !important;
}

.breadcrumbs {
    padding-top: 125px;
    display: flex;
    padding-left: 40px;
    font-size: 12px;
    letter-spacing: 0.1em;
}

.breadcrumbs span {
    padding: 0 10px;
}


@media screen and (max-width: 1024px) {
    .up .sec_headtxt {
        padding: 0 10px 0 80px;
    }
}

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

    .up .sec_head,
    .up .sec_headtxt {
        padding: 0 0px 0 40px;
    }

    .up .sec_head h2 {
        min-width: 400px;
    }

    .up .sec_headtxt p {
        margin-top: -45px;
    }

    .up .sec_head p {
        margin-top: -35px !important;
    }
}

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

    .up .sec_head,
    .up .sec_headtxt {
        padding: 0 10px 0 30px;
    }

    .up .sec_headtxt p {
        margin-top: 20px;
        display: block;
    }

    .breadcrumbs {
        display: none;
    }

    .breadcrumbs span {
        padding: 0 5px;
    }

}

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

    .up .sec_head,
    .up .sec_headtxt {
        padding: 0 10px 0 15px;
    }

    .up .sec_head h2 {
        min-width: 300px;
    }

    .up .sec_head p {
        margin-top: -30px !important;
    }

    .up .sec_headtxt p {
        margin-top: 8px;
    }
}

@media screen and (max-width: 350px) {
    .breadcrumbs {
        padding-left: 10px;
        font-size: 11px;
    }
}

@media screen and (min-width: 1600px) {
    .up .sec_head p {
        margin-top: -50px !important;
    }
}

/* ===================================
achive-menu (施術一覧)
=================================== */
article#article_menu {
    margin-top: 70px;
    margin-bottom: 100px;
}

.up_menu {
    margin: 145px auto 0 !important;
}

#article_menu .menu_cat_container {
    background: none;
}

article#article_menu .menu_item02 ul li a {
    background: #fff;
    border: 1px solid #e3e3e3;
}

@media screen and (max-width: 1024px) {
    article#article_menu {
        margin-top: 45px;
    }

    .up_menu {
        margin-top: 60px !important;
    }
}

@media screen and (max-width: 600px) {
    article#article_menu {
        margin-top: 100px;
    }
}

/* ===================================
single-menu (施術詳細)
=================================== */
/* ========= 共通 ========== */
article#single_menu {
    margin-top: 70px;
    margin-bottom: 100px;
}


.up_single_menu {
    margin-top: 95px;
    text-align: justify;
}

/* 見出し */
.f_head_box {
    margin: auto;
    text-align: center;
}

.f_head {
    font-family: 'Marcellus', serif;
    font-size: 40px;
    letter-spacing: 0.2em;
    margin-bottom: 13px;
    color: #9f887f;
}


.f_head_box p {
    font-size: 18px;
    letter-spacing: 0.3em;
    color: #9f887f;
}

/* 小(リボン)見出し */
.up .ribbon_head {
    margin-bottom: 40px;
}

.follow .ribbon_head,
.risk .ribbon_head {
    margin-bottom: 70px;
}


.up .ribbon_head span small {
    font-size: 15px;
}

.up .ribbon_head:after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #9f887f;
    position: absolute;
    left: 0;
    top: 50%;
}

.up .ribbon_head span {
    font-size: 20px;
    width: 515px;
    padding: 20px 5px;
}

.up .ribbon_head span:before {
    content: "";
    border-width: 30px 35px 30px 0;
    border-color: transparent #9f887f transparent transparent;
    transform: translate(-100%, 0);
}

.up .ribbon_head span:after {
    content: "";
    border-width: 30px 0 30px 35px;
    border-color: transparent transparent transparent #9f887f;
    transform: translate(100%, 0);
}

/* ========== /共通 ========== */

/* ====== 施術概要＆オススメの幅 ===== */
.s_inner {
    padding: 0 150px;
    max-width: 1100px;
    margin: auto;
}

/* ====== ■　施術概要 ======*/
.summary {
    position: relative;
    padding-bottom: 50px;
}

.summary.face01:after {
    content: "";
    background-image: url(../img/underpage/summary_bg.png);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -118px;
    right: 95px;
    width: 575px;
    height: 114%;
    z-index: -1;
}

.summary.face02:after {
    content: "";
    background-image: url(../img/underpage/summary_bg02.png);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    right: 95px;
    width: 575px;
    height: 114%;
    z-index: -1;
}

.summary.body:after {
    content: "";
    background-image: url(../img/underpage/summary_bg03.png);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    right: 95px;
    width: 575px;
    height: 114%;
    z-index: -1;
}



.summary_container {
    width: 65%;
}

.summary_container h3 {
    font-size: 22px;
    letter-spacing: 0.3em;
    border-bottom: 1px solid #333;
    padding-bottom: 20px;
    margin-bottom: 35px;
}

.menu_summary {
    line-height: 2.6;
}

.menu_summary mark {
    background: linear-gradient(transparent 50%, #fff 50%);
    font-weight: 700;
}

.menu_summary p {
    margin-bottom: 40px;
}

/*======　■　こんな方にオススメ ======*/
.point {
    background-image: url(../img/underpage/point_bg.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 62px 0 100px;
    z-index: 1;
    position: relative;
}

.menu_head01 {
    text-align: center;
    padding: 17px 10px;
    border: 1px solid #3d3d3d;
    font-size: 20px;
    line-height: 1.4;
}

/*====　■　向いているのはこのタイプ ====*/

.suited {
    margin: 60px 0;
}


.suited_container {
    display: flex;
    align-items: center;
    margin-top: 50px;
}

.suited_img {
    width: 30%;
    box-sizing: border-box;
}

.suited_img img {
    opacity: 0.4;
}

.suited_txt {
    width: 70%;
    box-sizing: border-box;
    font-size: 20px;
    padding-left: 6.5%;
    line-height: 2;
    /* margin-left: -115px; */
    /* border-bottom: 1px solid #aaaaaa; */
}

.suited_txt p {
    padding-bottom: 10px;
    margin-bottom: 27px;
    /* border-bottom: 1px solid #aaaaaa; */
    border-bottom: 1px solid #aaaaaa;
    padding-left: 50px;
    position: relative;
}

.suited_txt p:before {
    content: "";
    background-image: url(../img/underpage/ico_suited.png);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 50%;
    width: 30px;
    height: 30px;
    z-index: 10;
    transform: translate(0px, -50%);
}


/*　=== target parts 治療できる部位 ====* */
.parts {
    margin-bottom: 100px;
    margin-top: 100px;
}

.point_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 50px;
}

.point_container li {
    width: calc(50% - 50px);
}


.point_item {
    width: 100%;
    text-align: center;
    background: #fff;
    padding: 20px 10px;
    line-height: 1.5;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    flex-direction: column;
    position: relative;
    z-index: 1;
    font-size: 18px;
}

.point_d {
    background: rgba(255, 255, 255, 0.4);
    padding: 50px 20px;
    padding: 50px 20px 20px;
    margin-top: -30px;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0.1em;
}

.point_container li:nth-of-type(n+3) {
    margin-top: 40px;
}

.parts_container {
    /* margin-top: 70px; */
}

.target_parts_img {
    /* margin-bottom: 75px; */
}

/* body画像があれば */
/* .target_parts_img img:nth-of-type(2) {
    margin-top: 20px;
} */

.target_parts_txt {
    line-height: 2;
}

/*　■　policy 当院のこだわり */
.policy {
    margin-top: 100px;
}

.policy_container {
    margin-top: 70px;
}

.policy_item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 90px;
}

.policy_item:nth-of-type(2n) {
    flex-direction: row-reverse;
}

.policy_item:last-of-type {
    margin-bottom: 0;
}

/* 画像 */
.policy_item_img {
    width: 43%;
}

.policy_item_img img {
    max-height: 22vw;
    object-fit: cover;
    min-height: 220px;
}

/* テキスト */
.policy_item_txt {
    width: 57%;
    padding-left: 50px;
    box-sizing: border-box;
}

.policy_item_txt_noimg {
    width: 100%;
    padding-left: 0;
    box-sizing: border-box;
}

.policy_item:nth-of-type(2n) .policy_item_txt {
    padding-left: 0;
    padding-right: 50px;
}

.policy_item_txt01 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.3em;
    padding-bottom: 15px;
    border-bottom: 1px solid #e3e3e3;
    margin-bottom: 5px;
    line-height: 1.6;
}

.policy_item_txt02 {
    line-height: 2.7;
}

/* ============ 術後全て ============　*/
/* 共通 */
.postoperative {
    margin-bottom: 100px;
}

/* ターゲット＆ポリシーない時 */
.bg_wrap_none {
    background-color: #fff;
    padding: 100px 0 50px;
}

/* ターゲットorポリシーある時 */
.postoperative .bg_wrap {
    padding-top: 40px;
}

/* ポリシーない時 */
.parts+.postoperative {
    margin-top: -100px;
}

/* フォロー */
.follow {
    margin-bottom: 100px;
}

.follow_item {
    margin-bottom: 50px;
    position: relative;
}

.follow_item:last-of-type {
    margin-bottom: 0;
}

.follow_item:after {
    content: "";
    bottom: 0;
    height: 40px;
    left: 50%;
    width: 1px;
    background-color: #333;
    position: absolute;
    transform: translate(0px, 100%);
}

.follow_item:last-of-type::after {
    content: none;
}

.follow_item_day {
    text-align: center;
    background: #fff;
    padding: 5px 40px;
    width: fit-content;
    margin: auto;
    font-size: 20px;
    /* display: block; */
    position: relative;
    z-index: 2;
}

.follow_item_condition {
    padding: 40px 24px 30px;
    border: 1px solid #3d3d3d;
    line-height: 2;
    width: 100%;
    box-sizing: border-box;
    margin-top: -17px;
}

/* リスク・副作用 */

/* 術後経過がない時のためのcss */
.risk {
    margin-top: 50px;
}

.risk_item {
    display: flex;
    align-items: flex-start;
    padding: 28px 0;
    border-top: 1px solid #e3e3e3;
    line-height: 2;
}


.risk_item:nth-last-of-type(1) {
    border-bottom: 1px solid #e3e3e3;
}

.risk_name {
    font-weight: 700;
    width: 15%;
}

.risk_content {
    width: 85%;
    padding-left: 20px;
    box-sizing: border-box;
}

.risk_content p+p {
    margin-top: 15px;
}

/* 施術メニューの料金表のみ適用 */
#single_menu .tableWrap:nth-last-of-type(1) {
    margin-bottom: 0;
}

/* ============ process (施術の流れ) ============　*/

.step_container {
    margin-top: 70px;
    margin-bottom: 70px;
}

.process_item {
    display: flex;
}

.default_txt {
    line-height: 2;
}

/* 補足の上余白 */
.default p>span {
    margin-top: 30px;
    display: inline-block;
    font-size: 12px !important;
}

/* 真ん中の線 */
.step_box {
    position: relative;
}

.step_box:before {
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    background: #e3e3e3;
}

/* /真ん中の線 */

.step_item {
    display: flex;
    background: #f7f3f0;
    padding: 31px 0px;
    align-items: center;
    min-height: 115px;
    position: relative;
}

.step_item:before {
    content: "";
    width: 1px;
    height: 90%;
    position: absolute;
    left: 17%;
    /*step_noに合わせる*/
    top: 50%;
    background: #e3e3e3;
    transform: translate(0, -50%);
}

.step_item:nth-of-type(n+2) {
    margin-top: 50px;
}

/* ステップ毎の背景画像 */

.step01,
.step02,
.step03,
.step04,
.step05,
.step06,
.step07,
.step08 {
    position: relative;
}

.step01:after {
    content: "";
    background-image: url(../img/underpage/step-counseling.png);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 54px;
    bottom: 0;
    width: 185px;
    height: 100%;
}

.step02:after {
    content: "";
    background-image: url(../img/underpage/step-check.png);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 54px;
    bottom: 0;
    width: 185px;
    height: 105%;
}

.step03:after,
.step06:after {
    content: "";
    background-image: url(../img/underpage/step-camera.png);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 54px;
    bottom: 0;
    width: 185px;
    height: 110%;
}


.step04:after {
    content: "";
    background-image: url(../img/underpage/step-design.png);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 54px;
    bottom: 0;
    width: 185px;
    height: 105%;
}

.step05:after {
    content: "";
    background-image: url(../img/underpage/step-treatment.png);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 54px;
    bottom: 0;
    width: 185px;
    height: 122%;
}

.step07:after {
    content: "";
    background-image: url(../img/underpage/step-make.png);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 54px;
    bottom: 0;
    width: 185px;
    height: 110%;
}

.step08:after {
    content: "";
    background-image: url(../img/underpage/step-pay.png);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 54px;
    bottom: 0;
    width: 185px;
    height: 110%;
}

/* /ステップ毎の背景画像 */

.step_no {
    width: 17%;
    font-size: 20px;
    text-align: center;
    font-family: 'Marcellus', serif;
    letter-spacing: 0.3em;
    position: relative;
    z-index: 1;
}

.step_no span {
    font-size: 60px;
    display: block;
    padding-top: 10px;
    letter-spacing: 0;
}

.step_txt {
    width: 83%;
    line-height: 2;
    box-sizing: border-box;
    padding-left: 45px;
    margin-top: -3%;
}


.step_name {
    font-size: 18px;
    font-weight: 700;
    padding-bottom: 10px;
    letter-spacing: 0.3em;
}

.step_name,
.step_content {
    position: relative;
    z-index: 1;
}

/* ============ セカンドオピニオン ============　*/

/* ターゲットもポリシーもどちらもなかったら適用 */
/* .s_opinion {
    margin-top: -170px;
} */

/* ターゲットもポリシーもどちらもない＋リスクもない場合適用 */
/* .up_single_menu+.s_opinion {
    margin-top: -270px;
} */


/* 施術ステップがなかったら適用 */
.f_head_box+.ribbon_head.br {
    margin-top: 50px;
}


/* ============ その他自由入力欄 ============　*/
.free {
    margin: 100px 0;
}


.free .bg_wrap:nth-of-type(n+2) {
    margin-top: 70px;
}

.free_box {
    margin: 40px 0 0;
}

.free_box .free_innner_box:nth-of-type(n+2) {
    margin-top: 65px;
}

/* 他のcssはセカンドオピニオンのところに記載あり */

.default_txt p img {
    height: auto;
    /* margin: auto; */
    width: auto;
    max-width: 100%;
}

/* 画像の配置 */
.aligncenter {
    margin: auto;
}

.alignright {
    margin: 0 0 0 auto;
}

.alignleft {
    margin: 0;
}



.free .default_txt p+p {
    margin-top: 15px;
}

/* ============ price (料金) ============　*/
.price {
    margin-top: 100px;
}

.ebook-container.serch_container {
    margin-top: 65px;
}

.ebook-content {
    position: relative;
}

.ebook-content .tableWrap:after {
    content: "※ 表記は全て税込です。";
    font-size: 12px;
    color: #aaaaaa;
    position: absolute;
    bottom: -45px;
    right: 0;
    letter-spacing: 0.15em;
}



@media screen and (max-width: 1300px) {
    .point_container li {
        width: calc(50% - 20px);
    }

    .suited_txt {
        font-size: 18px;
        padding-left: 4%;
    }
}

@media screen and (max-width: 1200px) {
    .s_inner {
        padding: 0 100px;
    }

    .point_item {
        font-size: 18px;
    }

    .suited_img {
        width: 25%;
    }

    .suited_txt {
        font-size: 16px;
        padding-left: 2%;
        width: 75%;
    }

    .suited_txt p {
        padding-bottom: 5px;
        margin-bottom: 20px;
        padding-left: 45px;
    }

    .suited_txt p:before {
        content: "";
        width: 26px;
        height: 26px;
    }
}

@media screen and (max-width: 1024px) {
    .s_inner {
        padding: 0 50px;
    }

    .up .ribbon_head span {
        font-size: 18px;
        width: 450px;
    }

    .up .ribbon_head span small {
        font-size: 14px;
    }

    .summary_container {
        width: 100%;
    }

    .summary.face01:after,
    .summary.face02:after,
    .summary.body:after {
        content: "";
        bottom: -118px;
        right: 80px;
        width: 500px;
        height: 100%;
    }

    .summary.face02:after,
    .summary.body:after {
        bottom: 0;
    }

    /* オススメ */
    .point_item {
        font-size: 16px;
    }

    .point_item:nth-of-type(n+3) {
        margin-top: 30px;
    }

    /* ポリシー */
    .policy_item_txt02 {
        line-height: 2.3;
        font-size: 14px;
    }

    .policy_item_txt01 {
        font-size: 17px;
        padding-bottom: 5px;
        margin-bottom: 5px;
    }

    .policy_item_txt {
        padding-left: 30px;
    }

    .policy_item:nth-of-type(2n) .policy_item_txt {
        padding-right: 30px;
    }

    /* 術後 */
    .follow_item_day {
        font-size: 18px;
    }

    /* 施術の流れ */
    .step_no {
        font-size: 18px;
    }

    .step_no span {
        font-size: 55px;
        padding-top: 6px;
    }

    .step_txt {
        padding-left: 25px;
        margin-top: 0%;
    }

    .step_name {
        font-size: 17px;
        padding-bottom: 5px;
    }
}

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

    /* 共通コンテンツのカスタマイズ */
    article#single_menu .bg_wrap {
        padding-top: 25px;
    }

    .s_inner {
        padding: 0 20px;
    }

    .f_head {
        font-size: 32px;
        margin-bottom: 10px;
    }

    .f_head_box p {
        font-size: 18px;
    }

    .up .ribbon_head span {
        font-size: 16px;
        width: auto;
        padding: 12px 5px;
        min-width: 240px;
        min-height: 15px;
    }

    .up .ribbon_head span small {
        font-size: 13px;
    }

    .up .ribbon_head span:before {
        content: "";
        border-width: 20px 25px 20px 0;
    }

    .up .ribbon_head span:after {
        content: "";
        border-width: 20px 0 20px 25px;
    }

    .up .ribbon_head {
        margin-bottom: 50px;
    }

    /* 施術概要 */
    .summary {
        padding-bottom: 35px;
    }

    .summary.face01:after,
    .summary.face02:after,
    .summary.body:after {
        content: "";
        bottom: -150px;
        right: 0;
        height: 100%;
        opacity: 0.5;
    }

    .summary.face02:after,
    .summary.body:after {
        bottom: 0;
    }

    .summary_container h3 {
        text-align: center;
        margin-bottom: 5px;
    }

    .menu_summary p {
        margin-bottom: 35px;
        line-height: 2.3;
    }

    /* オススメ */
    .point {
        padding: 50px 0 80px;
    }

    .menu_head01 {
        font-size: 18px;
    }

    .point_container {
        flex-direction: column;
        margin-top: 30px;
    }

    .point_container li {
        width: 100%;
        padding: 15px 0;
    }

    .point_container li:nth-of-type(n+3),
    .point_container li {
        margin-top: 0;
    }

    .point_d {
        font-size: 14px;
    }

    .point_item:first-of-type {
        margin-top: 0;
    }

    /* 向いているのタイプ */
    .suited_container {
        flex-direction: column;
    }

    .suited_img {
        width: 50%;
        margin: 0 auto 20px;
    }

    .suited_txt {
        padding-left: 0;
        width: 100%;
    }

    /* target parts */
    .parts {
        margin-bottom: 50px;
        margin-top: 50px;
    }

    .target_parts_txt {
        line-height: 1.8;
    }

    /* ポリシー */
    .policy {
        margin-top: 50px;
    }

    .policy_item,
    .policy_item:nth-of-type(2n) {
        flex-direction: column;
        margin-bottom: 60px;
    }

    .policy_item_img {
        width: 100%;
        margin: auto;
        margin-bottom: 20px;
    }

    .policy_item_img img {
        max-height: 400px;
        object-fit: cover;
        min-height: auto;
    }

    .policy_item_txt {
        width: 100%;
        padding-left: 0;
    }

    .policy_item:nth-of-type(2n) .policy_item_txt {
        padding-right: 0;
    }

    .policy_item_txt01 {
        padding-bottom: 10px;
        margin-bottom: 8px;
        letter-spacing: 0.2em;
    }

    .policy_item_txt02 {
        line-height: 1.8;
    }

    /* 術後について */
    .postoperative {
        margin-bottom: 50px;
    }

    /* 施術の流れ */
    .step_item {
        padding: 25px 0px;
        min-height: 140px;
    }

    .step_item:nth-of-type(n+2) {
        margin-top: 35px;
    }

    .step_no span {
        font-size: 50px;
    }

    .step_content {
        font-size: 14px;
    }

    /* free */
    .default_txt p img {
        /* max-width: 70%; */
        /* min-width: 200px; */
    }

    .free .default_txt p+p {
        margin-top: 15px;
    }

    /* 料金 */
    .price {
        margin-top: 50px;
    }

    .ebook-container.serch_container {
        margin-top: 50px;
    }
}

@media screen and (max-width: 600px) {
    article#single_menu {
        margin-top: 100px;
    }

    .f_head {
        font-size: 25px;
        margin-bottom: 5px;
    }

    .f_head_box p {
        font-size: 14px;
    }

    .up .ribbon_head {
        margin-bottom: 25px;
    }

    .up .ribbon_head span small {
        font-size: 12px;
    }

    /* オススメ */
    .menu_head01 {
        font-size: 14px;
        padding: 13px 10px;
    }

    .point_item {
        font-size: 14px;
        padding: 11px 15px;
    }

    .point_item:nth-of-type(n+3),
    .point_item {
        margin-top: 20px;
    }

    /* 向いているのタイプ */
    .suited_txt p {
        font-size: 14px;
    }

    .suited_txt p {
        padding-bottom: 5px;
        margin-bottom: 15px;
        padding-left: 30px;
    }

    .suited_txt p:before {
        content: "";
        width: 20px;
        height: 20px;
        top: 5px;
        z-index: 10;
        transform: none;
    }

    /* ポリシー */
    .policy_item {
        margin-bottom: 35px;
    }

    .policy_item_img {
        margin-bottom: 10px;
    }

    /* 術後 */
    .follow {
        margin-bottom: 50px;
    }

    .follow_item_condition {
        padding: 45px 10px 35px;
        line-height: 1.8;
        font-size: 14px;
    }

    .follow_item_day {
        padding: 5px 45px;
        font-size: 16px;
    }

    .follow_item:after {
        height: 50px;
    }

    .follow_item {
        margin-bottom: 55px;
    }

    .risk_item {
        padding: 10px 0;
        line-height: 1.4;
    }

    /* 施術の流れ */
    .step_item {
        flex-direction: column;
        padding: 25px 5px;
        min-height: 150px;
    }

    .step_item:before {
        content: none;
    }

    .step_no {
        font-size: 16px;
        width: 100%;
        border-bottom: 1px solid #e3e3e3;
        padding-bottom: 5px;
        margin-bottom: 5px;
    }

    .step_no span {
        font-size: 40px;
    }

    .step_name {
        letter-spacing: 0.2em;
    }

    .step_txt {
        width: 100%;
        padding: 0;
        line-height: 1.8;
    }

    .step_name {
        padding-bottom: 0px;
        font-size: 16px;
    }

    /* ステップ毎の背景画像 */
    .step01:after,
    .step02:after,
    .step03:after,
    .step04:after,
    .step05:after,
    .step06:after,
    .step07:after,
    .step08:after {
        right: 50%;
        bottom: auto;
        top: 50%;
        height: 95%;
        transform: translate(50%, -50%);
    }

    .step01:after {
        content: "";
        background-image: url(../img/underpage/step-counseling_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
    }

    .step02:after {
        content: "";
        background-image: url(../img/underpage/step-check_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
    }

    .step03:after,
    .step06:after {
        content: "";
        background-image: url(../img/underpage/step-camera_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
    }

    .step04:after {
        content: "";
        background-image: url(../img/underpage/step-design_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
    }

    .step05:after {
        content: "";
        background-image: url(../img/underpage/step-treatment_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
    }

    .step07:after {
        content: "";
        background-image: url(../img/underpage/step-make_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
    }

    .step08:after {
        content: "";
        background-image: url(../img/underpage/step-pay_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
    }

    /* /ステップ毎の背景画像 */

    /* 料金表のみwidth100% */
    .price>.inner {
        width: 100%
    }

    .price>.inner>.bg_wrap {
        padding: 53px 5px 75px
    }
}

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

    /* 共通コンテンツのカスタマイズ */
    .up .ribbon_head span {
        min-width: 150px;
    }

    .up .ribbon_head span:before {
        content: "";
        border-width: 20px 20px 20px 0;
    }

    .up .ribbon_head span:after {
        content: "";
        border-width: 20px 0 20px 20px;
    }

    /* セカンドオピニオンの見出しのみ改行するため */
    .ribbon_head.br span {
        line-height: 1.5;
        padding: 12px 0;
        min-width: auto;
    }

    .ribbon_head.br span:before {
        content: "";
        border-width: 36px 25px 36px 0 !important;
    }

    .ribbon_head.br span:after {
        content: "";
        border-width: 36px 0 35px 25px !important;
    }
}

@media screen and (max-width: 400px) {
    .up .ribbon_head span {
        font-size: 13px;
        letter-spacing: 0.03em;
    }
}


@media screen and (max-width: 350px) {
    .risk_item {
        flex-direction: column;
    }

    .risk_name {
        width: 100%;
        margin-bottom: 5px;
    }

    .risk_content {
        width: 100%;
        padding-left: 0;
    }

    /* セカンドオピニオンのリボン見出しのみ */
    .ribbon_head.br span {
        letter-spacing: 0.07em;
    }

    .ribbon_head.br span:after {
        content: "";
        border-width: 36px 0 35px 18px !important;
    }

    .ribbon_head.br span:before {
        content: "";
        border-width: 36px 18px 36px 0 !important;
    }

    /* free */
    .free .default_txt p+p {
        margin-top: 10px;
    }
}

/* ===================================
archive-case (症例一覧)
=================================== */
#article_case {
    margin-top: 70px;
}

.case-container {
    margin-bottom: 100px;
    display: flex;
    flex-direction: row-reverse;
    margin-top: 95px;
}

.c-caselist-box {
    width: 100%;
}

/* 検索ボックス */
.l-casearchive {
    margin-top: 80px;
}

.c-search_area {
    position: relative;
    margin-bottom: 30px;
    margin-top: 10px;
    /*症例と高さ合わせる*/
    color: #7a7a7a;
}


.c-catttl {
    position: relative;
    border: 1px solid #333;
    width: 250px;
    padding: 17px 15px;
    cursor: pointer;
    border-radius: 5px;
    box-sizing: border-box;
    position: sticky;
    top: 150px;
}



/* .c-catttl:before {
    content: "";
    display: block;
    border: 1px solid #afaeae;
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 17px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0px 6px 12px 6px;
    border-color: transparent transparent #333 transparent;
}

.c-catttl:after {
    content: "";
    display: block;
    border: 1px solid #afaeae;
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 18px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0px 5px 10px 5px;
    border-color: transparent transparent #f7f3f0 transparent;
} */
.c-catttl:before {
    content: "▽";
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 11px;
    position: absolute;
    bottom: 50%;
    right: 17px;
    transition: 0.5s;
    border-left: 1px solid #333;
    padding-left: 20px;
    transform: translate(0px, 50%);
    line-height: 2.7;
}

.c-catttl.open:before {
    content: "△";
    transition: 0.5s;
}

.l-casearchive .c-caselist {
    justify-content: flex-start;
}

.l-casearchive .c-caselist .c-caselist__item a {
    transition: 0.5s;
    display: block;
}

.l-casearchive .c-caselist .c-caselist__item a:hover {
    opacity: 0.5;
}

.l-casearchive .c-caselist .c-caselist__item {
    margin-left: 100px;
    width: calc((100% - 200px)/3);
    max-width: none;
}

.l-casearchive .c-caselist .c-caselist__item:nth-of-type(3n+1) {
    margin-left: 0;
}

/* ====== プルダウンメニュー ====== */
.c-catcontent {
    position: sticky;
    top: 220px;
    width: 250px;
    z-index: 10;
    left: 0;
    line-height: 2;
    border: 1px solid #333;
    border-radius: 5px;
    margin-top: 15px;
}

.c-catcontent li {
    width: 100%;
    padding: 7px 0;
}

/* 最初と最後のborder-radius */
.c-catcontent li:first-of-type {
    border-radius: 5px 5px 0 0;
}

.c-catcontent li:last-of-type {
    border-radius: 0 0 5px 5px;
}

/* 偶数行のみ白背景 */
.c-catcontent li:nth-child(even) {
    background: #fff;
}

.c-catcontent li:nth-child(odd) {
    background: #f7f3f0;
}

.c-catcontent li a {
    padding: 0 10px;
}

/* ====== /プルダウンメニュー ====== */
.c-catcontent {
    display: none;
}

.l-casearchive .c-caselist__item:nth-of-type(n+4) {
    margin-top: 75px;
}

/* /検索ボックス */

/* グリッドレイアウト */
.c-caselist__item {
    width: calc((100% - 40px)/3);
    padding: 10px;
    display: inline-block;
    box-sizing: border-box;
}

/* 写真のcss */
.c-caselist-img {
    height: 300px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.single-caselist-img {
    width: 700px;
    height: auto;
    margin: 0 0 0 auto;
    height: auto !important;
}

.c-caselist-img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

/* 動画のcss */
.c-caselist-video {
    height: 400px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.c-caselist-video video {
    height: 100%;
    width: 100%;
    object-fit: cover !important;
}

/* 症例タイトル */
.c-caselist-ttl {
    font-size: 15px;
    padding-left: 10px;
    line-height: 1.3;
    letter-spacing: 1px;
}

@media screen and (max-width:1350px) {
    .c-caselist-ttl {
        font-size: 14px;
    }

    .c-caselist-img.single-caselist-img {
        width: 600px;
    }
}

@media screen and (max-width:1250px) {
    .c-caselist-ttl {
        font-size: 12px;
    }
    .c-caselist-img.single-caselist-img {
        width: 500px;
    }
}

@media screen and (max-width:1024px) {
    .caselist__item {
        width: calc((100% - 20px)/3);
    }

    .c-caselist-img.single-caselist-img {
        width: 100%;
        margin: 0 auto;
    }

    .c-caselist-video {
        min-height: 250px;
    }

    .c-caselist-img {
        min-height: 200px;
    }

    .c-search_area {
        font-size: 13px;
    }

    .c-catttl {
        width: 225px;
        padding: 14px 15px;
    }

    .c-catcontent {
        width: 225px;
    }

    .c-catttl:before {
        right: 10px;
    }

    .c-catttl:after {
        right: 11px;
    }

    .c-caselist__item {
        width: calc((100% - 40px)/2);
    }
}

@media screen and (max-width: 1000px) {
    .case-container {
        flex-direction: column;
    }

    .c-search_area {
        margin-left: 13px;
    }

    .c-caselist-ttl {
        font-size: 16px;
    }
}

@media screen and (max-width: 600px) {
    #article_case {
        margin-top: 100px;
    }
}

@media screen and (max-width:500px) {
    .case-container {
        margin-top: 30px;
    }

    .c-search_area {
        margin-left: 2px;
        margin-bottom: 8px;
    }

    .c-caselist__item {
        width: 100%;
        padding: 20px 0;
    }

    .c-caselist-img {
        height: 350px;
    }

    .c-caselist-video {
        height: 500px;
    }
}

/* ===================================
single-case (症例詳細)
=================================== */
#single_case {
    margin-top: 70px;
    margin-bottom: 100px;
}

/* ===== 左側全体 ===== */
.s-case-content {
    padding-right: 65px;
}

.s_case_ttl {
    margin-left: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    border-bottom: 1px solid #333;
    padding-bottom: 20px;
    font-size: 20px;
    margin-bottom: 53px;
    font-weight: 700;
}

/* 症例写真 */
.s-case-content-top {
    margin-bottom: 50px;
}

/* 症例詳細 */
.case-content-data {
    margin-bottom: 30px;
}

.case-content-item {
    display: flex;
    padding: 25px 0;
    border-bottom: 1px solid #e3e3e3;
    align-items: center;
}

.case-content-item:nth-of-type(1) {
    border-top: 1px solid #e3e3e3;
}

.case-content-dt {
    font-weight: 700;
    width: 23%;
}

.case-content-dd {
    width: 77%;
    line-height: 2.3;
}

/* インスタリンク */
.case-content-insta {
    transition: .3s;
}

.case-content-insta:hover {
    opacity: 0.7;
}

.case-content-insta span img {
    width: 20px;
    display: inline-block;
    margin-left: 10px;
    vertical-align: middle;
}

/* 関連記事一覧 */
.case_connection_container h3 {
    margin-bottom: 30px;
    position: relative;
    padding-left: 20px;
    font-size: 20px;
}

.case_connection_container h3:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 150%;
    background-color: #3d3d3d;
    transform: translate(0, -50%);
}

@media screen and (max-width:1250px) {
    .case-content-dt {
        width: 35%;
    }

    .case-content-dd {
        width: 65%;
    }
}

@media screen and (max-width:1024px) {
    .case_connection_container h3 {
        font-size: 18px;
    }
}

/* 打ち消し */
@media screen and (max-width:1000px) {
    #single_case .c-search_area {
        margin-left: 0;
    }
}

@media screen and (max-width:767px) {
    .s_case_ttl {
        font-size: 18px;
    }

    #single_case .c-caselist-img,
    #single_case .c-caselist-video {
        width: 100%;
        margin: 0 auto;
    }

    .s-case-content-bottom {
        font-size: 14px;
    }

    .case-content-item {
        padding: 20px 0;
    }

    .case-content-dt {
        width: 35%;
    }

    .case-content-dd {
        width: 65%;
    }

    .case_connection_container h3 {
        font-size: 17px;
    }
}

@media screen and (max-width:600px) {
    #single_case {
        margin-top: 100px;
    }

    .s_case_ttl {
        font-size: 17px;
        margin-bottom: 30px;
    }

    .s-case-content {
        padding-right: 0;
    }

    .case-content-dd {
        line-height: 2;
    }
}

@media screen and (max-width:500px) {
    #single_case .c-search_area {
        margin-left: 2px;
        margin-bottom: 30px;
        margin-top: 40px;
    }
}

@media screen and (max-width:400px) {
    .s_case_ttl {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .case-content-item {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px 0;
    }

    .case-content-dt,
    .case-content-dd {
        width: 100%;
    }

    .case-content-dt {
        width: 35%;
        margin-bottom: 5px;
    }

    .case-content-dd {
        line-height: 1.8;
    }
}

/* ===================================
page-reserve (予約)
=================================== */
/* 共通
======================　*/

#page_reserve {
    margin-top: 70px;
    margin-bottom: 100px;
}

.up_top_txt {
    margin-top: 45px;
    display: block;
    text-align: left;
    line-height: 1.9;
    letter-spacing: 0.1em;
    font-size: 18px;
    /* margin-bottom: 20px; */
}

.up_top_txt a {
    color: #afa9a5;
    border-bottom: 1px solid #afa9a5;
}

.up_top_txt small {
    font-size: 15px;
    color: #7a7a7a;
}

.up_top_txt:nth-of-type(n+2) {
    margin-top: 35px;
}

/* ===================================
page-reserve (再診)
=================================== */
.reserve_wrap_inner_top {
    display: flex;
    align-items: flex-start;
    width: 100%;
    margin: 60px 0;
    border-top: 1px soliD #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
    padding: 70px 0 50px;
}

.up_reserve_telbox {
    width: 43%;
}

.up_reserve_btnbox {
    width: 57%;
}

.up_reserve_telbox_wrap {
    width: fit-content;
    display: inline-block;
}

/*
共通コンテンツのカスタマイズ ======== */

.up_reserve_telbox .contact_p_small {
    margin-top: 15px;
    text-align: center;
}

.up_reserve_btnbox .c-reserve_btn a {
    width: auto;
    margin-bottom: 20px;
    font-size: 20px;
    padding: 30px 0;
    max-height: 20px;
    position: relative;
}

.up_reserve_btnbox .c-reserve_btn a span img {
    width: 26px;
    margin-right: 15px;
}

/*
/共通コンテンツのカスタマイズ ======== */

/*
カレンダーcssここから ======== */

/* title */
.simcal-current-year:after {
    content: "年";
}

/* < */
.simcal-icon-left:before {
    color: #6d6b6a;
}

/* 日付＆曜日 */
thead.simcal-calendar-head tr {
    font-size: 20px;
}

/* 曜日 */
thead.simcal-calendar-head tr:nth-of-type(2) {
    /* border: 1px solid #333; */
    height: 56px;
}

.simcal-week-day {
    vertical-align: middle !important;
}

.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-number {
    background: #e3e3e3 !important;
    padding: 8px 0 !important;
}

/* 曜日外側の線 */
.simcal-week-day {
    border-top: 1px solid #333;
    font-size: 20px;
}

.simcal-week-day.simcal-week-day-0 {
    border-right: 1px solid #333;
}

.simcal-week-day.simcal-week-day-1 {
    border-left: 1px solid #333;
}

/* 1つ1つのマス目 */
.simcal-default-calendar-grid>table tbody td {
    padding: 0 !important;
    border-right: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
}

/* 黒枠 */
tbody.simcal-month {
    border: 1px solid #333;
}

.simcal-default-calendar-grid>table tbody td:nth-last-of-type(1) {
    border-right: 1px solid #333;
}

tbody.simcal-month tr:nth-last-of-type(1) td {
    border-bottom: 1px solid #333;
}

.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-void {
    background-color: transparent !important;
}

/* 予定のフォントサイズ */
.simcal-event-title {
    font-size: 12px !important;
}

/*
/カレンダーcssここまで ======== */

.privacy {
    margin-top: 70px;
}

.privacy_head {
    font-size: 20px;
    font-weight: 700;
    padding-bottom: 20px;
    margin-bottom: 40px;
    letter-spacing: 0.3em;
    border-bottom: 1px solid #333;
}

.privacy_txt {
    line-height: 2.3;
}

.privacy_txt p {
    margin-bottom: 35px;
}

/* ===================================
page-firstreserve (初診)
=================================== */

.firstreserve_wrap {
    margin-top: 60px;
}

.firstreserve_form {
    padding: 0 50px 0 85px;
}

/* 個人情報取扱い注意書き */
.caution-item {
    line-height: 2;
    background: #f7f3f0;
    padding: 40px;
    font-size: 15px;
    margin-bottom: 30px;
}

.caution-item p {
    padding-bottom: 30px;
}

.caution-item p:last-of-type {
    padding-bottom: 0;
}

/* 同意チェックボックスの位置 */
.mwform-checkbox-field.horizontal-item {
    width: fit-content;
    display: block;
    margin: 20px auto 0;
}

/* date picker */
.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all {
    border: none;
    background: none;
}

.ui-datepicker-prev.ui-corner-all,
.ui-datepicker-next.ui-corner-all {
    cursor: pointer;
}

.ui-datepicker-prev.ui-corner-all.ui-state-hover.ui-datepicker-prev-hover,
.ui-datepicker-next.ui-corner-all.ui-state-hover.ui-datepicker-next-hover {
    border: none;
    background: none;
}

.ui-datepicker-prev.ui-corner-all.ui-state-hover.ui-datepicker-prev-hover {
    top: 2px;
    left: 2px;
}

.ui-datepicker-next.ui-corner-all.ui-state-hover.ui-datepicker-next-hover {
    top: 2px;
    right: 2px;
}

.ui-datepicker-title {
    font-weight: 400;
}

select.ui-datepicker-year {
    -webkit-appearance: none;
    appearance: none;
    border: none;
    width: 22% !important;
    margin-right: 2% !important;
    background: none;
    color: #333;
}

select.ui-datepicker-month {
    -webkit-appearance: none;
    appearance: none;
    border: none;
    width: 17% !important;
    margin-left: 8% !important;
    background: none;
    color: #333;
}


/*.ui-datepicker th {
    padding: .7em 0 !important;
    font-weight: bold !important;
    text-align: right !important;
}*/

.ui-state-default {
    border: none !important;
    background: none !important;
}

.ui-state-default:hover {
    background-color: #e4e4e4 !important;
}

.ui-datepicker-current-day {
    background-color: #e4e4e4;
}

.ui-datepicker td span,
.ui-datepicker td a {
    text-align: center !important;
}

/* datepicker カレンダー 1024px以上 */
div#ui-datepicker-div {
    width: 490px;
    padding: 2%;
}

.ui-state-default {
    padding: 5px 0 !important;
}

/* フォーム
=====================*/

/* 生年月日フォーム横並び */
#form-box #mail dd {
    display: flex;
}

/* チェックボックス（個人情報） */
input[type=checkbox] {
    border-radius: 20%;
    border: 1px solid #333;
    margin: 0 5px 0 0;
    position: relative;
    height: 16px;
    width: 16px;
    vertical-align: middle;
}


input[type=checkbox]:checked {
    background-color: #9f887f !important;
    height: 16px;
    /* border: 3px #ffffff solid; */
    width: 16px;
}

.mwform-radio-field.horizontal-item {
    margin-right: 18px;
}

.mwform-radio-field.horizontal-item label {
    display: flex;
    align-items: center;
}

/* ---個人情報---*/
.mwform-checkbox-field-text {
    line-height: 1.5;
}

/* 行全体 */
.form-item {
    margin-bottom: 45px;
    font-size: 16px;
}

/* 項目名 */
.form-item-ttl {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    font-size: 18px;
    line-height: 1.5;
}

/* sub項目名 */
.form-item-subttl {
    margin: 35px 0 10px;
    font-size: 15px;
}

/* 必須 */
.require {
    color: #9f887f;
    display: inline;
    font-size: 14px;
    margin-left: 15px;
}

/* エラー */
.error {
    padding-top: 7px;
    font-size: 15px !important;
}

#privacy .error {
    margin: auto;
    text-align: center;
}


/* 送信ボタン */
.form_btn {
    text-align: center;
}

/* 送信ボタン中身 */
input.btn-submit {
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴシック", "Hiragino Sans", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    color: #ffffff;
    background-color: #333;
    transition: 0.3s;
    padding: 15px 210px;
    border-radius: 25px;
    margin: auto;
    display: block;
}

input.btn-submit:hover {
    opacity: 0.7;
}

/* 入力フォーム */
input[type=text],
input[type=email],
textarea {
    border: none;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴシック", "Hiragino Sans", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    letter-spacing: 0.12em;
    box-shadow: none;
    border-radius: 10px;
    padding: 12px 30px;
    border: 1px solid #333;
    color: #333;
    outline: none;
}


input[name=第一希望日],
input[name=第二希望日] {
    width: 500px;
}

/* 入力フォーム */
textarea {
    height: 130px;
    resize: vertical;
}

input::placeholder {
    color: #7a7a7a;
}

input:-webkit-autofill {
    box-shadow: 0 0 0 1000px #ffffff inset;
    -webkit-text-fill-color: #000000;
}

/* ========= ラジオボタン ========= */

.form-subitem-inner,
form-subitem-inner02 {
    display: flex;
}

.form-item-subttl.subttl02 {
    margin-top: 10px;
}

.form-subitem-inner .error {
    padding: 0 !important;
    /* display: block; */
    /* width: 100%; */
}

.mwform-radio-field.horizontal-item {
    margin-right: 18px;
}

.mwform-radio-field-text {
    font-size: 15px;
}

.mwform-radio-field.horizontal-item label {
    display: flex;
    align-items: center;
}

input[type=radio] {
    height: 16px;
    width: 16px;
    border-radius: 50%;
    background-color: #ffffff;
    margin: 0 5px 0 0;
    position: relative;
    border: 1px solid #68666c;
}

input[type=radio]:checked {
    background-color: #9f887f !important;
    height: 16px;
    border: 1px solid #68666c;
    width: 16px;
}


/* ---チェックを入れた時 ---*/

.mwform-radio-field-text:after {
    display: block;
    transition: 0.5s;
    content: "";
    width: 8px;
    height: 8px;
    position: absolute;
    top: 4px;
    left: -17px;
    border-radius: 50%;
}

input[type=radio]:checked+span:after {
    background-color: #867246 !important;
    position: absolute;
}

/* ========= ラジオボタン ========= */


.thanks_none {
    display: none;
}

.note {
    font-size: 14px;
    margin-bottom: 15px;
    line-height: 1.2;
    letter-spacing: 0.08em;
}

/* 予約全体のレスポンシブ
===========================*/

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

    /* 共通コンテンツのcss */
    .up_reserve_telbox_wrap .contact_p {
        font-size: 40px;
    }

    .up_reserve_btnbox .c-reserve_btn a {
        font-size: 18px;
        padding: 23px 0;
    }

    /* 再診/初回予約の共通 */
    .up_top_txt {
        font-size: 16px;
    }

    .up_top_txt:nth-of-type(n+2) {
        margin-top: 20px;
    }
}

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

    /* 共通コンテンツのcss */
    .up_reserve_telbox_wrap .contact_p {
        font-size: 36px;
    }

    .up_reserve_telbox_wrap .contact_p span img {
        width: 30px;
        margin-right: 8px;
    }

    .up_reserve_telbox .contact_p_small {
        font-size: 14px;
    }

    .up_reserve_btnbox .c-reserve_btn a {
        font-size: 17px;
        padding: 20px 0;
    }

    /* 再診予約 */
    /* カレンダー */
    .simcal-week-day {
        font-size: 18px;
    }

    /* 初回予約 */
    .firstreserve_form {
        padding: 0;
    }

    .up_top_txt small {
        font-size: 14px;
    }

    /* datepicker カレンダー 1024pxまで */
    div#ui-datepicker-div {
        width: -webkit-fill-available;
        top: 837px;
        left: 0 !important;
        margin: 0 15%;
    }
}

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

    /* 初回予約 */
    /* 予定のフォントサイズ */
    .simcal-event-title {
        font-size: 11px !important;
    }
}

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

    /* 共通コンテンツのcss */
    .up_reserve_btnbox .c-reserve_btn a {
        font-size: 15px;
    }

    /* 再診/初回予約の共通 */
    .up_top_txt {
        font-size: 14px;
    }

    /* 再診予約 */
    .reserve_wrap_inner_top {
        margin: 30px 0;
        padding: 20px 0 30px
    }

    .up_reserve_telbox_wrap .contact_p {
        font-size: 34px !important;
    }

    .up_reserve_telbox,
    .up_reserve_btnbox {
        width: 50%;
    }

    .up_reserve_btnbox .c-reserve_btn a {
        margin-bottom: 15px;
        padding: 22px 0;
    }

    /* カレンダー */
    /* .simcal-past>div {
        min-height: 125px !important;
    } */

    .simcal-week-day {
        font-size: 16px;
    }

    /* 個人情報 */
    .privacy_head {
        font-size: 18px;
        padding-bottom: 15px;
        margin-bottom: 20px;
    }

    /* 初回予約 */
    .form-item-ttl {
        font-size: 17px;
    }

    input[type=text],
    input[type=email],
    textarea {
        padding: 7px 15px;
    }

    .caution-item {
        padding: 25px;
        font-size: 14px;
    }

    input.btn-submit {
        padding: 15px 10px;
        min-width: 300px;
    }

    /* datepicker カレンダー 767pxまで*/
    div#ui-datepicker-div {
        width: -webkit-fill-available;
        top: 807px;
        left: 0 !important;
        margin: 0 5%;
    }
}

@media screen and (max-width:600px) {
    #page_reserve {
        margin-top: 100px;
    }

    #page_reserve .sec_head {
        padding: 0 20px 0 20px;
    }

    /* 再診予約 */
    .reserve_wrap_inner_top {
        flex-direction: column;
    }

    .up_reserve_telbox,
    .up_reserve_btnbox {
        width: 100%;
    }

    .up_reserve_btnbox {
        margin-top: 30px;
    }

    /* カレンダー */
    /* .simcal-past>div {
        min-height: auto;
    } */

    /* 予定のフォントサイズ */

    .simcal-default-calendar-grid .simcal-events>.simcal-event {
        padding: 4px 2px !important;
    }

    .simcal-week-day {
        font-size: 14px;
    }

    .simcal-event-title {
        font-size: 10px !important;
        letter-spacing: 0.05em !important;
    }

    /* スマホのdots表示打ち消し */
    .simcal-default-calendar .simcal-events,
    .simcal-event>.simcal-event-title {
        display: block !important;
    }

    .simcal-event-details.simcal-tooltip-content,
    .simcal-events-dots {
        display: none !important;
    }


    /* 初回予約 */
    .firstreserve_wrap {
        margin-top: 30px;
    }

    .up_top_txt small {
        font-size: 13px;
    }

    .form-item-ttl {
        font-size: 16px;
    }

    .form-item-subttl {
        font-size: 14px;
    }

    .require {
        font-size: 13px;
        margin-left: 0;
    }

    .error {
        font-size: 13px !important;
    }

    /* datepicker カレンダー 600pxまで*/
    div#ui-datepicker-div {
        width: -webkit-fill-available;
        top: 610px;
        left: 0 !important;
        margin: 0 5%;
    }
}

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

    /* .simcal-calendar:after {
        content: "詳細は[・]をタップしてください";
        padding-top: 10px;
        display: block;
        font-size: 12px;
    } */
    /*.form-subitem-inner {
        display: block;
    }*/

    .form-item-subttl.subttl02 {
        margin-top: 20px;
    }

    /* datepicker カレンダー 482pxまで */
    div#ui-datepicker-div {
        width: -webkit-fill-available;
        top: 640px;
        left: 0 !important;
        margin: 0 5%;
    }

    form-subitem-inner02 {
        display: block;
    }
}

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

    /* 初回予約 */
    .form-item-ttl {
        flex-direction: column;
        align-items: flex-start;
    }

    .require {
        font-size: 13px;
        margin-left: 0;
        margin-top: 10px;
    }

    input.btn-submit {
        padding: 12px 10px;
        min-width: auto;
        width: 100%;
    }

    /* datepicker カレンダー 450pxまで */
    div#ui-datepicker-div {
        width: -webkit-fill-available;
        top: 820px;
        left: 0 !important;
        margin: 0 5%;
    }
}

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

    /* datepicker カレンダー 410pxまで */
    div#ui-datepicker-div {
        width: -webkit-fill-available;
        top: 706px;
        left: 0 !important;
        margin: 0 5%;
    }
}

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

    /* datepicker カレンダー 380pxまで */
    div#ui-datepicker-div {
        width: -webkit-fill-available;
        top: 820px;
        left: 0 !important;
        margin: 0 5%;
    }
}



/* ===================================
archive-price (料金)
=================================== */

#article_price {
    margin-top: 70px;
}

.up_price {
    margin-top: 70px;
}

/* 料金表全体 */
.pricelist_ttl {
    font-size: 20px;
    font-weight: 700;
    position: relative;
    padding-left: 20px;
    letter-spacing: 0.3em;
    line-height: 1.3;
}

.pricelist_ttl:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 100%;
    background-color: #3d3d3d;
    transform: translate(0, -50%);
}

.tableWrap {
    line-height: 1.5;
    margin: 15px 0 95px;
}

/*
絞り込み検索 ===================*/

.c-priceSearch-box {
    display: flex;
    align-items: center;
    margin-bottom: 60px;
    position: relative;
    z-index: 1;
}

.c-priceSearch-txt {
    color: #7a7a7a;
    padding-right: 18px;
}


.c-priceSearch-form {
    position: relative;
    width: 535px;
}

.aco_ttl {
    padding: 13px 50px 13px 15px;
    border: 1px solid;
    border-radius: 5px;
    letter-spacing: 0.12em;
    line-height: 1.5;
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

.aco_ttl:before {
    content: "▽";
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 11px;
    position: absolute;
    bottom: 50%;
    right: 17px;
    transition: 0.5s;
    border-left: 1px solid #333;
    padding-left: 20px;
    transform: translate(0px, 50%);
    line-height: 2.7;
}

.aco_ttl.open:before {
    content: "△";
    transition: 0.5s;
}

.acc_content {
    display: none;
    position: absolute;
    background: #fffcfa;
    z-index: 20;
    width: 100%;
    font-size: 14px;
    line-height: 2;
    padding: 15px;
    box-sizing: border-box;
    border-bottom: 1px solid #9f887f;
    top: 55px;
    left: 0;
}

/*
料金表の中身  ===================== */

/* スクロール調整 */
.c-pricelist_item {
    margin-top: -150px;
    padding-top: 150px;
    position: relative;
}

.tableWrap:after {
    content: "※ 表記は全て税込です";
    font-size: 12px;
    color: #aaaaaa;
    position: absolute;
    bottom: -25px;
    right: 0;
    letter-spacing: 0.15em;
}



/* 表の見出し */
.tableWrap_head {
    display: flex;
    font-weight: 700;
    background: #eae5e2;
    padding: 15px 0;
}

/* 部位ごとのかたまり */
.price-table-line {
    display: flex;
    flex-wrap: wrap;
    /* border-bottom: 1px solid #e3e3e3; */
    padding: 10px 0 15px;
}

.price-table-line:nth-of-type(n+2) {
    padding-top: 0;
}

.price-table-line .tableWrap_head01 {
    padding-bottom: 10px;
    border-bottom: 1px solid #e3e3e3;
}

/* ========= 内容 ======== */

/* 表の見出し(メニュー) ＆ dd > メニュー */
.tableWrap_head01 {
    padding-top: 10px;
    line-height: 1.5;
    width: 35%;
    box-sizing: border-box;
    padding-left: 30px;
}

/* dtがブランクの時同じ大きさの余白とる */
.tableWrap_headIn+.tableWrap_headIn {
    padding-left: 35%;
}


/* 表の見出し(詳細･コース･料金)＆dd */
.tableWrap_headIn {
    display: flex;
    width: 65%;
    border-bottom: 1px solid #e3e3e3;
    padding-top: 10px;
    padding-bottom: 10px;
}

.tableWrap_head .tableWrap_headIn {
    border: none;
}

.price-table-line .tableWrap_head01:nth-of-type(1),
.price-table-line .tableWrap_headIn:nth-of-type(1) {
    padding-top: 0;
}


/* ------------------- */
/* 表の見出し(詳細) ＆ dd>詳細 */
.tableWrap_head02 {
    width: 60%;
    box-sizing: border-box;
}

/* dd > コース ＆ dd > 料金 */
.price-table .tableWrap_head02,
.price-table .tableWrap_head03 {
    display: inline-block;
}

/* 表の見出し(コース) ＆ dd > コース */
.tableWrap_head03 {
    width: 20%;
    box-sizing: border-box;
}

/* 表の見出し(料金) ＆ dd > 料金 */
.tableWrap_head04 {
    width: 20%;
    box-sizing: border-box;
}

/*料金の部分だけ右揃え*/
.price-table .tableWrap_head04 {
    text-align: right;
    padding-right: 1%;
}

/* テーブルの｢料金｣のテキストをセンター揃え*/
.tableWrap_head .tableWrap_head04 {
    text-align: center;
}


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

    /* 検索フォーム */
    .c-priceSearch-form {
        width: 450px;
    }

    .pricelist_ttl {
        font-size: 18px;
    }

    .tableWrap {
        font-size: 14px;
    }

    .tableWrap_head01 {
        padding-left: 15px;
    }

    .tableWrap_head {
        padding: 10px 0;
    }
}

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

    /* 検索フォーム */
    .c-priceSearch-form {
        width: 400px;
    }

    .c-priceSearch-txt {
        font-size: 14px;
    }

    .aco_ttl {
        padding: 10px 50px 10px 15px;
    }

    /* 料金表 */
    .c-pricelist_item {
        margin-top: -80px;
        padding-top: 80px;
    }

    .pricelist_ttl {
        font-size: 16px;
    }

    .tableWrap {
        font-size: 13px;
    }

    .tableWrap_head,
    .price-table-line {
        /* min-width: 450px; */
    }

    .price-table-line {
        padding: 12px 0 6px;
    }

    .tableWrap_head03,
    .tableWrap_head04 {
        letter-spacing: 0.1em;
        /* white-space: nowrap; */
    }

}

@media screen and (max-width:600px) {
    #article_price {
        margin-top: 100px;
    }

    /* 検索フォーム */
    .c-priceSearch-box {
        align-items: flex-start;
        flex-direction: column;
        padding-left: 15px;
    }

    .c-priceSearch-txt {
        font-size: 13px;
        padding: 0 0 10px 0;
    }

    .c-priceSearch-form {
        width: 300px;
    }

    /* 料金表の幅100% */

    #article_price .pricelist_ttl {
        margin-left: 20px;
    }

    .price-container {
        width: calc(100% + 40px);
        margin-left: -20px;
        /* margin: auto; */
        max-width: 100vw;
    }

    .tableWrap {
        font-size: 12px;
        line-height: 1.3;
    }

    .tableWrap>.tableWrap_head {
        text-align: center;
    }

    .price-table-line {
        padding: 7px 0 3px;
    }

    .price-table .tableWrap_head02,
    .price-table .tableWrap_head03 {
        line-height: 1.5;
    }

    .tableWrap_head02,
    .tableWrap_head03,
    .tableWrap_head04 {
        padding-left: 5px;
    }

    /*  == width調整  == */
    .tableWrap_head01 {
        width: 30%;
    }

    .tableWrap_headIn {
        display: flex;
        width: 70%;
    }

    .tableWrap_headIn+.tableWrap_headIn {
        padding-left: 30%;
    }

    /* コース/料金 */
    .tableWrap_head02 {
        width: 45%;
    }

    .tableWrap_head03 {
        width: 20.5%;
        /* min-width: 100px; */
        letter-spacing: 0.05em;
    }

    .tableWrap_head04 {
        width: 34.5%;
        /* min-width: 100px; */
        letter-spacing: 0.05em;
    }

    /* == /width調整 == */

    .price-table-line {
        padding: 10px 0 10px;
    }

    .price-table .tableWrap_head02 {
        font-size: 10px;
    }

    .tableWrap_head01 {
        padding-left: 5px;
        /* white-space: nowrap; */
    }

    .price-table-line.tableWrap_head04 {
        padding-right: 10px;
    }
}

@media screen and (max-width:400px) {
    .c-priceSearch-form {
        width: 250px;
        font-size: 13px;
    }

    .acc_content {
        font-size: 13px;
    }
}

@media screen and (max-width:350px) {
    .tableWrap:after {
        font-size: 11px;
        bottom: -20px;
    }
}

/* ===================================
page-doctor(ドクター)
=================================== */
#page_doctor {
    margin-top: 70px;
    margin-bottom: 100px;
}

.top {
    display: flex;
    max-width: 1400px;
    margin-top: 100px;
    margin-bottom: 100px;
}

/* img area */
.doctor .top .imagearea {
    width: 40%;
}

.doctor .top .imagearea .img {
    position: relative;
}

.doctor .imagearea .img .img-top {
    position: relative;
    max-width: 468px;
}

.doctor .imagearea .img .img-bottom {
    position: absolute;
    max-width: 500px;
    right: -75px;
    top: 125px;
}

/* text area */
.doctor .top .textarea {
    margin-top: 125px;
    width: 60%;
    padding-left: 125px;
    box-sizing: border-box;
}

.doctor .top .textarea .top-ttl {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.7;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}


.doctor .top .textarea .top-ttl span {
    font-size: 35px;
    padding-left: 30px;
}

.doctor .top .textarea .top-ttl a img {
    width: 25px;
    height: auto;
}

.doctor .top .textarea .top-ttl a {
    transition: .3s;
    display: flex;
    align-items: center;
    margin-top: 10px;
}

.doctor .top .textarea .top-ttl a:hover {
    opacity: 0.7;
}

.doctor .top .textarea .top-ttl p {
    font-size: 15px;
    color: #9f887f;
    font-weight: 400;
    padding-left: 12px;
}

.doctor_wrap {
    width: 100%;
    margin-top: 60px;
}

.doctor_head {
    font-size: 18px;
    font-weight: 700;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #333;
    width: 83%;
}

/* 経歴 */
.career_item {
    line-height: 2.2;
    display: flex;
    margin-bottom: 28px;
}

.career_item:last-of-type {
    margin-bottom: 0;
}

.career_y {
    width: 20%;
}

.career_c {
    width: 80%;
}

/* 資格 */
.licence_item {
    line-height: 2;
    padding-bottom: 5px;
}

/* 著書 */
.book_box {
    padding: 10px 60px 0;
}

.book_item {
    display: flex;
    align-items: center;
}

.book_item:nth-of-type(n+2) {
    margin-top: 20px;
}

.book_item_img {
    width: 33%;
}

.book_item_txt {
    width: 67%;
    padding-left: 30px;
    box-sizing: border-box;
    line-height: 2.2;
}

.margin {
    margin-bottom: 35px;
}

/* staff */
.staff_container {
    margin-top: 70px;
    padding: 0 75px;
}

.staff_box {
    display: flex;
    flex-wrap: wrap;
}

.staff_item {
    width: calc((100% - 210px)/3);
    box-sizing: border-box;
}

.staff_item:nth-of-type(n+2) {
    margin-left: 105px;
}

.staff_item:nth-of-type(3n+4) {
    margin-left: 0 !important;
}

.staff_item:nth-of-type(n+4) {
    margin-top: 30px;
}

.staff_item_img img {
    min-height: 250px;
    max-height: 250px;
    object-fit: cover;
}

.staff_item_txt {
    text-align: center;
    padding-top: 15px;
    line-height: 1.5;
}

.staff_item_position {
    color: #7a7a7a;
    padding-bottom: 0px;
}

.staff_item_name {
    font-size: 18px;
}

/* 共通コンテンツのカスタマイズ */
.doctor_container .more_btn a {
    justify-content: flex-start;
    width: fit-content;
    margin: 0;
}

.doctor_container .more_btn a span {
    min-width: 35px;
}

@media screen and (max-width: 1350px) {
    .staff_container {
        padding: 0 20px;
    }
}

@media screen and (max-width: 1200px) {
    .doctor .imagearea .img .img-top {
        max-width: 350px;
    }

    .doctor .imagearea .img .img-bottom {
        max-width: 400px;
        top: 90px;
    }

    .doctor_head {
        width: 95%;
    }

    .book_box {
        padding: 10px 20px 0;
    }

    .staff_item {
        width: calc((100% - 10vw)/3);
    }

    .staff_item:nth-of-type(n+2) {
        margin-left: 5vw;
    }

    .staff_item_img img {
        height: 21vw;
        min-height: auto;
        max-height: none;
    }
}

@media screen and (max-width: 1024px) {
    .doctor .top .imagearea {
        width: 30%;
    }

    .doctor .imagearea .img .img-top {
        max-width: 330px;
    }

    .doctor .imagearea .img .img-bottom {
        max-width: 35vw;
        top: 70px;
    }

    .doctor .top .textarea {
        margin-top: 125px;
        width: 70%;
        padding-left: 100px;
        box-sizing: border-box;
    }

    .doctor .top .textarea .top-ttl span {
        padding-left: 20px;
    }

    .doctor_wrap {
        width: 100%;
        margin-top: 40px;
    }

    .career_item {
        line-height: 2;
        margin-bottom: 15px;
    }

    .career_c {
        padding-left: 10px;
        box-sizing: border-box;
    }

    .career_item,
    .licence_item,
    .book_item {
        font-size: 14px;
    }

    .book_box {
        margin: 0 auto;
        padding: 0;
    }

    .book_item_img {
        width: 25%;
    }

    .book_item_txt {
        width: 75%;
        padding-left: 15px;
    }

    .margin {
        margin-bottom: 15px;
    }

    .staff_container {
        padding: 0;
        margin-top: 50px;
    }

    .staff_item_position {
        font-size: 14px;
    }

    .staff_item_name {
        font-size: 16px;
    }

    .staff_item_img img {
        height: 24vw;
    }
}

@media screen and (max-width: 1000px) {
    .staff_item {
        width: calc((100% - 6vw)/3);
    }

    .staff_item:nth-of-type(n+2) {
        margin-left: 3vw;
    }
}


@media screen and (max-width: 767px) {
    .doctor .top {
        flex-direction: column;
        margin-bottom: 100px;
    }

    .doctor .top .imagearea {
        width: 100%;
    }

    .doctor .imagearea .img .img-top {
        max-width: 330px;
        margin-top: 0;
        left: 15%;
        min-width: 150px;
        width: 50%;
    }

    .doctor .imagearea .img .img-bottom {
        max-width: 65vw;
        top: 70px;
        right: auto;
        min-width: 200px;
        left: 20%;
    }

    .doctor .doctor .top .textarea {
        width: 90%;
        padding-left: 0;
        margin: 140px auto 0;
    }

    .doctor_head {
        width: 100%;
    }

    .doctor .top .textarea {
        width: 90%;
        margin: 50vw auto 0;
        padding: 0;
    }

    /* staff */
    .staff_item {
        width: calc((100% - 20px)/2);
    }

    .staff_item:nth-of-type(odd) {
        margin-left: 0 !important;
    }

    .staff_item:nth-of-type(n+2) {
        margin-left: auto;
    }

    .staff_item:nth-of-type(2n) {
        margin-left: 20px !important;
    }

    .staff_item:nth-of-type(n+3) {
        margin-top: 20px !important;
    }

    .staff_item_img img {
        min-height: auto;
        height: 38vw;
    }
}


@media screen and (max-width: 600px) {
    #page_doctor {
        margin-top: 100px;
    }

    .doctor .top {
        margin-top: 40px;
    }

    .doctor .top .textarea .top-ttl {
        font-size: 20px;
    }

    .doctor .top .textarea .top-ttl span {
        font-size: 32px;
        padding-left: 20px;
    }


    /* staff */
    .staff_item_position {
        font-size: 13px;
    }

    .staff_item_name {
        font-size: 14px;
    }
}

@media screen and (max-width: 450px) {
    .doctor .imagearea .img .img-top {
        left: 10%;
    }

    .doctor .imagearea .img .img-bottom {
        max-width: 70vw;
        top: 50px;
        left: 15%;
    }

    .doctor .top .textarea {
        width: 90%;
        margin: 50vw auto 0;
    }

    .doctor .top .textarea .top-ttl span {
        font-size: 30px;
        padding-left: 10px;
    }

    .doctor .top .textarea .top-ttl a img {
        width: 22zwspx;
        height: auto;
    }

    .career_item,
    .licence_item,
    .book_item {
        font-size: 13px;
    }

    .career_item {
        flex-direction: column;
    }

    .career_y,
    .career_c {
        width: 100%;
    }

    .career_y {
        font-weight: 500;
    }

    .career_c {
        padding-left: 0;
    }

    /* staff */

    .staff_box {
        /* flex-direction: column;
        justify-content: center;
        align-items: center; */
    }

    /* .staff_item {
        width: 80%;
        margin-left: 0 !important; */
}

.staff_item:nth-of-type(n+2) {
    /* margin-top: 20px !important; */
}

.staff_item:nth-of-type(2n) {
    /* margin-left: 0 !important; */
}

.staff_item_img img {
    /* height: 58vw; */
}


@media screen and (min-width: 1550px) {
    .doctor .top {
        max-width: none;
    }
}

/* ===================================
page-recruit(採用情報)
=================================== */
#page_recruit {
    margin-top: 70px;
    margin-bottom: 100px;
}

.recruit_wrap {
    margin: 95px 0 0;
}

.recruit_wrap {
    background: url(../img/underpage/recruit_bg.png) no-repeat;
    background-size: contain;
    background-position: center left;
    position: relative;
    top: 0;
    /* padding: 275px 50px 265px; */
    overflow-x: hidden;
}


.recruit_wrap_txt {
    width: 70%;
    /* margin-left: 28.5%; */
    white-space: break-spaces;
    /* position: absolute; */
    /* top: 9%; */
    /* left: 29.5%; */
    margin: 50px 0 125px auto;
}

.recruit_wrap_txt h2 {
    font-size: 34px;
    letter-spacing: 0.3em;
    line-height: 1.8;
    padding-bottom: 15px;
}

.recruit_wrap_txt p {
    font-size: 16px;
    line-height: 2.2;
}

/* ===== 求人のポイント ===== */
.recruit_point {
    background-image: url(../img/underpage/point_bg.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    font-size: 20px;
    padding: 80px 0;
    z-index: 1;
    position: relative;
}

/* 共通コンテンツのカスタマイズ */
.recruit_point .bg_wrap {
    padding: 40px 65px 110px;
}

.recruit_pr__container {
    width: 70%;
    margin: 70px auto 0;
}

.recruit_pr_item {
    line-height: 1.8;
}

.recruit_pr_item:nth-of-type(n+2) {
    margin-top: 45px;
}

.recruit_pr {
    font-size: 22px;
    position: relative;
    padding-left: 60px;
    padding-bottom: 10px;
}

.recruit_pr_detail {
    padding-left: 60px;
    font-size: 15px;
}

.recruit_pr:before {
    content: "";
    background-image: url(../img/underpage/ico_recruit.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 0px;
    top: 50%;
    width: 85px;
    height: 35px;
    transform: translate(0%, -50%);
}


.f_head_small {
    text-align: center;
    width: fit-content;
    white-space: nowrap;
    margin: 0 auto;
    line-height: 1.5;
    padding: 0px 10px;
    font-size: 20px;
}

/* ===== 募集要項 ===== */
.job {
    padding: 100px 0 0;
}

.job .ribbon_head:after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #9f887f;
    position: absolute;
    left: 0;
    top: 50%;
}

/* 共通コンテンツのカスタマイズ */
.recruit .ribbon_head span {
    margin-bottom: 0;
}

.recruit .ribbon_head span {
    letter-spacing: 0.3em;
}

.recruit_container {
    margin-top: 74px;
    position: relative;
}

.caption {
    font-weight: 700;
    font-size: 20px;
    position: relative;
    padding-left: 20px;
    margin-bottom: 20px;
}

.caption:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 130%;
    background-color: #3d3d3d;
    transform: translate(0, -50%);
}

/* 表 */

.recruit_box {
    border: 1px solid #e3e3e3;
}

.recruit_item {
    display: flex;
    border-bottom: 1px solid #e3e3e3;
}

.recruit_item:last-of-type {
    border-bottom: none;
}

.job_field,
.job_content {
    padding: 20px;
    line-height: 2;
}

.job_content p span {
    font-size: 12px !important;
}

.job_field {
    width: 25%;
    background: #eeeeee;
    border-right: 1px solid #e3e3e3;
}

.job_content {
    width: 75%;
}

.job_content a {
    color: #9f887f;
    border-bottom: 1px solid #d7d1ce;
}

.job_content p+p {
    margin-top: 30px;
}

@media screen and (max-width: 1200px) {
    .recruit_pr__container {
        width: 100%;
    }
}

@media screen and (max-width: 1024px) {
    .recruit_wrap_txt h2 {
        font-size: 30px;
        line-height: 1.7;
    }

    .recruit_wrap_txt p {
        font-size: 15px;
    }

    /* 求人のポイント */
    .recruit_pr {
        font-size: 20px;
        padding-left: 50px;
        padding-bottom: 5px;
    }

    .recruit_pr:before {
        height: 30px;
    }

    .recruit_pr_detail {
        padding-left: 50px;
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .recruit_wrap_txt {
        width: 90%;
        margin: 25px auto 50px;
    }

    .recruit_wrap_txt h2 {
        font-size: 28px;
    }

    /* 求人のポイント */
    .recruit_point .bg_wrap {
        padding: 40px 35px 80px;
    }

    .f_head_small {
        padding: 0px 4px;
        font-size: 18px;
    }

    .recruit_pr {
        font-size: 18px;
        padding-left: 40px;
        padding-bottom: 5px;
    }

    .recruit_pr:before {
        height: 25px;
        top: 6px;
        transform: none;
    }

    .recruit_pr_detail {
        padding-left: 40px;
        font-size: 13px;
    }

    /* 募集要項 */
    .caption {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .job_field,
    .job_content {
        padding: 15px 10px;
        line-height: 1.8;
        font-size: 14px;
    }
}

@media screen and (max-width: 600px) {
    #page_recruit {
        margin-top: 100px;
    }

    .recruit_wrap {
        margin: 45px 0 0;
    }

    .recruit_wrap_txt h2 {
        font-size: 27px;
    }

    .recruit_wrap_txt p {
        font-size: 14px;
    }

    /* 求人のポイント */
    .recruit_point .bg_wrap {
        padding: 35px 15px 70px;
    }

    .recruit_pr__container {
        margin: 50px auto 0;
    }

    .recruit_pr_item:nth-of-type(n+2) {
        margin-top: 35px;
    }

    /* 募集要項 */
    caption {
        font-size: 17px;
        margin-bottom: 13px;
    }

    .recruit_item {
        flex-direction: column;
    }

    .job_field {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #e3e3e3;
        box-sizing: border-box;
        padding: 5px;
    }

    .job_content {
        width: 100%;
        box-sizing: border-box;
        padding: 8px 5px;
    }

    .job_field,
    .job_content {
        font-size: 13px;
    }
}

@media screen and (max-width: 450px) {
    .recruit_wrap_txt {
        width: 93%;
        margin: 0px auto 15px;
    }

    .recruit_wrap_txt h2 {
        font-size: 22px;
        line-height: 1.8;
    }

    /* 求人のポイント */
    .f_head_small {
        font-size: 17px;
    }

    .recruit_pr__container {
        margin: 30px auto 0;
    }

    .recruit_pr_item:nth-of-type(n+2) {
        margin-top: 25px;
    }

    .recruit_pr {
        font-size: 16px;
        padding-left: 35px;
    }

    .recruit_pr_detail {
        padding-left: 35px;
    }

    .recruit_pr:before {
        height: 22px;
        top: 3px;
        transform: none;
    }
}

@media screen and (max-width: 350px) {
    .recruit_wrap_txt h2 {
        font-size: 20px;
    }
}


/* ===================================
page-thanks
=================================== */

.thnks_inner {
    width: 100%;
    height: 100vh;
    position: relative;
}

.thnks_txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    line-height: 2;
    width: 90%;
}

.return {
    margin-top: 35px;
    display: inline-block;
}

@media screen and (max-width: 600px) {
    .thnks_inner {
        height: calc(100vh - 100px);
    }

    .thnks_txt {
        width: 100%;
    }
}

@media screen and (max-width: 400px) {
    .thnks_inner {
        height: calc(100vh - 70px);
    }
}


/* 中カテゴリ
==============================　*/
/* 小カテゴリ、コメント */


/* ===================================
slider
=================================== */
.sec_slider {
    margin-top: 100px;
}

/* ===================================
PC,SP 表示切替
=================================== */
.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (max-width: 767px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}


/* ===================================
splendeur追加
=================================== */
@media screen and (min-width: 1200px) {
    .store_bn_sp {
        display: none;
    }

}

.store_bn_sp {
    width: 100%;
    margin-top: 25px;
}

.store_bn_pc {
    padding-left: 25px;
    width: 200px;
}

/* ===================================
page-MONITOR (モニター応募フォーム)
=================================== */
/* 共通
======================　*/

#page_monitor {
    margin-top: 70px;
    margin-bottom: 100px;
}

.up_top_txt {
    margin-top: 45px;
    display: block;
    text-align: left;
    line-height: 1.9;
    letter-spacing: 0.1em;
    font-size: 18px;
    /* margin-bottom: 20px; */
}

.up_top_txt a {
    color: #afa9a5;
    border-bottom: 1px solid #afa9a5;
}

.up_top_txt small {
    font-size: 15px;
    color: #7a7a7a;
}

.up_top_txt:nth-of-type(n+2) {
    margin-top: 35px;
}

.monitor_wrap {
    margin: 30px 0 0;
}

.monitor_wrap {
    background-size: contain;
    background-position: center left;
    position: relative;
    top: 0;
    /* padding: 275px 50px 265px; */
    overflow-x: hidden;
}


.monitor_wrap_txt {
    width: 70%;
    white-space: break-spaces;
    margin: 50px auto 0;
}

.monitor_wrap_txt h2 {
    font-size: 34px;
    letter-spacing: 0.3em;
    line-height: 1.8;
    padding-bottom: 15px;
}

.monitor_wrap_txt p {
    font-size: 16px;
    line-height: 2.2;
}

.monitor_wrap_txt p.tyuusyaku {
    font-size: 12px;
    line-height: 2.2;
}

/* 同意チェックボックスの位置 */
.monitor_wrap .mwform-checkbox-field.horizontal-item {
    width: fit-content;
    display: block;
    margin: 20px auto 0;
    margin-left: 10px;
}

/* ===== モニター応募のポイント ===== */
.recruit_point {
    background-image: url(../img/underpage/point_bg.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    font-size: 20px;
    padding: 80px 0;
    z-index: 1;
    position: relative;
}

/* 共通コンテンツのカスタマイズ */
.recruit_point .bg_wrap {
    padding: 40px 65px 110px;
}

.recruit_pr__container {
    width: 70%;
    margin: 70px auto 0;
}

.recruit_pr_item {
    line-height: 1.8;
}

.recruit_pr_item:nth-of-type(n+2) {
    margin-top: 45px;
}

.recruit_pr {
    font-size: 22px;
    position: relative;
    padding-left: 60px;
    padding-bottom: 10px;
}

.recruit_pr_detail {
    padding-left: 60px;
    font-size: 15px;
}

.recruit_pr:before {
    content: "";
    background-image: url(../img/underpage/ico_recruit.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 0px;
    top: 50%;
    width: 85px;
    height: 35px;
    transform: translate(0%, -50%);
}


.f_head_small {
    text-align: center;
    width: fit-content;
    white-space: nowrap;
    margin: 0 auto;
    line-height: 1.5;
    padding: 0px 10px;
    font-size: 20px;
}

/* ===== 募集要項 ===== */
.job {
    padding: 100px 0 0;
}

.job .ribbon_head:after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #9f887f;
    position: absolute;
    left: 0;
    top: 50%;
}

/* 共通コンテンツのカスタマイズ */
.recruit .ribbon_head span {
    margin-bottom: 0;
}

.recruit .ribbon_head span {
    letter-spacing: 0.3em;
}

.recruit_container {
    margin-top: 74px;
}

.caption {
    font-weight: 700;
    font-size: 20px;
    position: relative;
    padding-left: 20px;
    margin-bottom: 20px;
}

.caption:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 130%;
    background-color: #3d3d3d;
    transform: translate(0, -50%);
}

/* 表 */

.recruit_box {
    border: 1px solid #e3e3e3;
}

.recruit_item {
    display: flex;
    border-bottom: 1px solid #e3e3e3;
}

.recruit_item:last-of-type {
    border-bottom: none;
}

.job_field,
.job_content {
    padding: 20px;
    line-height: 2;
}

.job_content p span {
    font-size: 12px !important;
}

.job_field {
    width: 25%;
    background: #eeeeee;
    border-right: 1px solid #e3e3e3;
}

.job_content {
    width: 75%;
}

.job_content a {
    color: #9f887f;
    border-bottom: 1px solid #d7d1ce;
}

.job_content p+p {
    margin-top: 30px;
}

@media screen and (max-width: 1200px) {
    .recruit_pr__container {
        width: 100%;
    }
}

@media screen and (max-width: 1024px) {
    .monitor_wrap_txt h2 {
        font-size: 30px;
        line-height: 1.7;
    }

    .monitor_wrap_txt p {
        font-size: 15px;
    }

    /* 求人のポイント */
    .recruit_pr {
        font-size: 20px;
        padding-left: 50px;
        padding-bottom: 5px;
    }

    .recruit_pr:before {
        height: 30px;
    }

    .recruit_pr_detail {
        padding-left: 50px;
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .monitor_wrap_txt {
        width: 90%;
        margin: 25px auto 50px;
    }

    .monitor_wrap_txt h2 {
        font-size: 28px;
    }

    /* 求人のポイント */
    .recruit_point .bg_wrap {
        padding: 40px 35px 80px;
    }

    .f_head_small {
        padding: 0px 4px;
        font-size: 18px;
    }

    .recruit_pr {
        font-size: 18px;
        padding-left: 40px;
        padding-bottom: 5px;
    }

    .recruit_pr:before {
        height: 25px;
        top: 6px;
        transform: none;
    }

    .recruit_pr_detail {
        padding-left: 40px;
        font-size: 13px;
    }

    /* 募集要項 */
    .caption {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .job_field,
    .job_content {
        padding: 15px 10px;
        line-height: 1.8;
        font-size: 14px;
    }
}

@media screen and (max-width: 600px) {
    #page_recruit {
        margin-top: 100px;
    }

    .monitor_wrap {
        margin: 45px 0 0;
    }

    .monitor_wrap_txt h2 {
        font-size: 27px;
    }

    .monitor_wrap_txt p {
        font-size: 14px;
    }

    /* 求人のポイント */
    .recruit_point .bg_wrap {
        padding: 35px 15px 70px;
    }

    .recruit_pr__container {
        margin: 50px auto 0;
    }

    .recruit_pr_item:nth-of-type(n+2) {
        margin-top: 35px;
    }

    /* 募集要項 */
    caption {
        font-size: 17px;
        margin-bottom: 13px;
    }

    .recruit_item {
        flex-direction: column;
    }

    .job_field {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #e3e3e3;
        box-sizing: border-box;
        padding: 5px;
    }

    .job_content {
        width: 100%;
        box-sizing: border-box;
        padding: 8px 5px;
    }

    .job_field,
    .job_content {
        font-size: 13px;
    }
}

@media screen and (max-width: 450px) {
    .monitor_wrap_txt {
        width: 93%;
        margin: 0px auto 15px;
    }

    .monitor_wrap_txt h2 {
        font-size: 22px;
        line-height: 1.8;
    }

    /* 求人のポイント */
    .f_head_small {
        font-size: 17px;
    }

    .recruit_pr__container {
        margin: 30px auto 0;
    }

    .recruit_pr_item:nth-of-type(n+2) {
        margin-top: 25px;
    }

    .recruit_pr {
        font-size: 16px;
        padding-left: 35px;
    }

    .recruit_pr_detail {
        padding-left: 35px;
    }

    .recruit_pr:before {
        height: 22px;
        top: 3px;
        transform: none;
    }
}

@media screen and (max-width: 350px) {
    .monitor_wrap_txt h2 {
        font-size: 20px;
    }
}

/*========== モニター応募 ===========*/
#date .date {
    border: none;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴシック", "Hiragino Sans", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    letter-spacing: 0.12em;
    box-shadow: none;
    border-radius: 10px;
    padding: 12px 30px;
    border: 1px solid #333;
    color: #333;
    outline: none;
}

#date .birthday {
    border: none;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴシック", "Hiragino Sans", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    letter-spacing: 0.12em;
    box-shadow: none;
    border-radius: 10px;
    padding: 12px 30px;
    border: 1px solid #333;
    color: #333;
    outline: none;
    margin: 0 3px 10px 0;
}

#file .file {
    margin: 10px 0;
}

.birth-flex {
    display: flex;
    flex-wrap: wrap;
}

/*======トップページバナー========*/
.top_bnr {
    margin: 0px auto 20px;
    width: 31%;
    padding: 1%;
}

.top_flex {
    display: flex;
    flex-wrap: wrap;
    max-width: 1100px;
    margin: 0 auto 80px;
}

@media screen and (max-width: 800px) {
    .top_bnr {
        width: 50%;
        margin: 0;
        padding: 0;
    }

    .top_flex {
        margin-bottom: 110px;
        flex-wrap: wrap;
        padding: 0;
    }
}

/*======サブスクページ========*/
#page_subscription .wrapper {
    padding: 3% 0;
    text-align: center;
    font-family: serif;
    line-height: 2.5;
}

#page_subscription .head-wrapp {
    margin-bottom: 50px;
}

#page_subscription .text {
    font-size: 1.5em;
    margin: 2% auto;
}

#page_subscription h2.sub-title {
    font-size: clamp(14px, 6vw, 38px);
}

#page_subscription .menu {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 30px;
}

#page_subscription .menu img {
    width: 98%;
}

#page_subscription .menu-common {
    margin: 0 auto;
}

#page_subscription h3.sub-title-s {
    font-size: clamp(14px, 2.6vw, 34px);
}

#page_subscription .menu-wrapp,
#page_subscription .plan-wrapp {
    width: 80%;
    max-width: 1300px;
    margin: 0 auto 50px;
}

#page_subscription .plan-wrapp img {
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    #page_subscription .text {
        font-size: 1.1em;
        line-height: 2;
    }

    #page_subscription .menu-wrapp,
    #page_subscription .plan-wrapp {
        width: 95%;
    }

    #page_subscription .menu {
        display: block;
        margin-bottom: 10px;
    }

    #page_subscription .menu img {
        margin-bottom: 10px;
    }

    #page_subscription h2.sub-title {
        line-height: 1.5;
        margin-bottom: 10px;
    }

    #page_subscription h3.sub-title-s {
        font-size: clamp(14px, 5vw, 35px);
        line-height: 1.5;
        margin-bottom: 10px;
    }
}

/*医師紹介ページ メッセージ*/
.page-h-bnr {
    max-width: 1200px;
    margin: 50px auto 0;
}

.message_box {
    line-height: 2.5;
    width: 83%;
}

@media screen and (max-width: 767px) {
    .message_box {
        width: 100%;
    }
}

.post-1778 .up .ribbon_head {
    display: none !important;
}

/*リクルートページ*/
/*.recruit_container:nth-child(3) {
    display: none;
}*/

/* gogle reCAPTCHA */
.notes {
    font-size: 0.8em;
    margin: 3% auto;
    line-height: 1.5;
}

.notes a {
    color: brown;
}

.grecaptcha-badge {
    visibility: hidden;
}

.pum-title popmake-title {
    color: #315b7c;
    text-align: center;
    /* text-shadow: 0px 0px 0px rgba(2, 2, 2, 0.23); */
    font-family: inherit;
    font-weight: 400;
    font-size: 25px;
    line-height: 36px;
}

.popup .mainimage {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}

.popup .text {
    font-weight: 600;
    margin: 0 auto 40px;
    display: table;
    color: #FF5722;
    line-height: 1.8;
}

.pum-trigger {
    margin: -54px auto 0;
    padding: 0 0 30px;
    color: #fff0;
    border: none;
    width: 100%;
    float: right;
    max-width: 500px;
}


.popmake-2239 {
    background-image: url(https://primaclinic.jp/wp/wp-content/uploads/2025/01/button_sns.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-color: #fff0;
}

.popmake-2200 {
    background-image: url(https://primaclinic.jp/wp/wp-content/uploads/2025/01/button_counselor.png) ;
    background-size: 100%;
    background-repeat: no-repeat;
    background-color: #fff0;
}

.popmake-2236 {
    background-image: url(https://primaclinic.jp/wp/wp-content/uploads/2025/01/button_nurse-1.png) ;
    background-size: 100%;
    background-repeat: no-repeat;
    background-color: #fff0;
}

.pum-trigger:hover{
opacity: 0.6;
}

@media screen and (max-width: 1100px) {
    .pum-trigger {
        margin: -80px auto 0;
        padding: 0px 0 38px;
        width: 150px;
    }

    .popmake-2239 {
    background-image: url(https://primaclinic.jp/wp/wp-content/uploads/2025/01/button_sns_sp.png);
    padding: 0 0 60px;
}

.popmake-2200 {
    background-image: url(https://primaclinic.jp/wp/wp-content/uploads/2025/01/button_counselor_sp.png) ;
}

.popmake-2236 {
    background-image: url(https://primaclinic.jp/wp/wp-content/uploads/2025/01/button_nurse_sp-1.png);
    padding: 0 0 60px;
}

}

/*@media screen and (max-width: 860px) {
    .pum-trigger {
        margin: -46px auto 0;
        padding: 0 0 22px;
        width: 60%;
    }
}*/

@media screen and (max-width: 500px) {
    .caption {
        margin-bottom: 55px;
    }

    .m-bottom-15{
        margin-bottom: 15px;
    }

    .pum-trigger {
        margin: -40px auto 0;
        padding: 13px 0 7px;
        width: 100%;
    }

    .popmake-2239 {
        background-image: url(https://primaclinic.jp/wp/wp-content/uploads/2025/01/button_sns.png);
    }

    .popmake-2200 {
        background-image: url(https://primaclinic.jp/wp/wp-content/uploads/2025/01/button_counselor.png) ;
    }

    .popmake-2236 {
        background-image: url(https://primaclinic.jp/wp/wp-content/uploads/2025/01/button_nurse-1.png) ;
    }
    #popmake-2239,
#popmake-2200,
#popmake-2236{
width: 100%;
}

}



/* タイムスケジュール */

.pum-title,
.pum-theme-enterprise-blue .pum-title {
    color: #315b7c;
    text-align: center !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 400 !important;
    font-size: 20px !important;
    line-height: 36px !important;
}

.time-schedule {
    list-style: none;
    margin: 20px auto 20px 5em;
    padding-left: 22px;
    border-left: 2px solid #9b8981;
}

.time-schedule li {
    width: 100%;
    margin: 0 0;
    padding: 5px 0;
    position: relative;
}

.time-schedule span.time {
    width: 5em;
    display: inline-block;
    margin-left: -8em;
    padding: 0 0 5px;
    margin-top: 15px;
    vertical-align: top;
    position: relative;
    text-align: right;
    box-sizing: border-box;
    font-family: none;
}

.time-schedule span.time::after {
    content: "";
    position: absolute;
    right: -35px;
    top: 0;
    background: #9b8981;
    width: 20px;
    height: 20px;
    border-radius: 10px;
}

.time-schedule .sch_box {
    display: inline-block;
    width: 100%;
    padding: 15px 10px 15px 10px;
    vertical-align: middle;
    background: #efefef;
    box-sizing: border-box;
    border-radius: 6px;
    margin-top: -47px;
    margin-bottom: 20px;
}

.time-schedule .sch_title {
    font-size: 16px;
    font-weight: 700;
}

.time-schedule .sch_tx {
    font-size: 14px;
    font-weight: normal;
}

@media screen and (max-width: 460px) {
    .time-schedule .sch_box {
        margin-top: -60px;
    }
}

.wpcf7-form-control-wrap {
    line-height: 2.3;
}

/*スリックスライダー*/
/* 矢印を一つ非表示*/
.sec_slider .slick-next:before,
.sec_slider .slick-prev:before{
    display: none;
}

/* 施術ページ内 症例写真をレスポンシブ*/
.sejutsu_case {
    margin-top: 100px;
}

.image-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    max-width: 1000PX;
    padding: 2%;
  }

  .image-gallery img {
    width: calc(33.333% - 16px); /* 3列 */
    box-sizing: border-box;
    height: auto;
    display: block;
    border-radius: 8px;
  }

  /* レスポンシブ：タブレット */
  @media (max-width: 768px) {
    .image-gallery img {
      width: calc(50% - 16px); /* 2列 */
    }
  }

  /* レスポンシブ：スマホ */
  @media (max-width: 480px) {
    .image-gallery img {
      width: 100%; /* 1列 */
    }
  }

/* forminator 日付ピッカーをセンターに表示 */
div#ui-datepicker-div {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 80% !important;
    margin: 0 auto !important;
    max-width: 500px;
    z-index: 9999 !important;
}

.ui-datepicker.forminator-calendar--default:before {
    border-radius: 10px !important;
}

/* forminatorのカラー */
.forminator-custom-form-2552.forminator-calendar--default .ui-datepicker-header .ui-corner-all,
.forminator-custom-form-2560.forminator-calendar--default .ui-datepicker-header .ui-corner-all{
    background-color: #795548 !important;
    color: #FFFFFF;
}

.forminator-custom-form-2552.forminator-calendar--default:before,
.forminator-custom-form-2560.forminator-calendar--default:before {
    border-color: #795548 !important;
    background-color: #E6E6E6;
}
.forminator-ui#forminator-module-2552.forminator-design--default .forminator-radio input:checked + .forminator-radio-bullet,
.forminator-ui#forminator-module-2560.forminator-design--default .forminator-radio input:checked + .forminator-radio-bullet {
    border-color: #795548 !important;
}
.forminator-ui#forminator-module-2552.forminator-design--default .forminator-radio .forminator-radio-bullet:before,
.forminator-ui#forminator-module-2560.forminator-design--default .forminator-radio .forminator-radio-bullet:before {
    background-color: #795548 !important;
}
.forminator-custom-form-2552.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default.ui-state-highlight,
.forminator-custom-form-2560.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default.ui-state-highlight {
    color: #795548 !important;
    font-weight: bold !important;
}
.forminator-ui#forminator-module-2552.forminator-design--default .forminator-checkbox input:checked + .forminator-checkbox-box, .forminator-select-dropdown-container--open .forminator-custom-form-2552.forminator-dropdown--default .forminator-checkbox input:checked + .forminator-checkbox-box,
.forminator-ui#forminator-module-2560.forminator-design--default .forminator-checkbox input:checked + .forminator-checkbox-box, .forminator-select-dropdown-container--open .forminator-custom-form-2560.forminator-dropdown--default .forminator-checkbox input:checked + .forminator-checkbox-box {
    border-color: #795548 !important;
    background-color: #EDEDED;
}
.forminator-ui#forminator-module-2552.forminator-design--default .forminator-checkbox .forminator-checkbox-box, .forminator-select-dropdown-container--open .forminator-custom-form-2552.forminator-dropdown--default .forminator-checkbox .forminator-checkbox-box,
.forminator-ui#forminator-module-2560.forminator-design--default .forminator-checkbox .forminator-checkbox-box, .forminator-select-dropdown-container--open .forminator-custom-form-2560.forminator-dropdown--default .forminator-checkbox .forminator-checkbox-box {
    border-color: #777771;
    background-color: #EDEDED;
    color: #795548 !important;
}
.forminator-ui#forminator-module-2552.forminator-design--default .forminator-input, .forminator-ui#forminator-module-2552.forminator-design--default .forminator-input input, .forminator-ui#forminator-module-2552.forminator-design--default .forminator-iti-input .iti__selected-dial-code,
.forminator-ui#forminator-module-2560.forminator-design--default .forminator-input, .forminator-ui#forminator-module-2560.forminator-design--default .forminator-input input, .forminator-ui#forminator-module-2560.forminator-design--default .forminator-iti-input .iti__selected-dial-code {
    font-size: 16px;
    font-family: inherit;
    font-weight: 400;
    border-radius: 10px;
}

.forminator-ui#forminator-module-2552.forminator-design--default .forminator-select2 + .forminator-select.select2-container--open .selection .select2-selection--single[role="combobox"],
.forminator-ui#forminator-module-2560.forminator-design--default .forminator-select2 + .forminator-select.select2-container--open .selection .select2-selection--single[role="combobox"] {
    border-color: #795548 !important;
    background-color: #E6E6E6;
}

.forminator-select-dropdown-container--open .forminator-custom-form-2552.forminator-dropdown--default,
.forminator-select-dropdown-container--open .forminator-custom-form-2560.forminator-dropdown--default {
    border-color: #795548 !important;
    background-color: #E6E6E6;
}

.forminator-select-dropdown-container--open .forminator-custom-form-2552.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--selected, .forminator-select-dropdown-container--open .forminator-custom-form-2552.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--selected span:not(.forminator-checkbox-box),
.forminator-select-dropdown-container--open .forminator-custom-form-2560.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--selected, .forminator-select-dropdown-container--open .forminator-custom-form-2560.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--selected span:not(.forminator-checkbox-box) {
    background-color: #795548 !important;
    color: #FFFFFF;
}

.forminator-ui.forminator-custom-form[data-design=default] select.forminator-select2+.forminator-select .selection span[role=combobox].select2-selection--single .select2-selection__arrow [class*=forminator-icon-]:before
 {
    display: block;
    color: #795548 !important;
}

.forminator-ui#forminator-module-2552.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:hover,
.forminator-ui#forminator-module-2560.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:hover {
    border-color: #795548 !important;
    background-color: #E6E6E6;
}

.forminator-custom-form-2552.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default:active, .forminator-custom-form-2552.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default.ui-state-active,
.forminator-custom-form-2560.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default:active, .forminator-custom-form-2560.forminator-calendar--default .ui-datepicker-calendar tbody td a.ui-state-default.ui-state-active {
    color: #694d42 !important;
    font-weight: bold !important;
}

/* ボタン */

.yuasa_cam .button1{
width: 80%;
        padding: 10px;
        margin: 20px auto;
        height: auto;
        color: #000000;
        cursor: pointer;
        font-size: 14px;
        font-weight: 400;
        text-align: center;
        outline: none;
        border: none;
        transition: all 0.3s ease;
        position: relative;
        border-radius: 10px;
        background-color: #e1dbe5;
        box-shadow: 2px 2px 4px 0px rgba(49, 49, 49, 0.5), inset 7px 7px 20px 0px rgba(20, 20, 20, 0.1), 4px 4px 5px 0px rgba(0, 0, 0, 0.1);
    }
.yuasa_cam .button1:hover {
    background-color: #d2bde0;
    top: 2px;
}