@charset "utf-8";
/* CSS Document */

/*================================================
*  CSSリセット
================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
*  一般・共通設定
================================================*/
body {
font-size: 14px;
color: #333;
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
line-height: 1.5;
background: #000;
padding: 0 !important;
margin: 0;
}

.inner {
position: relative;
width: 100%;
margin: 0 auto;
overflow: hidden;
}

header {
box-sizing: border-box;
z-index: 10;
top: 0;
left: 0;
width: 100%;
background: #fcfcfc;
}

nav {
width: 100%;
}
nav:after {
content: '';
display: block;
clear: both;
}

#contents {
box-sizing: border-box;
overflow: hidden;
max-width: 1200px;
margin: 30px auto;
}

#main {
box-sizing: border-box;
overflow: hidden;
float: right;
width: 76%;
margin: 0;
background: #000;
}

#sub {
box-sizing: border-box;
overflow: hidden;
float: left;
width: 20%;
margin: 30px 0;
background: #000;
}

#wide {
box-sizing: border-box;
padding: 10px;
background: #efefef;
}

footer {
box-sizing: border-box;
width: 100%;
margin: 0 auto;
}

a {
color: #d1c286;
text-decoration: none;
}
a:hover {
color: #d1c286;
text-decoration: none;
}

h2 {
padding: 30px 0;
font-size: 26px;
color: #d1c286;
text-align: center;
background: #e0e0e0;
}

h3 {
position: relative;
}
h3 {
font-size: 26px;
line-height: 1em;
margin: 10px auto;
text-align: center;
padding-top: 30px;
padding-bottom: 30px;
color: #efefef;
}
h3:before {
content: "";
height: 1px;
width: 100%;
background-color: #efefef;
display: block;
position: absolute;
top: 45px;
}
h3 span {
background-color: #000;
display: inline-block;
position: relative;
padding: 0 5%;
}

