@charset "UTF-8";

/*=============================================
header
===============================================*/

#top-head .inner {
	width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}
#top-head .inner:after {
    content: "";
    clear: both;
    display: block;
}
 
/* header */
#top-head {
    top: -100px;
    position: absolute;
    width: 100%;
    margin: 100px auto 0;
    padding: 10px 0 0;
    line-height: 1;
    z-index: 999;
	background: rgba(96,56,19,0.95);
}
#top-head a,
#top-head {
    color: #fff;
    text-decoration: none;
}
#top-head .inner {
    position: relative;
}
#top-head .logo {
    float: left;
    font-size: 36px;
	width: 17%;
	margin: 10px 0;
}

#top-head .logo img {
	width: 100%; height: auto;
}	



#top-head .shoptel {
	position: absolute; right: 10px; bottom: 10px;
	color: #fff;
	font-size: 2.25em;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;
}

#global-nav ul {
    list-style: none;
    position: absolute;
	left: 18%;
	bottom: 15px;
    font-size: 14px;
}
#global-nav ul li {
    float: left;
	position: relative;
}
#global-nav ul li a {
    padding: 0 30px;
}

#global-nav ul li::before {
	content:"";
	display: inline-block; width: 1px; height: 20px; transform: rotate(35deg);
	background-color: rgba(255,255,255,0.7);
	position: absolute; top: -3px; left: 0;
}
 
/* Fixed */
#top-head.fixed {
	margin-top: 0;
	top: 0;
	position: fixed;
	padding-top: 10px;
	height: 90px;
	background: rgba(96,56,19,0.95);
	transition: top 0.65s ease-in;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo {
    font-size: 24px;
    color: #333;
}
#top-head.fixed #global-nav ul li a {
    color: #fff;
    padding: 0 20px;
}
 
/* Toggle Button */
#nav-toggle {
    display: none;
    position: absolute;
    right: 12px;
    top: 14px;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #fff;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 11px;
}
#nav-toggle span:nth-child(3) {
    top: 22px;
}


@media screen and (max-width: 768px) {
    #top-head,
    .inner {
        width: 100%;
        padding: 0;
    }
    #top-head {
        top: 0;
        position: fixed;
        margin-top: 0;
    }

    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: transparent;
    }
    #mobile-head {
        background: rgba(96,56,19,0.95);
        width: 100%;
        height: 56px;
        z-index: 999;
        position: relative;
    }
    #top-head.fixed .logo,
    #top-head .logo {
        position: absolute;
        left: 13px;
        top: 5px;
        color: #333;
        font-size: 26px;
		margin: 0;
    }
	#top-head .logo img {
	width: auto; height: 45px;
	}
	#top-head .shopname {
		position: absolute; left: 80px; top: 20px;
		background: none;
	}	
	#top-head .shoptel {
		display: none;
	}	
	
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -500px;
        background: #333;
        width: 100%;
        text-align: center;
        padding: 10px 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
		padding-bottom: 3em;
    }
    #global-nav ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
        font-size: 14px;
    }
    #global-nav ul li {
        float: none;
        position: static;
		border-bottom: dotted 1px #fff;
    }
	#global-nav ul li::before {
		display: none;
	}	
    #nav-toggle {
        display: block;
    }
	#top-head #global-nav ul li a, #top-head.fixed #global-nav ul li a {
		width: 100%;
		display: block;
		color: #fff;
		padding: 18px 0;
	}	
	
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(556px);
        -webkit-transform: translateY(556px);
        transform: translateY(556px);
    }
}


