@charset "euc-jp";

body {
  background-color: #fff;
  background-image: url(https://img.shop-pro.jp/tmpl_img/73/bg.gif);
  color: #464e54;
}
a {
  color: #464e54;
}
a:hover {
  color: #5e5e5e;
}




/*
 * プルダウンメニュー
 */


.hanb_home a{
  width: 100%;
  display: block;
  height: 50px;
  color: #333;
  font-size: 14px;
  line-height: 2.8;
  padding: 0 18px;
  padding-top: 5px;
  background: #FFF;
  border-bottom: 1px solid #333;
  box-sizing: border-box;
  text-decoration: none;
}
.hanb_home:hover > a {/*layer-1*/
  color: orange;
  background: #000;
}


.gnav_contents {
  width: auto;
  height: auto;
  margin: 0 auto;
  padding: 0;
  top:0;
  box-sizing: border-box;
  display: flex;
}
.gnav {
  width: 150px;
  margin: 0;
  padding: 0;
}
.gnav li {
  position: relative;
  width: 150px;
  height: 50px;
}
.gnav > li {
  border-bottom: none;
}
.gnav li:last-child {
  border-bottom: none;
  
}
.gnav li:hover > ul > li {
  border-bottom: none;
}
.gnav li > ul > li:last-child {
  border-bottom: none;
}
.gnav li a {
  display: block;
  width: 100%;
  height: 100%;
  color: #333;
  font-size: 14px;
  line-height: 2.8;
  padding: 0 18px;
  padding-top: 5px;
  background: #FFF;
  border-bottom: 1px solid #333;
  box-sizing: border-box;
  text-decoration: none;
}
.gnav > li:hover > a {/*layer-1 ホバー黒*/
  color: orange;
  background: #000;/*ホバーカラー変更箇所*/
}
.gnav > li li:hover > a {/*layer-2*/
  color: orange;
  background: #000;/*ホバーカラー変更箇所*/
}

.gnav li:hover > ul > li {
  overflow: visible;
  top: -51px;
  left: 125px;
    width: 200px;
  height: 50px;
}
.gnav li ul li {
  overflow: hidden;
  height: 0;
  left: 110px;
  list-style: none;
}
.gnav li ul li a {
  background: #000;/*ホバーカラー変更箇所*/
      color: #FFF;/*ホバーカラー文字色変更箇所*/
}
.gnav li ul:before {
  position: absolute;
  content: "";
  top: 20px;
  left: 5px;
  border: 5px solid transparent;
  border-left: 5px solid #333;
}
.gnav li:hover ul li ul li:hover > a {/*layer-3*/
  color: pink;
  background: #FFF;
}
.gnav_contents {
  width: auto;
  height: auto;
  background: #FFF;
  margin: 0;
  padding: 0px;
  text-align: left;
  box-sizing: border-box;
}





/*
 * ハンバーガーメニュー
 */

.hed_set{
  vertical-align: middle;
}

#nav-drawer {
  position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 30px;
  height: 22px;
  vertical-align: middle;
}

/*ハンバーガーの形をCSSで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  margin-top: 12px;
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 27px;/*長さ*/
  border-radius: 3px;
  background: #FFF;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

/*閉じる用の薄黒箇所*/
#nav-close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*メニューの中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 90%;
  max-width: 350px;/*最大幅（お好みで調整を）*/
  height: 100%;
  background: #FFF;
  transition: .3s ease-in-out;
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);
}

/*チェックがついたら表示させる*/
#nav-input:checked ~ #nav-close {
  display: block;
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

.header-logo-menu{
 display: flex;
 display: -moz-flex;
 display: -o-flex;
 display: -webkit-flex;
 display: -ms-flex;
 flex-direction: row;
 -moz-flex-direction: row;
 -o-flex-direction: row;
 -webkit-flex-direction: row;
 -ms-flex-direction: row;
}

/*ロゴやサイトタイトルをセンタリング*/
.logo-area{text-align:center;margin-left:28%;}
@media (max-width: 768px) {
	.logo-area{text-align:center;margin-left:50%;}
}