h4 {
font-size: 16px;
color: #000;
font-weight: bold;
background:linear-gradient(to bottom right, #a79756, #faf8c5, #a79756);
margin: 10px auto;
padding: 2px 0;
text-align: center;
}

ul,ol,dl {
margin: 0 0 1em 0;
}
ul li {
list-style: disc;
}
ol li {
list-style: decimal;
}
li {
margin-left: 2em;
}

dt {
margin-bottom: 0.5em;
border-bottom: 1px dotted #ddd;
}
dd {

}

table {
width: 100%;
margin-bottom: 1em;
border-collapse: collapse;
border: 1px solid #ddd;
background: #efefef;
}
th {
padding: 10px;
text-align: center;
vertical-align: middle;
border: 1px solid #ddd;
background: #efefef;
}
td {
padding: 10px;
text-align: left;
border: 1px solid #ddd;
}

/*================================================
*  ヘッダー
================================================*/
header {
background: #000;
}
.logo{
width: 70px;
padding: 10px 0;
margin: 0 auto;
}
header > .inner {
box-sizing:border-box;
display: -ms-flexbox;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-ms-flex-align: center;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
-ms-flex-pack: justify;
-webkit-box-pack: justify;
-webkit-justify-content: censpace-betweenter;
justify-content: space-between;
padding: 20px 0;
}

.summary {
position: relative;
margin: 0;
padding-bottom: 5px;
font-size: 12px;
}

.header_nav {
width: 100%;
display: -ms-flexbox;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-ms-flex-align: center;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
-ms-flex-pack: justify;
-webkit-box-pack: justify;
-webkit-justify-content: censpace-betweenter;
justify-content: space-between;
}

/*================================================
*  グローバルナビゲーション
================================================*/
li.search{
padding: 5px 0;
}
.search_container{
box-sizing: border-box;
position: relative;
display: block;
padding: 0 5%;
height: 30px;
width: 90%;
overflow: hidden;
margin: 3% auto; 
background-color: #fff;
}
.search_container input[type="text"]{
border: none;
height: 30px;
width: 100%;
}
.search_container input[type="text"]:focus {
outline: 0;
}
.search_container input[type="submit"]{
cursor: pointer;
font-family: FontAwesome;
font-size: 18px;
border: none;
background: none;
color: #000;
position: absolute;
width: 25px;
height: 25px;
right: 5%;
top:8%;
outline : none;
}

@media print, screen and (min-width:768px) {
nav {
background: linear-gradient(to bottom right, #a79756, #faf8c5, #a79756);
z-index: 3;
width: 100%;
}

/* 共通 */
nav ul {
width: 90%;
margin: 0 auto;
padding: 0;
text-align: center;
}

nav ul li {
position: relative;
margin: 0 auto;
padding: 0;
list-style: none;
}

nav ul li a {
display: block;
margin: 0 auto;
padding: 16px 0;
color: #000;
font-size: 14px;
font-weight: bold;
line-height: 1.3;
text-decoration: none;
text-align: center;
min-width: 150px;
}

nav ul li:hover > a {
color: #000;
background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 ); /* IE6-9 */
}

/* 1段目 */
nav ul.gnav > li {
position: relative;
width: 17%;
float: left;
margin: 0;
padding: 0;
text-align: center;
list-style: none;
}

nav ul.gnav > li:first-child {
width: 15%;
}

nav ul.gnav > li.subnav a {
padding-right: 20px;
}

nav ul.gnav > li.subnav > a:after {
position: absolute;
content: "";
top: 20px;
width: 0;
height: 0;
margin-left: 10px;
border: 5px solid transparent;
border-top-color: #efefef;
}

/* 2段目 */
nav ul li ul {
position: absolute;
z-index: 3;
top: 100%;
left: 0;
width: 100%;
margin: 0;
padding: 0;
}

nav ul li ul li {
overflow: hidden;
width: 150%;
height: 0;
color: #efefef;
transition: .2s;
}

nav ul li ul li a {
padding: 13px 15px;
text-align: left;
background: #3d3d3d;
font-weight: normal;
}

nav ul li ul li a:hover {
background: #363535;
}

nav ul li:hover > ul > li {
overflow: visible;
height: 40px;
border-bottom: 1px solid #464545;
}

nav ul li:hover ul li:last-child {
border-bottom: none;
}

nav ul.gnav > li:last-child > ul {
left: -50%;
}

nav ul li ul li ul:before {
position: absolute;
content: "";
top: 13px;
left: -20px;
width: 0;
height: 0;
border: 5px solid transparent;
border-left-color: #efefef;
}

nav ul.gnav > li:last-child ul li ul:before {
position: absolute;
content: "";
top: 13px;
left: 200%;
margin-left: -20px;
border: 5px solid transparent;
border-right-color: #efefef;
}

/* 3段目 */
nav ul li ul li ul {
top: 0;
left: 100%;
}

nav ul li ul li ul li {
width: 100%;
}

nav ul li ul li:hover > ul > li {
border-bottom: 1px solid #464545;
}

nav ul.gnav > li:last-child > ul li ul {
left: -100%;
}

nav ul li ul li ul li a {
background: #3d3d3d;
}

nav ul li ul li ul li a:hover {
background: #363535;
width: auto;
}

.gnav {
display: block !important;
}

#spMenu {
display: none;
}
}

/*================================================
*  カテゴリー
================================================*/
.category{
width: 70%;
margin: 0 auto;
padding: 20px 0 10px;
}

