@charset "UTF-8";

/*=============================================
common
===============================================*/
a { color: #98BE5B; }
a:hover { color: #008642; }

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


.t_red { color: #cc3300; }

/*=============================================
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(79,112,65,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: 8%;
}

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

#global-nav ul {
    list-style: none;
    position: absolute;
	left: 10%;
	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: #fff;
    background: rgba(79,112,65,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: 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: rgba(79,112,65,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;
    }
	#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;
        -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;
	}	
	
    #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);
    }
}


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

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 .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 { 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 .inner .infoArea .shopname {
		font-size: 1.7em;
	}	
}

/* .copyright */
footer .copyright {
	background-color:  #fff;
	padding: 20px 0 20px;
	text-align: center;
	font-size: 87.5%;
}
/*=============================================
main
===============================================*/
/* .mainimg */
.mainimg {
    position: relative;
    width: 100%;
	box-sizing: border-box;
	max-height: 80vh;
	background-image: url("../bacchan/images/mainimg.jpg");
	background-size: cover;
	background-repeat: no-repeat;
}
.mainimg:before {
    content:"";
    display: block;
    padding-top: 70vh;
}

/* section */
section { z-index: 2; background: #fff; }
section.bg_no { background: #fff; }
section.bg_color { 
	background-image: url("../bacchan/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;
}



.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.875em; }
}
@media screen and (max-width: 640px){
	section .inner  { padding: 1.5em 0; } 
	.ttl > .eng { font-size: 0.875rem; }
}


/*=============================================
index
===============================================*/
/* #about */
#about { padding: 2em 0 2em; }
#about .flex_s_b { padding: 3em 0 0; }
#about .img_box { width: 19%; text-align: right; }
#about .img_box img { width: 61.5%; height: auto; }
#about .ph_box { width: 32%; }
#about .txt_box { width: 43.9%; line-height: 1.8; font-size: 1.125em; }
#about h3 { 
	font-size: 1.5em; margin-bottom: 20px;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;		
}


@media screen and (max-width: 640px){
#about .img_box { width: 19%; text-align: right; }
#about .img_box img { width: 61.5%; height: auto; }
#about .ph_box { display: none; }
#about .txt_box { width: 75.9%; padding-right: 20px; box-sizing: border-box; line-height: 1.6; }
}


/* #vege */
#vege { padding: 3em 0 0; }
#vege .img_box {
	width: 17.64%;
}
#vege .img_box img { 
	width: 100%; height: auto;
	border-radius: 50%;
}
#vege p { text-align: center; }
#vege .head_box { 
	font-size: 1.75em;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;
	color: #04724D;
	margin-bottom: 1em;
}

@media screen and (max-width: 640px){
	#vege .head_box { font-size: 1.5em; }
}


/* #btnArea */

#btnArea .inner { text-align: center; }

#btnArea li { list-style: none; }
#btnArea .wrap_box { width: 49%; }
#btnArea .wrap_box img { transition: 0.5s; }
#btnArea .wrap_box img:hover { opacity:0.6; }

#btnArea .btn_order {
	position: relative;
	display: inline-block;
	padding: 1rem 4rem  0.7rem;
	cursor: pointer;	
	font-size: 1.75em;
	font-family: heisei-mincho-std, serif;
	font-weight: 500;
	font-style: normal;
	color: #000;
	background-color: #fff;
	border: solid 2px #8CC63F;
	border-radius: 10px;
	box-shadow: 0 3px 0 rgba(0, 0, 0, .3);
	margin: 0 auto 3px;
	box-sizing: border-box;
}

#btnArea .btn_order:hover {
  background: #ffffee;
	box-shadow: 0 0 0 rgba(0, 0, 0, .0);
	margin: 3px auto 0;
}


#btnArea .btn_order a { 
	color: #000; text-decoration: none;
	display: block;
	width: 100%; height: 100%;
}

#btnArea .btn_order a .fa-position-left { color: #04724D !important; }