/* dropdown nav */
.btn-dropdown {

  padding: 10px;
  text-align: center;
  cursor: pointer;
}
.dropdown-nav {
  display: none;
  margin: 0;
  list-style: none;
}
.header-dropdown {
    position: absolute;
    z-index: 200;
    width: 100%;
    border-bottom: 1px solid #dbdbdb;
    background-color: #fff;
  }
  .header-dropdown.affix {
    position: fixed;
  }
.header-dropdown .dropdown-nav li {
    border-bottom: 1px solid #dbdbdb;
    text-align: center;
}



/*
 * layout
 */
#wrapper {
  max-width: 100%;
}



/*
 * header
 */

#header {
  background: #000;
  max-width: 100%;
  height: 100%;
}

.hed_inner{
  max-width: 1150px;
  padding:10px;
}





/*
 * contents
 */

#contents {
  float: none;
  max-width: 1200px;
  margin: auto;
}

#contents .topicpath-nav {
  margin-bottom: 5px;
}
  #contents .topicpath-nav li {
    padding: 0;
  }
  #contents .topicpath-nav a {
    margin-left: 5px;
  }

/*
 * side
 */

#side {
  float: none;
  max-width: 1200px;
  margin: auto;
  
}

#side .unstyled img {
  display: block;
  margin-bottom: 5px;
}

/*
 * ガイドボックス並び
 */
.flex_gide-box {
    padding:  0px;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    flex-wrap: wrap;            /* 折り返し指定 */
    align-content:stretch;      /* 折り返し時の配置指定 */
  justify-content:space-between;
}

.flex_gide-item {
    padding: 15px;
    margin-bottom:  35px;              /* 外側の余白 */
    width: 530px;               /* 幅指定 */
    text-align: left;        /* 文字中央揃え */
}

.flex_gide-item:nth-child(1) {
    background-color:  #E2E2E2; /* 背景色指定 */
}

.flex_gide-item:nth-child(2) {
    background-color:  #E2E2E2; /* 背景色指定 */
}

.flex_gide-item:nth-child(3) {
    background-color: #E2E2E2; /* 背景色指定 */
}

.flex_gide-item:nth-child(4) {
    background-color:  #E2E2E2; /* 背景色指定 */
}
.gide_title_r{
  color:#808080;
  font-size: 20px;
}
.gide_title{
  font-size: 28px;
}
@media (max-width: 768px) {
  .gide_title{
  font-size: 18px;
  }
}



/*
 * 来店予約
 */
.yoyaku-box {
    padding:  0px;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    flex-wrap: wrap;            /* 折り返し指定 */
    align-content:stretch;      /* 折り返し時の配置指定 */
  	justify-content: center;  
	border-top: 2px solid #eee;
 	border-bottom: 2px solid #eee;
  
}

.yoyaku-item {
    padding: 15px;
    margin-bottom:  35px;              /* 外側の余白 */
    width: 530px;               /* 幅指定 */
    text-align: left;        /* 文字中央揃え */
}
.yoyaku_title_r{
  color:#808080;
  font-size: 20px;
}
.yoyaku_title{
  font-size: 28px;
}
@media (max-width: 768px) {
  .yoyaku_title{
  font-size: 18px;
  }
}

/*
 * 営業日カレンダー
 */
