/*=======================
	// grand-header 
=====================*/

#grand-header {
    height: 40px;
    margin-bottom: 0;
    background-color: #3c3c41;
    display: flex;
    justify-content: center;
    align-items: center;
}

#grand-header a {
    width: 92px;
}

#grand-header a img {
    width: 100%;
}

@media print, screen and (min-width: 1000px) {

    #grand-header {
        height: 60px;
    }

    #grand-header a {
        width: 132px;
    }

}

/*===============================
	add module
===================================*/


.rounded-2px {
    border-radius: 2px;
}

.rounded-3px {
    border-radius: 3px;
}


.rounded-5px {
    border-radius: 5px;
}


.rounded-8px {
    border-radius: 8px;
}



/*====================================================
	// note overwrite
====================================================*/


.header.miyajiHeader {
    display: none;
}


em {
    font-style: normal;
}





/*=======================
	// font-family
=====================*/

/*
// <weight>: Use a value from 200 to 900
// <uniquifier>: Use a unique and descriptive class name
.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
  */
.noto-serif-jp {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
}


.noto-serif-jp.fw200 {
    font-weight: 200;
    /* border: #f00 thin solid; */
}

.noto-serif-jp.fw300 {
    font-weight: 300;
}

.noto-serif-jp.fw400 {
    font-weight: 400;
}

.noto-serif-jp.fw500 {
    font-weight: 500;
}

.noto-serif-jp.fw600 {
    font-weight: 600;
}

.noto-serif-jp.fw700 {
    font-weight: 700;
}

.noto-serif-jp.fw800 {
    font-weight: 800;
}


/*

.eb-garamond-<uniquifier> {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

*/

.eb-garamond {
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    /* font-weight: <weight>; */
    font-style: normal;
}

.eb-garamond.fw400 {
    font-weight: 400;
}

.eb-garamond.fw500 {
    font-weight: 500;
}

.eb-garamond.fw600 {
    font-weight: 600;
}

.eb-garamond.fw700 {
    font-weight: 700;
}

.eb-garamond.fw800 {
    font-weight: 800;
}




/*====================================================
	text and bg color
====================================================*/


.text-999 {
    color: #999;
}


.text-red {
    color: #f00;
}

.text-gold {
    color: #be7d28;
}

.text-gold2 {
    color: #dea357;
}


img.arrow {
    width: 20px;
    height: 20px;
    vertical-align: text-top;
}

.text-orange {
    color: #ef3e2b;
}


/*////////////////////*/

.bg_gold {
    background-color: #8b6210;
}

.bg_gold_2 {
    background-color: #b68d3c;
}

.bg-gold_3 {
    /* background-color: #dea357; */
    background-color: #cc954e;
}


.bg_beige {
    /* background-color: #BFAB90; */
    background-color: #f0e9e0;
}


.bg_orange {
    background-color: #ef3e2b;
}



/*　parts */

.icon {
    /* color: #fff; */
    padding: 1px 15px 0;
    border-radius: 3em;
}


li.indent_gold::before {
    content: '\25CF';
    color: #b68d3c;
}


/*====================================================
	border
====================================================*/

.border-gold {
    border-color: #8b6210;
}

.border-gold_2 {
    border-color: #8b6210;
}






/*====================================================
layout
====================================================*/


article img {
    width: 100%;
}


#wrap {
    background: url(../img/bg_red.png) repeat;
}


.lv-02 {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
}

article {
    margin: auto;
    position: relative;
    font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
}

@media screen and (min-width: 1000px) {

    .lv-02 {
        width: 90%;
    }

}


/*====================================================
	// id #title
====================================================*/

#title {
    position: relative;
}


#h1_mob {
    display: block;
}

#h1_pc {
    display: none;
}



#about-tokka {
    border: #ef3e2b 5px solid;
}



#head_notice {
    background: url(../img/bg_gold_2.png) repeat;
}



@media screen and (min-width: 1000px) {


    #title .bg-01 {
        background: url(../img/bg-cloud-all_pc.png) top center no-repeat;
        background-size: contain;
    }

    #h1_pc {
        width: 75%;
        max-width: 966px;
        display: block;
        margin: auto;
    }

    #h1_mob {
        display: none;
    }




}


