@charset "UTF-8";
/* Simple fluid media
   Note: Fluid media requires that you remove the media's height and width attributes from the HTML
   http://www.alistapart.com/articles/fluid-images/ 
*/
img, object, embed, video {
	max-width: 100%;
}

/* IE 6 does not support max-width so default to width 100% */
.ie6 img {
	width:100%;
}

*{
	margin:0;
	padding:0;
}
.cl{
	clear:both;
}
.n{
	background:#FCF0B6 !important;
	padding:5px;
}
.n_xmas{
	background:#006948 !important;
    color:#FFF !important;
	padding:5px;
}
.gentei{
	background:#ca3a1c !important;
    border-radius: 10px;
    color: #FFF;
	padding:5px 10px;
    margin-bottom: 5px;
    text-align: center;
    white-space: nowrap;
}
.yoyaku{
    margin: 0 auto 30px;
	padding:1em 2em;
    border: solid 2px #ca3a1c;
    border-radius: 10px;
}

.hot{
	color:#900;
}
.ice{
	color:#06C;
}
.font_s{
	font-size:11px;
}

a:hover img{
	opacity:0.7;
	filter:alpha(opacity=70);
	-moz-opacity:0.7;
	border:0;
}
h1{
	text-align:center;
}
h2{ 
	font-size:36px;
	margin-bottom:20px;
	color:#2D130D;
	text-align:center;
	font-weight:lighter;
}

header{
	padding-top:30px;
	text-align:center;
	background:#F2C949 !important;
}

footer{
	color:#FFF !important;
	padding:50px;
	background:#2D130D !important;
}
address{
	font-style:normal;
}
address p a{
	color:#FFF !important;
}
address img{
    width: 18px;
    padding-top: 25px;
}

footer h3{
	font-size:25px;
}
footer p{
	font-size:16px;
	line-height:220%;
}
footer img{
	margin-bottom:30px;
}
#copy{
	margin:0 auto;
	text-align:center;
	padding:10px;
}



#slide{
	z-index:-1;
	position:relative;
}
.bg:before{
    content:"";
    display:block;
    padding-top:47.5%;
}
#slide img{
	width: 100%;
	position: absolute;
	left: 0px;
	top: -29px;
}

.nami1{
	vertical-align:top;
}
.nami2,
.nami3{
	vertical-align:bottom;
}

.su{
	margin:0 auto 30px;
	background:#8CB4A5 !important;
}

.cake h2,
.cafe h2,
.info h2{
	font-size:26px;
}

.cake h2,
.cafe h2{
	margin:50px auto;
}

.info{
	margin:3% auto 50px;
}
#top_info{
	height:300px;
	overflow:auto;
    border-top:solid 1px #2D130D;
    border-bottom:solid 1px #2D130D;
	margin-bottom:20px;
}
#top_info dt,
#top_info dd{
}
#top_info dt{
	padding:10px;
  	float: left;
 	width: 20%;
}
#top_info dd{
	width:90%;
	margin:5px;
  	padding:10px;
	border-bottom:dashed 1px #999;
}

.nennen {
	display: inline-block;
	padding: 2em;
	margin: 0 auto 2em;
	background: #FCF0B6;/*背景色*/
	border-top: solid 6px #F2C949;
	box-shadow: 0 3px 4px rgba(0, 0, 0, 0.32);/*影*/
}

.new{
	width:100%;
    margin:0 auto;
	padding:0;
    border: solid 1px #2D130D;
	border-width:1px 0px;
}
.sc{
	margin:0 auto;
　　width:100%;
	height:15%;
	overflow:scroll;
	overflow-x:hidden;
}	
.sc dl{	
	margin:10px;
	width:100%;

}
.sc dt{
	padding:10px 10px;
  	float: left;
 	width: 30%; 
}
.sc dd{
	width:95%;
	margin: 0 5px;
  	padding:10px 10px;
	border-bottom:dashed 1px #999;
}


.cafe{
	margin:0 auto 50px;
	padding:10px;
	background-image:url(parts_new/border.jpg);
	overflow:hidden;
}

.banner{
	margin-bottom:30px;
}

.cm,
.con,
.shop{
	margin:50px 0 80px;
	padding:0;	
}
/*
.cm li{
	margin:0 0 15px 15px;
	text-align:center;
	display:inline-block;
	list-style-type:none;
	vertical-align:top;
}
*/
.cm ul{
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
	margin:30px 0;
	padding:0;
}
.cm li{
  box-sizing: border-box;
  text-align: center;
  list-style-type:none;
}