.p-calendar {
  box-sizing: border-box;
  flex: 1;
  padding: 50px 0 0px 30px;
  min-width: 510px;
}
@media screen and (max-width: 767px) {
  .p-calendar {
    padding-left: 0;
    min-width: inherit;
  }
}
.side_cal {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1030px) {
  .side_cal {
    justify-content: space-around;
  }
}
@media screen and (max-width: 500px) {
  .side_cal {
    display: block;
  }
}
.tbl_calendar {
  margin-left: 30px;
  width: 220px;
  text-align: center;
}
@media screen and (max-width: 1030px) {
  .tbl_calendar {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .tbl_calendar {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    width: auto;
  }
}
.tbl_calendar:first-child {
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .tbl_calendar:first-child {
    margin-left: auto;
  }
}
.tbl_calendar caption {
  margin-bottom: 20px;
  font-size: 18px;
  text-align: center;
}
.tbl_calendar th {
  padding-bottom: 5px;
  font-size: 13px;
}
.tbl_calendar td {
  padding: 5px;
  font-size: 13px;
}

.side_cal_memo {
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 12px;
}








/* ボタン設定 */
.bnt-massage {
  display: block;
  max-width: 200px;
  text-align: center;
  background-color: #000;
  padding: 11px;
}

.bnt-massage a{
  color: #FFF;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
}
.bnt-massage:hover{
  background-color: #666;
}
/* ボタン設定_ブランドサイトはこちら用 */
.bnt-massage2 {
  display: block;
  max-width: 200px;
  text-align: center;
  background-color: #CCCCCC;
  padding: 11px;
  margin: 0 auto; 
}

.bnt-massage2 a{
  color: #000;
  text-decoration: none;
  font-size: 16px;
}
.bnt-massage2:hover{
  background-color: #EEEEEE;
}




@media (max-width: 768px) {
  .gide_title_r{ font-size: 14px; }
  .yoyaku_title_r{ font-size: 14px; }
  .bnt-massage{ margin: 0 auto; }
}

/*
 * すべてのタイトルタグ
 */
.all_tit{
  background-color: #000;
  color:#FFF;
} 

/*
 * SNSアイコン
 */

.sns_ico{
  display: flex;
  justify-content: center;
  
}
.sns_ico li{
  list-style: none;
  padding: 20px 90px 20px 70px ;
}
@media (max-width: 768px) {
  .sns_ico li{
    list-style: none;
    padding: 20px;
  }
  .sns_ico li a{
    margin-right: 25px;
  }
}

/*
.sns_ico li a{
  margin-right: 25px;
} */


/*
 * 検索・カート
 */

.l-header-search {
  display: flex;
  position: static;
  right: 15px;
  top:0;
  z-index: 1000;
}

.l-header-search__contents {
  display: none;
}
.l-header-search__box {
  box-sizing: border-box;
  display: flex;
  position: absolute;
  top: 5em;
  z-index: 9999;
  padding: 20px 0 20px 20px;
  width: 100%;
  right: 0;
  background: #fafafa;
}

.l-header-search__form {
  position: relative;
  flex: 1;
  margin: 0;
}


.l-header-search button:focus {
    outline:0;
}

.l-header-search__btn {
  box-sizing: border-box;
  padding: 0;
  width: 60px;
  height: 50px;
  border: 0;
  background: none;
}
@media screen and (max-width: 767px) {
  .l-header-search__btn {
    width: 50px;
  }
}

.l-header-search__input {
  flex: 1;
  border-bottom: 1px solid #7d7d7d;

}
.l-header-search__input input {
  box-sizing: border-box;
  padding-right: 60px;
  width: 100%;
  height: 40px;
  border: none;
  background: transparent;
  outline:0;
}
.l-header-search__submit {
  position: absolute;
  right: 0;
  bottom: 0;
  box-sizing: border-box;
  padding: 0;
  width: 50px;
  height: 40px;
  border: 0;
  background: none;
}
.l-header-search__close {
  box-sizing: border-box;
  position: relative;
  margin-left: 10px;
  margin-right: 10px;
  width: 45px;
  border: 0;
  background: transparent;
}
.l-header-search__close span {
  position: absolute;
  content: "";
  left: 13px;
  width: 20px;
  height: 1px;
  background: #858585;
}
.l-header-search__close span:nth-child(1) {
  top: 0px;
  transform: translateY(20px) rotate(-45deg);
}
.l-header-search__close span:nth-child(2) {
  top: 40px;
  transform: translateY(-20px) rotate(45deg);
}

.p-global-header__cart-count {
  margin-left: 4px;
  font-weight: bold;
  color: #eee;
}
a.cart_ichi{     
  text-decoration: none;
}

/* カートボタン位置IE適応*/
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.cart_ichi{     
    position: fixed;
    background: #000;
	top: 50%; 
    right: 40px;
    padding: 15px;
  	}
}

/*
 * フリーページ用テーブル設定文字上寄せ
 */
.table2 {
  max-width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  background-color: transparent;
}