#btnArea .btn_order.fax {
	position: relative;
}
#btnArea .btn_order.fax:after { 
	content: "※プリントしてご記入後、FAX送信して下さい";
	display: block; width: 100%; text-align: center;
	position: absolute;
	left: 0; bottom: -30px;
	color: #000 !important; font-size: 12px; font-weight: normal; 
}

#btnArea i {
	position: absolute;
	top: calc(50% - .5em);
	left: 2rem;
	color: #04724D !important;
}

@media screen and (max-width: 480px){
	#btnArea .wrap_box { width: 100%; margin: 0 2%; }
	#btnArea .btn_order { width: 100%; margin: 5px 0; }	
	#btnArea .wrap_box { width: 100%; margin: 5px 0; font-size: 1.25em; }
}



/* #news */
#news .ttl_box { 
	width: 20%; min-height: 110px;
	background-color:#603813;
	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 10px;
}
#news th {
	color:#F6921E; text-align: left; width: 20%;
	white-space: nowrap;
}
#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 th { padding: 10px 0; }
	#news th { padding: 10px 10px; }
}



/*=============================================
下層ページ common
===============================================*/
.sld { 
	width: 100%; height: 300px;
	background-image: url("../bacchan/images/bg_sec.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:#374E2D;
	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
===============================================*/
.main-content .menu h3 {
	color: #000;
	font-size: 1.875em;
	border-bottom: solid 5px #ede7df;
	margin-bottom: 1em;
}
.main-content .menu h3 .period {
	display: inline-block;
	background-color: #F96523; color: #fff;
	font-size: 0.5em; padding: 5px 10px 3px; margin-top: 5px;
	float: right;
}
.main-content .menu h3 .season {
	background-color: #DA2C38;
}

.main-content .menu h3::after {
    content: "";
    clear: both;
    display: block;
}



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

.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_left { width:37.7%; height: auto; float: left; }
.wrap_box .img_right { width:60.3%; height: auto; float: right; }

.menu p.head_products { 
	font-family:"Lucida Grande", "segoe UI", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, Verdana, Arial, sans-serif; 
	font-size: 1rem; text-align: left;
	margin: 1em 0;
}
.wrap_box .img_box::after {
    content: "";
    clear: both;
    display: block;
}

.wrap_box .txt_box {
	background-color: #F5EFE2;
	padding: 10px 10px;
}
.wrap_box .txt_box table { border-collapse: collapse; width: 100%; }
.wrap_box .txt_box tr {
	border-bottom: dotted 1px #000;
}
.wrap_box .txt_box th {
	padding: 5px 10px 5px 0; text-align: left;
}
.wrap_box .txt_box td {
	padding: 5px 10px;
}



@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%; margin-bottom: 3em; }
}





/*=============================================
order
===============================================*/
.main-content .order h3 {
	color: #000;
	font-size: 1.875em;
	border-bottom: solid 5px #ede7df;
	margin-bottom: 1em;
}
.main-content .order .tbl_style { width: 100%; border-collapse: collapse; margin-bottom: 3em; }
.main-content .order .tbl_style th,
.main-content .order .tbl_style td {
	padding: 10px 1em; text-align: left;
	border-bottom: dotted 1px #000;
}

.main-content .order .tbl_order th {
	background-color: #F5EFE2;
}
.main-content .order .tbl_confirmation th {
	padding-bottom: 0;
	border-bottom: none;
	color: #04724D;
}

.main-content .order ul { margin-bottom: 3em; }
.main-content .order li {
	padding: 10px 1em;
	border-bottom: dotted 1px #000;
	list-style:none; 
	position: relative;
}
.main-content .order li::before {
	content: "●";
	color: #04724D;
	position: absolute; left: 0;
}

@media screen and (max-width: 640px){
	.main-content .order .tbl_order th,
	.main-content .order .tbl_order td { width:100%; display: block; box-sizing: border-box; }
}