/*=============================================
footer
===============================================*/
footer .wrap_inner {
	background-image: url("../kakashi/images/bg_footer.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;	
}
footer .inner {
	padding: 3em 0;
	width: 90%; max-width: 1100px;
	margin: 0 auto;

}
footer .f_logo {
	width: 40%; height: auto; margin:0 auto 1em;
}

footer .inner .infoArea {
	width: 52%;
	background-color: rgba(255,255,255,0.8);
	padding: 1em;
}

footer .inner .infoArea p {
	text-align: center;
}

/* .accessmap */
.footer_accessmap {
    position: relative;
    width: 100%;
    height: 360px;
    overflow: hidden;
}
.footer_accessmap iframe {
       width: 100%;
       height: 100%;
       position: absolute;
       top: 0px; left: 0px;
       object-fit: cover;
}
@media screen and (max-width: 640px){
	.footer_accessmap { width: 100%; height: 290px; }
	.footer_accessmap iframe { width: 100%; height: 290px; position: static; object-fit: fill; }
}



footer .infoArea table { border-spacing:2px; border-collapse: separate; width: 100%; margin-top: 1em; clear: both; }
footer .infoArea th,
footer .infoArea td {
	text-align: center !important;	
}
footer .infoArea th { 
	padding: 5px 10px;
	background-color: #514F29;
	color: #fff; font-weight: normal;
}
footer .infoArea td {
	padding: 10px 2em;
	background-color: rgba(255, 255, 255, 0.9);
	text-align: left !important;
} 

/* .bnrArea */
footer .bnrArea {
	background-image: url("../images/bg_footer_bnrArea.jpg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;	
	color: #fff;
	padding: 30px 0 20px;
	text-align: center;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;	
}
footer .bnrArea .head_box { display: block; text-align: center; font-size: 1rem; }
footer .bnrArea .head_box::after {
    content: '';
    width: 10px;
    height: 1px;
    display: inline-block;
    text-align: center;
    background-color: #fff;
    position: relative;
    top: -4px;
    left: 4px;
}
footer .bnrArea .head_box::before {
    content: '';
    width: 10px;
    height: 1px;
    display: inline-block;
    text-align: center;
    background-color: #fff;
    position: relative;
    top: -4px;
    left: -4px;
}
footer .bnrArea .head_box a { color: #fff; }
footer .bnrArea ul {
	width: 90%; max-width: 1100px;
	margin: 30px auto 0;
}
footer .bnrArea li {
	display: inline-block;
	width: 20.9%;
	font-size: 87.5%;
	text-align: center;
}
footer .bnrArea li .img_box {	
	background: #fff;
	box-sizing:border-box; padding: 0;
	box-shadow: 0 0 15px 0 rgba(0, 0, 0, .5);
	margin-bottom: 10px;
}
footer .bnrArea li .img_box img {	
	width: 100%; height: auto;
}
footer .bnrArea li a { color: #fff; text-decoration: none; }

@media screen and (max-width: 768px){
	footer .bnrArea li { width: 47%; margin-bottom: 10px; }	
}

@media screen and (max-width: 640px){
	footer .inner .infoArea {
		width: 100%;
		margin-bottom: 1em;
	}
	footer .infoArea td {
		text-align: center !important;
	}
	

}

/* .copyright */
footer .copyright {
	background-color:  #fff;
	padding: 20px 0 20px;
	text-align: center;
	font-size: 87.5%;
}
/*=============================================
main
===============================================*/
main {
	width: 100%; background: #fff;
}

/* .mainimg */
.mainimg {
    position: relative;
    width: 100%;
	box-sizing: border-box;
	max-height: 80vh;
	background-image: url("../kakashi/images/mainimg_01.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position-x: center;
}
.mainimg:before {
    content:"";
    display: block;
    padding-top: 70%; /* 高さを幅の75%に固定 */
}
/*.mainimg img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
	width: 100%; height: auto;
}*/

section { z-index: 2; background: #fff; }
section.bg_no { background: #fff; }
section.bg_color { background: #F4EEE1; }

section .inner {
	padding: 3em 0;
	width: 90%; max-width: 1100px;
	margin: 0 auto;
}


section::after { 
    content: "";
    clear: both;
    display: block;	
}


.main-content .ttl { 
	font-size: 2.25em; text-align: center;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;		
}
.ttl > .eng { display: block; text-align: center; font-size: 1rem; color:#BCBC79; }
.ttl > .eng::after {
    content: '';
    width: 5px;
    height: 1px;
    display: inline-block;
    text-align: center;
    background-color: #BCBC79;
    position: relative;
    top: -4px;
    left: 4px;
}
.ttl > .eng::before {
    content: '';
    width: 5px;
    height: 1px;
    display: inline-block;
    text-align: center;
    background-color: #BCBC79;
    position: relative;
    top: -4px;
    left: -4px;
}

@media screen and (max-width: 768px){
	section .inner { padding: 2em 0; }
	.mainimg { width: 100%; height: 400px; overflow: hidden; text-align: center; }
	.mainimg img { width: auto; height: 100%; }
	.main-content .ttl { font-size: 1.5em; }
}
@media screen and (max-width: 640px){
	section .inner { padding: 1.5em 0; }
}


/* #about */

#about {
	background-size: cover;
	background: url("../kakashi/images/bg_about.jpg");
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center center;
}
#about .intro { padding: 3em 0 0; }
#about .intro .img_box { width: 55%; font-size: 0.875em; }
#about .intro .img_box .box_2_2 { width: 100%; margin-bottom: 1em; }
#about .intro .img_box .box_1_2 { width: 48%; margin-bottom: 1em; }

#about .intro .img_box .box_2_2 p { 
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	background: linear-gradient(transparent 0%, #ffffff 0%);
	position: absolute; top: 10px; right: 20px;
	padding: 5px 5px;
}



#about .intro .head_box,
#about .photos .head_box,
#about .masuta_tei .head_box { 
	position: absolute; left: -10px; top: -10px;
	background-color: rgba(81,79,41,0.9);
	color: #fff;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;	
	font-size: 1.5rem;
	padding: 5px 10px;
}

#about .intro .txt_box { 
	width: 42%; line-height: 1.8;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	font-size: 1.125em;
}
#about .intro .txt_box p { 
	margin: 1em 1em 0 0;
	line-height: 2;
}


#about h3 { 
	font-size: 1.5em; margin-bottom: 20px;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;		
}

#about .photos{ padding: 3em 0 0; }
#about .photos .img_box { width: 32%; margin-bottom: 2%; }
#about .photos .img_box p { font-size: 0.875em; }

#about .menu .img_box { width: 36%; }
#about .menu .txt_box { width: 61%; line-height: 1.6; }



@media screen and (max-width: 640px){
	#about { background-image: none; background-color: #F4EEE1; }
	#about .intro .head_box,
	#about .photos .head_box,
	#about .masuta_tei .head_box { 
		font-size: 1.0rem;
	}
	#about .intro .txt_box { 
	  writing-mode: horizontal-tb;
	}	
	#about .intro .img_box { width: 100%; }
	#about .intro .txt_box { width: 100%; margin-bottom: 20px; }
	#about .intro .txt_box p { margin-top: 1em; }
	#about h3 { font-size: 1.25em; }
	#about .menu .img_box { width: 100%; text-align: center; margin-bottom: 1em; }
	#about .menu .txt_box { width: 100%; }
	#about img.w100 { max-width: 240px; }
	#about a.btn_box { margin-left:auto; margin-right: auto; margin-bottom: 3em; }
	
	#about .photos .img_box { width: 48%; margin-bottom: 2%; }
}




/* .masuta_tei */
#about .masuta_tei { padding: 3em 0 0; }
#about .masuta_tei .img_box { width: 55%; font-size: 0.875em; }


#about .masuta_tei .txt_box { 
	width: 42%; line-height: 1.6;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;	
}

@media screen and (max-width: 640px){
	#about .masuta_tei .img_box { width: 100%; margin:0 auto; text-align: center; order: 1; }
	#about .masuta_tei .txt_box { width: 100%; margin:0 auto; writing-mode: horizontal-tb; order: 2; }
}



/* #menu_photo */
#menu_photo .flex_s_a { padding: 3em 0 0; }
#menu_photo .wrap_box { width: 27.27%; }

#menu_photo p.ttl { font-weight: bold; font-size: 1rem; text-align: center; }

a.btn_box {
	display: block;
	margin: 35px auto 0;
	border: 1px solid #000;
	background-color: #FFF;
	color: #000;
	line-height: 40px;
	text-align: center;
	width: 260px;
	text-decoration: none;
}
a.btn_box:hover {
	text-decoration: none;
	color: #fff;
	background-color: #514F29;
	border-color: #008642;
}

@media screen and (max-width: 640px){
	#menu_photo .flex_s_a { padding: 1em 0 0; }
	#menu_photo .wrap_box { width: 46%; margin: 15px 2% 0; }
	a.btn_box { margin: 1em auto 30px; }
}



/* #news */
#news .ttl_box { 
	width: 20%;
	box-shadow: 0 0 15px 0 rgba(0, 0, 0, .5);
	background-color:#42210B;
	color: #fff;
	position: relative;
}
.main-content #news .ttl { 
	font-size: 1.875em; text-align: center;
	position: absolute; top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
	width: 100%;
	text-align: center;
}
.main-content #news .ttl > .eng { color: #fff; }
.main-content #news .ttl > .eng::after {
    background-color: #fff;
}
.main-content #news .ttl > .eng::before {
    background-color: #fff;
}