.category ul {
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
color:#efefef; 
}
.category ul > li {
font-weight: 900;
list-style-type: none;
}
.category ul > li a {
display: block;
padding: 5px;
max-width: 200px;
font-size: 16px;
box-sizing: border-box;
border-bottom: 5px solid transparent;
letter-spacing: -0.3px;
text-align: center;
font-weight: 900;
text-decoration-line: none;
color:#efefef; 
}
.category ul > li:last-child {
position: relative;
}
.category ul > li:last-child:before {
content: "";
background-color: #efefef;
display: inline-block;
height: 25px;
width: 1px;
position: absolute;
left: 0;
top: 0;
bottom: 0;
margin: auto;
}
.category ul > li:hover a {
border-bottom: 5px solid #d1c286;
color:#d1c286;
}
.category ul > li:hover div.child_cate ul li a {
border-bottom: 5px solid transparent !important;
color:#000; 
}
.category ul > li div.child_cate {
display: none;
position: absolute;
width: 100%;
left: 0;
box-sizing: border-box;
padding: 0 1em;
z-index: 999;
background-color: #efefef;
border-top: 2px solid #000;
}
.category ul > li div.child_cate ul {
flex-wrap: wrap;
width: 80%;
margin: 0 auto;
justify-content: space-around;
}
.category ul > li div.child_cate ul li {
font-weight: normal;
font-size: 0.95em;
}
.category ul > li div.child_cate ul li:hover a {
border-bottom: 5px solid transparent !important;
text-decoration: underline;
}
.category ul > li div.child_cate ul li:last-child:before {
content: none;
}
.category ul > li div.child_cate ul li a:before {
display: inline-block;
font-weight: bold;
line-height: 1;
-webkit-font-smoothing: antialiased;
font-size: 13px;
width: 13px;
height: 13px;
margin-right: 0.5em;
}
.category ul > li div.child_cate ul:after {
content: none;
}
.category ul > li:hover > div.child_cate {
display: block;
}
.category ul.content > li {
width: 100%;
}
.category ul.content > li.category ul.content > li.category_body {
width: 70%;
}

/*================================================
*  サブコンテンツ
================================================*/
.submenu li {
margin: 0;
padding: 0;
list-style: none;
}
.submenu li a:before {
color: #000;
}
.submenu li a {
display: block;
padding: 10px 2px;
color: #000;
border-bottom: 1px dotted #ddd;
text-decoration: none;
}
.submenu li a:hover {
background: #efefef;
}

.bnr1 {
overflow: hidden;
}
.bnr1 ul {
overflow: hidden;
}
.bnr1 li {
margin: 5px 0 15px 0;
padding: 0;
list-style: none;
}
.bnr1 li img{
width: 100%;
margin: 0 auto;
text-align: center;
}
.bnr1 li a:hover {
opacity: 0.8;
filter: alpha(opacity=80);
-ms-filter: "alpha( opacity=80 )";
}
.bnr1 img {
width: 100%;
}

.bnr2 {
overflow: hidden;
}
.bnr2 ul {
overflow: hidden;
}
.bnr2 li {
margin: 5px 0 15px 0;
padding: 0;
list-style: none;
}
.bnr2 li img{
margin: 0 0 5px;
}
.bnr2 li a:hover {
opacity: 0.8;
filter: alpha(opacity=80);
-ms-filter: "alpha( opacity=80 )";
}
.bnr2 img {
width: 100%;
}

/*================================================
*  フッター
================================================*/
footer {
clear: both;
padding: 20px 0 0;
}

.footmenu {
width: 100%;
padding: 0;
margin: 0 auto;
overflow: hidden;
background: #efefef;
}
.footmenu ul {
position: relative;
float: left;
left: 50%;
margin: 0;
padding: 0;
}
.footmenu li {
position: relative;
left: -50%;
float: left;
list-style: none;
margin: 0;
padding: 0 15px;
font-size: 12px;
font-weight: bold;
text-align: center;
}
.footmenu a {
color: #666;
}
.footmenu a:hover {
opacity: 0.8;
}

.copyright {
clear: both;
padding: 20px 0;
font-size: 11px;
text-align: center;
color: #666;
background: #efefef;
}

/*================================================
*  ページトップに戻る
================================================*/
.pagetop {
display: none;
position: fixed;
bottom: 30px;
right: 26px;
z-index: 999;
}
.pagetop a {
display: block;
font-size: 30px;
border-radius: 60px;
width: 60px;
height: 60px;
text-indent: -999;
overflow: hidden;
position: relative;
text-align: center;
color: #fff;
background-color: rgba(136, 136, 136, 0.6);
-webkit-transition: all .3s ease;
transition: all .3s ease;
}
.up-style{
margin: 15px auto;
}
.pagetop a:hover {
background-color: rgba(136, 136, 136, 1);
}

