/* ==========================================================================
   SEARCH LIST
   ========================================================================== */

#banner {
  background-image: url(images/shop_search_banner.png);
}
#gmap-container {
  background-color: #f5f5f5;
  width: 100%;
  height: 100%;
  padding: 15px 12px;
  display: inline-block;
  min-width: 875px;
  margin-bottom: 20px;
}
#gmap-container ul{
}
#gmap-container ul > li._header{
  height: 30px;
  float: none;
  margin-bottom: 10px;
  float: left;
  width: 300px;
}
#gmap-container ul > li._header > span {
  padding: 0;
  margin: 0;
  color: #333333;
  font: 700 20px / 30px YuGo;
  height: 30px;
  padding-left: 10px;
  border-left: 5px solid #ed2214;
  display: inline-block;
  width: 40%;
  float: left;
  overflow: hidden;
}

#search-menu {}

#search-menu .container {
  padding: 60px 0 5px 0;
  width: 90%;
  min-width: 750px;
  max-width: 1080px;
  margin: 0 auto;
}

#search-menu .area-title {
  width: 190px;
  display: inline-block;
  float: left;
  font: 600 28px / 33px YuGo;
  height: 33px;
  margin: 0;
  color: #000000;
  padding-left: 10px;
  margin-bottom: 30px;
}

#search-menu .area-sub-title {
  display: inline-block;
  float: left;
  font: 600 22px / 33px YuGo;
  height: 33px;
  margin: 0;
  color: #000000;
  padding-left: 10px;
  padding-top: 3px;
  margin-bottom: 30px;
}

#search-menu .area-title.icon::before {
  content: url(images/area_title_icon.png);
  width: 22px;
  height: 29px;
  position: relative;
  top: 2px;
  left: -10px;
}

#search-menu ul.menu {
  clear: both;
  width: 100%;
  margin: 0;
  padding: 0;
}

#search-menu li.entry {
  width: 100%;
  /*    height: 80px;*/
  float: left;
}

#search-menu li.entry-divider {
  width: 2%;
  height: 1px;
  float: left;
}
#shop-search-btns-container{
  width: 100%;
}
#shop-vacancy-check-btn-container {
  background-color: #f5f5f5;
  padding: 10px;
  width: 50%;
  float: left;
}

#shop-vacancy-check-btn::before {
  content: url(images/shop_vacancy_check_btn_icon.png);
  width: 18px;
  height: 19px;
  position: relative;
  top: 3px;
  left: -8px;
}

#shop-vacancy-check-btn {
  background: -webkit-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
  background: -moz-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
  background: -o-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
  background: -ms-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
  background: linear-gradient(0deg, #e6f5f7 0%, #ffffff 100%);
  border: 1px solid #dadada;
  width: 100%;
  height: 60px;
  border-radius: 5px;
  color: #597a80;
  font: 700 18px / 60px YuGo;
  text-align: center;
  padding: 0 5px 0 10px;
  overflow: hidden;
}
#shop-search-narrow-down-btn-container {
  background-color: #f5f5f5;
  padding: 10px;
  width: 50%;
  float: left;
}

#shop-search-narrow-down-btn::before {
  content: url(images/shop_vacancy_check_btn_icon.png);
  width: 18px;
  height: 19px;
  position: relative;
  top: 3px;
  left: -8px;
}

#shop-search-narrow-down-btn {
  background: -webkit-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
  background: -moz-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
  background: -o-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
  background: -ms-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
  background: linear-gradient(0deg, #e6f5f7 0%, #ffffff 100%);
  border: 1px solid #dadada;
  width: 100%;
  height: 60px;
  border-radius: 5px;
  color: #597a80;
  font: 700 18px / 60px YuGo;
  text-align: center;
  padding: 0 5px 0 10px;
  overflow: hidden;
}


/*
#search-menu a.reservation-btn {
    display: inline-block;
    background-color: #f5f5f5;
    padding: 10px;
}

#search-menu a.reservation-btn>img {
    width: 100%;
}
*/


/*

#search-menu a.vacancy-today-btn {
    float: left;
    display: inline-block;
    background-color: #f5f5f5;
    padding: 10px;
    width: 50%;
}

#search-menu a.vacancy-today-btn>img {
    width: 100%;
}

#search-menu a.vacancy-tomorrow-btn {
    float: left;
    display: inline-block;
    background-color: #f5f5f5;
    padding: 10px;
    width: 50%;
}

#search-menu a.vacancy-tomorrow-btn>img {
    width: 100%;
}
*/

#shop-list {
  margin-bottom: 60px;
}

#shop-list .container {
  padding: 0;
  width: 90%;
  min-width: 750px;
  max-width: 1080px;
  margin: 0 auto;
}

#no-shop-message-container {}

#no-shop-message {
  margin: 0 auto;
  width: 300px;
  text-align: left;
  font: 500 16px / 30px Yugo;
  color: #ed2214;
}

#shop-list ul.shop {
  padding: 0;
}

ul.shop>li.entry {
  background-color: #f0ecd8;
  width: 100%;
  padding: 15px 12px;
  display: inline-block;
  min-width: 875px;
  margin-bottom: 40px;
}

ul.shop>li>._header {}

ul.shop .name-wrap {}

ul.shop .shop-name {
  padding: 0;
  margin: 0;
  color: #333333;
  font: 700 18px / 23px YuGo;
  height: 23px;
  padding-left: 10px;
  border-left: 5px solid #ed2214;
  overflow: hidden;
}

ul.shop>li>._body {
  margin-top: 12px;
  padding: 30px;
  width: 100%;
  background-color: #ffffff;
  display: inline-block;
}