@media screen and (min-width: 1280px) {


    #h1_pc {
        width: 966px;
        max-width: 966px;
        display: block;
        margin: auto;
    }

}





/*========================
  #happy-bag
===========================*/


#happy-bag {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 60px;
}

#happy-bag .bag-mob {
    max-width: 565px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

#happy-bag .bg-01 {
    background: none;
}



@media screen and (min-width: 1400px) {

    #happy-bag {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 140px;
        background: url(../img/1x/bg_bag_pc.png) no-repeat center center #fff;
        background-size: contain;
        margin-top: 15px;

    }


    #happy-bag .bg-01 {
        padding-left: 330px;
        background: url(../img/bg_bag_pc-left.png) center left no-repeat;
    }


    #happy-bag .bg-02 {
        min-height: 190px;
        padding-right: 330px;
        background: url(../img/bg_bag_pc-right.png) center right no-repeat;
        display: flex;
        align-items: center;
        justify-content: center;
    }


    #happy-bag .txt {
        margin-top: 30px;
    }

    #happy-bag .bag-mob {
        display: none;
    }


}


/*========================
 // #reservation
===========================*/

#reservation {
    border-top: #c8af8c 1px solid;
    border-bottom: #c8af8c 1px solid;
}


/*========================
 // .category
===========================*/



.category {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}


h2.cat-title {
    border-top: #ef3e2b thin solid;
    border-bottom: #ef3e2b thin solid;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ef3e2b;
}

h2.cat-title {
    height: 100px;
}


@media screen and (min-width: 1000px) {
    h2.cat-title {
        height: 150px;
    }
}



/*=================================
	#support-plan
===================================*/

#support-plan {
    border: #7b47d2 thin solid;
    padding: 15px;
    margin-bottom: 120px;
}


#support-plan h3 {
    color: #7b47d2;
    background-color: #faeffd;
    padding: 8px 30px 3px;
}

#support-plan .img_pc {
    display: none;
}

#support-plan .img_mob {
    display: block;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}


#support-plan .btn a {
    color: #fff;
    background-color: #4b1e78;
    border-radius: 50rem;
    padding: 10px 0;
    display: block;
    text-align: center;
}

@media screen and (min-width: 1000px) {


    #support-plan {
        padding: 30px;
        margin-bottom: 180px;
    }

    #support-plan .img_pc {
        display: block;
    }

    #support-plan .img_mob {
        display: none;
    }


    #support-plan figure {
        width: 36%;
        max-width: 470px;
    }

    #support-plan .txtbox {
        width: calc(64% - 30px);
        /* border: #f00 thin solid; */

    }


    #support-plan .btn a {
        padding: 10px 0;
        max-width: 300px;
    }

}




/*=============================
	access
===============================*/


.mapbox iframe {
    width: 100%;
    height: 360px;
}

@media screen and (min-width: 1000px) {


    .mapbox iframe {
        width: 100%;
        height: 600px;
    }

}




/*=============================
	sns_iconbox
===============================*/


.sns_iconbox {
    width: 95%;
    max-width: 1260px;
    margin: auto auto 60px;
    padding-top: 120px;
    text-align: center;
    font-size: 1.5rem;
}


.sns_iconbox h4 {
    font-size: 1.8rem;

    margin-bottom: 20px;
    padding: 1em;
    border: none;
    border-top: #555 thin solid;
    border-bottom: #555 thin solid;
}

.sns_iconbox p {
    margin-bottom: 30px;
}

.sns_iconbox ul {
    display: flex;
    justify-content: center;
    align-items: center;
}

.sns_iconbox li {
    width: 40px;
    margin: 0 10px;
}

.sns_iconbox li:nth-child(3) {
    width: 100px;
}

.sns_iconbox li img {
    width: 100%;
    vertical-align: bottom;
}



@media print,
screen and (max-width: 768px) {

    .sns_iconbox {
        text-align: left;
        font-size: 1.4rem;
        padding-top: 60px;
    }

    .sns_iconbox h4 {
        text-align: center;
    }

    .sns_iconbox p {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }


}



/*=============================
	advance_notice
===============================*/

.advance_notice {
    font-size: 1.4rem;
    text-align: center;
    background: #fff;
    padding: 10em 0 5em;
}

.advance_notice p {
    margin-bottom: 1em;
}