@charset "utf-8";
/* キャンペーン用対象サロン一覧 */
/*body {
  font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', MS PGothic, sans-serif;
}*/
.fs14 {
  font-size: 14px !important;
}
.fs16 {
  font-size: 16px !important;
}
.breadcrumb-wrap {
  margin-bottom: 0;
}
.u-mb-medium {
  margin-bottom: 16px;
}
a.link-blue {
  color: #0071b9;
  text-decoration: underline;
}
a.link-blue:hover {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  /*ヘッダーのマージンリセット*/
  .breadcrumb-wrap + .h2-lead {
    margin: 0 0 20px 0;
  }
  /* SPパンくずリスト */
  .breadcrumb {
    overflow-x: scroll;
    word-break: break-all;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .salon_sp_coupon_title {
    font-size: 14px;
    color: #333333;
    font-weight: normal;
  }
  .salon_sp_coupon_box {
    background-color: #f5f5f5;
    padding: 15px;
  }
  .salon_sp_coupon {
    border: 1px solid #bdbdbd;
    margin-top: 10px;
    padding: 1em;
    color: #333333;
    background-color: #ffffff;
  }
}
.salon_sp_coupon_box {
  background-color: #f5f5f5;
  padding: 15px;
}
.salon_sp_coupon div {
  padding: 0;
}
.salon_sp_coupon {
  border: 1px solid #bdbdbd;
  margin-top: 10px;
  padding: 1em;
  color: #333333;
  background-color: #ffffff;
}
.salon_sp_coupon .plice {
  color: #de7016;
  text-align: right;
  font-weight: bold;
}
.salon_sp_coupon div ul {
  list-style: none;
  padding: 0;
}
.salon_sp_coupon .p-salon-special-coupon__condition {
  list-style: none;
  display: inline;
  font-size: 11px;
  padding-inline-start: 0 !important;
  padding: 0 !important
}
.p-salon-special-coupon__condition:first-of-type::after {
  color: #424242;
  content: " : ";
}
.p-salon-special-coupon__condition:not(:last-of-type)::after {
  color: #e0e0e0;
  content: " / ";
}
.salon_sp_coupon_link:hover {
  text-decoration: none;
}
.salon_sp_coupon div {
  padding: 0;
}
.salon_sp_coupon {
  border: 1px solid #bdbdbd;
  margin-top: 10px;
  padding: 1em;
}
.salon_sp_coupon .plice {
  color: #de7016;
  text-align: right;
  font-weight: bold;
}
.salon_sp_coupon div ul {
  list-style: none;
  padding: 0;
}
.salon_sp_coupon .p-salon-special-coupon__condition {
  list-style: none;
  display: inline;
  font-size: 11px;
  padding-inline-start: 0 !important;
  padding: 0 !important
}
.p-salon-special-coupon__condition:first-of-type::after {
  color: #424242;
  content: " : ";
}
.p-salon-special-coupon__condition:not(:last-of-type)::after {
  color: #e0e0e0;
  content: " / ";
}
.h2-lead {
  padding: 10px 0 0 0 !important;
}
.h2-lead h2 {
  font-size: 18px;
}
.h2-lead p {
  margin-top: 0;
}
.result-wrap .result-panel h3.search_shopname a {
  text-decoration: underline;
}
.title_top {
  position: absolute;
}
.font-bigger {
  font-size: 200%;
  vertical-align: middle;
}
.bgc-white {
  background-color: #fff;
}
.color-cv, .color-cv:hover, .color-cv:active, .color-cv:focus {
  color: #fb7b47;
}
.color-link, .color-link:hover, .color-link:active, .color-link:focus {
  color: #6b9cd6;
}
.color-popularity {
  color: #807548;
}
.max480 {
  max-width: 480px;
  margin: 0 auto;
}
.monitor-panel .panel-body:first-child {
  padding: 0;
  border: 2px solid #f88;
  border-radius: 5px;
  background: #f88;
}
.salon-free-panel.panel .panel-heading {
  margin-top: 0;
}
.salon-free-panel.panel {
  position: relative;
  margin-bottom: 0;
  border: none;
  border-radius: 0;
  background: #f88;
}
.salon-free-panel.panel .panel-body, .salon-sale-panel.panel .panel-body {
  position: relative;
  z-index: 50;
  padding: 10px 15px;
  border-radius: 0 0 4px 4px;
  background: #fff;
}
.today_tomorrow_icon .list-male, .today_tomorrow_icon .list-female {
  position: relative;
  top: 2px;
  font-weight: bold;
}
.monitor-panel {
  box-shadow: none;
  background-color: rgba(0, 0, 0, 0);
  cursor: pointer;
}
.monitor-panel a:hover, .monitor-panel a:focus, .monitor-panel a:active {
  text-decoration: none;
}
.monitor-panel .salon-photo {
  padding-left: 0;
}
.modal-body, .modal-body .list-inline.btn-group {
  width: 100%;
}
.modal-body button {
  width: 48%;
  margin: 5px !important;
  text-align: left;
}
.modal-body .badge {
  top: 0;
  float: right;
}
.h2-lead .list-inline {
  margin: 0;
}
.fa-chevron-left {
  color: #795548;
}
.pref, .area {
  font-weight: bold;
}
.pref span, .area span {
  display: inline-block;
  width: 60px;
}
.area-modal-btn {
  margin-top: 5px;
}
.modal-content .close:hover, .modal-content .close:focus {
  background: #ffffff;
  color: #565656;
}
.table-bordered > thead > tr > th, .table-bordered > thead > tr > td {
  border-bottom-width: 0;
}
.table-bordered {
  border: 3px solid #896e64;
}
.table-bordered > thead > tr > th, .table-bordered > tbody > tr > td {
  border: 1px solid #896e64;
}
.reserve-date th.title {
  background: #ffeee5;
}
.reserve-dat thead .newyear_date th {
  font-weight: normal;
}
.reserve-date tbody td {
  font-weight: bold;
}
.reserve-date .table {
  margin-top: 10px;
}
.fa-exclamation-triangle {
  color: #ff730a;
}
.reserve-date td:hover {
  background: #ffffff;
}
.count-icon-a, .count-icon-b, .count-icon-c {
  position: absolute;
  bottom: -1.5em;
  left: -.5em;
  z-index: 1;
  width: 6.4em;
  height: 6.4em;
  padding-top: 1.6em;
  border-radius: 100%;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
}
.count-icon-a {
  background-color: #3f93be;
}
.count-icon-b {
  background-color: #dea600;
}
.count-icon-c {
  background-color: #e84a3e;
}
.font-large {
  font-size: 160%;
}
.label_name {
  display: inline-block;
  padding: .2em .4em .1em .2em;
  border: 2px solid #ea5549;
  border-radius: 20px;
  color: #ea5549;
  font-weight: bold;
  font-size: 80%;
  line-height: 1;
  vertical-align: middle;
}
.label_name:before {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin: -2px 2px 0 0;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAACjJJREFUeJztnX+MFOUZxz/Lsne7d3seB13/aD29EjwbPNFqIWiwJZDaYzmMRdhCo1ixJfwoRCk2bSE1TdF/qrQpFAw02KIpuoCm5bpcbSEUMDFKi/IrBQk/eoU/2OqJLLd7v7L9492j3O7szDsz78zu3c0n2VyYeeZ9n5kvM/O+z/vO84KHh4eHh4c1fPkbLs+dUQo/9AgCTcBdwB1AA3ArMCb3qwTCOdsU0AV8nPv9GzgPnAKOAceBjJPORuIJU/Y+30AJRqp0RhEVwBTgG8CDwFeAgOSx4dxvTO7f9+ft7wEOAweBvwCHgG6b/iqlXAQJADOBGNAC1DhYz/253w+Bq0ArsCP3t8eheqUptSBjgSXAAuDmEtRfA8zP/S4D24BNwNkS+ALAiBLVezcQB04DqyiNGPncjPDlNMK3CaVwwm1BxiEeD0eAuYDf5fpl8CN8O4IQZpyblbslSBh4ETgBzEGjdVeGjEAIcwLhe1jfXF2lTjMD0eT8AaIFNdioQPh+DHEujuKkIAFgHfBnRN9hsNOAOJd1yDfDTeOUIF8E3gGeYXA8nmTxIc7pHcQ5KscJQWYC/wQmOlB2uTARcY4zVResWpBlwB+BUYrLLUdGIc71+yoLVSnIz4ENlGdT1in8wHpgraoCVfXUf4HoVA1XViOCnM/aLUjFHbKW4S1GP6tQcKfYFWQJ4n+Hh2B1MhZdYqcAO4LMQjw/PQayPhmLzrJ6sFVBGoFXGV4vcFn8wKvJWLTRysFWBKkCdgG1ViocJtQCbyVj0SqzB1oR5EXEkKqHPuMR18oUZsfUm4GE1nHSFdbWUfXofM19fcnLdB3YS/ZKh9XiTROYNIWKJu2hj85d2+36kgWikXiirZhB/pi6GUHCiEkCt1n3D+p+tYWRn/9C0f3ZTJqrv9tC176i56CEkeMnULNoua4vvZcu0vH09+xWdQFoisQTKa2d+YKYeWT9FJtiALoXAMAXDHHT4hUEZ82xW1VR/PUNjPrRc4a+GO2X5DbgOVljWUFuB1ZYcieP3ksXpezCc+fjq61TUWUBNctW4guGDO1kfZVgeTIWvV3GUFaQtYjQgG1Sf/i9lJ0vGCK8aLmKKgcQnDWHwFi5UVlZXyWoRLIXLyPIBMRQphJ63jtE5v13pWyDEyczcrzauQZVLY9I2WXef5ee9w6prHpuMha928hIRpDVKB5kSm1eTzaTlrINL/iusnqrFy7FXzfa0C6bSZParDwI4QN+YmRkJEgDMFuFNzeSvdJBasd2KdvA2HEEJk2xXaevto7Q1OlStqkdtpu7xZidjEV1RxqNBFmKQ5PpMrt30nP2jJRtzVOLbddX/dhTUi/ynrNnyOzeabu+IoxEXNOi6AlSAXxHpTf5pLb9VsrOXzfaVjPYX99A6GvTlPpkgyeSsWjR2Td6gswEIur9+T+9J4/S2dYqZWunGRx+Uu4O62xrpffkUUt1mCCCzli8niAx9b4U0rlrO30dnxja+YKhoiEXPfRCIzfS1/EJnbvk3msKKHptiwlSiZiF7jjZKx1ce+M1KdvQ1On46xtMlR/+9hNSdtfeeM3NGFpLMhbV7NcVE+RBXJo6CdC1r43u48aPCl8wRNW8BdLlBmfNkQp/dB8/6njsLI8w8FWtHcUEecg5X7RJvfKyVN8kOHGyVDPYV1sn1QnMZtKkXnlZykfFfF1ro94d4ip97edJ798rZVs92/j1VvXofKlOYHr/Xvraz0vVqxjpOyQI3OusL9pc27pRKqAXGDuOymnNRffLdgJ7L13k2taNpnxUyJeTsWhBx0hLkDsp4Sx12YBe9bceK7ovvGi5VCdQYfDQChWIUcUBaAlyl/O+FEc2+OivG01oXmELyl/fQHDiZMPjHQgeWqEg2KglyJdccEQX2eBjdfThgs5izbKVhsc5FDy0wh35G7QEcWSavRlkg4/5ncXApClSYx0OBg/N0pC/QUuQeuf9MEY2+FjV3HK9syjTCXQ4eGiWgmutJcjnXHBEiqu/WSdlF35ysXQnULZMlxiTv0FLEOPGu0v0tZ+XCj5WNE0gPNc4ztXZ1lqqPkcxpAQpqw8zzQQf9XA5eChLwbXWGnxyKq2FJpXTmgk9FNW1GREy7lMYMSIUovbHP9O1Sb+dcDumVXCtS5pao3JaMzctVjK7yBBfMGTYAgssXsFn4LYoA9B6ZF11q3KjO6MUuOxTwbXWEqSs0hUNcQqutZYgxm9QRfSc/pdbVUnjsk8F11pLkP+64Aggorudba3Sc7ScJJtJ09nW6nb0t+Baa73U2ynMxOYY17ZuNH0RZNPoJWPl947Koz1/g9Ydcs4FRzwE5/M3aAlyynk/PHKczt+gJYjjE5M8rvNB/gYtQU7gNX3doBs4mb9R66WeQWS6MR52U0D1wqWEpk6XGnI1i5kcutlMmvT+vW62so5E4ok0kp+0HXTeHyFGVXOLI2KYxRcMUdXcQvVC3bnQKjmgtbGYIH910JHrBBpLPlpcgIs+/U1rYzFBDiDSdns4Qwr4u9aOYoJ0ITI9O0r6bXN50t3AJZ9aI/FEl9YOvfB7HJjnjD+Crn1tfIa5CKsvGJL+XLn30kVTYRkXx0PixXboJQ6oAP6Dw9+IWGGQh06SwC2ReKIbzCUO6AZKOrVviLKtXwwtjL4x3Aj0qvVnWNOLuKZFMRLkHPCmMnc83ozEE7orL8h8p/4CIquNhz2yiGupi4wgHyJWNCgbZFpO5TDolcfOSDzxoZGRbK6TNYi+SVnQdczwvKRsXKQLyWShsoJ8BPzasjuKSW1er/thT++li+Uyu72f9ZF44iMZQ9cTmKnCV1tHcMbDVN5z34DtXR/8g8yeP5XL7HYwmcDMSoq/PTacG47MMJPiz2wSzDZgswWnhitb9MTQwkpW0mcQo4oe+pwEnjZ7kBVBOhEpm65YOHa4cAX4ZiSe6DR7oNXM1qeBx4E+i8cPZfqAxyPxRMGMEhns5H7fDahPijj4WR6JJ3ZbPdju6gibgOdtljGUeCEST2yyU4CK9UPWYCGl9hDkJRQs3aFqyaNnGd53yvMoWtRG5RpUaxDvlOH0ou9DnPMaVQWqXqVtA/AI8KnicsuRTxHnukFloU6sY9iKyCZ02IGyy4XDiHNUPjPHqZU+zwEPAL9kaA1uZRHn9AAOfbbh5Fq4PcBKRAbOCw7W4xYXEOeyEnFujuDGatF7ECvyvMTgnFXfjfC9CRci3W6tp55CNAvvRKxfNRgeY1lgJ8LnVbg0tdYtQfo5g1jg/j7EOH05NpH7EL7dg1gVQi4fuiLcFqSfI4hkwo2IXv7lEvlxI5cRvjQifCvJl2SlEqSfs4hefj0ipP86LmaSyNX1eq7uW3O+6M6bcpqS5jq5gW7grdyvApGmtjn3914goKieHsTXYQcRo58HKbOGRrkIciPdwN7cD0Ta2ibESj+NwFjgFkSitTG5/f0LOHYiPsn7OPdrR/QXTiEeQcdz+z08PDw8PIYc/wN+UprCzmIU4QAAAABJRU5ErkJggg==) center /contain no-repeat;
  vertical-align: middle;
  content: " ";
}
.btn-top-txt {
  display: inline-block;
  position: relative;
  padding: 0 25px;
  font-size: 1.1em;
}
.btn-top-txt:before, .btn-top-txt:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  width: 1.3em;
  height: 2px;
  content: '';
}
.btn-top-txt:before {
  left: 0;
  -webkit-transform: rotate(-120deg);
  -moz-transform: rotate(-120deg);
  -ms-transform: rotate(-120deg);
  transform: rotate(-120deg);
  background-color: black;
}
.btn-top-txt:after {
  right: 0;
  -webkit-transform: rotate(-60deg);
  -moz-transform: rotate(-60deg);
  -ms-transform: rotate(-60deg);
  transform: rotate(-60deg);
  background-color: black;
}
.btn-more {
  font-size: 12px;
}
.review_star {
  color: #e67b3a;
}
.info-access-short {
  position: relative;
  top: 2px;
}
.btn-top-txt {
  display: inline-block;
  position: relative;
  padding: 0 25px;
  font-size: 1.1em;
}
.btn-top-txt:before, .btn-top-txt:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  width: 1.3em;
  height: 2px;
  content: '';
}
.btn-top-txt:before {
  left: 0;
  -webkit-transform: rotate(-120deg);
  -moz-transform: rotate(-120deg);
  -ms-transform: rotate(-120deg);
  transform: rotate(-120deg);
  background-color: black;
}
.btn-top-txt:after {
  right: 0;
  -webkit-transform: rotate(-60deg);
  -moz-transform: rotate(-60deg);
  -ms-transform: rotate(-60deg);
  transform: rotate(-60deg);
  background-color: black;
}
.bx-viewport {
  margin-bottom: 10px
}
.bgc-white .pagination {
  border: 1px solid #ccc;
}
.pagination-text {
  text-align: left
}
.mgr4 {
  margin-right: 4px;
}
.btn-pair, .btn-select {
  background-color: #999;
  color: #fff;
}
.btn-pair.active, .btn-pair:hover, .btn-pair:active, .btn-pair:focus, .btn-select.active, .btn-select-wrap input:checked + .btn-select {
  background-color: #06c;
  color: #fff;
}
.btn-select:focus, .btn-select:hover {
  color: #fff;
}
.btn-select-wrap input {
  display: none;
}
.btn-secondary, .btn-secondary:hover, .btn-secondary:active, .btn-secondary:focus {
  background-color: #a4996d;
  color: #fff;
  border-color: #807548;
  border-top: none;
  border-right: none;
  border-left: none;
}
.btn-default.btn-secondary {
  border-bottom-width: 1px;
}
.btn-secondary:hover, .btn-secondary:active, .btn-secondary:focus {
  background-color: #807548;
}
.btn-line {
  background-color: #fff;
  border: solid thin;
}
.btn-line:hover, .btn-line:active, .btn-line:focus {
  border-color: inherit;
}
.select-card {
  -ms-align-items: center;
  align-items: center;
  margin: 0 auto 10px auto;
}
.txt-lead, .select-area-city-wrap {
  padding-right: 10px;
  padding-left: 10px;
}
/* 市区エリア選択 */
.select-area-city-wrap {
  margin-top: 20px;
}
.choice-btn-set.btn-group .btn + .btn {
  margin-left: 0;
}
.choice-btn-set .btn-inverse {
  overflow: hidden;
  width: 19.6%;
  margin: .2% .5% .2% 0;
  text-align: left;
}
.choice-btn-set .btn-inverse:nth-child(5n) {
  margin-right: 0;
}
.choice-btn-set .btn-inverse .badge, .btn-default .badge {
  position: absolute;
  top: 6px;
  right: 2px;
  z-index: 10;
  font-weight: normal;
}
.choice-btn-set.btn-group.collapse {
  display: none;
}
.choice-btn-set.btn-group.collapse.in {
  display: inline-block;
}
.more-icon:hover, .more-icon:focus, .more-icon:active {
  text-decoration: none;
}
.more-icon::before {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 180%;
  line-height: 1;
  font-family: FontAwesome;
  content: "\f151";
  cursor: pointer;
}
.more-icon.collapsed::before {
  content: "\f150";
}
.choice-btn-set.btn-group > .btn {
  border-radius: 0;
}
.choice-btn-set .btn-inverse.disabled {
  background-color: #ddd;
}
/*駅選択*/
.dropdown-set {
  position: relative;
}
.dropdown-set .dropdown {
  position: initial;
}
.dropdown-set .dropdown-menu {
  width: 100%;
  overflow-y: auto;
  max-height: 50vh;
  -webkit-overflow-scrolling: touch;
}
.dropdown-set .dropdown-menu li {
  text-align: left;
  padding: 5px 0;
}
.dropdown-set .dropdown-menu li .badge {
  margin-left: .5em;
}
.dropdown-set .btn-block {
  text-align: left;
  position: relative;
  padding-right: 1em;
  overflow: hidden;
}
.dropdown-set .btn-block .caret {
  position: absolute;
  right: .5em;
  top: 50%;
  margin-top: -2px;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-ai-center {
  align-items: center;
}
.flex-jc-around {
  justify-content: space-around;
}
.flex-jc-between {
  justify-content: space-between;
}
.flex-ai-center {
  align-items: center;
}
.flex-ac-between {
  flex-wrap: wrap;
  align-content: space-between;
}
.btn-collapse[data-toggle="collapse"]::after, .btn-collapse.collapsed[data-toggle="collapse"]::after {
  content: "\f0d7";
  font-family: "fontawesome";
  padding-left: .5em;
}
.btn-collapse[data-toggle="collapse"]::after {
  content: "\f0d8";
}
/* すごとく用 */
.just-between {
  justify-content: space-between;
}
.align-items-center {
  align-items: center;
}
.text-over {
  position: relative;
  overflow: hidden;
  padding-right: 7em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.content-x .monitor-panel {
  position: relative;
  pointer-events: none;
}
.content-x .salon-free-panel::before {
  display: block;
  position: absolute;
  top: -1%;
  left: -1%;
  z-index: 60;
  width: 102%;
  height: 102%;
  border-radius: 16px;
  background-color: rgba(0, 0, 0, .30);
  content: "";
}
.content-x .js-sugotoku-panel {
  overflow: hidden;
}
.content-x .monitor-panel::after {
  display: inline-block;
  position: absolute;
  z-index: 61;
  transform: rotate(-10deg);
  margin: -2em 0 0 -2em;
  padding: 1em;
  border-radius: 100%;
  background-color: #f88;
  color: #fff;
  font-weight: bold;
  font-size: 320%;
  line-height: 1;
  white-space: pre;
  content: "売切\A御免";
}
/* すごとくPR枠用 */
.content-c .salon-free-panel.panel {
  background: #d44;
}
.content-c .monitor-panel .panel-body:first-child {
  border-color: #d44;
}
.content-c .btn-primary {
  border-color: #c60;
  background-color: #f90;
}
.sgkt-search span {
  position: relative;
}
.sgkt-search:hover, .sgkt-search:focus {
  color: #795548;
}
.sgkt-search span::after {
  content: "\f146";
  font-family: 'FontAwesome';
  display: inline-block;
  position: absolute;
  right: -1.2em;
  top: 50%;
  margin-top: -.7em;
}
.sgkt-search.collapsed span::after {
  content: "\f0fe";
  font-family: 'FontAwesome';
  display: inline-block;
  position: absolute;
  right: -1.2em;
  top: 50%;
  margin-top: -.7em;
}
/*タブ*/
.tab-wrap {
  padding-top: 4px;
  border-bottom: solid thin #ccc;
}
.tab-wrap > .container > .flex {
  align-items: flex-end;
}
.cam-tab {
  background-color: #aaa;
  display: inline-block;
  width: 48%;
  text-align: center;
  padding: .6em 0 .5em;
  border-radius: .5em .5em 0 0;
  border-bottom: 0;
  color: #fff;
  font-weight: bold;
  position: relative;
  top: 1px;
  transition: .2s ease 0s;
  -moz-transition: .2s ease 0s;
  -webkit-transition: .2s ease 0s;
}
.cam-tab + .cam-tab {
  margin-left: .5em;
}
.cam-tab.active, .cam-tab:hover, .cam-tab:active, .cam-tab:focus {
  text-decoration: none;
  color: #666;
  background-color: #fff;
  background-image: none;
  border: thin solid #ccc;
}
.cam-tab.active {
  margin-bottom: -3px;
  padding-top: 1.1em;
  top: -1.7px;
  border-bottom-color: #fff;
}
.fn {
  font-weight: normal !important;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  height: 2.8em;
}
.cam-border-bottom {
  border-bottom: solid 2px #ddd;
  position: relative;
  z-index: 1;
}
/* 空き状況 */
.vacancy-situation hr {
  margin: 15px auto;
}
.vacancy-situation .bg-warning {
  background-color: #d9edf7;
}
.vacancy-situation .bg-danger {
  background-color: #f2dede;
}
.vacancy-situation table {
  margin-bottom: 10px;
}
.vacancy-situation table, .vacancy-situation th, .vacancy-situation td {
  padding: .4em 0;
  border-collapse: collapse;
  border: solid thin #ccc;
  text-align: center;
}
.vacancy-situation tbody tr th:first-of-type {
  padding-right: .2em;
  padding-left: .2em;
}
.vacancy-situation a, .vacancy-situation a:hover {
  color: #444;
  text-decoration: none;
}
.vacancy-situation .bg-warning {
  background-color: #d9edf7;
}
.vacancy-situation td .text-primary::before, .vacancy-situation td .fa-times::before {
  font-size: 160%;
  font-family: FontAwesome;
}
.vacancy-situation td .text-primary::before {
  color: #8bc34a;
  content: "\f10c";
}
.vacancy-situation td .fa-times::before {
  color: #ccc;
  content: "\f00d";
}
.vacancy-situation td {
  position: relative;
}
.vacancy-situation .reserve-disabled {
  background: #ddd;
}
.vacancy-situation .text-info::before, .vacancy-situation .text-info::after {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -.6em 0 0 -.6em;
  border-right: solid .6em transparent;
  border-bottom: solid 1em #069;
  border-left: solid .6em transparent;
  content: "";
}
.vacancy-situation .text-info::after {
  margin: -.2em 0 0 -.3em;
  border-right-width: .3em;
  border-bottom: solid .4em #fff;
  border-left-width: .3em;
}
.vacancy-situation .small {
  font-size: 12px;
}
.text-primary {
  color: #8bc34a;
}
.bgc-base {
  background-color: #f4f4f4;
}
.refine {
  display: flex;
  margin-top: -10px;
}
.refine a {
  background-color: #e84a3e;
  color: #fff;
}
.refine a.collapsed {
  background-color: initial;
  color: #555;
}
ul.list_tab.text-left {
  text-align: left;
}
.railway-search-content .panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 1px 1px 0;
  padding: 0;
}
.railway-search-content .js-railway-box .list-group-item a, .railway-search-content .js-railway-box .list-group-item .disabled {
  display: block;
  height: 100%;
  padding: .5em;
}
.railway-search-content .js-railway-box .list-group-item .disabled {
  background-color: #f5f5f5;
}
.railway-search-content .ajax-railway-panel .col-xs-6.col-sm-3 {
  display: flex;
  align-items: center;
}
.railway-search-content .checkbox-inline {
  margin-bottom: 0 !important;
  padding-top: .35em;
  padding-bottom: .35em;
  line-height: 1.65;
  font-size: 13px;
}
.railway-search-content #campaignForm .btn {
  display: none;
}
.railway-search-content #campaignForm.sticky-bottom .btn {
  display: block;
}
.railway-search-content #js-selected-station::after {
  content: "なし";
}
.railway-search-content .sticky-bottom #js-selected-station::after {
  content: "";
}
.railway-search-content .btn.btn-default[data-toggle="collapse"]::after {
  font-family: FontAwesome;
  content: "\f0d8";
  position: absolute;
  right: 1em;
}
.railway-search-content .btn.btn-default.collapsed[data-toggle="collapse"]::after {
  content: "\f0d7";
}
.sticky-bottom {
  position: relative;
  bottom: 0;
  background: #fff;
  margin: 0 -10px;
  padding: 0 10px;
}
.bg-gray {
  background-color: #eee;
}
.railway-search-content .bg-gray {
  position: relative;
  padding-right: 1em !important;
}
.railway-search-content .bg-gray > a::after {
  font-family: FontAwesome;
  content: "\f056";
  position: absolute;
  top: 50%;
  right: .6em;
  margin-top: -.5em;
  line-height: 1;
  color: #666;
}
.search-title {
  border-left: 6px solid #EB8257;
}
.collapse {
  outline: none;
}
/* キャンペーン終了表示 */
#cp_end {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 1000;
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 30px 0;
  background-color: rgba(28, 19, 18, 0.8);
  color: #fff;
  font-weight: bold;
  font-size: 140%;
  text-align: center;
  letter-spacing: 0.1em;
}
#cp_end a, #cp_end a:hover, #cp_end a:active, #cp_end a:visited {
  color: #a1f6ff;
}
.not-hover {
  position: relative;
}
.not-hover::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10;
}
/*サジェスト*/
#area-list .area-list-inner {
  font-size: 16px;
  position: absolute;
  width: 100%;
  background-color: #fff;
  left: 0;
  top: 2.5em;
  z-index: 10;
  cursor: pointer;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, .5);
  -moz-box-shadow: 0px 4px 12px rgba(0, 0, 0, .5);
  -webkit-box-shadow: 0px 4px 12px rgba(0, 0, 0, .5);
}
#area-list .option {
  padding: .5em;
  display: block;
  border-bottom: solid thin #eee;
  color: #333;
  text-decoration: none;
}
#area-list .option:hover, #area-list .option:focus {
  background-color: #ddd;
  color: #333;
  text-decoration: none;
}
#search-area + .form-clear-btn {
  position: absolute;
  top: 0;
  right: 0;
  padding: 7px;
  z-index: 5;
  display: none;
}
#search-area {
  width: 100%;
}
.station-search-result .btn-link {
  color: #333;
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 10px;
}
.station-search-result label:not(:last-child) .btn-link {
  border-right: solid thin #666;
}
.btn.btn-area {
  position: relative;
  margin-right: 5px;
  margin-bottom: 10px;
}
.btn-area::after {
  border-radius: 100px;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
  color: #fff;
  content: attr(data-number);
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  min-width: 1;
  padding: .2em .4em;
  position: absolute;
  right: -.3em;
  top: -.8em;
  z-index: 2;
  background-color: #ff9b30;
}
#campaignForm .checkbox-inline {
  font-size: 14px;
}
#campaignForm input[type="checkbox"] {
  margin-top: 5px;
}
@media (max-width: 991px) {
  .count-icon-a, .count-icon-b, .count-icon-c {
    top: -.7em;
    right: -1.2em;
    bottom: auto;
    left: auto;
  }
}
@media (max-width: 767px) {
  .h2-lead {
    margin-bottom: 10px;
    font-size: 13px;
  }
  .h2-lead h2 {
    font-size: 14px;
  }
  .h2-lead p {
    display: block !important;
  }
  .modal-body button {
    width: 100%;
    margin: 2px !important;
  }
  .monitor-panel h4 {
    font-size: 14px !important;
  }
  .monitor-panel .salon-photo {
    padding-right: 0;
  }
  .shop-info {
    font-size: 12px;
  }
  .reserve-date .newyear_date th {
    font-size: 12px;
  }
  .count-icon-a, .count-icon-b, .count-icon-c {
    right: -.5em;
    padding-top: 1.8em;
  }
  .btn-top-txt {
    font-size: 16px;
  }
  .reserve-date .newyear_date th {
    font-size: 12px;
  }
  .pair-font-size14 {
    font-size: 14px
  }
  .pagination-text {
    margin-top: -10px;
    text-align: center;
  }
  #js-search-result .result-lead {
    padding: 0 15px;
    overflow: hidden;
    background: none;
    color: #565656;
  }
  #js-search-result .row > .row {
    margin: 0;
  }
  #js-search-result .panel-body .reserve_area {
    margin-top: 10px !important;
  }
  /* すごとく */
  .content-x .monitor-panel::after {
    top: 86%;
    right: 3%;
    font-size: 280%;
  }
  /* 市区エリア選択 */
  select.form-control {
    font-size: 16px;
    padding: 0 12px;
  }
  .more-icon::before {
    margin-bottom: 5px;
    font-size: 150%;
  }
  .choice-btn-set, .choice-btn-set.btn-group.collapse.in {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .choice-btn-set .btn-inverse {
    width: 49.5%;
    margin: .5% 0;
    padding: .5em;
    font-size: 12px;
    line-height: 1;
  }
  .choice-btn-set .btn-inverse .badge {
    top: 3px;
    min-width: 1.4em;
    padding: .2em;
    font-weight: normal;
    font-size: 12px;
    line-height: 1;
  }
  .choice-btn-set .btn-inverse:nth-child(2n) {
    margin-right: 0;
  }
  .dropdown-set .dropdown-menu * {
    font-size: 11px;
  }
  /*駅選択*/
  .modal .modal-content {
    /*height: 70vh;*/
    margin-top: 10vh;
  }
  .modal .sp-float {
    position: fixed;
    bottom: 0;
    left: 0;
    padding: .5em;
    background-color: #fff;
    width: 100%;
  }
  .sp-sticky-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    background: #fff;
    margin: 0 -10px;
    padding: 10px;
  }
  #ajax-railway-box, #genreCollapse {
    overflow: hidden;
  }
  .tab-wrap {
    font-size: 80%;
  }
  .cam-tab {
    font-size: 90%;
  }
  .result-panel.panel.panel-default {
    border: none !important;
  }
  .result-panel-wrap {
    clear: both;
    margin-bottom: 16px;
    -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    background-color: #fff;
  }
  .label-warning {
    display: inline;
    padding: .1em .5em .2em;
    margin: auto .3em;
    font-size: 70%;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
    background-color: #e6bb3a;
  }
  .result-panel-wrap .shop-info-list i {
    color: #795548;
    font-size: 12px;
  }
  .result-panel-wrap .btn {
    height: 2.4em;
    font-size: 16px;
    padding: .6em 0;
    line-height: 1;
    margin-bottom: 0;
  }
  .result-panel-wrap .btn-primary {
    width: 100%;
    background-color: #fb7b47;
    border-bottom: 1px solid #f05f23;
    color: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .result-panel-wrap .btn-primary:hover, .result-panel-wrap .btn-primary:active, .result-panel-wrap .btn-primary:focus {
    background-color: #f05f23;
    border-color: #f05f23;
  }
  .btn-tel {
    color: #fb7b47 !important;
    background-color: #fff;
    border: 1px solid #fb7b47;
    box-shadow: inset 0 -1px #fb7b47;
  }
  .reserve_area > div + div,
  .reserve_area > div + p + div {
    margin-left: 10px;
  }
  .btn-op {
    color: #6B9CD6;
  }
  .pagination-wrap .pagination {
    display: flex;
    box-shadow: none;
    justify-content: center;
  }
  .result-panel-wrap a {
    color: #565656;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
  }
  .salon_logo_wrap {
    float: left;
    margin-bottom: 0;
  }
  .vacancy-situation .bg-danger {
    background-color: #f2dede;
  }
  .vacancy-situation .bg-warning {
    background-color: #d9edf7;
  }
  .result-panel-wrap .btn-secondary {
    color: #fff;
  }
  .result-panel-wrap .color-cv {
    color: #fb7b47;
  }
  .result-panel-wrap .color-link {
    color: #6b9cd6;
  }
  .result-panel-wrap h3 {
    text-decoration: underline;
  }
  .reserve_area .title_top {
    top:-21px;
    left:76%;
  }
  .railway-search-content .btn-default:hover, .h2-lead .btn-default:hover {
    color: #333333;
    background-color: #ffffff;
    border-color: #dddddd;
  }
  .station-search-result input[type="checkbox"] {
    margin-top: 3px;
  }
  /*終了対応*/
  #cp_end {
    font-size: 100%;
  }
  .search-shop-card-menu__regular-price{
    padding-top: 5px;
  }
}
@media (max-width: 600px) {
  .vacancy-situation .small {
    font-size: 12px;
  }
}
@media (max-width: 480px) {
  .h2-lead {
    font-size: 12px;
  }
  .font-large {
    font-size: 18px;
  }
  .monitor-panel h4 {
    font-size: 13px !important;
  }
  .shop-info {
    font-size: 10px;
  }
  .btn-top-txt {
    font-size: 4vw;
  }
  .content-x .monitor-panel::after {
    font-size: 10vw;
  }
  .count-icon-a, .count-icon-b, .count-icon-c {
    right: -.7em;
    padding-top: 1.6em;
    font-size: 10px;
  }
  .vacancy-situation .small {
    font-size: 11px;
  }
  /* 市区エリア選択 */
  .choice-btn-set .btn-inverse {
    font-size: 10px;
  }
  .choice-btn-set .btn-inverse .badge {
    top: 2px;
    font-size: 10px;
  }
}
@media (max-width: 320px) {
  .font-bigger {
    font-size: 160%;
  }
  .modal-content * {
    font-size: 10px;
  }
  .cam-tab {
    font-size: 11px;
  }
  .result-panel-wrap .btn {
    font-size: 14px;
  }
}
@media screen and (min-width:768px) and (max-width:1023px) {
  .info-salon {
    margin-top: 10px;
  }
  .salon-photo {
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 20px;
  }
  .js-sugotoku-panel .salon-photo {
    padding-bottom: 10px;
  }
  .result-panel-wrap .result-panel.panel {
    border: none !important;
  }
  .result-panel-wrap .panel-default + .panel-body {
    background: #fff;
    padding-top: 10px !important;
    margin-bottom: 20px;
  }
  .result-lead {
    background: none !important;
  }
  .reserve_area.flex {
    margin-top: 10px !important;
  }
  .reserve_area > .w100:first-child {
    margin-right: 10px;
  }
}
@media (min-width: 768px) {
  .shop-info {
    font-size: 1em;
  }
  .content-x .monitor-panel::after {
    top: 62%;
    left: 14%;
  }
  .vacancy-situation {
    margin-top: 5px;
  }
  .vacancy-situation table, .vacancy-situation th, .vacancy-situation td {
    font-size: 13px;
  }
  .result-lead .result-panel.panel {
    border: #a1887f 1px solid;
  }
  .salon_sp_coupon_title {
    padding-top: 10px;
    font-weight: bold;
    font-size: 14px;
    color: #333333;
  }
  .reserve_area {
    position: relative;
  }
  .reserve_area .trial-icon {
    position: absolute;
    display: inline;
    bottom: 0.5em;
  }
  .max-w {
    max-width: 720px;
    margin: 0 auto;
  }
  .link-hover:hover {
    opacity: 0.8;
  }
  .cam-banner img {
    width: 85%;
  }
  .cam-banner .font-size-15 {
    font-size:20px;
  }
  .reserve_area .title_top {
    position: absolute;
    left: 76%;
    top:-28px;
    padding: 0.2em 0.5em;
    background: #fff;
    box-shadow: 0px 2px 3px 0 rgb(0 0 0 / 30%);
    border-radius: 1em;
    border: 1px solid #dddddd;
    font-size: 14px;
    font-weight: bold;
    white-space: nowrap;
    display: inline-block;
    line-height: 1;
    margin: 0 auto !important;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
}
@media (min-width: 992px) {
  .content-x .monitor-panel::after {
    top: 80%;
    left: 8%;
  }
}
/*すごとくメニュー料金スタイル*/
.sgtk-menu {
  background: #fffce7;
  padding: 10px;
  margin-bottom: 10px;
}
.search-shop-card-menu__title {
  display: inline-block !important;
  margin-bottom: 5px;
  font-weight: bold;
}
.sgtk-menu .search-shop-card-menu__detail .more-link {
  font-size: 11px;
}
.sgtk-menu .search-shop-card-menu__detail a {
  color: #795548 !important;
  padding-bottom: 0.5em;
  display: inline-block;
  text-decoration: underline !important;
}
.sgtk-menu .search-shop-card-menu__detail a:hover {
  text-decoration: none !important;
}
.sgtk-menu .price-wrap .epark-price-title {
  display: inline-block;
  width: 200px;
}
.sgtk-menu .price-wrap .epark-price {
  display: inline-block;
  width: 80px;
}
.panel-body a.sgtk-reserve-link {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.25) !important;
}
.sgtk-reserve-link:hover {
  text-decoration: none;
}
.count-icon-default {
  background-color: #dea600;
  color: #fff;
}
.count-icon-danger {
  background-color: #e84a3e;
  color: #fff;
}
.count-icon-sold {
  background-color: #fff;
  color: #e84a3e;
  border: 1px solid #e84a3e;
  position: absolute;
  bottom: 3em;
  left: 3em;
  z-index: 5;
  width: 8em;
  height: 8em;
  padding-top: 3em;
  border-radius: 100%;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
}
.sgtk-menu .count-icon-sold {
  padding-top: 1.4em;
  line-height: 2em;
  font-size: 16px;
  width: 7em;
  height: 7em;
}
.count-icon-danger, .count-icon-default {
  position: absolute;
  bottom: 1.5em;
  left: 2em;
  z-index: 5;
  width: 5em;
  height: 5em;
  padding-top: 1.5em;
  border-radius: 100%;
  font-weight: bold;
  font-size: 21px;
  line-height: 1.2;
  text-align: center;
}
.trial-icon {
  bottom: 6em;
  left: 2em;
  padding-top: 1.5em;
  font-size: 18px;
  width: 4.5em;
  height: 4.5em;
  line-height: 1.8;
}
.trial-icon .font-large {
  font-size: 18px;
}
.soldout {
  position: relative;
}
.soldout::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../../images/campaign/sold-bg.png);
  background-size: cover;
  background-position: center;
}
.shop-info-list .review-rating {
  color: #e67b3a;
  font-weight: bold;
}
@media (min-width: 768px) {
  .sgtk-menu .vacancy-situation {
    background: #ffeee7;
  }
  .sgtk-menu .search-shop-card-menu__title {
    font-size: 16px;
  }
  .sgtk-menu .search-shop-card-menu__name {
    font-size: 16px;
    font-weight: bold;
  }
  .sgtk-menu .search-shop-card-menu__detail .more-link {
    font-size: 14px;
  }
  .sgtk-menu .price-wrap {
    font-size: 125%;
  }
  .sgtk-menu .price-wrap .epark-price-title {
    display: inline-block;
    width: 250px;
    font-size: 20px;
  }
  .sgtk-menu .price-wrap .epark-price {
    display: inline-block;
    width: 95px;
    font-size: 16px;
  }
  .sgtk-menu .sgtk-panel .reserve_area {
    margin-top: 20px;
  }
  .sgtk-menu .sgtk-panel .fs18 {
    font-size: 22px !important;
  }
  .sgtk-menu {
    background: #fff;
    margin: 0;
    padding: 0;
  }
  .sgtk-menu .vacancy-situation {
    margin: 0 0 010px;
    padding: 10px;
  }
  .sgtk-menu .vacancy-situation:hover {
    background: #ffe7dd;
  }
  .sgtk-menu + .reserve_area {
    margin-top: 0;
  }
}
@media (max-width: 991px) {
  .count-icon-danger, .count-icon-default {
    bottom: 2em;
    font-size: 16px;
  }
  .trial-icon {
    bottom: 5.5em;
    font-size: 12px;
    left: 1em;
    padding-top: 1.5em;
    width: 4.5em;
    height: 4.5em;
    line-height: 1;
  }
  .count-icon-sold.trial-icon {
    width: 7em;
    height: 7em;
    line-height: 2.7;
  }
  .clear.text-right .small{
    font-size: 80%;
  }
}
@media (max-width: 767px) {
  .sgtk-menu .count-icon-sold, .sgtk-menu .count-icon-danger, .sgtk-menu .count-icon-default {
    left: 2.5em;
    bottom: 75px;
    right: -0.7em;
    padding-top: 1.5em;
    font-size: 11px;
  }
}
@media (max-width: 480px) {
  .sgtk-menu .count-icon-sold {
    padding-top: 1.2em;
  }
}
@media (max-width: 320px) {
  .sgtk-menu .price-wrap .epark-price-title {
    font-size: 11px;
    width: 180px;
  }
}
/*得とくメニュー料金スタイル*/
.tktk-menu {
  background: #fffce7;
  padding: 10px;
  margin-bottom: 10px;
}
.tktk-menu .search-shop-card-menu__title {
  display: inline-block !important;
  margin-bottom: 5px;
  font-weight: bold;
}
.tktk-menu .search-shop-card-menu__detail .more-link {
  font-size: 11px;
}
.tktk-menu .search-shop-card-menu__detail a {
  color: #795548 !important;
  padding-bottom: 0.5em;
  display: inline-block;
  text-decoration: underline !important;
}
.tktk-menu .search-shop-card-menu__detail a:hover {
  text-decoration: none !important;
}
.tktk-menu .price-wrap .epark-price-title {
  display: inline-block;
  width: 200px;
}
.tktk-menu .price-wrap .epark-price {
  display: inline-block;
  width: 80px;
}
.tktk-menu .panel-body a.tktk-reserve-link {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.25) !important;
}
.tktk-menu .tktk-reserve-link:hover {
  text-decoration: none;
}
.tktk-menu .count-icon-default {
  background-color: #ffe352;
  border: 1px solid #333;
  color: #333;
}
.tktk-menu .count-icon-warning {
  background-color: #eb056c;
  color: #fff;
}

