/*
マッサージ・リラク　#8CB6DE 
訪問マッサージ　　　#71BE74
リンパ浮腫　　　　　#E18686
*/
html{
    display: none;
}
html.wf-active{
    display: block;
}

.rinpa_color{
    color: #E18686 !important;
}
.visit_massage_color{
    color: #71BE74 !important;
}
.massage_color{
    color: #8CB6DE !important;
}

.border-rinpa{
    border-color: #E18686 !important;
}

body{
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5em;
    color: #504F51;
}

::placeholder {
    color: #504F51;
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-size: 14px;
    font-weight: bold;
}

.font_meyrio{
    font-family: "メイリオ" ;
}

.font_ryumin{
    font-family: "游明朝体";
}

.border-pink{
    border: 1px solid #E18686 !important;
    color: #E18686 !important;
}

.font_10{ font-size : 10px !important; }
.font_11{ font-size : 11px !important; }
.font_12{ font-size : 12px !important; }
.font_14{ font-size : 14px !important; }
.font_16{ font-size : 16px !important; }
.font_18{ font-size : 18px !important; }
.font_20{ font-size : 20px !important; }
.font_22{ font-size : 22px !important; }
.font_24{ font-size : 24px !important; }
.font_26{ font-size : 26px !important; }
.font_28{ font-size : 28px !important; }
.font_30{ font-size : 30px !important; }
.font_32{ font-size : 32px !important; }
.font_34{ font-size : 34px !important; }
.font_35{ font-size : 36px !important; }
.font_36{ font-size : 38px !important; }
.font_40{ font-size : 40px !important; }

.mw_374{ max-width: 374px; }

.w_10{ width: 10%; box-sizing: border-box; }
.w_20{ width: 20%; box-sizing: border-box; }
.w_30{ width: 30%; box-sizing: border-box; }
.w_40{ width: 40%; box-sizing: border-box; }
.w_45{ width: 45%; box-sizing: border-box; }
.w_50{ width: 50%; box-sizing: border-box; }
.w_60{ width: 60%; box-sizing: border-box; }
.w_70{ width: 70%; box-sizing: border-box; }
.w_80{ width: 80%; box-sizing: border-box; }
.w_90{ width: 90%; box-sizing: border-box; }
.w_100{ width: 100%; box-sizing: border-box; }

.lh_175{ line-height: 1.75em;}
.lh_200{ line-height: 2em;}

.text_bold{ font-weight: bold; }
.text_normal{ font-weight: normal; }