.cm h3,
.cam h3,
.insta h3,
.cad h3,
.shop h3{
	color:#2D130D;
	font-size:26px;
	margin:20px 0;
	font-weight:lighter;
	text-align:center;
}
.xmas h3{
	color:#2D130D;
	font-size:19px;
	margin:10px 0;
	font-weight:lighter;
}
.cam,
.insta,
.xmas{
	margin:50px 0 80px;
	padding:0;
}
.insta{
    text-align: center;
}
.cam h4{
	font-size:16px;
}
.cam li{
	list-style-type:none;
	margin-bottom:10px;
}
.cam p{
	line-height:220%;
}
.cad td{
	padding:10px;
	border-bottom:solid 1px #CCC;
}
.cad td:nth-child(1){
	width:64%;
}
.cad td:nth-child(2),
.cad td:nth-child(3){
	width:18%;
	text-align:center;
}

.bar {
	margin-bottom:50px;
	height:50px;
	border-bottom:dotted 3px #CCC;
}

.con img{
	margin-bottom:30px;
}
.con p{
	margin:5px;
	font-size:16px;
	line-height:150%;
}
.conbg{
	background:#FCF0B6 !important;
	padding:30px;
}
.shop p{
	margin-bottom:10px;
}



.calendar{
	width:100%;
	text-align:center;
	margin-bottom:20px;
}
.calendar table{
	width:100%;
}
.calendar table tr,
.calendar table td{
	padding:7px 0;
}

/* Mobile Layout: 480px and below. */
.gridContainer {
	margin-left: auto;
	margin-right: auto;
	width:95%;
	padding-left:1%;
	padding-right:1%;
}
#LayoutDiv1 {
	clear: both;
	float: left;
	margin-left: 0;
	width: 100%;
	display: block;
}


header img{
	width:50%;
	margin-bottom:30px;
}


.nav-container {
	position:fixed;
	top:62px;
	right:0;
	z-index:20;
	margin:0;
	padding:0;
	width:100%;
	background:#FFF;
	opacity:0.95;
	box-shadow: 0px 5px 5px  rgba(0,0,0,0.4);
}
.globalnav ul{
	list-style:none;
	margin:0;
	padding:0;	
}
.globalnav li a {
	text-decoration:none;
	font-size:18px;
	display: block;
	padding: 20px 15px 10px;
	line-height:100%;
	color: #2D130D;
	height:35px;
}
.globalnav li a:hover,
.globalnav li a.current {
	background-color:#EEEBD7;
}
#js-slidemenu {
	display: none;
}

.header-navbtn {
	display:block;
	position:fixed;
	top:0;
	right:2.5%;
	z-index: 30;
	width:62px;
	height:62px;
	background-image:url(parts_new/navbtn.png);
	background-size: 62px 62px;
	background-color: rgba( 45, 19, 13, 0.55 );
}
.header-navbtn:hover,
.header-navbtn:active {
	background-color: #2D130D;
}
.w100{
	width:100% !important;
}

.w29{
	width:100%;
}

.su{
	padding:20px;
}
.su p{
	line-height:inherit;
	line-height:180%;
	letter-spacing:3px;
}
.su img{
	padding:20px;
}


.cake{
	padding:0 50px;
	margin-bottom:30px;
	overflow:hidden;
}
.cake img,
.cafe img{
	padding-bottom:20px;
}


#image01,
#image02,
#image03,
#image04,
#image05,
#image06{
	display:block;
	margin:auto;
}
/*
.cm li{
	width:43.5%;
}
*/
.cm li{
  width: calc((100% - 16px) / 2);
}

.cam ul{
	padding:0;
}
.cam img{
	margin-bottom:20px;
}
.cad table{
	width:100%;
	margin:0 0 30px;
}

.shop p{
	margin:30px 5% 0 0;
}
.shop img{
	margin-top:30px 1% 0 0;
	width:48%;
	padding-bottom:20px;
}
.shop td{
	padding:20px 10px;
	border-bottom:#DDD solid 1px;
}

#map{
	width:100%;
}
#arumoni{
	display:block;
	margin:auto;
	width:25%;
}	
.calendar p{
text-align: left;
margin: 10px 0;
}
.bg-blue{
background-color: rgba(89,200,212,0.50);
}

.box2{
    width: 100%;
    display: inline-block;
    margin-bottom: 30px;
}
.box3{
    width: 100%;
    margin-bottom: 50px;
}
.box3 img{
    width: 100%;
}

/* Tablet Layout: 481px to 768px. Inherits styles from: Mobile Layout. */

@media only screen and (min-width: 481px) {
.gridContainer {
	width:95%;
	padding-left:1%;
	padding-right:1%;
}
#LayoutDiv1 {
	clear: both;
	float: left;
	margin-left: 0;
	width: 100%;
	display: block;
}

h1 br,
h2 br,
h3 br,
h4 br,
address br,
li a br,
.su p br{
	display:none;
}


header img{
	width:30%;
}

address,
.elevation,
.su p,
.info,
.banner,
.cam img,
.shop img{
	width:100%;
}

.w40{
	width:40%;
}
.elevation,
.banner{
	text-align:center;
}


.su p{
	line-height:200%;
}

.info h2{
	text-align:left;
}

.banner img{
	width:50%;
}

.cake,
.cafe{
	padding:2% 0;
}

