@charset "UTF-8";

/*=============================================
common class
===============================================*/

a.btn_box {
	display: block;
	margin: 35px 0 0;
	background-color: #83A85A;
	border: none;
	color: #FFF;
	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: #514F29;
}



/*=============================================
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-image: url("../images/bg_footer_bnrArea.jpg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;	
	color: #fff;
}
#top-head a,
#top-head {
    color: #fff;
    text-decoration: none;
}
#top-head .inner {
    position: relative;
}
#top-head .logo {
    font-size: 36px;
	width: 100%;
	text-align: center;
}

#top-head .logo img {
	width: 14%; 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;
}
#top-head .shoptel img { height: 32px; width: auto; vertical-align: text-top; }

#global-nav { padding: 10px 0; }
#global-nav ul {
    list-style: none;
    font-size: 14px;
	width: 100%;
	display: flex;
	justify-content: space-between;
}
#global-nav ul li {
	position: relative;
	width: calc(100% / 5);
	text-align: center;
}
#global-nav ul li a {
    padding: 0 1em;
}

#global-nav ul li::before {
	content:"";
	display: inline-block; width: 1px; height: 20px; transform: rotate(35deg);
	background-color: #fff;
	position: absolute; top: -3px; left: 0;
}
#global-nav ul li:first-child::before {
	content:"";
	display: none;
}

 
/* Fixed */
#top-head.fixed {
    margin-top: 0;
    top: 0;
    position: fixed;
    padding-top: 10px;
    height: 110px;
	background-image: url("../images/bg_footer_bnrArea.jpg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;	
	color: #fff;
    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: 640px) {
    #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-image: url("../images/bg_footer_bnrArea.jpg");
		background-position: center top;
		background-repeat: no-repeat;
		background-size: cover;	
		color: #fff;
        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;
    }
	#top-head .logo img {
	width: auto; height: 50px;
	}
	#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 3em;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #global-nav ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
        font-size: 14px;
		display: block;
    }
    #global-nav ul li {
        float: none;
        position: static;
		border-bottom: dotted 1px #fff;
		display: block;
		width: 100%;
    }
	#global-nav ul li::before {
		display: none;
	}	

    #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 {
        display: block;
    }
	
    /* #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);
    }
}


/* h-contact */
#h-contact {
    border: solid 1px #fff;
    position: absolute;
    right: 0px;
    top: 14px;
    width: auto;
    height: 36px;
    cursor: pointer;
    z-index: 101;
	padding: 10px; box-sizing: border-box;
	font-size: 50%;
	
}
#h-contact i::after {
	content: "お問い合わせ";
	padding-left: 10px;
}
#h-contact div {
    position: relative;
}
@media screen and (max-width: 640px) {
	#h-contact {
		right: 55px;
		display: block;
		width: 34px;
		border: none;
		font-size: 100%;
		padding: 0;
	}
	#h-contact i::after { display: none; }
}


/*=============================================
footer
===============================================*/
footer {
	background-color: #fff;
}
footer .inner {
	padding: 3em 0;
	width: 90%; max-width: 1100px;
	margin: 0 auto;
}
footer .f_logo {
	width: 90%; height: auto; margin:0 auto;
	max-width: 180px;
}

footer .inner .infoArea {
	width: 52%;
	text-align: center;
}

footer .inner .infoArea .shoptel {
	font-size: 2.25em;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;
	padding: 10px;
}

footer .inner .infoArea .shoptel img { height: 32px; width: auto; vertical-align: text-top; }