/*================================================
*  クラス
================================================*/
.col_two_one {
overflow: hidden;
}

.col_two_one ul {
overflow: hidden;
margin: 2% -2% 0 0;
}
.col_two_one li {
list-style: none;
float: left;
width: 48%;
margin: 0 2% 2% 0;
}
.col_two_one li:nth-child(2n+1) {
clear: both;
}
.col_two_one li img {
width: 100%;
margin-bottom: 2.5%;
}

/*================================================
*  お知らせ
================================================*/
.info dt {
border-bottom: none;
color: #efefef;
padding: 0 2%;
}
.info dd {
padding-bottom: 1em;
border-bottom: 1px dotted #666;
color: #efefef;
padding: 0 2% 2%;
margin-bottom: 3%;
}
.news_sub {
margin: 0 1.5%;
padding: 0.1% 2%;
border: 1px solid #d1c286;
color: #d1c286;
}
.news_new {
margin: 0;
padding: 0.1% 2%;
background-color: #cc0000;
color: #fff;
}
.info a{
color: #efefef;
}
.info a:hover {
color: #d1c286;
}

/*================================================
*  スライダー
================================================*/
.slider1 {
width: 100%;
padding: 0;
margin: 0 auto;
transition: opacity .25s ease;
}
.slider1 img {
width:100%;
max-width: 400px;
height: auto;
}
.swiper-slide a:hover {
opacity: 0.8;
}

/*================================================
*  ランキング
================================================*/
.ranking {
width: 100%;
padding: 0;
margin: 0 auto 40px;
}
.ranking img{
width:100%;
height: auto;
}

/*================================================
*  季節品ランキング
================================================*/
.season_ranking {
width: 100%;
padding: 0;
margin: 0 auto 40px;
}
.season_ranking img{
width:100%;
height: auto;
}

/*================================================
*  タブレット向けデザイン
================================================*/
/* スクロールバーを考慮して20px大きいサイズで切り替え */
@media screen and (max-width:979px) {
header > .inner {
padding: 0 10px;
}

.inner {
width: 100%;
}

#contents {
width:100%;
margin: 10px 0;
padding: 0 10px;
}

#wide {
width:100%;
margin: 10px 0;
padding: 10px;
}

#topicpath .inner {
width: 100%;
}

footer {
width: 100%;
}
}

/*================================================
*  スマートフォン向けデザイン
================================================*/
@media screen and (max-width:767px) {
.lock {
position: fixed;
z-index: -1;
width: 100%;
height: 100%;
top: 0;
right: 0;
}

header {
padding: 15px 10px;
}

header > .inner {
display: block;
padding: 0;
}

header h1 {
margin-bottom: 10px;
}

.summary {
margin-right: 40px;
font-size: 10px;
}

.header_tel .phonenumber {
font-size: 18px;
}

.header_tel .open {
font-size: 10px;
}

.header_require {
margin: 0 2px;
}

.header_require a {
padding: 5px 10px;
font-size: 12px;
}

.header_contact {
margin: 0 5px;
}
.header_contact a {
padding: 5px 10px;
font-size: 12px;
}

nav {
background: #4A4949;
}

nav ul {
margin: 0;
padding: 0;
}

nav ul.gnav {
display: none;
z-index: 2;
overflow: auto;
position: fixed;
top: 0;
right: 0;
width: 100%;
height: auto;
}

nav li {
position: relative;
width: 100%;
float: none;
margin: 0;
text-align: left;
list-style: none;
border-bottom: 1px solid #444;
background: #4A4949;
}

nav li:first-child {
border-top: 0;
}
nav li:last-child {
border-bottom: 0;
}

nav li a {
display: block;
padding: 10px 30px;
color: #efefef;
text-decoration: none;
background: #4A4949;
}
nav li a:hover {
color: #efefef;
background: #363535;
}

nav ul ul {
display: none;
position: relative;
}

nav li li a {
box-sizing: border-box;
width: 100%;
padding: 10px 30px 10px 50px;
text-align: left;
}

nav li li li a {
padding: 10px 30px 10px 70px;
}

.subnav > a:before {
display: block;
content: "";
position: absolute;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
top: 20px;
right: 30px;
width: 10px;
height: 10px;
margin-top: -5px;
background: #f1f1f1;
}
.subnav > a:after {
display: block;
content: "";
position: absolute;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
top: 20px;
right: 30px;
width: 10px;
height: 10px;
margin-top: -10px;
background: #4A4949;
}
.subnav a:hover:after {
background: #363535;
}

.active > a:before {
margin-top: 0;
}
.active > a:after {
margin-top: 5px;
}

#spMenu {
display: block;
z-index: 2;
position: fixed;
top: 10px;
right: 10px;
}
#spMenu:hover {
cursor: pointer;
}