.tktk-menu .count-icon-danger {
  background-color: #ed1e1e;
  color: #fff;
}
.tktk-menu .count-icon-sold {
  background-color: #fff;
  color: #eb056c;
  border: 1px solid #eb056c;
  position: absolute;
  bottom: 3em;
  left: 3em;
  z-index: 5;
  width: 8em;
  height: 8em;
  padding-top: 3em;
  border-radius: 100%;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
}
.tktk-menu .count-icon-sold {
  padding-top: 1.4em;
  line-height: 2em;
  font-size: 16px;
  width: 7em;
  height: 7em;
}
.tktk-menu .count-icon-danger,
.tktk-menu .count-icon-warning,
.tktk-menu .count-icon-default {
  position: absolute;
  bottom: 1.5em;
  left: 2em;
  z-index: 5;
  width: 5em;
  height: 5em;
  padding-top: 1em;
  border-radius: 100%;
  font-weight: bold;
  font-size: 21px;
  line-height: 1.2;
  text-align: center;
}

.tktk-menu .shop-info-list .review-rating {
  color: #e67b3a;
  font-weight: bold;
}
.tktk-menu .font-large {
  vertical-align: -1px;
}
.tktk-badge-danger {
  background: #e84a3e;
  padding: 4px 10px;
  top: -2px;
  position: relative;
}
@media (min-width: 768px) {
  .tktk-menu .vacancy-situation {
    background: #ffeee7;
  }
  .tktk-menu .search-shop-card-menu__title {
    font-size: 16px;
  }
  .tktk-menu .search-shop-card-menu__name {
    font-size: 16px;
    font-weight: bold;
  }
  .tktk-menu .search-shop-card-menu__detail .more-link {
    font-size: 14px;
  }
  .tktk-menu .price-wrap {
    font-size: 125%;
  }
  .tktk-menu .price-wrap .epark-price-title {
    display: inline-block;
    width: 250px;
    font-size: 20px;
  }
  .tktk-menu .price-wrap .epark-price {
    display: inline-block;
    width: 95px;
    font-size: 16px;
  }
  .tktk-menu .tktk-panel .reserve_area {
    margin-top: 20px;
  }
  .tktk-menu .tktk-panel .fs18 {
    font-size: 22px !important;
  }
  .tktk-menu {
    background: #fff;
    margin: 0;
    padding: 0;
  }
  .tktk-menu .vacancy-situation {
    margin: 0 0 010px;
    padding: 10px;
  }
  .tktk-menu .vacancy-situation:hover {
    background: #ffe7dd;
  }
  .tktk-menu + .reserve_area {
    margin-top: 0;
  }
}
@media (max-width: 991px) {
  .tktk-menu .count-icon-danger, 
  .tktk-menu .count-icon-warning,
  .tktk-menu .count-icon-default {
    bottom: 2em;
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .tktk-menu .count-icon-sold, 
  .tktk-menu .count-icon-danger,
  .tktk-menu .count-icon-warning,
  .tktk-menu .count-icon-default {
    left: 2.5em;
    bottom: 75px;
    right: -0.7em;
    padding-top: 1em;
    font-size: 11px;
  }
}
@media (max-width: 480px) {
  .tktk-menu .count-icon-sold {
    padding-top: 1.2em;
  }
}
@media (max-width: 320px) {
  .tktk-menu .price-wrap .epark-price-title {
    font-size: 11px;
    width: 180px;
  }
}
/*得とく下部　レコメンドエリア*/
.recommend__section {
  text-align: center;
}
.recommend__section h2 {
  font-size: 16px !important;
  margin-bottom: 10px !important;
}
.recommend__section .conditions-change-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: -6px;
}
.btn-outline-secondary {
  border: 2px solid #dc5519;
  padding: 6px;
  border-bottom-width: 3px !important;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 0%;
  flex: 1 0 15%;
  margin-right: 6px;
  max-width: 260px;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
  color: #333;
  background-color: #ffeee7;
  border-color: #dc5519;
}
.recommend__lead {
  font-size: 105%;
}
.text-line-emp {
  display: inline-block;
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #ffcfbb 30%);
}
@media (min-width: 768px) {
  .recommend__section {
    width: 500px;
    margin: 0 auto;
  }
  .recommend__lead {
    font-size: 125%;
  }
  .recommend__section h2 {
    font-size: 20px;
  }
  .btn-outline-secondary {
    padding: 6px 20px;
    max-width: 300px;
  }
}
@media (max-width: 320px) {
  .recommend__section h2 {
    font-size: 14px !important;
  }
  .recommend__lead {
    font-size: 100%;
  }
  .btn-outline-secondary {
    padding: 4px;
    font-size: 12px;
  }
}

