@charset "utf-8";

/*--- br --*/
/*---PC・タブレット時---*/
@media screen and (min-width: 768px){	
    .br-pc { display:block; }
    .br-sp { display:none; }
    }
/*---スマホ時--*/
@media screen and (max-width: 767.9px){	
    .br-pc { display:none; }
    .br-sp { display:block; }
    }

/*-------------- width992以上 --------------*/
@media screen and (min-width:992px) {
    .hamburger,
    nav.globalMenuSp,
    nav.globalMenuSp.active {
        display: none;
    }
}

/*-------------- width992未満 --------------*/
@media screen and (max-width:991.9px) {
    /*--- 共通 ---*/
    .title03 {
        font-size: 1.25rem;
    }
    .title_bl {
        font-size: 1.75rem;
    }
    .ttl_s {
        font-size: 1.125rem;
    }
    /* header */
    #header {
        background-color: #FFF;
        height: 72px;
    }
    .h_left {
        padding-left: 10px;
    }
    .h_info {
        display: none;
    }      
    #h_bottom {
        display: none;
    }

    /* cover */
    #cover {
        padding-top: 72px;
    }
    #underlayer_cover {
        padding-top: 0;
    }
    .cover_inner {
        top: 35%;
    }

    /* footer */
    .time_table {
        margin: 0 auto;
    }

    /* aside
    #aside .rarea {
        bottom: 15%;
        right: 3%;
        width: 16.935vw;
      }
      .resv_btn {
        width: 15.323vw;
        height: 15.323vw;
        padding: .5rem;
        font-size: 12px;
      }
      .resv_btn i {
        font-size: 4.032vw;
        margin-bottom: .5rem;
      }
      #about #aside .rarea,
      #treatment #aside .rarea,
      #plan #aside .rarea,
      #contact #aside .rarea,
      #thanks #aside .rarea {
        top: 30%;
      } */

    /* index */
    .lead p:last-child {
        text-align: justify;
    }

    /*--- about ---*/
    .List-Item-Content.one .List-Item-Content-Title {
        flex-basis: 48px;
    }

    /*--- treatment ---*/
    .p_list_item01 {
        font-size: 1.25rem;
    }

    /*--- plan ---*/
    .plan_chart ul li h3 {
        font-size: 4.032vw;
    }
    /*--- contact ---*/
    /* contact form */
    .mailform dt {
        width: 100%;
        padding: .5rem 1rem;
    }
    .mailform dd {
        width: 100%;
    }
    .mailform dt:last-of-type {
        border-bottom: none;
    }
    input[type="text"], textarea {
        width: 100% !important;
    }

    /*--- news page ---*/
    /* お知らせ一覧 */
    .art_list_more {
        width: 50%;
    }
    /* 詳細ページ */
    .btn_c a {
        width: 80%;
        padding-right: 0;
        padding-left: 0;
    }
}
/*-------------- width768未満 --------------*/
@media screen and (max-width:767.9px) {
    /*--- 共通 ---*/
    .sp_txt767 {
        text-align: left;
    }
    /* aside
    #about #aside .rarea,
    #treatment #aside .rarea,
    #plan #aside .rarea,
    #contact #aside .rarea,
    #thanks #aside .rarea {
      top: 25%;
    } */
    /* aside */
    #aside .rarea {
        width: auto;
        bottom: 12%;
    }
    .resv_btn {
        width: 17.708vw;
        height: 17.708vw;
        font-size: 2.083vw;
    }
    .resv_btn i {
        font-size: 4.167vw;
        margin-bottom: 1.563vw;
    }
    .resv_btn {
        padding: 1.5rem 1rem 1rem;
    }
    #about #aside .rarea,
    #treatment #aside .rarea,
    #plan #aside .rarea,
    #contact #aside .rarea,
    #thanks #aside .rarea,
    #news_detail #aside .rarea,
    #news_list #aside .rarea {
      top: 35%;
    }
  
    /* footer */
    .time_table {
        font-size: 1rem;
    }
    .fl_box01 dt {
        width: 35%;
    }
    .fl_box01 dd {
        width: 65%;
    }

    /* index */
    .notice p {
        text-align: left;
    }
    .g_calender {
        padding-bottom: 90%;
    }

    /* treatment */
    .price_list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .p_list_item01 {
        width: 100%;
    }
    .p_list_data {
        width: 100%;
        font-size: 1.125rem;
    }
        
    /* plan */
    .plan_inner {
        padding: 0 15px;
    }
    .plan_chart ul {
        flex-flow: column;
    }
    .plan_chart ul li {
        width: 100%;
        padding-left: 30px;
        padding-right: 30px;
    }
    .plan_chart ul li h3 {
        margin-bottom: 30px;
        font-size: 5.215vw;
    }
    .plan_chart ul li:first-child:after {
        top: 99.5%;
        position: absolute;
        right: 50%;
        left: 50%;
        margin: 0 auto;
        border-top: 30px solid #e6f3ff;
        border-right: 30px solid transparent;
        border-bottom: 30px solid transparent;
        border-left: 30px solid transparent;
        transform: translate(-50%, 0px);
    }
    .plan_chart ul li:nth-child(2):after {
        top: 99.5%;
        position: absolute;
        right: 50%;
        left: 50%;
        margin: 0 auto;
        border-top: 30px solid #FFF;
        border-right: 30px solid transparent;
        border-bottom: 30px solid transparent;
        border-left: 30px solid transparent;
        transform: translate(-50%, 0px);
    }
    .pl_txt02 {
        font-size: 3.646vw;
    } 

    /*--- news page ---*/
    /* お知らせ一覧 */
    .article_list dt {
        width: 100%;
        border-bottom: none;
        padding-bottom: 0;
    }
    .article_list dd {
        width: 100%;
        padding-top: .5em;
    }
    /* 詳細ページ */
    .btn_c a {
        width: 90%;
    }
}
/*-------------- width576未満 --------------*/
@media screen and (max-width:575.9px) {
    /* 共通 */
    /* header */
    .main_header {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    /* sp header */
    .h_left,
    .h_right {
        width: 50%;
    }    
    /* sp menu */
    nav.globalMenuSp {
        transform: translateX(0);
    }
    
    /* aside */
    .resv_btn {
        padding: 1.2rem .75rem;
    }

    /* about */
    .List-Item {
        border-top: 0;
    }
    .List-Item-Content {
        padding-top: 15px;
        padding-bottom: 15px;
        flex-wrap: wrap;
    }
    .List-Item-Content-Number {
        margin-right: 20px;
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 24px;
    }
    .List-Item-Content-Number-Line {
        top: -42%;/*-80%*/
        width: 2px;
        height: 48px;/*72px*/
      }
    .List-Item-Content-Title {
        margin-right: 0;
        max-width: 230px;
        font-size: 18px;
    }
    .List-Item-Content-Description {
        margin-left: 60px;
        max-width: 260px;
        font-weight: normal;
        font-size: 13px;
    }
    .List-Item-Content-Description .br-sp {
        display: none;
    }

    /* treatment */
    .p_list_item01 {
        padding: .5em;
    }
    .p_list_data .p_list_inbox > .item {
        width: 30%;
        padding: .5em;
    }
    .p_list_data .p_list_inbox > .data {
        width: 70%;
        padding-right: 2em;
        padding-left: 2em;
        /*line-height: normal;*/
    }
    
    /* plan */
    .plan_chart ul li h3 {
        font-size: 6.944vw;
    }
    .pl_txt02 {
        font-size: 5.556vw;
      }

    /* privacy */
    #privacy h2 {
        padding: .5em;
    }
    .pp_txt p {
        margin-right: 1rem;
        margin-left: 1rem;
    }
    .pp_list {
        text-indent: .5rem;
        margin-left: 1rem;
    }
}