footer .inner .infoArea p { padding: 10px; border-bottom: dotted 1px #000; }

footer .inner .infoArea .shopname {
	font-size: 1.75em;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;
	padding: 20px 10px 10px;
}


footer .inner .accessmap {
	background-color: #fff;
	width: 44.5%;
	box-sizing: border-box;
	padding: 5px;
	position: relative;
}
footer .inner .accessmap::before {
		content: "";
		display: block;
		padding-top: 75%;
}
footer iframe {
       width: calc(100% - 10px);
       height: calc(100% - 10px);
       position: absolute;
       top: 5px; left: 5px;
       object-fit: cover;
}
footer .infoArea table { border-spacing:5px; border-collapse: separate; width: 100%; margin-top: 2em; clear: both; }
footer .infoArea th,
footer .infoArea td {
	padding: 10px 10px;
	font-size: 87.5%;
}
footer .infoArea th { 
	background-color: #A88643;
	color: #fff; font-weight: normal;
	text-align: left;
}
footer .infoArea td {
	background-color: rgba(255, 255, 255, 0.9);
	border-bottom: dotted 1px #A88643;
} 

/* .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 a { color: #fff; }
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 ul {
	width: 90%; max-width: 1100px;
	margin: 30px auto 0;
}
footer .bnrArea li {
	display: inline-block;
	width: 18%;
	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%; }	
}

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

	footer .inner .accessmap {
		background-color: #fff;
		width: 100%; }
}

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

/*=============================================
main
===============================================*/


.mainimg {
    position: relative;
    width: 100%;
	box-sizing: border-box;
	max-height: 80vh;
	background-image: url("../catering/images/mainimg.jpg");
	background-size: cover;
	background-repeat: no-repeat;
}
.mainimg:before {
    content:"";
    display: block;
    padding-top: 75%; /* 高さを幅の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-image: url("../catering/images/bg_sec.jpg"); 
	background-repeat: no-repeat; background-size: cover; 
	background-position: center top; }

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

body.index .main-content { padding-top: 90vh; }

.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:#700C00; }
.ttl > .eng::after {
    content: '';
    width: 5px;
    height: 1px;
    display: inline-block;
    text-align: center;
    background-color: #700C00;
    position: relative;
    top: -4px;
    left: 4px;
}
.ttl > .eng::before {
    content: '';
    width: 5px;
    height: 1px;
    display: inline-block;
    text-align: center;
    background-color: #700C00;
    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; }
}



/*=============================================
index
===============================================*/
/* 各店舗紹介 */
.wrap_shop {
	width: 100%;
	padding: 4em 0;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;	
}
.wrap_shop .box_ph { width: 50%; min-height: 300px; background-repeat: no-repeat; background-size: cover; }
.wrap_shop .box_txt { width: 49.5%; }
.wrap_shop .box_txt::after {
  content: "";
  display: block;
  clear: both;	
}

.shop_intro { width: 100%; max-width: 550px; height: 100%; position: relative; box-sizing: border-box; padding: 1em 1em; }
.wrap_shop h2 { font-size: 2.25em; text-align: left; margin-bottom: 20px; }
.wrap_shop .shop_img { position: absolute; }

.wrap_shop#catering .box_ph { background-image: url("../images/ph_catering_01.jpg"); }
.wrap_shop#catering .shop_intro { float: right; }
.wrap_shop#catering .shop_img { width: 90%; height: auto; max-width: 300px; right: 5%; bottom: -60px; }

.wrap_shop#bacchan .box_ph { background-image: url("../images/ph_bacchan_01.jpg"); }
.wrap_shop#bacchan .shop_intro { float: left; }
.wrap_shop#bacchan .shop_img { width: 90%; height: auto; max-width: 300px; right: 0; bottom: -60px; }

.wrap_shop#ryan .box_ph { background-image: url("../images/ph_ryan_01.jpg"); }
.wrap_shop#ryan .shop_intro { float: right; }
.wrap_shop#ryan .shop_img { width: 30%; height: auto; max-width: 240px; right: 5%; bottom: -60px; }

.wrap_shop#kakashi .box_ph { background-image: url("../images/ph_kakashi_01.jpg"); }
.wrap_shop#kakashi .shop_intro { float: left; }
.wrap_shop#kakashi { background-image: url("../images/ph_kakashi_02.jpg"); background-size: cover; background-position: bottom right; }



@media screen and (max-width: 768px){
	.wrap_shop .shop_img { display: none; }
}
@media screen and (max-width: 640px){
	.wrap_shop .box_ph { width: 100%; order: 1; }
	.wrap_shop .box_txt { width: 100%; padding: 0 5%; order: 2; }
	.wrap_shop .btn_box { margin: 1em auto 1em; }
}




/* #about */
#about { padding: 2em 0 2em; }
#about .flex_s_b { padding: 3em 0 0; }
#about .img_box { width: 43.6%; text-align: right; }
#about .txt_box { width: 52.4%; line-height: 1.6; }


.main-content #about .ttl { 
	text-align: left;
	margin-bottom: 30px;
}
.main-content #about .ttl > .eng { text-align: left; }
#about h3 { 
	font-size: 1.5em; margin-bottom: 20px;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;	
}

#about .img_box ul.flex_s_b { padding-top: 0; } 
#about .img_box li {
	width: 32%; list-style: none;
}
#about .img_box li:nth-child(1) { margin-top: 60px; }
#about .img_box li:nth-child(2) { margin-top: 30px; }
#about .img_box li img { width: 100%; height: auto; }

@media screen and (max-width: 640px){
	.main-content #about .ttl { text-align: center !important; }
	.main-content #about .ttl > .eng { text-align: center; }
	#about h3 { text-align: center; }
	#about .img_box { width: 100%; margin-bottom: 1em; }
	#about .txt_box { width: 100%; margin-bottom: 1em; }
	#about .img_box li:nth-child(1) { margin-top: 0px; }
	#about .img_box li:nth-child(2) { margin-top: 0px; }
}



/* #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; }



@media screen and (max-width: 640px){
	#menu_photo .wrap_box { width: 46%; margin: 0 2%; }
}



/* index #catering */
section.bg_catering { 
	background-image: url("../catering/images/bg_catering.jpg"); 
	background-repeat: no-repeat; background-size: cover; 
	background-position: center top; }