#news table { 
	width: 77%;
	border-collapse: collapse;
	z-index: 9999;
}
#news th,
#news td {
	border-bottom: dotted 1px #1a1a1a;
	padding: 15px 15px;
}
#news th {
	color:#F6921E; text-align: left; width: 20%; }
#news table a { color:#1a1a1a; }

@media screen and (max-width: 640px){
	#news .flex_s_b { display: block; }
	#news .ttl_box { width: 40%; height: 100px; margin: 0 auto 1em; background-size: 100% auto; }
	#news table { width: 100%; }
	#news th { padding: 10px 0; }
	#news th { padding: 10px 10px; }
}


/*=============================================
下層ページ common
===============================================*/
.sld { 
	width: 100%; height: 300px;
	background-image:url("../kakashi/images/bg_sld.jpg");
	background-size: 100% auto;
	background-attachment: fixed;
}



.sld .inner {
	width: 100%;
    max-width: 1100px; height: 300px;
    margin: 0 auto;
	border: solid 1px rgba(255,255,255, 0);
}

.sld .ttl_box { 
	width: 20%; height: 100px;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, .3);
	background-color:#42210B;
	color: #fff;
	margin: 150px auto 0;
	position: relative;
}
.main-content .sld h2.ttl { 
	font-size: 1.875em; text-align: center;
	position: absolute; top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
	width: 100%;
	text-align: center;
}
.main-content .sld h2.ttl > .eng { color:#FFF; }
.main-content .sld h2.ttl > .eng::after {
    background-color: #fff;
}
.main-content .sld h2.ttl > .eng::before {
    background-color: #fff;
}

@media screen and (max-width: 768px){
	.wrap_box { margin-bottom: 10px; }
	.sld { background-position: center top; background-size: 200% auto; }
	.sld, .sld .inner { height: 200px; }
	.sld .ttl_box { width: 40%; margin-top: 80px; }
	.main-content .sld h2.ttl { font-size: 1.5em; }
}
@media screen and (max-width: 640px){
	.wrap_box { margin-bottom: 10px; }
}


/*=============================================
menu
===============================================*/
body#menu .main-content section.menu {
	background-image: url("../kakashi/images/bg_menu.jpg");
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 50% auto;
}