#navBtn {
display: inline-block;
position: relative;
width: 30px;
height: 30px;
border-radius: 5%;
background: rgba(0, 0, 0, 0.6);
}
#navBtnIcon {
display: block;
position: absolute;
top: 50%;
left: 50%;
width: 14px;
height: 2px;
margin: -1px 0 0 -7px;
background: #efefef;
transition: .2s;
}
#navBtnIcon:before,
#navBtnIcon:after {
display: block;
content: '';
position: absolute;
top: 50%;
left: 0;
width: 14px;
height: 2px;
background: #efefef;
transition: 0.3s;
}
#navBtnIcon:before {
margin-top: -6px;
}
#navBtnIcon:after {
margin-top: 4px;
}
#navBtn .close {
background: transparent;
}
#navBtn .close:before,
#navBtn .close:after {
margin-top: 0;
}
#navBtn .close:before {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
#navBtn .close:after {
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
}

#main {
float: none;
width: 100%;
}

#sub {
float: none;
width: 100%;
}

.slide {
margin: 0;
}

.col_two_one ul {
margin-right: 0;
}
.col_two_one li {
width: 100%;
}
.col_two_one li:nth-child(2n+1) {
clear: both;
}
}

/*================================================
*  スマホ用に非表示させるクラス
================================================*/

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

/*================================================
*  トピックス
================================================*/
.topics {
width: 100%;
display: flex;
display: -ms-flexbox; /* IE10 */
flex-wrap: wrap;
-ms-flex-wrap: wrap; /* IE10 */
margin: 0;
padding: 0;
}
.topics li{
width: 48%;
margin: 0 auto;
}
.topics a img:hover {
opacity: 0.8;
}

@media only screen and (max-width: 768px) {
.topics li{
width: 100%;
margin: 0 auto;
}
}

/*================================================
*  ピックアップ
================================================*/
.pickup {
width: 100%;
display: flex;
display: -ms-flexbox; /* IE10 */
flex-wrap: wrap;
-ms-flex-wrap: wrap; /* IE10 */
}
.pickup li{
width: 23%;
margin: 0 1%;
text-align: center;
}
.pickup a img:hover {
opacity: 0.8;
}

@media only screen and (max-width: 768px) {
.pickup li{
width: 46%;
margin: 0 2%;
}
}

/*================================================
*  大バナー
================================================*/
.line-banner{
padding: 3% 0;
}
.line-banner p{
margin: 0 auto;
padding: 20px 0;
text-align: center;
font-size: 20px;
color: #fff;
border-top: 1px dotted #666;
}
.line-banner a img:hover {
opacity: 0.8;
}

@media only screen and (max-width: 768px) {
.line-banner p{
font-size: 14px;
}
}

/*================================================
ローディング
================================================*/

/*▼▼ ここから追加する ▼▼*/
.loader-wrap {
position: fixed;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background: #000;
z-index: 999;
}
/*▲▲ ここまで追加する ▲▲*/

.loader {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 11em;
  height: 11em;
  border-radius: 50%;
  background: #ffffff;
  background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.loader:before {
  width: 50%;
  height: 50%;
  background: #ffffff;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
.loader:after {
  background: #000;
  width: 85%;
  height: 85%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}