ul.shop .left-column {
  width: 31%;
  margin-right: 3%;
}

ul.shop .photo {
  text-align: center;
}

ul.shop .photo img {
  width: 100%;
}

ul.shop .shop-link {
  padding-top: 20px;
}

ul.shop .shop-link-btn::before {
  display: inline-block;
  content: " ";
  background: url(images/shop_link_btn_icon.png) no-repeat left center;
  background-size: 100%;
  width: 18px;
  height: 17px;
  position: relative;
  left: -10px;
  top: 1px;
}

ul.shop .shop-link-btn {
  width: 100%;
  height: 60px;
  border-radius: 5px;
  background-color: #ed2214;
  color: #ffffff;
  font: 500 20px / 60px YuGo;
  letter-spacing: 0.1em;
  text-align: center;
  padding-left: 3px;
}


/*
ul.shop .shop-link img {
    width: 100%;
}
*/

ul.shop .right-column {
  width: 66%;
}

ul.shop-info {
  padding: 0;
}

ul.shop-info li.pr-text {
  color: #000000;
  font: 500 14px / 28px YuGo;
  height: auto;
  overflow: hidden;
}

ul.shop-info li.access {
  margin-top: 10px;
  height: auto;
  width: 100%;
  overflow: hidden;
}

ul.shop-info li.access > .label {
  display: inline-block;
  width: 88px;
  height: auto;
  text-align: left;
  float: left;
  margin: 0;
  padding: 0;
}

ul.shop-info li.access > .label > .access-info-icon {
  display: inline-block;
  width: 68px;
  height: 24px;
  padding: 0;
  margin: 0;
  background-color: #f0ecd8;
  color: #4b410e;
  font: 700 12px / 24px YuGo;
  text-align: center;
  border-radius: 0;
}

ul.shop-info li.access > .label + .info {
  display: inline-block;
  width: 80%;
  height: auto;
  padding: 0;
  margin: 0;
  color: #000000;
  font: 500 14px / 24px YuGo;
  border-radius: 0;
  float: left;
}

ul.shop-info li.address {
  margin-top: 10px;
  height: auto;
  width: 100%;
  overflow: hidden;
}

ul.shop-info li.address > .label {
  display: inline-block;
  width: 88px;
  height: auto;
  text-align: left;
  float: left;
  margin: 0;
  padding: 0;
}

ul.shop-info li.address > .label > .address-info-icon {
  display: inline-block;
  width: 68px;
  height: 24px;
  padding: 0;
  margin: 0;
  background-color: #f0ecd8;
  color: #4b410e;
  font: 700 12px / 24px YuGo;
  text-align: center;
  border-radius: 0;
}

ul.shop-info li.address > .label + .info {
  display: inline-block;
  width: 80%;
  height: auto;
  padding: 0;
  margin: 0;
  color: #000000;
  font: 500 14px / 24px YuGo;
  border-radius: 0;
  float: left;
}

ul.shop-info li.tel {
  margin-top: 10px;
  height: 24px;
  color: #000000;
  font: 500 14px / 24px YuGo;
}

ul.shop-info li.tel>.label {
  display: inline-block;
  width: 68px;
  height: 24px;
  padding: 0;
  margin: 0;
  background-color: #f0ecd8;
  color: #4b410e;
  font: 700 12px / 24px YuGo;
  margin-right: 20px;
  border-radius: 0;
}

ul.shop-info > li.point {
  margin-top: 10px;
  height: auto;
}

ul.shop-info > li.point > .label {
  display: inline-block;
  width: 68px;
  height: 24px;
  padding: 0;
  margin: 0;
  background-color: #f0ecd8;
  color: #4b410e;
  font: 700 12px / 24px YuGo;
  margin-right: 10px;
  border-radius: 0;
  float: left;
}

ul.shop-info > li.point .point-icon::before {
  display: inline-block;
  content: " ";
  background: url(images/icon_dk_point.png) no-repeat center left;
  background-size: 100%;
  width: 16px;
  height: 16px;
  position: relative;
  left: -3px;
  top: 3px;
}

ul.shop-info > li.point .point-icon {
  height: 24px;
  color: #000000;
  font: 500 14px / 24px YuGo;
  padding: 0px 2px;
  background-color: #f5f5f5;
  width: 300px;
  float: left;
  margin-left: 10px;
  color: #333333;
  padding-left: 8px;
}

ul.shop .vacancy {
  display: inline-block;
  width: 100%;
  height: 167px;
  padding: 10px;
  margin-top: 30px;
  background-color: #f5f5f5;
}

.vacancy ._header {
  height: 18px;
}

.vacancy .title {
  color: #333333;
  font: 700 14px / 18px YuGo;
  padding-left: 7px;
  height: 18px;
  display: inline-block;
  float: left;
  width: 35%;
  overflow: hidden;
}

.vacancy .title>.calendar-icon::before {
  content: url(images/calendar_icon.png);
  width: 13px;
  height: 13px;
  position: relative;
  top: 1px;
  left: -7px;
}

.vacancy .description {
  display: inline-block;
  float: left;
  height: 18px;
  width: 65%;
}

.vacancy ul.pict {
  padding: 0;
  height: 18px;
  overflow: hidden;
}

ul.pict li {
  float: right;
  /*    max-width: 33%;*/
}

ul.pict li.open {
  max-width: 25%;
}

ul.pict li.inquiry {
  max-width: 30%;
}

ul.pict li.tel {
  max-width: 25%;
}

ul.pict li.closed {
  max-width: 20%;
}

