@charset "utf-8";
/* CSS Document */

@media screen and (min-width : 500px){


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
    }
    
    .kv .inner{
        height: 100vh;
        min-height: 650px;
    }
    
    .kv .inbox{
        padding: 0 0 0;
    }

    .kv h1{
        width: 33.2vw;
    }


    /* index_news
       ================================================================== */
    .index_news .news_slider{
    	height: 10.0vw;
    }
    
    .index_news .news_slider .swiper-wrapper{
    	width: calc(100% - 5.0vw);
    }
    
    .index_news .news_slider .swiper-slide{
    	display: flex;
        align-items: center;
    }
    
    .index_news .news_slider .arrows{
    	width: 5.0vw;
    }
    
    .index_news .news_slider .arrows .swiper-button-prev,
    .index_news .news_slider .arrows .swiper-button-next{
    	width: 1.3vw;
        height: .7vw;
    }
    
    .index_news .news_slider .arrows .swiper-button-prev:hover,
    .index_news .news_slider .arrows .swiper-button-next:hover{
    	opacity: .5;
    }
    
    .index_news .news_slider .arrows .swiper-button-prev{
        top: 2.8vw;
    }
    
    .index_news .news_slider .arrows .swiper-button-next{
        bottom: 2.8vw;
    }
    
    .index_news .news_slider .box span{
        font-size: 1.5vw;
    }
    
    .index_news .news_slider .box .date{
        width: 11.0vw;
    }
    
    .index_news .news_slider .box .txt{
        width: calc(100% - 11.0vw);
    }


    /* flex_title
       ================================================================== */
    .flex_title{
        display: flex;
        justify-content: flex-end;
        position: relative;
    }
    
    .flex_title .block_text{
        margin: 0;
        display: flex;
        align-items: center;
        position: absolute;
        top: 5vw;
        left: 0;
        overflow: hidden;
        width: 56%;
    }
    
    /* 長さ調整 */
    .reserve .flex_title .block_text{
        width: 41%;
    }
    
    .index_products .flex_title .block_text{
        width: 28%;
    }
    
    .diet .flex_title .block_text{
        width: 68%;
    }
    
    .flex_title .block_text .inbox{
        width: 100%;
    }
    
    .flex_title .sub{
        padding: 0 0 1.4vw;
        font-size: 1.8vw;
        min-height: 3vw;
    }
    
    .flex_title .txt{
        padding: 1.6vw 0 0;
        font-size: 1.4vw;
    }

    .flex_title .txt.f18{
        font-size: 1.8vw;
    }
    
    /* logo_in */
    .flex_title .logo{
        width: 38vw;
    }
    
    
    /* block_title
       ================================================================== */
    .block_title .siz_l{
        font-size: 11.0vw;
    }
    
    .block_title .siz_s{
        margin: 1vw 0 0;
        font-size: 3.5vw;
    }


    /* reserve
       ================================================================== */
    .reserve{
        padding: 13.0vw 0;
    }
    
    .reserve_btn{
        margin: 7.0vw 0 0;
    }
    
    .reserve_btn li{
        margin: 3.0vw 0 0;
    }
    
    .reserve_btn li a{
        padding: 0 7.0vw;
        height: 18.0vw;
    }
    
    .reserve_btn li a::before,
    .reserve_btn li a::after{
        right: 5.0vw;
        transition: .2s;
    }
    
    .reserve_btn li a::before{
        width: 19.1vw;
    }
    
    .reserve_btn li a::after{
        border-width: 5.5px 0 5.5px 11px;
    }
    
    .reserve_btn li a:hover::before,
    .reserve_btn li a:hover::after{
        transform: translateX(20px);
    }
    
    .reserve_btn li a:hover::before{
        width: calc(19.1vw + 20px);
    }
    
    /* tel */
    .reserve_btn li.tel .tel_txt{
        padding: 1.0vw 0 0;
        font-size: 3.5vw;
    }
    
    .reserve_btn li.tel .right{
        padding: 0 0 0 1.2vw;
    }
    
    .reserve_btn li.tel .number{
        font-size: 4.5vw;
    }
    
    .reserve_btn li.tel .txt{
        font-size: 1.6vw;
    }
    
    /* line */
    .reserve_btn li.line .icon{
        width: 7.0vw;
    }
    
    .reserve_btn li.line .txt{
        padding: 0 0 0 2.5vw;
        font-size: 4.5vw;
    }


    /* index_salon
       ================================================================== */
    .index_salon{
        padding: 7.0vw 0 15.0vw;
    }
    
    .contents_links{
        margin: -1.0vw 0 0;
    }
    
    .contents_links > ul{
        font-size: 0;
    }
    
    .contents_links > ul > li{
        margin: 5.0vw 0 0;
        width: calc((100% / 2) - 1.0vw);
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
    }
    
    .contents_links > ul > li:nth-child(2n+1){
        margin-right: 2.0vw;
    }
    
    .contents_links .photo .box{
        position: relative;
    }
    
    .contents_links .photo a img{
        transition: .3s;
    }
    
    .contents_links .photo a:hover img{
        opacity: .5;
    }
    
    .contents_links .photo .ttl{
        font-size: 4.5vw;
        top: 90%;
        right: 2.8vw;
    }
    
    .contents_links .text_box{
        margin: 2.5vw 0 0;
    }
    
    .contents_links .text_box ul li a{
        padding: 2.0vw 1.5vw 1.5vw 2.0vw;
        font-size: 1.5vw;
        line-height: 2.5vw;
    }
    
    .contents_links .text_box ul li a::before{
        width: .8vw;
        height: 1.3vw;
        right: .5vw;
        transition: .3s;
    }
    
    .contents_links .text_box ul li a:hover::before{
        transform: translateX(5px);
    }


    /* index_about
       ================================================================== */
    .index_about{
        padding: 7.0vw 0 10.0vw;
    }
    
    .index_about .photo{
        margin: 3.6vw 0 0;
    }
    
    .index_about .text_box{
        margin: 3.0vw 0 0;
    }
    
    .index_about .text_box p{
        line-height: 3.0vw;
    }


    /* index_products LPのみ
       ================================================================== */
    .index_products{
        padding: 12.0vw 0 10.0vw;
    }
    
    .index_products .photo_text_list{
        margin: 2.0vw 0 0;
    }
    
    
    /* photo_text_list
       ================================================================== */
    .photo_text_list{
        margin: 2.0vw 0 0;
        font-size: 0;
    }
    
    .photo_text_list > li{
        margin: 4.0vw 0 0;
        width: calc((100% / 2) - 1.0vw);
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
    }
    
    .photo_text_list > li:nth-child(2n+1){
        margin-right: 2.0vw;
    }
    
    .photo_text_list .text_box{
        padding: 2.1vw 1.5vw 0;
    }
    
    .photo_text_list .text_box .ttl{
        margin: 0 0 1.1vw;
        font-size: 1.8vw;
    }
    
    .photo_text_list .text_box .txt{
        font-size: 1.4vw;
        line-height: 2.8vw;
    }
    
    
    /* contact_border_box
       ================================================================== */
    .contact_border_box{
        margin: 5.0vw 0 -4.0vw;
        padding: 2.5vw 3.0vw;
    }
    
    .contact_border_box h3{
        margin: 0 0 1.1vw;
        font-size: 1.8vw;
    }
    
    .contact_border_box p{
        font-size: 1.4vw;
        line-height: 2.8vw;
    }

    
}
@media screen and (min-width : 1040px){    


    /* kv
       ================================================================== */
    .kv{
    	margin: 0 0 0;
    }
    
    .kv .inner{
        height: 100vh;
        min-height: 1000px;
    }
    
    .kv .inbox{
        padding: 0 0 0;
    }

    .kv h1{
        width: 332px;
    }


    /* index_news
       ================================================================== */
    .index_news .news_slider{
    	height: 100px;
    }
    
    .index_news .news_slider .swiper-wrapper{
    	width: calc(100% - 50px);
    }
    
    .index_news .news_slider .swiper-slide{
    	display: flex;
        align-items: center;
    }
    
    .index_news .news_slider .arrows{
    	width: 50px;
    }
    
    .index_news .news_slider .arrows .swiper-button-prev,
    .index_news .news_slider .arrows .swiper-button-next{
    	width: 13px;
        height: 7px;
    }
    
    .index_news .news_slider .arrows .swiper-button-prev{
        top: 28px;
    }
    
    .index_news .news_slider .arrows .swiper-button-next{
        bottom: 28px;
    }
    
    .index_news .news_slider .box span{
        font-size: 15px;
    }
    
    .index_news .news_slider .box .date{
        width: 110px;
    }
    
    .index_news .news_slider .box .txt{
        width: calc(100% - 110px);
    }


    /* flex_title
       ================================================================== */
    .flex_title{
        display: flex;
        justify-content: flex-end;
        position: relative;
    }
    
    .flex_title .block_text{
        margin: 0;
        display: flex;
        align-items: center;
        position: absolute;
        top: 50px;
        left: 0;
        overflow: hidden;
        width: 592px;
    }
    
    /* 長さ調整 */
    .reserve .flex_title .block_text{
        width: 435px;
    }
    
    .index_products .flex_title .block_text{
        width: 320px;
    }
    
    .diet .flex_title .block_text{
        width: 700px;
    }
    
    .flex_title .sub{
        padding: 0 0 14px;
        font-size: 18px;
        min-height: 26px;
    }
    
    .flex_title .txt{
        padding: 16px 0 0;
        font-size: 14px;
    }

    .flex_title .txt.f18{
        font-size: 18px;
    }
    
    /* logo_in */
    .flex_title .logo{
        width: 354px;
    }

    
    /* block_title
       ================================================================== */
    .block_title .siz_l{
        font-size: 110px;
        letter-spacing: 0.09em;
    }
    
    .block_title .siz_s{
        margin: 10px 0 0;
        font-size: 35px;
    }


    /* reserve
       ================================================================== */
    .reserve{
        padding: 130px 0;
    }
    
    .reserve_btn{
        margin: 70px 0 0;
    }
    
    .reserve_btn li{
        margin: 30px 0 0;
    }
    
    .reserve_btn li a{
        padding: 0 70px;
        height: 180px;
    }
    
    .reserve_btn li a::before,
    .reserve_btn li a::after{
        right: 50px;
    }
    
    .reserve_btn li a::before{
        width: 191px;
    }
    
    .reserve_btn li a::after{
        border-width: 5.5px 0 5.5px 11px;
    }
    
    .reserve_btn li a:hover::before,
    .reserve_btn li a:hover::after{
        transform: translateX(20px);
    }
    
    .reserve_btn li a:hover::before{
        width: calc(191px + 20px);
    }
    
    /* tel */
    .reserve_btn li.tel .tel_txt{
        padding: 10px 0 0;
        font-size: 35px;
    }
    
    .reserve_btn li.tel .right{
        padding: 0 0 0 12px;
    }
    
    .reserve_btn li.tel .number{
        font-size: 45px;
    }
    
    .reserve_btn li.tel .txt{
        font-size: 16px;
    }
    
    /* line */
    .reserve_btn li.line .icon{
        width: 70px;
    }
    
    .reserve_btn li.line .txt{
        padding: 0 0 0 25px;
        font-size: 45px;
    }


    /* index_salon
       ================================================================== */
    .index_salon{
        padding: 70px 0 150px;
    }
    
    .contents_links{
        margin: -10px 0 0;
    }
    
    .contents_links > ul{
        font-size: 0;
    }
    
    .contents_links > ul > li{
        margin: 50px 0 0;
        width: calc((100% / 2) - 10px);
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
    }
    
    .contents_links > ul > li:nth-child(2n+1){
        margin-right: 20px;
    }
    
    .contents_links .photo .box{
        position: relative;
    }
    
    .contents_links .photo .ttl{
        font-size: 65px;
        top: 85%;
        right: 25px;
    }
    
    .contents_links .text_box{
        margin: 25px 0 0;
    }
    
    .contents_links .text_box ul li a{
        padding: 20px 55px 15px 20px;
        font-size: 15px;
        line-height: 25px;
    }
    
    .contents_links .text_box ul li a::before{
        width: 8px;
        height: 13px;
        right: 20px;
    }


    /* index_about
       ================================================================== */
    .index_about{
        padding: 70px 0 100px;
    }
    
    .index_about .photo{
        margin: 36px 0 0;
    }
    
    .index_about .text_box{
        margin: 30px 0 0;
    }
    
    .index_about .text_box p{
        line-height: 30px;
    }


    /* index_products LPのみ
       ================================================================== */
    .index_products{
        padding: 120px 0 100px;
    }
    
    .index_products .photo_text_list{
        margin: 20px 0 0;
    }
    
    
    /* photo_text_list
       ================================================================== */
    .photo_text_list{
        margin: 20px 0 0;
        font-size: 0;
    }
    
    .photo_text_list > li{
        margin: 40px 0 0;
        width: calc((100% / 2) - 10px);
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
    }
    
    .photo_text_list > li:nth-child(2n+1){
        margin-right: 20px;
    }
    
    .photo_text_list .text_box{
        padding: 21px 15px 0;
    }
    
    .photo_text_list .text_box .ttl{
        margin: 0 0 11px;
        font-size: 18px;
    }
    
    .photo_text_list .text_box .txt{
        font-size: 14px;
        line-height: 28px;
    }
    
    
    /* contact_border_box
       ================================================================== */
    .contact_border_box{
        margin: 50px 0 -40px;
        padding: 25px 30px;
    }
    
    .contact_border_box h3{
        margin: 0 0 11px;
        font-size: 18px;
    }
    
    .contact_border_box p{
        font-size: 14px;
        line-height: 28px;
    }
    

}
@media screen and (min-width : 1100px){

    /* index_salon
       ================================================================== */
    .contents_links .photo .ttl{
        right: 48px;
    }    
    
}
