@charset "utf-8";
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
body{
	margin:0 auto;
	color:#333;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	
	}
#header{
	width:100%;
	background:#FFF;
    height: 200px;
    text-align: center;
	}
a{
	color:#7e9cfd;
	}	
.goshop{
  color: #fff;
  background-color: #eb6100;
  border-radius: 100vh;
  border: #F68B1E;
  font-size: 1em;
  max-width:220px;
  text-align:center;
	padding:4px;
}
.goshop a{
	color:#fff;

	}

nav{
	max-width:1000px;
	color:FFF;
	margin:0 auto;
	}
.logo{
	
	font-size:2em;
	color:#FFF;
	padding:15px 10px 2px 2px;
    display: block;
    }
.logo img{
    max-width: 100px;
}
.logo a{
    color: #181717;
    text-decoration: none;    
}
#of{
	padding-top:25px;
	}
nav ul{
	margin:0 auto;
	/*float:left;*/
	}
	
nav ul li{
	list-style:none;
	padding:12px 10px;
	display:inline-block;
	
}
.current{
    border-bottom: #aa0000 solid;
}
.borderB{
	border-bottom:#666 thick 2px;
	}
nav ul li:hover{
	background:#000;
	color:#FFF;
	}
nav ul li a:hover{
	color:#FFF;
	}
nav ul li a{
	color:#6e6d6d;
	text-decoration:none;
	font-weight:bold;
	font-size:1.2em;

	}

.toggle{
	font-size:25px;
	color:#000;
	width:100%;
	text-align:right;
	padding:30px 20px 10px;
	box-sizing:border-box;
	display:none;
	}

.box1{
	width:100%;
	height:auto;

	}
.boxNav{
	width:100%;
	background: url(../img/topNav.jpg) no-repeat center;
	height:auto;
	background-size: cover;
	}
.box2{
	width:100%;
    background-color: #e6d8b3;
	}
.box3{
    width:100%;
	}
.box3, .box2{
    padding-top:30px;
    padding-bottom: 20px;
	}
.ttl_box{
	width:100%;
	background: url(../img/ttlbg.jpg) no-repeat center;
	height:130px;
	background-size: cover;
	}
.innerbox{
	max-width:1000px;
	margin:0 auto;
	padding:0 30px 30px 30px;
	text-align:center;
	}
