@charset "utf-8";
/* CSS Document */


/* under_kv
   ================================================================== */
.under_kv{
	margin: 0 0 0;
	position: relative;
    overflow: hidden;
}

.under_kv > img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.under_kv .inner{
    height: 60vw;
}

.under_kv .page_title{
    position: absolute;
    top: -6vw;
    left: 7vw;
    transform: rotate(90deg);
    transform-origin: left bottom;
}

.under_kv .page_title > span{
    padding: 0 0 0 12vw;
    font-size: 5vw;
    letter-spacing: 0.1em;
    font-family: 'Noto Serif JP';
    font-weight: 600;
    color: #C4AE8F;
}

.under_kv .page_title > span:before{
	content: "";
	background: #C4AE8F;
	width: 10vw;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 0;
}


/* pankz
   ================================================================== */
.pankz{
    padding: 3vw 0 1vw;
    font-size: 0;
}

.pankz > li{
    margin: 0 8vw 2vw 0;
    display: inline-block;
    vertical-align: top;
    position: relative;
}

.pankz > li:last-child{
    margin-right: 0;
}

.pankz > li::before{
    content: "";
    background-image: url("../images/common/pankz_arrow.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 1.5vw;
    height: 6vw;
    position: absolute;
    top: 0;
    left: calc(100% + 3vw);
}

.pankz > li:last-child::before{
    display: none;
}

.pankz > li > span,
.pankz > li a{
    font-size: 3.5vw;
    font-weight: 600;
    letter-spacing: 0;
    color: #918069;
    display: block;
    font-family: 'Zen Old Mincho';
}

.pankz > li a{
    color: #918069;
}



/* cv_reservation
   ================================================================== */
.cv_reservation{
	margin: 0 0 0;
    padding: 0 0 16vw;
	position: relative;
    background: #261702;
}

.cv_reservation .inner{
	position: relative;
}

.cv_reservation .photo{
	margin: 0 0 0 -3vw;
    width: 90vw;
}

.cv_reservation .text_box{
	padding: 10vw 3vw 0;
}

.cv_reservation .text_box .box{
	padding: 0 0 0 5vw;
    border-left: 1px solid #fff;
}

.cv_reservation .text_box .box .ttl{
    font-size: 6vw;
    color: #fff;
    line-height: 1;
	font-family: 'Zen Old Mincho';
}

.cv_reservation .text_box .box p{
    margin: 4vw 0 0;
    font-size: 4vw;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
	font-family: 'Zen Old Mincho';
}

.cv_reservation .text_box .anime_btn{
    margin: 8vw 0 0;
}


/* common_about
   ================================================================== */
.common_about{
	margin: 0 0 0;
	position: relative;
    background: #1F1507;
}

.common_about + *{
	position: relative;
    z-index: 1;
}

.common_about .inner{
    padding-top: 15vw;
    padding-bottom: 50vw;
	position: relative;
}

.common_about .name{
    display: none;
    position: absolute;
    top: -6vw;
    left: 7vw;
    transform: rotate(90deg);
    transform-origin: left bottom;
}

.common_about .name > span{
    padding: 0 0 0 12vw;
    font-size: 5vw;
    letter-spacing: 0.1em;
    font-family: 'Zen Old Mincho';
    font-weight: 400;
    color: #918069;
}

.common_about .name > span:before{
	content: "";
	background: #918069;
	width: 10vw;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 0;
}

.common_about .text_box{
	position: relative;
    z-index: 1;
}

.common_about .ttl{
    font-size: 6vw;
    font-family: 'Zen Old Mincho';
    font-weight: 700;
    color: #fff;
}

.common_about .txt{
    margin: 5vw 0 0;
    font-size: 3.7vw;
    font-family: 'Noto Serif JP';
    font-weight: 500;
    color: #fff;
}

.common_about .message_txt{
    margin: 12vw 0 0;
    font-size: 4.5vw;
    font-family: 'Zen Old Mincho';
    font-weight: 500;
    color: #C4AE8F;
}

.common_about .anime_btn{
    margin: 12vw 0 0;
}

.menu_page .common_about .anime_btn{
    opacity: 0;
    visibility: hidden;
}

.common_about .about_photo01{
    position: absolute;
    top: -20vw;
    left: -20vw;
    width: 70vw;
}

.common_about .about_photo02{
    position: absolute;
    bottom: -12vw;
    right: -20vw;
    width: 80vw;
}


/* kv
   ================================================================== */
.kv{
	margin: 0 0 0;
	position: relative;
    z-index: 1;
}

.kv .inner{
    padding: 0;
}

/* nav_box */
.kv .nav_box{
    padding: 0 0 0;
    width: 50vw;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
}

.kv .nav_box .place{
    text-align: center;
}

.kv .nav_box .place > span{
    width: 90%;
    height: 12vw;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #A03535;
    color: #fff;
    line-height: 0;
}

.kv .nav_box .place > span img{
    width: 50%;
}

.kv .nav_box .site_logo{
    margin: 5vw auto 0;
    width: 90%;
    line-height: 0;
}

.kv .nav_box .kv_nav_flex{
    margin: 6vw 0 0;
    display: flex;
    justify-content: center;
}

.kv .nav_box .kv_nav{
    display: none;
}

.kv .nav_box .kv_nav > li{
    margin: 6vw 0 0;
    padding: 0 1vw;
}

.kv .nav_box .kv_nav > li:not(.anime_btn) a{
    padding: 0;
    display: inline-block;
    transition: all ease-out 0.3s;
    z-index: 2;
    box-sizing: border-box;
    font-size: 4.5vw;
    letter-spacing: 0.1em;
    font-weight: 500;
    color: #fff;
    font-family: 'Noto Serif JP';
    line-height: 120%;
}

.kv .nav_box .no1{
    margin: 40vw 3vw 0;
    width: 70%;
    line-height: 0;
}

/* main_box */
.kv .main_box{
    padding: 40vw 3vw 0;
    min-height: 200vw;
    background-image: url("../images/index/webp/kv.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
    box-sizing: border-box;
}

.kv .main_box .catch{
    font-size: 6vw;
    color: #C4AE8F;
    letter-spacing: 0.2em;
    font-weight: 500;
    font-family: 'Noto Serif JP';
}

.kv .main_box .txt{
    margin: 6vw 0 0;
    font-size: 4.2vw;
    color: #fff;
    letter-spacing: 0.2em;
    font-weight: 500;
    font-family: 'Noto Serif JP';
}


/* index_bg_color
   ================================================================== */
.index_bg_color{
	position: relative;
    z-index: 1;
    background: linear-gradient(to bottom , rgba(196,174,143,.83) 0, rgba(98,87,72,0) 80%, rgba(98,87,72,0) 100%);
}


/* worries
   ================================================================== */
.worries{
	margin: 0 0 0;
	position: relative;
}

.worries:before{
    margin: auto;
	content: "";
	background-image: url("../images/index/worries_item.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
	width: 12vw;
	height: 30vw;
	position: absolute;
	top: -10vw;
	left: 0;
    right: 0;
}

.worries .inner{
    padding-top: 25vw;
    position: relative;
}

.worries .inner:before,
.worries .inner:after{
	content: "";
	background-image: url("../images/index/webp/worries_bg01.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
	width: 120vw;
	height: 100vw;
	position: absolute;
	top: 0;
	left: -30vw;
}

.worries .inner:after{
	background-image: url("../images/index/webp/worries_bg02.webp");
	top: 80vw;
	left: auto;
	right: -30vw;
}

.worries .title{
    padding: 0 0 6vw;
    font-size: 5vw;
    font-weight: 600;
    color: #261702;
	font-family: 'Zen Old Mincho';
    position: relative;
    text-align: center;
}

.worries .title:before{
    margin: auto;
	content: "";
	background: #261702;
	width: 15vw;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
    right: 0;
}

.worries .list{
    margin: 0 0 0;
    font-size: 0;
    position: relative;
    z-index: 1;
}

.worries .list > li{
    margin: 10vw 2% 0;
    width: 46%;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    text-align: center;
}

.worries .list .text_box{
    padding: 3vw 0 0;
}

.worries .list .text_box h3{
    font-size: 4vw;
    font-weight: 700;
    color: #261702;
	font-family: 'Zen Old Mincho';
}

.worries .list .text_box p{
    margin: 1vw 0 0;
    font-size: 3.4vw;
    font-weight: 600;
    color: #261702;
	font-family: 'Zen Old Mincho';
}


/* suggestion
   ================================================================== */
.suggestion{
	margin: 0 0 0;
	position: relative;
}

.suggestion .inner{
	padding-top: 30vw;
	padding-bottom: 84vw;
	position: relative;
}

.suggestion .text_box{
	position: relative;
    z-index: 1;
}

.suggestion .title{
    padding: 10vw 0 0;
    width: 100%;
    font-size: 4.6vw;
    font-family: 'Zen Old Mincho';
    font-weight: 600;
    color: #261702;
    position: relative;
    box-sizing: border-box;
    border-top: 1px solid #261702;
}

.suggestion .title:before{
	content: "";
	background: #261702;
	width: 12vw;
	height: 3px;
	position: absolute;
	top: -2px;
	left: 0;
}

.suggestion .txt{
    margin: 15vw 0 0;
    font-size: 3.8vw;
    letter-spacing: 0.05em;
    font-family: 'Noto Serif JP';
    font-weight: 500;
    color: #261702;
}

.suggestion .anime_btn{
    margin: 15vw 0 0;
}

.suggestion .suggestion_photo01{
    position: absolute;
    bottom: 0;
    left: -20vw;
    width: 90vw;
}

.suggestion .suggestion_photo02{
    position: absolute;
    bottom: 3vw;
    right: -20vw;
    width: 80vw;
}


/* concept_about
   ================================================================== */
.concept_about{
	margin: 0 0 0;
	position: relative;
    background: #1F1507;
}

.concept_about .flex{
	position: relative;
}

.concept_about .text_box{
    margin: 0 -3vw;
	padding: 25vw 3vw;
    position: relative;
}

.concept_about .text_box::before{
	content: "";
    background-image: url("../images/concept/webp/about_bg.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.concept_about .text_box > *{
	position: relative;
    z-index: 1;
    color: #fff;
}

.concept_about .text_box .ttl{
    margin: 0 0 8vw;
    padding: 0 0 8vw;
    font-size: 5vw;
    font-weight: 600;
    letter-spacing: 0.2em;
	font-family: 'Zen Old Mincho';
    position: relative;
}

.concept_about .text_box .ttl:before{
	content: "";
	background: #fff;
	width: 12vw;
	height: 1px;
	position: absolute;
	top: 100%;
	left: 0;
}

.concept_about .text_box .txt{
    font-size: 3.5vw;
    line-height: 200%;
    font-weight: 500;
    letter-spacing: 0;
	font-family: 'Noto Serif JP';
}

.concept_about .photo_box{
    margin: 0 -3vw;
	padding: 10vw 0;
    position: relative;
}

.concept_about .photo_box::before{
	content: "";
    background: #150D01;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

.concept_about .photo_box .no1{
    position: relative;
    z-index: 1;
    line-height: 0;
}


/* point_block
   ================================================================== */
.point_block{
	margin: 0 0 0;
	position: relative;
}

.point_block .point_bg{
    background-image: url("../images/concept/webp/point_bg.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.point_block .point_bg.white{
    background-image: none;
    background: #fff;
}

.point_block .box{
	padding: 15vw 0;
}

.point_block .number > span{
    padding: 0 2vw 0 0;
	display: inline-flex;
    align-items: center;
    position: relative;
}

.point_block .number > span:before{
	content: "";
	background: #707070;
	width: 20vw;
	height: 1px;
	position: absolute;
	top: 60%;
	left: 100%;
}

.point_block .number > span > span{
    font-size: 4vw;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0;
	font-family: 'Zen Old Mincho';
}

.point_block .number > span > .siz_l{
    padding: 0 0 0 2vw;
    font-size: 6vw;
    font-weight: 700;
    color: #6468BE;
}

.point_block .ttl{
    margin: 3vw 0 0;
}

.point_block .ttl > span{
    font-size: 6vw;
	display: block;
    line-height: 150%;
    font-weight: 700;
    color: #6468BE;
	font-family: 'Zen Old Mincho';
}

.point_block .ttl > .kakko{
    margin-left: -3vw;
}

.point_block .txt{
    margin: 5vw 0 0;
    font-weight: 500;
    letter-spacing: 0.05em;
    font-family: 'Noto Serif JP';
}

.point_block .photo{
    margin: 10vw 0 0 auto;
    width: 60vw;
}

.point_block .photo .posi{
    position: relative;
    line-height: 0;
}

/* point01 */
.point_block .point01{
    padding-bottom: 0;
}

.point_block .point01 .photo .point01_item{
    position: absolute;
    top: 76%;
    left: 36%;
    width: 70vw;
    max-width: none;
}

/* point02 */
.point_block .point02 .photo{
    margin-left: auto;
    margin-right: auto;
}


/* menu_block
   ================================================================== */
.menu_block{
    padding: 10vw 0 25vw;
}

.menu_group > li + li{
    margin-top: 15vw;
}

.menu_group .group_ttl{
    padding: 2vw 2vw;
    font-size: 4vw;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0;
    font-family: 'Zen Old Mincho';
    background: #150D01;
    text-align: center;
}

/* menu_list */
.menu_list{
    margin: 0 0 0;
}

.menu_list > li{
    padding: 3vw 0;
    overflow: hidden;
}

.menu_list *{
    word-break: break-all;
    line-height: 150%;
    letter-spacing: 0;
}

.menu_list .price_name{
    padding: 1vw 0;
    display: block;
}

.menu_list .price_name .name{
    padding: .5vw 3vw;
    font-size: 3.7vw;
    min-width: 42vw;
    box-sizing: border-box;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0;
    font-family: 'Zen Old Mincho';
    background: #A03535;
    border-radius: 50px;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.menu_list .price_name .exp{
    margin: 2vw 0 0;
    font-size: 4.2vw;
    font-weight: 500;
    display: block;
    font-family: 'Noto Serif JP';
}

.menu_list .price_name .exp .siz_s{
    font-size: 3.2vw;
    font-weight: inherit;
    font-family: inherit;
    display: inline;
}

.menu_list .price_show{
    padding: 1.3vw 0 1vw;
    font-size: 6.5vw;
    font-weight: 700;
    font-family: 'Zen Old Mincho';
    text-align: right;
    display: inline-block;
    float: right;
    line-height: 150%;
}

.menu_list .price_show::before{
    content: "¥";
}


/* contact_cv
   ================================================================== */
.contact_cv{
    padding: 10vw 0 25vw;
}

.contact_cv .flex{
    position: relative;
}

.contact_cv .photo{
    margin: 0 -3vw;
}

.contact_cv .text_box{
    padding: 8vw 0 0;
}

.contact_cv .site_name{
    margin: 0 0 5vw;
    padding: 0 3vw 5vw;
    border-bottom: 1px solid #C4AE8F;
}

.contact_cv .site_name span{
    font-family: 'Zen Old Mincho';
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: 600;
}

.contact_cv .site_name .name1,
.contact_cv .site_name .add{
    font-size: 4vw;
    display: block;
}

.contact_cv .site_name .name_flex{
    margin: 3vw 0 0;
    display: flex;
    align-items: center;
}

.contact_cv .site_name .name_flex > span{
    display: block;
}

.contact_cv .site_name .name2{
    font-size: 6vw;
}

.contact_cv .site_name .add{
    margin: 0 0 0 4vw;
}

.contact_cv .text_box .bottom_box{
    padding: 0 3vw;
}

.contact_cv .text_box .txt{
    font-size: 3.2vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    font-family: 'Zen Old Mincho';
}

.contact_cv .text_box .txt + .txt{
    margin: 1vw 0 0;
}

.contact_cv .text_box .tel{
    margin: 4vw 0 0;
}

.contact_cv .text_box .tel a{
    font-size: 5vw;
    font-weight: 600;
    letter-spacing: 0.10em;
    font-family: 'Zen Old Mincho';
}

.contact_cv .text_box .tel a .siz_s{
    font-size: 3.5vw;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    font-family: inherit;
}

.contact_cv .text_box .btn_center{
    margin: 4vw 0 0;
    display: flex;
    text-align: center;
}

.contact_cv .text_box .anime_btn{
    display: flex;
}

.contact_cv .text_box .note{
    margin: 2vw 0 0;
    font-size: 3.2vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    font-family: 'Noto Serif JP';
}


/* photos_block
   ================================================================== */
.photos_block{
    padding: 0;
}

.photos_block .inner{
    padding: 0;
}

.photos_block .bg1{
    padding: 20vw 0 0;
    background: #C4AE8F;
}

.photos_block .bg2{
    padding: 1px 0 25vw;
    background: #261702;
}

.photos_block .photo01{
    width: 90vw;
}

.photos_block .photo02{
    margin: -10vw 0 0 auto;
    width: 40vw;
}

.photos_block .photo03{
    margin: -10vw 0 0;
    width: 70vw;
}


@media screen and (min-width : 500px){
    

    /* under_kv
       ================================================================== */
    .under_kv{
        margin: 5.0vw 0 0;
    }

    .under_kv .inner{
        height: 34.9vw;
    }

    .under_kv .page_title{
        top: -2.7vw;
        left: 3.8vw;
    }

    .under_kv .page_title > span{
        padding: 0 0 0 9.7vw;
        font-size: 2.6vw;
    }

    .under_kv .page_title > span:before{
        width: 5.9vw;
    }


    /* pankz
       ================================================================== */
    .pankz{
        padding: 1.8vw 0 .3vw 3.0vw;
    }

    .pankz > li{
        margin: 0 2.7vw 1.5vw 0;
    }

    .pankz > li::before{
        width: .7vw;
        height: 2.3vw;
        left: calc(100% + 1.0vw);
    }

    .pankz > li > span,
    .pankz > li a{
        font-size: 1.5vw;
    }

    .pankz > li a:hover{
        text-decoration: underline;
    }


    /* cv_reservation
       ================================================================== */
    .cv_reservation{
        padding: 0 0 7.0vw;
    }

    .cv_reservation .photo{
        margin: 0 0 0;
        width: 50.0vw;
        position: absolute;
        top: 0;
        right: 50.0vw;
    }

    .cv_reservation .text_box{
        padding: 13.0vw 0 0 calc(50% + 4.5vw);
    }

    .cv_reservation .text_box .box{
        padding: 0 0 0 3.0vw;
    }

    .cv_reservation .text_box .box .ttl{
        font-size: 3.6vw;
    }

    .cv_reservation .text_box .box p{
        margin: 1.5vw 0 0;
        font-size: 1.8vw;
    }

    .cv_reservation .text_box .anime_btn{
        margin: 6.0vw 0 0;
    }


    /* common_about
       ================================================================== */
    .common_about{
        margin: 0 0 0;
    }

    .common_about .inner{
        padding-top: 16.0vw;
        padding-bottom: 22.0vw;
    }

    .common_about .name{
        display: block;
        top: -4.7vw;
        left: -8.6vw;
        z-index: 1;
    }

    .common_about .name > span{
        padding: 0 0 0 12.0vw;
        font-size: 1.5vw;
    }

    .common_about .name > span:before{
        width: 9.2vw;
    }

    .common_about .ttl{
        font-size: 3.4vw;
    }

    .common_about .txt{
        margin: 4.0vw 0 0;
        font-size: 1.7vw;
        line-height: 3.5vw;
    }

    .common_about .message_txt{
        margin: 7.0vw 0 0;
        font-size: 2.7vw;
        line-height: 5.0vw;
    }

    .common_about .anime_btn{
        margin: 6.0vw 0 0;
    }

    .common_about .about_photo01{
        top: -13.2vw;
        left: -11vw;
        width: 46.0vw;
    }

    .common_about .about_photo02{
        bottom: auto;
        top: 0;
        right: -27.4vw;
        width: 78.0vw;
    }


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
        box-sizing: border-box;
        display: flex;
    }

    .kv .inner{
        padding: 0 2.0vw;
    }

    /* nav_box */
    .kv .nav_box{
        padding: 0 0 0;
        width: 30.0vw;
        background: #1F1507;
        box-sizing: border-box;
        position: relative;
        top: 0;
        left: 0;
    }

    .kv .nav_box .place{
        text-align: center;
    }

    .kv .nav_box .place > span{
        width: 24.2vw;
        height: 5.2vw;
    }

    .kv .nav_box .place > span img{
        width: 10.1vw;
    }

    .kv .nav_box .site_logo{
        margin: 3.3vw auto 0;
        width: 25.1vw;
    }

    .kv .nav_box .kv_nav_flex{
        margin: 5.0vw 0 0;
        display: flex;
        justify-content: center;
    }

    .kv .nav_box .kv_nav{
        display: block;
    }

    .kv .nav_box .kv_nav > li{
        margin: 3.0vw 0 0;
        padding: 0;
    }

    .kv .nav_box .kv_nav > li.anime_btn{
        margin: 6.4vw 0 0;
    }

    .kv .nav_box .kv_nav > li:not(.anime_btn) a{
        font-size: 1.8vw;
        transition: .3s;
    }

    .kv .nav_box .kv_nav > li:not(.anime_btn) a:hover{
        color: #C4AE8F;
    }

    .kv .nav_box .no1{
        margin: 4.5vw auto 0;
        width: 25.3vw;
    }

    /* main_box */
    .kv .main_box{
        padding: 9.5vw 0 0 4.0vw;
        width: calc(100% - 30.0vw);
        min-height: 76.9vw;
        background-image: url("../images/index/webp/kv.webp");
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: cover;
    }

    .kv .main_box .catch{
        font-size: 3.5vw;
    }

    .kv .main_box .txt{
        margin: 5.0vw 0 0;
        font-size: 2.2vw;
        line-height: 4.5vw;
    }
    

    /* worries
       ================================================================== */
    .worries:before{
        width: 8.2vw;
        height: 15.3vw;
        top: -4.1vw;
    }

    .worries .inner{
        padding-top: 15.0vw;
    }

    .worries .inner:before,
    .worries .inner:after{
        width: 78.2vw;
        height: 58.7vw;
        top: 5.0vw;
        left: -19.0vw;
    }

    .worries .inner:after{
        top: 41.7vw;
        left: auto;
        right: -16.0vw;
    }

    .worries .title{
        padding: 0 0 4.2vw;
        font-size: 3.4vw;
    }

    .worries .title:before{
        width: 7.6vw;
    }

    .worries .list{
        margin: 1.3vw auto 0;
        text-align: center;
    }

    .worries .list > li{
        margin: 5.0vw 1.2vw 0;
        width: 27.6vw;
    }

    .worries .list .text_box{
        padding: 2.4vw 0 0;
    }

    .worries .list .text_box h3{
        font-size: 1.8vw;
    }

    .worries .list .text_box p{
        margin: .5vw 0 0;
        font-size: 1.8vw;
        line-height: 2.5vw;
    }


    /* suggestion
       ================================================================== */
    .suggestion{
        margin: 0 0 0;
        position: relative;
    }

    .suggestion .inner{
        padding-top: 16.0vw;
        padding-bottom: 30.6vw;
    }

    .suggestion .title{
        padding: 4.7vw 0 0;
        width: 59.1vw;
        font-size: 3.0vw;
        line-height: 5.0vw;
    }

    .suggestion .title:before{
        width: 9.4vw;
        left: -1.0vw;
    }

    .suggestion .txt{
        margin: 4.9vw 0 0;
        font-size: 1.8vw;
        line-height: 3.5vw;
    }

    .suggestion .anime_btn{
        margin: 6.5vw 0 0;
    }

    .suggestion .suggestion_photo01{
        bottom: 2.0vw;
        left: -24.0vw;
        width: 90.7vw;
    }

    .suggestion .suggestion_photo02{
        bottom: 2.0vw;
        right: -15.0vw;
        width: 62.7vw;
    }


    /* concept_about
       ================================================================== */
    .concept_about{
        margin: 0 0 0;
        position: relative;
    }

    .concept_about .flex{
        position: relative;
        display: flex;
        flex-direction: row-reverse;
    }

    .concept_about .text_box{
        margin: 0;
        padding: 15.0vw 0 15.0vw 7.0vw;
        width: 57.7vw;
        box-sizing: border-box;
    }

    .concept_about .text_box::before{
        width: 62.0vw;
    }

    .concept_about .text_box .ttl{
        margin: 0 0 3.6vw;
        padding: 0 0 3.6vw;
        font-size: 3.4vw;
        line-height: 5.6vw
    }

    .concept_about .text_box .ttl:before{
        width: 7.0vw;
    }

    .concept_about .text_box .txt{
        font-size: 1.6vw;
        line-height: 3.6vw;
    }

    .concept_about .photo_box{
        margin: 0;
        padding: 0;
        width: calc(100% - 57.7vw);
    }

    .concept_about .photo_box .no1{
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: 106%;
        display: flex;
        align-items: center;
    }


    /* point_block
       ================================================================== */
    .point_block .box{
        padding: 0;
        position: relative;
    }

    .point_block .number > span{
        padding: 0 2.0vw 0 0;
    }

    .point_block .number > span:before{
        width: 10.4vw;
    }

    .point_block .number > span > span{
        font-size: 2.4vw;
    }

    .point_block .number > span > .siz_l{
        padding: 0 0 0 .8vw;
        font-size: 3.0vw;
    }

    .point_block .ttl{
        margin: 2.5vw 0 0;
    }

    .point_block .ttl > span{
        font-size: 3.3vw;
        line-height: 4.8vw;
    }

    .point_block .ttl > .kakko{
        margin-left: -2.0vw;
    }

    .point_block .txt{
        margin: 3.5vw 0 0;
        font-size: 1.6vw;
        line-height: 3.6vw;
    }

    .point_block .photo{
        margin: 0;
    }

    /* point01 */
    .point_block .point01{
        padding-top: 20.0vw;
    }

    .point_block .point01 .photo{
        width: 39.4vw;
        position: absolute;
        top: 0;
        right: 0;
    }

    .point_block .point01 .photo .point01_item{
        top: 76%;
        left: 36%;
        width: 46.5vw;
    }

    /* point02 */
    .point_block .point02{
        margin-top: 10.0vw;
        padding-top: 10.0vw;
        padding-left: 45%;
        padding-bottom: 20.0vw;
        min-height: 67.7vw;
        box-sizing: border-box;
    }

    .point_block .point02 .photo{
        margin-left: 0;
        margin-right: 0;
        position: absolute;
        top: 0;
        left: 3.2vw;
        width: 35.0vw;
    }

    /* point03 */
    .point_block .point03{
        padding-top: 7.3vw;
        padding-right: 45%;
        padding-bottom: 35.0vw;
        min-height: 87.0vw;
        box-sizing: border-box;
    }

    .point_block .point03 .photo{
        position: absolute;
        top: -9.0vw;
        right: -12.4vw;
        width: 53.5vw;
    }


    /* menu_block
       ================================================================== */
    .menu_block{
        padding: 8.4vw 0 22.0vw;
    }

    .menu_group > li + li{
        margin-top: 12.6vw;
    }

    .menu_group .group_ttl{
        padding: .7vw 2.0vw;
        font-size: 2.5vw;
    }

    /* menu_list */
    .menu_list{
        margin: 1.3vw 0 0;
    }

    .menu_list > li{
        padding: 2.5vw 0;
    }

    .menu_list .price_name{
        padding: 0 2.0vw 0 0;
        display: inline-block;
    }

    .menu_list .price_name .name{
        margin: 0 2.0vw 0 0;
        padding: .5vw 2.0vw;
        font-size: 1.7vw;
        min-width: 20.0vw;
    }

    .menu_list .price_name .exp{
        margin: 0;
        font-size: 2.3vw;
        display: inline-block;
    }

    .menu_list .price_name .exp .siz_s{
        font-size: 1.5vw;
    }

    .menu_list .price_show{
        padding: .5vw 0 0;
        font-size: 2.0vw;
    }


    /* contact_cv
       ================================================================== */
    .contact_cv{
        padding: 8.4vw 0 15.5vw;
    }

    .contact_cv .flex{
        position: relative;
    }

    .contact_cv .photo{
        margin: 0;
        position: absolute;
        top: 0;
        right: 46.7vw;
        width: 52vw;
    }

    .contact_cv .text_box{
        padding: 2.0vw 0 0 53.2vw;
        min-height: 42.2vw;
        box-sizing: border-box;
    }

    .contact_cv .site_name{
        margin: 0 0 2.0vw;
        padding: 0 1.2vw 2.8vw;
    }

    .contact_cv .site_name .name1,
    .contact_cv .site_name .add{
        font-size: 1.7vw;
    }

    .contact_cv .site_name .name_flex{
        margin: 1.3vw 0 0;
    }

    .contact_cv .site_name .name2{
        font-size: 2.9vw;
    }

    .contact_cv .site_name .add{
        margin: 0 0 0 2.0vw;
    }

    .contact_cv .text_box .bottom_box{
        padding: 0 1.2vw;
    }

    .contact_cv .text_box .txt{
        font-size: 1.6vw;
    }

    .contact_cv .text_box .txt + .txt{
        margin: .6vw 0 0;
    }

    .contact_cv .text_box .tel{
        margin: 2.2vw 0 0;
    }

    .contact_cv .text_box .tel a{
        font-size: 2.5vw;
    }

    .contact_cv .text_box .tel a .siz_s{
        font-size: 1.7vw;
    }

    .contact_cv .text_box .btn_center{
        margin: 3.0vw 0 0;
    }

    .contact_cv .text_box .note{
        margin: 1.2vw 0 0;
        font-size: 1.5vw;
    }


    /* photos_block
       ================================================================== */
    .photos_block{
        padding: 0;
    }

    .photos_block .inner{
        padding: 0;
    }

    .photos_block .bg1{
        padding: 15.0vw 0 0;
    }

    .photos_block .bg2{
        padding: 1px 0 22.0vw;
    }

    .photos_block .photo01{
        width: 74%;
    }

    .photos_block .photo02{
        margin: -17.0vw 0 0 auto;
        width: 31%;
    }

    .photos_block .photo03{
        margin: -10.0vw 0 0;
        width: 60%;
    }

    
}
@media screen and (min-width : 1040px){    
    

    /* under_kv
       ================================================================== */
    .under_kv{
        margin: 0 0 0;
    }

    .under_kv .inner{
        height: 349px;
        max-width: 1140px;
        position: relative;
    }

    .under_kv .page_title{
        top: -27px;
        left: 20px;
    }

    .under_kv .page_title > span{
        padding: 0 0 0 97px;
        font-size: 26px;
    }

    .under_kv .page_title > span:before{
        width: 59px;
    }


    /* pankz
       ================================================================== */
    .pankz{
        padding: 18px 0 3px;
    }

    .pankz_block .inner{
        max-width: 1140px;
    }

    .pankz > li{
        margin: 0 27px 15px 0;
    }

    .pankz > li::before{
        width: 7px;
        height: 23px;
        left: calc(100% + 10px);
    }

    .pankz > li > span,
    .pankz > li a{
        font-size: 15px;
    }


    /* cv_reservation
       ================================================================== */
    .cv_reservation{
        padding: 0 0 240px;
    }

    .cv_reservation .photo{
        margin: 0 0 0;
        width: 638px;
        position: absolute;
        top: 0;
        right: 565px;
    }

    .cv_reservation .text_box{
        padding: 130px 0 0 calc(50% + 45px);
    }

    .cv_reservation .text_box .box{
        padding: 0 0 0 30px;
    }

    .cv_reservation .text_box .box .ttl{
        font-size: 36px;
    }

    .cv_reservation .text_box .box p{
        margin: 15px 0 0;
        font-size: 18px;
    }

    .cv_reservation .text_box .anime_btn{
        margin: 60px 0 0;
    }


    /* common_about
       ================================================================== */
    .common_about{
        margin: 0 0 0;
    }

    .common_about .inner{
        padding-top: 160px;
        padding-bottom: 220px;
    }

    .common_about .name{
        display: block;
        top: -47px;
        left: -86px;
        z-index: 1;
    }

    .common_about .name > span{
        padding: 0 0 0 120px;
        font-size: 15px;
    }

    .common_about .name > span:before{
        width: 92px;
    }

    .common_about .ttl{
        font-size: 34px;
    }

    .common_about .txt{
        margin: 40px 0 0;
        font-size: 17px;
        line-height: 35px;
    }

    .common_about .message_txt{
        margin: 70px 0 0;
        font-size: 27px;
        line-height: 50px;
    }

    .common_about .anime_btn{
        margin: 60px 0 0;
    }

    .common_about .about_photo01{
        top: -132px;
        left: -250px;
        width: 460px;
    }

    .common_about .about_photo02{
        bottom: auto;
        top: 0;
        right: -344px;
        width: 780px;
    }


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
        box-sizing: border-box;
        display: flex;
    }

    .kv .inner{
        padding: 0 20px;
    }

    /* nav_box */
    .kv .nav_box{
        padding: 0 0 0;
        width: 390px;
        background: #1F1507;
        box-sizing: border-box;
        position: relative;
        top: 0;
        left: 0;
    }

    .kv .nav_box .place{
        text-align: center;
    }

    .kv .nav_box .place > span{
        width: 242px;
        height: 52px;
    }

    .kv .nav_box .place > span img{
        width: 101px;
    }

    .kv .nav_box .site_logo{
        margin: 33px auto 0;
        width: 251px;
    }

    .kv .nav_box .kv_nav_flex{
        margin: 50px 0 0;
        display: flex;
        justify-content: center;
    }

    .kv .nav_box .kv_nav{
        display: block;
    }

    .kv .nav_box .kv_nav > li{
        margin: 30px 0 0;
        padding: 0;
    }

    .kv .nav_box .kv_nav > li.anime_btn{
        margin: 64px 0 0;
    }

    .kv .nav_box .kv_nav > li:not(.anime_btn) a{
        font-size: 18px;
    }

    .kv .nav_box .no1{
        margin: 45px auto 0;
        width: 253px;
    }

    /* main_box */
    .kv .main_box{
        padding: 95px 0 0 80px;
        width: calc(100% - 390px);
        min-height: 769px;
        height: 50vw;
        max-height: 100vh;
        background-image: url("../images/index/webp/kv.webp");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
    }

    .kv .main_box .catch{
        font-size: 45px;
    }

    .kv .main_box .txt{
        margin: 50px 0 0;
        font-size: 22px;
        line-height: 45px;
    }


    /* worries
       ================================================================== */
    .worries:before{
        width: 82px;
        height: 153px;
        top: -41px;
    }

    .worries .inner{
        padding-top: 150px;
    }

    .worries .inner:before,
    .worries .inner:after{
        width: 782px;
        height: 587px;
        top: 50px;
        left: -290px;
    }

    .worries .inner:after{
        top: 417px;
        left: auto;
        right: -260px;
    }

    .worries .title{
        padding: 0 0 42px;
        font-size: 34px;
    }

    .worries .title:before{
        width: 76px;
    }

    .worries .list{
        margin: 13px auto 0;
        text-align: center;
    }

    .worries .list > li{
        margin: 50px 12px 0;
        width: 276px;
    }

    .worries .list .text_box{
        padding: 24px 0 0;
    }

    .worries .list .text_box h3{
        font-size: 18px;
    }

    .worries .list .text_box p{
        margin: 5px 0 0;
        font-size: 18px;
        line-height: 25px;
    }


    /* suggestion
       ================================================================== */
    .suggestion{
        margin: 0 0 0;
        position: relative;
    }

    .suggestion .inner{
        padding-top: 160px;
        padding-bottom: 306px;
    }

    .suggestion .title{
        padding: 47px 0 0;
        width: 591px;
        font-size: 30px;
        line-height: 50px;
    }

    .suggestion .title:before{
        width: 94px;
        height: 3px;
        left: -10px;
    }

    .suggestion .txt{
        margin: 49px 0 0;
        font-size: 18px;
        line-height: 35px;
    }

    .suggestion .anime_btn{
        margin: 65px 0 0;
    }

    .suggestion .suggestion_photo01{
        bottom: 20px;
        left: -240px;
        width: 907px;
    }

    .suggestion .suggestion_photo02{
        bottom: 20px;
        right: -200px;
        width: 627px;
    }


    /* concept_about
       ================================================================== */
    .concept_about{
        margin: 0 0 0;
        position: relative;
    }

    .concept_about .flex{
        position: relative;
        display: flex;
        flex-direction: row-reverse;
    }

    .concept_about .text_box{
        margin: 0;
        padding: 260px 0 220px 110px;
        width: 577px;
        box-sizing: border-box;
    }

    .concept_about .text_box::before{
        width: calc(((100vw - 1040px) / 2) + 577px);
    }

    .concept_about .text_box .ttl{
        margin: 0 0 36px;
        padding: 0 0 36px;
        font-size: 34px;
        line-height: 56px
    }

    .concept_about .text_box .ttl:before{
        width: 70px;
    }

    .concept_about .text_box .txt{
        font-size: 16px;
        line-height: 36px;
    }

    .concept_about .photo_box{
        margin: 0;
        padding: 0;
        width: calc(100% - 577px);
    }

    .concept_about .photo_box .no1{
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: 517px;
        display: flex;
        align-items: center;
    }


    /* point_block
       ================================================================== */
    .point_block .box{
        padding: 0;
        position: relative;
    }

    .point_block .number > span{
        padding: 0 20px 0 0;
    }

    .point_block .number > span:before{
        width: 104px;
    }

    .point_block .number > span > span{
        font-size: 24px;
    }

    .point_block .number > span > .siz_l{
        padding: 0 0 0 8px;
        font-size: 30px;
    }

    .point_block .ttl{
        margin: 25px 0 0;
    }

    .point_block .ttl > span{
        font-size: 33px;
        line-height: 48px;
    }

    .point_block .ttl > .kakko{
        margin-left: -20px;
    }

    .point_block .txt{
        margin: 35px 0 0;
        font-size: 17px;
        line-height: 36px;
    }

    .point_block .photo{
        margin: 0;
    }

    /* point01 */
    .point_block .point01{
        padding-top: 200px;
    }

    .point_block .point01 .photo{
        width: 394px;
        position: absolute;
        top: 0;
        right: 0;
    }

    .point_block .point01 .photo .point01_item{
        top: 76%;
        left: 36%;
        width: 465px;
    }

    /* point02 */
    .point_block .point02{
        margin-top: 100px;
        padding-top: 100px;
        padding-left: 50%;
        padding-bottom: 200px;
        min-height: 677px;
        box-sizing: border-box;
    }

    .point_block .point02 .photo{
        margin-left: 0;
        margin-right: 0;
        position: absolute;
        top: 0;
        left: 32px;
        width: 390px;
    }

    /* point03 */
    .point_block .point03{
        padding-top: 73px;
        padding-right: 50%;
        padding-bottom: 350px;
        min-height: 870px;
        box-sizing: border-box;
    }

    .point_block .point03 .photo{
        position: absolute;
        top: -90px;
        right: -124px;
        width: 535px;
    }


    /* menu_block
       ================================================================== */
    .menu_block{
        padding: 84px 0 220px;
    }

    .menu_block .inner{
        max-width: 1098px;
    }

    .menu_group > li + li{
        margin-top: 126px;
    }

    .menu_group .group_ttl{
        padding: 7px 20px;
        font-size: 25px;
    }

    /* menu_list */
    .menu_list{
        margin: 13px 0 0;
    }

    .menu_list > li{
        padding: 25px 30px;
    }

    .menu_list .price_name{
        padding: 0 15px 0 0;
    }

    .menu_list .price_name .name{
        margin: 0 25px 0 0;
        padding: 5px 20px;
        font-size: 17px;
        min-width: 270px;
    }

    .menu_list .price_name .exp{
        font-size: 23px;
        display: inline-block;
    }

    .menu_list .price_name .exp .siz_s{
        font-size: 15px;
    }

    .menu_list .price_show{
        padding: 5px 0 0;
        font-size: 20px;
    }


    /* contact_cv
       ================================================================== */
    .contact_cv{
        padding: 84px 0 155px;
    }

    .contact_cv .flex{
        position: relative;
    }

    .contact_cv .photo{
        margin: 0;
        position: absolute;
        top: 0;
        right: 467px;
        width: 52vw;
        max-width: 716px;
    }

    .contact_cv .text_box{
        padding: 20px 0 0 582px;
        min-height: 422px;
        box-sizing: border-box;
    }

    .contact_cv .site_name{
        margin: 0 0 20px;
        padding: 0 12px 28px;
    }

    .contact_cv .site_name .name1,
    .contact_cv .site_name .add{
        font-size: 17px;
    }

    .contact_cv .site_name .name_flex{
        margin: 13px 0 0;
    }

    .contact_cv .site_name .name2{
        font-size: 29px;
    }

    .contact_cv .site_name .add{
        margin: 0 0 0 20px;
    }

    .contact_cv .text_box .bottom_box{
        padding: 0 12px;
    }

    .contact_cv .text_box .txt{
        font-size: 16px;
    }

    .contact_cv .text_box .txt + .txt{
        margin: 6px 0 0;
    }

    .contact_cv .text_box .tel{
        margin: 22px 0 0;
    }

    .contact_cv .text_box .tel a{
        font-size: 25px;
    }

    .contact_cv .text_box .tel a .siz_s{
        font-size: 17px;
    }

    .contact_cv .text_box .btn_center{
        margin: 30px 0 0;
    }

    .contact_cv .text_box .note{
        margin: 12px 0 0;
        font-size: 15px;
    }


    /* photos_block
       ================================================================== */
    .photos_block{
        padding: 0;
    }

    .photos_block .inner{
        padding: 0;
        max-width: 1367px;
    }

    .photos_block .bg1{
        padding: 150px 0 0;
    }

    .photos_block .bg2{
        padding: 1px 0 220px;
    }

    .photos_block .photo01{
        width: 74%;
    }

    .photos_block .photo02{
        margin: -170px 0 0 auto;
        width: 31%;
    }

    .photos_block .photo03{
        margin: -150px 0 0;
        width: 60%;
    }
    

}