.text_base{ color: #E18686; }
.text_white{ color: #ffffff; }
.text_black{ color: #504F51; }

.bg_base{ background-color:#E18686; }
.bg_light_base{ background-color: #F9E6E6; }

.br_5{ border-radius: 5px; }
.br_20{ border-radius: 20px; }

.td_ul{
    text-decoration: underline;
}
.va_middle{
    vertical-align: middle !important;
}
.va_bottom{
    vertical-align: text-bottom !important;
}

.bg_grid{
    background-image: url("/images/bg_grid.png");
}

.bb_base{
    border-bottom: 1px solid #E18686;
}

.text_rotate_90{
    display: inline-block;
    transform: rotate(90deg);
}

.border_double{
    border-bottom: 6px double #E18686;
}



header{
    border-top: 32px solid #E18686;
}
/* 全体メニュー */
ul.main_menu{
    font-size: 14px;
    font-weight: bold;
}
ul.main_menu > li > div > a{
    color: #504F51;
}
ul.main_menu > li{
    border-right: 1px solid #000;
    position: relative;
    border-bottom: 2px solid #fff;
}
ul.main_menu > li:last-child{
    border-right: 0;
}

ul.main_menu > li:hover{
    border-bottom: 2px solid #E18686;
}

/* リンパ浮腫治療ページ用のメニュー */
ul.rinpa_menu {
    border-top:2px solid #fff;
    background-color: #E18686;
}
ul.rinpa_menu > li{
    border-right: 1px solid #fff;
    position: relative;
    padding: 10px 0;
    height: 48px;
}
ul.rinpa_menu > li:last-child{
    border-right: 0;
}
ul.rinpa_menu > li > p,
ul.rinpa_menu > li > a,
ul.rinpa_menu > li > ul.rinpa_sub_menu > li > a{
    color: #fff;
    font-size: 14px;
    font-weight: bold;
}
ul.rinpa_menu > li > ul.rinpa_sub_menu{
    display: none;
    position: absolute;
    top: 48px;
    left: 0;
    width: 100%;
    background-color: #E18686;
    z-index: 1000;
}
ul.rinpa_menu > li:hover > ul.rinpa_sub_menu{
    display: block;
}
ul.rinpa_menu > li > ul.rinpa_sub_menu > li{
    padding: 8px 0;
    border-top: 1px solid #fff;
}


.news_list dl dt{
    width: 7em;
    text-align: center;
    font-weight: normal;
    font-size: 14px;
}
.news_list dl dd{
    width: calc( 100% - 7em);
    font-size: 14px;
}


.top_message{
    width: 60%;
    padding-right: 32px;
}
.top_message_pic{
    width: 40%;
}

h2.h2_title{
    position: relative;
    padding: 0;
}
h2.h2_title:before {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #E18686;
}
h2.h2_title span {
    position: relative;
    padding: 0 1em 0 0;
    background: #fff;
}

ul.ul_square{
    padding-left: 1.25em;
    text-indent: -1.25em;
}
ul.ul_square li::before{
    content: "■";
    color: #E18686;
}

.price_table thead th{
    border: 1px solid #E18686;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    border-bottom: 0;
}
.price_table thead th:first-child{
    border-left: 1px solid #E18686;
}
.price_table thead th:last-child{
    border-right: 1px solid #E18686;
}
.price_table,
.price_table tbody th,
.price_table tbody td{
    border: 1px solid #E18686;
}

.balloon-top {
    position: relative;
    display: inline-block;
    margin: 1.5em 0;
    width: 100%;
    color: #fff;
    font-size: 16px;
    background: #E18686;
}
.balloon-top:before {
    content: "";
    position: absolute;
    top: -40px;
    left: 50%;
    margin-left: -40px;
    border-style: solid;
    border-width: 0 15px 40px 15px;
    border-color: transparent transparent #E18686 transparent;
}

footer{
    border-bottom: 4px solid #E18686;
}
footer div.leftBox{
    position: relative;
}
footer p.credit{
    position: absolute;
    bottom: 0;
    left:10px;
}
footer dl.service_time dt{
    border-top: 2px solid #E18686;
    border-bottom: 2px solid #E18686;
    border-left: 2px solid #E18686;
    border-right: 2px solid #E18686;
    width: 150px;
    height: 42px;
    line-height: 42px;
    background-color: #F9E6E6;
}
footer dl.service_time dd{
    border-top: 0;
    border-bottom: 2px solid #E18686;
    border-right: 2px solid #E18686;
    border-left: 2px solid #E18686;
    width: calc( 100% - 150px);
    height: 42px;
    line-height: 42px;
}
ul.footer_description li{
    padding-left: 1em;
    text-indent: -1em;
}
ul.footer_description li::before{
    content: "※";
}

ul.star li{
    padding-left: 1em;
    text-indent: -1em;
}
ul.star li::before{
    content: "★";
}
ul.ul_normal li{
    padding-left: 1em;
    text-indent: -1em;
}
ul.ul_normal li::before{
    content: "・";
}


.sub_title{
    padding-top: 50px;
    padding-bottom: 50px;
    width: 100%;
    border-radius: 30px 30px 0 0;
    background-color:#E18686;
    color: #fff;
    padding-left: 40px;
    box-sizing: border-box;
}


@media (max-width: 575.98px) {
    .container-md{
        width: 100%;
    }
    header{
        border-top: 8px solid #E18686;
    }
    .news_list dl dd{
        width: 100%;
        font-size: 14px;
    }

    .reserve_flow .flow_text_box{
        background-color: #E18686;
        color: #fff;
        font-weight:bold;
        margin: 0 auto;
    }
    .reserve_flow .flow_text_white_box{
        background-color: #fff;
        font-weight:bold;
        margin: 0 auto;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .container-md{
        width: 100%;
    }
    .news_list dl dd{
        width: 100%;
        font-size: 14px;
    }
    .reserve_flow .flow_text_box{
        background-color: #E18686;
        color: #fff;
        font-weight:bold;
        margin: 0 auto;
    }
    .reserve_flow .flow_text_white_box{
        background-color: #fff;
        font-weight:bold;
        margin: 0 auto;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .container-md{
        width: 768px;
        padding: 0 0.5rem;
        margin: 0 auto;
    }
    h2.reserve_caution{
        position: relative;
        padding: 0 65px;
        text-align: center;
    }
    h2.reserve_caution:before {
        position: absolute;
        top: calc(50% - 1px);
        left: 0;
        width: 100%;
        height: 1px;
        content: '';
        background: #E18686;
    }
    h2.reserve_caution span {
        position: relative;
        padding: 0 1em;
        background: #fff;
        display: inline-block;
    }

    h2.reserve_caution2{
        position: relative;
        padding: 0 65px;
        text-align: center;
    }
    h2.reserve_caution2:before {
        position: absolute;
        top: calc(50% - 2px);
        left: 0;
        width: 100%;
        height: 2px;
        content: '';
        background: #E18686;
    }
    h2.reserve_caution2 span {
        position: relative;
        padding: 0 1em;
        background: #fff;
    }

    .reserve_flow .flow_text_box{
        background-color: #E18686;
        color: #fff;
        font-weight:bold;
        margin: 0 auto;
    }
    .reserve_flow .flow_text_white_box{
        background-color: #fff;
        font-weight:bold;
        margin: 0 auto;
    }
    .w_md_60{ width: 60% !important; box-sizing: border-box; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    footer dl.service_time dd{
        border-top: 2px solid #E18686;
        border-left: 0;
    }
    .container-md{
        width: 992px;
        padding: 0 0.5rem;
        margin: 0 auto;
    }
    h2.reserve_caution{
        position: relative;
        padding: 0 65px;
        text-align: center;
    }
    h2.reserve_caution:before {
        position: absolute;
        top: calc(50% - 1px);
        left: 0;
        width: 100%;
        height: 1px;
        content: '';
        background: #E18686;
    }
    h2.reserve_caution span {
        position: relative;
        padding: 0 1em;
        background: #fff;
        display: inline-block;
    }

    h2.reserve_caution2{
        position: relative;
        padding: 0 65px;
        text-align: center;
    }
    h2.reserve_caution2:before {
        position: absolute;
        top: calc(50% - 2px);
        left: 0;
        width: 100%;
        height: 2px;
        content: '';
        background: #E18686;
    }
    h2.reserve_caution2 span {
        position: relative;
        padding: 0 1em;
        background: #fff;
    }

    .reserve_flow .flow_text_box{
        background-color: #E18686;
        color: #fff;
    }
    .reserve_flow .flow_text_white_box{
        background-color: #fff;
        font-size:14px;
        font-weight:bold;
        margin: 0 auto;
    }
    .w_md_60{ width: 60% !important; box-sizing: border-box; }
}

@media (min-width: 1200px) {
    footer dl.service_time dd{
        border-top: 2px solid #E18686;
        border-left: 0;
    }

    .container-md{
        width: 1024px;
        margin: 0 auto;
    }
    h2.reserve_caution{
        position: relative;
        padding: 0 65px;
        text-align: center;
    }
    h2.reserve_caution:before {
        position: absolute;
        top: calc(50% - 1px);
        left: 0;
        width: 100%;
        height: 1px;
        content: '';
        background: #E18686;
    }
    h2.reserve_caution span {
        position: relative;
        padding: 0 1em;
        background: #fff;
        display: inline-block;
    }

    h2.reserve_caution2{
        position: relative;
        padding: 0 65px;
        text-align: center;
    }
    h2.reserve_caution2:before {
        position: absolute;
        top: calc(50% - 2px);
        left: 0;
        width: 100%;
        height: 2px;
        content: '';
        background: #E18686;
    }
    h2.reserve_caution2 span {
        position: relative;
        padding: 0 1em;
        background: #fff;
    }

    .reserve_flow .flow_text_box{
        background-color: #E18686;
        color: #fff;
        font-weight:bold;
        margin: 0 auto;
    }
    .reserve_flow .flow_text_white_box{
        background-color: #fff;
        font-weight:bold;
        margin: 0 auto;
    }
    .w_md_60{ width: 60% !important; box-sizing: border-box; }
}

.breadcrumb{
    background-color: #fff !important;
    font-weight: bold;
}




.blog_list{
    border-bottom: 1px dotted #E18686;
}

.widget-title{
    font-size: 18px;
    font-weight: bold;
}

.xoxo li{
    margin-bottom: 1em;
}
.xoxo li a{
    text-decoration: underline;
}

.single-post h2.entry-title{
    font-size: 24px !important;
}

.single-post .post_date{
    border-top: 2px solid #504F51;
    border-bottom: 1px solid #504F51;
    padding: 3px 0;
    margin-top: 1em;
    margin-bottom: 1em;
}

.bottom_dotted_line{
    border-bottom: 1px dotted #E18686;
}

.search_title{
    border-bottom: 1px dotted #E18686;
}

.form_hissu{
    color: #fff;
    background-color: #E18686;
    padding: 0.25em 0.5em;
}


.reserve_table dl,
.reserve_table dl dt,
.reserve_table dl dd{
    border: 1px solid #E18686;
}
.reserve_table dl dt{
    background-color: #F9E6E6;
}

.btn-pink{
    display: inline-block;
    font-weight: 400;
    color: #ffffff;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    height: 48px;
    line-height: 48px;
    border-radius: 24px;
    padding: 0 24px;
    background-color: #E18686;
}


.menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #E18686;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}
.hamburger-menu{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1021;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1021;
    overflow: scroll;
}
.menu-content ul {
    padding: 70px 0 0;
    background-color: #E18686;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
    text-align: left;
    padding: 0 0 0 10px;
}
.menu-content ul li.top_title {
    display: block;
    width: 100%;
    font-size: 18px;
    font-weight:bold;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 10px;
    position: relative;
}
.menu-content ul li.top_title p{
    border-left: 3px solid #fff;
    padding-left: 6px;
}

.menu-content ul li.top_menu a{
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-content ul li.sub_menu a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 1em;
    position: relative;
}
.menu-content ul li.top_menu a::before,
.menu-content ul li.sub_menu a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #E18686;
    transition: all 0.75s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}


.wp-block-image img{
	height: auto !important;
}

#page_top{
    width: 50px;
    height: 50px;
    position: fixed;
    right: 10px;
    bottom: -50px;
    background: #E18686;
    opacity: 0.8;
    border-radius: 50%;
}
#page_top a{
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}
#page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

.cursor-pointer{
    cursor: pointer;
}

.buttonLikeTitle{
    color:#E18686;
    border: 1px solid #E18686;
    border-radius: 50rem;
    padding: 16px;
    max-width: 460px;
    width: 100%;
    text-align: center;
    background-color: #fff;
}

.breadcrumbs a{
    color: #000 !important;
}

#greeting a{
    color: #000000;
    text-decoration: none;
}

.accessButton,
.accessButton:hover{
    display: block;
    color:#fff;
    border-radius: 50rem;
    padding: 16px;
    max-width: 383px;
    width: 100%;
    text-align: center;
    background-color: #E18686;
    text-decoration: none;
    margin: 0 auto;
    font-weight: bold;
}
.accessButton:hover{
    background-color: #e18686d3;
}

.accessButton i {
    color: #ffffff;
    transition: transform 0.5s ease;
}

.accessButton:hover i {
    transform: rotate(360deg);
}

.icon-rotate i{
    transition: transform 0.5s ease;
}
.icon-rotate:hover i {
    transform: rotate(360deg);
}

.telButton i {
    color: #E18686;
    transition: transform 0.5s ease;
}

.telButton:hover i {
    transform: rotate(360deg);
}
.telButton,
.telButton:hover{
    display: block;
    color:black;
    border-radius: 50rem;
    padding: 16px;
    max-width: 383px;
    width: 100%;
    text-align: center;
    background-color: #fff;
    text-decoration: none;
    margin: 0 auto;
    font-weight: bold;
    border: 1px solid #ffffff;
}
.telButton:hover{
    background-color: #e1868611;
}

.header_tel_link,
.header_tel_link:hover{
    color: #8AB650;
    text-decoration: none;
}
.header_tel_link:hover{
    color: #8ab650d3;
}

.nav-item .nav-link.active{
    border-color: #E18686 !important;
    border-bottom: none !important;
    border-bottom-width: 0px !important;
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
}

.nav-item a,
.nav-item a:hover{
    color: #000;
}

.tab_set {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
}

/* タブの名前のところだよ */
.tab_label {
    color: #fff;
    background: #E18686AA;
    padding: 15px 20px;
    margin-right: 10px;
    order: -1;
    position: relative;
    line-height: 1;
    cursor: pointer;
}
.tab_label.rinpa{
    background: #E18686AA;
}
.tab_label.massage{
    background: #8CB6DEAA;
}
.tab_label.visit{
    background: #71BE74AA;
}

/* 本文をいれるところだよ */
.tab_content {
    display: none;
    padding: 20px 0;
    width: 100%;
}

/* タブをクリックした時のCSSだよ */
.tab_switch:checked+.tab_label.rinpa{
    background: #E18686;
}
.tab_switch:checked+.tab_label.massage{
    background: #8CB6DE;
}
.tab_switch:checked+.tab_label.visit{
    background: #71BE74;
}

.tab_switch:checked+.tab_label+.tab_content {
    display: block;
}

/* ラジオボタンだよ */
.tab_switch {
    display: none;
}

/*ウィンドウサイズが769px以下になった時のCSSだよ*/
@media print,screen and (max-width:767px) {
    .tab_set {
        display: block;
    }

    .tab_label {
        display: block;
        margin-right: 0;
        text-align: center;
    }

    .travelclinic .tab_label.last {
        border-bottom: none;
    }

    .travelclinic .tab_switch:checked+.tab_label {
        border-bottom: 1px solid #59A8B7;
    }
}