.normalTable{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
.normalTable th{
	width: 25%;
} 
.normalTable th,.normalTable td{
	padding: 10px 0;
	text-align: left;
}
.normalTable tr:nth-child(odd){
	background-color: #f8f8f8;
}

.lh1{line-height: 0.8;}
.box50{
	width:49%;
	float:left;
	padding-bottom:2%;
	position: relative;
}
.box33{
	width:33.333%;
	float:left;
	}
.box25{
	width:25%;
	float:left;
	padding:2px;
	margin-bottom:20px;
	position: relative;
	}
.box33 img{
	padding:2%;
	}
._right{
	float:right;
	}
._padding-top{
	padding-top:8px;
	}
.left_area{
	float:left;
	width:48%;
	text-align:left;
	}
.right_area{
	float:right;
	text-align:left;
	width:50%;
	}
._border{
	border-bottom:#d1b77e 1px dotted;
	border-width:thin;
	width:90%;
	position:relative;
	}
._border_top{
	border-top:#ddd 1px dotted;
	border-width:thin;
	position:relative;
	display:block;
	}
._width100{
	width:100%;
	text-align:right;
	padding:5px;
	}
._bold{
	font-weight:bold;
	}
._red{
	color:#7b0f6d;
	}
._block{
	display:block;
	font-size:1.2rem;
	}
._gray{
	color:#bbb;
	}
._icom{
	display:none;
}
.textLeft{
	text-align:left;
	}
.maxHeight220{
	max-height:220px;
	}
.map{
	min-height: 350px;
}
.textshadow{    text-shadow: #aa0000 2px 0px, #aa0000 -2px 0px, #aa0000 0px -2px,
	 #aa0000 0px 2px, #aa0000 2px 2px, #aa0000 -2px 2px, #aa0000 2px -2px, #aa0000 -2px -2px, #aa0000 1px 2px, #aa0000 -1px 2px, #aa0000 1px -2px, #aa0000 -1px -2px, #aa0000 2px 1px, #aa0000 -2px 1px, #aa0000 2px -1px, #aa0000 -2px -1px;}

h1{
	color:#FFF;
	width:80%;
	margin:0 auto;
    text-align:center;
    padding-top: 55px;
    font-size: 3em;
}
.subh1{
	top:130px;
	position:absolute;text-align:center;
	}
h2 {
    position: relative;
    display: inline-block;
    padding: 0 65px;
    text-align: center;
    color: #aa0000;
    font-size: 2em;
    }
    
    h2:before,
    h2:after {
    position: absolute;
    top: calc(50% - 3px);
    width: 50px;
    height: 3px;
    content: '';
    
    border-bottom: solid 2px #aa0000;
    }
    
    h2:before {
    left: 0;
    }
    
    h2:after {
    right: 0;
    }
.smalltext{
	font-size:0.8em;
	color:#a09696;
	}
.cartText{
	font-size:0.8em;
	}
.clr{
	color:#aa0000;
}
.yomi{
	font-size: 0.5rem;
	color:#a09696;
	-webkit-transform:scale(0.5);
	-moz-transform:scale(0.5);
	-ms-transform:scale(0.5);
	-o-transform:scale(0.5);
	transform:scale(0.5);
}
#footer{
	width:100%;
	background:#000;
	color:#FFF;
	text-align:center;
	}
#footer ul{
	padding-left:5px;	
	}
	
#footer ul li{
	list-style:none;
    border-right: 1px solid #666;
    display: inline-block;
	
	}
#footer ul li a{
	text-decoration:none;
	display: block;
    padding: 2px 10px;
	color:#FFF;

	}
	
#footer ul li:last-child {
    border-right-width: 0;
	}
.sp-menu{
	position: fixed;
    display: block;
    border-radius: 50%;
	background: #e99cf0;
	opacity: 0.6;
    width: 45px;
	height: 45px;
	float:right;
	z-index: 100;
	bottom:80px;
}
.sp-menu::before,
.sp-menu::after{
	position: absolute;
    width: 12px;
    height: 3px;
    content: '';
    border-radius: 3px;
    background: #fff;
}
.sp-menu::before{
    top: 18px;
    right: 20px;
	transform: rotate(-45deg);
}
.sp-menu::after{
    top: 18px;
    right: 12px;
    transform: rotate(45deg)
}
.ui-datepicker-title{
	text-align: center;
}
.ui-state-highlight{
	background-color: #F68B1E;
}
.ui-state-default{
	border: #d3d3d3 1px solid;
	min-width: 35px;
	display: block;
	text-align: center;
	text-decoration: none;
	margin: 4px;
}
.ui-datepicker {
	background-color: #6dad70;
	max-width: 330px;
}
.ui-datepicker a {
	color:#ffffff;
}
.ui-datepicker table th {
	min-width: 30px;
	min-height: 30px;
}
.ui-datepicker-next{
	float: right;
}
.ui-datepicker-unselectable{
	color:#669b72;
}
#footer .tko{
	display:block;
	position: fixed;
	right: 0;
	bottom: 0;
	width: 60%;
	z-index: 100;
	margin-top:5px;

	}
#footer .tko ul li{
	width:90%;
	border:#CCC 1px solid;
	background: #000;opacity:0.7;
	
	}
#footer .tko ul li a{
	padding-right:5px;
	}
img{
	max-width:100%;
	height:auto;
	}
.infoimg{
	height:auto;
}
.box2:after, .innerbox:after, .box3:after,._right:after {
    content: "";
    clear: both;
    display: block;
}
.clear_h2{
	clear:both;
	width:100%;
	height:2px;
}