.table2 {
  margin-bottom: 20px;
  width: 100%;
}

.table2 th,
.table2 td {
  padding: 8px;
  border-top: 1px solid #ddd;
  vertical-align: top;
  text-align: left;
  line-height: 20px;
}

.table2 td[class*="col"],
.table2 th[class*="col"],
.row table2 td[class*="col"],
.row table2 th[class*="col"] {
  display: table-cell;
  float: none;
  margin-left: 0;
}












/*
 * temp
 */

/* font */
.txt_l { text-align: left; }
.txt_c { text-align: center; }
.txt_r { text-align: right; }
.txt_fwn { font-weight: normal; }
.txt_fwb { font-weight: bold; }
.txt_10 { font-size: 10px; }
.txt_12 { font-size: 12px; }
.txt_14 { font-size: 14px; }
.txt_16 { font-size: 16px; }
.txt_18 { font-size: 18px; }
.txt_20 { font-size: 20px; }
.txt_24 { font-size: 24px; }
.txt_28 { font-size: 28px; }
.txt_c_333 {color: #333;}

/* background */
.bgc_gray {
  background-color: #f1f1f1;
}


/* float */
.flo_l { float: left; }

/* margin */
.mar_auto { margin: 0 auto; }
.mar_0 { margin: 0; }
.mar_t_0 { margin-top: 0; }
.mar_r_0 { margin-right: 0; }
.mar_b_0 { margin-bottom: 0; }
.mar_l_0 { margin-left: 0; }
.mar_5 { margin: 5px; }
.mar_t_5 { margin-top: 5px; }
.mar_r_5 { margin-right: 5px; }
.mar_b_5 { margin-bottom: 5px; }
.mar_l_5 { margin-left: 5px; }
.mar_t_10 { margin-top: 10px; }
.mar_r_10 { margin-right: 10px; }
.mar_b_10 { margin-bottom: 10px; }
.mar_l_10 { margin-left: 10px; }
.mar_t_20 { margin-top: 20px; }
.mar_r_20 { margin-right: 20px; }
.mar_b_20 { margin-bottom: 20px; }
.mar_l_20 { margin-left: 20px; }
.mar_t_30 { margin-top: 30px; }
.mar_r_30 { margin-right: 30px; }
.mar_b_30 { margin-bottom: 30px; }
.mar_l_30 { margin-left: 30px; }
.mar_t_50 { margin-top: 50px; }
.mar_r_50 { margin-right: 50px; }
.mar_b_50 { margin-bottom: 50px; }
.mar_l_50 { margin-left: 50px; }
.mar_b_100 { margin-bottom: 100px; }
.mar_t_60 { margin-top: 60px; }
.mar_t_70 { margin-top: 70px; }

/* padding */
.pad_v_10 { padding: 10px 0; }
.pad_v_20 { padding: 20px 0; }
.pad_v_30 { padding: 30px 0; }
.pad_0 { padding: 0; }
.pad_t_0 { padding-top: 0; }
.pad_r_0 { padding-right: 0; }
.pad_b_0 { padding-bottom: 0; }
.pad_l_0 { padding-left: 0; }
.pad_5 { padding: 5px; }
.pad_t_5 { padding-top: 5px; }
.pad_r_5 { padding-right: 5px; }
.pad_b_5 { padding-bottom: 5px; }
.pad_l_5 { padding-left: 5px; }
.pad_10 { padding: 10px; }
.pad_t_10 { padding-top: 10px; }
.pad_r_10 { padding-right: 10px; }
.pad_b_10 { padding-bottom: 10px; }
.pad_l_10 { padding-left: 10px; }
.pad_20 { padding: 20px; }
.pad_t_20 { padding-top: 20px; }
.pad_r_20 { padding-right: 20px; }
.pad_b_20 { padding-bottom: 20px; }
.pad_l_20 { padding-left: 20px; }
.pad_30 { padding: 30px}
.pad_t_30 { padding-top: 30px; }
.pad_r_30 { padding-right: 30px; }
.pad_b_30 { padding-bottom: 30px; }
.pad_l_30 { padding-left: 30px; }

/* border */
.bor_t_1 { border-top: 1px solid #eee; }
.bor_r_1 { border-right: 1px solid #eee; }
.bor_b_1 { border-bottom: 1px solid #eee; }
.bor_l_1 { border-left: 1px solid #eee; }

/* vertical align */
.va-10 { vertical-align: -10%; }
.va-20 { vertical-align: -20%; }
.va-30 { vertical-align: -30%; }
.va-35 { vertical-align: -35%; }
.va-40 { vertical-align: -40%; }

@media (max-width: 980px) {
  /* ~980px */
  #base_gmoWrapp,
  #gmo_CMSPbar {
    overflow: hidden;
    min-width: 100% !important;
    width: 100% !important;
  }
}
@media (max-width: 768px) {
  /* ~768px */
  #contents {
    padding-left: 0;
  }
}
@media (max-width: 480px) {
  /* ~480px */
}

/*
 * icons
 */
.icon-user { background-position: -208px 0px; }
.icon-lg-b.icon-user { background-position: -312px 0px; }
.icon-adduser { background-position: -240px 0px; }
.icon-lg-b.icon-adduser { background-position: -360px 0px; }
.icon-login { background-position: -48px -80px; }
.icon-lg-b.icon-login { background-position: -72px -120px; }
.icon-logout { background-position: -32px -80px; }
.icon-lg-b.icon-logout { background-position: -48px -120px; }
.icon-home { background-position: -176px -16px; }
.icon-lg-b.icon-home { background-position: -264px -24px; }
.icon-mail { background-position: -64px 0px; }
.icon-lg-b.icon-mail { background-position: -96px 0px; }
.icon-pencil { background-position: -96px 0px; }
.icon-lg-b.icon-pencil { background-position: -144px 0px; }
.icon-help { background-position: -272px -80px; }
.icon-lg-b.icon-help { background-position: -408px -120px; }
.icon-cart { background-position: -176px -64px; }
.icon-lg-b.icon-cart { background-position: -264px -96px; }
.icon-search { background-position: -208px -16px; }
.icon-lg-b.icon-search { background-position: -312px -24px; }
.icon-chevron_up { background-position: -0px -144px; }
.icon-lg-b.icon-chevron_up { background-position: -0px -216px; }
.icon-chevron_down { background-position: -352px -128px; }
.icon-lg-b.icon-chevron_down { background-position: -528px -192px; }
/* 16px white */
.icon-w.icon-chevron_down {
  background-position: -352px -128px;
}
/* 24px white */
.icon-lg-w.icon-user {
  background-position: -312px -0px;
}
/* 24px white */
.icon-lg-w.icon-cart {
  background-position: -264px -96px;
}
/* 24px white */
.icon-lg-w.icon-search {
  background-position: -312px -24px;
}

.icon-b,
.icon-w {
  width: 16px;
  height: 16px;
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
.icon-lg-b,
.icon-lg-w {
  width: 24px;
  height: 24px;
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

.icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_b.png); }
.icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_w.png); }
.icon-lg-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_b.png); }
.icon-lg-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_w.png); }

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  .icon-b,
  .icon-w {
    -webkit-background-size: 368px 320px;
    background-size: 368px 320px;
  }

  .icon-lg-b,
  .icon-lg-w {
    -webkit-background-size: 552px 480px;
    background-size: 552px 480px;
  }

  .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_2x_b.png); }
  .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_2x_w.png); }
  .icon-lg-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_b.png); }
  .icon-lg-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_w.png); }
}
@media (max-width: 768px) {
  .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_b.png); }
  .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_w.png); }
}
@media only screen and (max-width: 768px) and (-webkit-min-device-pixel-ratio: 2), only screen and (max-width: 768px) and (min--moz-device-pixel-ratio: 2), only screen and (max-width: 768px) and (-o-min-device-pixel-ratio: 2 / 1), only screen and (max-width: 768px) and (min-device-pixel-ratio: 2), only screen and (max-width: 768px) and (min-resolution: 192dpi), only screen and (max-width: 768px) and (min-resolution: 2dppx) {
  .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_b.png); }
  .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_w.png); }
}