/*--- width492以下調整 ---*/
@media screen and (max-width:492.9px) {
    .List-Item-Content-Number-Line {
        top: -68%;/*-80%*/
        width: 2px;
        height: 56px;/*72px*/
    }
      .List-Item-Content-Number-Line:not(.first) {
        top: -48%;
        width: 2px;
        height: 40px;
    }
}


/*-------------- width480未満 --------------*/
@media screen and (max-width:479.9px) {
    /*--- 共通 ---*/
    .title01 {
        font-size: 6.250vw;
    }
    .title02 {
        font-size: 5.833vw;
    }
    .title02::before {
        bottom: -4.167vw;
        width: 41.667vw;
        border-bottom: 1.667vw solid #5ecc62;
    }
    .title02::after {
        bottom: -4.167vw;
        left: 20.833vw;
        width: 20.833vw;
        border-bottom: 1.667vw solid #0085f7;
    }
    .title03 {
        font-size: 4.167vw;
    }
    .title_bl {
        font-size: 5.833vw;
    }
    .ttl_s {
        font-size: 3.750vw;
    }
    /* header */
    .site_name {
        width: 160px;
    }
    .to_contact,
    .to_reserve {
        display: none;
    }
    /* sp menu */
    .hamburger span {
        left: 24px;
    }

    /* footer */
    .fl_box01 dl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .fl_box01 dt,
    .fl_box01 dd {
        width: 100%;
    }
    .fl_box01 dt {
        margin-bottom: 8px;
    }
    .fl_box01 dd {
        margin-right: 0;
        margin-left: 0;
    }
    
    /* aside */
    .resv_btn {
        width: 20vw;
        height: 20vw;
        font-size: 2.500vw;
    }
    .resv_btn i {
        font-size: 4.167vw;
        margin-bottom: 1.563vw;
    }
    .resv_btn {
        padding: 1rem .75rem;
    }

    /* about */
    .diff_ttl::before,
    .diff_ttl::after {
        left: 45.5%;
    }
    .diff_list {
        margin-left: 1em;
    }
    .List-Item-Content-Number {
        width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 20px;
    }
    /*.List-Item-Content-Title {
        max-width: none;
    }*/
    .List-Item-Content-Description {
        margin-left: 4.75em;
    }
    .accordion-container .accordion-title,
    .accordion-content p {
        font-size: 1rem;
    }
    .accordion-container .accordion-title,
    .accordion-content {
        padding: 1em 1.5em;
    }

    /* treatment */
    .p_list_item01 {
        font-size: 4.167vw;
    }
    .p_list_data {
        font-size: 3.750vw;
    }
    .p_list_data .p_list_inbox > .data {
        padding-right: 1em;
        padding-left: 1em;
    }

    /* plan */
    .pl_txt02 {
        font-size: 5.833vw;
    }

    /*--- news page ---*/
    /* 短い一覧調整 */
    .news dl dt {
        width: 100%;
        font-size: 16px;
        border-bottom: none;
        padding-bottom: 0;
    }
    .news dl dt:first-child {
        padding-top: 0;
    }
    .news dl dd {
        width: 100%;
        font-size: 16px;
        padding-top: 0;
    }
    /* 詳細ページ */
    .btn_c a {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    /*--- contact form ---*/
    .submit {
        width: 80%;
    }
    
    /*--- privacy ---*/
    #privacy h2 {
        font-size: 5.833vw;
    }
}