.topList{
	width:33.333%;
	display:block;
	padding-left:1%;
	padding-right: 1%;
	float:left;
	padding-bottom: 4%;
}
.topList .text{
	padding-top:2px;
	line-height:1.6rem;
}
.imgList{
	    border: #FFF 2px solid;
}
.news{
	color:#000;
	display:block;
	text-align: left;
	}
dl{
		text-align:left;width:96%;
	}
dt{
	color:#636160;
	font-weight:bold;
	}
dd{
	color:#9d9b06;
	padding-bottom:7px;
	}
.new-icon {
  display: inline-block;
  background: #df21cd;
  padding: 1px 3px;
  margin-left:2px;      
  vertical-align: text-top; 
  font-size: 0.6em;
  color: #fff;
  border-radius: 2px;    
}
#form{
	position: relative;
	width: 100%;
	margin: 20px auto;
}
input{
	width: 100%;
	min-height: 35px;
	padding: 0px 12px 0px 12px; 
	background: transparent;
	outline: none;
	color: #383838;
	border: solid 1px #635f5f;
	display: block;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	margin-bottom: 2px;
}
input:hover{
	background: #181717;
	color: #FFF;
}
textarea{
	display: block;
	width: 100%;
	min-height: 60px;
	background: transparent;
	outline: none;
	color: #383838;
	border: solid 1px #635f5f;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	margin-bottom: 10px;
}
textarea:hover{
	background: #e1e1e1;
	color: #383838;
}
#submit{
	width: 35%;
	padding: 0;
	margin: 0 auto;
	outline:none;
	color: rgb(77, 74, 74);
	cursor: pointer;
	border: solid 1px #635f5f;
	border-top: none;
}
.lbl {
    width: 70px;
    height: 20px;
    color: #ffffff;
    background-color: #2779bd;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    border-radius: 50%;
    position: absolute;
	top: 0px;
	left: 20px;
	font-size: 0.3em;
}
.lbl_down {
    width: 70px;
    height: 20px;
    color: #ffffff;
    background-color: #2779bd;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    border-radius: 50%;
    position: absolute;
	top: 22px;
	left: 30px;
	font-size: 0.3em;
}
.lbl_right {
    width: 40px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center; 
    position: absolute;
    top: 0;
	right:10px;
}
.ribbonBlue{
	background: #0c3770;
  }
  .ribbonRed{
	background: #4b0731;
  }
  .ribbonGreen{
	background: #036808;
  }
  .ribbonYellow{
	background: #8d6c07;
  }
  .ribbonPink{
	background: #d94467;
  }
  .ribbon {
	display: inline-block;
	position: relative;
	height: 28px;
	line-height: 18px;
	text-align: center;
	padding: 6px 0;
	font-size: 12px;
	color: #FFF;
	box-sizing: border-box;
  }
  .ribbon h4 {
	margin: 0;
	padding: 1px 15px 0 5px;
	border-top: dashed 1px #FFF;
	border-bottom: dashed 1px #FFF;
	line-height: 15px;
  }
  
  .ribbon:after {
	position: absolute;
	content: '';
	z-index: 1;
	top: 0;
	right: 0;
	width: 0px;
	height: 0px;
	border-width: 15px 10px 15px 0px;
	border-color: transparent #fff transparent transparent;
	border-style: solid;
  }