.cm,
.cam,
.con,
.shop{
	padding:0 5%;
}
.cam ul{
	margin:0 auto;
	padding:0;
}



}

/* Desktop Layout: 769px to a max of 1200px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 769px) {

.gridContainer {
	max-width: 1200px;
}
#LayoutDiv1 {
	clear: both;
	float: left;
	margin-left: 0;
	width: 100%;
	display: block;
}


#js-slidemenu,
.header-navbtn {
	display: none;
}
.nav-container {
	padding:10px 0 10px 20px;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	background: none;
	box-shadow: none;
}
.globalnav {
	display: flex;
}
.globalnav li {
	flex: 0 15.2%;/*18.2*/
	text-decoration:none;
	
}
.globalnav li a {
	padding:0 0 2px;
	text-align: center;
}
.globalnav li a:hover,
.globalnav li a.current {
	border-bottom:2px solid #2D130D;
	display:inline-block;
	padding:0;
	background-color:transparent;
}
#js-slidemenu {
	display: block; 
}

.f-l{
	float:left !important;
}
.f-r{
	float:right !important;
}
.w29{
	width:29.166%;
}

.ml3{
	margin:0 0 0 3.125%;
}


header img{
	width:15%;
}
.elevation{
	float:left;
	width:42%;
	padding-left:10%;
}
address{
	float:left;
	margin-left:5%;
	width:40%;
}

.su img,
.su p,
.banner img,
.cad,
.shop img,
.shop p,
.shop table{
	float:left;
}
.su img{
	margin-left:5%;
	width:20%;	
}
.su p{
	margin-top:3.2%;
	margin-left:5%;
	line-height:150%;
	letter-spacing:2px;
	width:65%;
}

.info{
	margin-top:3%;
	margin-left:4%;
	width:46%;
}
.new{
	width:100%;
}
.sc{
	margin:0 auto;
　　width:80%;
	height:5%;
	overflow:scroll;
	overflow-x:hidden;
}
.sc dl{
	width:95%;
}

.banner img{
	width:500px;
	margin-right:50px;	
	padding:20px;
	float:right;
}
/*
.cm li{
	width:22%;
}
*/
.cm li{
  width: calc((100% - 48px) / 4);
}

.cam li{
	width:100%;
}

.cam img{
	margin-right:3%;
	width:47%;
}
.cam ul{
	float:right;
	width:47%;
}
.cad{
	width:47%;
	margin-right:2%;
}

.con p{
	float:left;
}
#arumoni{
	width:10%;
	float:right;
	margin-right:10%;
}
.shop img{
	margin-right:2%;
	width:23.5%;
}

.shop p{
	width:45%;
	line-height:180%;
}
.shop table{
	margin-top:30px;
	width:45%;
}
	
#map{
	margin-top:30px;
	width:50%;
	float:right;
}

.banner{
	width:45%;
	float:right;
}

.calendar{
	width:44%;
	margin:3% 6% 3% 0;
	float:left;
}
.box2{
    width: 40%;
}
.box3{
    display: inline-block;
    vertical-align: top;
    width: 30.9%;
    margin: 0 1% 50px;
}
.yoyaku{
    width: 59%;
    margin: 20px 0 0 20%;
    padding: 1% 2.5%;
    display: inline-block;
}
}

/*プリント用*/
@media print{
a[href]:after{
	content: "" !important;
}
h3{
	font-size:14px;
}
#map,
h3 br,
.calendar{
	display:none;
}
footer p{
	font-size:12px;
	line-height:150%;
}
header img{
	width:15%;
}
.elevation{
	float:left;
	width:45%;
	padding-left:5%;
}
address{
	margin-left:5%;
	float:left;
	width:45%;
}
address h3{
	color:#FFF !important;
	font-size:16px;
}
address p{
	color:#FFF !important;
}
address p br{
	display:none;
}
.su img{
	margin-left:5%;
	width:20%;
	float:left;	
}

.su p{
	margin-top:3.2%;
	margin-left:5%;
	line-height:150%;
	letter-spacing:2px;
	width:50%;
	float:left;
}

.info{
	margin-top:3%;
	margin-left:20px;
	width:40%;
}
.new{
	width:100%;
}
.sc{
	margin:0 auto;
　　width:80%;
	height:5%;
	overflow:scroll;
	overflow-x:hidden;
}
.sc dl{
	width:95%;
}

.banner img{
	width:40%;
	margin-right:20px;	
	padding:20px;
	float:right;
}
/*
.cm li{
	width:22%;
}
*/
.f-l{
	float:left;
}
.w29{
	width:29.166%;
}
.ml3{
	margin:0 0 0 3.125%;
}
.cam img{
	margin-right:3%;
	width:47%;
	float:left;
}
.w40{
	width:40%;
}
#arumoni{
	width:10%;
	float:right;
	margin-right:10%;
}
.shop img{
	margin-right:2%;
	width:23%;
}
}