ul.pict li .tel-icon {
  display: inline-block;
  font: 500 14px / 18px YuGo;
  height: 18px;
  padding-left: 6px;
  margin-right: 3px;
}

ul.pict li .tel-icon::before {
  color: #dea43d;
  display: inline-block;
  width: 27px;
  height: 13px;
  font: 500 14px / 18px YuGo;
  content: "\0054\0045\004c";
  position: relative;
  top: 0px;
  left: -2px;
}

ul.pict li .open-icon {
  display: inline-block;
  font: 500 14px / 18px YuGo;
  height: 18px;
  padding-left: 6px;
  margin-right: 13px;
}

ul.pict li .open-icon::before {
  border: 2px solid #ed2214;
  border-radius: 13px;
  display: inline-block;
  width: 13px;
  height: 13px;
  content: "";
  position: relative;
  top: 1px;
  left: -6px;
}

ul.pict li .inquiry-icon {
  display: inline-block;
  font: 500 14px / 18px YuGo;
  height: 18px;
  padding-left: 6px;
  margin-right: 5px;
}

ul.pict li .inquiry-icon::before {
  border-radius: 0;
  display: inline-block;
  width: 13px;
  height: 13px;
  background-color: #dea331;
  content: "";
  position: relative;
  top: 1px;
  left: -6px;
}

ul.pict li .closed-icon {
  display: inline-block;
  font: 500 14px / 18px YuGo;
  height: 18px;
  padding-left: 6px;
  margin-left: 5px;
  margin-right: 5px;
}

ul.pict li .closed-icon::before {
  border-radius: 0;
  display: inline-block;
  width: 13px;
  height: 6px;
  background-color: #59b1be;
  content: "";
  position: relative;
  top: -1px;
  left: -6px;
}

.vacancy .calendar {
  margin-top: 9px;
  width: 100%;
  height: 120px;
  background-color: #ffffff;
}

#no-seat-available-msg{
  width: 100%;
  text-align:center;
  color: #555;
  padding: 30px 0;

}

.calendar ul.weekly {
  padding: 0;
  height: 100%;
}

ul.weekly li.cal-row {
  width: 20%;
  height: 100%;
  float: left;
  border: 1px solid #e6e6e6;
}