.lineThrough{text-decoration: line-through;}
.displaynone{
	display:none;
}
 .courseArea {
	width:100%;
	float:left;
	padding:2%;
	border: #eee 1px solid;
	background: #fae9c5;
	position: relative; 
	margin-bottom: 3%;
}
.courseLeft{
	width: 25%;
	float: left;	
}
.courseRight{
	width: 70%;
	float: right;
	text-align: left;
}
.couponArea {
	width:98%;
	float:left;
	padding:2%;
	border: #eee 1px solid;
	background: #fafafa;
	position: relative; 
	margin-bottom: 3%;
}
.couponLeft{
	width: 35%;
	float: left;	
	padding-left: 10%;
	vertical-align: middle;
}
.couponRight{
	width: 55%;
	float: right;
	border-left: #a09696 1px dotted;
	text-align: left;
}
/* ラベル部分 左上に表示 */
.couponArea::before {
    content: "";
    top: 0;
    left: 0;
    border-bottom: 4em solid transparent;
    border-left: 4em solid #c12748; /* ラベルの色はここで変更 */
    position: absolute;
    z-index: 100;
}
.couponArea::after {
    content: "coupon　";
    display: block;
	top: 5px;
	font-size: 0.6em;
    transform: rotate(-45deg);
    color: #fff; /* 文字色はここで変更 */
    left: 0;
    position: absolute;
    z-index: 101;
}
.btn-blue{
  color: #fff;
  background-color: #2779bd;
  font-size: 0.7em;
  border-radius: 10%;
}
#goods_list ul{
	padding: 0;
}
.goods{
	border: #ddd solid 1px;
	padding: 5px;
	margin: 2px;
  }

  dl dd{
	padding: 5px;
  }
  #go_cart{
	padding: 5px 0px;
  }
  #close_cart span{
	cursor: pointer;
  }
  .cartArea {
	display:block;
	position: fixed;
	right: 2%;
	bottom: 2%;
	width: auto;
	z-index: 100;
	padding:1%;
	min-width: 70px;
	background-color: #666666;
}
.cartArea a {
	color:#000;
	}	
.cartArea span {
	font-size: 8px;
    line-height: 18px;
    background: #F68B1E;
    padding: 1px;
    border: 1px solid #fff;
    border-radius: 50%;
    position: absolute;
    color: #fff;
    width: 18px;
    height: 18px;
	text-align: center;
	margin-left: -10px;

}
  #cart_detail{
	padding: 10px;
	text-align: right;
	border-bottom: #ddd solid 2px;
	width: 100%;
	position: fixed;
	bottom: 0;
	background-color: #666666;
	color: #FFF;
	z-index: 999;
  }
  #cart_detail ul li{
	padding: 5px;
	list-style: none;
	border-bottom: #ddd dashed 1px;
  }
  #total{
	font-size: 135%;
  }

.sticky{
	position: -webkit-sticky; /* Safari用 */
    position:sticky; /* 要素をスクロールに応じて固定 */
    top:0; /* 縦スクロールに追従 */
    z-index: 100; /* z-indexで最前面に持ってくる */

}

.flexBox {
	padding:  2px;             /* 余白指定 */
	display: flex; 
	flex-wrap: wrap;
}
 
.flexItem {
    padding: 4px;
    margin:  1px;              /* 外側の余白 */
	border-radius:  5px;        /* 角丸指定 */
	box-sizing: border-box;
	background-color: rgb(241, 151, 151);     /* 背景色指定 */
	opacity: 0.7;

}
.flexItem a {
	color:#000;
	text-decoration: none;
}

.buy{
  color: #fff;
  background-color: #eb6100;
  border-radius: 100vh;
  border: #F68B1E;
  font-size: 0.8em;
}
.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 0.5rem 2rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
  font-size: 62.5%;
}
.btn--orange,
a.btn--orange {
  color: #fff;
  background-color: #eb6100;
}
.btn--orange:hover,
a.btn--orange:hover {
  color: #fff;
  background: #f56500;
}

.fa-position-left {
  position: absolute;
  top: calc(50% - .5em);
  left: 1rem;
}

.btn--radius,
a.btn--radius,
button.btn--radius
{
    border-radius: 100vh;
}


.accbox {
    margin: 2em 0;
    padding: 0;
    width: 100%;/*最大幅*/
}
.accbox label {
    display: block;
    padding : 8px 12px;
    font-weight: bold;
    background: #c09932;
    cursor :pointer;
    transition: all 0.5s;
}