body#menu .main-content section.menu::after,
body#menu .main-content section.menu .inner::after { 
    content: "";
    clear: both;
    display: block;	
}

body#menu .bg_color::after { 
    content: "";
    clear: both;
    display: block;	
}


body#menu .main-content .menu h3 {
	color: #fff;
	background-color: #514F29;
	font-size: 1.6em;
	line-height: 1;
	margin-bottom: 1em; padding: 0.4em 10px 0.4em;
	border:0;
	vertical-align: baseline;
	display: block; width: 100%; box-sizing: border-box;
}

body#menu .main-content .menu h3 span {
	font-size: 1rem;
	float: right;
	padding: 5px 10px 0;
	letter-spacing: 1px;
}
body#menu .main-content .menu h3::after {
  content: "";
  display: block;
  clear: both;
}



.box_1_2 { width:48.13%; }
.box_1_3 { width:30.9%; }
.box_1_4 { width:22.2%; }

.ph_txt { font-size: 87.5%; }

.menu .tbl_recommend,
.menu .tbl_menu {
	width: 100%; border-collapse: collapse;
}
.menu .tbl_recommend th,
.menu .tbl_recommend td {
	padding: 10px 10px;
	border-bottom: dotted 1px #000;	
}
.menu .tbl_recommend th {
	text-align: left;
}
.menu .tbl_recommend th span {
	font-size: 0.875em; font-weight: normal;
}
.menu .tbl_recommend td {
	text-align: right;
}

.menu .tbl_menu caption {
	color: #fff; background-color: #42210B;
	font-weight: bold; text-align: left; padding: 5px 10px;
}

.menu .tbl_menu th,
.menu .tbl_menu td {
	padding: 10px 10px;
	border: solid 1px #000;	
}
.menu .tbl_menu th { border-right: none; background-color:rgba(245,239,226,0.5); text-align: left; width: 70%; }
.menu .tbl_menu td { border-left: none; text-align: right; background-color: #fff; width: 30%; }


.menu_line3::after{
    content:"";
    display:block;
    width:30.9%;
    height:0;
}
.menu_line2_4::after{
    content:"";
    display:block;
    width:48.13%;
    height:0;
}


.wrap_box { margin-bottom: 30px; }
.wrap_box img { width:100%; height: auto; }

.menu p.ttl { 
	font-family:"Lucida Grande", "segoe UI", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, Verdana, Arial, sans-serif; 
	font-size: 1rem; font-weight: bold;
	text-align: left; padding-bottom: 0.5em; }
.menu p.detail_txt { font-size:0.875em; }
.menu span.price {
	font-family: toppan-bunkyu-midashi-go-std, sans-serif;
	font-weight: 900;
	font-style: normal;
}
.menu span.price_etc {
	font-size:0.75em;
}

.menu .wrap_box a { position: relative; }
.menu .wrap_box a img { transition: all .3s; }
.menu .wrap_box a img:hover {
	opacity: 0.5 ;
}
.menu .wrap_box i { position: absolute; right: 10px; bottom: 10px; color: rgba(255,255,255,0.8); }


@media screen and (max-width: 768px){
	.wrap_box { margin-bottom: 10px; }
}
@media screen and (max-width: 640px){
	.wrap_box { margin-bottom: 10px; }
	.box_1_2 { width:100%; }
}