li.cal-row>._body {
  padding: 5px;
  width: 100%;
  height: 100%;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

li.cal-row .day {
  margin-top: 10px;
  height: 16px;
}

ul.weekly li.cal-row .day>span {
  font: 500 16px / 16px YuGo;
  height: 16px;
  color: #666666;
  display: inline-block;
  width: 100%;
  text-align: center;
}

ul.weekly li.cal-row.list-sat .day>span {
  color: #1a99ac;
}

ul.weekly li.cal-row.list-sun .day>span {
  color: #ed2214;
}

.calendar .pict {
  margin-top: 15px;
}

.pict .open-icon-lg {
  display: block;
  margin: 0 auto;
  width: 23px;
  height: 23px;
}

.pict .open-icon-lg::before {
  border: 3px solid #ed2214;
  border-radius: 23px;
  display: inline-block;
  width: 23px;
  height: 23px;
  content: "";
  position: relative;
}

.pict .tel-icon-lg {
  display: block;
  height: 23px;
  width: 23px;
  margin: 0 auto;
}

.pict .tel-icon-lg::before {
  display: inline-block;
  width: 30px;
  height: 23px;
  color: #dea331;
  content: "\0054\0045\004c";
  position: relative;
}

.pict .inquiry-icon-lg {
  display: block;
  height: 23px;
  width: 23px;
  margin: 0 auto;
}

.pict .inquiry-icon-lg::before {
  border-radius: 0;
  display: inline-block;
  width: 23px;
  height: 23px;
  border: 2px solid #ffffff;
  background-color: #dea331;
  content: "";
  position: relative;
}

.pict .closed-icon-lg {
  display: block;
  height: 23px;
  width: 23px;
  margin: 0 auto;
}

.pict .closed-icon-lg::before {
  border-radius: 0;
  display: inline-block;
  width: 23px;
  height: 8px;
  background-color: #59b1be;
  content: "";
  position: relative;
}

.calendar .action-btn {
  margin: 0 auto;
  margin-top: 10px;
  text-align: center;
}

.action-btn > [class*="vacancy-search-btn"] {
  background: -webkit-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
  background: -moz-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
  background: -o-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
  background: -ms-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
  background: linear-gradient(0deg, #e0e0e0 0%, #ffffff 100%);
  border: 1px solid #dadada;
  border-radius: 3px;
  width: 100%;
  height: 30px;
  color: #444444;
  font: 600 12px / 28px YuGo;
  text-align: center;
  overflow: hidden;
}

.action-btn > .vacancy-search-btn-open {}

.action-btn > .vacancy-search-btn-inquiry {}

.calendar .action-btn .tel-reservation{
  text-align: center;
}

/*
.action-btn>a[class$="-btn"] {
    display: block;
    text-align: center;
}
.action-btn a[class$="-btn"]>img {
    width: 100%;
    max-width: 130px;
}
*/

/* 2017/07/18 add by goen start */
/* ==========================================================================
   SIDE SEARCH BOX
   ========================================================================== */
#side-detail-search-btn-pc {
  position: fixed;
  left: 0;
  top: 115px;
  z-index: 100;
}
#side-detail-search-btn-pc a {
  display: block;
  line-height: 0.5;
  padding: 38px 10px 15px 10px;
  background: url(images/search_icon_hl.png) center 10px no-repeat #ed2214;
  background-size: 15px auto;
  border: 5px solid #fff;
  border-radius: 0 5px 5px 0;
  box-shadow: 1px 1px 5px rgba(0,0,0,0.3);
  color: #fff;
  font-weight: bold; 
}
#side-detail-search-box-pc {
  /*display: none;*/
  position: fixed;
  left: -570px;
  top: 85px;
  width: 570px;
  padding: 10px 20px 20px;
  background: #ed2214;
  border-top: 5px solid #fff;
  border-bottom: 5px solid #fff;
  border-right: 5px solid #fff;
  border-radius: 0 5px 5px 0;
  box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
  z-index: 100;
}
#side-detail-search-box-pc .side-search-box-wrap {
  overflow: hidden;
}
#side-detail-search-box-pc .title {
  color: #ffffff;
  font: 500 18px / 40px GillSans;
  letter-spacing: 0.2em;
  padding: 0;
  margin: 0;
  float:left;
}
#side-detail-search-box-pc .icon-close {
  color: #ffffff;
  font: 500 18px / 40px GillSans;
  text-align:right;
  letter-spacing: 0.2em;
  padding: 0;
  margin: 0;
  margin-left: 0px;
  float:right;
}
#side-detail-search-box-pc .icon-close::before {
  position: relative;
  top: 1px;
  left: -5px;
  width: 14px;
  height: 15px;
  content: " ";
  display:inline-block;
  background: url(images/close_icon.png) no-repeat right center;
  background-size:100%;
}
#side-detail-search-box-pc input[type="text"] {
  width: 100%;
  height: 40px;
  margin-top: 0;
  padding: 10px;
  border: none;
}
#side-detail-search-box-pc input[type=checkbox] {
    margin: 0;
    display: none;
}
#side-detail-search-box-pc li {
  padding-left:4px;
}
/*#side-detail-search-box-pc input[type="checkbox"]{
  -webkit-appearance: none;
  -moz-appearance: none;
}
#side-detail-search-box-pc input[type="checkbox"]::-ms-check {
    color: transparent;
}*/
#side-detail-search-box-pc .side-search-box-left {
  clear: both;
  float: left;
  width: 255px;
}
#side-detail-search-box-pc .side-search-box-right {
  float: right;
  width: 255px;
}
#side-detail-search-box-pc select {
  margin-top: 6px;
  background-color: #ffffff;
}
#side-detail-search-box-pc select option[disabled] {
  display: none;
}
#side-detail-search-box-pc select.side-area-search {
  width: 166px;
  margin-right: 8px;
  float: left;
}
#side-detail-search-box-pc select.side-area-search.closed {
  display: none;
}
#side-detail-search-box-pc select:first-child {
  margin-top: 6px;
}
#side-detail-search-box-pc .side-search-box-list {
  margin-top: 5px;
  padding: 10px 20px;
  background: #fff;
}
#side-detail-search-box-pc .side-search-box-list.pb24px {
  padding-bottom: 24px;
}
#side-detail-search-box-pc .side-search-box-left .side-search-box-list {
  margin-top: 7px;
}
#side-detail-search-box-pc .side-search-box-list dl {
  margin-bottom: 0;
}
#side-detail-search-box-pc .side-search-box-list dd {
  overflow: hidden;
}
#side-detail-search-box-pc .side-search-box-list dd ul {
  margin-top: 5px;
}
#side-detail-search-box-pc .side-search-box-list ul.side-search-box-list-01 {
  float: left;
  width: 195px;
}
#side-detail-search-box-pc .side-search-box-list ul.side-search-box-list-02 {
  float: right;
  width: 235px;
}
#side-detail-search-box-pc input.my-checkbox + label {
  padding-left: 30px;
  margin: 0;
  color: #333333;
  font: 500 14px / 25px YuGo;
  position: relative;
  letter-spacing: 0em;
  height: 25px;
}
#side-detail-search-box-pc input.my-checkbox + label::before {
  display: block;
  position: absolute;
  top: 50%;
  left: -3px;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  content: "";
  border: 1px solid #999999;
  background-color: #f5f5f5;
}
#side-detail-search-box-pc input:checked + label::after {
  display: block;
  position: absolute;
  top: 50%;
  content: "";
  left: 0px;
  margin-top: -8px;
  border-bottom: 3px solid #aaa;
  border-left: 3px solid #aaa;
  width: 18px;
  height: 10px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#side-detail-search-box-pc .btn-submit {
  text-align: center;
  height: 60px;
  background-color: #ffffff;
  padding: 2px;
  box-sizing: border-box;
  margin: 5px auto 0;
  width: 100%;
  text-align: center;
}
#side-detail-search-box-pc .btn-submit>button {
  width: 100%;
  background-color: #ffffff;
  color: #ed2214;
  font: 700 19px / 54px YuGo;
  text-align: center;
  height: 56px;
  border: 2px solid #ed2214;
  padding: 0;
  padding-left: 9px;
  display: inline-block;
  cursor:pointer;
}
#side-detail-search-box-pc .btn-submit>button::before {
  content: url(images/search_icon.png);
  position: relative;
  top: 3px;
  left: -8px;
}
/* 2017/07/18 add by goen end */

/*gMap再検索ボタン(PC)*/
#sb-submit-container.search-from-map {
  margin-top: -40px;
	display: none;
}
#sb-submit-container.search-from-map.visible {
	display: block;
}
/*gMap再検索ボタン(SP)*/
.detail-search-btn.search-from-map-sp{
  display: none;
}