/*ラベルホバー時*/
.accbox label:hover {
    background :#d8b862;
}

/*チェックは隠す
.accbox input {
    display: none;
}
*/
/*中身を非表示にしておく*/
.accbox .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.cssacc:checked + label + .accshow {
    height: auto;
    padding: 5px;
    background: #f6ecd1;
    opacity: 1;
}

.accbox .accshow form {
    margin: 2px 2px}

.news{
	width: 100%;
	padding: 2%;
}
.news span{

	color:#8c8c8c;
}
.newsimg{
	margin-right: 2%;
	width: 28%;
	float: left;
	max-width: 180px;
}

@media (max-width:780px)
{
	*{
		line-height: 1.5em;
		}
	.logo{
		font-size:1.5em;
    }
    .logo img{
        max-width: 70px;
    }
    #header{
        height: 130px;
    }
	.map{
		max-height: 250px;
		min-height: 200px;
	}
	nav ul{
		width:100%;
		background:#FFF;
		display:none;
		padding-left:0;
		float:right;
		margin-top:-4px;
		}
	nav ul li{
		text-align:left;
		border-bottom:#CCC 1px solid;
		padding:15px;
		display:block;
		}
	nav ul li a {
		position: relative;
		display:block;
		font-size:1.3em;
		font-weight:normal;
		}
	nav ul li a:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		right: 10px;
		width: 6px;
		height: 6px;
		margin: -4px 0 0 0;
		border-top: solid 2px #CCCCCC;
		border-right: solid 2px #CCCCCC;
		-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
		}
	nav ul li:hover{
		background:#000;
		color:#FFF;
		}
	.toggle{
        display:block;
        position: absolute;
        right: 20px;
        top: 15px;
        z-index: 2;
	}
	.active{
		display:block;
		}

	.box1{
		height:auto;
		}
	.innerbox{
		max-width:98%;
		padding:0 2% 2% 2%; 
		}
	h1{
		font-size:2em;
		padding-top:20px;
        }
    h2{
        font-size: 1.3em;
    }
    .ttl_box{
        height:80px;
        }
	._icom{
	display: inline;
	 padding-right:10px;    vertical-align: bottom;
	}
	._bar{
	display: inline;
	 padding-right:10px;
	 padding-top:5px;   
	}
	.left_area{
		float:left;
		width:35%;
		text-align:left;
		padding-right:10px;
		}	
	.right_area{
		float:right;
		width:62%;
		}		
	.box50, .box33{
	width:100%;
	display:block;
	}

	#footer ul{
		padding-left:1px;	
		}
	#footer ul li a{
		text-decoration:none;
		padding: 2px 5px;
		}	
	
	dd{
		font-size:1.2em;
	}
	.sche{
	font-size:0.9em;
	}
}

@media (max-width:500px)
{
	*{
		line-height: 1.4em;
		}
	.logo{
		font-size:1.5em;
		min-width: 250px;
		padding: 6px 2px 2px 2px;
	}
	.box25{
	width:50%;
	float:left;
	}
	.couponLeft{
		width: 90%;
		float: none;	
		padding-left: 10%;
	}
	.couponRight{
		width: 98%;
		float: none;
		border-left: 0px;
		border-top: #a09696 1px dotted;
		text-align: left;
		padding-left: 1px;
	}
	.courseLeft{
		width: 100%;
	}
	.courseRight{
		width: 100%;
		text-align: left;
	}
	#footer .tko{
		width: 90%;
		}
	#footer .tko ul li{
		width:90%;
		}
	.ui-datepicker {
	max-width: 320px;
	}
	.ui-datepicker table th {
		min-width: 25px;
		min-height: 25px;
	}
	.ui-state-default{
		border: #d3d3d3 1px solid;
		min-width: 30px;
		display: block;
		text-align: center;
		text-decoration: none;
		margin: 3px;
	}

}