/*体験レポート*/
#special-coupon-recommend .search-special-coupon-recommend__panel .search-shop-card-labels__icons {
  display: flex;
  height: 70px;
  padding-right: 2px;
  margin-top: -20px;
  margin-bottom: -16px;
  margin-left: -30px;
}
#special-coupon-recommend .search-special-coupon-recommend__panel .search-shop-card-labels__section {
  position: relative;
  top: 0;
}
/*人気の駅*/
.popular_st .btn-default {
  background: #fffcf2;
  border-color: #ccc;
  border-width: 1px;
  color: #795548;
}
.popular_st .btn-default:hover, .popular_st .btn-default:active, .popular_st .btn-default:focus {
  background: #efeadc;
}
/*レコメンドサロン調整*/
@media (max-width: 767px) {
  .search-special-coupon-recommend__panel .search-shop-card-menu {
    margin-top: 0 !important;
  }
  .search-special-coupon-recommend__panel .search-shop-card-menu__name, .search-shop-card-menu__name {
    margin-bottom: 0 !important;
  }
  .list-male {
    font-size: 80%;
  }
  .list-female {
    font-size: 80%;
  }
}
/*検索絞り込み*/
.h2-lead p {
  color: #333 !important;
}
.js-railway-box {
  clear: both;
}
.h2-lead .input-group-btn .btn {
  border-bottom-width: 1px;
  border-left-width: 0;
  border-radius: 0 4px 4px 0;
  line-height: 1.45;
}
.h2-lead .selected-option:not(:last-of-type)::after {
  color: #aaa;
  content: " / ";
}
.h2-lead .conditions-change-btn {
  padding-left: 10px;
  padding-right: 10px;
  clear: both;
}
.h2-lead .btn-success {
  color: #ffffff;
  background-color: #fb7b47;
  border-color: #f05f23;
  margin-bottom: 0;
  box-shadow: none;
  border-bottom-width: 2px;
}
.h2-lead .btn-success:hover, .h2-lead .btn-success:active, .h2-lead .btn-success:focus {
  background-color: #f05f23;
  border-color: #f05f23;
  color: #fff;
}
.h2-lead .btn-success-outline {
  background-color: #fff;
  border: 1px solid #fb7b47;
  box-shadow: inset 0 -1px #fb7b47;
  color: #333;
  margin-bottom: 0;
  font-weight: bold;
  font-size: 12px;
}
.h2-lead .railway-search-content .checkbox-inline {
  padding-top: 0;
}
.h2-lead .btn-success-outline:hover,
.h2-lead .btn-success-outline:active,
.h2-lead .btn-success-outline:focus {
  background-color: rgba(251, 123, 71, 0.2);
  border-color: #fb7b47;
  color: #333;
}
.result-condition {
  background-color: transparent !important;
  clear: both;
}
.result-condition .btn {
  font-size: 12px;
  font-weight: bold;
}
.result-condition .btn-badge {
  position: relative;
}
.result-condition .btn-badge::after {
  border-radius: 100px;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
  color: #fff;
  content: attr(data-number);
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  padding: 0.2em 0.4em;
  position: absolute;
  right: -0.3em;
  top: -0.6em;
  z-index: 2;
  background-color: #fb7b47;
}
.result-condition .btn.is-active {
  background-color: #fff6f4;
  border-color: #ff8453;
}
.result-condition .btn.is-active:hover, 
.result-condition .btn.is-active:active, 
.result-condition .btn.is-active:focus, 
.result-condition .btn:hover, 
.result-condition .btn:active, 
.result-condition .btn:focus {
  background-color: rgba(251, 123, 71, 0.2);
  border-color: #ff8453;
}
.result-condition .flex {
  display: flex;
  flex-wrap: wrap;
}
/*ジャンル モーダル*/
.modal .panel {
  border: none;
  font-size: 14px;
}
.modal .modal-title {
  font-size: 14px;
  font-weight: 700;
  margin: 0;
  line-height: 1.4;
}
.text-disabled, .btn.text-disabled,
.btn.text-disabled:hover,
.btn.text-disabled:active {
  color: #cbcbcb;
  box-shadow: 0 0 0;
}
.modal .modal-body {
  padding: 10px;
}
.modal .btn.btn-default[data-toggle="collapse"]::after {
  font-family: FontAwesome;
  content: "\f0d8";
  padding-left: 0.5em;
}
.modal .btn.btn-default.collapsed[data-toggle="collapse"]::after {
  content: "\f0d7";
}
@media (max-width: 767px) {
  .h2-lead {
    margin-bottom: 0 !important;
    padding-bottom: 10px !important;
  }
  .result-condition .flex-item {
    width: 49.0%;
  }
  .result-condition .flex .flex-item:nth-child(odd) {
    margin-right: 5px;
  }
}
@media (min-width: 768px) {
  .h2-lead {
    margin-bottom: 15px !important;
    padding: 15px 0 !important;
  }
  .h2-lead .row {
    padding-left: 5px !important;
  }
  .h2-lead .flex.col-sm-5 {
    width: 50%;
  }
  .h2-lead .btn-success-outline {
    width: 24%;
  }
  .result-condition {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
    background-color: transparent;
  }
  .result-condition .flex-item {
    width: 24.6%;
  }
  .result-condition .flex .flex-item:first-child {
    padding-left: 5px;
  }
  .result-condition .flex .flex-item:last-child {
    padding-right: 5px;
  }
  .result-condition .flex .flex-item:not(:last-child) {
    margin-right: 5px;
  }
}
/* 特典表示用モーダル */
.modal-open #campaignModalWrapper .modal {
  overflow-x: hidden;
  overflow-y: auto;
  background-color: transparent;
}
#campaignModalWrapper .modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  outline: 0;
  margin-top: 0 !important;
  ;
}
#campaignModalWrapper .modal-dialog {
  position: relative;
  width: auto;
  transform: translate(0, 0);
  max-width: 75vmin;
  top: 150px;
  margin: 0 auto;
}
#campaignModalWrapper .modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
#campaignModalWrapper img {
  width: 100%;
  margin-bottom: 0;
}
#campaignModalWrapper .close {
  position: absolute;
  top: -8px;
  right: -8px;
  background-color: #fff;
  opacity: 1;
  width: 1.6em;
  height: 1.6em;
  border: solid #555 2px;
  border-radius: 100%;
  color: #555;
  font-size: 4vmin;
}
@media (min-width: 768px) {
  #campaignModalWrapper .modal-dialog {
    position: relative;
    width: auto;
    transform: translate(0, 0);
    max-width: 50vmin;
    top: 120px;
    margin: 30px auto;
  }
  #campaignModalWrapper .close {
    font-size:21px;
  }
}
/* 閉じるボタン */
#campaignModalWrapper .btn-block {
  display: block;
  width: 100%;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.33;
  border-radius: 6px;
  color: #333;
  background-color: #fff;
  border-color: #ddd;
}
#campaignModalWrapper .btn {
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  user-select: none;
}
/* 背景 */
#backdrop.modal-backdrop {
  height: 100%;
  z-index: 1000 !important;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  background-color: #000;
}
#backdrop.modal-backdrop.fade {
  opacity: 0
}
#backdrop.modal-backdrop.fade.in {
  opacity: 0.5
}
#campaignModalWrapper .fade {
  opacity: 0;
}
#campaignModalWrapper .fade.in {
  opacity: 1;
  animation: campaignModalMoveframe 0.25s linear;
}
@keyframes campaignModalMoveframe {
  0% {
    transform: translateY(-120px);
  }
  100% {
    transform: translateY(0px);
  }
}
@media(max-width:768px) {
  .special-coupon-visited__section .special-coupon-visited__heading {
    font-size: 15px;
    margin-bottom: 8px;
  }
  .special-coupon-visited__section {
    margin-bottom: 10px;
    margin-top: 0;
  }
  .special-coupon-visited-more__link{
    text-decoration: underline;
  }
}
/*同じエリアのサロンを探す*/
.special-coupon-visited__section h2.special-coupon-visited__title {
  text-align: center;
  margin-bottom: 8px;
  font-size: 18px;
  color: #333;
  margin-top: 0;
  position: relative;
}
.special-coupon-visited__section h2.special-coupon-visited__title.text-underline {
  text-decoration: underline;
}
.special-coupon-visited__section .text-size-15 {
  font-size: 15px;
}
.special-coupon-visited__section .conditions-change-btn {
  margin: 0 auto 10px;
  text-align: center;
}
.special-coupon-visited__section .conditions-change-btn .btn-success-outline {
  font-weight: bold;
  color: #333333;
  width: 470px;
  background-color: #fdc541;
  border: 1px solid #575757;
  margin-bottom: 0;
  padding: 12px;
  font-size: 20px;
  border-radius: 10px;
}
.special-coupon-visited__section .conditions-change-btn .btn-success-outline:hover,
.special-coupon-visited__section .conditions-change-btn .btn-success-outline:active,
.special-coupon-visited__section .conditions-change-btn .btn-success-outline:focus {
  background-color: #ffd573;
  border-color: #575757;
  color: #333333;
}
@media(max-width:768px) {
  .special-coupon-visited__section h2.special-coupon-visited__title {
    font-size: 14px;
    margin-bottom: 5px;
    text-align: center;
  }
  .special-coupon-visited__section .conditions-change-btn {
    margin-bottom: 10px;
  }
  .special-coupon-visited__section .conditions-change-btn .btn-success-outline {
    width: 95%;
    font-size: 18px;
    padding: 6px;
  }
  .special-coupon-visited__section .text-size-15 {
    font-size: 13px;
  }
}
@media (max-width: 320px){
  .special-coupon-visited__section h2.special-coupon-visited__title {
    font-size: 12px;
    margin-bottom: 0;
    text-align: center;
  }
}
.special-coupon-visited__title .icon_alert_green {
  vertical-align: middle;
  height: 1.5em;
  top: -3px;
  position: relative;
  margin-right: 3px;
  margin-bottom: 0 !important;
}
/*得とくバナー*/
@media (max-width: 767px) {
  .cam-banner + .fs16 {
    font-size: 14px !important;
  }
}
@media (min-width: 768px) {
  .cam-banner .banner-w-500 {
    width: 500px;
  }
}