#catering { padding: 2em 0 2em; }
#catering .flex_s_b { padding: 3em 0 0; }
#catering .img_box { width: 43.6%; text-align: right; }
#catering .txt_box { width: 52.4%; line-height: 1.6; }


.main-content #catering .ttl { 
	text-align: left;
	margin-bottom: 30px;
}
.main-content #catering .ttl > .eng { text-align: left; }
#catering h3 { 
	font-size: 1.5em; margin-bottom: 20px;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;	
}

#catering .img_box ul.flex_s_b { padding-top: 0; } 
#catering .img_box li {
	width: 32%; list-style: none;
}
#catering .img_box li:nth-child(3) { margin-top: 60px; }
#catering .img_box li:nth-child(2) { margin-top: 30px; }
#catering .img_box li img { width: 100%; height: auto; }


@media screen and (max-width: 640px){
	.main-content #catering .ttl { text-align: center !important; }
	.main-content #catering .ttl > .eng { text-align: center; }
	#catering .img_box { width: 100%; margin-bottom: 1em; }
	#catering .txt_box { width: 100%; }
	#catering .img_box li:nth-child(3) { margin-top: 0px; }
	#catering .img_box li:nth-child(2) { margin-top: 0px; }
}



/* menu #catering */
.menu#catering .ttl { 
	font-size: 1.8em; text-align: left;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;	
	margin-bottom: 20px;
}
.menu#catering h3 { 
	font-size: 1.25em; margin-bottom: 10px;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;	
	text-align: left;
	border-bottom: none;
}

.menu#catering table { width: 100%; border-collapse: collapse; margin: 1em auto 5px; }
.menu#catering caption { 
	background-color: #83A85A; color: #fff; font-size: 20px; line-height: 1; text-align: left;
	padding: 5px 10px;
	vertical-align: bottom; /* 画像下の隙間を消す */
}

.menu#catering caption,
.menu#catering th {
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;	
}
.menu#catering tr { border-bottom:dotted 1px #C6B198; }
.menu#catering th {
	padding: 10px 5px 5px 10px;
	text-align: left;
}
.menu#catering td {
	padding: 10px 10px 5px 5px;
	text-align: left;
}
.menu#catering p.atten { font-size: 0.875em; }


/* index #news */
#news .ttl_box { 
	width: 20%; min-height: 110px;
	background-color:#731300;
	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 .news_box {
	width: 77%; min-height: 110px;
}
#news .news_box p { text-align: left; }

#news table { 
	width: 100%;
	border-collapse: collapse;
}
#news tr {
	border-bottom: dotted 1px #1a1a1a;
}
#news th,
#news td {
	padding: 10px 5px;
	box-sizing: border-box;
}
#news th {
	color:#F6921E; text-align: left;
	white-space: nowrap;
}
#news td.td_cate { font-size: 0.75em; white-space: nowrap; }
#news td.td_cate span { padding: 2px 3px; }
#news td.td_cate span.news { background-color: #E3655B; color: #fff; }
#news td.td_cate span.catering { background-color: rgba(246,242,230,0.95);}
#news td.td_cate span.ryan { background-color: rgba(0,134,66,0.95); color: #fff; }
#news td.td_cate span.ryan-airport { background-color: rgba(50,130,0,0.95); color: #fff; }
#news td.td_cate span.kakashi { background-color: rgba(96,56,19,0.95); color: #fff; }
#news td.td_cate span.bacchan { background-color: rgba(79,112,65,0.95); color: #fff; }


#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 .news_box { width: 100%; min-height: auto; }
	#news table { width: 100%; }
	#news tr { display: flex; justify-content: flex-start; flex-wrap: wrap; }
	#news th { padding: 10px 0; width: 50%; display: block; }
	#news td.td_cate { width: 50%; display: block; text-align: right; }
	#news td.td_title { width: 100%; display: block; padding-top: 0; }
}


/*=============================================
下層ページ common
===============================================*/
.sld { 
	width: 100%; height: 300px;
	background-image: url("../catering/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:#700C00;
	border: solid 1px #fff;
	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; }
}

/*=============================================
お知らせ .information
===============================================*/
section#information { box-sizing: border-box; }

section#information h3.head_box {
	color: #42210B;
	font-size: 1.875em;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;	
	border-bottom:solid 3px #b78e65;
	padding: 15px 15px;
}
section#information h1.news_title {
	color: #42210B;
	font-size: 1.5em;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;	
	border-bottom:solid 3px #b78e65;
	padding: 10px 10px;
}
section#information .post_data {
	padding: 10px 10px 0; text-align: right;
}

section#information img.aligncenter {
	margin: 1em auto 2em;
	display: block;
}
section#information .post p {
	margin-bottom: 1em;
	padding: 0 1em;
	line-height: 1.8;	
}
section#information .post p.post_data {
	margin-top: 1em;
	margin-bottom: 2em;
}