@media (max-width: 750px),
(max-device-width: 750px) {
  /* Iphone6 or smaller...*/
  #main {}
  #banner {
    background-image: url(images/shop_search_banner_s.png);
  }
  #gmap-container {
    max-width: 750px;
    min-width: 275px;
    margin: 0 auto;
  }
  #gmap-container ul{

  }
  #gmap-container ul > li._header{
    height: 20px;
    margin-bottom: 10px;
    width: 200px;
  }

  #gmap-container ul > li._header > span {
    padding: 0;
    margin: 0;
    color: #333333;
    font: 700 15px / 20px YuGo;
    height: 20px;
    padding-left: 10px;
    border-left: 5px solid #ed2214;
    overflow: hidden;
    display: inline;
    float: none;
    width: 100%;
  }

  #search-menu {}
  #search-menu .container {
    padding: 10px 0 5px 0;
    width: 95%;
    min-width: 300px;
    max-width: 750px;
    margin: 0 auto;
  }
  #search-menu .area-title {
    width: 150px;
    display: inline-block;
    font: 500 18px / 28px YuGo;
    height: auto;
    overflow: hidden;
    margin: 0;
    color: #000000;
    padding-left: 10px;
    margin-bottom: 3px;
  }
  #search-menu .area-sub-title {
    width: 100%;
    display: inline-block;
    font: 500 16px / 28px YuGo;
    height: auto;
    overflow: hidden;
    margin: 0;
    color: #000000;
    padding-left: 10px;
    margin-bottom: 3px;
  }
  #search-menu .area-title.icon::before {
    display: inline-block;
    width: 15px;
    height: 20px;
    content: "";
    position: relative;
    left: -5px;
    top: 2px;
    background: url(images/area_title_icon_s.png) no-repeat 0 0;
    background-size: 100%;
  }
  #search-menu ul.menu {
    clear: both;
    display: inline-block;
    width: 100%;
    margin: 0;
    margin-top: 10px;
    padding: 0;
  }
  #search-menu li.entry {
    width: 100%;
    /*    height: 80px;*/
    float: left;
  }
  #search-menu li.entry-divider {
    float: left;
    height: 5px;
    width: 1px;
  }
  #shop-vacancy-check-btn-container {
    background-color: #f5f5f5;
    padding: 5px;
    width: 100%;
  }
  #shop-vacancy-check-btn::before {
    content: " ";
    display: inline-block;
    background: url(images/shop_reservation_.png) no-repeat left center;
    background-size: 100%;
    width: 15px;
    height: 15px;
    position: relative;
    top: 2px;
    left: -6px;
  }
  #shop-vacancy-check-btn {
    background: -webkit-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
    background: -moz-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
    background: -o-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
    background: -ms-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
    background: linear-gradient(0deg, #e6f5f7 0%, #ffffff 100%);
    border: 1px solid #dadada;
    width: 100%;
    height: 60px;
    border-radius: 5px;
    color: #597a80;
    font: 700 15px / 60px HiraKakuProN;
    text-align: center;
    padding: 0 5px 0 10px;
    overflow: hidden;
  }
  #shop-search-narrow-down-btn-container {
    background-color: #f5f5f5;
    padding: 5px;
    width: 100%;
  }
  #shop-search-narrow-down-btn::before {
    content: " ";
    display: inline-block;
    background: url(images/shop_reservation_.png) no-repeat left center;
    background-size: 100%;
    width: 15px;
    height: 15px;
    position: relative;
    top: 2px;
    left: -6px;
  }
  #shop-search-narrow-down-btn {
    background: -webkit-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
    background: -moz-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
    background: -o-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
    background: -ms-linear-gradient(90deg, #e6f5f7 0%, #ffffff 100%);
    background: linear-gradient(0deg, #e6f5f7 0%, #ffffff 100%);
    border: 1px solid #dadada;
    width: 100%;
    height: 60px;
    border-radius: 5px;
    color: #597a80;
    font: 700 15px / 60px HiraKakuProN;
    text-align: center;
    padding: 0 5px 0 10px;
    overflow: hidden;
  }
  /*
#search-menu a.reservation-btn {
    display: inline-block;
    background-color: #f5f5f5;
    padding: 4px;
}
#search-menu a.reservation-btn>img {
    width: 100%;
}
#search-menu a.vacancy-today-btn {
    float: left;
    display: inline-block;
    background-color: #f5f5f5;
    padding: 4px;
    width: 50%;
}
#search-menu a.vacancy-today-btn>img {
    width: 100%;
}
#search-menu a.vacancy-tomorrow-btn {
    float: left;
    display: inline-block;
    background-color: #f5f5f5;
    padding: 4px;
    width: 50%;
}
#search-menu a.vacancy-tomorrow-btn>img {
    width: 100%;
}
  */
  #shop-list {
    margin-bottom: 10px;
  }
  #shop-list .container {
    padding: 0;
    width: 95%;
    max-width: 750px;
    min-width: 0;
    margin: 0 auto;
  }
  #no-shop-message-container {}
  #no-shop-message {
    margin: 0 auto;
    padding: 0 5px;
    width: 100%;
    text-align: left;
    font: 500 15px / 30px Yugo;
  }
  #shop-list ul.shop {
    padding: 0;
  }
  ul.shop>li.entry {
    background-color: #f0ecd8;
    width: 100%;
    padding: 12px 5px;
    display: inline-block;
    min-width: 295px;
    margin-bottom: 20px;
  }
  ul.shop>li>._header {}
  ul.shop .name-wrap {}
  ul.shop .shop-name {
    padding: 0;
    margin: 0;
    color: #333333;
    font: 600 13px / 15px YuGo;
    height: 15px;
    padding-left: 8px;
    border-left: 3px solid #ed2214;
    overflow: hidden;
  }
  ul.shop>li>._body {
    margin-top: 12px;
    padding: 15px;
    width: 100%;
    background-color: #ffffff;
    display: inline-block;
  }
  ul.shop .left-column {
    margin-right: 3%;
  }
  ul.shop .sp-vacancy {
    width: 100%;
  }
  ul.shop .photo {
    text-align: center;
  }
  ul.shop .shop-link-btn::before {
    display: inline-block;
    content: " ";
    background: url(images/shop_link_btn_icon.png) no-repeat left center;
    background-size: 100%;
    width: 18px;
    height: 18px;
    position: relative;
    left: -10px;
    top: 3px;
  }
  ul.shop .shop-link-btn {
    width: 100%;
    height: 50px;
    border-radius: 5px;
    background-color: #ed2214;
    color: #ffffff;
    font: 500 10px / 54px YuGo;
    letter-spacing: 0.1em;
    text-align: center;
    padding-left: 7px;
    padding-top: 0;
  }
  ul.shop-info {
    padding: 0;
  }
  ul.shop-info li.pr-text {
    color: #000000;
    font: 600 14px / 25px YuGo;
    height: auto;
    min-height: 50px;
    /*max-height: 150px;*/
    overflow: hidden;
  }
  ul.shop-info li.access {
    margin-top: 8px;
    height: auto;
    overflow: hidden;
  }
  ul.shop-info li.access > .label {
    display: inline-block;
    width: 70px;
    height: auto;
    padding: 0;
    margin: 0;
    float: left;
  }
  ul.shop-info li.access > .label > .access-info-icon {
    display: inline-block;
    width: 60px;
    height: 20px;
    padding: 0;
    margin: 0;
    background-color: #f0ecd8;
    border-radius: 0;
    color: #4b410e;
    font: 700 9px / 18px HiraKakuProN;
    text-align: center;
    border-radius: 0;
  }
  ul.shop-info li.access > .label + .info {
    display: inline-block;
    width: 180px;
    height: auto;
    padding: 0;
    margin: 0;
    color: #000000;
    font: 600 13px / 20px HiraKakuProN;
    border-radius: 0;
    float: left;
  }
  ul.shop-info li.address {
    margin-top: 8px;
    height: auto;
    overflow: hidden;
  }
  ul.shop-info li.address > .label {
    display: inline-block;
    width: 70px;
    height: auto;
    padding: 0;
    margin: 0;
    float: left;
  }
  ul.shop-info li.address > .label > .address-info-icon {
    display: inline-block;
    width: 60px;
    height: 20px;
    padding: 0;
    margin: 0;
    background-color: #f0ecd8;
    border-radius: 0;
    color: #4b410e;
    font: 700 9px / 18px HiraKakuProN;
    text-align: center;
    border-radius: 0;
  }
  ul.shop-info li.address > .label + .info {
    display: inline-block;
    width: 180px;
    height: auto;
    padding: 0;
    margin: 0;
    color: #000000;
    font: 600 13px / 20px HiraKakuProN;
    border-radius: 0;
    float: left;
  }
  ul.shop-info li.tel {
    margin-top: 10px;
    height: 20px;
    color: #000000;
    font: 600 12px / 20px HiraKakuProN;
  }
  ul.shop-info li.tel>.label {
    display: inline-block;
    width: 60px;
    height: 20px;
    padding: 0;
    margin: 0;
    background-color: #f0ecd8;
    color: #4b410e;
    font: 700 9px / 18px HiraKakuProN;
    margin-right: 10px;
    border-radius: 0;
  }
  ul.shop-info li.point {
    margin-top: 10px;
    height: auto;
  }
  ul.shop-info > li.point > .label {
    display: inline-block;
    width: 60px;
    height: 20px;
    padding: 0;
    margin: 0;
    background-color: #f0ecd8;
    color: #4b410e;
    font: 700 9px / 18px HiraKakuProN;
    margin-right: 10px;
    border-radius: 0;
    float: left;
  }
  ul.shop-info > li.point > .label-space {
    clear: both;
    display: inline-block;
    width: 60px;
    height: 20px;
    padding: 0;
    margin: 0;
    background-color: transparent;
    margin-right: 10px;
    border-radius: 0;
    float: left;
  }
  ul.shop-info > li.point .point-icon::before {
    display: inline-block;
    content: " ";
    background: url(images/icon_dk_point.png) no-repeat center left;
    background-size: 100%;
    width: 14px;
    height: 14px;
    position: relative;
    left: -3px;
    top: 2px;
  }
  ul.shop-info > li.point .point-icon {
    font: 600 12px / 20px HiraKakuProN;
    height: auto;
    padding: 0px 2px;
    background-color: #f5f5f5;
    width: 180px;
    float: left;
    margin-left: 0px;
    color: #333333;
    padding-left: 8px;
    margin-bottom: 5px;
  }
  ul.shop .vacancy {
    margin-top: 15px;
    padding: 0;
    height: 186px;
  }
  .vacancy ul.pict {
    padding: 0;
    height: 18px;
    overflow: hidden;
  }
  ul.pict li {
    float: right;
    height: 15px;
    /*    max-width: 33%;*/
  }
  ul.pict li.open {
    max-width: 30%;
  }
  ul.pict li.inquiry {
    max-width: 45%;
  }
  ul.pict li.closed {
    max-width: 25%;
  }
  ul.pict li.tel {
    max-width: 33%;
  }
  ul.pict li span[class$="-icon"] {
    display: inline-block;
    float: none;
    font: 600 10px / 15px HiraKakuPro;
    height: 15px;
  }
  
  ul.pict li .tel-icon {
    display: inline-block;
    font: 500 14px / 18px YuGo;
    height: 18px;
    padding-left: 7px;
    margin-right: 0px;
  }

  ul.pict li .tel-icon::before {
    color: #dea43d;
    display: inline-block;
    width: 25px;
    height: 13px;
    font: 500 13px / 18px YuGo;
    content: "\0054\0045\004c";
    position: relative;
    top: 0px;
    left: -1px;
  }

  ul.pict li .open-icon {
    display: inline-block;
    font: 400 10px / 15px HiraKakuPro;
    height: 15px;
    padding-left: 6px;
    margin-right: 5px;
  }
  ul.pict li .open-icon::before {
    border: 2px solid #ed2214;
    border-radius: 12px;
    display: inline-block;
    width: 12px;
    height: 12px;
    content: "";
    position: relative;
    top: 2px;
    left: -3px;
  }
  ul.pict li .inquiry-icon {
    display: inline-block;
    font: 400 10px / 15px HiraKakuPro;
    height: 15px;
    padding-left: 6px;
    margin-right: 0;
  }
  ul.pict li .inquiry-icon::before {
    border-radius: 0;
    display: inline-block;
    width: 12px;
    height: 12px;
    background-color: #dea331;
    content: "";
    position: relative;
    top: 2px;
    left: -3px;
  }
  ul.pict li .closed-icon {
    display: inline-block;
    font: 400 10px / 15px HiraKakuPro;
    height: 15px;
    padding-left: 6px;
    margin-left: 4px;
    margin-right: 0;
  }
  ul.pict li .closed-icon::before {
    border-radius: 0;
    display: inline-block;
    width: 12px;
    height: 5px;
    background-color: #59b1be;
    content: "";
    position: relative;
    top: -1px;
    left: -3px;
  }
  ul.weekly li.cal-row .day>span {
    font: 500 16px / 39px YuGo;
    height: 16px;
    color: #666666;
    display: inline-block;
    width: 100%;
    text-align: center;
    line-height: 1;
  }
  ul.weekly li.cal-row.list-sat .day>span {
    color: #1a99ac;
  }
  ul.weekly li.cal-row.list-sun .day>span {
    color: #ed2214;
  }
  .pict span[class$="-icon-lg"]::before {
    top: 50%;
    margin-top: -4px;
  }
  .pict .open-icon-lg {
    display: block;
    margin: 0 auto;
    width: 23px;
    height: 23px;
  }
  .pict .open-icon-lg::before {
    border: 3px solid #ed2214;
    border-radius: 23px;
    display: inline-block;
    width: 23px;
    height: 23px;
    content: "";
    position: relative;
  }
  .pict .inquiry-icon-lg {
    display: block;
    height: 23px;
    width: 23px;
    margin: 0 auto;
  }
  .pict .inquiry-icon-lg::before {
    border-radius: 0;
    display: inline-block;
    width: 23px;
    height: 23px;
    border: 2px solid #ffffff;
    background-color: #dea331;
    content: "";
    position: relative;
  }
  .pict .closed-icon-lg {
    display: block;
    height: 20px;
    width: 20px;
    margin: 0 auto;
  }
  .pict .closed-icon-lg::before {
    border-radius: 0;
    display: inline-block;
    width: 20px;
    height: 8px;
    background-color: #59b1be;
    content: "";
    position: relative;
  }
  .calendar .action-btn {
    margin: 0 auto;
    margin-top: 15px;
  }
  .action-btn > [class*="vacancy-search-btn"] {
    background: -webkit-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
    background: -moz-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
    background: -o-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
    background: -ms-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
    background: linear-gradient(0deg, #e0e0e0 0%, #ffffff 100%);
    border: 1px solid #dadada;
    border-radius: 3px;
    width: 100%;
    height: 40px;
    color: #444444;
    font: 600 12px / 38px YuGo;
    text-align: center;
    overflow: hidden;
    line-height: 1;
    padding-top: 10px;
  }
  .action-btn > .vacancy-search-btn-open {}
  
  .calendar .action-btn .tel-reservation{
    text-align: center;
  }

  /*
.action-btn a.open-reserve-btn {
    display: inline-block;
    content: "";
    height: 40px;
    width: 123.5px;
    background: url(images/reserve_btn_s.png) no-repeat 0 0;
    background-size: 100%;
}
.action-btn a[role="button"] {
    display: block;
    text-align: center;
}
.action-btn a[role="button"]>img {
    width: 100%;
    max-width: 150px;
}
  */

  /* 2017/07/18 add by goen start */
  .detail-search-btn {
    width: 100%;
    margin: 10px 0;
    padding: 15px;
    background: #ed2214;
    border-radius: 4px;
    text-align: center;
  }
  .detail-search-btn span {
    padding-left: 26px;
    background: url(images/search_icon_hl_s.png) left center no-repeat #ed2214;
    background-size: 15px auto;
    color: #fff;
    font-size: 17px;
    font-weight: bold;
  }
  #detail-search-box {
    position: fixed;
    left: 0;
    right: 0;
    top: 45px;
    padding-bottom:45px;
    bottom: auto;
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0;
    background-color: #ed2214;
    color: #ffffff;
    z-index: 55;
  }
  #detail-search-box-header-container > .title {
    float:left;
    color: #ffffff;
    font: 400 16px / 20px GillSans;
    letter-spacing: 0.2em;
    padding: 0;
    margin: 0;
    margin-left: 0px;
    height: 20px;
    padding-top:2px;
  }
  #detail-search-box-header-container > .icon-close {
    color: #ffffff;
    font: 500 16px / 20px GillSans;
    text-align:right;
    letter-spacing: 0.2em;
    padding: 0;
    margin: 0;
    height: 20px;
    margin-left: 0px;
    float:right;
    width: 120px;
    padding-top:2px;
  }
  #detail-search-box-header-container > .icon-close::before {
    position: relative;
    top: 1px;
    left: -5px;
    width: 12px;
    height: 13px;
    content: " ";
    display:inline-block;
    background: url(images/close_icon.png) no-repeat right center;
    background-size:100%;
  }
  #detail-search-box .sb-table {
    position: relative;
    top: 0;
    min-width: 0;
    max-width: 375px;
    width: 90%;
    margin: 0 auto;
    float: none;
    height: auto;
    border: none;
  }
  #detail-search-box .sb-table td {
    padding: 0;
    margin: 0;
    /*        padding-top: 10px;*/
    margin-top: 10px;
    border: none;
    display: block;
  }
  #detail-search-box .sb-table td select.side-area-search-sp.closed{
    display: none;
  }
  #detail-search-box .sb-table td.sb-head {
    display: inline-block;
    float: left;
    width: 50%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
  }
  #detail-search-box .sb-table .search-map::before {
    display: none;
    content: " ";
    width: 335px;
    height: 12px;
    background: url(images/go_search_map.png) no-repeat 0 0;
    background-size: 100%;
  }
  #detail-search-box .sb-table .search-map {
    width: 100%;
    height: 40px;
    overflow: hidden;
    margin: 0 auto;
    padding: 0;
    float: none;
  }
  #detail-search-box-header-container {
    margin:0 auto;
    padding: 0px;
    min-width: 0px;
    width: 90%;
    height: auto;
    max-width: 375px;
    float: none;
    margin-top: 20px;
  }
  #detail-search-box-header-container > .title {
    float:left;
    color: #ffffff;
    font: 400 16px / 20px GillSans;
    letter-spacing: 0.2em;
    padding: 0;
    margin: 0;
    margin-left: 0px;
    height: 20px;
    padding-top:2px;
  }
  #detail-search-box-header-container > .icon-close {
    color: #ffffff;
    font: 500 16px / 20px GillSans;
    text-align:right;
    letter-spacing: 0.2em;
    padding: 0;
    margin: 0;
    height: 20px;
    margin-left: 0px;
    float:right;
    width: 120px;
    padding-top:2px;
  }
  #detail-search-box-header-container > .icon-close::before {
    position: relative;
    top: 1px;
    left: -5px;
    width: 12px;
    height: 13px;
    content: " ";
    display:inline-block;
    background: url(images/close_icon.png) no-repeat right center;
    background-size:100%;
  }
  #detail-search-box .sb-table .checkbox-table th {
    padding: 0;
    padding-left: 11px;
    border: none;
  }
  #detail-search-box .sb-table .checkbox-table td {
    padding: 0;
    border: none;
  }
  #detail-search-box input[type=checkbox] {
    margin: 0;
    display: none;
  }
  #detail-search-box input.my-checkbox + label {
    position: relative;
    padding-left: 55px;
    margin: 0;
    height: 45px;
    letter-spacing: 0em;
    font: 400 16px / 45px HiraKakuPro;
    color: #666666;
  }
  #detail-search-box input.my-checkbox + label:hover {
    padding-left: 55px;
    margin: 0;
    height: 45px;
    letter-spacing: 0em;
    font: 400 16px / 45px HiraKakuPro;
    color: #ddd;
  }
  #detail-search-box input.my-checkbox + label::before {
    display: block;
    position: absolute;
    top: 50%;
    left: 11px;
    margin-top: -17px;
    width: 34px;
    height: 34px;
    content: " ";
    border: 1px solid #999999;
    background-color: #f5f5f5;
  }
  #detail-search-box input:checked + label::after {
    display: block;
    position: absolute;
    top: 50%;
    content: " ";
    left: 16px;
    margin-top: -10px;
    border-bottom: 4px solid #aaa;
    border-left: 4px solid #aaa;
    width: 25px;
    height: 15px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  #detail-search-box .btn-submit {
    text-align: center;
    height: 60px;
    background-color: #ffffff;
    padding: 2px;
    box-sizing: border-box;
    margin: 9px auto;
    max-width: 360px;
    width: 90%;
    text-align: center;
  }
  #detail-search-box .btn-submit>button {
    width: 100%;
    background-color: #ffffff;
    color: #ed2214;
    font: 700 19px / 54px YuGo;
    text-align: center;
    height: 56px;
    border: 2px solid #ed2214;
    padding: 0;
    padding-left: 9px;
    display: inline-block;
    cursor:pointer;
  }
  #detail-search-box .btn-submit>button::before {
    content: url(images/search_icon.png);
    position: relative;
    top: 3px;
    left: -8px;
  }
  /* 2017/07/18 add by goen end */

  /* 2017/07/18 add by goen start */
  #side-detail-search-btn-pc {
    display: none;
  }
  #side-detail-search-box-pc {
    display: none;
  }
  /* 2017/07/18 add by goen end */
  .vacancy .title {
    width: 100%;
  }
	.vacancy .description {
    width: 100%;
  }
  .vacancy .calendar {
    margin-top: 18px;
	  height: 137px;
	}
  /*gMap再検索ボタン(SP)*/
  .detail-search-btn.search-from-map-sp {
    margin-top: -10px;
    display: none;
  }
  .detail-search-btn.search-from-map-sp.visible {
    display: block;
  }
}